private void resetRendererPosition(long periodPositionUs) throws ExoPlaybackException { rendererPositionUs = !queue.hasPlayingPeriod() ? periodPositionUs : queue.getPlayingPeriod().toRendererTime(periodPositionUs); mediaClock.resetPosition(rendererPositionUs); for (Renderer renderer : enabledRenderers) { renderer.resetPosition(rendererPositionUs); } }
@Test public void standaloneGetAndResetPosition_shouldNotTriggerCallback() throws Exception { mediaClock.resetPosition(TEST_POSITION_US); mediaClock.syncAndGetPositionUs(); verifyNoMoreInteractions(listener); }
@Test public void standaloneResetPosition_shouldNotStartClock() throws Exception { mediaClock.resetPosition(TEST_POSITION_US); assertClockIsStopped(); }
@Test public void standaloneResetPosition_getPositionShouldReturnSameValue() throws Exception { mediaClock.resetPosition(TEST_POSITION_US); assertThat(mediaClock.syncAndGetPositionUs()).isEqualTo(TEST_POSITION_US); }
@Test public void resetPositionWhileUsingRendererMediaClock_shouldHaveNoEffect() throws ExoPlaybackException { MediaClockRenderer mediaClockRenderer = new MediaClockRenderer(); mediaClock.start(); mediaClock.onRendererEnabled(mediaClockRenderer); mediaClockRenderer.positionUs = TEST_POSITION_US; assertThat(mediaClock.syncAndGetPositionUs()).isEqualTo(TEST_POSITION_US); mediaClock.resetPosition(0); assertThat(mediaClock.syncAndGetPositionUs()).isEqualTo(TEST_POSITION_US); }