jingle: do not send session-terminate after failed regneg when session already was

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java | 7 
1 file changed, 5 insertions(+), 2 deletions(-)

Detailed changes

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

@@ -2007,7 +2007,6 @@ public class JingleRtpConnection extends AbstractJingleConnection
         final JinglePacket jinglePacket =
                 new JinglePacket(JinglePacket.Action.SESSION_TERMINATE, id.sessionId);
         jinglePacket.setReason(reason, text);
-        Log.d(Config.LOGTAG, jinglePacket.toString());
         send(jinglePacket);
         finish();
     }
@@ -2577,8 +2576,12 @@ public class JingleRtpConnection extends AbstractJingleConnection
             sessionDescription = setLocalSessionDescription();
         } catch (final Exception e) {
             final Throwable cause = Throwables.getRootCause(e);
-            Log.d(Config.LOGTAG, "failed to renegotiate", cause);
             webRTCWrapper.close();
+            if (isTerminated()) {
+                Log.d(Config.LOGTAG, "failed to renegotiate. session was already terminated", cause);
+                return;
+            }
+            Log.d(Config.LOGTAG, "failed to renegotiate. sending session-terminate", cause);
             sendSessionTerminate(Reason.FAILED_APPLICATION, cause.getMessage());
             return;
         }