hold back candidates until after content-add

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java | 3 
src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java       | 1 
2 files changed, 3 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java 🔗

@@ -738,6 +738,7 @@ public class JingleRtpConnection extends AbstractJingleConnection
                             + ContentAddition.summary(contentAcceptMap));
             modifyLocalContentMap(rtpContentMap);
             sendContentAccept(contentAcceptMap);
+            this.webRTCWrapper.setIsReadyToReceiveIceCandidates(true);
         } catch (final Exception e) {
             Log.d(Config.LOGTAG, "unable to accept content add", Throwables.getRootCause(e));
             webRTCWrapper.close();
@@ -871,7 +872,6 @@ public class JingleRtpConnection extends AbstractJingleConnection
         webRTCWrapper.setRemoteDescription(sdp).get();
         setRemoteContentMap(restartContentMap);
         if (isOffer) {
-            webRTCWrapper.setIsReadyToReceiveIceCandidates(false);
             final SessionDescription localSessionDescription = setLocalSessionDescription();
             setLocalContentMap(RtpContentMap.of(localSessionDescription, isInitiator()));
             // We need to respond OK before sending any candidates
@@ -2479,6 +2479,7 @@ public class JingleRtpConnection extends AbstractJingleConnection
                         handleIqTimeoutResponse(response);
                     }
                 });
+        this.webRTCWrapper.setIsReadyToReceiveIceCandidates(true);
     }
 
     private void setLocalContentMap(final RtpContentMap rtpContentMap) {