Open Bug 1711540 Opened 3 years ago Updated 1 year ago

[Bug] webm video fails with NS_ERROR_DOM_MEDIA_FATAL_ERR, but works in reader view

Categories

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

Unspecified
Android
defect

Tracking

()

People

(Reporter: kbrosnan, Assigned: jhlin)

Details

From github: https://github.com/mozilla-mobile/fenix/issues/19522.

Steps to reproduce

Load https://matham.github.io/ceed/guide/function.html on android.

Expected behavior

Display the videos on the page normally, like in reader mode or on Firefox desktop.

Actual behavior

Firefox will show the red status line for a bit, as if it's trying to finish loading. But ultimately it shows "no video with supported format mime found" where the videos should display.

When I switch to reader view, it instantly displays all the videos without a problem.

Device information

  • Device vendor / model and Android version: Moto X4 LineageOS 18.
  • Firefox for Android version: Firefox Beta (89.0.0-beta.7)

One of the videos from the page is attached: function_random.zip

ffprope output:

Input #0, matroska,webm, from 'function_random.webm':
  Metadata:
    ENCODER         : Lavf58.45.100
  Duration: 00:00:44.20, start: 0.000000, bitrate: 28 kb/s
    Stream #0:0: Video: vp9 (Profile 1), yuv444p(tv), 460x574, SAR 1:1 DAR 230:287, 15 fps, 15 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ENCODER         : Lavc58.91.100 libvpx-vp9
      DURATION        : 00:00:44.200000000

Using ADB with firefox desktop debugging I get:

This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”.
Autoplay is only allowed when approved by the user, the site is activated by the user, or media is muted.
Media resource https://matham.github.io/ceed/_videos/function_random.webm could not be decoded.
All candidate resources failed to load. Media load paused.
Media resource https://matham.github.io/ceed/_videos/function_random.webm could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005)
Details: OnError

Change performed by the Move to Bugzilla add-on.

I tested it on Moto G5 and got the following error when creating a VP9 decoder:
SoftVPX : frameworks/av/media/libstagefright/codecs/on2/dec/SoftVPX.cpp:149 CHECK_EQ( mImg->fmt,VPX_IMG_FMT_I420) failed: 262 vs. 258
which means only I420 image is supported. Pixel 3 also showed error: QC2V4L2PollThread: [vp9D_55] Unsupported input buffer.

On desktop, libvpx is used and it doesn't reject I444 image.

It's possible to fall back to libvpx on Android if HW decoder fails, but it will hurt battery life.

Assignee: nobody → jolin
Severity: -- → S3
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.