Commit 192c1a18 by tonihei Committed by Oliver Woodman

Don't include video tracks without bitrate in adaptive selection.

This is generally not supported by our classes. A similar change for audio
was made in https://github.com/google/ExoPlayer/commit/aa2beb080c6f621264527a6147a258bdd7f0fa27.

PiperOrigin-RevId: 365795371
parent 84ce648c
......@@ -2125,8 +2125,9 @@ public class DefaultTrackSelector extends MappingTrackSelector {
|| (minVideoHeight <= format.height && format.height <= maxVideoHeight))
&& (format.frameRate == Format.NO_VALUE
|| (minVideoFrameRate <= format.frameRate && format.frameRate <= maxVideoFrameRate))
&& (format.bitrate == Format.NO_VALUE
|| (minVideoBitrate <= format.bitrate && format.bitrate <= maxVideoBitrate));
&& format.bitrate != Format.NO_VALUE
&& minVideoBitrate <= format.bitrate
&& format.bitrate <= maxVideoBitrate;
}
@Nullable
......
......@@ -88,6 +88,7 @@ public final class DefaultTrackSelectorTest {
.setSampleMimeType(MimeTypes.VIDEO_H264)
.setWidth(1024)
.setHeight(768)
.setAverageBitrate(450000)
.build();
private static final Format AUDIO_FORMAT =
new Format.Builder()
......@@ -1497,6 +1498,21 @@ public final class DefaultTrackSelectorTest {
}
@Test
public void selectTracks_multipleVideoTracksWithoutBitrate_onlySelectsSingleTrack()
throws Exception {
TrackGroupArray trackGroups =
singleTrackGroup(
VIDEO_FORMAT.buildUpon().setId("0").setAverageBitrate(Format.NO_VALUE).build(),
VIDEO_FORMAT.buildUpon().setId("1").setAverageBitrate(Format.NO_VALUE).build());
TrackSelectorResult result =
trackSelector.selectTracks(
new RendererCapabilities[] {VIDEO_CAPABILITIES}, trackGroups, periodId, TIMELINE);
assertThat(result.length).isEqualTo(1);
assertFixedSelection(result.selections[0], trackGroups.get(0), /* expectedTrack= */ 0);
}
@Test
public void selectTracks_multipleVideoAndAudioTracks() throws Exception {
Format videoFormat1 = VIDEO_FORMAT.buildUpon().setAverageBitrate(1000).build();
Format videoFormat2 = VIDEO_FORMAT.buildUpon().setAverageBitrate(2000).build();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment