Merge "MediaCodec: Release lock before calling onFrameRendered()" am: c03b91a7ef
am: 23b72c725c
Change-Id: I5615c10df08d88ef397bd28eaa23582503d4356f
This commit is contained in:
@@ -1702,20 +1702,22 @@ final public class MediaCodec {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EVENT_FRAME_RENDERED:
|
case EVENT_FRAME_RENDERED:
|
||||||
synchronized (mListenerLock) {
|
Map<String, Object> map = (Map<String, Object>)msg.obj;
|
||||||
Map<String, Object> map = (Map<String, Object>)msg.obj;
|
for (int i = 0; ; ++i) {
|
||||||
for (int i = 0; ; ++i) {
|
Object mediaTimeUs = map.get(i + "-media-time-us");
|
||||||
Object mediaTimeUs = map.get(i + "-media-time-us");
|
Object systemNano = map.get(i + "-system-nano");
|
||||||
Object systemNano = map.get(i + "-system-nano");
|
OnFrameRenderedListener onFrameRenderedListener;
|
||||||
if (mediaTimeUs == null || systemNano == null
|
synchronized (mListenerLock) {
|
||||||
|| mOnFrameRenderedListener == null) {
|
onFrameRenderedListener = mOnFrameRenderedListener;
|
||||||
break;
|
|
||||||
}
|
|
||||||
mOnFrameRenderedListener.onFrameRendered(
|
|
||||||
mCodec, (long)mediaTimeUs, (long)systemNano);
|
|
||||||
}
|
}
|
||||||
break;
|
if (mediaTimeUs == null || systemNano == null
|
||||||
|
|| onFrameRenderedListener == null) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
onFrameRenderedListener.onFrameRendered(
|
||||||
|
mCodec, (long)mediaTimeUs, (long)systemNano);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user