Dynamic track switching in media streaming
AssigneeMicrosoft Technology Licensing, LLC
InventorsStephen J. Estrop, Matthew Howard, Marcin Stankiewicz, Shijun Sun
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Technology Licensing, LLC
InventorsStephen J. Estrop, Matthew Howard, Marcin Stankiewicz, Shijun Sun
Estimating the term…
A switching module is adapted to configure switches between source buffers and rendering pipelines. Each of the switches has one or more selection inputs each representing encoded data for a media track from one of the source buffers. Each of the switches also has a selection output associated with one of the rendering pipelines for decoding and rendering. The switching module is further adapted to use the switches to manage which of the media tracks, if any, have encoded data routed to the rendering pipelines during media streaming. The rendering pipelines can include a video rendering pipeline and one or more audio rendering pipelines, where the switching module is part of a media engine adapted to determine a clock source in one of the audio rendering pipeline(s), and the clock source is used to drive synchronization of the media tracks.
1-20. (canceled)
A computing device configured to provide dynamic track switching in media streaming, comprising:
The computing device of claim 1, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the switching module to:
The computing device of claim 1, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the switching module to:
The computing device of claim 1, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the switching module to:
The computing device of claim 4, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the first video rendering pipeline to:
The computing device of claim 1, further comprising a second audio rendering pipeline comprising a second audio decoder and a second audio renderer, and wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the switching module to:
The computing device of claim 6, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the media engine to mix the first and fifth media tracks for output on a single audio output.
The computing device of claim 6, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the media engine to concurrently output the first media track on a first audio output and output the fifth media track on a second audio output.
The computing device of claim 1, further comprising a user interface and wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the media engine to display media track information for the first, second, third, and fourth media tracks on the user interface.
The computing device of claim 9, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the media engine to maintain a media track map between selection input identifiers within the media engine and track identifiers displayed by the media engine on the user interface.
The computing device of claim 1, wherein the memory unit further stores computer-executable instructions that when executed by the processor cause the switching module to reconfigure the first switch to remove the second selection input and add fifth and sixth selection inputs, wherein the fifth selection input comprises encoded data for a fifth media track and the sixth selection input comprises encoded data for a sixth media track.
The computing device of claim 1, wherein the configuring of the first and second switches depends on metadata associated with the first, second, third, and fourth media tracks.
A method for managing dynamic track switching in media streaming on a computing device, comprising
The method of claim 13 further comprising:
The method of claim 13 further comprising:
The method of claim 15 further comprising:
The method of claim 13 further comprising:
The method of claim 13 further comprising:
The method of claim 13 further comprising:
A computer system comprising:
Dependencies are inferred from the claim text.