From d059e97b284693f97b182f4d2e8177c57504ecfd Mon Sep 17 00:00:00 2001 From: kimvde Date: Thu, 2 May 2024 05:21:46 -0700 Subject: [PATCH] Use VideoSink directly in MCVR where possible PiperOrigin-RevId: 630030889 --- .../exoplayer/video/MediaCodecVideoRenderer.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 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 d229b0726f..bdf1f41d41 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 @@ -647,11 +647,11 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer @Override protected void onPositionReset(long positionUs, boolean joining) throws ExoPlaybackException { - // When this renderer doesn't own the VideoSinkProvider, it's possible that the VideoSink is - // already initialized by another renderer, before this renderer is enabled. + // When this renderer doesn't own the VideoSink, it's possible that the VideoSink is already + // initialized by another renderer, before this renderer is enabled. // Flush the video sink first to ensure it stops reading textures that will be owned by // MediaCodec once the codec is flushed. - videoSinkProvider.getSink().flush(); + videoSink.flush(); super.onPositionReset(positionUs, joining); videoFrameReleaseControl.reset(); if (joining) { @@ -1451,9 +1451,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer super.onProcessedStreamChange(); videoFrameReleaseControl.onProcessedStreamChange(); maybeSetupTunnelingForFirstFrame(); - // If the renderer does not own the VideoSinkProvider, it's possible the VideoSink is null when - // this method is invoked, that is when transitioning from another renderer. - videoSinkProvider.getSink().setStreamOffsetUs(getOutputStreamOffsetUs()); + videoSink.setStreamOffsetUs(getOutputStreamOffsetUs()); } /**