Open Bug 1652993 Opened 5 years ago Updated 4 years ago

Media resource could not be decoded.

Categories

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

78 Branch
defect

Tracking

()

People

(Reporter: eduards.jubels, Unassigned)

References

Details

(Keywords: parity-chrome, testcase)

Attachments

(1 file)

Attached video sample.mp4

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0

Steps to reproduce:

(Tested on Windows and Linux)

Drag the .mp4 file (attached to this issue) onto the Firefox window.

Actual results:

The video element shows "Video can't be played because the file is corrupt."
Console log shows 2 messages.

[Windows 10]
Media resource file:///C:/path/sample.mp4 could not be decoded.
Media resource file:///C:/path/sample.mp4 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004)
Details: RefPtr<MediaDataDecoder::DecodePromise> __cdecl mozilla::WMFMediaDataDecoder::ProcessError(HRESULT, const char *): MFTManager::Output(2):80004005

[Linux]
Media resource file:///home/user/sample.mp4 could not be decoded.
Media resource file:///home/user/sample.mp4 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004)
Details: virtual mozilla::MediaResult mozilla::FFmpegVideoDecoder<58>::DoDecode(mozilla::MediaRawData*, uint8_t*, int, bool*, mozilla::MediaDataDecoder::DecodedData&): avcodec_send_packet error: -1094995529

Expected results:

Video should play.

Video plays fine in VLC and Google Chrome.

Can't be played in Edge or Vivaldi either.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Severity: -- → S4
Status: UNCONFIRMED → NEW
Ever confirmed: true

Works in Edge Version 84.0.522.40

Running ffprobe on the file gives

Stream #0:0(und): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuvj422p(pc), 320x240, 1133 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

I suspect that profile + subsampling are not going to play nice with certain platform decoders. Windows decoders don't have great support for this, though I'm a little surprised it doesn't work when using ffmpeg on Linux. Chromium derived browsers ship ffmpeg on all platforms, so are not limited by what decoders the OS exposes. Sadly we are due to patent concerns.

Encoding this video with 4:2:0 makes it playable. 4:2:2 and 4:4:4 don't work.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: