Methods and systems for content control
Methods and system for providing content are disclosed. One method can comprise receiving a request for data at a first time, wherein the data comprises a first time duration, determining a buffer size based upon the first time duration, and determining a playback window based upon the determined buffer size and the first time. The method can also comprise synchronizing presentation of content on a plurality of devices.
1. A method comprising:
receiving a request to synchronize a first transmission of a content to a first device with a second transmission of the same content to a second device;
receiving a first play position of the content on the first device and a second play position of the same content on the second device;
determining based on the first and second play positions that the first device lags behind the second device in play position of the same content; and
in response to the determination:
generating an artificial buffering event for the second device;
transmitting to the first device a different block of the content that is encoded to be rendered at a speed that is faster than a current speed at which encoded content is transmitted to the first device; and
continuing the artificial buffering until the first device that lags behind catches up to the second device.
2. The method of claim 1 , further comprising, ending the artificial buffering upon a determination that the first device that lags behind has caught up to the second device in play position of the same content.
3. The method of claim 1 , wherein the generated artificial buffering event is an event in which no actual buffering is performed.
4. The method of claim 1 , wherein the generated artificial buffering event is used to delay transmission of encoded content to the second device until the first device that lags behind catches up to the second device.
5. The method of claim 1 , further comprising:
receiving a request from the first device for an encoded block of content at a first speed; and
in response to determining the first device lags behind the second device in play position of the same content, manipulating content processed by the first device to facilitate synchronization with the second device.
6. The method of claim 1 , further comprising, transmitting information indicating a buffer event to the second device.
7. The method of claim 1 , wherein the different block transmitted to the first device includes a manipulated audio pitch.
8. The method of claim 7 , wherein the manipulated audio pitch is selected to make the manipulation unrecognizable.
9. The method of claim 1 , wherein the different block is encoded to be rendered faster than real-time speed.
10. The method of claim 1 , wherein the play of the first device becomes synchronized with the play of the second device after the different block is rendered.
11. A system comprising:
a memory to play position of a content on a first device and play position of the same content on a second device; and
a processor, coupled to the memory, configured to perform steps comprising:
receiving a request to synchronize a first transmission of a content to a first device with a second transmission of the same content to a second device;
receiving a first play position of the content on the first device and a second play position of the same content on the second device;
determining based on the first and second play positions that the first device lags behind the second device in play position of the same content; and
in response to the determination:
generating an artificial buffering event for the second device;
transmitting to the first device a different block of the content that is encoded to be rendered at a speed that is faster than a current speed at which encoded content is transmitted to the first device; and
continuing the artificial buffering until the first device that lags behind catches up to the second device.
12. The system of claim 11 , further comprising, the processor configured to end the artificial buffering upon a determination that the first device that lags behind has caught up to the second device in play position of the same content.
13. The system of claim 11 , wherein the generated artificial buffering event is an event in which no actual buffering is performed by the processor.
14. The system of claim 11 , wherein the generated artificial buffering event is used by the processor to delay transmission of encoded content to the second device until the first device that lags behind catches up to the second device.
15. The system of claim 11 , further comprising, the processor configured to:
receive a request from the first device for an encoded block of content at a first speed; and
in response to determining the first device lags behind the second device in play position of the same content, manipulate content processed by the first device to facilitate synchronization with the second device.
16. The system of claim 11 , further comprising, the processor configured to transmit information indicating a buffer event to the second device.
17. The system of claim 11 , wherein the different block transmitted by the processor to the first device includes a manipulated audio pitch.
18. The method of claim 17 , wherein the manipulated audio pitch is selected by the processor to make the manipulation unrecognizable.
19. The system of claim 11 , wherein the different block is encoded by the processor to be rendered faster than real-time speed.
20. The system of claim 11 , wherein the play of the first device becomes synchronized with the play of the second device after the different block is rendered.