From bf04bb5bc0ed945d2ac5bfc2786d6339fe4a498d Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 27 Apr 2021 14:02:27 +0100 Subject: [PATCH] Fix that loadingFinished is never set to true. Previously loadingFinished will never be set to true because it started in false, and we are and'ing it with `canceled`. #minor-release PiperOrigin-RevId: 370662456 --- .../exoplayer2/source/rtsp/RtspMediaPeriod.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java index d46892e71d..f9e70e3e5d 100644 --- a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java +++ b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java @@ -353,6 +353,13 @@ public final class RtspMediaPeriod implements MediaPeriod { } } + private void updateLoadingFinished() { + loadingFinished = true; + for (int i = 0; i < rtspLoaderWrappers.size(); i++) { + loadingFinished &= rtspLoaderWrappers.get(i).canceled; + } + } + private static ImmutableList buildTrackGroups( ImmutableList rtspLoaderWrappers) { ImmutableList.Builder listBuilder = new ImmutableList.Builder<>(); @@ -583,9 +590,7 @@ public final class RtspMediaPeriod implements MediaPeriod { canceled = true; // Update loadingFinished every time loading is canceled. - for (int i = 0; i < rtspLoaderWrappers.size(); i++) { - loadingFinished &= rtspLoaderWrappers.get(i).canceled; - } + updateLoadingFinished(); } /** Resets the {@link Loadable} and {@link SampleQueue} to prepare for an RTSP seek. */