Time-synchronized, multizone media streaming
First Claim
1. A method for synchronized media playback, the method comprising:
- connecting, using a media playback device, to a communications network, wherein the media playback device is associated with a media playback group that includes a plurality of media playback devices;
receiving an indication that the media playback device has been designated as a follower playback device, wherein a remaining media playback device in the media playback group is designated as a leader playback device;
in response to receiving the indication that the media playback device has been designated as the follower playback device, transmitting, from the follower playback device to the leader playback device, a first series of synchronization requests, wherein a latency between two synchronization requests in the first series of synchronization requests is a first duration of time;
receiving a first series of synchronization responses from the leader playback device;
determining a clock offset between the follower playback device and the leader playback device based on at least a portion of the first series of synchronization responses;
receiving, from the leader playback device, an indication that media content is to be presented synchronously by the plurality of media playback devices in the media playback group;
in response to receiving the indication that media content is to be presented synchronously by the plurality of media playback devices, transmitting, from the follower playback device to the leader playback device, a second series of synchronization requests, wherein a latency between two synchronization requests in the second series of synchronization requests is a second duration of time, and wherein the second duration of time is shorter than the first duration of time;
receiving a second series of synchronization responses from the leader playback device;
determining an updated clock offset based on at least a portion of the second series of synchronization responses;
receiving a media stream for playback by the media playback group; and
causing the media stream to be played back on the follower playback device in synchronization with the leader playback device based on the updated clock offset.
0 Assignments
0 Petitions
Accused Products
Abstract
In a general aspect, a system for media playback can include a first media playback device configured to receive a media stream from a media casting device over a data network, the first media playback device being a member of the media playback group and a second media playback device configured to receive the media stream, the second media playback device being a member of the media playback group. The first media playback device and the second media playback device can be collectively configured to designate one of the first media playback device and the second media playback device as a leader playback device of the media playback group. The playback device not designated as the leader playback device can be designated as a follower playback device of the media playback group. The first media playback device and the second media playback device can be further collectively configured to determine a clock offset between the leader playback device and the follower playback device. The leader playback device can be configured to receive a broadcast of the media stream over the data network; play the media stream; and provide the media stream to the follower playback device. The follower playback device can be configured to play the media stream in synchronization with the leader playback device based on the clock offset.
11 Citations
21 Claims
-
1. A method for synchronized media playback, the method comprising:
-
connecting, using a media playback device, to a communications network, wherein the media playback device is associated with a media playback group that includes a plurality of media playback devices; receiving an indication that the media playback device has been designated as a follower playback device, wherein a remaining media playback device in the media playback group is designated as a leader playback device; in response to receiving the indication that the media playback device has been designated as the follower playback device, transmitting, from the follower playback device to the leader playback device, a first series of synchronization requests, wherein a latency between two synchronization requests in the first series of synchronization requests is a first duration of time; receiving a first series of synchronization responses from the leader playback device; determining a clock offset between the follower playback device and the leader playback device based on at least a portion of the first series of synchronization responses; receiving, from the leader playback device, an indication that media content is to be presented synchronously by the plurality of media playback devices in the media playback group; in response to receiving the indication that media content is to be presented synchronously by the plurality of media playback devices, transmitting, from the follower playback device to the leader playback device, a second series of synchronization requests, wherein a latency between two synchronization requests in the second series of synchronization requests is a second duration of time, and wherein the second duration of time is shorter than the first duration of time; receiving a second series of synchronization responses from the leader playback device; determining an updated clock offset based on at least a portion of the second series of synchronization responses; receiving a media stream for playback by the media playback group; and causing the media stream to be played back on the follower playback device in synchronization with the leader playback device based on the updated clock offset. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for synchronized media playback, the system comprising:
a hardware processor of a media playback device, wherein the hardware processor is configured to; connect to a communications network, wherein the media playback device is associated with a media playback group that includes a plurality of media playback devices; receive an indication that the media playback device has been designated as a follower playback device, wherein a remaining media playback device in the media playback group is designated as a leader playback device; in response to receiving the indication that the media playback device has been designated as the follower playback device, transmit, from the follower playback device to the leader playback device, a first series of synchronization requests, wherein a latency between two synchronization requests in the first series of synchronization requests is a first duration of time; receive a first series of synchronization responses from the leader playback device; determine a clock offset between the follower playback device and the leader playback device based on at least a portion of the first series of synchronization responses; receive, from the leader playback device, an indication that media content is to be presented synchronously by the plurality of media playback devices in the media playback group; in response to receiving the indication that media content is to be presented synchronously by the plurality of media playback devices, transmit, from the follower playback device to the leader playback device, a second series of synchronization requests, wherein a latency between two synchronization requests in the second series of synchronization requests is a second duration of time, and wherein the second duration of time is shorter than the first duration of time; receive a second series of synchronization responses from the leader playback device; determine an updated clock offset based on at least a portion of the second series of synchronization responses; receive a media stream for playback by the media playback group; and cause the media stream to be played back on the follower playback device in synchronization with the leader playback device based on the updated clock offset. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for synchronized media playback, the method comprising:
-
connecting, using a media playback device, to a communications network, wherein the media playback device is associated with a media playback group that includes a plurality of media playback devices; receiving an indication that the media playback device has been designated as a follower playback device, wherein a remaining media playback device in the media playback group is designated as a leader playback device; in response to receiving the indication that the media playback device has been designated as the follower playback device, transmitting, from the follower playback device to the leader playback device, a first series of synchronization requests, wherein a latency between two synchronization requests in the first series of synchronization requests is a first duration of time; receiving a first series of synchronization responses from the leader playback device; determining a clock offset between the follower playback device and the leader playback device based on at least a portion of the first series of synchronization responses; receiving, from the leader playback device, an indication that media content is to be presented synchronously by the plurality of media playback devices in the media playback group; in response to receiving the indication that media content is to be presented synchronously by the plurality of media playback devices, transmitting, from the follower playback device to the leader playback device, a second series of synchronization requests, wherein a latency between two synchronization requests in the second series of synchronization requests is a second duration of time, and wherein the second duration of time is shorter than the first duration of time; receiving a second series of synchronization responses from the leader playback device; determining an updated clock offset based on at least a portion of the second series of synchronization responses; receiving a media stream for playback by the media playback group; and causing the media stream to be played back on the follower playback device in synchronization with the leader playback device based on the updated clock offset. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification