[Bug 22785] New: there should be a way to schedule audio/video track selection changes in HTMLMediaElements

https://www.w3.org/Bugs/Public/show_bug.cgi?id=22785

            Bug ID: 22785
           Summary: there should be a way to schedule audio/video track
                    selection changes in HTMLMediaElements
    Classification: Unclassified
           Product: HTML WG
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: HTML5 spec
          Assignee: dave.null@w3.org
          Reporter: mthornbu@adobe.com
        QA Contact: public-html-bugzilla@w3.org
                CC: mike@w3.org, public-html-admin@w3.org,
                    public-html-wg-issue-tracking@w3.org

As part of the Media Source Extensions (MSE) work, specifically in the context
of ad insertion and media segment splicing, a need for scheduling the selection
or deselection of video and audio tracks was identified.  Such a mechanism
would allow for seamlessly switching between the video and audio track(s) of a
main program having a first track configuration and the video and audio
track(s) of a secondary program (such as an ad) having a different track
configuration.  For additional information, see bug 22137.

One use case for MSE is insertion of an advertisement into a media stream. It
will often be the case that an advertisement will have a different track
configuration from the main program. For example: a main program may comprise
demultiplexed video and audio stream files, represented in MSE as two
SourceBuffers, with one SourceBuffer contributing a VideoTrack and one
contributing an AudioTrack. However, the advertisement may comprise a single
multiplexed video and audio stream file, represented in MSE as one SourceBuffer
contributing both a VideoTrack and an AudioTrack.

Currently, selecting and deselecting the video and audio tracks of an
HTMLMediaElement from JavaScript takes effect immediately.  However, JavaScript
execution can't be guaranteed to be synchronized to within one video frame or
one audio sample, for a seamless transition from the tracks of a main program
to the tracks of an advertisement. JavaScript execution latency could cause
media playback stalls or glitches.

The editors of the MSE spec indicated that a general solution to this problem
would be to have a mechanism to schedule track selections/deselections along
the media playback timeline, so that the media playback engine can effect a
frame-accurate seamless track transition without a time-critical JavaScript
execution.

Since media tracks can be added and deleted from an HTMLMediaElement over time,
it seems that a natural way to accomplish this would be to add something like a
"selectedRanges" property to VideoTrack, and something like an "enabledRanges"
property to AudioTrack. Unfortunately, the TimeRanges interface doesn't support
modifications.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Received on Tuesday, 23 July 2013 22:04:32 UTC