Index: webrtc/sdk/android/api/org/webrtc/PeerConnectionFactoryBase.java |
diff --git a/webrtc/sdk/android/api/org/webrtc/PeerConnectionFactory.java b/webrtc/sdk/android/api/org/webrtc/PeerConnectionFactoryBase.java |
similarity index 78% |
copy from webrtc/sdk/android/api/org/webrtc/PeerConnectionFactory.java |
copy to webrtc/sdk/android/api/org/webrtc/PeerConnectionFactoryBase.java |
index 28b3ca72ab9b98e4f74db5d2a7f80bf3955cfc18..a70e283d2a78c30f33ed485cdb1f95598ae63a63 100644 |
--- a/webrtc/sdk/android/api/org/webrtc/PeerConnectionFactory.java |
+++ b/webrtc/sdk/android/api/org/webrtc/PeerConnectionFactoryBase.java |
@@ -13,28 +13,19 @@ package org.webrtc; |
import java.util.List; |
/** |
- * Java wrapper for a C++ PeerConnectionFactoryInterface. Main entry point to |
- * the PeerConnection API for clients. |
+ * Java wrapper for a C++ PeerConnectionFactoryInterface. The base class of a PeerConnectionFactory |
+ * without loading any library. |
*/ |
-public class PeerConnectionFactory { |
- private static volatile boolean nativeLibLoaded; |
- |
- static { |
- try { |
- System.loadLibrary("jingle_peerconnection_so"); |
- nativeLibLoaded = true; |
- } catch (UnsatisfiedLinkError t) { |
- nativeLibLoaded = false; |
- } |
- } |
+public class PeerConnectionFactoryBase { |
+ protected static volatile boolean nativeLibLoaded; |
- private static final String TAG = "PeerConnectionFactory"; |
- private final long nativeFactory; |
- private static Thread networkThread; |
- private static Thread workerThread; |
- private static Thread signalingThread; |
- private EglBase localEglbase; |
- private EglBase remoteEglbase; |
+ protected static final String TAG = "PeerConnectionFactoryBase"; |
+ protected final long nativeFactory; |
+ protected static Thread networkThread; |
+ protected static Thread workerThread; |
+ protected static Thread signalingThread; |
+ protected EglBase localEglbase; |
+ protected EglBase remoteEglbase; |
public static class Options { |
// Keep in sync with webrtc/base/network.h! |
@@ -50,51 +41,35 @@ public class PeerConnectionFactory { |
public boolean disableNetworkMonitor; |
} |
- // Must be called at least once before creating a PeerConnectionFactory |
- // (for example, at application startup time). |
- public static native void initializeAndroidGlobals( |
+ protected static native void initializeAndroidGlobals( |
android.content.Context context, boolean videoHwAcceleration); |
// Older signature of initializeAndroidGlobals. The extra parameters are now meaningless. |
@Deprecated |
- public static boolean initializeAndroidGlobals(Object context, boolean initializeAudio, |
+ protected static boolean initializeAndroidGlobals(Object context, boolean initializeAudio, |
boolean initializeVideo, boolean videoHwAcceleration) { |
initializeAndroidGlobals((android.content.Context) context, videoHwAcceleration); |
return true; |
} |
- // Field trial initialization. Must be called before PeerConnectionFactory |
- // is created. |
- public static native void initializeFieldTrials(String fieldTrialsInitString); |
- // Wrapper of webrtc::field_trial::FindFullName. Develop the feature with default behaviour off. |
- // Example usage: |
- // if (PeerConnectionFactory.fieldTrialsFindFullName("WebRTCExperiment").equals("Enabled")) { |
- // method1(); |
- // } else { |
- // method2(); |
- // } |
+ protected static native void initializeFieldTrials(String fieldTrialsInitString); |
public static String fieldTrialsFindFullName(String name) { |
return nativeLibLoaded ? nativeFieldTrialsFindFullName(name) : ""; |
} |
private static native String nativeFieldTrialsFindFullName(String name); |
- // Internal tracing initialization. Must be called before PeerConnectionFactory is created to |
- // prevent racing with tracing code. |
- public static native void initializeInternalTracer(); |
- // Internal tracing shutdown, called to prevent resource leaks. Must be called after |
- // PeerConnectionFactory is gone to prevent races with code performing tracing. |
- public static native void shutdownInternalTracer(); |
- // Start/stop internal capturing of internal tracing. |
- public static native boolean startInternalTracingCapture(String tracing_filename); |
- public static native void stopInternalTracingCapture(); |
+ protected static native void initializeInternalTracer(); |
+ protected static native void shutdownInternalTracer(); |
+ protected static native boolean startInternalTracingCapture(String tracing_filename); |
+ protected static native void stopInternalTracingCapture(); |
@Deprecated |
- public PeerConnectionFactory() { |
+ public PeerConnectionFactoryBase() { |
this(null); |
} |
// Note: initializeAndroidGlobals must be called at least once before |
// constructing a PeerConnectionFactory. |
- public PeerConnectionFactory(Options options) { |
+ public PeerConnectionFactoryBase(Options options) { |
nativeFactory = nativeCreatePeerConnectionFactory(options); |
if (nativeFactory == 0) { |
throw new RuntimeException("Failed to initialize PeerConnectionFactory!"); |
@@ -204,7 +179,7 @@ public class PeerConnectionFactory { |
nativeThreadsCallbacks(nativeFactory); |
} |
- private static void printStackTrace(Thread thread, String threadName) { |
+ protected static void printStackTrace(Thread thread, String threadName) { |
if (thread != null) { |
StackTraceElement[] stackTraces = thread.getStackTrace(); |
if (stackTraces.length > 0) { |
@@ -222,17 +197,17 @@ public class PeerConnectionFactory { |
printStackTrace(signalingThread, "Signaling thread"); |
} |
- private static void onNetworkThreadReady() { |
+ protected static void onNetworkThreadReady() { |
networkThread = Thread.currentThread(); |
Logging.d(TAG, "onNetworkThreadReady"); |
} |
- private static void onWorkerThreadReady() { |
+ protected static void onWorkerThreadReady() { |
workerThread = Thread.currentThread(); |
Logging.d(TAG, "onWorkerThreadReady"); |
} |
- private static void onSignalingThreadReady() { |
+ protected static void onSignalingThreadReady() { |
signalingThread = Thread.currentThread(); |
Logging.d(TAG, "onSignalingThreadReady"); |
} |