From 43d1bfe11abc128a90d76bba6930e0ab7ee4404f Mon Sep 17 00:00:00 2001 From: jaeholee104 Date: Sat, 3 Jun 2023 04:47:17 +0900 Subject: [PATCH] Improve track index adjustment logic by adding index comparison. --- .../exoplayer/trackselection/AdaptiveTrackSelection.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.java index 91173edc35..dd9ccf6e9f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.java @@ -457,7 +457,8 @@ public class AdaptiveTrackSelection extends BaseTrackSelection { previousReason = Iterables.getLast(queue).trackSelectionReason; } int newSelectedIndex = determineIdealSelectedIndex(nowMs, chunkDurationUs); - if (!isTrackExcluded(previousSelectedIndex, nowMs)) { + if (newSelectedIndex != previousSelectedIndex + && !isTrackExcluded(previousSelectedIndex, nowMs)) { // Revert back to the previous selection if conditions are not suitable for switching. Format currentFormat = getFormat(previousSelectedIndex); Format selectedFormat = getFormat(newSelectedIndex);