Unable to play AV1 MP4 videos due to missing header information in videos created with Blackmagic Design DaVinci Resolve Studio: NS_ERROR_DOM_MEDIA_DECODE_ERR
Categories
(Core :: Audio/Video: Playback, defect, P2)
Tracking
()
People
(Reporter: waitwhatwhohowwhere, Assigned: alwu)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files, 1 obsolete file)
|
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-esr140+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0
Steps to reproduce:
Warning: The video test cases are on e621, which is an NSFW furry website with adult-only content.
- Navigate to either https://e621.net/posts/5575088 or https://e621.net/posts/5580792
- Verify that the quality dropdown below the embed is set to either Original, Fit (Horizontal), or Fit (Vertical) to ensure that the original file is served
- Observe that the videos will not play with the embed stating "Video can't be played because the file is corrupt"
Actual results:
Neither video will play in Firefox.
Both videos were generated with DaVinci Resolve. An issue was brought up on the DaVinci Resolve forums in 2024 that mentions the program omits critical header data including "format profile, chroma subsampling, and bit depth": https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=205889
The first video shows the following console error:
Media resource https://static1.e621.net/data/08/63/0863db9fd81a97758b2b53549bc64d58.mp4 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004)
Details: AV1 sequence header was corrupted
Inspecting the first video shows the following information:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '0863db9fd81a97758b2b53549bc64d58.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomav01iso2mp41
creation_time : 2025-05-16T00:06:43.000000Z
encoder : Blackmagic Design DaVinci Resolve
Duration: 00:00:14.83, start: 0.000000, bitrate: 6908 kb/s
Stream #0:00x1: Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, progressive), 1080x1080, 6594 kb/s, SAR 1:1 DAR 1:1, 23.98 fps, 23.98 tbr, 24k tbn (default)
Metadata:
creation_time : 2025-05-16T00:06:43.000000Z
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : AV1 8-bit - NVIDIA
timecode : 01:00:00:00
Stream #0:10x2: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 320 kb/s (default)
Metadata:
creation_time : 2025-05-16T00:06:43.000000Z
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream #0:20x3: Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2025-05-16T00:06:43.000000Z
handler_name : TimeCodeHandler
timecode : 01:00:00:00
Unsupported codec with id 0 for input stream 2
Expected results:
The expected behavior is for Firefox to handle this missing header data gracefully and allow playing the videos, only reporting a warning to console that the file header is malformed.
I have tested these videos on Chromium-based browsers including Chrome, Edge, and Opera and can confirm that they play the video despite the missing header information. Based on a user report, the Firefox fork Pale Moon is also able to play the videos despite these errors, although it is unclear which version the user was using.
Catbox backups of the video files in the event that the original posts are deleted, see the same error observed in step 3 (same NSFW warning applies):
https://files.catbox.moe/hzwr93.mp4
https://files.catbox.moe/l5hrc0.mp4
Updated•8 months ago
|
Comment 2•8 months ago
•
|
||
Hello! Thank you for submitting this issue. I have managed to reproduce the issue with firefox 140.a01(2025-05-19) and 139.0b10 on Ubuntu 22.04 and Windows 10.
I will mark this issue as NEW and set a component for it in order to get our developers involved and provide a solution in further releases.
Have a nice day!
Updated•8 months ago
|
Updated•8 months ago
|
| Assignee | ||
Updated•8 months ago
|
Comment 3•8 months ago
|
||
Set release status flags based on info from the regressing bug 1757861
Updated•8 months ago
|
| Assignee | ||
Comment 4•8 months ago
|
||
Add parsing support for operating_parameters_info in the AV1 sequence header.
Also, rename local variables to match the exact naming used in the AV1 spec.
This improves readability and makes it easier to verify the implementation
against the specification.
| Assignee | ||
Comment 5•8 months ago
|
||
| Assignee | ||
Updated•8 months ago
|
| Assignee | ||
Comment 6•8 months ago
|
||
Updated•8 months ago
|
Comment 8•8 months ago
|
||
Set release status flags based on info from the regressing bug 1757861
Comment 9•8 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/6fc7dbe394a2
https://hg.mozilla.org/mozilla-central/rev/a2c257e48866
https://hg.mozilla.org/mozilla-central/rev/5dc146d19952
Comment 10•8 months ago
|
||
The patch landed in nightly and beta is affected.
:alwu, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- See https://wiki.mozilla.org/Release_Management/Requesting_an_Uplift for documentation on how to request an uplift.
- If no, please set
status-firefox140towontfix.
For more information, please visit BugBot documentation.
| Assignee | ||
Updated•8 months ago
|
Updated•8 months ago
|
Updated•8 months ago
|
Comment 11•8 months ago
|
||
Hello! I can confirm that the issue is fixed with firefox 141.0a1(2025-06-06) on Ubuntu 22.04, Windows 10 and MacOS 15.4.
Updating the flags and the status of this issue.
Have a nice day!
Updated•7 months ago
|
| Assignee | ||
Comment 13•7 months ago
|
||
Comment on attachment 9489085 [details]
Bug 1967133 – part1 : handle operating_parameters_info in AV1 sequence header.
ESR Uplift Approval Request
- If this is not a sec:{high,crit} bug, please state case for ESR consideration: Prevent playback error for some AV1 videos
- User impact if declined: Video would fail to play
- Fix Landed on Version: 141
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): No new feature or structural change is added, it's about fixing the parsing error.
Comment 14•7 months ago
|
||
Comment on attachment 9489085 [details]
Bug 1967133 – part1 : handle operating_parameters_info in AV1 sequence header.
Approved for 140.1esr.
Comment 15•7 months ago
|
||
| uplift | ||
Updated•7 months ago
|
Updated•7 months ago
|
Comment 16•7 months ago
|
||
Hello! I can confirm that the issue is fixed with firefox 140.1.0 ESR on Ubuntu 22.04, MacOS 15.6 and Windows 10
Description
•