Open Bug 1762980 Opened 3 years ago Updated 1 year ago

Opus with clearlead fails to decode (amazon / widevine)

Categories

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

Firefox 98
defect

Tracking

()

People

(Reporter: nikbik, Unassigned)

Details

Steps to reproduce:

Opus audio encrypted with Widevine using clearlead fails to decode.

Testbed:
https://maestro-test-player.s3.us-west-1.amazonaws.com/HARLEY-9735/index.html

userAgent:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:98.0) Gecko/20100101 Firefox/98.0"

Notes:
Not reproducible with Flac or AAC, only Opus

Actual results:

Decode error after appending the first data fragment:
NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - virtual RefPtr<MediaDataDecoder::InitPromise> mozilla::OpusDataDecoder::Init(): Error decoding header!

Expected results:

In Chrome, Opera, and Edge the testbed appends and decodes without errors. The testbed should be able to play 10s of brownian noise.

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

Bryce, any thoughts here? I can reproduce the error in the test case.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(bvandyk)
Summary: Opus with clearlead fails to decode → Opus with clearlead fails to decode (amazon / widevine)

Had a quick look. I can repro. This is failing, as may be expected based on the error, because the opus header our decoder is getting is junk. Specifically Gecko is not seeing OpusHead here, which causes us to bail.

So the opus specific metadata we're passing about is no good. It may be that we're not parsing this correctly out of the mp4 via our Rust parser.

Severity: -- → S3
Flags: needinfo?(bvandyk)
Priority: -- → P3

Any updates? This bug has a detrimental effect for our users. Without clearlead support, audio playback cannot begin until a roundtrip DRM license request is resolved.

It looks like this has been fixed in v118. Thank you! This will be a big improvement for our Firefox customers.
I didn't see the ticket updated though, what was the change?

Looks like it's not fixed in the latest ESR release - 115.3.1esr
ETA?

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