From 2859b73dfe5eb516fa7ac72fbcf38d8af57b56a3 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 2 Jun 2022 21:02:43 -0500 Subject: [PATCH] Add Amlogic low latency vendor-defined option --- .../limelight/binding/video/MediaCodecHelper.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java index 880749bd..3b0d3b92 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java @@ -42,6 +42,7 @@ public class MediaCodecHelper { private static final List kirinDecoderPrefixes; private static final List exynosDecoderPrefixes; private static final List mediatekDecoderPrefixes; + private static final List amlogicDecoderPrefixes; public static final boolean IS_EMULATOR = Build.HARDWARE.equals("ranchu") || Build.HARDWARE.equals("cheets"); @@ -218,6 +219,12 @@ public class MediaCodecHelper { mediatekDecoderPrefixes.add("omx.mtk"); } + static { + amlogicDecoderPrefixes = new LinkedList<>(); + + amlogicDecoderPrefixes.add("omx.amlogic"); + } + private static boolean isPowerVR(String glRenderer) { return glRenderer.toLowerCase().contains("powervr"); } @@ -433,6 +440,11 @@ public class MediaCodecHelper { // Exynos low latency option for H.264 decoder videoFormat.setInteger("vendor.rtc-ext-dec-low-latency.enable", 1); } + else if (isDecoderInList(amlogicDecoderPrefixes, decoderInfo.getName())) { + // Amlogic low latency vendor extension + // https://github.com/codewalkerster/android_vendor_amlogic_common_prebuilt_libstagefrighthw/commit/41fefc4e035c476d58491324a5fe7666bfc2989e + videoFormat.setInteger("vendor.low-latency.enable", 1); + } } if (MediaCodecHelper.decoderSupportsMaxOperatingRate(decoderInfo.getName())) {