PROVIDING MEDIA FOR SYNCHRONIZED PRESENTATION BY MULTIPLE DEVICES
First Claim
Patent Images
1. A method for providing audio data to multiple audio output devices, the method comprising:
- writing audio data into a plurality of buffers associated with a plurality of audio output devices, the plurality of audio output devices having separate device clocks;
determining a difference between a device clock rate of a first audio output device of the plurality of audio output devices and a device clock rate of a second audio output device of the plurality of audio output devices;
resampling audio data to be written into a buffer of the plurality of buffers based at least in part on said difference;
wherein the method is performed by a computing device.
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.
19 Citations
8 Claims
-
1. A method for providing audio data to multiple audio output devices, the method comprising:
-
writing audio data into a plurality of buffers associated with a plurality of audio output devices, the plurality of audio output devices having separate device clocks; determining a difference between a device clock rate of a first audio output device of the plurality of audio output devices and a device clock rate of a second audio output device of the plurality of audio output devices; resampling audio data to be written into a buffer of the plurality of buffers based at least in part on said difference; wherein the method is performed by a computing device. - View Dependent Claims (6)
-
-
2. A method comprising:
-
writing data into a plurality of ring buffers for consumption by a plurality of devices, wherein each device of the plurality of devices consumes data from a corresponding buffer of the plurality of ring buffers; upon reaching the end of any ring buffer of the plurality of ring buffers while writing data to the ring buffer, performing a wrap-around operation to continue writing data beginning at the start of the ring buffer; upon reaching the end of any ring buffer of the plurality of ring buffers while reading data from the ring buffer, the corresponding device performing a wrap-around operation to continue reading data beginning at the start of the ring buffer; a first device of the plurality of devices currently reading data from a first current position in a first ring buffer of the plurality of ring buffers; a second device of the plurality of devices currently reading data from a second current position in a second ring buffer of the plurality of ring buffers; storing first timestamp information when the first device performs a wrap-around operation while reading data from the first buffer; storing second timestamp information when the second device performs a wrap-around operation while reading data from the second buffer; determining a timing difference between the first device and the second device based on the first timestamp information and the second timestamp information; and accounting for the timing difference when writing data to the second ring buffer. - View Dependent Claims (3, 7, 8)
-
-
4. A system comprising:
-
one or more processors; a plurality of buffers corresponding to a plurality of audio devices, the plurality of audio devices having separate device clocks; and a system-side handling input/output unit configured to; write audio data into the plurality of buffers, determine a difference between a device clock rate of a first audio device of the plurality of audio devices and a device clock rate of a second audio device of the plurality of audio devices, and resample audio data to be written into a buffer of the plurality of buffers based at least in part on said difference.
-
Specification