Media Source Extensions™
Media Source Extensions™
W3C Editor's Draft
04 November 2025
More details about this document
This version:
Latest published version:
Latest editor's draft:
History:
Commit history
Latest Recommendation:
Editors:
Jean-Yves Avenard
Apple Inc.
Mark Watson
Netflix Inc.
Former editors:
Matthew Wolenetz
W3C Invited Expert
) - Until
01 February 2024
Jerry Smith
Microsoft Corporation
) - Until
01 September 2017
Aaron Colwell
Google Inc.
) - Until
01 April 2015
Adrian Bateman
Microsoft Corporation
) - Until
01 April 2015
Feedback:
GitHub w3c/media-source
pull requests
new issue
open issues
public-media-wg@w3.org
with subject line
[media-source-2]
… message topic …
archives
Browser support:
caniuse.com
2025
World Wide Web Consortium
W3C
liability
trademark
and
permissive document license
rules apply.
Abstract
This specification extends
HTMLMediaElement
HTML
] to allow JavaScript to generate
media streams for playback. Allowing JavaScript to generate streams facilitates a variety of
use cases like adaptive streaming and time shifting live streams.
Status of This Document
This section describes the status of this
document at the time of its publication. A list of current
W3C
publications and the latest revision of this technical report can be found
in the
W3C
standards and drafts index
On top of editorial updates, substantive changes since publication as a
W3C
Recommendation
in
November 2016
are:
the addition of a
changeType
()
method to switch among codecs or
bytestreams
the possibility to create and use
MediaSource
objects off the main thread in
dedicated workers
the removal of the
createObjectURL
()
extension to the
URL
object following
its integration in the File API [
FILEAPI
the addition of
ManagedMediaSource
ManagedSourceBuffer
, and
BufferedChangeEvent
interfaces supporting power-efficient streaming and active buffered
media cleanup by the user agent
For a full list of changes made since the previous version, see the
commits
The working group maintains
a list of
all bug reports that the editors have not yet tried to address
Implementors should be aware that this specification is not stable.
Implementors
who are not taking part in the discussions are likely to find the specification changing
out from under them in incompatible ways.
Vendors interested in implementing this
specification before it eventually reaches the Candidate Recommendation stage should track
the
GitHub repository
and take part in
the discussions.
This document was published by the
Media Working Group
as
an Editor's Draft.
Publication as an Editor's Draft does not
imply endorsement by
W3C
and its Members.
This is a draft document and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to cite this document as other
than a work in progress.
This document was produced by a group
operating under the
W3C
Patent
Policy
W3C
maintains a
public list of any patent disclosures
made in connection with the deliverables of
the group; that page also includes
instructions for disclosing a patent. An individual who has actual
knowledge of a patent that the individual believes contains
Essential Claim(s)
must disclose the information in accordance with
section 6 of the
W3C
Patent Policy
This document is governed by the
18 August 2025
W3C
Process Document
1.
Introduction
This section is non-normative.
This specification allows JavaScript to dynamically construct media streams for

video.
addEventListener
"seeking"
) =>
onSeeking
(mediaSource, e.
target
));
video.
addEventListener
"progress"
() =>
appendNextMediaSegment
(mediaSource),
);
try
const
initSegment =
await
getInitializationSegment
();
if
(initSegment ==
null
) {
// Error fetching the initialization segment. Signal end of stream with an error.
mediaSource.
endOfStream
"network"
);
return
// Append the initialization segment.
sourceBuffer.
addEventListener
"updateend"
function
firstAppendHandler
) {
sourceBuffer.
removeEventListener
"updateend"
, firstAppendHandler);
// Append some initial media data.
appendNextMediaSegment
(mediaSource);
});

sourceBuffer.
appendBuffer
(initSegment);
catch
(error) {
// Handle errors that might occur during initialization segment fetching.
console
error
"Error fetching initialization segment:"
, error);
mediaSource.
endOfStream
"network"
);
async
function
appendNextMediaSegment
mediaSource
) {
if
mediaSource.
readyState
===
"closed"
||
mediaSource.
sourceBuffers
].
updating
return
// If we have run out of stream data, then signal end of stream.
if
(!
haveMoreMediaSegments
()) {
mediaSource.
endOfStream
();
return
try
const
mediaSegment =
await
getNextMediaSegment
();
//
NOTE:
If mediaSource.readyState == "ended", this appendBuffer() call will
// cause mediaSource.readyState to transition to "open". The web application
// should be prepared to handle multiple "sourceopen" events.
mediaSource.
sourceBuffers
].
appendBuffer
(mediaSegment);
catch
(error) {
// Handle errors that might occur during media segment fetching.
console
error
"Error fetching media segment:"
, error);
mediaSource.
endOfStream
"network"
);
function
onSeeking
mediaSource, video
) {
if
(mediaSource.
readyState
===
"open"
) {
// Abort current segment append.
mediaSource.
sourceBuffers
].
abort
();
// Notify the media segment loading code to start fetching data at the
// new playback position.
seekToMediaSegmentAt
(video.
currentTime
);
// Append a media segment from the new playback position.
appendNextMediaSegment
(mediaSource);
function
onProgress
mediaSource, e
) {
appendNextMediaSegment
(mediaSource);
// Example of async function for getting initialization segment
async
function
getInitializationSegment
) {
// Implement fetching of the initialization segment
// This is just a placeholder function
// Example function for checking if there are more media segments
function
haveMoreMediaSegments
) {
// Implement logic to determine if there are more media segments
// This is just a placeholder function
// Example function for getting the next media segment
async
function
getNextMediaSegment
) {
// Implement fetching of the next media segment
// This is just a placeholder function
// Example function for seeking to a specific media segment
function
seekToMediaSegmentAt
currentTime
) {
// Implement seeking logic
// This is just a placeholder function
script
16.2
Using a Managed Media Source
Example
script
async
function
setUpVideoStream
) {
// Specific video format and codec
const
mediaType =
'video/mp4; codecs="mp4a.40.2,avc1.4d4015"'
// Check if the type of video format / codec is supported.
if
(!
window
ManagedMediaSource
?.
isTypeSupported
(mediaType)) {
return
// Not supported, do something else.
// Set up video and its managed source.
const
video =
document
createElement
"video"
);
const
source =
new
ManagedMediaSource
();

video.
controls
true
await
new
Promise
resolve
) =>
video.
src
URL
createObjectURL
(source);
source.
addEventListener
"sourceopen"
, resolve, {
once
true
});
document
body
appendChild
(video);
});
const
sourceBuffer = source.
addSourceBuffer
(mediaType);
// Set up the event handlers
sourceBuffer.
onbufferedchange
) =>
console
log
"onbufferedchange event fired."
);
console
log
`Added Ranges:
${timeRangesToString(e.addedRanges)}
);
console
log
`Removed Ranges:
${timeRangesToString(e.removedRanges)}
);
};

source.
onstartstreaming
async
() => {
const
response =
await
fetch
"./videos/bipbop.mp4"
);
const
buffer =
await
response.
arrayBuffer
();
await
new
Promise
resolve
) =>
sourceBuffer.
addEventListener
"updateend"
, resolve, {
once
true
});
sourceBuffer.
appendBuffer
(buffer);
});
};

source.
onendstreaming
async
() => {
// Stop fetching new segments here
};
// Helper function...
function
timeRangesToString
timeRanges
) {
const
ranges = [];
for
let
i =
; i < timeRanges.
length
; i++) {
ranges.
push
([timeRanges.
start
(i), timeRanges.
end
(i)]);
return
"["
+ ranges.
map
[start, end]
) =>
`[
${start}
${end}
)`
) +
"]"
script
body
onload
"setUpVideoStream()"
body
17.
Acknowledgments
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.
A.
VideoPlaybackQuality
This section is non-normative.
The video playback quality metrics described in previous revisions of this specification
(e.g., sections 5 and 10 of the
Candidate Recommendation
) are
now being developed as part of [
MEDIA-PLAYBACK-QUALITY
]. Some implementations may have
implemented the earlier draft
VideoPlaybackQuality
object and the
HTMLVideoElement
extension method
getVideoPlaybackQuality
()
described in those previous
revisions.
B.
Issue summary
Issue 276
: MSE-in-Workers: Consider adding a "closing" readyState to explain new `InvalidStateError` exception when closing underway
Issue 280
: MSE-in-Workers: {Audio,Video,Text}Track{,List} IDL in HTML need additional DedicatedWorker in Exposed
Issue 289
: Editorial? Coded Frame eviction algorithm needs to note that "buffer full flag" may be updated immediately based on |new data|
Issue 277
: MSE-in-Workers: Consider (eventually) transitioning attached element to error upon termination of MediaSource's worker/what should media element do?
Issue 277
: MSE-in-Workers: Consider (eventually) transitioning attached element to error upon termination of MediaSource's worker/what should media element do?
Issue
Issue 280
: MSE-in-Workers: {Audio,Video,Text}Track{,List} IDL in HTML need additional DedicatedWorker in Exposed
Issue 280
: MSE-in-Workers: {Audio,Video,Text}Track{,List} IDL in HTML need additional DedicatedWorker in Exposed
Issue 280
: MSE-in-Workers: {Audio,Video,Text}Track{,List} IDL in HTML need additional DedicatedWorker in Exposed
C.
References
C.1
Normative references
[dom]
DOM Standard
. Anne van Kesteren. WHATWG. Living Standard. URL:
[ECMASCRIPT]
ECMAScript Language Specification
. Ecma International. URL:
[FILEAPI]
File API
. Marijn Kruisselbrink. W3C. 4 December 2024. W3C Working Draft. URL:
[HTML]
HTML Standard
. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL:
[infra]
Infra Standard
. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL:
[MSE-REGISTRY]
Media Source Extensions™ Byte Stream Format Registry
. Matthew Wolenetz; Jerry Smith; Aaron Colwell. W3C. URL:
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels
. S. Bradner. IETF. March 1997. Best Current Practice. URL:
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
. B. Leiba. IETF. May 2017. Best Current Practice. URL:
[WEBIDL]
Web IDL Standard
. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL:
C.2
Informative references
[INBANDTRACKS]
Sourcing In-band Media Resource Tracks from Media Containers into HTML
. Silvia Pfeiffer; Bob Lund. W3C. 26 April 2015. Unofficial Draft. URL:
[MEDIA-PLAYBACK-QUALITY]
Media Playback Quality
. Mounir Lamouri; Chris Cunningham. W3C. W3C Editor's Draft. URL:
[url]
URL Standard
. Anne van Kesteren. WHATWG. Living Standard. URL:
Permalink
Referenced in:
§ 3.15.3 Seeking
Permalink
Referenced in:
§ 5.1 Attributes
(2)
Permalink
exported
Referenced in:
§ 2. Definitions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
§ 3.15.3 Seeking
§ 3.15.6 Duration change
§ 5. SourceBuffer interface
§ 5.3 Track Buffers
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 5.5.1 Segment Parser Loop
(2)
(3)
§ 5.5.2 Reset Parser State
(2)
§ 5.5.7 Initialization Segment Received
(2)
(3)
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
§ 5.5.9 Coded Frame Removal
(2)
(3)
(4)
(5)
§ 5.5.11 Audio Splice Frame
(2)
(3)
§ 5.5.12 Audio Splice Rendering
(2)
§ 5.5.13 Text Splice Frame
(2)
(3)
Permalink
Referenced in:
§ 2. Definitions
(2)
(3)
(4)
§ 5.3 Track Buffers
§ 5.5.8 Coded Frame Processing
§ 5.5.11 Audio Splice Frame
(2)
(3)
§ 5.5.12 Audio Splice Rendering
§ 5.5.13 Text Splice Frame
(2)
Permalink
Referenced in:
§ 5.3 Track Buffers
§ 5.5.1 Segment Parser Loop
(2)
Permalink
Referenced in:
§ 5.3 Track Buffers
(2)
(3)
§ 5.5.1 Segment Parser Loop
(2)
Permalink
Referenced in:
§ 2. Definitions
(2)
§ 5.5.9 Coded Frame Removal
§ 5.5.11 Audio Splice Frame
(2)
(3)
(4)
Permalink
exported
Referenced in:
§ 2. Definitions
(2)
(3)
§ 3.15.3 Seeking
§ 5.3 Track Buffers
§ 5.5.1 Segment Parser Loop
(2)
(3)
(4)
(5)
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
§ 14. Byte Stream Formats
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Permalink
exported
Referenced in:
§ 2. Definitions
(2)
(3)
§ 3.15.3 Seeking
§ 5.1 Attributes
(2)
§ 5.3 Track Buffers
§ 5.5.1 Segment Parser Loop
(2)
(3)
(4)
(5)
§ 5.5.8 Coded Frame Processing
(2)
§ 14. Byte Stream Formats
(2)
(3)
(4)
(5)
(6)
(7)
Permalink
Referenced in:
§ 3.14 Cross-context communication model
§ 3.15.1 Attaching to a media element
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
§ 4.1 Transfer
(2)
(3)
Permalink
Referenced in:
§ 5.1 Attributes
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 5.2 Methods
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 5.5.4 Prepare Append
(2)
(3)
(4)
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
(5)
(6)
§ Attributes
(2)
(3)
Permalink
Referenced in:
§ 2. Definitions
(2)
(3)
§ 5.1 Attributes
§ 5.2 Methods
(2)
(3)
§ 5.5.6 Range Removal
(2)
Permalink
Referenced in:
§ 5.5.8 Coded Frame Processing
§ 5.5.11 Audio Splice Frame
§ 5.5.13 Text Splice Frame
Permalink
Referenced in:
§ 2. Definitions
(2)
(3)
Permalink
exported
Referenced in:
§ 2. Definitions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 3.15.6 Duration change
§ 5.1 Attributes
(2)
§ 5.3 Track Buffers
(2)
§ 5.5.6 Range Removal
(2)
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
§ 5.5.9 Coded Frame Removal
(2)
(3)
§ 5.5.11 Audio Splice Frame
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
§ 5.5.12 Audio Splice Rendering
(2)
(3)
(4)
§ 5.5.13 Text Splice Frame
(2)
(3)
§ 14. Byte Stream Formats
Permalink
exported
Referenced in:
§ 3.15.3 Seeking
§ 5.3 Track Buffers
(2)
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
§ 5.5.9 Coded Frame Removal
(2)
(3)
§ 14. Byte Stream Formats
Permalink
Referenced in:
§ 5.5.1 Segment Parser Loop
Permalink
Referenced in:
§ 3.7 addSourceBuffer() method
Permalink
Referenced in:
§ 2. Definitions
§ 5.3 Track Buffers
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
Permalink
Referenced in:
§ 2. Definitions
(2)
(3)
(4)
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
§ 14. Byte Stream Formats
(2)
Permalink
exported
IDL
Referenced in:
§ Status of This Document
§ 2. Definitions
(2)
(3)
(4)
(5)
(6)
§ 3. MediaSource interface
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 3.1 handle attribute
(2)
(3)
(4)
(5)
(6)
§ 3.2 sourceBuffers attribute
(2)
§ 3.4 readyState attribute
(2)
§ 3.5 duration attribute
§ 3.6 canConstructInDedicatedWorker attribute
(2)
§ 3.8 removeSourceBuffer() method
(2)
(3)
§ 3.12 isTypeSupported() method
(2)
(3)
§ 3.13 Event Summary
(2)
(3)
§ 3.14 Cross-context communication model
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 3.15.1 Attaching to a media element
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
§ 3.15.2 Detaching from a media element
(2)
(3)
(4)
(5)
(6)
(7)
§ 3.15.5 Changes to selected/enabled track state
§ 3.15.7 End of stream
§ 3.15.8 Mirror if necessary
(2)
§ 4. MediaSourceHandle interface
(2)
(3)
(4)
§ 4.1 Transfer
(2)
(3)
(4)
§ 5.5.4 Prepare Append
§ 7. ManagedMediaSource interface
(2)
(3)
§ 7.3.1 ManagedSourceBuffer Monitoring
§ 10. HTMLMediaElement Extensions
§ 10.1 HTMLMediaElement's seekable
(2)
(3)
§ 10.2 HTMLMediaElement's buffered
(2)
(3)
Permalink
Referenced in:
§ 3.10 setLiveSeekableRange() method
(2)
§ 3.11 clearLiveSeekableRange() method
(2)
(3)
§ 10.1 HTMLMediaElement's seekable
(2)
(3)
(4)
Permalink
Referenced in:
§ 3.15.1 Attaching to a media element
(2)
Permalink
exported
Referenced in:
§ 3. MediaSource interface
§ 3.15.3 Seeking
(2)
(3)
(4)
§ 3.15.4 SourceBuffer Monitoring
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 3.15.7 End of stream
(2)
(3)
(4)
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
(5)
(6)
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
§ 5.5.9 Coded Frame Removal
(2)
(3)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 3.2 sourceBuffers attribute
§ 3.4 readyState attribute
§ 3.5 duration attribute
§ 3.13 Event Summary
(2)
(3)
§ 3.15.1 Attaching to a media element
§ 3.15.2 Detaching from a media element
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 3.2 sourceBuffers attribute
§ 3.5 duration attribute
§ 3.7 addSourceBuffer() method
§ 3.9 endOfStream() method
§ 3.10 setLiveSeekableRange() method
§ 3.11 clearLiveSeekableRange() method
§ 3.13 Event Summary
(2)
(3)
(4)
§ 3.15.1 Attaching to a media element
(2)
§ 5.1 Attributes
(2)
§ 5.2 Methods
(2)
(3)
§ 5.5.4 Prepare Append
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 3.13 Event Summary
(2)
(3)
§ 3.15.3 Seeking
(2)
§ 3.15.7 End of stream
§ 5.1 Attributes
(2)
(3)
§ 5.2 Methods
(2)
§ 5.5.4 Prepare Append
§ 10.2 HTMLMediaElement's buffered
Permalink
exported
Referenced in:
§ 3. MediaSource interface
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 3.15.7 End of stream
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 3.15.7 End of stream
§ 5.5.3 Append Error
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 3.15.1 Attaching to a media element
(2)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
(2)
(3)
§ 3.3 activeSourceBuffers attribute
(2)
§ 3.5 duration attribute
§ 3.7 addSourceBuffer() method
(2)
(3)
(4)
§ 3.8 removeSourceBuffer() method
(2)
(3)
(4)
§ 3.9 endOfStream() method
§ 3.15.2 Detaching from a media element
(2)
§ 3.15.6 Duration change
(2)
§ 3.15.7 End of stream
§ 5.1 Attributes
(2)
(3)
(4)
(5)
§ 5.2 Methods
(2)
(3)
(4)
§ 5.5.4 Prepare Append
§ 5.5.7 Initialization Segment Received
§ 7. ManagedMediaSource interface
§ 7.3.2 Memory Cleanup
§ Attributes
(2)
(3)
Permalink
exported
IDL
Referenced in:
§ 2. Definitions
§ 3. MediaSource interface
§ 3.3 activeSourceBuffers attribute
§ 3.8 removeSourceBuffer() method
(2)
(3)
§ 3.15.2 Detaching from a media element
(2)
§ 3.15.3 Seeking
§ 3.15.4 SourceBuffer Monitoring
(2)
§ 3.15.5 Changes to selected/enabled track state
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
§ 5.5.7 Initialization Segment Received
(2)
§ 5.5.9 Coded Frame Removal
§ 9.3.2 Memory cleanup
§ 10.2 HTMLMediaElement's buffered
(2)
(3)
(4)
(5)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
(2)
(3)
§ 3.2 sourceBuffers attribute
(2)
§ 3.4 readyState attribute
§ 3.5 duration attribute
(2)
§ 3.7 addSourceBuffer() method
§ 3.9 endOfStream() method
§ 3.10 setLiveSeekableRange() method
§ 3.11 clearLiveSeekableRange() method
§ 3.13 Event Summary
(2)
(3)
§ 3.15.1 Attaching to a media element
(2)
(3)
§ 3.15.2 Detaching from a media element
§ 3.15.3 Seeking
(2)
§ 3.15.7 End of stream
§ 5.1 Attributes
(2)
(3)
(4)
(5)
§ 5.2 Methods
(2)
(3)
(4)
(5)
§ 5.5.4 Prepare Append
(2)
§ 10.2 HTMLMediaElement's buffered
(2)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 3.15.2 Detaching from a media element
§ 3.15.6 Duration change
(2)
(3)
(4)
§ 5.2 Methods
(2)
§ 5.5.7 Initialization Segment Received
§ 5.5.8 Coded Frame Processing
§ 5.5.9 Coded Frame Removal
§ 10.1 HTMLMediaElement's seekable
(2)
(3)
(4)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
Permalink
exported
IDL
Referenced in:
§ 2. Definitions
§ 3. MediaSource interface
§ 3.2 sourceBuffers attribute
§ 3.12 isTypeSupported() method
§ 5.1 Attributes
§ 5.5.1 Segment Parser Loop
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
(5)
§ 14. Byte Stream Formats
(2)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
(2)
§ 3.5 duration attribute
§ 3.15.7 End of stream
§ 9.2 Event Summary
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
(2)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
(2)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
§ 5.5.7 Initialization Segment Received
(2)
§ 14. Byte Stream Formats
Permalink
Referenced in:
§ 3.15.1 Attaching to a media element
(2)
§ 5.1 Attributes
(2)
§ 5.2 Methods
(2)
§ 5.5.4 Prepare Append
Permalink
Referenced in:
§ 3.15.7 End of stream
Permalink
Referenced in:
§ 3.15.2 Detaching from a media element
Permalink
Referenced in:
§ 4.1 Transfer
§ 10.2 HTMLMediaElement's buffered
Permalink
Referenced in:
§ 3.14 Cross-context communication model
§ 3.15.1 Attaching to a media element
(2)
§ 3.15.2 Detaching from a media element
§ 3.15.5 Changes to selected/enabled track state
§ 3.15.8 Mirror if necessary
§ 5.5.7 Initialization Segment Received
(2)
(3)
§ 10.1 HTMLMediaElement's seekable
§ 10.2 HTMLMediaElement's buffered
Permalink
Referenced in:
§ 3.14 Cross-context communication model
§ 3.15.1 Attaching to a media element
(2)
§ 3.15.2 Detaching from a media element
(2)
§ 3.15.5 Changes to selected/enabled track state
§ 5.5.4 Prepare Append
Permalink
Referenced in:
§ 3.14 Cross-context communication model
§ 3.15.1 Attaching to a media element
(2)
(3)
(4)
(5)
§ 3.15.2 Detaching from a media element
Permalink
Referenced in:
§ 3. MediaSource interface
§ 3.14 Cross-context communication model
§ 4. MediaSourceHandle interface
§ 4.1 Transfer
(2)
(3)
Permalink
Referenced in:
Not referenced in this document.
Permalink
Referenced in:
Not referenced in this document.
Permalink
Referenced in:
§ 7.3.1 ManagedSourceBuffer Monitoring
(2)
Permalink
Referenced in:
§ 3.15.4 SourceBuffer Monitoring
(2)
§ 5.5.8 Coded Frame Processing
Permalink
Referenced in:
Not referenced in this document.
Permalink
Referenced in:
§ 3.5 duration attribute
(2)
§ 3.15.7 End of stream
§ 5.5.7 Initialization Segment Received
(2)
§ 5.5.8 Coded Frame Processing
Permalink
Referenced in:
§ 3.9 endOfStream() method
§ 5.5.3 Append Error
Permalink
Referenced in:
§ 3.8 removeSourceBuffer() method
(2)
(3)
§ 3.15.6 Duration change
§ 3.15.7 End of stream
(2)
§ 5.5.7 Initialization Segment Received
(2)
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
(2)
§ 3.1 handle attribute
(2)
§ 3.14 Cross-context communication model
§ 3.15.1 Attaching to a media element
(2)
(3)
(4)
(5)
(6)
(7)
§ 4. MediaSourceHandle interface
(2)
(3)
(4)
(5)
(6)
§ 4.1 Transfer
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 10. HTMLMediaElement Extensions
§ 10.3 HTMLMediaElement's srcObject
(2)
(3)
(4)
Permalink
Referenced in:
§ 4.1 Transfer
§ 10.3 HTMLMediaElement's srcObject
Permalink
Referenced in:
§ 3.15.1 Attaching to a media element
Permalink
exported
IDL
Referenced in:
§ 1. Introduction
(2)
(3)
§ 2. Definitions
(2)
(3)
(4)
(5)
(6)
§ 3. MediaSource interface
(2)
(3)
(4)
(5)
(6)
§ 3.2 sourceBuffers attribute
§ 3.3 activeSourceBuffers attribute
§ 3.5 duration attribute
§ 3.7 addSourceBuffer() method
(2)
(3)
§ 3.8 removeSourceBuffer() method
§ 3.9 endOfStream() method
§ 3.12 isTypeSupported() method
(2)
(3)
§ 3.15.2 Detaching from a media element
(2)
§ 3.15.3 Seeking
§ 3.15.4 SourceBuffer Monitoring
§ 3.15.5 Changes to selected/enabled track state
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
§ 3.15.6 Duration change
(2)
§ 3.15.7 End of stream
§ 5. SourceBuffer interface
§ 5.1 Attributes
(2)
(3)
(4)
§ 5.2 Methods
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
§ 5.3 Track Buffers
(2)
(3)
§ 5.4 Event Summary
(2)
(3)
(4)
(5)
(6)
§ 5.5.1 Segment Parser Loop
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 5.5.3 Append Error
(2)
§ 5.5.4 Prepare Append
(2)
§ 5.5.5 Buffer Append
(2)
§ 5.5.6 Range Removal
(2)
(3)
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
§ 5.5.9 Coded Frame Removal
§ 5.5.10 Coded Frame Eviction
(2)
§ 6. SourceBufferList interface
(2)
§ 6.1 Attributes
§ 6.2 Methods
§ 6.3 Event Summary
(2)
§ 9. ManagedSourceBuffer interface
§ 10.2 HTMLMediaElement's buffered
(2)
(3)
(4)
§ 11. AudioTrack extensions
§ Attributes
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
§ 12. VideoTrack extensions
§ 13. TextTrack extensions
§ 14. Byte Stream Formats
(2)
(3)
Permalink
exported
Referenced in:
§ 5. SourceBuffer interface
§ 5.1 Attributes
Permalink
exported
IDL
Referenced in:
§ 3.7 addSourceBuffer() method
§ 5. SourceBuffer interface
§ 5.1 Attributes
§ 5.5.8 Coded Frame Processing
§ 5.5.9 Coded Frame Removal
Permalink
exported
IDL
Referenced in:
§ 3.7 addSourceBuffer() method
§ 5. SourceBuffer interface
(2)
§ 5.1 Attributes
(2)
§ 5.2 Methods
§ 5.5.1 Segment Parser Loop
(2)
§ 5.5.2 Reset Parser State
§ 5.5.8 Coded Frame Processing
(2)
§ 5.5.9 Coded Frame Removal
Permalink
exported
IDL
Referenced in:
§ 3.7 addSourceBuffer() method
(2)
§ 5. SourceBuffer interface
§ 5.1 Attributes
§ 5.2 Methods
(2)
§ 5.3 Track Buffers
§ 5.5.1 Segment Parser Loop
(2)
§ 5.5.2 Reset Parser State
§ 5.5.8 Coded Frame Processing
(2)
(3)
§ 5.5.9 Coded Frame Removal
(2)
Permalink
exported
IDL
Referenced in:
§ 3.5 duration attribute
§ 3.8 removeSourceBuffer() method
(2)
§ 3.9 endOfStream() method
§ 5. SourceBuffer interface
§ 5.1 Attributes
(2)
(3)
(4)
§ 5.2 Methods
(2)
(3)
(4)
(5)
§ 5.4 Event Summary
(2)
(3)
(4)
§ 5.5.3 Append Error
§ 5.5.4 Prepare Append
§ 5.5.5 Buffer Append
§ 5.5.6 Range Removal
(2)
Permalink
exported
IDL
Referenced in:
§ 3.15.3 Seeking
(2)
§ 5. SourceBuffer interface
§ 5.5.10 Coded Frame Eviction
§ 9.3.1 Buffered Change
(2)
(3)
§ 10.2 HTMLMediaElement's buffered
(2)
(3)
§ 14. Byte Stream Formats
Permalink
exported
IDL
Referenced in:
§ 5. SourceBuffer interface
(2)
(3)
§ 5.1 Attributes
§ 5.5.1 Segment Parser Loop
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
Permalink
exported
IDL
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 5. SourceBuffer interface
§ 5.5.7 Initialization Segment Received
(2)
(3)
Permalink
exported
IDL
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 5. SourceBuffer interface
§ 5.5.7 Initialization Segment Received
(2)
(3)
Permalink
exported
IDL
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 5. SourceBuffer interface
§ 5.5.7 Initialization Segment Received
(2)
Permalink
exported
IDL
Referenced in:
§ 2. Definitions
§ 5. SourceBuffer interface
§ 5.1 Attributes
§ 5.2 Methods
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
Permalink
exported
IDL
Referenced in:
§ 2. Definitions
§ 5. SourceBuffer interface
§ 5.1 Attributes
§ 5.2 Methods
§ 5.5.8 Coded Frame Processing
(2)
(3)
Permalink
exported
IDL
Referenced in:
§ 5. SourceBuffer interface
Permalink
exported
IDL
Referenced in:
§ 5. SourceBuffer interface
Permalink
exported
IDL
Referenced in:
§ 5. SourceBuffer interface
Permalink
exported
IDL
Referenced in:
§ 5. SourceBuffer interface
Permalink
exported
IDL
Referenced in:
§ 5. SourceBuffer interface
Permalink
exported
IDL
Referenced in:
§ 3.5 duration attribute
§ 3.15.1 Attaching to a media element
§ 3.15.3 Seeking
§ 5. SourceBuffer interface
§ 5.1 Attributes
§ 5.2 Methods
§ 5.5.1 Segment Parser Loop
(2)
§ 5.5.5 Buffer Append
§ 9.2 Event Summary
§ 9.3.1 Buffered Change
§ 14. Byte Stream Formats
Permalink
exported
IDL
Referenced in:
§ 2. Definitions
§ 5. SourceBuffer interface
§ 5.4 Event Summary
Permalink
exported
IDL
Referenced in:
§ Status of This Document
§ 2. Definitions
§ 5. SourceBuffer interface
§ 5.1 Attributes
§ 5.5.1 Segment Parser Loop
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 14. Byte Stream Formats
(2)
Permalink
exported
IDL
Referenced in:
§ 3.15.6 Duration change
§ 5. SourceBuffer interface
§ 5.1 Attributes
§ 5.5.4 Prepare Append
§ 9.2 Event Summary
§ 9.3.1 Buffered Change
Permalink
Referenced in:
§ 2. Definitions
§ 3.15.6 Duration change
§ 3.15.7 End of stream
§ 5.1 Attributes
(2)
(3)
(4)
§ 5.3 Track Buffers
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 5.5.1 Segment Parser Loop
§ 5.5.2 Reset Parser State
(2)
(3)
(4)
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
(5)
(6)
(7)
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
(6)
§ 5.5.9 Coded Frame Removal
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 5.5.11 Audio Splice Frame
§ 5.5.13 Text Splice Frame
Permalink
Referenced in:
§ 5.5.2 Reset Parser State
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
(6)
(7)
§ 5.5.9 Coded Frame Removal
(2)
Permalink
Referenced in:
§ 5.5.2 Reset Parser State
§ 5.5.8 Coded Frame Processing
(2)
(3)
§ 5.5.9 Coded Frame Removal
Permalink
Referenced in:
§ 5.5.2 Reset Parser State
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
(6)
(7)
§ 5.5.9 Coded Frame Removal
Permalink
Referenced in:
§ 5.5.2 Reset Parser State
§ 5.5.7 Initialization Segment Received
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
(6)
§ 5.5.9 Coded Frame Removal
Permalink
Referenced in:
§ 3.15.6 Duration change
§ 3.15.7 End of stream
§ 5.1 Attributes
(2)
§ 5.3 Track Buffers
(2)
Permalink
Referenced in:
§ 5.1 Attributes
§ 5.2 Methods
§ 5.5.6 Range Removal
§ 8.1 Attributes
Permalink
Referenced in:
§ 5.1 Attributes
§ 5.5.5 Buffer Append
§ 5.5.6 Range Removal
Permalink
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 5.1 Attributes
§ 5.2 Methods
§ 5.5.3 Append Error
§ 5.5.5 Buffer Append
§ 5.5.6 Range Removal
§ 8.1 Attributes
Permalink
Referenced in:
§ 5.1 Attributes
§ 5.5.3 Append Error
§ 5.5.4 Prepare Append
(2)
Permalink
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 5.1 Attributes
§ 5.2 Methods
Permalink
Referenced in:
§ 5.5.5 Buffer Append
(2)
§ 5.5.7 Initialization Segment Received
§ 5.5.8 Coded Frame Processing
§ 14. Byte Stream Formats
Permalink
Referenced in:
§ 5.1 Attributes
(2)
§ 5.5.1 Segment Parser Loop
(2)
(3)
(4)
(5)
(6)
(7)
§ 5.5.2 Reset Parser State
(2)
Permalink
Referenced in:
§ 5.5.1 Segment Parser Loop
(2)
(3)
(4)
§ 5.5.2 Reset Parser State
Permalink
Referenced in:
§ 5.5.1 Segment Parser Loop
(2)
Permalink
Referenced in:
§ 5.1 Attributes
(2)
§ 5.5.1 Segment Parser Loop
(2)
§ 5.5.2 Reset Parser State
Permalink
Referenced in:
§ 5.2 Methods
§ 5.5.1 Segment Parser Loop
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 5.5.2 Reset Parser State
(2)
§ 5.5.10 Coded Frame Eviction
Permalink
Referenced in:
§ 5.5.1 Segment Parser Loop
§ 5.5.4 Prepare Append
§ 5.5.9 Coded Frame Removal
(2)
§ 5.5.10 Coded Frame Eviction
(2)
Permalink
Referenced in:
§ 5.1 Attributes
(2)
§ 5.5.2 Reset Parser State
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
§ 5.5.9 Coded Frame Removal
Permalink
Referenced in:
§ 5.1 Attributes
§ 5.5.1 Segment Parser Loop
§ 5.5.2 Reset Parser State
§ 5.5.8 Coded Frame Processing
(2)
(3)
(4)
(5)
(6)
§ 5.5.9 Coded Frame Removal
(2)
Permalink
exported
Referenced in:
§ 3.7 addSourceBuffer() method
(2)
§ 5.1 Attributes
§ 5.2 Methods
(2)
§ 5.5.8 Coded Frame Processing
(2)
Permalink
Referenced in:
§ 5.2 Methods
(2)
§ 5.5.3 Append Error
Permalink
exported
Referenced in:
§ 2. Definitions
(2)
§ 5.5.1 Segment Parser Loop
(2)
§ 5.5.7 Initialization Segment Received
(2)
(3)
§ 14. Byte Stream Formats
(2)
Permalink
Referenced in:
§ 5.2 Methods
Permalink
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 5.2 Methods
(2)
Permalink
Referenced in:
§ 5.2 Methods
(2)
Permalink
Referenced in:
§ 5.5.1 Segment Parser Loop
§ 14. Byte Stream Formats
Permalink
Referenced in:
§ 5.5.1 Segment Parser Loop
§ 5.5.7 Initialization Segment Received
(2)
(3)
(4)
Permalink
Referenced in:
§ 5.2 Methods
§ 5.5.1 Segment Parser Loop
§ 5.5.7 Initialization Segment Received
Permalink
exported
Referenced in:
§ 2. Definitions
§ 3.15.3 Seeking
§ 5.3 Track Buffers
(2)
(3)
§ 5.5.1 Segment Parser Loop
(2)
(3)
(4)
§ 5.5.2 Reset Parser State
§ 5.5.11 Audio Splice Frame
§ 5.5.13 Text Splice Frame
§ 8.1 Attributes
Permalink
Referenced in:
§ 3.15.6 Duration change
§ 5.3 Track Buffers
§ 5.5.6 Range Removal
§ 5.5.10 Coded Frame Eviction
§ 8.1 Attributes
§ 9.3.2 Memory cleanup
(2)
Permalink
Referenced in:
§ 5.5.4 Prepare Append
§ 8.1 Attributes
Permalink
Referenced in:
§ 5.5.8 Coded Frame Processing
§ 5.5.12 Audio Splice Rendering
Permalink
Referenced in:
§ 5.5.11 Audio Splice Frame
Permalink
Referenced in:
§ 5.5.8 Coded Frame Processing
Permalink
exported
IDL
Referenced in:
§ 3. MediaSource interface
(2)
§ 3.8 removeSourceBuffer() method
(2)
§ 6. SourceBufferList interface
(2)
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
IDL
Referenced in:
§ 6. SourceBufferList interface
§ 6.2 Methods
Permalink
exported
IDL
Referenced in:
§ 6. SourceBufferList interface
Permalink
exported
IDL
Referenced in:
§ 6. SourceBufferList interface
Permalink
Referenced in:
Not referenced in this document.
Permalink
Referenced in:
§ 3.7 addSourceBuffer() method
§ 3.15.5 Changes to selected/enabled track state
(2)
(3)
§ 5.5.7 Initialization Segment Received
§ 6.1 Attributes
Permalink
Referenced in:
§ 3.8 removeSourceBuffer() method
(2)
§ 3.15.2 Detaching from a media element
(2)
§ 3.15.5 Changes to selected/enabled track state
(2)
(3)
§ 6.1 Attributes
Permalink
exported
IDL
Referenced in:
§ Status of This Document
§ 3.7 addSourceBuffer() method
§ 3.15.2 Detaching from a media element
§ 7. ManagedMediaSource interface
(2)
§ 7.2 Event Summary
(2)
§ 7.3.1 ManagedSourceBuffer Monitoring
(2)
§ 9.3.2 Memory cleanup
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
IDL
Referenced in:
§ 3.15.2 Detaching from a media element
§ 7. ManagedMediaSource interface
§ 7.2 Event Summary
(2)
§ 7.3.1 ManagedSourceBuffer Monitoring
(2)
(3)
Permalink
Referenced in:
§ 7.3.1 ManagedSourceBuffer Monitoring
Permalink
Referenced in:
§ 7.3.1 ManagedSourceBuffer Monitoring
Permalink
Referenced in:
§ 7.3.1 ManagedSourceBuffer Monitoring
Permalink
Referenced in:
§ 7.3.1 ManagedSourceBuffer Monitoring
Permalink
Referenced in:
§ 7. ManagedMediaSource interface
Permalink
exported
IDL
Referenced in:
§ Status of This Document
§ 8. BufferedChangeEvent interface
§ 9.2 Event Summary
§ 9.3.1 Buffered Change
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
Referenced in:
§ 8. BufferedChangeEvent interface
§ 9.3.1 Buffered Change
Permalink
exported
Referenced in:
§ 9.3.1 Buffered Change
Permalink
exported
Referenced in:
§ 9.3.1 Buffered Change
Permalink
exported
IDL
Referenced in:
§ 8. BufferedChangeEvent interface
Permalink
exported
IDL
Referenced in:
§ 8. BufferedChangeEvent interface
Permalink
exported
IDL
Referenced in:
§ Status of This Document
§ 3.7 addSourceBuffer() method
§ 7. ManagedMediaSource interface
§ 9. ManagedSourceBuffer interface
§ 9.2 Event Summary
§ 9.3.1 Buffered Change
Permalink
exported
IDL
Referenced in:
§ 9. ManagedSourceBuffer interface
Permalink
Referenced in:
§ 7. ManagedMediaSource interface
§ 9.1 Attributes
§ 9.3.1 Buffered Change
§ 9.3.2 Memory cleanup
Permalink
Referenced in:
§ 7.3.2 Memory Cleanup
§ 8.1 Attributes
§ 9.2 Event Summary
§ 9.3.1 Buffered Change
Permalink
exported
IDL
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 11. AudioTrack extensions
Permalink
exported
IDL
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 12. VideoTrack extensions
Permalink
exported
IDL
Referenced in:
§ 3.8 removeSourceBuffer() method
§ 13. TextTrack extensions
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
Referenced in:
§ 2. Definitions
(2)
(3)
(4)
§ 5.5.1 Segment Parser Loop
§ 5.5.8 Coded Frame Processing
§ 14. Byte Stream Formats