Firefox isn't seeing multiple audio tracks in a particular mp4 file

NEW
Unassigned

Status

()

4 years ago
2 years ago

People

(Reporter: bzbarsky, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(URL)

STEPS TO REPRODUCE:

1)  Make sure "media.track.enabled" is turned on.
2)  Load http://www.stuart-pinfold.co.uk/videotest/
3)  Click on the video to start playing it.
4)  Open web console.
5)  Evaluate "video1.audioTracks"
6)  Evaluate "video1.audioTracks[0]"

EXPECTED RESULTS: Step 5 shows a list of length 4.  Step 6 shows an audio track with one of the four languages involved.

ACTUAL RESULTS: Step 5 shows a list of length 1.  Step 6 shows an audio track with language="".

As a result, the links on the page, which are expecting to switch between the different-language tracks in that video, don't work, since they never find a track with the matching language.

In general, it doesn't look to me like the tests for bug 744896 actually test multiple tracks, unless I'm missing something: they always use 0 as the index into the track list, and never check for lengths greater than 1.

Shelly, could you take a look at this, please?
Flags: needinfo?(slin)

Comment 1

4 years ago
Thanks Boris and Shelly.

Please also take a look at the test case in Internet Explorer. You will see that their baked-in HTML5 player (no plugins being used on the test page) even has a button to switch languages - just like the CC button in Firefox for subtitles. Although I cannot personall verify it, research suggests this was a feature in IE10, released over two years ago (October 2012). It certainly works (and has the button in the player) in the version of IE10 you can download from the MS website right now.

http://www.stuart-pinfold.co.uk/videotest/

Comment 2

4 years ago
(In reply to Boris Zbarsky [:bz] from comment #0)
> STEPS TO REPRODUCE:
> 
> 1)  Make sure "media.track.enabled" is turned on.
> 2)  Load http://www.stuart-pinfold.co.uk/videotest/
> 3)  Click on the video to start playing it.
> 4)  Open web console.
> 5)  Evaluate "video1.audioTracks"
> 6)  Evaluate "video1.audioTracks[0]"
> 
> EXPECTED RESULTS: Step 5 shows a list of length 4.  Step 6 shows an audio
> track with one of the four languages involved.
> 
> ACTUAL RESULTS: Step 5 shows a list of length 1.  Step 6 shows an audio
> track with language="".
> 
> As a result, the links on the page, which are expecting to switch between
> the different-language tracks in that video, don't work, since they never
> find a track with the matching language.
> 
> In general, it doesn't look to me like the tests for bug 744896 actually
> test multiple tracks, unless I'm missing something: they always use 0 as the
> index into the track list, and never check for lengths greater than 1.
> 
> Shelly, could you take a look at this, please?

Although the track interface is implemented, gecko's media pipeline yet not support multi-track plackback, nor switching between tracks (I doubt that a media with multiple video tracks or audio tracks is even playable). Further more, as for the metadata parsing, only Ogg format is supported (bug 1022524).
Flags: needinfo?(slin)

Comment 3

4 years ago
s/plackback/playback

The reason we haven't turn this interface to on by default is because gecko does not support muti-track playback, and I don't know if we are planning on supporting that currently. I've also updated the MDN page[1] since bug 1022524 has closed.

[1] https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement

Thank you very much!
Component: Audio/Video → Audio/Video: Playback
You need to log in before you can comment on or make changes to this bug.