Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (15995 => 15996)
--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c 2009-12-17 23:25:49 UTC (rev 15995)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c 2009-12-18 15:52:56 UTC (rev 15996)
@@ -443,7 +443,7 @@
}
-#define SET_MUTE_SYNTAX "[read|write] [true|false]"
+#define SET_MUTE_SYNTAX "[read|write] [[true|cn level]|false]"
SWITCH_STANDARD_APP(set_mute_function)
{
char *argv[2] = { 0 };
@@ -459,9 +459,11 @@
switch_core_session_get_name(session), SET_MUTE_SYNTAX);
return;
}
-
- level = switch_true(argv[1]);
+ if ((level = atoi(argv[1])) <= 0) {
+ level = switch_true(argv[1]);
+ }
+
switch_ivr_session_audio(session, "mute", argv[0], level);
}
Modified: freeswitch/trunk/src/switch_ivr_async.c (15995 => 15996)
--- freeswitch/trunk/src/switch_ivr_async.c 2009-12-17 23:25:49 UTC (rev 15995)
+++ freeswitch/trunk/src/switch_ivr_async.c 2009-12-18 15:52:56 UTC (rev 15996)
@@ -1391,7 +1391,11 @@
if (frame) {
if (mute) {
- switch_generate_sln_silence(frame->data, frame->datalen / 2, 400);
+ if (mute > 1) {
+ switch_generate_sln_silence(frame->data, frame->datalen / 2, mute);
+ } else {
+ memset(frame->data, 0, frame->datalen);
+ }
} else if (level) {
switch_change_sln_volume(frame->data, frame->datalen / 2, level);
}