Merge "MediaCodec: Release lock before calling onFrameRendered()" am: c03b91a7ef

am: 23b72c725c

Change-Id: I5615c10df08d88ef397bd28eaa23582503d4356f
This commit is contained in:
Pawin Vongmasa
2019-11-08 06:06:30 -08:00
committed by android-build-merger

View File

@@ -1702,20 +1702,22 @@ final public class MediaCodec {
break;
}
case EVENT_FRAME_RENDERED:
synchronized (mListenerLock) {
Map<String, Object> map = (Map<String, Object>)msg.obj;
for (int i = 0; ; ++i) {
Object mediaTimeUs = map.get(i + "-media-time-us");
Object systemNano = map.get(i + "-system-nano");
if (mediaTimeUs == null || systemNano == null
|| mOnFrameRenderedListener == null) {
break;
}
mOnFrameRenderedListener.onFrameRendered(
mCodec, (long)mediaTimeUs, (long)systemNano);
Map<String, Object> map = (Map<String, Object>)msg.obj;
for (int i = 0; ; ++i) {
Object mediaTimeUs = map.get(i + "-media-time-us");
Object systemNano = map.get(i + "-system-nano");
OnFrameRenderedListener onFrameRenderedListener;
synchronized (mListenerLock) {
onFrameRenderedListener = mOnFrameRenderedListener;
}
break;
if (mediaTimeUs == null || systemNano == null
|| onFrameRenderedListener == null) {
break;
}
onFrameRenderedListener.onFrameRendered(
mCodec, (long)mediaTimeUs, (long)systemNano);
}
break;
default:
{
break;