From 205bbef9d66f51b57b0e70eab15605388f9cd809 Mon Sep 17 00:00:00 2001 From: ybai001 Date: Thu, 23 May 2024 09:42:43 +0800 Subject: [PATCH] Add DV profile 10 handling in getAlternativeCodecMimeType() method --- .../media3/exoplayer/mediacodec/MediaCodecUtil.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtil.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtil.java index b3ad4988e6..8de5be25b0 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtil.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtil.java @@ -350,8 +350,8 @@ public final class MediaCodecUtil { return MimeTypes.AUDIO_E_AC3; } if (MimeTypes.VIDEO_DOLBY_VISION.equals(format.sampleMimeType)) { - // H.264/AVC or H.265/HEVC decoders can decode the base layer of some DV profiles. This can't - // be done for profile CodecProfileLevel.DolbyVisionProfileDvheStn and profile + // H.264/AVC, H.265/HEVC or AV1 decoders can decode the base layer of some DV profiles. + // This can't be done for profile CodecProfileLevel.DolbyVisionProfileDvheStn and profile // CodecProfileLevel.DolbyVisionProfileDvheDtb because the first one is not backward // compatible and the second one is deprecated and is not always backward compatible. @Nullable Pair codecProfileAndLevel = getCodecProfileAndLevel(format); @@ -362,6 +362,8 @@ public final class MediaCodecUtil { return MimeTypes.VIDEO_H265; } else if (profile == CodecProfileLevel.DolbyVisionProfileDvavSe) { return MimeTypes.VIDEO_H264; + } else if (profile == CodecProfileLevel.DolbyVisionProfileDvav110) { + return MimeTypes.VIDEO_AV1; } } }