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

Unified Diff: webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java

Issue 1648813004: Remove candidates when doing continual gathering (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Fix a Windows compiling error 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: webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
index eb4d95906795f37a0ceb999185b6b78994826185..ea29fed60760f6080de3e6db0e3e35ffebf82de9 100644
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
@@ -28,6 +28,7 @@ import org.webrtc.MediaConstraints.KeyValuePair;
import org.webrtc.MediaStream;
import org.webrtc.PeerConnection;
import org.webrtc.PeerConnection.IceConnectionState;
+import org.webrtc.PeerConnection.ContinualGatheringPolicy;
import org.webrtc.PeerConnectionFactory;
import org.webrtc.SdpObserver;
import org.webrtc.SessionDescription;
@@ -184,6 +185,11 @@ public class PeerConnectionClient {
public void onIceCandidate(final IceCandidate candidate);
/**
+ * Callback fired once local ICE candidates are removed.
+ */
+ public void onIceCandidatesRemoved(final IceCandidate[] candidates);
+
+ /**
* Callback fired once connection is established (IceConnectionState is
* CONNECTED).
*/
@@ -454,6 +460,8 @@ public class PeerConnectionClient {
rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.DISABLED;
rtcConfig.bundlePolicy = PeerConnection.BundlePolicy.MAXBUNDLE;
rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.REQUIRE;
+ rtcConfig.continualGatheringPolicy =
+ ContinualGatheringPolicy.GATHER_CONTINUALLY;
pthatcher1 2016/03/01 23:51:54 Should we put this in a different CL?
honghaiz3 2016/03/02 19:06:40 Done.
// Use ECDSA encryption.
rtcConfig.keyType = PeerConnection.KeyType.ECDSA;
@@ -655,6 +663,23 @@ public class PeerConnectionClient {
});
}
+ public void removeRemoteIceCandidates(final IceCandidate[] candidates) {
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (peerConnection == null || isError) {
+ return;
+ }
+ // Drain the queued remote candidates if there is any so that
+ // they are processed in the proper order.
+ if (queuedRemoteCandidates != null) {
+ drainCandidates();
+ }
+ peerConnection.removeIceCandidates(candidates);
+ }
+ });
+ }
+
public void setRemoteDescription(final SessionDescription sdp) {
executor.execute(new Runnable() {
@Override
@@ -924,6 +949,16 @@ public class PeerConnectionClient {
}
@Override
+ public void onIceCandidatesRemoved(final IceCandidate[] candidates) {
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ events.onIceCandidatesRemoved(candidates);
+ }
+ });
+ }
+
+ @Override
public void onSignalingChange(
PeerConnection.SignalingState newState) {
Log.d(TAG, "SignalingState: " + newState);

Powered by Google App Engine
This is Rietveld 408576698