From 158e6de25a06e0c1ffbaeab3cda0d4ef547315df Mon Sep 17 00:00:00 2001 From: kimvde Date: Fri, 12 Feb 2021 11:24:44 +0000 Subject: [PATCH] Add comment explaining Dolby Vision fallback logic PiperOrigin-RevId: 357158075 --- .../android/exoplayer2/video/MediaCodecVideoRenderer.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java index 7129b817b9..ef1825b72a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java @@ -377,7 +377,10 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { mimeType, requiresSecureDecoder, requiresTunnelingDecoder); decoderInfos = MediaCodecUtil.getDecoderInfosSortedByFormatSupport(decoderInfos, format); if (MimeTypes.VIDEO_DOLBY_VISION.equals(mimeType)) { - // Fall back to H.264/AVC or H.265/HEVC for the relevant DV profiles. + // Fall back to H.264/AVC or H.265/HEVC for the relevant 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 = MediaCodecUtil.getCodecProfileAndLevel(format); if (codecProfileAndLevel != null) {