Skip to content

Commit b79ef64

Browse files
committed
Set handles in JNI_PeerConnectionFactory to ensure dispose removes all native objects
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
1 parent 77408d4 commit b79ef64

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

webrtc-jni/src/main/cpp/src/JNI_PeerConnectionFactory.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,23 @@ JNIEXPORT void JNICALL Java_dev_kastle_webrtc_PeerConnectionFactory_initialize
3232
env->Throw(jni::JavaRuntimeException(env, "Start network thread failed"));
3333
return;
3434
}
35+
SetHandle(env, caller, "networkThreadHandle", networkThread.get());
3536

3637
std::unique_ptr<webrtc::Thread> signalingThread = webrtc::Thread::Create();
3738
signalingThread->SetName("webrtc_jni_signaling_thread", nullptr);
3839
if (!signalingThread->Start()) {
3940
env->Throw(jni::JavaRuntimeException(env, "Start signaling thread failed"));
4041
return;
4142
}
43+
SetHandle(env, caller, "signalingThreadHandle", signalingThread.get());
4244

4345
std::unique_ptr<webrtc::Thread> workerThread = webrtc::Thread::Create();
4446
workerThread->SetName("webrtc_jni_worker_thread", nullptr);
4547
if (!workerThread->Start()) {
4648
env->Throw(jni::JavaRuntimeException(env, "Start worker thread failed"));
4749
return;
4850
}
51+
SetHandle(env, caller, "workerThreadHandle", workerThread.get());
4952

5053
webrtc::PeerConnectionFactoryDependencies dependencies;
5154

0 commit comments

Comments
 (0)