TelecomParisTech MSE live stream plays in Chrome, but not Firefox: Unsupported codec and/or file format for stream audio/mp4

RESOLVED INVALID

Status

()

P2
normal
RESOLVED INVALID
4 years ago
4 years ago

People

(Reporter: cpeterson, Unassigned)

Tracking

(Blocks: 1 bug)

unspecified
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox41 affected, firefox42 affected)

Details

(Whiteboard: parity-chrome,parity-ie)

(Reporter)

Description

4 years ago
The following MPD:

http://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live/mp4-live-mpd-AV-NBS.mpd

from the GPAC DASH test files at:

https://gpac.wp.mines-telecom.fr/2012/02/23/dash-sequences/

plays correct with the Bitdash player in Chrome, but not Firefox:

http://www.dash-player.com/demo/manifest-test/

The console log has an error saying "Unsupported codec and/or file format for stream audio/mp4":

GET XHR http://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live/mp4-live-mpd-AV-NBS.mpd [HTTP/1.1 200 OK 0ms]
GET http://fonts.gstatic.com/s/dosis/v4/22aDRG5X9l7obljtz7tihnYhjbSpvc47ee6xR_80Hnw.woff2 [HTTP/1.1 200 OK 0ms]
GET http://fonts.gstatic.com/s/dosis/v4/oaBFj7Fz9Y9_eW3k9Jd9X6CWcynf_cDxXwCLxiixG1c.woff2 [HTTP/1.1 200 OK 0ms]
Unsupported codec and/or file format for stream audio/mp4 bitdashplayer.min.js:1:365558

bitdash Error:  Object { message: "Unsupported codec and/or file forma…", code: 3015, timestamp: 1438372478813, type: "onError" } manifest-test:973:15
bitdash html5 3.0.2 enterprise onReady:  Object { timestamp: 1438372478814, type: "onReady" } manifest-test:976:1
syntax error manifest-test:1:1
Flags: needinfo?(jyavenard)
Codec used is:

codecs=mp4a.40.02

it's codecs=m4a.40.2

Per RFC 6381:
" When the first element of a value is 'mp4a' (indicating some kind of
   MPEG-4 audio), or 'mp4v' (indicating some kind of MPEG-4 part-2
   video), or 'mp4s' (indicating some kind of MPEG-4 Systems streams
   such as MPEG-4 BInary Format for Scenes (BIFS)), the second element
   is the hexadecimal representation of the MP4 Registration Authority
   ObjectTypeIndication (OTI), as specified in [MP4RA] and [MP41]
   (including amendments).  Note that [MP4RA] uses a leading "0x" with
   these values, which is omitted here and hence implied.

   One of the OTI values for 'mp4a' is 40 (identifying MPEG-4 audio).
   For this value, the third element identifies the audio
   ObjectTypeIndication (OTI) as defined in [MP4A] (including
   amendments), expressed as a decimal number.

   For example, AAC low complexity (AAC-LC) has the value 2, so a
   complete string for AAC-LC would be "mp4a.40.2".
"

For Audio OTI we have:
aud-oti     := 1*DIGIT

not two digits.

that Chrome accepts it, doesn't mean it's valid
Flags: needinfo?(jyavenard)
(Reporter)

Comment 2

4 years ago
Thanks for the explanation. Unless this codecs format is a problem on real content, it sounds like this is not a (Firefox) bug. :)

I don't know if the video player changed, but the video does play in Nightly and Aurora today, though (as expected) no audio plays. I could have sworn that the video didn't play at all when I filed the bug last week. I would have mentioned "video with no audio" in the original bug description.

IE11 and Edge accept "codecs=mp4a.40.02" and play both the audio and video.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
status-firefox41: --- → affected
Priority: -- → P2
Resolution: --- → INVALID
Whiteboard: parity-chrome,parity-ie

Comment 3

4 years ago
I'd be for accepting it, if the data itself is okay. What's preventing us? It's clear what was meant.
(Reporter)

Comment 4

4 years ago
Stefan, the MPD specifies an invalid codecs value:

<Representation id="aaclc_high" mimeType="audio/mp4" codecs="mp4a.40.02" ...
                                                                    ^^^ should just be ".2" per spec

http://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live/mp4-live-mpd-AV-NBS.mpd
You need to log in before you can comment on or make changes to this bug.