Opus in MP4 / ISOBMFF - MediaSource.isTypeSupported('audio/mp4; codecs="Opus"') return false
Categories
(Core :: Audio/Video: Playback, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox106 | --- | fixed |
People
(Reporter: john, Assigned: chunmin)
References
Details
Attachments
(2 files)
Steps to reproduce:
The MP4 Registration Authority lists "Opus" as a supported codec (with a capital letter "O"): https://mp4ra.org/#/codecs
RFC 6381 states:
For the ISO Base Media File Format, and the QuickTime movie file format, the first element of a 'codecs' parameter value is a sample description entry four-character code as registered by the MP4 Registration Authority [MP4RA]. Values are case sensitive.
From my reading of this, a correct MIME type for Opus in an MP4 file should use the string 'codecs="Opus"', not 'codecs="opus"'.
To reproduce, open the developer console and paste the following:
MediaSource.isTypeSupported('audio/mp4; codecs="Opus"');
Actual results:
The function returns false.
Expected results:
The function should return true, since "Opus" is the code registered by the MP4 Registration Authority.
Reporter | ||
Comment 1•3 years ago
|
||
I should probably mention, I think the codec name "Opus" should be accepted in any API that accepts "opus", not just MediaSouce.isTypeSupported
Comment 2•3 years ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 3•2 years ago
•
|
||
I believe what you referred to is https://datatracker.ietf.org/doc/html/rfc6381#section-3.3 and the codecs registered mentioned should be http://mp4ra.org/#/codecs.
MediaSource.isTypeSupported('audio/mp4; codecs="Opus"')
fails in Chrome as well, while MediaSource.isTypeSupported('audio/mp4; codecs="opus"')
works. That means it can cause a web-compatibility issue if Firefox replaces opus
by Opus
.
Not sure if it's a historical decision that we should avoid the web-compatibility issue, or the spec is out-dated.
Assignee | ||
Updated•2 years ago
|
Reporter | ||
Comment 4•2 years ago
|
||
Chromium has a bug open on the issue - https://bugs.chromium.org/p/chromium/issues/detail?id=1342217&q=opus&can=2
Question: instead of replacing "opus" with "Opus", what about adding it - so that "opus" is accepted for backwards-compatability, as well as "Opus"?
![]() |
||
Comment 5•2 years ago
|
||
No updates here, but we've elevated this to our standards group for discussion.
Assignee | ||
Comment 6•2 years ago
|
||
Assignee | ||
Comment 7•2 years ago
|
||
Depends on D156907
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 8•2 years ago
|
||
The current decision is to accept both Opus
and opus
. The discussion is here.
Assignee | ||
Updated•2 years ago
|
Comment 11•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/398caca6d4d7
https://hg.mozilla.org/mozilla-central/rev/4a2073616531
Description
•