Using a plurality of buffers to provide audio for synchronized playback to multiple audio devices having separate device clocks
First Claim
Patent Images
1. A method comprising:
- reading, by a device-side audio handling input/output unit (DIO) of an audio playback device, audio data from a buffer at a DIO position of the buffer during playing back audio from the buffer;
wrapping the DIO position to a start of the buffer upon reaching an end of the buffer;
generating timestamp information usable by a system-side audio handling input/output unit (SIO) to estimate the DIO position, the timestamp information including a clock time of a central processing unit (CPU) clock of the SIO and an indication of which audio samples have been processed by the DIO; and
providing the timestamp information by the DIO to the SIO.
0 Assignments
0 Petitions
Accused Products
Abstract
According to one embodiment, a media system communicates with an aggregate device that includes multiple media output devices. When providing media data for presentation, the system adjusts for device clock drift by resampling the media data provided to a media output device based at least in part on a device clock rate difference between a device clock of one of the media output devices and a device clock of another of the media output devices.
40 Citations
15 Claims
-
1. A method comprising:
-
reading, by a device-side audio handling input/output unit (DIO) of an audio playback device, audio data from a buffer at a DIO position of the buffer during playing back audio from the buffer; wrapping the DIO position to a start of the buffer upon reaching an end of the buffer; generating timestamp information usable by a system-side audio handling input/output unit (SIO) to estimate the DIO position, the timestamp information including a clock time of a central processing unit (CPU) clock of the SIO and an indication of which audio samples have been processed by the DIO; and providing the timestamp information by the DIO to the SIO. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An audio playback device comprising:
-
a device-side audio handling input/output unit (DIO); and a non-transitory computer-readable medium storing instructions operable to cause the DIO to perform operations comprising; reading audio data from a buffer at a DIO position of the buffer during playing back audio from the buffer; wrapping the DIO position to a start of the buffer upon reaching an end of the buffer; generating timestamp information usable by a system-side audio handling input/output unit (SIO) to estimate the DIO position, the timestamp information including a clock time of a central processing unit (CPU) clock of the SIO and an indication of which audio samples have been processed by the DIO; and providing the timestamp information by the DIO to the SIO. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium storing instructions operable to cause a device-side audio handling input/output unit (DIO) to perform operations comprising:
-
reading, by a device-side audio handling input/output unit (DIO) of an audio playback device, audio data from a buffer at a DIO position of the buffer during playing back audio from the buffer; wrapping the DIO position to a start of the buffer upon reaching an end of the buffer; generating timestamp information usable by a system-side audio handling input/output unit (SIO) to estimate the DIO position, the timestamp information including a clock time of a central processing unit (CPU) clock of the SIO and an indication of which audio samples have been processed by the DIO; and providing the timestamp information by the DIO to the SIO. - View Dependent Claims (12, 13, 14, 15)
-
Specification