Search in sources :

Example 11 with CapturingRenderersFactory

use of androidx.media3.test.utils.CapturingRenderersFactory in project media by androidx.

the class MkvPlaybackTest method test.

@Test
public void test() throws Exception {
    Context applicationContext = ApplicationProvider.getApplicationContext();
    CapturingRenderersFactory capturingRenderersFactory = new CapturingRenderersFactory(applicationContext);
    ExoPlayer player = new ExoPlayer.Builder(applicationContext, capturingRenderersFactory).setClock(new FakeClock(/* isAutoAdvancing= */
    true)).build();
    // subtitle output is not flaky.
    for (int textRendererIndex = 0; textRendererIndex < player.getRendererCount(); textRendererIndex++) {
        if (player.getRendererType(textRendererIndex) == C.TRACK_TYPE_TEXT) {
            player.setTrackSelectionParameters(new DefaultTrackSelector.ParametersBuilder(applicationContext).setRendererDisabled(textRendererIndex, /* disabled= */
            true).build());
            break;
        }
    }
    player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */
    1)));
    PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory);
    player.setMediaItem(MediaItem.fromUri("asset:///media/mkv/" + inputFile));
    player.prepare();
    player.play();
    TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED);
    player.release();
    DumpFileAsserts.assertOutput(applicationContext, playbackOutput, "playbackdumps/mkv/" + inputFile + ".dump");
}
Also used : Context(android.content.Context) PlaybackOutput(androidx.media3.test.utils.robolectric.PlaybackOutput) SurfaceTexture(android.graphics.SurfaceTexture) CapturingRenderersFactory(androidx.media3.test.utils.CapturingRenderersFactory) FakeClock(androidx.media3.test.utils.FakeClock) DefaultTrackSelector(androidx.media3.exoplayer.trackselection.DefaultTrackSelector) ExoPlayer(androidx.media3.exoplayer.ExoPlayer) Surface(android.view.Surface) Test(org.junit.Test)

Example 12 with CapturingRenderersFactory

use of androidx.media3.test.utils.CapturingRenderersFactory in project media by androidx.

the class Mp3PlaybackTest method test.

@Test
public void test() throws Exception {
    Context applicationContext = ApplicationProvider.getApplicationContext();
    CapturingRenderersFactory capturingRenderersFactory = new CapturingRenderersFactory(applicationContext);
    ExoPlayer player = new ExoPlayer.Builder(applicationContext, capturingRenderersFactory).setClock(new FakeClock(/* isAutoAdvancing= */
    true)).build();
    PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory);
    player.setMediaItem(MediaItem.fromUri("asset:///media/mp3/" + inputFile));
    player.prepare();
    player.play();
    TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED);
    player.release();
    DumpFileAsserts.assertOutput(applicationContext, playbackOutput, "playbackdumps/mp3/" + inputFile + ".dump");
}
Also used : Context(android.content.Context) PlaybackOutput(androidx.media3.test.utils.robolectric.PlaybackOutput) CapturingRenderersFactory(androidx.media3.test.utils.CapturingRenderersFactory) FakeClock(androidx.media3.test.utils.FakeClock) ExoPlayer(androidx.media3.exoplayer.ExoPlayer) Test(org.junit.Test)

Example 13 with CapturingRenderersFactory

use of androidx.media3.test.utils.CapturingRenderersFactory in project media by androidx.

the class Mp4PlaybackTest method test.

@Test
public void test() throws Exception {
    Context applicationContext = ApplicationProvider.getApplicationContext();
    CapturingRenderersFactory renderersFactory = new CapturingRenderersFactory(applicationContext);
    ExoPlayer player = new ExoPlayer.Builder(applicationContext, renderersFactory).setClock(new FakeClock(/* isAutoAdvancing= */
    true)).build();
    player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */
    1)));
    PlaybackOutput playbackOutput = PlaybackOutput.register(player, renderersFactory);
    player.setMediaItem(MediaItem.fromUri("asset:///media/mp4/" + inputFile));
    player.prepare();
    player.play();
    TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED);
    player.release();
    DumpFileAsserts.assertOutput(applicationContext, playbackOutput, "playbackdumps/mp4/" + inputFile + ".dump");
}
Also used : Context(android.content.Context) PlaybackOutput(androidx.media3.test.utils.robolectric.PlaybackOutput) SurfaceTexture(android.graphics.SurfaceTexture) CapturingRenderersFactory(androidx.media3.test.utils.CapturingRenderersFactory) FakeClock(androidx.media3.test.utils.FakeClock) ExoPlayer(androidx.media3.exoplayer.ExoPlayer) Surface(android.view.Surface) Test(org.junit.Test)

Example 14 with CapturingRenderersFactory

use of androidx.media3.test.utils.CapturingRenderersFactory in project media by androidx.

the class OggPlaybackTest method test.

@Test
public void test() throws Exception {
    Context applicationContext = ApplicationProvider.getApplicationContext();
    CapturingRenderersFactory capturingRenderersFactory = new CapturingRenderersFactory(applicationContext);
    ExoPlayer player = new ExoPlayer.Builder(applicationContext, capturingRenderersFactory).setClock(new FakeClock(/* isAutoAdvancing= */
    true)).build();
    PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory);
    player.setMediaItem(MediaItem.fromUri("asset:///media/ogg/" + inputFile));
    player.prepare();
    player.play();
    TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED);
    player.release();
    DumpFileAsserts.assertOutput(applicationContext, playbackOutput, "playbackdumps/ogg/" + inputFile + ".dump");
}
Also used : Context(android.content.Context) PlaybackOutput(androidx.media3.test.utils.robolectric.PlaybackOutput) CapturingRenderersFactory(androidx.media3.test.utils.CapturingRenderersFactory) FakeClock(androidx.media3.test.utils.FakeClock) ExoPlayer(androidx.media3.exoplayer.ExoPlayer) Test(org.junit.Test)

Example 15 with CapturingRenderersFactory

use of androidx.media3.test.utils.CapturingRenderersFactory in project media by androidx.

the class PlaylistPlaybackTest method test_bypassOffThenOn.

@Test
public void test_bypassOffThenOn() throws Exception {
    Context applicationContext = ApplicationProvider.getApplicationContext();
    CapturingRenderersFactory capturingRenderersFactory = new CapturingRenderersFactory(applicationContext);
    ExoPlayer player = new ExoPlayer.Builder(applicationContext, capturingRenderersFactory).setClock(new FakeClock(/* isAutoAdvancing= */
    true)).build();
    PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory);
    player.addMediaItem(MediaItem.fromUri("asset:///media/mka/bear-opus.mka"));
    player.addMediaItem(MediaItem.fromUri("asset:///media/wav/sample.wav"));
    player.prepare();
    player.play();
    TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED);
    player.release();
    DumpFileAsserts.assertOutput(applicationContext, playbackOutput, "playbackdumps/playlists/bypass-off-then-on.dump");
}
Also used : Context(android.content.Context) PlaybackOutput(androidx.media3.test.utils.robolectric.PlaybackOutput) CapturingRenderersFactory(androidx.media3.test.utils.CapturingRenderersFactory) FakeClock(androidx.media3.test.utils.FakeClock) ExoPlayer(androidx.media3.exoplayer.ExoPlayer) Test(org.junit.Test)

Aggregations

ExoPlayer (androidx.media3.exoplayer.ExoPlayer)22 PlaybackOutput (androidx.media3.test.utils.robolectric.PlaybackOutput)21 Test (org.junit.Test)21 Context (android.content.Context)20 CapturingRenderersFactory (androidx.media3.test.utils.CapturingRenderersFactory)20 FakeClock (androidx.media3.test.utils.FakeClock)20 SurfaceTexture (android.graphics.SurfaceTexture)11 Surface (android.view.Surface)11 MediaItem (androidx.media3.common.MediaItem)4 DefaultMediaSourceFactory (androidx.media3.exoplayer.source.DefaultMediaSourceFactory)4 Pair (android.util.Pair)3 AdPlaybackState (androidx.media3.common.AdPlaybackState)3 Player (androidx.media3.common.Player)3 Timeline (androidx.media3.common.Timeline)3 Assertions.checkNotNull (androidx.media3.common.util.Assertions.checkNotNull)3 AnalyticsListener (androidx.media3.exoplayer.analytics.AnalyticsListener)3 PlayerId (androidx.media3.exoplayer.analytics.PlayerId)3 ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState (androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState)3 DumpFileAsserts (androidx.media3.test.utils.DumpFileAsserts)3 FakeMediaSource (androidx.media3.test.utils.FakeMediaSource)3