From 5357726a8cc4765d3d72da61c6f8d0a864b075bd Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 18 Oct 2017 04:46:05 -0700 Subject: [PATCH] Add some additional device specific workarounds Issue: #3355 Issue: #3257 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=172587141 --- .../android/exoplayer2/mediacodec/MediaCodecRenderer.java | 2 +- .../android/exoplayer2/video/MediaCodecVideoRenderer.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java index ffe6313360..f556269e3a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java @@ -1155,7 +1155,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer { */ private @AdaptationWorkaroundMode int codecAdaptationWorkaroundMode(String name) { if (Util.SDK_INT <= 24 && "OMX.Exynos.avc.dec.secure".equals(name) - && Util.MODEL.startsWith("SM-T585")) { + && (Util.MODEL.startsWith("SM-T585") || Util.MODEL.startsWith("SM-A520"))) { return ADAPTATION_WORKAROUND_MODE_ALWAYS; } else if (Util.SDK_INT < 24 && ("OMX.Nvidia.h264.decode".equals(name) || "OMX.Nvidia.h264.decode.secure".equals(name)) 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 9d769b2050..1215fb00f3 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 @@ -973,9 +973,11 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { * If true is returned then we fall back to releasing and re-instantiating the codec instead. */ private static boolean codecNeedsSetOutputSurfaceWorkaround(String name) { - // Work around https://github.com/google/ExoPlayer/issues/3236 - return ("deb".equals(Util.DEVICE) || "flo".equals(Util.DEVICE)) - && "OMX.qcom.video.decoder.avc".equals(name); + // Work around https://github.com/google/ExoPlayer/issues/3236 and + // https://github.com/google/ExoPlayer/issues/3355. + return (("deb".equals(Util.DEVICE) || "flo".equals(Util.DEVICE)) + && "OMX.qcom.video.decoder.avc".equals(name)) + || ("tcl_eu".equals(Util.DEVICE) && "OMX.MTK.VIDEO.DECODER.AVC".equals(name)); } /**