From 67554395cb6ca9842f3aa3c2cf903e16dbc2fc8e Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 15 May 2024 05:43:16 -0700 Subject: [PATCH] Fix test flakiness The test currently resets the time too far in the past and then has to run through ~30000 additional iterations of doSomeWork to reach the end, sometimes triggering the test timeout. Fix it by resetting the time to the intended start position when transitioning items. PiperOrigin-RevId: 633918706 --- .../androidx/media3/exoplayer/ExoPlayerTest.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index cdb0515cec..f6fcc1ae45 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -11141,7 +11141,7 @@ public class ExoPlayerTest { @Override protected void onStreamChanged( Format[] formats, long startPositionUs, long offsetUs, MediaPeriodId mediaPeriodId) { - this.positionUs = offsetUs; + this.positionUs = startPositionUs; } @Override @@ -14688,22 +14688,22 @@ public class ExoPlayerTest { AdPlaybackState.NONE)); FakeMediaClockRenderer audioRenderer = new FakeMediaClockRenderer(C.TRACK_TYPE_AUDIO) { - private long offsetUs; + private long startPositionUs; private long positionUs; private boolean hasPendingReportedSkippedSilence; @Override protected void onStreamChanged( Format[] formats, long startPositionUs, long offsetUs, MediaPeriodId mediaPeriodId) { - this.offsetUs = offsetUs; - this.positionUs = offsetUs; + this.startPositionUs = startPositionUs; + this.positionUs = startPositionUs; } @Override public long getPositionUs() { // Continuously increase position to let playback progress, and simulate the silence // skip until it reaches some points of time. - if (positionUs - offsetUs == 10_000) { + if (positionUs - startPositionUs == 10_000) { hasPendingReportedSkippedSilence = true; positionUs += 30_000; } else { @@ -14758,7 +14758,7 @@ public class ExoPlayerTest { @Override protected void onStreamChanged( Format[] formats, long startPositionUs, long offsetUs, MediaPeriodId mediaPeriodId) { - positionUs = offsetUs; + positionUs = startPositionUs; } @Override @@ -14770,7 +14770,7 @@ public class ExoPlayerTest { @Override public boolean hasSkippedSilenceSinceLastCall() { - // Contuniuosly report skipped silences to ensure they will overlap with other + // Continuously report skipped silences to ensure they will overlap with other // discontinuities like AUTO_TRANSITION. return true; }