From f8a3c135e5ba0216053a9a041f4020888579b6f5 Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 22 Nov 2018 17:32:04 +0000 Subject: [PATCH] Use overflow-save add operation for blacklisting duration. This allows to specify open-ended blacklisting with Long.MAX_VALUE. PiperOrigin-RevId: 222550939 --- .../com/google/android/exoplayer2/castdemo/DemoUtil.java | 1 - .../exoplayer2/trackselection/BaseTrackSelection.java | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/demos/cast/src/main/java/com/google/android/exoplayer2/castdemo/DemoUtil.java b/demos/cast/src/main/java/com/google/android/exoplayer2/castdemo/DemoUtil.java index 0ff2e09a392..5291e78c452 100644 --- a/demos/cast/src/main/java/com/google/android/exoplayer2/castdemo/DemoUtil.java +++ b/demos/cast/src/main/java/com/google/android/exoplayer2/castdemo/DemoUtil.java @@ -70,7 +70,6 @@ .setMimeType(MIME_TYPE_VIDEO_MP4) .setMedia("https://html5demos.com/assets/dizzy.mp4") .buildAndClear()); - SAMPLES = Collections.unmodifiableList(samples); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/BaseTrackSelection.java b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/BaseTrackSelection.java index 9a15cbae141..798b6ce8108 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/BaseTrackSelection.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/BaseTrackSelection.java @@ -22,6 +22,7 @@ import com.google.android.exoplayer2.source.TrackGroup; import com.google.android.exoplayer2.source.chunk.MediaChunk; import com.google.android.exoplayer2.util.Assertions; +import com.google.android.exoplayer2.util.Util; import java.util.Arrays; import java.util.Comparator; import java.util.List; @@ -160,7 +161,10 @@ public final boolean blacklist(int index, long blacklistDurationMs) { if (!canBlacklist) { return false; } - blacklistUntilTimes[index] = Math.max(blacklistUntilTimes[index], nowMs + blacklistDurationMs); + blacklistUntilTimes[index] = + Math.max( + blacklistUntilTimes[index], + Util.addWithOverflowDefault(nowMs, blacklistDurationMs, Long.MAX_VALUE)); return true; }