From aae9ebaa7edfb47df1e5d495a1ec1e838313c965 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 3 Dec 2021 18:28:51 +0000 Subject: [PATCH] Apply MTK E-AC3 workaround before API 24 On the Sony Android TV device where this was originally reproducible on Android L, on Android N there is an E-AC3 decoder listed which handles the stream correctly. The workaround is harmless anyway but adding the API version restriction means it will be obvious it can be removed once we bump our min API to 24 or above in the future. PiperOrigin-RevId: 413967443 --- .../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 6b753de019..cbd7f113e8 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 @@ -514,8 +514,10 @@ public final class MediaCodecUtil { return false; } - // MTK E-AC3 decoder doesn't support decoding JOC streams in 2-D. See [Internal: b/69400041]. - if (MimeTypes.AUDIO_E_AC3_JOC.equals(mimeType) && "OMX.MTK.AUDIO.DECODER.DSPAC3".equals(name)) { + // MTK AC3 decoder doesn't support decoding JOC streams in 2-D. See [Internal: b/69400041]. + if (Util.SDK_INT <= 23 + && MimeTypes.AUDIO_E_AC3_JOC.equals(mimeType) + && "OMX.MTK.AUDIO.DECODER.DSPAC3".equals(name)) { return false; }