Index: webrtc/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java |
diff --git a/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java b/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java |
index 44572cb1284bd3f99face8a5011566f4dae5c254..bd4dfb79460489b1aa1ffd30777da7411796e0bd 100644 |
--- a/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java |
+++ b/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java |
@@ -73,6 +73,8 @@ public class MediaCodecVideoDecoder { |
// List of supported HW H.264 decoders. |
private static final String[] supportedH264HwCodecPrefixes = { |
"OMX.qcom.", "OMX.Intel.", "OMX.Exynos."}; |
+ // List of supported HW H.264 high profile decoders. |
+ private static final String[] supportedH264HighProfileHwCodecPrefixes = {"OMX.qcom."}; |
// NV12 color format supported by QCOM codec, but not declared in MediaCodec - |
// see /hardware/qcom/media/mm-core/inc/OMX_QCOMExtns.h |
@@ -149,6 +151,12 @@ public class MediaCodecVideoDecoder { |
&& (findDecoder(H264_MIME_TYPE, supportedH264HwCodecPrefixes) != null); |
} |
+ public static boolean isH264HighProfileHwSupported() { |
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP |
+ && !hwDecoderDisabledTypes.contains(H264_MIME_TYPE) |
+ && (findDecoder(H264_MIME_TYPE, supportedH264HighProfileHwCodecPrefixes) != null); |
+ } |
+ |
public static void printStackTrace() { |
if (runningInstance != null && runningInstance.mediaCodecThread != null) { |
StackTraceElement[] mediaCodecStackTraces = runningInstance.mediaCodecThread.getStackTrace(); |