Closed Bug 2075095 Opened 1 month ago Closed 4 days ago

EME test failures with native MediaCodec and with AImageReader on Android

Categories

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

Unspecified
Android
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: sotaro, Unassigned)

References

(Depends on 1 open bug, Blocks 6 open bugs)

Details

Attachments

(1 external file)

When native MediaCodec was used, some EME test failed.

OS: Unspecified → Android
Summary: EME test failures with native MediaCodec on Android → EME test failures with native MediaCodec and with AImageReader on Android

When AImageReader is used, AImageReader and FFmpegVideoDecoder are allocated in GPU process. But with EME, audio decoder and video decoder needs to be in same process. Current gecko does not expect to allocate audio decoder in GPU process.

To be efficient video rendering, AImageReader and FFmpegVideoDecoder needs to be in GPU process.

Depends on: 2079569
Blocks: 2080075
Severity: -- → S3
Priority: -- → P3
Depends on: 2084018

Analysis

The source tree agrees with comment 4. On Android, the native MediaCodec path creates the CDM in the RDD process. A decoder with a CDM can only run in the RDD process. But AImageReader runs only in the GPU process, and the GPU process decodes video only, not audio.

Affected code:

Next steps

The fix direction is to create the CDM in the GPU process when AImageReader is on. Then the GPU process must also accept the audio decoder and the video decoder with a CDM. The WIP patch D331496 follows this direction. This bug now blocks meta bug 1980764 (Android Media Codec NDK).


To give feedback on this comment, add a thumbs-up or thumbs-down reaction.

The failure does not happen with latest m-c.

Status: NEW → RESOLVED
Closed: 4 days ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: