| Index: talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java
|
| diff --git a/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java b/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java
|
| deleted file mode 100644
|
| index e6b320562745438630fb5e03a6bfcb0e783702f2..0000000000000000000000000000000000000000
|
| --- a/talk/app/webrtc/java/src/org/webrtc/PeerConnectionFactory.java
|
| +++ /dev/null
|
| @@ -1,271 +0,0 @@
|
| -/*
|
| - * libjingle
|
| - * Copyright 2013 Google Inc.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions are met:
|
| - *
|
| - * 1. Redistributions of source code must retain the above copyright notice,
|
| - * this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright notice,
|
| - * this list of conditions and the following disclaimer in the documentation
|
| - * and/or other materials provided with the distribution.
|
| - * 3. The name of the author may not be used to endorse or promote products
|
| - * derived from this software without specific prior written permission.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
| - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
| - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
| - * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
| - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
| - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
| - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
| - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
| - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -
|
| -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 workerThread;
|
| - private static Thread signalingThread;
|
| -
|
| - 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));
|
| - }
|
| -
|
| - public VideoSource createVideoSource(
|
| - VideoCapturer capturer, MediaConstraints constraints) {
|
| - return new VideoSource(nativeCreateVideoSource(
|
| - nativeFactory, capturer.takeNativeVideoCapturer(), 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);
|
| - }
|
| -
|
| - // Starts recording an RTC event log. Ownership of the file is transfered to
|
| - // the native code. If an RTC event log is already being recorded, it will be
|
| - // stopped and a new one will start using the provided file.
|
| - public boolean startRtcEventLog(int file_descriptor) {
|
| - return nativeStartRtcEventLog(nativeFactory, file_descriptor);
|
| - }
|
| -
|
| - // Stops recording an RTC event log. If no RTC event log is currently being
|
| - // recorded, this call will have no effect.
|
| - public void StopRtcEventLog() {
|
| - nativeStopRtcEventLog(nativeFactory);
|
| - }
|
| -
|
| - @Deprecated
|
| - public void setOptions(Options options) {
|
| - nativeSetOptions(nativeFactory, options);
|
| - }
|
| -
|
| - /** Set the EGL context used by HW Video encoding and decoding.
|
| - *
|
| - * @param localEGLContext An instance of EglBase.Context.
|
| - * Must be the same as used by VideoCapturerAndroid and any local
|
| - * video renderer.
|
| - * @param remoteEGLContext An instance of EglBase.Context.
|
| - * Must be the same as used by any remote video renderer.
|
| - */
|
| - public void setVideoHwAccelerationOptions(Object localEGLContext, Object remoteEGLContext) {
|
| - nativeSetVideoHwAccelerationOptions(nativeFactory, localEGLContext, remoteEGLContext);
|
| - }
|
| -
|
| - public void dispose() {
|
| - nativeFreeFactory(nativeFactory);
|
| - signalingThread = null;
|
| - workerThread = null;
|
| - }
|
| -
|
| - 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(workerThread, "Worker thread");
|
| - printStackTrace(signalingThread, "Signaling thread");
|
| - }
|
| -
|
| - 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, long nativeVideoCapturer,
|
| - 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);
|
| -
|
| - private static native boolean nativeStartRtcEventLog(long nativeFactory, int file_descriptor);
|
| -
|
| - private static native void nativeStopRtcEventLog(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);
|
| -}
|
|
|