diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java index 2ff0c7d2fd..f2667947d9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java @@ -103,10 +103,9 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities { Assertions.checkState(state == STATE_DISABLED); this.configuration = configuration; state = STATE_ENABLED; - lastResetPositionUs = positionUs; onEnabled(joining, mayRenderStartOfStream); replaceStream(formats, stream, startPositionUs, offsetUs); - onPositionReset(positionUs, joining); + resetPosition(positionUs, joining); } @Override @@ -163,10 +162,14 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities { @Override public final void resetPosition(long positionUs) throws ExoPlaybackException { + resetPosition(positionUs, /* joining= */ false); + } + + private void resetPosition(long positionUs, boolean joining) throws ExoPlaybackException { streamIsFinal = false; lastResetPositionUs = positionUs; readingPositionUs = positionUs; - onPositionReset(positionUs, false); + onPositionReset(positionUs, joining); } @Override