Commit 7c5f0b7d by aquilescanta Committed by Oliver Woodman

Make Video track selections before others

This will allow us to make a single adaptive selection prioritizing
video selections.

Issue:#1975

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150185086
parent db5f81ec
...@@ -421,11 +421,12 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -421,11 +421,12 @@ public class DefaultTrackSelector extends MappingTrackSelector {
TrackGroupArray[] rendererTrackGroupArrays, int[][][] rendererFormatSupports) TrackGroupArray[] rendererTrackGroupArrays, int[][][] rendererFormatSupports)
throws ExoPlaybackException { throws ExoPlaybackException {
// Make a track selection for each renderer. // Make a track selection for each renderer.
TrackSelection[] rendererTrackSelections = new TrackSelection[rendererCapabilities.length]; int rendererCount = rendererCapabilities.length;
TrackSelection[] rendererTrackSelections = new TrackSelection[rendererCount];
Parameters params = paramsReference.get(); Parameters params = paramsReference.get();
for (int i = 0; i < rendererCapabilities.length; i++) {
switch (rendererCapabilities[i].getTrackType()) { for (int i = 0; i < rendererCount; i++) {
case C.TRACK_TYPE_VIDEO: if (C.TRACK_TYPE_VIDEO == rendererCapabilities[i].getTrackType()) {
rendererTrackSelections[i] = selectVideoTrack(rendererCapabilities[i], rendererTrackSelections[i] = selectVideoTrack(rendererCapabilities[i],
rendererTrackGroupArrays[i], rendererFormatSupports[i], params.maxVideoWidth, rendererTrackGroupArrays[i], rendererFormatSupports[i], params.maxVideoWidth,
params.maxVideoHeight, params.maxVideoBitrate, params.allowNonSeamlessAdaptiveness, params.maxVideoHeight, params.maxVideoBitrate, params.allowNonSeamlessAdaptiveness,
...@@ -433,6 +434,13 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -433,6 +434,13 @@ public class DefaultTrackSelector extends MappingTrackSelector {
params.orientationMayChange, adaptiveVideoTrackSelectionFactory, params.orientationMayChange, adaptiveVideoTrackSelectionFactory,
params.exceedVideoConstraintsIfNecessary, params.exceedVideoConstraintsIfNecessary,
params.exceedRendererCapabilitiesIfNecessary); params.exceedRendererCapabilitiesIfNecessary);
}
}
for (int i = 0; i < rendererCount; i++) {
switch (rendererCapabilities[i].getTrackType()) {
case C.TRACK_TYPE_VIDEO:
// Already done. Do nothing.
break; break;
case C.TRACK_TYPE_AUDIO: case C.TRACK_TYPE_AUDIO:
rendererTrackSelections[i] = selectAudioTrack(rendererTrackGroupArrays[i], rendererTrackSelections[i] = selectAudioTrack(rendererTrackGroupArrays[i],
......
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