Audio synchronization among playback devices using offset information
First Claim
1. A method comprising:
- joining, by a first playback device, a synchrony group, wherein the synchrony group includes a group coordinator that provides timing information for playback of audio content by the synchrony group;
after joining the synchrony group, retrieving from a memory storage, by the first playback device, data representing an offset between a clock of the first playback device and a clock of the group coordinator;
receiving by the first playback device from the group coordinator, a first time corresponding to audio data to be played by the first playback device as part of the synchrony group;
determining by the first playback device, a second time based on (i) the first time and (ii) the offset between the clock of the first playback device and the clock of the group coordinator; and
playing, by the first playback device, the audio data at the second time according to the clock of the first playback device.
6 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.
-
Citations
20 Claims
-
1. A method comprising:
-
joining, by a first playback device, a synchrony group, wherein the synchrony group includes a group coordinator that provides timing information for playback of audio content by the synchrony group; after joining the synchrony group, retrieving from a memory storage, by the first playback device, data representing an offset between a clock of the first playback device and a clock of the group coordinator; receiving by the first playback device from the group coordinator, a first time corresponding to audio data to be played by the first playback device as part of the synchrony group; determining by the first playback device, a second time based on (i) the first time and (ii) the offset between the clock of the first playback device and the clock of the group coordinator; and playing, by the first playback device, 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. A method comprising:
-
joining, by a first playback device, a synchrony group, wherein the synchrony group includes a group coordinator that provides timing information for playback of audio content by the synchrony group; after joining the synchrony group, determining, by the first playback device, that data representing an offset between a clock of the first playback device and a clock of the group coordinator is not available in a memory storage; based on the determination that data representing the offset is not available, computing, by the first playback device, the offset between the clock of the first playback device and the clock of the group coordinator; receiving by the first playback device from the group coordinator, a first time corresponding to audio data to be played by the first playback device as part of the synchrony group; determining by the first playback device, a second time based on (i) the first time and (ii) the offset between the clock of the first playback device and the clock of the group coordinator; and playing, by the first playback device, the audio data at the second time according to the clock of the first playback device. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium having stored therein instructions executable by a processor to cause the processor to perform functions comprising:
-
joining, by a first playback device, a synchrony group, wherein the synchrony group includes a group coordinator that provides timing information for playback of audio content by the synchrony group; after joining the synchrony group, determining, by the first playback device, that data representing an offset between a clock of the first playback device and a clock of the group coordinator is not available in memory storage; based on the determination that data representing the offset is not available, computing, by the first playback device, the offset between the clock of the first playback device and the clock of the group coordinator; receiving by the first playback device from the group coordinator, a first time corresponding to audio data to be played by the first playback device as part of the synchrony group; determining by the first playback device, a second time based on (i) the first time and (ii) the offset between the clock of the first playback device and the clock of the group coordinator; and playing, by the first playback device, the audio data at the second time according to the clock of the first playback device. - View Dependent Claims (18, 19, 20)
-
Specification