Fri, 10 Apr 2015 13:30:18 +0530
Added send_dtmf to protocol media interface
--- a/libpurple/media/enum-types.c Fri Apr 10 11:36:40 2015 +0530 +++ b/libpurple/media/enum-types.c Fri Apr 10 13:30:18 2015 +0530 @@ -142,13 +142,13 @@ "udp" }, { PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE, "PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE", - "tcp passive" }, + "tcp-passive" }, { PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE, "PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE", - "tcp active" }, + "tcp-active" }, { PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO, "PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO", - "tcp so" }, + "tcp-so" }, { 0, NULL, NULL } }; type = g_enum_register_static("PurpleMediaNetworkProtocol",
--- a/libpurple/protocol.c Fri Apr 10 11:36:40 2015 +0530 +++ b/libpurple/protocol.c Fri Apr 10 13:30:18 2015 +0530 @@ -1018,6 +1018,13 @@ DEFINE_PROTOCOL_FUNC_WITH_RETURN(protocol, 0, get_caps, account, who); } +gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *protocol, + PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration) +{ + DEFINE_PROTOCOL_FUNC_WITH_RETURN(protocol, FALSE, send_dtmf, media, + dtmf, volume, duration); +} + #undef DEFINE_PROTOCOL_FUNC_WITH_RETURN #undef DEFINE_PROTOCOL_FUNC
--- a/libpurple/protocol.h Fri Apr 10 11:36:40 2015 +0530 +++ b/libpurple/protocol.h Fri Apr 10 13:30:18 2015 +0530 @@ -659,6 +659,9 @@ * <sbr/>@account: The account the contact is on. * <sbr/>@who: The remote user to check for media capability with. * <sbr/>Returns: The media caps the contact supports. + * @send_dtmf: Sends DTMF codes out-of-band in a protocol-specific way if the + * protocol supports it, or failing that in-band if the media backend + * can do so. See purple_media_send_dtmf(). * * The protocol media interface. * @@ -675,6 +678,9 @@ PurpleMediaCaps (*get_caps)(PurpleAccount *account, const char *who); + + gboolean (*send_dtmf)(PurpleMedia *media, gchar dtmf, + guint8 volume, guint8 duration); }; #define PURPLE_PROTOCOL_HAS_MEDIA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE)) @@ -1149,6 +1155,9 @@ PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *, PurpleAccount *account, const char *who); +gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *, + PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration); + /**************************************************************************/ /* Protocol Factory Interface API */ /**************************************************************************/
--- a/libpurple/protocols/jabber/jabber.c Fri Apr 10 11:36:40 2015 +0530 +++ b/libpurple/protocols/jabber/jabber.c Fri Apr 10 13:30:18 2015 +0530 @@ -73,9 +73,11 @@ #include "facebook.h" #include "jingle/jingle.h" +#include "jingle/content.h" #include "jingle/iceudp.h" #include "jingle/rawudp.h" #include "jingle/rtp.h" +#include "jingle/session.h" #define PING_TIMEOUT 60 /* Send a whitespace keepalive to the server if we haven't sent @@ -4315,7 +4317,9 @@ jingle_google_p2p_register_type(plugin); jingle_content_register_type(plugin); +#ifdef USE_VV jingle_rtp_register_type(plugin); +#endif jabber_protocol_register_type(plugin);