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);
}
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);
}
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);
}
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());
}
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();
}
Aggregations