aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Crequy <alban.crequy@collabora.co.uk>2013-07-25 21:10:04 +0800
committerAlban Crequy <alban.crequy@collabora.co.uk>2013-07-25 23:47:37 +0800
commite74ffbd34ba628cf44f94a065bc9f527b0a6507f (patch)
tree233f608277e56464597eb1276d16a4ac9ce9f171
parente6a71b9f7681a4547a68d8a3f06bbe4325d00a04 (diff)
downloadgsoc2013-empathy-e74ffbd34ba628cf44f94a065bc9f527b0a6507f.tar
gsoc2013-empathy-e74ffbd34ba628cf44f94a065bc9f527b0a6507f.tar.gz
gsoc2013-empathy-e74ffbd34ba628cf44f94a065bc9f527b0a6507f.tar.bz2
gsoc2013-empathy-e74ffbd34ba628cf44f94a065bc9f527b0a6507f.tar.lz
gsoc2013-empathy-e74ffbd34ba628cf44f94a065bc9f527b0a6507f.tar.xz
gsoc2013-empathy-e74ffbd34ba628cf44f94a065bc9f527b0a6507f.tar.zst
gsoc2013-empathy-e74ffbd34ba628cf44f94a065bc9f527b0a6507f.zip
calls: only set InitialAudio or InitialVideo if they are true
Any genuinely voice-only CM might not include InitialVideo in its advertised RequestableChannelClass. Empathy must not add InitialVideo=false then but just not include it.
-rw-r--r--libempathy-gtk/empathy-call-utils.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/libempathy-gtk/empathy-call-utils.c b/libempathy-gtk/empathy-call-utils.c
index ebf320471..ebb4c1d5d 100644
--- a/libempathy-gtk/empathy-call-utils.c
+++ b/libempathy-gtk/empathy-call-utils.c
@@ -75,18 +75,25 @@ empathy_call_create_call_request (const gchar *contact,
gboolean initial_audio,
gboolean initial_video)
{
- return tp_asv_new (
+ GHashTable *asv = tp_asv_new (
TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING,
TP_IFACE_CHANNEL_TYPE_CALL,
TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT,
TP_HANDLE_TYPE_CONTACT,
TP_PROP_CHANNEL_TARGET_ID, G_TYPE_STRING,
contact,
- TP_PROP_CHANNEL_TYPE_CALL_INITIAL_AUDIO, G_TYPE_BOOLEAN,
- initial_audio,
- TP_PROP_CHANNEL_TYPE_CALL_INITIAL_VIDEO, G_TYPE_BOOLEAN,
- initial_video,
NULL);
+
+ /* Only add InitialAudio or InitialVideo if they are true: it should work
+ * with genuinely voice-only CMs. */
+ if (initial_audio)
+ tp_asv_set_boolean (asv, TP_PROP_CHANNEL_TYPE_CALL_INITIAL_AUDIO,
+ initial_audio);
+ if (initial_video)
+ tp_asv_set_boolean (asv, TP_PROP_CHANNEL_TYPE_CALL_INITIAL_VIDEO,
+ initial_video);
+
+ return asv;
}
static void