diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java index 3a6c9bc63d..970644433a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java @@ -16,6 +16,7 @@ package androidx.media3.transformer; +import static java.lang.Math.max; import static java.lang.Math.round; import android.media.MediaCodec; @@ -127,12 +128,13 @@ public final class EncoderUtil { MediaCodecInfo.CodecProfileLevel[] profileLevels = encoderInfo.getCapabilitiesForType(mimeType).profileLevels; + int maxSupportedLevel = LEVEL_UNSET; for (MediaCodecInfo.CodecProfileLevel profileLevel : profileLevels) { if (profileLevel.profile == profile) { - return profileLevel.level; + maxSupportedLevel = max(maxSupportedLevel, profileLevel.level); } } - return LEVEL_UNSET; + return maxSupportedLevel; } /**