diff options
Diffstat (limited to 'libempathy-gtk/empathy-call-utils.c')
-rw-r--r-- | libempathy-gtk/empathy-call-utils.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/libempathy-gtk/empathy-call-utils.c b/libempathy-gtk/empathy-call-utils.c index 9f72ce9bb..ebb4c1d5d 100644 --- a/libempathy-gtk/empathy-call-utils.c +++ b/libempathy-gtk/empathy-call-utils.c @@ -19,19 +19,15 @@ */ #include "config.h" +#include "empathy-call-utils.h" #include <glib/gi18n-lib.h> - #include <gtk/gtk.h> -#include <telepathy-glib/telepathy-glib.h> - -#include "empathy-call-utils.h" - -#include <libempathy/empathy-request-util.h> +#include "empathy-request-util.h" #define DEBUG_FLAG EMPATHY_DEBUG_OTHER -#include <libempathy/empathy-debug.h> +#include "empathy-debug.h" static const gchar * get_error_display_message (GError *error) @@ -79,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 |