From 24e77a33939b8f1fdf764462ddfbea83b50d6f24 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 19 Jan 2022 14:26:49 +0000 Subject: [PATCH] Reset some state values when a session is finished. Currently, we keep the values for dropped/played frames, audio underruns and current formats from the last session, causing double reporting of counters and wrong track change reasons for formats. All these values should be reset when the active session is finished, so that the new session can start from scratch. PiperOrigin-RevId: 422798406 --- .../media3/exoplayer/analytics/MediaMetricsListener.java | 6 ++++++ 1 file changed, 6 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 c3f874dbb1..f7299c5f2b 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 @@ -594,6 +594,12 @@ public final class MediaMetricsListener playbackSession.reportPlaybackMetrics(metricsBuilder.build()); metricsBuilder = null; activeSessionId = null; + audioUnderruns = 0; + droppedFrames = 0; + playedFrames = 0; + currentVideoFormat = null; + currentAudioFormat = null; + currentTextFormat = null; } private static int getTrackChangeReason(@C.SelectionReason int trackSelectionReason) {