Commit 29a6280b by olly Committed by Ian Baker

Rewrite EventLogger to use new track APIs

PiperOrigin-RevId: 425595951
parent 30feb077
...@@ -181,7 +181,7 @@ public final class MainActivity extends Activity { ...@@ -181,7 +181,7 @@ public final class MainActivity extends Activity {
Assertions.checkNotNull(this.videoProcessingGLSurfaceView); Assertions.checkNotNull(this.videoProcessingGLSurfaceView);
videoProcessingGLSurfaceView.setPlayer(player); videoProcessingGLSurfaceView.setPlayer(player);
Assertions.checkNotNull(playerView).setPlayer(player); Assertions.checkNotNull(playerView).setPlayer(player);
player.addAnalyticsListener(new EventLogger(/* trackSelector= */ null)); player.addAnalyticsListener(new EventLogger());
this.player = player; this.player = player;
} }
......
...@@ -276,7 +276,7 @@ public class PlayerActivity extends AppCompatActivity ...@@ -276,7 +276,7 @@ public class PlayerActivity extends AppCompatActivity
.build(); .build();
player.setTrackSelectionParameters(trackSelectionParameters); player.setTrackSelectionParameters(trackSelectionParameters);
player.addListener(new PlayerEventListener()); player.addListener(new PlayerEventListener());
player.addAnalyticsListener(new EventLogger(trackSelector)); player.addAnalyticsListener(new EventLogger());
player.setAudioAttributes(AudioAttributes.DEFAULT, /* handleAudioFocus= */ true); player.setAudioAttributes(AudioAttributes.DEFAULT, /* handleAudioFocus= */ true);
player.setPlayWhenReady(startAutoPlay); player.setPlayWhenReady(startAutoPlay);
playerView.setPlayer(player); playerView.setPlayer(player);
......
...@@ -9,13 +9,10 @@ issues. `EventLogger` implements `AnalyticsListener`, so registering an instance ...@@ -9,13 +9,10 @@ issues. `EventLogger` implements `AnalyticsListener`, so registering an instance
with an `ExoPlayer` is easy: with an `ExoPlayer` is easy:
``` ```
player.addAnalyticsListener(new EventLogger(trackSelector)); player.addAnalyticsListener(new EventLogger());
``` ```
{: .language-java} {: .language-java}
Passing the `trackSelector` enables additional logging, but is optional and so
`null` can be passed instead.
The easiest way to observe the log is using Android Studio's [logcat tab][]. You The easiest way to observe the log is using Android Studio's [logcat tab][]. You
can select your app as debuggable process by the package name ( can select your app as debuggable process by the package name (
`com.google.android.exoplayer2.demo` if using the demo app) and tell the logcat `com.google.android.exoplayer2.demo` if using the demo app) and tell the logcat
...@@ -80,20 +77,16 @@ logging for an adaptive stream: ...@@ -80,20 +77,16 @@ logging for an adaptive stream:
``` ```
EventLogger: tracks [eventTime=0.30, mediaPos=0.00, window=0, period=0, EventLogger: tracks [eventTime=0.30, mediaPos=0.00, window=0, period=0,
EventLogger: MediaCodecVideoRenderer [ EventLogger: group [
EventLogger: Group:0, adaptive_supported=YES [ EventLogger: [X] Track:0, id=133, mimeType=video/avc, bitrate=261112, codecs=avc1.4d4015, res=426x240, fps=30.0, supported=YES
EventLogger: [X] Track:0, id=133, mimeType=video/avc, bitrate=261112, codecs=avc1.4d4015, res=426x240, fps=30.0, supported=YES EventLogger: [X] Track:1, id=134, mimeType=video/avc, bitrate=671331, codecs=avc1.4d401e, res=640x360, fps=30.0, supported=YES
EventLogger: [X] Track:1, id=134, mimeType=video/avc, bitrate=671331, codecs=avc1.4d401e, res=640x360, fps=30.0, supported=YES EventLogger: [X] Track:2, id=135, mimeType=video/avc, bitrate=1204535, codecs=avc1.4d401f, res=854x480, fps=30.0, supported=YES
EventLogger: [X] Track:2, id=135, mimeType=video/avc, bitrate=1204535, codecs=avc1.4d401f, res=854x480, fps=30.0, supported=YES EventLogger: [X] Track:3, id=160, mimeType=video/avc, bitrate=112329, codecs=avc1.4d400c, res=256x144, fps=30.0, supported=YES
EventLogger: [X] Track:3, id=160, mimeType=video/avc, bitrate=112329, codecs=avc1.4d400c, res=256x144, fps=30.0, supported=YES EventLogger: [ ] Track:4, id=136, mimeType=video/avc, bitrate=2400538, codecs=avc1.4d401f, res=1280x720, fps=30.0, supported=NO_EXCEEDS_CAPABILITIES
EventLogger: [ ] Track:4, id=136, mimeType=video/avc, bitrate=2400538, codecs=avc1.4d401f, res=1280x720, fps=30.0, supported=NO_EXCEEDS_CAPABILITIES
EventLogger: ]
EventLogger: ] EventLogger: ]
EventLogger: MediaCodecAudioRenderer [ EventLogger: group [
EventLogger: Group:0, adaptive_supported=YES_NOT_SEAMLESS [ EventLogger: [ ] Track:0, id=139, mimeType=audio/mp4a-latm, bitrate=48582, codecs=mp4a.40.5, channels=2, sample_rate=22050, supported=YES
EventLogger: [ ] Track:0, id=139, mimeType=audio/mp4a-latm, bitrate=48582, codecs=mp4a.40.5, channels=2, sample_rate=22050, supported=YES EventLogger: [X] Track:1, id=140, mimeType=audio/mp4a-latm, bitrate=127868, codecs=mp4a.40.2, channels=2, sample_rate=44100, supported=YES
EventLogger: [X] Track:1, id=140, mimeType=audio/mp4a-latm, bitrate=127868, codecs=mp4a.40.2, channels=2, sample_rate=44100, supported=YES
EventLogger: ]
EventLogger: ] EventLogger: ]
EventLogger: ] EventLogger: ]
``` ```
......
...@@ -193,12 +193,11 @@ logging purposes. It can be added to an `ExoPlayer` to enable useful ...@@ -193,12 +193,11 @@ logging purposes. It can be added to an `ExoPlayer` to enable useful
additional logging with a single line. additional logging with a single line.
``` ```
player.addAnalyticsListener(new EventLogger(trackSelector)); player.addAnalyticsListener(new EventLogger());
``` ```
{: .language-java } {: .language-java }
Passing the `trackSelector` enables additional logging, but is optional and so See the [debug logging page][] for more details.
`null` can be passed instead. See the [debug logging page][] for more details.
## Firing events at specified playback positions ## ## Firing events at specified playback positions ##
......
...@@ -136,7 +136,7 @@ public abstract class ExoHostedTest implements AnalyticsListener, HostedTest { ...@@ -136,7 +136,7 @@ public abstract class ExoHostedTest implements AnalyticsListener, HostedTest {
player = buildExoPlayer(host, surface, trackSelector); player = buildExoPlayer(host, surface, trackSelector);
player.play(); player.play();
player.addAnalyticsListener(this); player.addAnalyticsListener(this);
player.addAnalyticsListener(new EventLogger(trackSelector, tag)); player.addAnalyticsListener(new EventLogger(tag));
// Schedule any pending actions. // Schedule any pending actions.
actionHandler = actionHandler =
Clock.DEFAULT.createHandler(Util.getCurrentOrMainLooper(), /* callback= */ null); Clock.DEFAULT.createHandler(Util.getCurrentOrMainLooper(), /* callback= */ null);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment