More comprehensive EventLogger in CompositionPlayer

* Add an EventLogger to the top-level CompositionPlayer
* Label the sequence player EventLoggers differently

PiperOrigin-RevId: 750104688
This commit is contained in:
dancho 2025-04-22 02:09:56 -07:00 committed by Copybara-Service
parent b6f0045840
commit d26fd583ea

View File

@ -59,6 +59,8 @@ import androidx.media3.effect.TimestampAdjustment;
import androidx.media3.exoplayer.ExoPlaybackException; import androidx.media3.exoplayer.ExoPlaybackException;
import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.RendererCapabilities; import androidx.media3.exoplayer.RendererCapabilities;
import androidx.media3.exoplayer.analytics.AnalyticsCollector;
import androidx.media3.exoplayer.analytics.DefaultAnalyticsCollector;
import androidx.media3.exoplayer.audio.AudioSink; import androidx.media3.exoplayer.audio.AudioSink;
import androidx.media3.exoplayer.audio.DefaultAudioSink; import androidx.media3.exoplayer.audio.DefaultAudioSink;
import androidx.media3.exoplayer.image.ImageDecoder; import androidx.media3.exoplayer.image.ImageDecoder;
@ -286,6 +288,10 @@ public final class CompositionPlayer extends SimpleBasePlayer
.build()); .build());
} }
CompositionPlayer compositionPlayer = new CompositionPlayer(this); CompositionPlayer compositionPlayer = new CompositionPlayer(this);
AnalyticsCollector analyticsCollector = new DefaultAnalyticsCollector(clock);
analyticsCollector.setPlayer(compositionPlayer, looper);
analyticsCollector.addListener(new EventLogger(TAG));
compositionPlayer.addListener(analyticsCollector);
built = true; built = true;
return compositionPlayer; return compositionPlayer;
} }
@ -817,7 +823,7 @@ public final class CompositionPlayer extends SimpleBasePlayer
ExoPlayer player = playerBuilder.build(); ExoPlayer player = playerBuilder.build();
player.addListener(new PlayerListener(i)); player.addListener(new PlayerListener(i));
player.addAnalyticsListener(new EventLogger()); player.addAnalyticsListener(new EventLogger(TAG + "-" + i));
player.setPauseAtEndOfMediaItems(true); player.setPauseAtEndOfMediaItems(true);
if (i == 0) { if (i == 0) {