From b2ecce4d07a5a4bc7e11ecb1cce4fc2fe6b710d1 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 --- .../android/exoplayer2/analytics/MediaMetricsListener.java | 6 ++++++ 1 file changed, 6 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 9cc1636332..a54a61d093 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 @@ -592,6 +592,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) {