From 9e4d68ecb6309f109591910fe7a80e3ec0d33037 Mon Sep 17 00:00:00 2001 From: olly Date: Fri, 14 Jan 2022 18:10:39 +0000 Subject: [PATCH] Don't sample VSYNC when not started PiperOrigin-RevId: 421855453 --- .../video/MediaCodecVideoRenderer.java | 2 -- .../video/VideoFrameReleaseHelper.java | 18 +++++------------- 2 files changed, 5 insertions(+), 15 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 fa37db576d..c8607616c7 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 @@ -493,7 +493,6 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { releaseCodec(); } eventDispatcher.enabled(decoderCounters); - frameReleaseHelper.onEnabled(); mayRenderFirstFrameAfterEnableIfNotStarted = mayRenderStartOfStream; renderedFirstFrameAfterEnable = false; } @@ -561,7 +560,6 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { clearReportedVideoSize(); clearRenderedFirstFrame(); haveReportedFirstFrameRenderedForCurrentSurface = false; - frameReleaseHelper.onDisabled(); tunnelingOnFrameRenderedListener = null; try { super.onDisabled(); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java index 45403b243a..d5646ca11c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java @@ -151,18 +151,14 @@ public final class VideoFrameReleaseHelper { updateSurfacePlaybackFrameRate(/* forceUpdate= */ true); } - /** Called when the renderer is enabled. */ - public void onEnabled() { - if (displayHelper != null) { - checkNotNull(vsyncSampler).addObserver(); - displayHelper.register(this::updateDefaultDisplayRefreshRateParams); - } - } - /** Called when the renderer is started. */ public void onStarted() { started = true; resetAdjustment(); + if (displayHelper != null) { + checkNotNull(vsyncSampler).addObserver(); + displayHelper.register(this::updateDefaultDisplayRefreshRateParams); + } updateSurfacePlaybackFrameRate(/* forceUpdate= */ false); } @@ -229,15 +225,11 @@ public final class VideoFrameReleaseHelper { /** Called when the renderer is stopped. */ public void onStopped() { started = false; - clearSurfaceFrameRate(); - } - - /** Called when the renderer is disabled. */ - public void onDisabled() { if (displayHelper != null) { displayHelper.unregister(); checkNotNull(vsyncSampler).removeObserver(); } + clearSurfaceFrameRate(); } // Frame release time adjustment.