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:
parent
67d6b290f8
commit
fa84056418
|
@ -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 };
|
||||
|
@ -459,8 +459,10 @@ SWITCH_STANDARD_APP(set_mute_function)
|
|||
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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue