This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 22035 - The "removetrack" and "addtrack" events are out of sync with their HTML5 media definitions
Summary: The "removetrack" and "addtrack" events are out of sync with their HTML5 medi...
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: Media Source Extensions (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Aaron Colwell
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard: PRE_LAST_CALL
Keywords: a11y, a11ytf, media
Depends on:
Blocks:
 
Reported: 2013-05-14 23:17 UTC by Jerry Smith
Modified: 2013-06-01 21:38 UTC (History)
5 users (show)

See Also:


Attachments

Description Jerry Smith 2013-05-14 23:17:23 UTC
The "removetrack" and "addtrack" events are out of sync with their HTML5 media definitions.  In a number of places in the MSE spec, a track is added or removed and a simple event fired.  For example, step 5.1.5 under 3.5.6 “Initialization Segment Received” currently says:

“Queue a task to fire a simple event named addtrack at the AudioTrackList object referenced by the audioTracks attribute on this SourceBuffer object.”

The HTML5 media specification has this language for addition of AudioTrack or VideoTracks under 4.8.10.5 “Loading the media resource”:

“Fire a trusted event with the name addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, with the track attribute initialized to the new AudioTrack object, at this AudioTrackList object.”

Similar trusted event language should be used in MSE.  This affects:

AddTrack in 3.5.6 Initialization Segment Received (steps 5.1.5, 5.1.7, 5.2.5, 5.2.7, 5.3.5 & 5.3.7)
RemoveTrack in 2.2 Methods removeSourceBuffer (steps 5.1.4, 5.1.6, 7.1.4, 7.1.6, 9.1.4 & 9.1.6)
Comment 1 Jerry Smith 2013-05-22 23:25:52 UTC
Paragraph numbers have changed slightly since this was opened.  Here are the specific new proposed wordings for each removetrack and addtrack events:

Detail new versions:

In section 2.2 Methods under removeSourceBuffer:

5.3.4  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the AudioTrackList object referenced by the audioTracks attribute on this SourceBuffer object.

5.3.6  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the AudioTrackList object referenced by the audioTracks attribute on this HTMLMediaElement object.

7.3.4  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the VideoTrackList object referenced by the videoTracks attribute on this SourceBuffer object.

7.3.6  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the VideoTrackList object referenced by the videoTracks attribute on this HTMLMediaElement object.
.

9.3.4  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the TextTrackList object referenced by the textTracks attribute on this SourceBuffer object.

9.3.6  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the TextTrackList object referenced by the textTracks attribute on this HTMLMediaElement object.

In section 3.5.6 Initialization Segment Received

5.1.5  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the AudioTrackList object referenced by the audioTracks attribute on this SourceBuffer object.

5.1.7  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the AudioTrackList object referenced by the audioTracks attribute on this HTMLMediaElement object.

5.2.5  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the VideoTrackList object referenced by the videoTracks attribute on this SourceBuffer object.

5.2.7  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the VideoTrackList object referenced by the videoTracks attribute on this HTMLMediaElement object.

5.3.4  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the TextTrackList object referenced by the textTracks attribute on this SourceBuffer object.

5.3.6  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the TextTrackList object referenced by the textTracks attribute on this HTMLMediaElement object.
Comment 2 Aaron Colwell 2013-05-23 18:30:56 UTC
Marking all pre-Last Call bugs
Comment 3 Jerry Smith 2013-05-24 20:19:38 UTC
Slightly streamlined wording:

2.2 Methods – removeSourceBuffer
5.3.4  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the SourceBuffer audioTracks list.
 
5.3.6  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the HTMLMediaElement audioTracks list.
 
7.3.4  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the SourceBuffer videoTracks list.
 
7.3.6  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the HTMLMediaElement videoTracks list.
 
9.3.4  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the SourceBuffer textTracks list.
 
9.3.6  Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the HTMLMediaElement textTracks list.
 
3.5.6 Initialization Segment Received
5.1.5  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the AudioTrackList object referenced by the audioTracks attribute on this SourceBuffer object.
 
5.1.7  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the AudioTrackList object referenced by the audioTracks attribute on the HTMLMediaElement.
 
5.2.5  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the VideoTrackList object referenced by the videoTracks attribute on this SourceBuffer object.
 
5.2.7  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the VideoTrackList object referenced by the videoTracks attribute on the HTMLMediaElement.
 
5.3.4  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the TextTrackList object referenced by the textTracks attribute on this SourceBuffer object.
 
5.3.6  Queue a task to fire a trusted event named addtrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the TextTrackList object referenced by the textTracks attribute on the HTMLMediaElement.
Comment 4 Aaron Colwell 2013-06-01 21:38:54 UTC
Changes committed
https://dvcs.w3.org/hg/html-media/rev/1ac9c2205a7b