Index: talk/app/webrtc/java/jni/androidmediadecoder_jni.cc |
diff --git a/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc b/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc |
index b664f16e2e53f1fe66c5a4b3e8030f7ca6508c00..3bfad6885fc9eeda1b85f4509b710aa71d08a9f2 100644 |
--- a/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc |
+++ b/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc |
@@ -62,6 +62,7 @@ using webrtc::VideoCodec; |
using webrtc::VideoCodecType; |
using webrtc::kVideoCodecH264; |
using webrtc::kVideoCodecVP8; |
+using webrtc::kVideoCodecVP9; |
namespace webrtc_jni { |
@@ -332,6 +333,9 @@ int32_t MediaCodecVideoDecoder::InitDecodeOnCodecThread() { |
case kVideoCodecVP8: |
max_pending_frames_ = kMaxPendingFramesVp8; |
break; |
+ case kVideoCodecVP9: |
+ max_pending_frames_ = kMaxPendingFramesVp9; |
+ break; |
case kVideoCodecH264: |
max_pending_frames_ = kMaxPendingFramesH264; |
break; |
@@ -790,6 +794,17 @@ MediaCodecVideoDecoderFactory::MediaCodecVideoDecoderFactory() : |
supported_codec_types_.push_back(kVideoCodecVP8); |
} |
+ bool is_vp9_hw_supported = jni->CallStaticBooleanMethod( |
+ j_decoder_class, |
+ GetStaticMethodID(jni, j_decoder_class, "isVp9HwSupported", "()Z")); |
+ if (CheckException(jni)) { |
+ is_vp9_hw_supported = false; |
+ } |
+ if (is_vp9_hw_supported) { |
+ ALOGD << "VP9 HW Decoder supported."; |
+ supported_codec_types_.push_back(kVideoCodecVP9); |
+ } |
+ |
bool is_h264_hw_supported = jni->CallStaticBooleanMethod( |
j_decoder_class, |
GetStaticMethodID(jni, j_decoder_class, "isH264HwSupported", "()Z")); |