diff --git a/sdk/android/src/jni/videodecoderfactorywrapper.cc b/sdk/android/src/jni/videodecoderfactorywrapper.cc index 51a2e6142a..b1b784c63c 100644 --- a/sdk/android/src/jni/videodecoderfactorywrapper.cc +++ b/sdk/android/src/jni/videodecoderfactorywrapper.cc @@ -27,12 +27,12 @@ VideoDecoderFactoryWrapper::VideoDecoderFactoryWrapper(JNIEnv* jni, "(Ljava/lang/String;)Lorg/webrtc/VideoDecoder;"); } -VideoDecoder* VideoDecoderFactoryWrapper::CreateVideoDecoder( - VideoCodecType type) { +VideoDecoder* VideoDecoderFactoryWrapper::CreateVideoDecoderWithParams( + const cricket::VideoCodec& codec, + cricket::VideoDecoderParams params) { JNIEnv* jni = AttachCurrentThreadIfNeeded(); ScopedLocalRefFrame local_ref_frame(jni); - const char* type_payload = CodecTypeToPayloadString(type); - jstring name = jni->NewStringUTF(type_payload); + jstring name = JavaStringFromStdString(jni, codec.name); jobject decoder = jni->CallObjectMethod(*decoder_factory_, create_decoder_method_, name); return decoder != nullptr ? new VideoDecoderWrapper(jni, decoder) : nullptr; diff --git a/sdk/android/src/jni/videodecoderfactorywrapper.h b/sdk/android/src/jni/videodecoderfactorywrapper.h index 99f495d22c..0ad3ff230a 100644 --- a/sdk/android/src/jni/videodecoderfactorywrapper.h +++ b/sdk/android/src/jni/videodecoderfactorywrapper.h @@ -27,7 +27,9 @@ class VideoDecoderFactoryWrapper : public cricket::WebRtcVideoDecoderFactory { // Caller takes the ownership of the returned object and it should be released // by calling DestroyVideoDecoder(). - VideoDecoder* CreateVideoDecoder(VideoCodecType type) override; + VideoDecoder* CreateVideoDecoderWithParams( + const cricket::VideoCodec& codec, + cricket::VideoDecoderParams params) override; void DestroyVideoDecoder(VideoDecoder* decoder) override; private: