| Index: webrtc/api/java/src/org/webrtc/PeerConnectionFactory.java
|
| diff --git a/webrtc/api/java/src/org/webrtc/PeerConnectionFactory.java b/webrtc/api/java/src/org/webrtc/PeerConnectionFactory.java
|
| deleted file mode 100644
|
| index 2edd56e8413d2b17601a7ab8e4929e608cf6747f..0000000000000000000000000000000000000000
|
| --- a/webrtc/api/java/src/org/webrtc/PeerConnectionFactory.java
|
| +++ /dev/null
|
| @@ -1,265 +0,0 @@
|
| -/*
|
| - * Copyright 2013 The WebRTC project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -
|
| -package org.webrtc;
|
| -
|
| -import java.util.List;
|
| -
|
| -/**
|
| - * Java wrapper for a C++ PeerConnectionFactoryInterface. Main entry point to
|
| - * the PeerConnection API for clients.
|
| - */
|
| -public class PeerConnectionFactory {
|
| - static {
|
| - System.loadLibrary("jingle_peerconnection_so");
|
| - }
|
| -
|
| - 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;
|
| -
|
| - public static class Options {
|
| - // Keep in sync with webrtc/base/network.h!
|
| - static final int ADAPTER_TYPE_UNKNOWN = 0;
|
| - static final int ADAPTER_TYPE_ETHERNET = 1 << 0;
|
| - static final int ADAPTER_TYPE_WIFI = 1 << 1;
|
| - static final int ADAPTER_TYPE_CELLULAR = 1 << 2;
|
| - static final int ADAPTER_TYPE_VPN = 1 << 3;
|
| - static final int ADAPTER_TYPE_LOOPBACK = 1 << 4;
|
| -
|
| - public int networkIgnoreMask;
|
| - public boolean disableEncryption;
|
| - public boolean disableNetworkMonitor;
|
| - }
|
| -
|
| - // |context| is an android.content.Context object, but we keep it untyped here
|
| - // to allow building on non-Android platforms.
|
| - // Callers may specify either |initializeAudio| or |initializeVideo| as false
|
| - // to skip initializing the respective engine (and avoid the need for the
|
| - // respective permissions).
|
| - // |renderEGLContext| can be provided to suport HW video decoding to
|
| - // texture and will be used to create a shared EGL context on video
|
| - // decoding thread.
|
| - public static native boolean initializeAndroidGlobals(
|
| - Object context, boolean initializeAudio, boolean initializeVideo,
|
| - boolean videoHwAcceleration);
|
| -
|
| - // Field trial initialization. Must be called before PeerConnectionFactory
|
| - // is created.
|
| - public static native void initializeFieldTrials(String fieldTrialsInitString);
|
| - // 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();
|
| -
|
| - @Deprecated
|
| - public PeerConnectionFactory() {
|
| - this(null);
|
| - }
|
| -
|
| - public PeerConnectionFactory(Options options) {
|
| - nativeFactory = nativeCreatePeerConnectionFactory(options);
|
| - if (nativeFactory == 0) {
|
| - throw new RuntimeException("Failed to initialize PeerConnectionFactory!");
|
| - }
|
| - }
|
| -
|
| - public PeerConnection createPeerConnection(
|
| - PeerConnection.RTCConfiguration rtcConfig,
|
| - MediaConstraints constraints,
|
| - PeerConnection.Observer observer) {
|
| - long nativeObserver = nativeCreateObserver(observer);
|
| - if (nativeObserver == 0) {
|
| - return null;
|
| - }
|
| - long nativePeerConnection = nativeCreatePeerConnection(
|
| - nativeFactory, rtcConfig, constraints, nativeObserver);
|
| - if (nativePeerConnection == 0) {
|
| - return null;
|
| - }
|
| - return new PeerConnection(nativePeerConnection, nativeObserver);
|
| - }
|
| -
|
| - public PeerConnection createPeerConnection(
|
| - List<PeerConnection.IceServer> iceServers,
|
| - MediaConstraints constraints,
|
| - PeerConnection.Observer observer) {
|
| - PeerConnection.RTCConfiguration rtcConfig =
|
| - new PeerConnection.RTCConfiguration(iceServers);
|
| - return createPeerConnection(rtcConfig, constraints, observer);
|
| - }
|
| -
|
| - public MediaStream createLocalMediaStream(String label) {
|
| - return new MediaStream(
|
| - nativeCreateLocalMediaStream(nativeFactory, label));
|
| - }
|
| -
|
| - // The VideoSource takes ownership of |capturer|, so capturer.release() should not be called
|
| - // manually after this.
|
| - public VideoSource createVideoSource(
|
| - VideoCapturer capturer, MediaConstraints constraints) {
|
| - final EglBase.Context eglContext =
|
| - localEglbase == null ? null : localEglbase.getEglBaseContext();
|
| - return new VideoSource(nativeCreateVideoSource(nativeFactory,
|
| - eglContext, capturer, constraints));
|
| - }
|
| -
|
| - public VideoTrack createVideoTrack(String id, VideoSource source) {
|
| - return new VideoTrack(nativeCreateVideoTrack(
|
| - nativeFactory, id, source.nativeSource));
|
| - }
|
| -
|
| - public AudioSource createAudioSource(MediaConstraints constraints) {
|
| - return new AudioSource(nativeCreateAudioSource(nativeFactory, constraints));
|
| - }
|
| -
|
| - public AudioTrack createAudioTrack(String id, AudioSource source) {
|
| - return new AudioTrack(nativeCreateAudioTrack(
|
| - nativeFactory, id, source.nativeSource));
|
| - }
|
| -
|
| - // Starts recording an AEC dump. Ownership of the file is transfered to the
|
| - // native code. If an AEC dump is already in progress, it will be stopped and
|
| - // a new one will start using the provided file.
|
| - public boolean startAecDump(int file_descriptor, int filesize_limit_bytes) {
|
| - return nativeStartAecDump(nativeFactory, file_descriptor, filesize_limit_bytes);
|
| - }
|
| -
|
| - // Stops recording an AEC dump. If no AEC dump is currently being recorded,
|
| - // this call will have no effect.
|
| - public void stopAecDump() {
|
| - nativeStopAecDump(nativeFactory);
|
| - }
|
| -
|
| - @Deprecated
|
| - public void setOptions(Options options) {
|
| - nativeSetOptions(nativeFactory, options);
|
| - }
|
| -
|
| - /** Set the EGL context used by HW Video encoding and decoding.
|
| - *
|
| - * @param localEglContext Must be the same as used by VideoCapturerAndroid and any local video
|
| - * renderer.
|
| - * @param remoteEglContext Must be the same as used by any remote video renderer.
|
| - */
|
| - public void setVideoHwAccelerationOptions(EglBase.Context localEglContext,
|
| - EglBase.Context remoteEglContext) {
|
| - if (localEglbase != null) {
|
| - Logging.w(TAG, "Egl context already set.");
|
| - localEglbase.release();
|
| - }
|
| - if (remoteEglbase != null) {
|
| - Logging.w(TAG, "Egl context already set.");
|
| - remoteEglbase.release();
|
| - }
|
| - localEglbase = EglBase.create(localEglContext);
|
| - remoteEglbase = EglBase.create(remoteEglContext);
|
| - nativeSetVideoHwAccelerationOptions(nativeFactory, localEglbase.getEglBaseContext(),
|
| - remoteEglbase.getEglBaseContext());
|
| - }
|
| -
|
| - public void dispose() {
|
| - nativeFreeFactory(nativeFactory);
|
| - networkThread = null;
|
| - workerThread = null;
|
| - signalingThread = null;
|
| - if (localEglbase != null)
|
| - localEglbase.release();
|
| - if (remoteEglbase != null)
|
| - remoteEglbase.release();
|
| - }
|
| -
|
| - public void threadsCallbacks() {
|
| - nativeThreadsCallbacks(nativeFactory);
|
| - }
|
| -
|
| - private static void printStackTrace(Thread thread, String threadName) {
|
| - if (thread != null) {
|
| - StackTraceElement[] stackTraces = thread.getStackTrace();
|
| - if (stackTraces.length > 0) {
|
| - Logging.d(TAG, threadName + " stacks trace:");
|
| - for (StackTraceElement stackTrace : stackTraces) {
|
| - Logging.d(TAG, stackTrace.toString());
|
| - }
|
| - }
|
| - }
|
| - }
|
| -
|
| - public static void printStackTraces() {
|
| - printStackTrace(networkThread, "Network thread");
|
| - printStackTrace(workerThread, "Worker thread");
|
| - printStackTrace(signalingThread, "Signaling thread");
|
| - }
|
| -
|
| - private static void onNetworkThreadReady() {
|
| - networkThread = Thread.currentThread();
|
| - Logging.d(TAG, "onNetworkThreadReady");
|
| - }
|
| -
|
| - private static void onWorkerThreadReady() {
|
| - workerThread = Thread.currentThread();
|
| - Logging.d(TAG, "onWorkerThreadReady");
|
| - }
|
| -
|
| - private static void onSignalingThreadReady() {
|
| - signalingThread = Thread.currentThread();
|
| - Logging.d(TAG, "onSignalingThreadReady");
|
| - }
|
| -
|
| - private static native long nativeCreatePeerConnectionFactory(Options options);
|
| -
|
| - private static native long nativeCreateObserver(
|
| - PeerConnection.Observer observer);
|
| -
|
| - private static native long nativeCreatePeerConnection(
|
| - long nativeFactory, PeerConnection.RTCConfiguration rtcConfig,
|
| - MediaConstraints constraints, long nativeObserver);
|
| -
|
| - private static native long nativeCreateLocalMediaStream(
|
| - long nativeFactory, String label);
|
| -
|
| - private static native long nativeCreateVideoSource(
|
| - long nativeFactory, EglBase.Context eglContext, VideoCapturer videoCapturer,
|
| - MediaConstraints constraints);
|
| -
|
| - private static native long nativeCreateVideoTrack(
|
| - long nativeFactory, String id, long nativeVideoSource);
|
| -
|
| - private static native long nativeCreateAudioSource(
|
| - long nativeFactory, MediaConstraints constraints);
|
| -
|
| - private static native long nativeCreateAudioTrack(
|
| - long nativeFactory, String id, long nativeSource);
|
| -
|
| - private static native boolean nativeStartAecDump(
|
| - long nativeFactory, int file_descriptor, int filesize_limit_bytes);
|
| -
|
| - private static native void nativeStopAecDump(long nativeFactory);
|
| -
|
| - @Deprecated
|
| - public native void nativeSetOptions(long nativeFactory, Options options);
|
| -
|
| - private static native void nativeSetVideoHwAccelerationOptions(
|
| - long nativeFactory, Object localEGLContext, Object remoteEGLContext);
|
| -
|
| - private static native void nativeThreadsCallbacks(long nativeFactory);
|
| -
|
| - private static native void nativeFreeFactory(long nativeFactory);
|
| -}
|
|
|