Establishing a secure wireless network with a minimum human intervention
US-9787550-B2 · Oct 10, 2017 · US
US9977648B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9977648-B2 |
| Application number | US-201715397558-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 3, 2017 |
| Priority date | Jun 25, 2004 |
| Publication date | May 22, 2018 |
| Grant date | May 22, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
The invention claimed is: 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. 2. The method of claim 1 , wherein: the content includes audio, each playback device includes at least one speaker, each buffer is a ring buffer, and each presentation latency is a difference between a time a corresponding playback device reads the ring buffer and a time the corresponding playback device plays the audio. 3. The method of claim 2 , wherein each offset is an offset from a respective read position of each buffer, the read position being a position in a corresponding buffer at which a respective playback device reads data. 4. The method of claim 3 , wherein each read position is estimated by the computing device based on a respective timestamp generated by a corresponding playback device when the playback device reaches an end of a corresponding ring buffer during reading. 5. The method of claim 1 , wherein: each offset includes a respective safety offset and a respective latency offset, the respective safety offset corresponds to characteristics of a respective playback device, and the respective latency offset corresponds to a difference between a composite latency including sum of the respective safety offset and the respective presentation latency and a maximum composite latency among the playback devices. 6. The method of claim 5 , wherein: the computing device designates a particular playback device of the playback devices that has the maximum composite latency as a master device, and the computing device changes master devices dynamically during playback and, upon changing the master device to a new master device, determines new offsets based on the new master device. 7. The method of claim 1 , wherein: the computing device includes a system-side audio handling input/output unit, and each playback device includes a respective device-side audio handling input/output unit. 8. The method of claim 1 , wherein each offset is a temporal offset or a size offset. 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. 10. The system of claim 9 , wherein: the content includes audio, each playback device includes at least one speaker, each buffer is a ring buffer, and each presentation latency is a difference between a time a corresponding playback device reads the ring buffer and a time the corresponding playback device plays the audio. 11. The system of claim 10 , wherein each offset is an offset from a respective read position of each buffer, the read position being a position in a corresponding buffer at which a respective playback device reads data. 12. The system of claim 11 , wherein each read position is estimated by the computing device based on a respective timestamp generated by a corresponding playback device when the playback device reaches an end of a corresponding ring buffer during reading. 13. The system of claim 9 , wherein: each offset includes a respective safety offset and a respective latency offset, the respective safety offset corresponds to characteristics of a respective playback device, and the respective latency offset corresponds to a difference between a composite latency including sum of the respective safety offset and the respective presentation latency and a maximum composite latency among the playback devices. 14. The system of claim 13 , wherein: the computing device designates a particular playback device of the playback devices that has the maximum composite latency as a master device, and the computing device changes master devices dynamically during playback and, upon changing the master device to a new master device, determines new offsets based on the new master device. 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. 16. The non-transitory computer-readable medium of claim 15 , wherein: the content includes audio, each playback device includes at least one speaker, each buffer is a ring buffer, and each presentation latency is a difference between a time a corresponding playback device reads the ring buffer and a time the corresponding playback device plays the audio. 17. The non-transitory computer-readable medium of claim 16 , wherein each offset is an offset from a respective read position of each buffer, the read position being a position in a corresponding buffer at which a respective playback device reads data. 18. The non-transitory computer-readable medium of claim 17 , wherein each read position is estimated by the computing device based on a respective timestamp generated by a corresponding playback device when the playback device reaches an end of a corresponding ring buffer during reading. 19. The non
{embedded in a} Personal Computer [PC] · CPC title
involving video buffer management, e.g. video decoder buffer or video display buffer · CPC title
Management of the audio stream, e.g. setting of volume, audio stream path · CPC title
Audio or video recording; Data buffering arrangements (G11B20/12 - G11B20/18 take precedence) · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.