From 26d7e61577b8546218170bbe7dee6ddef055cfbd Mon Sep 17 00:00:00 2001
From: Simon Morlat <simon.morlat@linphone.org>
Date: Tue, 14 Sep 2010 10:19:48 +0200
Subject: [PATCH] dtmfs start and stop according to how they are pressed

---
 gtk/main.c     | 11 ++++++++---
 mediastreamer2 |  2 +-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/gtk/main.c b/gtk/main.c
index 8b416cf853..452c7783fb 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -1080,24 +1080,29 @@ void linphone_gtk_load_identities(void){
 	gtk_combo_box_set_active(box,def_index);
 }
 
-static void linphone_gtk_dtmf_clicked(GtkButton *button){
+static void linphone_gtk_dtmf_pressed(GtkButton *button){
 	const char *label=gtk_button_get_label(button);
 	GtkWidget *uri_bar=linphone_gtk_get_widget(gtk_widget_get_toplevel(GTK_WIDGET(button)),"uribar");
 	int pos=-1;
 	gtk_editable_insert_text(GTK_EDITABLE(uri_bar),label,1,&pos);
-	linphone_core_play_dtmf (linphone_gtk_get_core(),label[0],100);
+	linphone_core_play_dtmf (linphone_gtk_get_core(),label[0],-1);
 	if (linphone_core_in_call(linphone_gtk_get_core())){
 		linphone_core_send_dtmf(linphone_gtk_get_core(),label[0]);
 	}
 }
 
+static void linphone_gtk_dtmf_released(GtkButton *button){
+	linphone_core_stop_dtmf (linphone_gtk_get_core());
+}
+
 static void linphone_gtk_connect_digits(void){
 	GtkContainer *cont=GTK_CONTAINER(linphone_gtk_get_widget(linphone_gtk_get_main_window(),"dtmf_table"));
 	GList *children=gtk_container_get_children(cont);
 	GList *elem;
 	for(elem=children;elem!=NULL;elem=elem->next){
 		GtkButton *button=GTK_BUTTON(elem->data);
-		g_signal_connect(G_OBJECT(button),"clicked",(GCallback)linphone_gtk_dtmf_clicked,NULL);
+		g_signal_connect(G_OBJECT(button),"pressed",(GCallback)linphone_gtk_dtmf_pressed,NULL);
+		g_signal_connect(G_OBJECT(button),"released",(GCallback)linphone_gtk_dtmf_released,NULL);
 	}
 }
 
diff --git a/mediastreamer2 b/mediastreamer2
index 955a7d6b8a..3103bc444e 160000
--- a/mediastreamer2
+++ b/mediastreamer2
@@ -1 +1 @@
-Subproject commit 955a7d6b8aa205e8a97d751dd8d3920de1595455
+Subproject commit 3103bc444eb3469cb8003b8e4d816cb918fb41fd
-- 
GitLab