fixed regression of not handling jingle content map parsing failures

Daniel Gultsch created

Change summary

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

Detailed changes

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

@@ -314,7 +314,12 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
     }
 
     private ListenableFuture<RtpContentMap> receiveRtpContentMap(final JinglePacket jinglePacket, final boolean expectVerification) {
-        final RtpContentMap receivedContentMap = RtpContentMap.of(jinglePacket);
+        final RtpContentMap receivedContentMap;
+        try {
+            receivedContentMap = RtpContentMap.of(jinglePacket);
+        } catch (final Exception e) {
+            return Futures.immediateFailedFuture(e);
+        }
         if (receivedContentMap instanceof OmemoVerifiedRtpContentMap) {
             final ListenableFuture<AxolotlService.OmemoVerifiedPayload<RtpContentMap>> future = id.account.getAxolotlService().decrypt((OmemoVerifiedRtpContentMap) receivedContentMap, id.with);
             return Futures.transform(future, omemoVerifiedPayload -> {

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

@@ -159,7 +159,6 @@ public class RtpContentMap {
             } else if (description instanceof RtpDescription) {
                 rtpDescription = (RtpDescription) description;
             } else {
-                Log.d(Config.LOGTAG, "description was " + description);
                 throw new UnsupportedApplicationException("Content does not contain rtp description");
             }
             if (transportInfo instanceof IceUdpTransportInfo) {