aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2009-03-09 04:18:31 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2009-03-09 04:18:31 +0800
commitdafe7cf1759fb206760d84157d4695cec6cd826c (patch)
tree4068d29834ff96b4eab697583f487d15aff3ea20
parent87c7a840467687a189135cddf31ca64c440e4a95 (diff)
downloadgsoc2013-empathy-dafe7cf1759fb206760d84157d4695cec6cd826c.tar
gsoc2013-empathy-dafe7cf1759fb206760d84157d4695cec6cd826c.tar.gz
gsoc2013-empathy-dafe7cf1759fb206760d84157d4695cec6cd826c.tar.bz2
gsoc2013-empathy-dafe7cf1759fb206760d84157d4695cec6cd826c.tar.lz
gsoc2013-empathy-dafe7cf1759fb206760d84157d4695cec6cd826c.tar.xz
gsoc2013-empathy-dafe7cf1759fb206760d84157d4695cec6cd826c.tar.zst
gsoc2013-empathy-dafe7cf1759fb206760d84157d4695cec6cd826c.zip
Forward resource requests
From: Sjoerd Simons <sjoerd.simons@collabora.co.uk> svn path=/trunk/; revision=2638
-rw-r--r--libempathy/empathy-call-handler.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/libempathy/empathy-call-handler.c b/libempathy/empathy-call-handler.c
index 8d159cdd4..072542c82 100644
--- a/libempathy/empathy-call-handler.c
+++ b/libempathy/empathy-call-handler.c
@@ -39,6 +39,7 @@ enum {
CONFERENCE_ADDED,
SRC_PAD_ADDED,
SINK_PAD_ADDED,
+ REQUEST_RESOURCE,
CLOSED,
LAST_SIGNAL
};
@@ -197,6 +198,13 @@ empathy_call_handler_class_init (EmpathyCallHandlerClass *klass)
G_TYPE_NONE,
2, GST_TYPE_PAD, G_TYPE_UINT);
+ signals[REQUEST_RESOURCE] =
+ g_signal_new ("request-resource", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST, 0,
+ g_signal_accumulator_true_handled, NULL,
+ _empathy_marshal_BOOLEAN__UINT_UINT,
+ G_TYPE_BOOLEAN, 2, G_TYPE_UINT, G_TYPE_UINT);
+
signals[CLOSED] =
g_signal_new ("closed", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, 0, NULL, NULL,
@@ -257,7 +265,15 @@ static gboolean
empathy_call_handler_tf_stream_request_resource_cb (TfStream *stream,
guint direction, EmpathyTpCall *call)
{
- return TRUE;
+ gboolean ret;
+ guint media_type;
+
+ g_object_get (G_OBJECT (stream), "media-type", &media_type, NULL);
+
+ g_signal_emit (G_OBJECT (call),
+ signals[REQUEST_RESOURCE], 0, media_type, direction, &ret);
+
+ return ret;
}
static void