Android: Update VideoDecoderFactoryWrapper to implement CreateVideoDecoderWithParams.
Old CreateVideoDecoder interface is deprecated. This allows VideoDecoderFactoryWrapper to create codecs for types that WebRTC doesn't know about. Bug: webrtc:8140 Change-Id: I69aa1a0164642b4e4377daa1abeb9039c04fd884 Reviewed-on: https://webrtc-review.googlesource.com/15401 Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20438}
This commit is contained in:
committed by
Commit Bot
parent
fb6d32602c
commit
68e56a5951
@ -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;
|
||||
|
||||
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user