Audio synchronization among playback devices using offset information
First Claim
1. A first playback device comprising:
- one or more processors; and
tangible, non-transitory computer-readable memory comprising instructions that, when executed by the one or more processors, cause the first playback device to perform functions comprising;
receiving, from a second playback device, data indicating clock information of the second playback device;
before receiving the data indicating the clock information, determining that data indicating an offset between a clock of the first playback device and a clock of the second playback device is not available in memory storage;
determining an offset between a clock of the first playback device and a clock of the second playback device using the clock information of the second playback device storing, in the memory storage, data representing the offset;
receiving, from the second playback device, a first time corresponding to audio data to be played by the first playback device as part of a synchrony group with the second playback device;
retrieving, from the memory storage, the data representing the offset between the clock of the first playback device and the clock of the second playback device;
determining a second time based on (i) the first time and (ii) the retrieved data representing the offset; and
playing the audio data at the second time according to the clock of the first playback device.
4 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are provided for audio synchronization of one or more playback devices using offset information. A playback device may join a synchrony group upon a command, where the synchrony group may have a group coordinator that provides timing information for the group. In one case, the playback device may retrieve offset information from memory storage, where the information represents the offset between a clock of the playback device and the clock of the group coordinator. In another case, the playback device may determine that the offset information is not available in storage and as a result, the offset information may be computed. In one instance, the offset information may be computed using other offsets obtained from storage, such as offsets between other devices in the synchrony group. In another instance, the offset information may be computed using SNTP polling.
121 Citations
20 Claims
-
1. A first playback device comprising:
-
one or more processors; and tangible, non-transitory computer-readable memory comprising instructions that, when executed by the one or more processors, cause the first playback device to perform functions comprising; receiving, from a second playback device, data indicating clock information of the second playback device; before receiving the data indicating the clock information, determining that data indicating an offset between a clock of the first playback device and a clock of the second playback device is not available in memory storage;
determining an offset between a clock of the first playback device and a clock of the second playback device using the clock information of the second playback device storing, in the memory storage, data representing the offset;receiving, from the second playback device, a first time corresponding to audio data to be played by the first playback device as part of a synchrony group with the second playback device; retrieving, from the memory storage, the data representing the offset between the clock of the first playback device and the clock of the second playback device; determining a second time based on (i) the first time and (ii) the retrieved data representing the offset; and playing the audio data at the second time according to the clock of the first playback device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. Tangible, non-transitory computer-readable memory comprising instructions that, when executed by one or more processors, cause a first playback device to perform functions comprising:
-
receiving, from a second playback device, data indicating clock information of the second playback device; before receiving the data indicating the clock information, determining that data indicating an offset between a clock of the first playback device and a clock of the second playback device is not available in memory storage;
determining an offset between a clock of the first playback device and a clock of the second playback device using the clock information of the second playback device storing, in the memory storage, data representing the offset;receiving from the second playback device, a first time corresponding to audio data to be played by the first playback device as part of a synchrony group with the second playback device; retrieving, from the memory storage, the data representing the offset between the clock of the first playback device and the clock of the second playback device; determining a second time based on (i) the first time and (ii) the retrieved data representing the offset; and playing the audio data at the second time according to the clock of the first playback device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
receiving, via a first playback device from a second playback device, data indicating clock information of the second playback device; before receiving the data indicating the clock information, determining, via the first playback device, that data indicating an offset between a clock of the first playback device and a clock of the second playback device is not available in memory storage;
determining an offset between a clock of the first playback device and a clock of the second playback device using the clock information of the second playback device, and storing, via the first playback device in the memory storage, data representing the offset;receiving, via the first playback device from the second playback device, a first time corresponding to audio data to be played by the first playback device as part of a synchrony group with the second playback device; retrieving, from the memory storage, the data representing the offset between the clock of the first playback device and the clock of the second playback device; determining, via the first playback device a second time based on (i) the first time and (ii) the retrieved data representing the offset; and playing, via the first playback device the audio data at the second time according to the clock of the first playback device. - View Dependent Claims (19, 20)
-
Specification