Streaming media player with synchronous events from multiple sources
First Claim
1. A method for a streaming media player having at least one first and one second buffer to provide portions of secondary media content from a second media source synchronized with streaming primary media content from a first media source, said first and second media sources being independent from each other and residing on physically separate first and second devices comprising the steps of:
- receiving a file identifying primary and secondary media content and synchronization information;
downloading a first portion of said secondary media content from said second media source residing on said second device into said at least one second buffer;
beginning downloading of said primary media content from said first media source residing on said first device into said at least one first buffer;
when the amount of primary media content in said primary buffer reaches a first threshold, begin displaying said primary media content and said first portion of said secondary media content according to said synchronization information; and
when the amount of primary media content in said primary buffer reaches a second threshold, greater than said first threshold, alternately receiving successive portions of said secondary media content with said primary media content.
2 Assignments
0 Petitions
Accused Products
Abstract
A buffering protocol and a streaming media player which utilizes the buffering protocol designed for minimizing the occurrences of pauses during the presentation due to network congestion and for scheduling pauses at appropriate times in the presentation. The data comprises coded content information comprising a time synchronous media, together with various other sources, synchronized to appear at predetermined time points in the media presentation. The presentation is delivered in streaming fashion, so that the end user does not have to wait for the entirety of the data to be downloaded before starting the presentation. The invention does not require that media data and events data be multiplexed into a single streaming file and it does not require that the file provided to the media player be customized for prefetching of content.
112 Citations
17 Claims
-
1. A method for a streaming media player having at least one first and one second buffer to provide portions of secondary media content from a second media source synchronized with streaming primary media content from a first media source, said first and second media sources being independent from each other and residing on physically separate first and second devices comprising the steps of:
-
receiving a file identifying primary and secondary media content and synchronization information;
downloading a first portion of said secondary media content from said second media source residing on said second device into said at least one second buffer;
beginning downloading of said primary media content from said first media source residing on said first device into said at least one first buffer;
when the amount of primary media content in said primary buffer reaches a first threshold, begin displaying said primary media content and said first portion of said secondary media content according to said synchronization information; and
when the amount of primary media content in said primary buffer reaches a second threshold, greater than said first threshold, alternately receiving successive portions of said secondary media content with said primary media content. - View Dependent Claims (2, 3, 4, 5, 6)
determining if a successive portion of secondary media content has been downloaded;
if said successive portion has been downloaded, displaying said successive portion in accordance with said synchronization information; and
when said successive portion of secondary media content has not been downloaded, suspending displaying until said successive portion has been downloaded.
-
-
7. A streaming media player comprising:
-
at least one first buffer for buffering primary media content from a first media source residing on a first device;
at least one second buffer for buffering secondary media content from a second media source residing on a second device which is physically separate from said first device, said second media source being independent of said first media source;
playback means for rendering said primary content by streaming and for rendering portions of said secondary content with said primary content based on synchronization information and;
means for determining if a needed portion of said secondary media content is available at said second buffer and for signaling the playback means to pause if said needed portion of secondary media content is not available. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for a streaming media player having at least one first and one second buffer to provide portions of secondary media content from a second media source synchronized with streaming primary media content from a first media source, said first and second media sources being independent of each other and residing on physically separate first and second devices comprising the steps of:
-
receiving a file identifying primary and secondary media content, physically separate device locations on which said independent first and second media sources for said primary and secondary media content reside, and synchronization information;
selectively accessing said first and second media sources at said first and second devices and selectively downloading portions of said primary and said secondary media content into said first and second buffers, respectively;
selectively retrieving downloaded portions of said primary and said secondary media content from said first and second buffers for display based on said synchronization information;
displaying said selectively accessed portions;
determining if a needed portion of secondary media content has been downloaded based on said synchronization information;
if said needed portion has been downloaded, displaying said needed portion in accordance with said synchronization information; and
when said needed portion of secondary media content has not been downloaded, suspending displaying until said needed portion has been downloaded. - View Dependent Claims (13, 14)
monitoring the amount of primary media content in said primary buffer; and
when said amount of primary media content in said primary buffer reaches a first threshold, begin displaying said primary media content and a first portion of said secondary media content according to said synchronization information.
-
-
14. The method of claim 12, wherein said primary media content is audio and said secondary content comprises images which are synchronized to time increments in said audio.
-
15. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a media player having at least one first and at least one second buffer to display a multimedia presentation by providing portions of secondary media content from a second media source synchronized with streaming primary media content from a first media source, said first and second media sources being independent of each other and residing on physically separate first and second devices, said method comprising the steps of:
-
receiving a file identifying primary and secondary media content and synchronization information;
downloading a first portion of said secondary media content from said second media source residing on said second device into said at least one second buffer;
beginning downloading of said primary media content from said first media source residing on said first device into said at least one first buffer;
when the amount of primary media content in said primary buffer reaches a first threshold, begin displaying said primary media content and said first portion of said secondary media content according to said synchronization information; and
when the amount of primary media content in said primary buffer reaches a second threshold, greater than said first threshold, alternately receiving successive portions of said secondary media content with said primary media content. - View Dependent Claims (16)
determining if a successive portion of secondary media content has been downloaded;
if said successive portion has been downloaded, displaying said successive portion in accordance with said synchronization information; and
when said successive portion of secondary media content has not been downloaded, suspending displaying until said successive portion has been downloaded.
-
-
17. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a media player having at least one first and at least one second buffer to provide portions of secondary media content from a second media source synchronized with streaming primary media content from a first media source, said first and second media sources being independent of each other and residing on physically separate first and second devices, comprising the steps of:
-
receiving a file identifying primary and secondary media content, physically separate first and second device locations at which said independent first and second media sources for said primary and secondary media content reside, and synchronization information;
selectively accessing said first and second media sources and selectively downloading portions of said primary and said secondary media content into said first and second buffers, respectively;
selectively retrieving downloaded portions of said primary and said secondary media content from said first and second buffers for display based on said synchronization information;
displaying said selectively accessed portions;
determining if a needed portion of secondary media content has been downloaded based on said synchronization information;
if said needed portion has been downloaded, displaying said needed portion in accordance with said synchronization information; and
when said needed portion of secondary media content has not been downloaded, suspending displaying until said needed portion has been downloaded.
-
Specification