diff --git a/media-source-respec.html b/media-source-respec.html index 8b44984..13edcb1 100644 --- a/media-source-respec.html +++ b/media-source-respec.html @@ -124,11 +124,72 @@

extensions are available in the byte stream format registry [[MSE-REGISTRY]].

- Media Source Pipeline Model Diagram + Media Source Pipeline Model Diagram
- Media Source Pipeline Model Diagram + Media Source pipeline diagram showing how a MediaSource provides one or more + SourceBuffers that feed audio and video decoders through a media element. The decoded + data is rendered as synchronized audio and video output. +
+ + Detailed figure description + +

+ The image shows a flowchart that reads from a top down perspective. At the top is a + container marked |MediaSource|, with three arrows flowing down to containers each + marked |SourceBuffer|. (Not indicated, but for sake of clarity in this description + referred to here-after as |SourceBuffer 1|, shown with a blue background; + |SourceBuffer 2|, shown with a mauve background; and |SourceBuffer 3|, shown with a + rose background; as described from Left to Right). +

+

+ Below these three |SourceBuffer| containers is a dashed line, with an indication that + the top half (|MediaSource| plus the three |SourceBuffer| containers) are taken from + the Media Source API, while the details to follow are taken from the + {{HTMLMediaElement}}. +

+

+ Flowing down from |SourceBuffer 1| is a blue triangle with three arrows pointing to + three process indications, each labeled |Track Buffer|. +

+

+ The first |Track Buffer| from the left then flows to a red box labeled |Video + Decoder|, which then flows to a switch that selects between one of three inputs, and + the output of the switch connects to an output destination, labeled |Video Tag + Display Region|. The switch indicates that one |Video Decoder| output (from + |SourceBuffer 2|) is selected to flow into the |Video Tag Display Region|. +

+

+ The second |Track Buffer| flows to a green box labeled |Audio Decoder|, which then + follows to an indicator of an open switch, which then continues to a summing junction + indicator. The output of the summing junction connects to a green output destination, + labeled |Audio Device|. +

+

+ The third |Track Buffer| also flows to a green box labeled |Audio Decoder|, which + also flows to a switch, this time however indicated closed, which then also continues + to the same summing junction as the second |Track Buffer|, which connects to the + |Audio Device|. +

+

+ Flowing down from |SourceBuffer 2| is a mauve triangle with an arrow flowing to a + process indication labeled |Track Buffer|. +

+

+ This |Track Buffer| then flows to a red box labeled |Video Decoder|, which then flows + to the same switch that feeds to the |Video Tag Display Region| previously mentioned + in |SourceBuffer 1|. The switch is positioned so that this |Video Decoder| output is + connected to the |Video Tag Display Region|. +

+

+ Flowing down from |SourceBuffer 3| is a rose triangle with an arrow flowing to a + process indication labeled |Track Buffer|. +

+

+ This |Track Buffer| then flows to a green box labeled |Audio Decoder|, which then + flows through a closed switch, which then also continues to the same summing junction + previously mentioned in |SourceBuffer 1|, which connects to the |Audio Device|. +

+
@@ -215,7 +276,7 @@

The duration of a [=coded frame=]. For video and text, the duration indicates how long the video frame or text SHOULD be displayed. For audio, the duration represents the sum of all the samples contained within the coded frame. For example, if an audio frame - contained 441 samples @44100Hz the frame duration would be 10 milliseconds. + contained 441 samples at 44100 Hz the frame duration would be 10 milliseconds.

@@ -4291,7 +4352,16 @@

Here is a graphical representation of this algorithm. -

Audio splice diagram +

+
+ Audio Splice Rendering diagram +
+ The image depicts the process of audio cross-fading between two sets of coded + frames over a duration of 5 milliseconds. The audio to be faded-out decreases in + volume from maximum to zero over a 5 millisecond period, while the audio to be + faded-in increases in volume from zero to maximum over the same period. +
+

@@ -5550,11 +5620,11 @@

The editors would like to thank Alex Giladi, Bob Lund, Chris Needham, Chris Poole, Chris Wilson, Cyril Concolato, Dale Curtis, David Dorwin, David Singer, Duncan Rowden, François - Daoust, Frank Galligan, Glenn Adams, Jer Noble, Joe Steele, John Simmons, Kagami Sascha - Rosylight, Kevin Streeter, Marcos Cáceres, Mark Vickers, Matt Ward, Matthew Gregan, - Michael(tm) Smith, Michael Thornburgh, Mounir Lamouri, Paul Adenot, Philip Jägenstedt, - Philippe Le Hegaret, Pierre Lemieux, Ralph Giles, Steven Robertson, and Tatsuya Igarashi - for their contributions to this specification. + Daoust, Frank Galligan, Glenn Adams, Jer Noble, Joe Steele, John Foliot, John Simmons, + Kagami Sascha Rosylight, Kevin Streeter, Marcos Cáceres, Mark Vickers, Matt Ward, Matthew + Gregan, Michael(tm) Smith, Michael Thornburgh, Mounir Lamouri, Paul Adenot, Philip + Jägenstedt, Philippe Le Hegaret, Pierre Lemieux, Ralph Giles, Steven Robertson, and Tatsuya + Igarashi for their contributions to this specification.

diff --git a/pipeline_model.svg b/pipeline_model.svg index a3c42a1..aa3ddbd 100644 --- a/pipeline_model.svg +++ b/pipeline_model.svg @@ -625,5 +625,10 @@ - + High-level Media Source pipeline. An application creates a MediaSource and + attaches it to an HTMLMediaElement. One or more SourceBuffers append media segments to track + buffers. Segments are demuxed into coded audio and video frames, which feed the Audio Decoder + and Video Decoder. The decoded audio goes to the audio output; the decoded video goes to the + video rendering region. A track switch selects the active video track. Playback is synchronized + by the media element's pipeline. diff --git a/pipeline_model_description.html b/pipeline_model_description.html deleted file mode 100644 index 65e7131..0000000 --- a/pipeline_model_description.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - Media Source Pipeline Model - - - - - - -

Media Source Pipeline Model

- -

Non-technical description of the Process Flowchart image

- -

The flowchart reads from a top down perspective. At the top is a container -marked MediaSource, with three arrows flowing down to containers each marked -SourceBuffer. (Not indicated, but for sake of clarity in this description -referred to here-after as SourceBuffer 1, shown with a blue background; -SourceBuffer 2, shown with a mauve background; and SourceBuffer 3, shown -with a rose background; as described from Left to Right).

- -

Below these three SourceBuffer containers is a dashed line, with an indication -that the top half (MediaSource plus the three SourceBuffer containers) are taken -from the Media Source API, while the details to follow are taken from the -HTMLMediaElement.

- -

Flowing down from SourceBuffer 1

- -

Flowing down from SourceBuffer 1 is a blue triangle with three arrows pointing -to three process indications, each labeled Track Buffer.

- -

The first Track Buffer from the left then flows to a red box labeled Video -Decoder, which then flows to a switch that selects between one of three inputs, -and the output of the switch connects to an output destination, labeled Video Tag -Display Region. The switch indicates that one Video Decoder output (from -SourceBuffer 2) is selected to flow into the Video Tag Display Region.

- -

The second Track Buffer flows to a green box labeled Audio Decoder, which -then follows to an indicator of an open switch, which then continues to a -summing junction indicator. The output of the summing junction connects to -a green output desination, labeled Audio Device.

- -

The third Track Buffer also flows to a green box labeled Audio Decoder, -which also flows to a switch, this time however indicated closed, which then -also continues to the same summing junction as the second Track Buffer, -which connects to the Audio Device.

- -

Flowing down from SourceBuffer 2

- -

Flowing down from SourceBuffer 2 is a mauve triangle with an arrow flowing -to a process indication labeled Track Buffer.

- -

This Track Buffer then flows to a red box labeled Video Decoder, which -then flows to the same switch that feeds to the Video Tag Display Region -previously mentioned in SourceBuffer 1. The switch is positioned so that -this Video Decoder ouptut is connected to the Video Tag Display Region.

- -

Flowing down from SourceBuffer 3

- -

Flowing down from SourceBuffer 3 is a rose triangle with an arrow flowing to -a process indication labeled Track Buffer.

- -

This Track Buffer then flows to a green box labeled Audio Decoder, which -then flows through a closed switch, which then also continues to the same -summing junction previously mentioned in SourceBuffer 1, which connects to the -Audio Device.

- -

With thanks to J. Foliot, Deque Systems

- -
-
Media Source Pipeline Model figure
- Media Source Pipeline Model Diagram -
- - - -