Resynchronizing media during streaming
First Claim
1. A method of synchronizing a media stream, comprising:
- streaming media from a media program from a server to a client;
at the server, detecting a loss of synchronization in said media stream at a current media time index by;
identifying a current time index of the media program, wherein said current time index corresponds to media that should be streamed at said current time index; and
comparing said current time index to a time index of said media actually being streamed;
at the server, selecting a second time index later in said media than said current media time index by adding a predetermined amount of time to said current time index; and
attempting to synchronize said media at said second media time index.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method are provided for resynchronizing a media stream. A media streaming server receives live or pre-recorded media for streaming to clients. When media is not received or available for streaming at the appropriate media time index, the media stream is deemed to be out of synchronization. The server selects a future time index at which to resynchronize the stream and may discard intervening media. Media corresponding to the new time index is requested or retrieved and, if available at the new time index, media streaming resumes in synchronization. If media corresponding to the new time index is not available, the server may select another future time index and try again to resynchronize. Resynchronization may be attempted a configurable number of times and, if unsuccessful, the server may terminate the stream.
-
Citations
24 Claims
-
1. A method of synchronizing a media stream, comprising:
-
streaming media from a media program from a server to a client;
at the server, detecting a loss of synchronization in said media stream at a current media time index by;
identifying a current time index of the media program, wherein said current time index corresponds to media that should be streamed at said current time index; and
comparing said current time index to a time index of said media actually being streamed;
at the server, selecting a second time index later in said media than said current media time index by adding a predetermined amount of time to said current time index; and
attempting to synchronize said media at said second media time index. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of resynchronizing a media program streamed to a client from a media server, the method being performed at the media server and comprising:
-
(a) requesting a first portion of a media program to be streamed to the client, said first media portion corresponding to a first time index of the media program; and
(b) if said first media portion is unavailable for streaming at said first time index, attempting to resynchronize the media program by;
(c) selecting a second time index of said media program later than said first time index;
(d) requesting a second portion of the media program corresponding to said second time index;
(e) halting streaming of the media program until said second time index; and
(f) if said second media portion is available at said second time index, commencing streaming the media program from said second time index. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of synchronizing a media stream, the method comprising:
-
streaming media from a media program from a server to a client;
at the server, detecting a loss of synchronization in said media stream at a current media time index by;
identifying a current time index of the media program, wherein said current time index corresponds to media that should be streamed at said current time index; and
comparing said current time index to a time index of said media actually being streamed;
at the server, selecting a second time index later in said media than said current media time index by adding a predetermined amount of time to said current time index; and
attempting to synchronize said media at said second media time index.
-
-
15. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of resynchronizing a media program streamed to a client from a media server, the method being performed at the media server and comprising:
-
(a) requesting a first portion of a media program to be streamed to the client, said first media portion corresponding to a first time index of the media program; and
(b) if said first media portion is unavailable for streaming at said first time index, attempting to resynchronize the media program by;
(c) selecting a second time index of said media program later than said first time index;
(d) requesting a second portion of the media program corresponding to said second time index;
(e) halting streaming of the media program until said second time index; and
(f) if said second media portion is available at said second time index, commencing streaming the media program from said second time index.
-
-
16. A server for synchronizing a stream of media to a client, comprising:
-
a stream module configured to control the streaming of a media program to a client;
a media time index configured to identity a current time index of the media program, wherein for each said time index a corresponding portion of the media program should be streamed; and
a first track stream module configured to retrieve media for a first track of the media program from a media source;
wherein if a first portion of the media program is unavailable for streaming at a first current time index, said stream module;
advances said media time index from said current time index to a future time index;
requests said portion of the media program corresponding to said future time index; and
resumes said streaming at said future time index if said requested media program portion is available for streaming at said future time index.
-
-
17. A media server for synchronizing a media stream to a client, comprising:
-
a first track of a media program stored on a first storage device;
a first track stream module configured to retrieve media from said first media track, wherein the media comprises multiple media portions corresponding to successive time indices at which said corresponding media portions should be played;
a stream module configured to control streaming of the media to a client by transmitting to the client media corresponding to a current media program time index; and
a synchronization module configured to synchronize said media streaming when a portion of the media corresponding to a first current media program time index is not available for streaming at said first current media program time index. - View Dependent Claims (18)
-
-
19. A method of synchronizing a media stream, comprising:
-
streaming media from a media program from a server to a client;
at the server, detecting a loss of synchronization in said media stream at a current media time index by;
identifying a current time index of the media program, wherein said current time index corresponds to media that should be streamed at said current time index; and
comparing said current time index to a time index of said media actually being streamed;
at the server, selecting a second time index later in said media than said current media time index; and
attempting to synchronize said media at said second media time index by;
determining whether a portion of the media program corresponding to said second time index is available for streaming at said second time index; and
if said media program portion is available for streaming, resuming streaming of the media program at said second time index. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of synchronizing a media stream, comprising:
-
streaming media from a media program from a server to a client;
at the server, detecting a loss of synchronization in said media stream at a current media time index by;
identifying a current time index of the media program, wherein said current time index corresponds to media that should be streamed at said current time index; and
comparing said current time index to a time index of said media actually being streamed;
at the server, selecting a second time index later in said media than said current media time index; and
attempting to synchronize said media at said second media time index by;
determining whether a portion of the media program corresponding to said second time index is available for streaming at said second time index; and
if said media program portion is available for streaming, resuming streaming of the media program at said second time index.
-
Specification