Force AImageReader usage with MediaCodec when MediaCodec is used for video decoding with ANGLE on Android
Categories
(Core :: Graphics, task)
Tracking
()
People
(Reporter: sotaro, Assigned: sotaro, NeedInfo)
References
(Depends on 1 open bug, Blocks 3 open bugs)
Details
Attachments
(1 file)
Even when gecko uses ANGLE GLES, SurfaceTexture::UpdateTexImage() still uses native OpenGLES. It causes problems like Bug 2065359 and Bug 2065028.
In chromium, SurfaceTexture is not directly bound to OpenGL texture. Instead, OpenGL texture is bound to AHardwareBuffer. In MediaCodec case, AImageReader is used to get AHardwareBuffer.
And in chromium, support of OpenGL texture binding to ANativeWindow is already removed from ANGLE by the following.
https://chromium.googlesource.com/angle/angle/%2B/a78cd473a492fa36c3e26360aec2c55a49eca5f2?utm_source=chatgpt.com
The reason was the following.
That internal extension is no longer needed.
| Assignee | ||
Updated•12 days ago
|
| Assignee | ||
Updated•12 days ago
|
| Assignee | ||
Updated•12 days ago
|
| Assignee | ||
Comment 1•12 days ago
|
||
Then when ANGLE is used on Android, MediaCode usage need to force AImageReader to get AHardwareBuffer.
| Assignee | ||
Comment 2•4 days ago
|
||
| Assignee | ||
Comment 3•4 days ago
|
||
:aosmond, is there a reason why Java MediaCodec is still used by default? Is there a plan to disable Java MediaCodec for video decoding?
When ANGLE GLES is used, gecko needs to use native MediaCodec with AImageReader in GPU process. Then gecko needs to disable Java MediaCodec usage.
| Assignee | ||
Updated•3 days ago
|
Description
•