make cn optional for mute 1 means absolute silence > 1 means generate cn level

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15996 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-12-18 15:52:56 +00:00
parent 67d6b290f8
commit fa84056418
2 changed files with 10 additions and 4 deletions

View File

@ -443,7 +443,7 @@ SWITCH_STANDARD_APP(set_audio_level_function)
}
#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 };
@ -460,7 +460,9 @@ SWITCH_STANDARD_APP(set_mute_function)
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);

View File

@ -1391,7 +1391,11 @@ static switch_bool_t session_audio_callback(switch_media_bug_t *bug, void *user_
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);
}