diff options
author | xclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4> | 2008-05-02 06:02:45 +0800 |
---|---|---|
committer | xclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4> | 2008-05-02 06:02:45 +0800 |
commit | 83c28454a8055c0a7370f770857e53b8574c9a73 (patch) | |
tree | 580679ed3b5fcb1f878534a82fa848c806639aa5 /libempathy/empathy-tp-call.c | |
parent | 7275dfbd330d5d3a3cd49d487996b787ba25b145 (diff) | |
download | gsoc2013-empathy-83c28454a8055c0a7370f770857e53b8574c9a73.tar gsoc2013-empathy-83c28454a8055c0a7370f770857e53b8574c9a73.tar.gz gsoc2013-empathy-83c28454a8055c0a7370f770857e53b8574c9a73.tar.bz2 gsoc2013-empathy-83c28454a8055c0a7370f770857e53b8574c9a73.tar.lz gsoc2013-empathy-83c28454a8055c0a7370f770857e53b8574c9a73.tar.xz gsoc2013-empathy-83c28454a8055c0a7370f770857e53b8574c9a73.tar.zst gsoc2013-empathy-83c28454a8055c0a7370f770857e53b8574c9a73.zip |
Implement DTMF.
git-svn-id: svn+ssh://svn.gnome.org/svn/empathy/trunk@1071 4ee84921-47dd-4033-b63a-18d7a039a3e4
Diffstat (limited to 'libempathy/empathy-tp-call.c')
-rw-r--r-- | libempathy/empathy-tp-call.c | 36 |
1 files changed, 34 insertions, 2 deletions
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)); +} + |