Open Bug 1464822 Opened 2 years ago Updated 2 years ago

EME: Some encrypted content can't ever worked on Android


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





(Reporter: jya, Unassigned)


(Blocks 1 open bug)


When used with a CDM on Android, the PDMFactory will always use an AndroidDecoderModule.cpp

When we then attempt to create an audio decoder:

or a video decoder:

We wrap then Android RemoteDataDecoder inside a EMEMediaDataDecoderProxy (

However, this assumes that the original RemoteDataDecoder can decode the codec to start with.

However, this is not always the case, and the AndroidDecoderModule::SupportsMimeType normally would have checked which codecs were actually supported (

Opus, Vorbis, Wave and other codecs aren't supported by default. VP8 and VP9 also aren't supported unless hardware accelerated.

The Android's RemoteDataDecoder shouldn't be unconditionally used whenever a CDMProxy is set... It can't work for any of the codecs mentioned above.
Here is an example of a stream that do not play:;license=;lang=en-US;play;build=uncompiled

it's encrypted Opus.

Now, it may be that on Android we can't play that file anyway (chrome fails to play it too, but for other reasons)
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.