From 4112a99f49fd0cef76ada2dcd31489a22ca9a0ba Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 3 Feb 2022 10:09:42 +0000 Subject: [PATCH] Ignore format changes arriving after the media has been removed. PiperOrigin-RevId: 426089165 --- .../android/exoplayer2/analytics/MediaMetricsListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/analytics/MediaMetricsListener.java b/library/core/src/main/java/com/google/android/exoplayer2/analytics/MediaMetricsListener.java index cc4780b0de..29ea1322bd 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/analytics/MediaMetricsListener.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/analytics/MediaMetricsListener.java @@ -237,6 +237,11 @@ public final class MediaMetricsListener @Override public void onDownstreamFormatChanged(EventTime eventTime, MediaLoadData mediaLoadData) { + if (eventTime.mediaPeriodId == null) { + // This event arrived after the media has been removed from the playlist or a custom + // MediaSource forgot to set the right id. Ignore the track change in these cases. + return; + } PendingFormatUpdate update = new PendingFormatUpdate( checkNotNull(mediaLoadData.trackFormat),