[Freeswitch-svn] [commit] r10559 - freeswitch/trunk/src

FreeSWITCH SVN anthm at freeswitch.org
Mon Dec 1 08:21:28 PST 2008


Author: anthm
Date: Mon Dec  1 11:21:27 2008
New Revision: 10559

Log:
FSCORE-240

Modified:
   freeswitch/trunk/src/switch_core_session.c
   freeswitch/trunk/src/switch_ivr.c
   freeswitch/trunk/src/switch_ivr_originate.c

Modified: freeswitch/trunk/src/switch_core_session.c
==============================================================================
--- freeswitch/trunk/src/switch_core_session.c	(original)
+++ freeswitch/trunk/src/switch_core_session.c	Mon Dec  1 11:21:27 2008
@@ -441,6 +441,7 @@
 	"SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ",
 	"SWITCH_MESSAGE_INDICATE_DISPLAY",
 	"SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY",
+	"SWITCH_MESSAGE_INDICATE_AUDIO_SYNC",
 	"SWITCH_MESSAGE_INVALID"
 };
 

Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c	(original)
+++ freeswitch/trunk/src/switch_ivr.c	Mon Dec  1 11:21:27 2008
@@ -52,7 +52,13 @@
 	cng_frame.buflen = 2;
 	switch_set_flag((&cng_frame), SFF_CNG);
 
-	switch_channel_audio_sync(channel);
+	if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) {
+		switch_channel_audio_sync(channel);
+	}
+	
+	if (!ms) {
+		return SWITCH_STATUS_SUCCESS;
+	}
 
 	for (;;) {
 		now = switch_timestamp_now();

Modified: freeswitch/trunk/src/switch_ivr_originate.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_originate.c	(original)
+++ freeswitch/trunk/src/switch_ivr_originate.c	Mon Dec  1 11:21:27 2008
@@ -39,12 +39,6 @@
 {
 	switch_channel_t *channel = switch_core_session_get_channel(session);
 
-	if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) {
-		while (switch_channel_get_state(channel) == CS_CONSUME_MEDIA && !switch_channel_test_flag(channel, CF_TAGGED)) {
-			switch_ivr_sleep(session, 10, NULL);
-		}
-	}
-
 	switch_channel_clear_state_handler(channel, &originate_state_handlers);
 
 	return SWITCH_STATUS_FALSE;
@@ -97,6 +91,8 @@
 		return NULL;
 	}
 	
+	switch_ivr_sleep(collect->session, 0, NULL);
+	
 	if (!strcasecmp(collect->key, "exec")) {
 		char *data;
 		switch_application_interface_t *application_interface;
@@ -1680,6 +1676,13 @@
 		*bleg = NULL;
 	}
 
+	if (*bleg) {
+		switch_ivr_sleep(*bleg, 0, NULL);
+	}
+
+	if (session) {
+		switch_ivr_sleep(session, 0, NULL);
+	}
 
 	if (var_event) {
 		switch_event_destroy(&var_event);



More information about the Freeswitch-svn mailing list