From dfc3c507a0fd7a9dfbc0f240c89466d0117f9b95 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Wed, 27 May 2020 20:58:42 +0100 Subject: [PATCH] Don't allow bad MediaSource release implementation to crash player. This also allows subsequent MediaSource instance in the list to still be released successfully. Issue: #7168 --- .../google/android/exoplayer2/ExoPlayerImplInternal.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java index 6fd23a93c5..108d94abb4 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java @@ -954,7 +954,12 @@ import java.util.concurrent.atomic.AtomicBoolean; startPositionUs); if (releaseMediaSource) { if (mediaSource != null) { - mediaSource.releaseSource(/* caller= */ this); + try { + mediaSource.releaseSource(/* caller= */ this); + } catch (RuntimeException e) { + // There's nothing we can do. + Log.e(TAG, "Failed to release child source.", e); + } mediaSource = null; } }