From f630315af5bd3adcd3ebf5e008f785c6552eb48f Mon Sep 17 00:00:00 2001 From: claincly Date: Mon, 6 Feb 2023 14:20:56 +0000 Subject: [PATCH] Flush FrameProcessor when appropriate. PiperOrigin-RevId: 507461550 --- .../media3/exoplayer/video/MediaCodecVideoRenderer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java index 85def948c5..d54ed55460 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java @@ -1178,9 +1178,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { 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; @@ -1454,6 +1452,9 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { droppedSourceBufferCount, /* droppedDecoderBufferCount= */ buffersInCodecCount); } flushOrReinitializeCodec(); + if (frameProcessorManager.isEnabled()) { + frameProcessorManager.flush(); + } return true; }