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:
- receiving, by a computing device, presentation latency data of a plurality of playback devices, the presentation latency data indicating a respective amount of presentation latency at each playback device when playing content;
writing, by the computing device, content data into a plurality of buffers, each buffer corresponding to a respective playback device, wherein writing the content data into the buffers comprises;
determining a respective offset for each playback device based on the presentation latency data, the offset compensating for the respective amount of presentation latency at the corresponding playback device; and
writing the content data into each buffer at a respective position corresponding to the respective offset; and
causing, by the computing device, the playback devices to play the content in synchronization by reading the content data from the respective buffers.
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.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, by a computing device, presentation latency data of a plurality of playback devices, the presentation latency data indicating a respective amount of presentation latency at each playback device when playing content; writing, by the computing device, content data into a plurality of buffers, each buffer corresponding to a respective playback device, wherein writing the content data into the buffers comprises; determining a respective offset for each playback device based on the presentation latency data, the offset compensating for the respective amount of presentation latency at the corresponding playback device; and writing the content data into each buffer at a respective position corresponding to the respective offset; and causing, by the computing device, the playback devices to play the content in synchronization by reading the content data from the respective buffers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a computing device; and a non-transitory computer-readable medium storing instructions operable to cause the computing device to perform operations comprising; receiving, by the computing device, presentation latency data of a plurality of playback devices, the presentation latency data indicating a respective amount of presentation latency at each playback device when playing content; writing, by the computing device, content data into a plurality of buffers, each buffer corresponding to a respective playback device, wherein writing the content data into the buffers comprises; determining a respective offset for each playback device based on the presentation latency data, the offset compensating for the respective amount of presentation latency at the corresponding playback device; and writing the content data into each buffer at a respective position corresponding to the respective offset; and causing, by the computing device, the playback devices to play the content in synchronization by reading the content data from the respective buffers. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium storing instructions operable to cause a computing device to perform operations comprising:
-
receiving, by the computing device, presentation latency data of a plurality of playback devices, the presentation latency data indicating a respective amount of presentation latency at each playback device when playing content; writing, by the computing device, content data into a plurality of buffers, each buffer corresponding to a respective playback device, wherein writing the content data into the buffers comprises; determining a respective offset for each playback device based on the presentation latency data, the offset compensating for the respective amount of presentation latency at the corresponding playback device; and writing the content data into each buffer at a respective position corresponding to the respective offset; and causing, by the computing device, the playback devices to play the content in synchronization by reading the content data from the respective buffers. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification