Revision
15271
Author
anthm
Date
2009-10-29 10:29:33 -0500 (Thu, 29 Oct 2009)

Log Message

add record_min_sec chan var

Modified Paths

Diff

Modified: freeswitch/trunk/src/switch_ivr_async.c (15270 => 15271)


--- freeswitch/trunk/src/switch_ivr_async.c	2009-10-29 14:33:48 UTC (rev 15270)
+++ freeswitch/trunk/src/switch_ivr_async.c	2009-10-29 15:29:33 UTC (rev 15271)
@@ -425,6 +425,7 @@
 	char *file;
 	switch_file_handle_t *fh;
 	uint32_t packet_len;
+	int min_sec;
 };
 
 static switch_bool_t record_callback(switch_media_bug_t *bug, void *user_data, switch_abc_type_t type)
@@ -473,7 +474,7 @@
 				
 
 				switch_core_file_close(rh->fh);
-				if (rh->fh->samples_out < read_impl.samples_per_second * 3) {
+				if (rh->fh->samples_out < read_impl.samples_per_second * rh->min_sec) {
 					switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Discarding short file %s\n", rh->file);
 					switch_file_remove(rh->file, switch_core_session_get_pool(session));
 				}
@@ -1013,6 +1014,15 @@
 		switch_channel_set_variable(channel, "RECORD_DATE", NULL);
 	}
 
+	rh->min_sec = 3;
+	
+	if ((p = switch_channel_get_variable(channel, "RECORD_MIN_SEC"))) {
+		int tmp = atoi(p);
+		if (tmp > 0) {
+			rh->min_sec = tmp;
+		}
+	}
+
 	if (limit) {
 		to = switch_epoch_time_now(NULL) + limit;
 	}