diff --git a/content/media/webrtc/MediaEngineWebRTC.cpp b/content/media/webrtc/MediaEngineWebRTC.cpp index cadc36b245e..4ec531a6452 100644 --- a/content/media/webrtc/MediaEngineWebRTC.cpp +++ b/content/media/webrtc/MediaEngineWebRTC.cpp @@ -97,7 +97,10 @@ MediaEngineWebRTC::EnumerateVideoDevices(nsTArrayAttachCurrentThread(&env, NULL); - webrtc::VideoEngine::SetAndroidObjects(jvm, (void*)context); + if (webrtc::VideoEngine::SetAndroidObjects(jvm, (void*)context) != 0) { + LOG(("VieCapture:SetAndroidObjects Failed")); + return; + } env->DeleteGlobalRef(context); #endif @@ -230,7 +233,10 @@ MediaEngineWebRTC::EnumerateAudioDevices(nsTArrayAttachCurrentThread(&env, NULL); - webrtc::VoiceEngine::SetAndroidObjects(jvm, (void*)context); + if (webrtc::VoiceEngine::SetAndroidObjects(jvm, (void*)context) != 0) { + LOG(("VoiceEngine:SetAndroidObjects Failed")); + return; + } env->DeleteGlobalRef(context); #endif diff --git a/media/webrtc/signaling/src/media-conduit/AudioConduit.cpp b/media/webrtc/signaling/src/media-conduit/AudioConduit.cpp index ec38d11c0d4..b090bccd402 100644 --- a/media/webrtc/signaling/src/media-conduit/AudioConduit.cpp +++ b/media/webrtc/signaling/src/media-conduit/AudioConduit.cpp @@ -152,7 +152,10 @@ MediaConduitErrorCode WebrtcAudioConduit::Init(WebrtcAudioConduit *other) } jvm->AttachCurrentThread(&env, NULL); - webrtc::VoiceEngine::SetAndroidObjects(jvm, (void*)context); + if (webrtc::VoiceEngine::SetAndroidObjects(jvm, (void*)context) != 0) { + CSFLogError(logTag, "%s Unable to set Android objects", __FUNCTION__); + return kMediaConduitSessionNotInited; + } env->DeleteGlobalRef(context); #endif diff --git a/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp b/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp index 445ea858f56..add05082c98 100644 --- a/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp +++ b/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp @@ -115,7 +115,10 @@ MediaConduitErrorCode WebrtcVideoConduit::Init() } jvm->AttachCurrentThread(&env, NULL); - webrtc::VideoEngine::SetAndroidObjects(jvm, (void*)context); + if (webrtc::VideoEngine::SetAndroidObjects(jvm, (void*)context) != 0) { + CSFLogError(logTag, "%s: could not set Android objects", __FUNCTION__); + return kMediaConduitSessionNotInited; + } env->DeleteGlobalRef(context); #endif diff --git a/media/webrtc/signaling/src/media-conduit/VideoConduit.h b/media/webrtc/signaling/src/media-conduit/VideoConduit.h index 45a0a0bb4ce..481a776a4e9 100755 --- a/media/webrtc/signaling/src/media-conduit/VideoConduit.h +++ b/media/webrtc/signaling/src/media-conduit/VideoConduit.h @@ -145,15 +145,22 @@ public: WebrtcVideoConduit(): - mVideoEngine(NULL), - mTransport(NULL), - mRenderer(NULL), + mVideoEngine(nullptr), + mTransport(nullptr), + mRenderer(nullptr), mEngineTransmitting(false), mEngineReceiving(false), mEngineRendererStarted(false), mChannel(-1), mCapId(-1), - mCurSendCodecConfig(NULL) + mCurSendCodecConfig(nullptr), + mPtrViEBase(nullptr), + mPtrViECapture(nullptr), + mPtrViECodec(nullptr), + mPtrViENetwork(nullptr), + mPtrViERender(nullptr), + mPtrExtCapture(nullptr), + mPtrRTP(nullptr) { }