public AudioTracks getAudioTracks(RendererTypeRequester rendererTypeRequester) { TrackGroupArray trackGroups = trackSelector.trackGroups(AUDIO, rendererTypeRequester); List<PlayerAudioTrack> audioTracks = new ArrayList<>(); for (int groupIndex = 0; groupIndex < trackGroups.length; groupIndex++) { if (trackSelector.supportsTrackSwitching(AUDIO, rendererTypeRequester, trackGroups, groupIndex)) { TrackGroup trackGroup = trackGroups.get(groupIndex); for (int formatIndex = 0; formatIndex < trackGroup.length; formatIndex++) { Format format = trackGroup.getFormat(formatIndex); PlayerAudioTrack playerAudioTrack = new PlayerAudioTrack( groupIndex, formatIndex, format.id, format.language, format.sampleMimeType, format.channelCount, format.bitrate, AudioTrackType.from(format.selectionFlags) ); audioTracks.add(playerAudioTrack); } } } return AudioTracks.from(audioTracks); }
private AudioTracks expectedSupportedAudioTracks() { return AudioTracks.from( Collections.singletonList( new PlayerAudioTrack( FIRST_GROUP, FIRST_TRACK, AUDIO_FORMAT.id, AUDIO_FORMAT.language, AUDIO_FORMAT.sampleMimeType, AUDIO_FORMAT.channelCount, AUDIO_FORMAT.bitrate, AudioTrackType.from(AUDIO_FORMAT.selectionFlags) ) ) ); } }
@Test public void givenSelectionFlagIsZero_whenCreatingAudioTrackType_thenReturnsAlternative() { AudioTrackType audioTrackType = AudioTrackType.from(ALTERNATIVE_SELECTION_FLAG); assertThat(audioTrackType).isEqualTo(AudioTrackType.ALTERNATIVE); }
@Test public void givenSelectionFlagIsOne_whenCreatingAudioTrackType_thenReturnsMain() { AudioTrackType audioTrackType = AudioTrackType.from(MAIN_SELECTION_FLAG); assertThat(audioTrackType).isEqualTo(AudioTrackType.MAIN); }
@Test public void givenAnyOtherSelectionFlag_whenCreatingAudioTrackType_thenReturnsUnknown() { AudioTrackType audioTrackType = AudioTrackType.from(RANDOM_SELECTION_FLAG); assertThat(audioTrackType).isEqualTo(AudioTrackType.UNKNOWN); } }