Pick the lowest quality video when capabilities are exceeded

Issue:#2901

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=158006727
This commit is contained in:
aquilescanta 2017-06-05 05:28:01 -07:00 committed by Oliver Woodman
parent 8dca0b9418
commit 10c2d3156b

View File

@ -639,7 +639,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
continue; continue;
} }
int trackScore = isWithinConstraints ? 2 : 1; int trackScore = isWithinConstraints ? 2 : 1;
if (isSupported(trackFormatSupport[trackIndex], false)) { boolean isWithinCapabilities = isSupported(trackFormatSupport[trackIndex], false);
if (isWithinCapabilities) {
trackScore += WITHIN_RENDERER_CAPABILITIES_BONUS; trackScore += WITHIN_RENDERER_CAPABILITIES_BONUS;
} }
boolean selectTrack = trackScore > selectedTrackScore; boolean selectTrack = trackScore > selectedTrackScore;
@ -655,7 +656,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
} else { } else {
comparisonResult = compareFormatValues(format.bitrate, selectedBitrate); comparisonResult = compareFormatValues(format.bitrate, selectedBitrate);
} }
selectTrack = isWithinConstraints ? comparisonResult > 0 : comparisonResult < 0; selectTrack = isWithinCapabilities && isWithinConstraints
? comparisonResult > 0 : comparisonResult < 0;
} }
if (selectTrack) { if (selectTrack) {
selectedGroup = trackGroup; selectedGroup = trackGroup;