mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Migrate ExoPlayerTest.readAheadToEndDoesNotResetRenderer to TestExoplayer
PiperOrigin-RevId: 323758590
This commit is contained in:
parent
075ef824ec
commit
33360513a2
1 changed files with 25 additions and 16 deletions
|
|
@ -317,7 +317,6 @@ public final class ExoPlayerTest {
|
||||||
final FakeRenderer videoRenderer = new FakeRenderer(C.TRACK_TYPE_VIDEO);
|
final FakeRenderer videoRenderer = new FakeRenderer(C.TRACK_TYPE_VIDEO);
|
||||||
FakeMediaClockRenderer audioRenderer =
|
FakeMediaClockRenderer audioRenderer =
|
||||||
new FakeMediaClockRenderer(C.TRACK_TYPE_AUDIO) {
|
new FakeMediaClockRenderer(C.TRACK_TYPE_AUDIO) {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPositionUs() {
|
public long getPositionUs() {
|
||||||
// Simulate the playback position lagging behind the reading position: the renderer
|
// Simulate the playback position lagging behind the reading position: the renderer
|
||||||
|
|
@ -340,21 +339,31 @@ public final class ExoPlayerTest {
|
||||||
return videoRenderer.isEnded();
|
return videoRenderer.isEnded();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
ExoPlayerTestRunner testRunner =
|
SimpleExoPlayer player =
|
||||||
new ExoPlayerTestRunner.Builder(context)
|
new TestExoPlayer.Builder(context).setRenderers(videoRenderer, audioRenderer).build();
|
||||||
.setTimeline(timeline)
|
EventListener mockEventListener = mock(EventListener.class);
|
||||||
.setRenderers(videoRenderer, audioRenderer)
|
player.addListener(mockEventListener);
|
||||||
.setSupportedFormats(ExoPlayerTestRunner.VIDEO_FORMAT, ExoPlayerTestRunner.AUDIO_FORMAT)
|
|
||||||
.build()
|
player.setMediaSource(
|
||||||
.start()
|
new FakeMediaSource(
|
||||||
.blockUntilEnded(TIMEOUT_MS);
|
timeline, ExoPlayerTestRunner.VIDEO_FORMAT, ExoPlayerTestRunner.AUDIO_FORMAT));
|
||||||
testRunner.assertPositionDiscontinuityReasonsEqual(
|
player.prepare();
|
||||||
Player.DISCONTINUITY_REASON_PERIOD_TRANSITION,
|
player.play();
|
||||||
Player.DISCONTINUITY_REASON_PERIOD_TRANSITION);
|
runUntilPlaybackState(player, Player.STATE_ENDED);
|
||||||
testRunner.assertTimelinesSame(new FakeMediaSource.InitialTimeline(timeline), timeline);
|
|
||||||
testRunner.assertTimelineChangeReasonsEqual(
|
InOrder inOrder = inOrder(mockEventListener);
|
||||||
Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED,
|
inOrder
|
||||||
Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE);
|
.verify(mockEventListener)
|
||||||
|
.onTimelineChanged(
|
||||||
|
argThat(noUid(new FakeMediaSource.InitialTimeline(timeline))),
|
||||||
|
eq(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED));
|
||||||
|
inOrder
|
||||||
|
.verify(mockEventListener)
|
||||||
|
.onTimelineChanged(
|
||||||
|
argThat(noUid(timeline)), eq(Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE));
|
||||||
|
inOrder
|
||||||
|
.verify(mockEventListener, times(2))
|
||||||
|
.onPositionDiscontinuity(Player.DISCONTINUITY_REASON_PERIOD_TRANSITION);
|
||||||
assertThat(audioRenderer.positionResetCount).isEqualTo(1);
|
assertThat(audioRenderer.positionResetCount).isEqualTo(1);
|
||||||
assertThat(videoRenderer.isEnded).isTrue();
|
assertThat(videoRenderer.isEnded).isTrue();
|
||||||
assertThat(audioRenderer.isEnded).isTrue();
|
assertThat(audioRenderer.isEnded).isTrue();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue