Flush FrameProcessor when appropriate.

PiperOrigin-RevId: 507461550
This commit is contained in:
claincly 2023-02-06 14:20:56 +00:00 committed by microkatz
parent afa3c628c1
commit f630315af5

View file

@ -1178,9 +1178,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
if (frameProcessorManager.isEnabled()) { if (frameProcessorManager.isEnabled()) {
notifyFrameMetaDataListener = false; notifyFrameMetaDataListener = false;
if (!frameProcessorManager.maybeRegisterFrame(format, presentationTimeUs, isLastBuffer)) { if (!frameProcessorManager.maybeRegisterFrame(format, presentationTimeUs, isLastBuffer)) {
// TODO(b/238302341): Handle FrameProcessor is unable to accept the force rendered buffer. return false;
// Treat the frame as dropped for now.
return true;
} }
} else { } else {
notifyFrameMetaDataListener = true; notifyFrameMetaDataListener = true;
@ -1454,6 +1452,9 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
droppedSourceBufferCount, /* droppedDecoderBufferCount= */ buffersInCodecCount); droppedSourceBufferCount, /* droppedDecoderBufferCount= */ buffersInCodecCount);
} }
flushOrReinitializeCodec(); flushOrReinitializeCodec();
if (frameProcessorManager.isEnabled()) {
frameProcessorManager.flush();
}
return true; return true;
} }