diff --git a/index.html b/index.html index 6158936..8b5e4be 100644 --- a/index.html +++ b/index.html @@ -908,15 +908,15 @@ "publisher": "W3C" } }, - "publishISODate": "2020-01-27T00:00:00.000Z", - "generatedSubtitle": "Editor's Draft 27 January 2020" + "publishISODate": "2020-01-28T00:00:00.000Z", + "generatedSubtitle": "Editor's Draft 28 January 2020" } -
HTMLMediaElement
[HTML51] to allow
+ 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.
@@ -1118,10 +1118,10 @@ A MediaSource object URL is a unique Blob URI [FILE-API] created by createObjectURL()
. It is used to attach a MediaSource
object to an HTMLMediaElement.
A MediaSource object URL is a unique Blob URI [FILE-API] created by createObjectURL()
. It is used to attach a MediaSource
object to an HTMLMediaElement.
These URLs are the same as a Blob URI, except that anything in the definition of that feature that refers to File and Blob objects is hereby extended to also apply to MediaSource
objects.
The origin of the MediaSource object URL is the relevant settings object of this
during the call to createObjectURL()
.
For example, the origin of the MediaSource object URL affects the way that the media element is consumed by canvas.
For example, the origin of the MediaSource object URL affects the way that the media element is consumed by canvas.
JavaScript applications SHOULD use this status code to terminate playback with a decode error. For example, if a parsing error occurs while processing out-of-band media data.
WebIDL[Constructor] -interfaceMediaSource
: EventTarget { +WebIDL[Exposed=Window] +interfaceMediaSource
: EventTarget { +constructor
(); readonly attributeSourceBufferList
sourceBuffers
; readonly attributeSourceBufferList
activeSourceBuffers
; readonly attributeReadyState
readyState
; attribute unrestricted doubleduration
; - attribute EventHandleronsourceopen
; - attribute EventHandleronsourceended
; - attribute EventHandleronsourceclose
; + attribute EventHandleronsourceopen
; + attribute EventHandleronsourceended
; + attribute EventHandleronsourceclose
;SourceBuffer
addSourceBuffer
(DOMString type); voidremoveSourceBuffer
(SourceBuffer
sourceBuffer); voidendOfStream
(optionalEndOfStreamError
error); @@ -1325,14 +1326,14 @@2.1 AttributessourceBuffer attribute on the
AudioTrack
object to null.Remove the AudioTrack
object from the HTMLMediaElement audioTracks list.Note- This should trigger
AudioTrackList
[HTML51] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theAudioTrack
object, at the HTMLMediaElement audioTracks list. - If theenabled
attribute on theAudioTrack
object was true at the beginning of this removal step, then this should also triggerAudioTrackList
[HTML51] logic to queue a task to fire a simple event namedchange
at the HTMLMediaElement audioTracks list + This should triggerAudioTrackList
[HTML] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theAudioTrack
object, at the HTMLMediaElement audioTracks list. + If theenabled
attribute on theAudioTrack
object was true at the beginning of this removal step, then this should also triggerAudioTrackList
[HTML] logic to queue a task to fire a simple event namedchange
at the HTMLMediaElement audioTracks listRemove the @@ -1349,14 +1350,14 @@AudioTrack
object from the SourceBuffer audioTracks list.Note- This should trigger
AudioTrackList
[HTML51] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theAudioTrack
object, at the SourceBuffer audioTracks list. - If theenabled
attribute on theAudioTrack
object was true at the beginning of this removal step, then this should also triggerAudioTrackList
[HTML51] logic to queue a task to fire a simple event namedchange
at the SourceBuffer audioTracks list + This should triggerAudioTrackList
[HTML] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theAudioTrack
object, at the SourceBuffer audioTracks list. + If theenabled
attribute on theAudioTrack
object was true at the beginning of this removal step, then this should also triggerAudioTrackList
[HTML] logic to queue a task to fire a simple event namedchange
at the SourceBuffer audioTracks list2.1 AttributessourceBuffer attribute on the
VideoTrack
object to null.Remove the VideoTrack
object from the HTMLMediaElement videoTracks list.Note- This should trigger
VideoTrackList
[HTML51] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theVideoTrack
object, at the HTMLMediaElement videoTracks list. - If theselected
attribute on theVideoTrack
object was true at the beginning of this removal step, then this should also triggerVideoTrackList
[HTML51] logic to queue a task to fire a simple event namedchange
at the HTMLMediaElement videoTracks list + This should triggerVideoTrackList
[HTML] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theVideoTrack
object, at the HTMLMediaElement videoTracks list. + If theselected
attribute on theVideoTrack
object was true at the beginning of this removal step, then this should also triggerVideoTrackList
[HTML] logic to queue a task to fire a simple event namedchange
at the HTMLMediaElement videoTracks listRemove the @@ -1374,14 +1375,14 @@VideoTrack
object from the SourceBuffer videoTracks list.Note- This should trigger
VideoTrackList
[HTML51] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theVideoTrack
object, at the SourceBuffer videoTracks list. - If theselected
attribute on theVideoTrack
object was true at the beginning of this removal step, then this should also triggerVideoTrackList
[HTML51] logic to queue a task to fire a simple event namedchange
at the SourceBuffer videoTracks list + This should triggerVideoTrackList
[HTML] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theVideoTrack
object, at the SourceBuffer videoTracks list. + If theselected
attribute on theVideoTrack
object was true at the beginning of this removal step, then this should also triggerVideoTrackList
[HTML] logic to queue a task to fire a simple event namedchange
at the SourceBuffer videoTracks list2.1 AttributessourceBuffer attribute on the
TextTrack
object to null.Remove the TextTrack
object from the HTMLMediaElement textTracks list.Note- This should trigger
TextTrackList
[HTML51] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theTextTrack
object, at the HTMLMediaElement textTracks list. - If themode
attribute on theTextTrack
object was"showing"
or"hidden"
at the beginning of this removal step, then this should also triggerTextTrackList
[HTML51] logic to queue a task to fire a simple event namedchange
at the HTMLMediaElement textTracks list. + This should triggerTextTrackList
[HTML] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theTextTrack
object, at the HTMLMediaElement textTracks list. + If themode
attribute on theTextTrack
object was"showing"
or"hidden"
at the beginning of this removal step, then this should also triggerTextTrackList
[HTML] logic to queue a task to fire a simple event namedchange
at the HTMLMediaElement textTracks list.Remove the @@ -1503,7 +1504,7 @@TextTrack
object from the SourceBuffer textTracks list.Note- This should trigger
TextTrackList
[HTML51] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theTextTrack
object, at the SourceBuffer textTracks list. - If themode
attribute on theTextTrack
object was"showing"
or"hidden"
at the beginning of this removal step, then this should also triggerTextTrackList
[HTML51] logic to queue a task to fire a simple event namedchange
at the SourceBuffer textTracks list. + This should triggerTextTrackList
[HTML] logic to queue a task to fire a trusted event namedremovetrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to theTextTrack
object, at the SourceBuffer textTracks list. + If themode
attribute on theTextTrack
object was"showing"
or"hidden"
at the beginning of this removal step, then this should also triggerTextTrackList
[HTML] logic to queue a task to fire a simple event namedchange
at the SourceBuffer textTracks list.2.4.1 Atta a media provider object that is a MediaSource object or a URL record whose object is a MediaSource object, then let mode be local, skip the first step in the resource fetch algorithm (which may otherwise set mode to remote) and add the steps and clarifications below to the "Otherwise (mode is local)" section of the resource fetch algorithm. -
+NoteThe resource fetch algorithm's first step is expected to eventually align with selecting local mode for URL records whose objects are media provider objects. The intent is that if the HTMLMediaElement's
src
attribute or selected child<source>
'ssrc
attribute is ablob:
URL matching a MediaSource object URL when the respectivesrc
attribute was last changed, then that MediaSource object is used as the media provider object and current media resource in the local mode logic in the resource fetch algorithm. This also means that the remote mode logic that includes observance of any preload attribute is skipped when a MediaSource object is attached. Even with that eventual change to [HTML51], the execution of the following steps at the beginning of the local mode logic is still required when the current media resource is a MediaSource object.NoteThe resource fetch algorithm's first step is expected to eventually align with selecting local mode for URL records whose objects are media provider objects. The intent is that if the HTMLMediaElement's
src
attribute or selected child<source>
'ssrc
attribute is ablob:
URL matching a MediaSource object URL when the respectivesrc
attribute was last changed, then that MediaSource object is used as the media provider object and current media resource in the local mode logic in the resource fetch algorithm. This also means that the remote mode logic that includes observance of any preload attribute is skipped when a MediaSource object is attached. Even with that eventual change to [HTML], the execution of the following steps at the beginning of the local mode logic is still required when the current media resource is a MediaSource object.NoteRelative to the action which triggered the media element's resource selection algorithm, these steps are asynchronous. The resource fetch algorithm is run after the task that invoked the resource selection algorithm is allowed to continue and a stable state is reached. Implementations may delay the steps in the "Otherwise" clause, below, until the MediaSource object is ready for use.
-
- If
@@ -1524,7 +1525,7 @@readyState
is NOT set to"closed"
2.4.1 Atta
+NoteAn attached MediaSource does not use the remote mode steps in the resource fetch algorithm, so the media element will not fire "suspend" events. Though future versions of this specification will likely remove "progress" and "stalled" events from a media element with an attached MediaSource, user agents conforming to this version of the specification may still fire these two events as these [HTML51] references changed after implementations of this specification stabilized.
NoteAn attached MediaSource does not use the remote mode steps in the resource fetch algorithm, so the media element will not fire "suspend" events. Though future versions of this specification will likely remove "progress" and "stalled" events from a media element with an attached MediaSource, user agents conforming to this version of the specification may still fire these two events as these [HTML] references changed after implementations of this specification stabilized.
@@ -1543,7 +1544,7 @@ 2.4.2 De
Queue a task to fire a simple event named -sourceclose
at theMediaSource
.+NoteGoing forward, this algorithm is intended to be externally called and run in any case where the attached
MediaSource
, if any, must be detached from the media element. It MAY be called on HTMLMediaElement [HTML51] operations like load() and resource fetch algorithm failures in addition to, or in place of, when the media element transitions to NETWORK_EMPTY. Resource fetch algorithm failures are those which abort either the resource fetch algorithm or the resource selection algorithm, with the exception that the "Final step" [HTML51] is not considered a failure that triggers detachment.NoteGoing forward, this algorithm is intended to be externally called and run in any case where the attached
MediaSource
, if any, must be detached from the media element. It MAY be called on HTMLMediaElement [HTML] operations like load() and resource fetch algorithm failures in addition to, or in place of, when the media element transitions to NETWORK_EMPTY. Resource fetch algorithm failures are those which abort either the resource fetch algorithm or the resource selection algorithm, with the exception that the "Final step" [HTML] is not considered a failure that triggers detachment.@@ -1560,7 +1561,7 @@ @@ -2671,15 +2673,15 @@2.4.3 SeekingHTMLMediaElement.readyState attribute is greater than
HAVE_METADATA
, then set theHTMLMediaElement.readyState
attribute toHAVE_METADATA
. -+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.The media element waits until an appendBuffer()
call causes the coded frame processing algorithm to set theHTMLMediaElement.readyState
attribute to a value greater thanHAVE_METADATA
. @@ -1610,7 +1611,7 @@2.4.4 SourceBuf
- Set the
+HTMLMediaElement.readyState
attribute toHAVE_METADATA
. -NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.Abort these steps. @@ -1618,7 +1619,7 @@2.4.4 SourceBuf
@@ -1627,7 +1628,7 @@
- Set the
+HTMLMediaElement.readyState
attribute toHAVE_ENOUGH_DATA
. -NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.- Playback may resume at this point if it was previously suspended by a transition to
HAVE_CURRENT_DATA
.- Abort these steps.
2.4.4 SourceBuf
@@ -2449,12 +2451,12 @@
- Set the
HTMLMediaElement.readyState
attribute toHAVE_FUTURE_DATA
. -+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.- Playback may resume at this point if it was previously suspended by a transition to
HAVE_CURRENT_DATA
.- Abort these steps.
@@ -1637,7 +1638,7 @@2.4.4 SourceBuf
@@ -2399,12 +2401,12 @@
- Set the
HTMLMediaElement.readyState
attribute toHAVE_CURRENT_DATA
. -+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.- Playback is suspended at this point since the media element doesn't have enough data to advance the media timeline.
- Abort these steps.
@@ -1804,21 +1805,22 @@3. SourceBuffer Object< -
WebIDLinterfaceSourceBuffer
: EventTarget { +WebIDL[Exposed=Window] +interfaceSourceBuffer
: EventTarget { attributeAppendMode
mode
; readonly attribute booleanupdating
; - readonly attribute TimeRangesbuffered
; + readonly attribute TimeRangesbuffered
; attribute doubletimestampOffset
; - readonly attribute AudioTrackListaudioTracks
; - readonly attribute VideoTrackListvideoTracks
; - readonly attribute TextTrackListtextTracks
; + readonly attribute AudioTrackListaudioTracks
; + readonly attribute VideoTrackListvideoTracks
; + readonly attribute TextTrackListtextTracks
; attribute doubleappendWindowStart
; attribute unrestricted doubleappendWindowEnd
; - attribute EventHandleronupdatestart
; - attribute EventHandleronupdate
; - attribute EventHandleronupdateend
; - attribute EventHandleronerror
; - attribute EventHandleronabort
; + attribute EventHandleronupdatestart
; + attribute EventHandleronupdate
; + attribute EventHandleronupdateend
; + attribute EventHandleronerror
; + attribute EventHandleronabort
; voidappendBuffer
(BufferSource data); voidabort
(); voidremove
(double start, unrestricted double end); @@ -2346,12 +2348,12 @@3.5.7 I
- Add new audio track to the
audioTracks
attribute on thisSourceBuffer
object.Note- This should trigger
AudioTrackList
[HTML51] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new audio track, at theAudioTrackList
object referenced by theaudioTracks
attribute on thisSourceBuffer
object. + This should triggerAudioTrackList
[HTML] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new audio track, at theAudioTrackList
object referenced by theaudioTracks
attribute on thisSourceBuffer
object.- Add new audio track to the
audioTracks
attribute on the HTMLMediaElement.Note- This should trigger
AudioTrackList
[HTML51] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new audio track, at theAudioTrackList
object referenced by theaudioTracks
attribute on the HTMLMediaElement. + This should triggerAudioTrackList
[HTML] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new audio track, at theAudioTrackList
object referenced by theaudioTracks
attribute on the HTMLMediaElement.3.5.7 I
- Add new video track to the
videoTracks
attribute on thisSourceBuffer
object.Note- This should trigger
VideoTrackList
[HTML51] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new video track, at theVideoTrackList
object referenced by thevideoTracks
attribute on thisSourceBuffer
object. + This should triggerVideoTrackList
[HTML] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new video track, at theVideoTrackList
object referenced by thevideoTracks
attribute on thisSourceBuffer
object.- Add new video track to the
videoTracks
attribute on the HTMLMediaElement.Note- This should trigger
VideoTrackList
[HTML51] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new video track, at theVideoTrackList
object referenced by thevideoTracks
attribute on the HTMLMediaElement. + This should triggerVideoTrackList
[HTML] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new video track, at theVideoTrackList
object referenced by thevideoTracks
attribute on the HTMLMediaElement.3.5.7 I
Add new text track to the textTracks
attribute on thisSourceBuffer
object.Note- This should trigger
TextTrackList
[HTML51] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new text track, at theTextTrackList
object referenced by thetextTracks
attribute on thisSourceBuffer
object. + This should triggerTextTrackList
[HTML] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new text track, at theTextTrackList
object referenced by thetextTracks
attribute on thisSourceBuffer
object.Add new text track to the @@ -2480,7 +2482,7 @@textTracks
attribute on the HTMLMediaElement.Note- This should trigger
TextTrackList
[HTML51] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new text track, at theTextTrackList
object referenced by thetextTracks
attribute on the HTMLMediaElement. + This should triggerTextTrackList
[HTML] logic to queue a task to fire a trusted event namedaddtrack
, that does not bubble and is not cancelable, and that uses theTrackEvent
interface, with thetrack
attribute initialized to new text track, at theTextTrackList
object referenced by thetextTracks
attribute on the HTMLMediaElement.3.5.7 I these steps.
Set the @@ -2488,7 +2490,7 @@HTMLMediaElement.readyState
attribute toHAVE_METADATA
.Note- Per
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement. This particular transition should trigger HTMLMediaElement logic to queue a task to fire a simple event namedloadedmetadata
at the media element. + PerHTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement. This particular transition should trigger HTMLMediaElement logic to queue a task to fire a simple event namedloadedmetadata
at the media element.3.5.7 I
If the active track flag equals true and the HTMLMediaElement.readyState
attribute is greater thanHAVE_CURRENT_DATA
, then set theHTMLMediaElement.readyState
attribute toHAVE_METADATA
. -+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.3.5.8 Coded Fram
If the
-HTMLMediaElement.readyState
attribute isHAVE_METADATA
and the new coded frames causeHTMLMediaElement.buffered
to have aTimeRange
for the current playback position, then set theHTMLMediaElement.readyState
attribute toHAVE_CURRENT_DATA
.+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.If the
-HTMLMediaElement.readyState
attribute isHAVE_CURRENT_DATA
and the new coded frames causeHTMLMediaElement.buffered
to have aTimeRange
that includes the current playback position and some time beyond the current playback position, then set theHTMLMediaElement.readyState
attribute toHAVE_FUTURE_DATA
.+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.If the
-HTMLMediaElement.readyState
attribute isHAVE_FUTURE_DATA
and the new coded frames causeHTMLMediaElement.buffered
to have aTimeRange
that includes the current playback position and enough data to ensure uninterrupted playback, then set theHTMLMediaElement.readyState
attribute toHAVE_ENOUGH_DATA
.+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.If the media segment contains data beyond the current @@ -2728,7 +2730,7 @@duration
, then run the duration change algorithm with new duration set to the maximum of the current duration and the group end timestamp.3.5.9 Cod
If this object is in
-activeSourceBuffers
, the current playback position is greater than or equal to start and less than the remove end timestamp, andHTMLMediaElement.readyState
is greater thanHAVE_METADATA
, then set theHTMLMediaElement.readyState
attribute toHAVE_METADATA
and stall playback.+NotePer
HTMLMediaElement ready states
[HTML51] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.NotePer
HTMLMediaElement ready states
[HTML] logic,HTMLMediaElement.readyState
changes may trigger events on the HTMLMediaElement.@@ -2890,10 +2892,11 @@NoteThis transition occurs because media data for the current position has been removed. Playback cannot progress until media for the current playback position is appended or the selected/enabled tracks change.
3.5.13 Tex
4. SourceBufferList Object
SourceBufferList is a simple container object for
-SourceBuffer
objects. It provides read-only array access and fires events when the list is modified.WebIDLinterfaceSourceBufferList
: EventTarget { +WebIDL[Exposed=Window] +interfaceSourceBufferList
: EventTarget { readonly attribute unsigned longlength
; - attribute EventHandleronaddsourcebuffer
; - attribute EventHandleronremovesourcebuffer
; + attribute EventHandleronaddsourcebuffer
; + attribute EventHandleronremovesourcebuffer
; getterSourceBuffer
(unsigned long index); };@@ -2972,7 +2975,7 @@ 5. URL Object Extensi
This section specifies extensions to the URL[FILE-API] object definition.
WebIDL[Exposed=Window] -partial interfaceURL
{ +partial interfaceURL
{ static DOMStringcreateObjectURL
(MediaSource
mediaSource); };5.1 Methods
createObjectURL
, staticCreates URLs for
@@ -3038,9 +3041,9 @@MediaSource
objects.6. HTMLMediaEle
7. AudioTrack Extensions
-This section specifies extensions to the HTML
+AudioTrack
definition.This section specifies extensions to the [HTML]
-definition.
AudioTrack
WebIDLpartial interfaceAudioTrack
{ +WebIDLpartial interfaceAudioTrack
{ readonly attributeSourceBuffer
?sourceBuffer
; };Attributes
sourceBuffer
of type SourceBuffer, readonly , nullableReturns the SourceBuffer that created this track. Returns null if this track was not created by a SourceBuffer or the SourceBuffer has been removed from the
@@ -3049,9 +3052,9 @@sourceBuffers
attribute of its parent media source.7. AudioTrack Extensi
8. VideoTrack Extensions
-This section specifies extensions to the HTML
+VideoTrack
definition.This section specifies extensions to the [HTML]
-definition.
VideoTrack
WebIDLpartial interfaceVideoTrack
{ +WebIDLpartial interfaceVideoTrack
{ readonly attributeSourceBuffer
?sourceBuffer
; };Attributes
sourceBuffer
of type SourceBuffer, readonly , nullableReturns the SourceBuffer that created this track. Returns null if this track was not created by a SourceBuffer or the SourceBuffer has been removed from the
@@ -3060,9 +3063,9 @@sourceBuffers
attribute of its parent media source.8. VideoTrack Extensi
9. TextTrack Extensions
-This section specifies extensions to the HTML
+TextTrack
definition.This section specifies extensions to the [HTML]
-definition.
TextTrack
WebIDLpartial interfaceTextTrack
{ +WebIDLpartial interfaceTextTrack
{ readonly attributeSourceBuffer
?sourceBuffer
; };Attributes
sourceBuffer
of type SourceBuffer, readonly , nullableReturns the SourceBuffer that created this track. Returns null if this track was not created by a SourceBuffer or the SourceBuffer has been removed from the
@@ -3274,7 +3277,7 @@sourceBuffers
attribute of its parent media source.A. VideoPlaybackQuality
B. References
B.1 Normative references
-
- [FILE-API]
- File API. Marijn Kruisselbrink; Arun Ranganathan. W3C. 11 September 2019. W3C Working Draft. URL: https://www.w3.org/TR/FileAPI/
- [HTML]
- HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
- [HTML51]
- HTML 5.1 2nd Edition. Steve Faulkner; Arron Eicholz; Travis Leithead; Alex Danilo. W3C. 3 October 2017. W3C Recommendation. URL: https://www.w3.org/TR/html51/
- [MSE-REGISTRY]
- Media Source Extensions™ Byte Stream Format Registry. Matthew Wolenetz; Jerry Smith; Aaron Colwell. W3C. URL: byte-stream-format-registry.html
- [RFC2119]
- Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
- [RFC8174]
- Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://tools.ietf.org/html/rfc8174
- [WEBIDL]
- Web IDL. Boris Zbarsky. W3C. 15 December 2016. W3C Editor's Draft. URL: https://heycam.github.io/webidl/
+- [dom]
- DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
- [FILE-API]
- File API. Marijn Kruisselbrink; Arun Ranganathan. W3C. 11 September 2019. W3C Working Draft. URL: https://www.w3.org/TR/FileAPI/
- [HTML]
- HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
- [MSE-REGISTRY]
- Media Source Extensions™ Byte Stream Format Registry. Matthew Wolenetz; Jerry Smith; Aaron Colwell. W3C. URL: byte-stream-format-registry.html
- [RFC2119]
- Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
- [RFC8174]
- Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://tools.ietf.org/html/rfc8174
- [url]
- URL Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://url.spec.whatwg.org/
- [WEBIDL]
- Web IDL. Boris Zbarsky. W3C. 15 December 2016. W3C Editor's Draft. URL: https://heycam.github.io/webidl/
B.2 Informative references