Synchronization of content between networked devices
First Claim
1. A first playback device comprising:
- a processor;
a non-transitory computer-readable medium;
a network interface configured to communicate over a network; and
program instructions stored on the non-transitory computer-readable medium that, when executed by the processor, cause the first playback device to perform functions comprising;
receiving first content from a source device, wherein the first content is associated with second content to be played back by a second playback device, wherein the second content comprises a plurality of frames;
determining an initial indication of when to play the second content, wherein the initial indication of when to play the second content is a length of time until playback of a first frame in the plurality of frames;
determining a network latency of the network;
updating the indication of when to play the second content by subtracting the network latency from the length of time until playback of the first frame in the plurality of frames;
based on the updated indication, playing back the first content in synchrony with the second content being played back by the second playback device; and
while playing back the first content in synchrony with playback of the second content by the second playback device, (i) receiving a synchronization packet that indicates a new length of time until playback of a second frame of the plurality of frames and (ii) further updating the indication of when to play the second content based on the new length of time to maintain synchronous playback of the first and second content.
2 Assignments
0 Petitions
Accused Products
Abstract
Networked devices are arranged to play content such as audio and video content in synchronization. A synching device receives a packet from an initiating device over a network. The packet may include an identifier of content to play, such as a URI, and an indication of when to play the content. A local clock time to play the content is determined based on a time of a local clock of the first device and the indication of when to play the content. The synching device obtains from a server the content based on the received identifier, and plays the content in synchronization with the initiating device based on a time on the local clock and the local clock time to play the content. In some embodiments, the synching device also adjusts a clock speed of the local clock reference to control rate of playback of the content.
-
Citations
20 Claims
-
1. A first playback device comprising:
-
a processor; a non-transitory computer-readable medium; a network interface configured to communicate over a network; and program instructions stored on the non-transitory computer-readable medium that, when executed by the processor, cause the first playback device to perform functions comprising; receiving first content from a source device, wherein the first content is associated with second content to be played back by a second playback device, wherein the second content comprises a plurality of frames; determining an initial indication of when to play the second content, wherein the initial indication of when to play the second content is a length of time until playback of a first frame in the plurality of frames; determining a network latency of the network; updating the indication of when to play the second content by subtracting the network latency from the length of time until playback of the first frame in the plurality of frames; based on the updated indication, playing back the first content in synchrony with the second content being played back by the second playback device; and while playing back the first content in synchrony with playback of the second content by the second playback device, (i) receiving a synchronization packet that indicates a new length of time until playback of a second frame of the plurality of frames and (ii) further updating the indication of when to play the second content based on the new length of time to maintain synchronous playback of the first and second content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
-
receiving first content from a source device, wherein the first content is associated with second content to be played back by a second playback device, wherein the second content comprises a plurality of frames; determining an initial indication of when to play the second content, wherein the initial indication of when to play the second content is a length of time until playback of a first frame in the plurality of frames; determining a network latency of the network; updating the indication of when to play the second content by subtracting the network latency from the length of time until playback of the first frame in the plurality of frames; based on the updated indication, playing back the first content in synchrony with playback of the second content by the second playback device; and while playing back the first content in synchrony with playback of the second content by the second playback device, (i) receiving a synchronization packet that indicates a new length of time until playback of a second frame of the plurality of frames and (ii) further updating the indication of when to play the second content based on the new length of time to maintain synchronous playback of the first and second content by the respective first and second playback devices. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification