[Freeswitch-svn] [commit] r6600 - in freeswitch/trunk/src: . mod/applications/mod_dptools

Freeswitch SVN anthm at freeswitch.org
Mon Dec 10 13:13:07 EST 2007


Author: anthm
Date: Mon Dec 10 13:13:07 2007
New Revision: 6600

Modified:
   freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
   freeswitch/trunk/src/switch_ivr_async.c

Log:
update

Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c	(original)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c	Mon Dec 10 13:13:07 2007
@@ -1201,7 +1201,7 @@
 	if (data && (lbuf = switch_core_session_strdup(session, data))
 		&& (argc = switch_separate_string(lbuf, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) {
 		path = argv[0];
-		for(x = 0; x < argc; x++) {
+		for(x = 1; x < argc; x++) {
 			if (strchr(argv[x], '+')) {
 				limit = atoi(argv[x]);
 			} else if (!switch_strlen_zero(argv[x])) {

Modified: freeswitch/trunk/src/switch_ivr_async.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_async.c	(original)
+++ freeswitch/trunk/src/switch_ivr_async.c	Mon Dec 10 13:13:07 2007
@@ -131,6 +131,7 @@
 		if (dh) {
 			switch_frame_t *frame = NULL;
 			switch_size_t len;
+			switch_status_t st;
 
 			frame = switch_core_media_bug_get_write_replace_frame(bug);
 			len = frame->samples;
@@ -139,8 +140,8 @@
 				int16_t buf[1024];
 				int16_t *fp = frame->data;
 				uint32_t x;
-				
-				switch_core_file_read(&dh->fh, buf, &len);
+
+				st = switch_core_file_read(&dh->fh, buf, &len);
 				
 				for(x = 0; x < (uint32_t) len; x++) {
 					int32_t mixed = fp[x] + buf[x];
@@ -148,10 +149,15 @@
 					fp[x] = (int16_t) mixed;
 				}
 			} else {
-				switch_core_file_read(&dh->fh, frame->data, &len);
+				st = switch_core_file_read(&dh->fh, frame->data, &len);
 				frame->samples = (uint32_t) len;
 				frame->datalen = frame->samples * 2;
 			}
+
+			if (st != SWITCH_STATUS_SUCCESS || len == 0) {
+				return SWITCH_FALSE;
+			}
+
 			switch_core_media_bug_set_write_replace_frame(bug, frame);
 		}
 		break;



More information about the Freeswitch-svn mailing list