From e662d0ecf06ae63c8363d78058e990c9f889a835 Mon Sep 17 00:00:00 2001 From: Jonas Oreland Date: Tue, 16 Jan 2018 15:07:42 +0100 Subject: [PATCH] Extend Android SDK to enable adding custom PortAllocator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch exposes the network_thread so that a custom PortAllocator can use it instead of e.g creating own thread. Bug: webrtc:8640 Change-Id: I705629e4f1a4d0a4fed7d53a774ba9564ba076fe Reviewed-on: https://webrtc-review.googlesource.com/39925 Reviewed-by: Sami Kalliomäki Commit-Queue: Jonas Oreland Cr-Commit-Position: refs/heads/master@{#21643} --- sdk/android/api/org/webrtc/PeerConnectionFactory.java | 5 +++++ sdk/android/src/jni/pc/ownedfactoryandthreads.h | 1 + 2 files changed, 6 insertions(+) diff --git a/sdk/android/api/org/webrtc/PeerConnectionFactory.java b/sdk/android/api/org/webrtc/PeerConnectionFactory.java index f5eb87ae04..90b4cb6f28 100644 --- a/sdk/android/api/org/webrtc/PeerConnectionFactory.java +++ b/sdk/android/api/org/webrtc/PeerConnectionFactory.java @@ -347,6 +347,11 @@ public class PeerConnectionFactory { return nativeGetNativePeerConnectionFactory(nativeFactory); } + /** Returns a pointer to the native OwnedFactoryAndThreads object */ + public long getNativeOwnedFactoryAndThreads() { + return nativeFactory; + } + private static void printStackTrace(Thread thread, String threadName) { if (thread != null) { StackTraceElement[] stackTraces = thread.getStackTrace(); diff --git a/sdk/android/src/jni/pc/ownedfactoryandthreads.h b/sdk/android/src/jni/pc/ownedfactoryandthreads.h index 269302f9ce..27e262ab26 100644 --- a/sdk/android/src/jni/pc/ownedfactoryandthreads.h +++ b/sdk/android/src/jni/pc/ownedfactoryandthreads.h @@ -53,6 +53,7 @@ class OwnedFactoryAndThreads { ~OwnedFactoryAndThreads(); PeerConnectionFactoryInterface* factory() { return factory_; } + Thread* network_thread() { return network_thread_.get(); } Thread* signaling_thread() { return signaling_thread_.get(); } Thread* worker_thread() { return worker_thread_.get(); } WebRtcVideoEncoderFactory* legacy_encoder_factory() {