Package org.webrtc
Class PeerConnectionFactory
java.lang.Object
org.webrtc.PeerConnectionFactory
Java wrapper for a C++ PeerConnectionFactoryInterface. Main entry point to
the PeerConnection API for clients.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
static class
private static class
Helper class holding both Java and C++ thread info. -
Field Summary
Modifier and TypeFieldDescriptionprivate static boolean
private long
private PeerConnectionFactory.ThreadInfo
private PeerConnectionFactory.ThreadInfo
private static PeerConnectionFactory.ThreadInfo
private static PeerConnectionFactory.ThreadInfo
private static PeerConnectionFactory.ThreadInfo
private static final String
static final String
private static final String
static final String
Deprecated.private PeerConnectionFactory.ThreadInfo
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuilder()
private static void
private void
createAudioSource
(MediaConstraints constraints) createAudioTrack
(String id, AudioSource source) createLocalMediaStream
(String label) createPeerConnection
(List<PeerConnection.IceServer> iceServers, MediaConstraints constraints, PeerConnection.Observer observer) Deprecated.createPeerConnection
(List<PeerConnection.IceServer> iceServers, PeerConnection.Observer observer) createPeerConnection
(PeerConnection.RTCConfiguration rtcConfig, MediaConstraints constraints, PeerConnection.Observer observer) Deprecated.createPeerConnection
(PeerConnection.RTCConfiguration rtcConfig, PeerConnection.Observer observer) createPeerConnection
(PeerConnection.RTCConfiguration rtcConfig, PeerConnectionDependencies dependencies) (package private) PeerConnection
createPeerConnectionInternal
(PeerConnection.RTCConfiguration rtcConfig, MediaConstraints constraints, PeerConnection.Observer observer, SSLCertificateVerifier sslCertificateVerifier) Internal helper function to pass the parameters down into the native JNI bridge.createVideoSource
(boolean isScreencast) Same as above with alignTimestamps set to true.createVideoSource
(boolean isScreencast, boolean alignTimestamps) Create video source with given parameters.createVideoTrack
(String id, VideoSource source) void
dispose()
static String
long
Returns a pointer to the native OwnedFactoryAndThreads objectlong
Returns a pointer to the native webrtc::PeerConnectionFactoryInterface.static void
Loads and initializes WebRTC.static void
initializeFieldTrials
(String fieldTrialsInitString) Deprecated.private static void
private static long
nativeCreateAudioSource
(long factory, MediaConstraints constraints) private static long
nativeCreateAudioTrack
(long factory, String id, long nativeSource) private static long
nativeCreateLocalMediaStream
(long factory, String label) private static long
nativeCreatePeerConnection
(long factory, PeerConnection.RTCConfiguration rtcConfig, MediaConstraints constraints, long nativeObserver, SSLCertificateVerifier sslCertificateVerifier) private static PeerConnectionFactory
nativeCreatePeerConnectionFactory
(Object context, PeerConnectionFactory.Options options, long nativeAudioDeviceModule, long audioEncoderFactory, long audioDecoderFactory, VideoEncoderFactory encoderFactory, VideoDecoderFactory decoderFactory, long nativeAudioProcessor, long nativeFecControllerFactory, long nativeNetworkControllerFactory, long nativeNetworkStatePredictorFactory, long neteqFactory) private static long
nativeCreateVideoSource
(long factory, boolean is_screencast, boolean alignTimestamps) private static long
nativeCreateVideoTrack
(long factory, String id, long nativeVideoSource) private static void
private static String
private static void
nativeFreeFactory
(long factory) private static long
nativeGetNativePeerConnectionFactory
(long factory) private static void
private static void
nativeInitializeFieldTrials
(String fieldTrialsInitString) private static void
private static void
nativeInjectLoggable
(JNILogging jniLogging, int severity) private static void
nativePrintStackTrace
(int tid) private static void
private static boolean
nativeStartAecDump
(long factory, int file_descriptor, int filesize_limit_bytes) private static boolean
nativeStartInternalTracingCapture
(String tracingFilename) private static void
nativeStopAecDump
(long factory) private static void
void
printInternalStackTraces
(boolean printNativeStackTraces) Print the Java stack traces for the critical threads used by PeerConnectionFactory, namely; signaling thread, worker thread, and network thread.private static void
printStackTrace
(PeerConnectionFactory.ThreadInfo threadInfo, boolean printNativeStackTrace) static void
Deprecated.static void
boolean
startAecDump
(int file_descriptor, int filesize_limit_bytes) static boolean
startInternalTracingCapture
(String tracingFilename) void
static void
-
Field Details
-
TRIAL_ENABLED
- See Also:
-
VIDEO_FRAME_EMIT_TRIAL
Deprecated.- See Also:
-
TAG
- See Also:
-
VIDEO_CAPTURER_THREAD_NAME
- See Also:
-
internalTracerInitialized
private static volatile boolean internalTracerInitialized -
staticNetworkThread
-
staticWorkerThread
-
staticSignalingThread
-
nativeFactory
private long nativeFactory -
networkThread
-
workerThread
-
signalingThread
-
-
Constructor Details
-
PeerConnectionFactory
PeerConnectionFactory(long nativeFactory)
-
-
Method Details
-
builder
-
initialize
Loads and initializes WebRTC. This must be called at least once before creating a PeerConnectionFactory. Replaces all the old initialization methods. Must not be called while a PeerConnectionFactory is alive. -
checkInitializeHasBeenCalled
private static void checkInitializeHasBeenCalled() -
initializeInternalTracer
private static void initializeInternalTracer() -
shutdownInternalTracer
public static void shutdownInternalTracer() -
initializeFieldTrials
Deprecated. -
fieldTrialsFindFullName
-
startInternalTracingCapture
-
stopInternalTracingCapture
public static void stopInternalTracingCapture() -
createPeerConnectionInternal
@Nullable PeerConnection createPeerConnectionInternal(PeerConnection.RTCConfiguration rtcConfig, MediaConstraints constraints, PeerConnection.Observer observer, SSLCertificateVerifier sslCertificateVerifier) Internal helper function to pass the parameters down into the native JNI bridge. -
createPeerConnection
@Nullable @Deprecated public PeerConnection createPeerConnection(PeerConnection.RTCConfiguration rtcConfig, MediaConstraints constraints, PeerConnection.Observer observer) Deprecated.Deprecated. PeerConnection constraints are deprecated. Supply values in rtcConfig struct instead and use the method without constraints in the signature. -
createPeerConnection
@Nullable @Deprecated public PeerConnection createPeerConnection(List<PeerConnection.IceServer> iceServers, MediaConstraints constraints, PeerConnection.Observer observer) Deprecated.Deprecated. PeerConnection constraints are deprecated. Supply values in rtcConfig struct instead and use the method without constraints in the signature. -
createPeerConnection
@Nullable public PeerConnection createPeerConnection(List<PeerConnection.IceServer> iceServers, PeerConnection.Observer observer) -
createPeerConnection
@Nullable public PeerConnection createPeerConnection(PeerConnection.RTCConfiguration rtcConfig, PeerConnection.Observer observer) -
createPeerConnection
@Nullable public PeerConnection createPeerConnection(PeerConnection.RTCConfiguration rtcConfig, PeerConnectionDependencies dependencies) -
createLocalMediaStream
-
createVideoSource
Create video source with given parameters. If alignTimestamps is false, the caller is responsible for aligning the frame timestamps to rtc::TimeNanos(). This can be used to achieve higher accuracy if there is a big delay between frame creation and frames being delivered to the returned video source. If alignTimestamps is true, timestamps will be aligned to rtc::TimeNanos() when they arrive to the returned video source. -
createVideoSource
Same as above with alignTimestamps set to true.- See Also:
-
createVideoTrack
-
createAudioSource
-
createAudioTrack
-
startAecDump
public boolean startAecDump(int file_descriptor, int filesize_limit_bytes) -
stopAecDump
public void stopAecDump() -
dispose
public void dispose() -
getNativePeerConnectionFactory
public long getNativePeerConnectionFactory()Returns a pointer to the native webrtc::PeerConnectionFactoryInterface. -
getNativeOwnedFactoryAndThreads
public long getNativeOwnedFactoryAndThreads()Returns a pointer to the native OwnedFactoryAndThreads object -
checkPeerConnectionFactoryExists
private void checkPeerConnectionFactoryExists() -
printStackTrace
private static void printStackTrace(@Nullable PeerConnectionFactory.ThreadInfo threadInfo, boolean printNativeStackTrace) -
printStackTraces
Deprecated.Deprecated, use non-static version instead. -
printInternalStackTraces
public void printInternalStackTraces(boolean printNativeStackTraces) Print the Java stack traces for the critical threads used by PeerConnectionFactory, namely; signaling thread, worker thread, and network thread. If printNativeStackTraces is true, also attempt to print the C++ stack traces for these threads. -
nativeInitializeAndroidGlobals
private static void nativeInitializeAndroidGlobals() -
nativeInitializeFieldTrials
-
nativeFindFieldTrialsFullName
-
nativeInitializeInternalTracer
private static void nativeInitializeInternalTracer() -
nativeShutdownInternalTracer
private static void nativeShutdownInternalTracer() -
nativeStartInternalTracingCapture
-
nativeStopInternalTracingCapture
private static void nativeStopInternalTracingCapture() -
nativeCreatePeerConnectionFactory
private static PeerConnectionFactory nativeCreatePeerConnectionFactory(Object context, PeerConnectionFactory.Options options, long nativeAudioDeviceModule, long audioEncoderFactory, long audioDecoderFactory, VideoEncoderFactory encoderFactory, VideoDecoderFactory decoderFactory, long nativeAudioProcessor, long nativeFecControllerFactory, long nativeNetworkControllerFactory, long nativeNetworkStatePredictorFactory, long neteqFactory) -
nativeCreatePeerConnection
private static long nativeCreatePeerConnection(long factory, PeerConnection.RTCConfiguration rtcConfig, MediaConstraints constraints, long nativeObserver, SSLCertificateVerifier sslCertificateVerifier) -
nativeCreateLocalMediaStream
-
nativeCreateVideoSource
private static long nativeCreateVideoSource(long factory, boolean is_screencast, boolean alignTimestamps) -
nativeCreateVideoTrack
-
nativeCreateAudioSource
-
nativeCreateAudioTrack
-
nativeStartAecDump
private static boolean nativeStartAecDump(long factory, int file_descriptor, int filesize_limit_bytes) -
nativeStopAecDump
private static void nativeStopAecDump(long factory) -
nativeFreeFactory
private static void nativeFreeFactory(long factory) -
nativeGetNativePeerConnectionFactory
private static long nativeGetNativePeerConnectionFactory(long factory) -
nativeInjectLoggable
-
nativeDeleteLoggable
private static void nativeDeleteLoggable() -
nativePrintStackTrace
private static void nativePrintStackTrace(int tid)
-