Added send_dtmf to protocol media interface soc.2013.gobjectification.plugins

Fri, 10 Apr 2015 13:30:18 +0530

author
Ankit Vani <a@nevitus.org>
date
Fri, 10 Apr 2015 13:30:18 +0530
branch
soc.2013.gobjectification.plugins
changeset 37164
aea7e3b20138
parent 37163
bdaa6ae19356
child 37165
4a3c1daa9f21

Added send_dtmf to protocol media interface

libpurple/media/enum-types.c file | annotate | diff | comparison | revisions
libpurple/protocol.c file | annotate | diff | comparison | revisions
libpurple/protocol.h file | annotate | diff | comparison | revisions
libpurple/protocols/jabber/jabber.c file | annotate | diff | comparison | revisions
--- 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);
 

mercurial