From 530c868c1762b5bee4b308bc37ad3ba176ddec27 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 --- .../media3/exoplayer/analytics/MediaMetricsListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java index 69f9f0ac4f..419e168b5c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java @@ -239,6 +239,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),