From 16bb46bc5b1efb53ea813e3e1351fbbdc8b02fe3 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Thu, 1 May 2008 22:02:45 +0000 Subject: Implement DTMF. svn path=/trunk/; revision=1071 --- libempathy/empathy-tp-call.c | 36 ++++++++++++++++++++++++++++++++++-- libempathy/empathy-tp-call.h | 2 ++ 2 files changed, 36 insertions(+), 2 deletions(-) (limited to 'libempathy') diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c index 4c3779f28..32debb8b3 100644 --- a/libempathy/empathy-tp-call.c +++ b/libempathy/empathy-tp-call.c @@ -348,9 +348,7 @@ tp_call_async_cb (TpProxy *proxy, GObject *call) { if (error) - { DEBUG ("Error %s: %s", (gchar*) user_data, error->message); - } } static void @@ -813,3 +811,37 @@ empathy_tp_call_mute_input (EmpathyTpCall *call, G_OBJECT (call)); } +void +empathy_tp_call_start_tone (EmpathyTpCall *call, TpDTMFEvent event) +{ + EmpathyTpCallPriv *priv = GET_PRIV (call); + + g_return_if_fail (EMPATHY_IS_TP_CALL (call)); + g_return_if_fail (priv->status != EMPATHY_TP_CALL_STATUS_ACCEPTED); + + if (!priv->audio->exists) + return; + + tp_cli_channel_interface_dtmf_call_start_tone (priv->channel, -1, + priv->audio->id, event, + (tp_cli_channel_interface_dtmf_callback_for_start_tone) tp_call_async_cb, + "starting tone", NULL, G_OBJECT (call)); +} + +void +empathy_tp_call_stop_tone (EmpathyTpCall *call) +{ + EmpathyTpCallPriv *priv = GET_PRIV (call); + + g_return_if_fail (EMPATHY_IS_TP_CALL (call)); + g_return_if_fail (priv->status != EMPATHY_TP_CALL_STATUS_ACCEPTED); + + if (!priv->audio->exists) + return; + + tp_cli_channel_interface_dtmf_call_stop_tone (priv->channel, -1, + priv->audio->id, + (tp_cli_channel_interface_dtmf_callback_for_stop_tone) tp_call_async_cb, + "stoping tone", NULL, G_OBJECT (call)); +} + diff --git a/libempathy/empathy-tp-call.h b/libempathy/empathy-tp-call.h index 17c5abd25..18378baa3 100644 --- a/libempathy/empathy-tp-call.h +++ b/libempathy/empathy-tp-call.h @@ -83,6 +83,8 @@ void empathy_tp_call_add_output_video (EmpathyTpCall *call, void empathy_tp_call_set_output_volume (EmpathyTpCall *call, guint volume); void empathy_tp_call_mute_output (EmpathyTpCall *call, gboolean is_muted); void empathy_tp_call_mute_input (EmpathyTpCall *call, gboolean is_muted); +void empathy_tp_call_start_tone (EmpathyTpCall *call, TpDTMFEvent event); +void empathy_tp_call_stop_tone (EmpathyTpCall *call); G_END_DECLS -- cgit v1.2.3