From d0c13733e4586bfafb1ede462329f2c802fbadf4 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/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 7f53747ea3..b29b0256a4 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 @@ -490,7 +490,6 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { releaseCodec(); } eventDispatcher.enabled(decoderCounters); - frameReleaseHelper.onEnabled(); mayRenderFirstFrameAfterEnableIfNotStarted = mayRenderStartOfStream; renderedFirstFrameAfterEnable = false; } @@ -558,7 +557,6 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { clearReportedVideoSize(); clearRenderedFirstFrame(); haveReportedFirstFrameRenderedForCurrentSurface = false; - frameReleaseHelper.onDisabled(); tunnelingOnFrameRenderedListener = null; try { super.onDisabled(); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.java index 33a445f52f..1875eea81a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.java @@ -149,18 +149,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); } @@ -227,15 +223,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.