Closed Bug 1189899 Opened 5 years ago Closed 5 years ago

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


(Core :: Audio/Video: Playback, defect, P2)




Tracking Status
firefox41 --- affected
firefox42 --- affected


(Reporter: cpeterson, Unassigned)


(Blocks 1 open bug)


(Whiteboard: parity-chrome,parity-ie)

The following MPD:

from the GPAC DASH test files at:

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

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

GET XHR [HTTP/1.1 200 OK 0ms]
GET [HTTP/1.1 200 OK 0ms]
GET [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:


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)
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.
Closed: 5 years ago
Priority: -- → P2
Resolution: --- → INVALID
Whiteboard: parity-chrome,parity-ie
I'd be for accepting it, if the data itself is okay. What's preventing us? It's clear what was meant.
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
You need to log in before you can comment on or make changes to this bug.