Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Unified Diff: talk/app/webrtc/java/src/org/webrtc/PeerConnection.java

Issue 1610243002: Move talk/app/webrtc to webrtc/api (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Removed processing of api.gyp for Chromium builds Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/app/webrtc/java/src/org/webrtc/PeerConnection.java
diff --git a/talk/app/webrtc/java/src/org/webrtc/PeerConnection.java b/talk/app/webrtc/java/src/org/webrtc/PeerConnection.java
deleted file mode 100644
index 36cd07595cd58a63f01e830eb857d27c4012dacc..0000000000000000000000000000000000000000
--- a/talk/app/webrtc/java/src/org/webrtc/PeerConnection.java
+++ /dev/null
@@ -1,305 +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.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * Java-land version of the PeerConnection APIs; wraps the C++ API
- * http://www.webrtc.org/reference/native-apis, which in turn is inspired by the
- * JS APIs: http://dev.w3.org/2011/webrtc/editor/webrtc.html and
- * http://www.w3.org/TR/mediacapture-streams/
- */
-public class PeerConnection {
- static {
- System.loadLibrary("jingle_peerconnection_so");
- }
-
- /** Tracks PeerConnectionInterface::IceGatheringState */
- public enum IceGatheringState { NEW, GATHERING, COMPLETE };
-
-
- /** Tracks PeerConnectionInterface::IceConnectionState */
- public enum IceConnectionState {
- NEW, CHECKING, CONNECTED, COMPLETED, FAILED, DISCONNECTED, CLOSED
- };
-
- /** Tracks PeerConnectionInterface::SignalingState */
- public enum SignalingState {
- STABLE, HAVE_LOCAL_OFFER, HAVE_LOCAL_PRANSWER, HAVE_REMOTE_OFFER,
- HAVE_REMOTE_PRANSWER, CLOSED
- };
-
- /** Java version of PeerConnectionObserver. */
- public static interface Observer {
- /** Triggered when the SignalingState changes. */
- public void onSignalingChange(SignalingState newState);
-
- /** Triggered when the IceConnectionState changes. */
- public void onIceConnectionChange(IceConnectionState newState);
-
- /** Triggered when the ICE connection receiving status changes. */
- public void onIceConnectionReceivingChange(boolean receiving);
-
- /** Triggered when the IceGatheringState changes. */
- public void onIceGatheringChange(IceGatheringState newState);
-
- /** Triggered when a new ICE candidate has been found. */
- public void onIceCandidate(IceCandidate candidate);
-
- /** Triggered when media is received on a new stream from remote peer. */
- public void onAddStream(MediaStream stream);
-
- /** Triggered when a remote peer close a stream. */
- public void onRemoveStream(MediaStream stream);
-
- /** Triggered when a remote peer opens a DataChannel. */
- public void onDataChannel(DataChannel dataChannel);
-
- /** Triggered when renegotiation is necessary. */
- public void onRenegotiationNeeded();
- }
-
- /** Java version of PeerConnectionInterface.IceServer. */
- public static class IceServer {
- public final String uri;
- public final String username;
- public final String password;
-
- /** Convenience constructor for STUN servers. */
- public IceServer(String uri) {
- this(uri, "", "");
- }
-
- public IceServer(String uri, String username, String password) {
- this.uri = uri;
- this.username = username;
- this.password = password;
- }
-
- public String toString() {
- return uri + "[" + username + ":" + password + "]";
- }
- }
-
- /** Java version of PeerConnectionInterface.IceTransportsType */
- public enum IceTransportsType {
- NONE, RELAY, NOHOST, ALL
- };
-
- /** Java version of PeerConnectionInterface.BundlePolicy */
- public enum BundlePolicy {
- BALANCED, MAXBUNDLE, MAXCOMPAT
- };
-
- /** Java version of PeerConnectionInterface.RtcpMuxPolicy */
- public enum RtcpMuxPolicy {
- NEGOTIATE, REQUIRE
- };
-
- /** Java version of PeerConnectionInterface.TcpCandidatePolicy */
- public enum TcpCandidatePolicy {
- ENABLED, DISABLED
- };
-
- /** Java version of rtc::KeyType */
- public enum KeyType {
- RSA, ECDSA
- }
-
- /** Java version of PeerConnectionInterface.ContinualGatheringPolicy */
- public enum ContinualGatheringPolicy {
- GATHER_ONCE, GATHER_CONTINUALLY
- }
-
- /** Java version of PeerConnectionInterface.RTCConfiguration */
- public static class RTCConfiguration {
- public IceTransportsType iceTransportsType;
- public List<IceServer> iceServers;
- public BundlePolicy bundlePolicy;
- public RtcpMuxPolicy rtcpMuxPolicy;
- public TcpCandidatePolicy tcpCandidatePolicy;
- public int audioJitterBufferMaxPackets;
- public boolean audioJitterBufferFastAccelerate;
- public int iceConnectionReceivingTimeout;
- public int iceBackupCandidatePairPingInterval;
- public KeyType keyType;
- public ContinualGatheringPolicy continualGatheringPolicy;
-
- public RTCConfiguration(List<IceServer> iceServers) {
- iceTransportsType = IceTransportsType.ALL;
- bundlePolicy = BundlePolicy.BALANCED;
- rtcpMuxPolicy = RtcpMuxPolicy.NEGOTIATE;
- tcpCandidatePolicy = TcpCandidatePolicy.ENABLED;
- this.iceServers = iceServers;
- audioJitterBufferMaxPackets = 50;
- audioJitterBufferFastAccelerate = false;
- iceConnectionReceivingTimeout = -1;
- iceBackupCandidatePairPingInterval = -1;
- keyType = KeyType.ECDSA;
- continualGatheringPolicy = ContinualGatheringPolicy.GATHER_ONCE;
- }
- };
-
- private final List<MediaStream> localStreams;
- private final long nativePeerConnection;
- private final long nativeObserver;
- private List<RtpSender> senders;
- private List<RtpReceiver> receivers;
-
- PeerConnection(long nativePeerConnection, long nativeObserver) {
- this.nativePeerConnection = nativePeerConnection;
- this.nativeObserver = nativeObserver;
- localStreams = new LinkedList<MediaStream>();
- senders = new LinkedList<RtpSender>();
- receivers = new LinkedList<RtpReceiver>();
- }
-
- // JsepInterface.
- public native SessionDescription getLocalDescription();
-
- public native SessionDescription getRemoteDescription();
-
- public native DataChannel createDataChannel(
- String label, DataChannel.Init init);
-
- public native void createOffer(
- SdpObserver observer, MediaConstraints constraints);
-
- public native void createAnswer(
- SdpObserver observer, MediaConstraints constraints);
-
- public native void setLocalDescription(
- SdpObserver observer, SessionDescription sdp);
-
- public native void setRemoteDescription(
- SdpObserver observer, SessionDescription sdp);
-
- public native boolean setConfiguration(RTCConfiguration config);
-
- public boolean addIceCandidate(IceCandidate candidate) {
- return nativeAddIceCandidate(
- candidate.sdpMid, candidate.sdpMLineIndex, candidate.sdp);
- }
-
- public boolean addStream(MediaStream stream) {
- boolean ret = nativeAddLocalStream(stream.nativeStream);
- if (!ret) {
- return false;
- }
- localStreams.add(stream);
- return true;
- }
-
- public void removeStream(MediaStream stream) {
- nativeRemoveLocalStream(stream.nativeStream);
- localStreams.remove(stream);
- }
-
- public RtpSender createSender(String kind, String stream_id) {
- RtpSender new_sender = nativeCreateSender(kind, stream_id);
- if (new_sender != null) {
- senders.add(new_sender);
- }
- return new_sender;
- }
-
- // Note that calling getSenders will dispose of the senders previously
- // returned (and same goes for getReceivers).
- public List<RtpSender> getSenders() {
- for (RtpSender sender : senders) {
- sender.dispose();
- }
- senders = nativeGetSenders();
- return Collections.unmodifiableList(senders);
- }
-
- public List<RtpReceiver> getReceivers() {
- for (RtpReceiver receiver : receivers) {
- receiver.dispose();
- }
- receivers = nativeGetReceivers();
- return Collections.unmodifiableList(receivers);
- }
-
- public boolean getStats(StatsObserver observer, MediaStreamTrack track) {
- return nativeGetStats(observer, (track == null) ? 0 : track.nativeTrack);
- }
-
- // TODO(fischman): add support for DTMF-related methods once that API
- // stabilizes.
- public native SignalingState signalingState();
-
- public native IceConnectionState iceConnectionState();
-
- public native IceGatheringState iceGatheringState();
-
- public native void close();
-
- public void dispose() {
- close();
- for (MediaStream stream : localStreams) {
- nativeRemoveLocalStream(stream.nativeStream);
- stream.dispose();
- }
- localStreams.clear();
- for (RtpSender sender : senders) {
- sender.dispose();
- }
- senders.clear();
- for (RtpReceiver receiver : receivers) {
- receiver.dispose();
- }
- receivers.clear();
- freePeerConnection(nativePeerConnection);
- freeObserver(nativeObserver);
- }
-
- private static native void freePeerConnection(long nativePeerConnection);
-
- private static native void freeObserver(long nativeObserver);
-
- private native boolean nativeAddIceCandidate(
- String sdpMid, int sdpMLineIndex, String iceCandidateSdp);
-
- private native boolean nativeAddLocalStream(long nativeStream);
-
- private native void nativeRemoveLocalStream(long nativeStream);
-
- private native boolean nativeGetStats(
- StatsObserver observer, long nativeTrack);
-
- private native RtpSender nativeCreateSender(String kind, String stream_id);
-
- private native List<RtpSender> nativeGetSenders();
-
- private native List<RtpReceiver> nativeGetReceivers();
-}

Powered by Google App Engine
This is Rietveld 408576698