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),