public static <T> Optional<T> fromNullable(T data) { if (data == null) { return absent(); } return new Optional<>(data); }
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<PlayerVideoTrack> getSelectedVideoTrack() { assertIsInPlaybackState(); NoPlayerLog.w("Tried to get the currently playing video track but has not been implemented for MediaPlayer."); 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) { InternalCreator internalCreator = new InternalCreator(handler, Optional.<DataSource.Factory>absent()); return new NoPlayerExoPlayerCreator(internalCreator); }
public Optional<PlayerVideoTrack> getSelectedVideoTrack(SimpleExoPlayer exoPlayer, RendererTypeRequester rendererTypeRequester, ContentType contentType) { Format selectedVideoFormat = exoPlayer.getVideoFormat(); if (selectedVideoFormat == null) { return Optional.absent(); } List<PlayerVideoTrack> videoTracks = getVideoTracks(rendererTypeRequester, contentType); return findSelectedVideoTrack(selectedVideoFormat, videoTracks); }
@Test public void givenNoCurrentlySelectedTrack_whenGettingCurrentlySelectedVideoTrack_thenReturnsAbsent() { givenTrackSelectorContainsTracks(); given(exoPlayer.getVideoFormat()).willReturn(null); Optional<PlayerVideoTrack> selectedVideoTrack = exoPlayerVideoTrackSelector.getSelectedVideoTrack(exoPlayer, rendererTypeRequester, ContentType.HLS); assertThat(selectedVideoTrack).isEqualTo(Optional.<PlayerVideoTrack>absent()); }