diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 324ccf3fa1..a807bafd0c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -13,6 +13,9 @@ * Add `ExoPlayer.setPriority` (and `Builder.setPriority`) to define the priority value used in `PriorityTaskManager` and for MediaCodec importance from API 35. + * Fix issue with updating the last rebuffer time which resulted in + incorrect `bs` (buffer starvation) key in CMCD + ([#1124](https://github.com/androidx/media/issues/1124)). * Transformer: * Work around a decoder bug where the number of audio channels was capped at stereo when handling PCM input. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java index 131f6551ff..201d21f246 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java @@ -3019,7 +3019,7 @@ import java.util.concurrent.atomic.AtomicBoolean; private void updateRebufferingState(boolean isRebuffering, boolean resetLastRebufferRealtimeMs) { this.isRebuffering = isRebuffering; this.lastRebufferRealtimeMs = - resetLastRebufferRealtimeMs ? C.TIME_UNSET : clock.elapsedRealtime(); + isRebuffering && !resetLastRebufferRealtimeMs ? clock.elapsedRealtime() : C.TIME_UNSET; } /**