|
|
DescriptionSwitch to using EGL 1.0 for rendering and HW codec.
Using EGL 1.4 may cause texture rendering deadlock on some
Android devices.
R=jiayl@webrtc.org
Committed: https://chromium.googlesource.com/external/webrtc/+/887a19b9d2be1ba90a407bd783be081087ffb0b1
Patch Set 1 #
Messages
Total messages: 14 (6 generated)
glaznev@webrtc.org changed reviewers: + jiayl@webrtc.org
TBR=magjed
Description was changed from ========== Switch to using EGL 1.0 for rendering and HW codec. Using EGL 1.4 may cause texture rendering deadlock on some Android devices. ========== to ========== Switch to using EGL 1.0 for rendering and HW codec. Using EGL 1.4 may cause texture rendering deadlock on some Android devices. ==========
glaznev@webrtc.org changed reviewers: + magjed@webrtc.org
The CQ bit was checked by glaznev@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1829923002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1829923002/1
lgtm If we are not using any 1.4 feature, why didn't we require 1.4?
It is still used in Android HW encoder when texture capture is enabled
Message was sent while issue was closed.
Description was changed from ========== Switch to using EGL 1.0 for rendering and HW codec. Using EGL 1.4 may cause texture rendering deadlock on some Android devices. ========== to ========== Switch to using EGL 1.0 for rendering and HW codec. Using EGL 1.4 may cause texture rendering deadlock on some Android devices. R=jiayl@webrtc.org Committed: https://crrev.com/887a19b9d2be1ba90a407bd783be081087ffb0b1 Cr-Commit-Position: refs/heads/master@{#12109} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/887a19b9d2be1ba90a407bd783be081087ffb0b1 Cr-Commit-Position: refs/heads/master@{#12109}
Message was sent while issue was closed.
Description was changed from ========== Switch to using EGL 1.0 for rendering and HW codec. Using EGL 1.4 may cause texture rendering deadlock on some Android devices. R=jiayl@webrtc.org Committed: https://crrev.com/887a19b9d2be1ba90a407bd783be081087ffb0b1 Cr-Commit-Position: refs/heads/master@{#12109} ========== to ========== Switch to using EGL 1.0 for rendering and HW codec. Using EGL 1.4 may cause texture rendering deadlock on some Android devices. R=jiayl@webrtc.org Committed: https://chromium.googlesource.com/external/webrtc/+/887a19b9d2be1ba90a407bd78... ==========
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as 887a19b9d2be1ba90a407bd783be081087ffb0b1 (presubmit successful).
Message was sent while issue was closed.
On 2016/03/23 20:34:31, jiayl2 wrote: > lgtm > > If we are not using any 1.4 feature, why didn't we require 1.4? I'm concerned this CL might cause trouble for MediaCodecVideoEncoder.java when using capture-to-texture. The reason we use EGL 1.4 for API >= 18 is that MediaCodecVideoEncoder should call EGLExt.eglPresentationTimeANDROID before calling eglSwapBuffers, and eglPresentationTimeANDROID is supported for EGL 1.4 only. That code path happens for texture frames only. We explicitly create an EGL 1.4 context in MediaCodecVideoEncoder here: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/webrtc... based on |sharedContext| that is supposed to be an EGL 1.4 context. |sharedContext| is the localEglContext passed to PeerConnectionFactory.setVideoHwAccelerationOptions(). I'm not sure what happens when that context is an EGL 1.0 context and is casted to an EGL 1.4 context in the jni layer here: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/webrtc... I think we should change the parameter type in MediaCodecVideoEncoder.initEncode() from EglBase14.Context to EglBase.Context and use instanceof when swapping buffers to check if we can call eglPresentationTimeANDROID or not. I have created a CL for that here: https://codereview.webrtc.org/1828203002 It seems to work OK without calling eglPresentationTimeANDROID, but according to etnu@, this won't work well with low frame rates on qualcomm's encoders.
Message was sent while issue was closed.
A revert of this CL (patchset #1 id:1) has been created in https://codereview.webrtc.org/1866653002/ by magjed@webrtc.org. The reason for reverting is: EGL 1.4 was not the cause of the deadlock. See https://bugs.chromium.org/p/webrtc/issues/detail?id=5702 for more info.. |