Search in sources :

Example 11 with Clock

use of com.google.android.exoplayer2.util.Clock in project ExoPlayer by google.

the class MetadataRetrieverTest method retrieveMetadata_singleMediaItem_outputsExpectedMetadata.

@Test
public void retrieveMetadata_singleMediaItem_outputsExpectedMetadata() throws Exception {
    MediaItem mediaItem = MediaItem.fromUri(Uri.parse("asset://android_asset/media/mp4/sample.mp4"));
    ListenableFuture<TrackGroupArray> trackGroupsFuture = retrieveMetadata(context, mediaItem, clock);
    ShadowLooper.idleMainLooper();
    TrackGroupArray trackGroups = trackGroupsFuture.get(TEST_TIMEOUT_SEC, TimeUnit.SECONDS);
    assertThat(trackGroups.length).isEqualTo(2);
    // Video group.
    assertThat(trackGroups.get(0).length).isEqualTo(1);
    assertThat(trackGroups.get(0).getFormat(0).sampleMimeType).isEqualTo(MimeTypes.VIDEO_H264);
    // Audio group.
    assertThat(trackGroups.get(1).length).isEqualTo(1);
    assertThat(trackGroups.get(1).getFormat(0).sampleMimeType).isEqualTo(MimeTypes.AUDIO_AAC);
}
Also used : TrackGroupArray(com.google.android.exoplayer2.source.TrackGroupArray) Test(org.junit.Test)

Example 12 with Clock

use of com.google.android.exoplayer2.util.Clock in project ExoPlayer by google.

the class MetadataRetrieverTest method setUp.

@Before
public void setUp() throws Exception {
    context = ApplicationProvider.getApplicationContext();
    clock = new FakeClock(/* isAutoAdvancing= */
    true);
}
Also used : FakeClock(com.google.android.exoplayer2.testutil.FakeClock) Before(org.junit.Before)

Example 13 with Clock

use of com.google.android.exoplayer2.util.Clock in project ExoPlayer by google.

the class DefaultBandwidthMeterTest method networkTypeOverride_doesFullReset.

@Test
public void networkTypeOverride_doesFullReset() {
    // Simulate transfers for an ethernet connection.
    setActiveNetworkInfo(networkInfoEthernet);
    FakeClock clock = new FakeClock(/* initialTimeMs= */
    0);
    DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(ApplicationProvider.getApplicationContext()).setClock(clock).build();
    long[] bitrateEstimatesWithNewInstance = simulateTransfers(bandwidthMeter, clock);
    // Create a new instance and seed with some transfers.
    setActiveNetworkInfo(networkInfo2g);
    bandwidthMeter = new DefaultBandwidthMeter.Builder(ApplicationProvider.getApplicationContext()).setClock(clock).build();
    simulateTransfers(bandwidthMeter, clock);
    // Override the network type to ethernet and simulate transfers again.
    bandwidthMeter.setNetworkTypeOverride(C.NETWORK_TYPE_ETHERNET);
    long[] bitrateEstimatesAfterReset = simulateTransfers(bandwidthMeter, clock);
    // If overriding the network type fully reset the bandwidth meter, we expect the bitrate
    // estimates generated during simulation to be the same.
    assertThat(bitrateEstimatesAfterReset).isEqualTo(bitrateEstimatesWithNewInstance);
}
Also used : FakeClock(com.google.android.exoplayer2.testutil.FakeClock) Test(org.junit.Test)

Example 14 with Clock

use of com.google.android.exoplayer2.util.Clock in project ExoPlayer by google.

the class PlayerMessageTest method setUp.

@Before
public void setUp() {
    initMocks(this);
    PlayerMessage.Sender sender = (message) -> {
    };
    PlayerMessage.Target target = (messageType, payload) -> {
    };
    handlerThread = new HandlerThread("TestHandler");
    handlerThread.start();
    message = new PlayerMessage(sender, target, Timeline.EMPTY, /* defaultWindowIndex= */
    0, clock, handlerThread.getLooper());
}
Also used : MockitoAnnotations.initMocks(org.mockito.MockitoAnnotations.initMocks) Clock(com.google.android.exoplayer2.util.Clock) Mock(org.mockito.Mock) Assert.assertThrows(org.junit.Assert.assertThrows) RunWith(org.junit.runner.RunWith) TimeoutException(java.util.concurrent.TimeoutException) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) Truth.assertThat(com.google.common.truth.Truth.assertThat) AndroidJUnit4(androidx.test.ext.junit.runners.AndroidJUnit4) Executors(java.util.concurrent.Executors) Mockito.verify(org.mockito.Mockito.verify) CountDownLatch(java.util.concurrent.CountDownLatch) Mockito(org.mockito.Mockito) Future(java.util.concurrent.Future) HandlerThread(android.os.HandlerThread) After(org.junit.After) SECONDS(java.util.concurrent.TimeUnit.SECONDS) ExecutorService(java.util.concurrent.ExecutorService) Before(org.junit.Before) HandlerThread(android.os.HandlerThread) Before(org.junit.Before)

Example 15 with Clock

use of com.google.android.exoplayer2.util.Clock in project ExoPlayer by google.

the class RobolectricUtilTest method runMainLooperUntil_withConditionThatNeverBecomesTrue_timesOut.

@Test
public void runMainLooperUntil_withConditionThatNeverBecomesTrue_timesOut() {
    Clock mockClock = mock(Clock.class);
    when(mockClock.currentTimeMillis()).thenReturn(0L, 41L, 42L);
    assertThrows(TimeoutException.class, () -> RobolectricUtil.runMainLooperUntil(() -> false, /* timeoutMs= */
    42, mockClock));
    verify(mockClock, times(3)).currentTimeMillis();
}
Also used : Clock(com.google.android.exoplayer2.util.Clock) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)16 ExoPlayer (com.google.android.exoplayer2.ExoPlayer)5 TrackGroupArray (com.google.android.exoplayer2.source.TrackGroupArray)5 FakeClock (com.google.android.exoplayer2.testutil.FakeClock)4 FakeMediaClockRenderer (com.google.android.exoplayer2.testutil.FakeMediaClockRenderer)4 Clock (com.google.android.exoplayer2.util.Clock)4 Listener (com.google.android.exoplayer2.Player.Listener)3 MediaSource (com.google.android.exoplayer2.source.MediaSource)2 FakeMediaSource (com.google.android.exoplayer2.testutil.FakeMediaSource)2 TestExoPlayerBuilder (com.google.android.exoplayer2.testutil.TestExoPlayerBuilder)2 MediaClock (com.google.android.exoplayer2.util.MediaClock)2 StandaloneMediaClock (com.google.android.exoplayer2.util.StandaloneMediaClock)2 ArrayList (java.util.ArrayList)2 Before (org.junit.Before)2 HandlerThread (android.os.HandlerThread)1 Nullable (androidx.annotation.Nullable)1 VisibleForTesting (androidx.annotation.VisibleForTesting)1 AndroidJUnit4 (androidx.test.ext.junit.runners.AndroidJUnit4)1 DefaultLoadControl (com.google.android.exoplayer2.DefaultLoadControl)1 Format (com.google.android.exoplayer2.Format)1