mirror of
https://github.com/androidx/media.git
synced 2025-05-09 16:40:55 +08:00
Add masking to correctly select renderer
Issue: #2269 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=143433012
This commit is contained in:
parent
39827fad27
commit
faff5ec910
@ -345,15 +345,16 @@ public abstract class MappingTrackSelector extends TrackSelector {
|
|||||||
private static int findRenderer(RendererCapabilities[] rendererCapabilities, TrackGroup group)
|
private static int findRenderer(RendererCapabilities[] rendererCapabilities, TrackGroup group)
|
||||||
throws ExoPlaybackException {
|
throws ExoPlaybackException {
|
||||||
int bestRendererIndex = rendererCapabilities.length;
|
int bestRendererIndex = rendererCapabilities.length;
|
||||||
int bestSupportLevel = RendererCapabilities.FORMAT_UNSUPPORTED_TYPE;
|
int bestFormatSupportLevel = RendererCapabilities.FORMAT_UNSUPPORTED_TYPE;
|
||||||
for (int rendererIndex = 0; rendererIndex < rendererCapabilities.length; rendererIndex++) {
|
for (int rendererIndex = 0; rendererIndex < rendererCapabilities.length; rendererIndex++) {
|
||||||
RendererCapabilities rendererCapability = rendererCapabilities[rendererIndex];
|
RendererCapabilities rendererCapability = rendererCapabilities[rendererIndex];
|
||||||
for (int trackIndex = 0; trackIndex < group.length; trackIndex++) {
|
for (int trackIndex = 0; trackIndex < group.length; trackIndex++) {
|
||||||
int trackSupportLevel = rendererCapability.supportsFormat(group.getFormat(trackIndex));
|
int formatSupportLevel = rendererCapability.supportsFormat(group.getFormat(trackIndex))
|
||||||
if (trackSupportLevel > bestSupportLevel) {
|
& RendererCapabilities.FORMAT_SUPPORT_MASK;
|
||||||
|
if (formatSupportLevel > bestFormatSupportLevel) {
|
||||||
bestRendererIndex = rendererIndex;
|
bestRendererIndex = rendererIndex;
|
||||||
bestSupportLevel = trackSupportLevel;
|
bestFormatSupportLevel = formatSupportLevel;
|
||||||
if (bestSupportLevel == RendererCapabilities.FORMAT_HANDLED) {
|
if (bestFormatSupportLevel == RendererCapabilities.FORMAT_HANDLED) {
|
||||||
// We can't do better.
|
// We can't do better.
|
||||||
return bestRendererIndex;
|
return bestRendererIndex;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user