aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-09-20 22:48:35 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-09-26 17:56:24 +0800
commite13bdb2c17b2915ab29bc74de5a7584aca4fc471 (patch)
tree6f516c416fed83206c5c729cdcb60a74bbbe641f
parentb6b5e35d96ac4d2bc2cb070d2bb0613992008f5d (diff)
downloadgsoc2013-empathy-e13bdb2c17b2915ab29bc74de5a7584aca4fc471.tar
gsoc2013-empathy-e13bdb2c17b2915ab29bc74de5a7584aca4fc471.tar.gz
gsoc2013-empathy-e13bdb2c17b2915ab29bc74de5a7584aca4fc471.tar.bz2
gsoc2013-empathy-e13bdb2c17b2915ab29bc74de5a7584aca4fc471.tar.lz
gsoc2013-empathy-e13bdb2c17b2915ab29bc74de5a7584aca4fc471.tar.xz
gsoc2013-empathy-e13bdb2c17b2915ab29bc74de5a7584aca4fc471.tar.zst
gsoc2013-empathy-e13bdb2c17b2915ab29bc74de5a7584aca4fc471.zip
Don't try to request a Call channel if built without Call support
https://bugzilla.gnome.org/show_bug.cgi?id=659594
-rw-r--r--libempathy-gtk/empathy-call-utils.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-call-utils.c b/libempathy-gtk/empathy-call-utils.c
index a30e0808f..399647a62 100644
--- a/libempathy-gtk/empathy-call-utils.c
+++ b/libempathy-gtk/empathy-call-utils.c
@@ -132,6 +132,7 @@ create_streamed_media_channel_cb (GObject *source,
}
}
+#ifdef HAVE_CALL
static void
create_call_channel_cb (GObject *source,
GAsyncResult *result,
@@ -201,6 +202,35 @@ call_new_with_streams (const gchar *contact,
g_object_unref (call_req);
}
+#else /* HAVE_CALL */
+
+static void
+sm_new_with_streams (const gchar *contact,
+ TpAccount *account,
+ gboolean initial_audio,
+ gboolean initial_video,
+ gint64 timestamp)
+{
+ GHashTable *streamed_media_request;
+ TpAccountChannelRequest *streamed_media_req;
+
+ /* StreamedMedia */
+ streamed_media_request = empathy_call_create_streamed_media_request (
+ contact, initial_audio, initial_video);
+
+ streamed_media_req = tp_account_channel_request_new (account,
+ streamed_media_request,
+ timestamp);
+
+ g_hash_table_unref (streamed_media_request);
+
+ tp_account_channel_request_create_channel_async (streamed_media_req,
+ EMPATHY_AV_BUS_NAME, NULL, create_streamed_media_channel_cb, NULL);
+
+ g_object_unref (streamed_media_req);
+}
+#endif /* HAVE_CALL */
+
void
empathy_call_new_with_streams (const gchar *contact,
TpAccount *account,
@@ -208,8 +238,13 @@ empathy_call_new_with_streams (const gchar *contact,
gboolean initial_video,
gint64 timestamp)
{
+#ifdef HAVE_CALL
call_new_with_streams (contact, account, initial_audio, initial_video,
timestamp);
+#else
+ sm_new_with_streams (contact, account, initial_audio, initial_video,
+ timestamp);
+#endif
}
void