From a265da4082eadc5624ed1c2e624649600b26ff57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Kalliom=C3=A4ki?= Date: Mon, 2 Oct 2017 11:18:01 +0200 Subject: [PATCH] Android: Fix getting encoder queue in encoder wrapper. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Get the encoder queue in init instead of the constructor. The constructor is not always called on the same thread as init. The encoder may also be reinitialized on a different thread. Bug: webrtc:7760 Change-Id: I32a025a8bdf652ab019ac4c2ffc6be1533008925 Reviewed-on: https://webrtc-review.googlesource.com/5480 Reviewed-by: Magnus Jedvert Commit-Queue: Sami Kalliomäki Cr-Commit-Position: refs/heads/master@{#20074} --- sdk/android/src/jni/videoencoderwrapper.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/android/src/jni/videoencoderwrapper.cc b/sdk/android/src/jni/videoencoderwrapper.cc index ceecda2bf2..55ebeef219 100644 --- a/sdk/android/src/jni/videoencoderwrapper.cc +++ b/sdk/android/src/jni/videoencoderwrapper.cc @@ -97,8 +97,6 @@ VideoEncoderWrapper::VideoEncoderWrapper(JNIEnv* jni, jobject j_encoder) implementation_name_ = GetImplementationName(jni); - encoder_queue_ = rtc::TaskQueue::Current(); - initialized_ = false; num_resets_ = 0; @@ -116,6 +114,7 @@ int32_t VideoEncoderWrapper::InitEncode(const VideoCodec* codec_settings, number_of_cores_ = number_of_cores; codec_settings_ = *codec_settings; num_resets_ = 0; + encoder_queue_ = rtc::TaskQueue::Current(); return InitEncodeInternal(jni); } @@ -167,6 +166,7 @@ int32_t VideoEncoderWrapper::Release() { jobject ret = jni->CallObjectMethod(*encoder_, release_method_); frame_extra_infos_.clear(); initialized_ = false; + encoder_queue_ = nullptr; return HandleReturnCode(jni, ret); }