# HG changeset patch # User Mike Ruprecht # Date 1249014030 0 # Node ID 49cb3fc2c01ab9c05232abd7ac56b91a96ed94e7 # Parent 7da3bf6d3b2c92b67027ed4e4121eb1acbeaafcf Add the camera-v1 cap or else Gmail refuses to accept we're video enabled. diff -r 7da3bf6d3b2c -r 49cb3fc2c01a libpurple/protocols/jabber/disco.c --- a/libpurple/protocols/jabber/disco.c Thu Jul 30 03:42:26 2009 +0000 +++ b/libpurple/protocols/jabber/disco.c Fri Jul 31 04:20:30 2009 +0000 @@ -166,6 +166,18 @@ */ xmlnode *feature = xmlnode_new_child(query, "feature"); xmlnode_set_attrib(feature, "var", "http://www.google.com/xmpp/protocol/video/v1"); + } else if (g_str_equal(node, CAPS0115_NODE "#" "camera-v1")) { + /* + * HUGE HACK! We advertise this ext (see jabber_presence_create_js + * where we add to the ) for the Google Talk + * clients that don't actually check disco#info features. + * + * This specific feature is redundant but is what + * node='http://mail.google.com/xmpp/client/caps', ver='1.1' + * advertises as 'camera-v1'. + */ + xmlnode *feature = xmlnode_new_child(query, "feature"); + xmlnode_set_attrib(feature, "var", "http://www.google.com/xmpp/protocol/camera/v1"); #endif } else { xmlnode *error, *inf; diff -r 7da3bf6d3b2c -r 49cb3fc2c01a libpurple/protocols/jabber/presence.c --- a/libpurple/protocols/jabber/presence.c Thu Jul 30 03:42:26 2009 +0000 +++ b/libpurple/protocols/jabber/presence.c Fri Jul 31 04:20:30 2009 +0000 @@ -324,11 +324,11 @@ video_enabled = jabber_video_enabled(js, NULL /* unused */); if (audio_enabled && video_enabled) - xmlnode_set_attrib(c, "ext", "voice-v1 video-v1"); + xmlnode_set_attrib(c, "ext", "voice-v1 camera-v1 video-v1"); else if (audio_enabled) xmlnode_set_attrib(c, "ext", "voice-v1"); else if (video_enabled) - xmlnode_set_attrib(c, "ext", "video-v1"); + xmlnode_set_attrib(c, "ext", "camera-v1 video-v1"); #endif return presence;