[telepathy-gabble/master] Actually look for jingle:rtp:{audio, video} caps

Will Thompson will.thompson at collabora.co.uk
Thu Jun 25 10:33:53 PDT 2009


Previously, Gabble assumed that anyone who could do Jingle RTP could
make video calls.
---
 src/media-channel.c                 |   13 +++++++------
 tests/twisted/jingle/jingletest2.py |    3 ++-
 tests/twisted/ns.py                 |    2 ++
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/media-channel.c b/src/media-channel.c
index 3e402bb..0728445 100644
--- a/src/media-channel.c
+++ b/src/media-channel.c
@@ -2801,16 +2801,17 @@ _gabble_media_channel_caps_to_typeflags (GabblePresenceCapabilities caps)
    * separately because old GTalk clients didn't do that - having Google voice
    * implied Google session and GTalk-P2P */
 
-  /* TODO: we should use RTP_AUDIO and RTP_VIDEO instead of just RTP */
-
   if ((caps & PRESENCE_CAP_GOOGLE_VOICE) ||
-      ((caps & PRESENCE_CAP_JINGLE_DESCRIPTION_AUDIO) &&
+      ((caps & ( PRESENCE_CAP_JINGLE_DESCRIPTION_AUDIO
+               | PRESENCE_CAP_JINGLE_RTP_AUDIO
+               )) &&
        (caps & PRESENCE_CAP_GOOGLE_TRANSPORT_P2P)))
         typeflags |= TP_CHANNEL_MEDIA_CAPABILITY_AUDIO;
 
-  if ((caps & PRESENCE_CAP_JINGLE_RTP) ||
-      (caps & PRESENCE_CAP_GOOGLE_VIDEO) ||
-      ((caps & PRESENCE_CAP_JINGLE_DESCRIPTION_VIDEO) &&
+  if ( (caps & PRESENCE_CAP_GOOGLE_VIDEO) ||
+      ((caps & ( PRESENCE_CAP_JINGLE_DESCRIPTION_VIDEO
+               | PRESENCE_CAP_JINGLE_RTP_VIDEO
+               )) &&
        (caps & PRESENCE_CAP_GOOGLE_TRANSPORT_P2P)))
         typeflags |= TP_CHANNEL_MEDIA_CAPABILITY_VIDEO;
 
diff --git a/tests/twisted/jingle/jingletest2.py b/tests/twisted/jingle/jingletest2.py
index 99bf95b..c4ff514 100644
--- a/tests/twisted/jingle/jingletest2.py
+++ b/tests/twisted/jingle/jingletest2.py
@@ -308,7 +308,8 @@ class JingleProtocol015(JingleProtocol):
         return ('description', namespace, { 'type': type }, children)
 
 class JingleProtocol031(JingleProtocol):
-    features = [ ns.JINGLE, ns.JINGLE_RTP, ns.GOOGLE_P2P ]
+    features = [ ns.JINGLE, ns.JINGLE_RTP, ns.JINGLE_RTP_AUDIO,
+        ns.JINGLE_RTP_VIDEO, ns.GOOGLE_P2P ]
 
     def __init__(self):
         JingleProtocol.__init__(self, 'jingle-v0.31')
diff --git a/tests/twisted/ns.py b/tests/twisted/ns.py
index c991211..3bdb690 100644
--- a/tests/twisted/ns.py
+++ b/tests/twisted/ns.py
@@ -21,6 +21,8 @@ JINGLE_015_AUDIO = "http://jabber.org/protocol/jingle/description/audio"
 JINGLE_015_VIDEO = "http://jabber.org/protocol/jingle/description/video"
 JINGLE = "urn:xmpp:jingle:1"
 JINGLE_RTP = "urn:xmpp:jingle:apps:rtp:1"
+JINGLE_RTP_AUDIO = "urn:xmpp:jingle:apps:rtp:audio"
+JINGLE_RTP_VIDEO = "urn:xmpp:jingle:apps:rtp:video"
 JINGLE_RTP_ERRORS = "urn:xmpp:jingle:apps:rtp:errors:1"
 JINGLE_RTP_INFO_1 = "urn:xmpp:jingle:apps:rtp:info:1"
 MUC = 'http://jabber.org/protocol/muc'
-- 
1.5.6.5




More information about the telepathy-commits mailing list