| 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 fbe5b5ca785985ff069d5ed4c471ba021a480291..49b84aa58522268d65c176373595e0f4bda1dbaf 100644
|
| --- a/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
|
| +++ b/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
|
| @@ -318,9 +318,19 @@ int32_t MediaCodecVideoDecoder::InitDecodeOnCodecThread() {
|
| frames_received_ = 0;
|
| frames_decoded_ = 0;
|
|
|
| + jobject java_surface_texture_helper_ = nullptr;
|
| if (use_surface_) {
|
| + java_surface_texture_helper_ = jni->CallStaticObjectMethod(
|
| + FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
| + GetStaticMethodID(jni,
|
| + FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
| + "create",
|
| + "(Lorg/webrtc/EglBase$Context;)"
|
| + "Lorg/webrtc/SurfaceTextureHelper;"),
|
| + render_egl_context_);
|
| + RTC_CHECK(java_surface_texture_helper_ != nullptr);
|
| surface_texture_helper_ = new rtc::RefCountedObject<SurfaceTextureHelper>(
|
| - jni, render_egl_context_);
|
| + jni, java_surface_texture_helper_);
|
| }
|
|
|
| jobject j_video_codec_enum = JavaEnumFromIndex(
|
| @@ -331,8 +341,7 @@ int32_t MediaCodecVideoDecoder::InitDecodeOnCodecThread() {
|
| j_video_codec_enum,
|
| codec_.width,
|
| codec_.height,
|
| - use_surface_ ? surface_texture_helper_->GetJavaSurfaceTextureHelper()
|
| - : nullptr);
|
| + java_surface_texture_helper_);
|
| if (CheckException(jni) || !success) {
|
| ALOGE << "Codec initialization error - fallback to SW codec.";
|
| sw_fallback_required_ = true;
|
|
|