From 9f00096d98a7489ac64c34beb8a348efe6cb182c Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Sat, 9 Dec 2017 20:49:02 +0100 Subject: [PATCH] Close connection if ICE fails Signed-off-by: Mario Danic --- .../java/com/nextcloud/talk/activities/CallActivity.java | 2 +- .../nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index d8a5632bc..aaa83a673 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -510,7 +510,7 @@ public class CallActivity extends AppCompatActivity { SessionDescription sessionDescriptionWithPreferredCodec = new SessionDescription( SessionDescription.Type.fromCanonicalForm(type), - sessionDescriptionStringWithPreferredCodec); + ncSignalingMessage.getPayload().getSdp()); magicPeerConnectionWrapper.getPeerConnection().setRemoteDescription(magicPeerConnectionWrapper .getMagicSdpObserver(), sessionDescriptionWithPreferredCodec); diff --git a/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java b/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java index 16ae142f1..67609a5ee 100644 --- a/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java +++ b/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java @@ -194,6 +194,9 @@ public class MagicPeerConnectionWrapper { if (iceConnectionState.equals(PeerConnection.IceConnectionState.CONNECTED) && hasInitiated) { sendChannelData(new DataChannelMessage("videoOn")); sendChannelData(new DataChannelMessage("audioOn")); + } else if (iceConnectionState.equals(PeerConnection.IceConnectionState.FAILED)) { + EventBus.getDefault().post(new PeerConnectionEvent(PeerConnectionEvent.PeerConnectionEventType + .CLOSE_PEER, sessionId)); } } @@ -282,9 +285,9 @@ public class MagicPeerConnectionWrapper { sessionDescription.type, sessionDescriptionStringWithPreferredCodec); - EventBus.getDefault().post(new SessionDescriptionSendEvent(sessionDescriptionWithPreferredCodec, sessionId, + EventBus.getDefault().post(new SessionDescriptionSendEvent(sessionDescription, sessionId, sessionDescription.type.canonicalForm().toLowerCase(), null)); - peerConnection.setLocalDescription(magicSdpObserver, sessionDescriptionWithPreferredCodec); + peerConnection.setLocalDescription(magicSdpObserver, sessionDescription); } @Override