private Optional<PlayerVideoTrack> findSelectedVideoTrack(Format selectedVideoFormat, List<PlayerVideoTrack> videoTracks) { for (PlayerVideoTrack videoTrack : videoTracks) { if (videoTrack.id().equals(selectedVideoFormat.id)) { return Optional.of(videoTrack); } } return Optional.absent(); }
Optional<Integer> extract(TrackType trackType, int numberOfTracks, RendererTypeRequester typeRequester) { for (int i = 0; i < numberOfTracks; i++) { int rendererType = typeRequester.getRendererTypeFor(i); if ((trackType == TrackType.AUDIO && rendererType == C.TRACK_TYPE_AUDIO) || (trackType == TrackType.VIDEO && rendererType == C.TRACK_TYPE_VIDEO) || (trackType == TrackType.TEXT && rendererType == C.TRACK_TYPE_TEXT)) { return Optional.of(i); } } return Optional.absent(); } }
public static NoPlayerExoPlayerCreator newInstance(Handler handler, DataSource.Factory dataSourceFactory) { InternalCreator internalCreator = new InternalCreator(handler, Optional.of(dataSourceFactory)); return new NoPlayerExoPlayerCreator(internalCreator); }
@Test public void whenGettingSelectedVideoTrack_thenDelegatesTrackSelector() { given(trackSelector.getSelectedVideoTrack(eq(exoPlayer), any(RendererTypeRequester.class), any(ContentType.class))).willReturn(Optional.of(PLAYER_VIDEO_TRACK)); Optional<PlayerVideoTrack> selectedVideoTrack = facade.getSelectedVideoTrack(); assertThat(selectedVideoTrack).isEqualTo(Optional.of(PLAYER_VIDEO_TRACK)); }
@Test public void givenTrackSelector_whenGettingCurrentlySelectedVideoTrack_thenReturnsSelectedTrack() { givenTrackSelectorContainsTracks(); given(exoPlayer.getVideoFormat()).willReturn(ADDITIONAL_VIDEO_FORMAT); Optional<PlayerVideoTrack> selectedVideoTrack = exoPlayerVideoTrackSelector.getSelectedVideoTrack(exoPlayer, rendererTypeRequester, ContentType.HLS); assertThat(selectedVideoTrack).isEqualTo(Optional.of(ADDITIONAL_PLAYER_VIDEO_TRACK)); }