diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java index d53bfcee772..d5f096536e4 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java @@ -1174,9 +1174,7 @@ protected boolean processOutputBuffer( if (frameProcessorManager.isEnabled()) { notifyFrameMetaDataListener = false; if (!frameProcessorManager.maybeRegisterFrame(format, presentationTimeUs, isLastBuffer)) { - // TODO(b/238302341): Handle FrameProcessor is unable to accept the force rendered buffer. - // Treat the frame as dropped for now. - return true; + return false; } } else { notifyFrameMetaDataListener = true; @@ -1450,6 +1448,9 @@ protected boolean maybeDropBuffersToKeyframe( droppedSourceBufferCount, /* droppedDecoderBufferCount= */ buffersInCodecCount); } flushOrReinitializeCodec(); + if (frameProcessorManager.isEnabled()) { + frameProcessorManager.flush(); + } return true; }