提交 fa840564 authored 作者: Anthony Minessale's avatar Anthony Minessale

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
上级 67d6b290
...@@ -443,7 +443,7 @@ SWITCH_STANDARD_APP(set_audio_level_function) ...@@ -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) SWITCH_STANDARD_APP(set_mute_function)
{ {
char *argv[2] = { 0 }; char *argv[2] = { 0 };
...@@ -459,8 +459,10 @@ SWITCH_STANDARD_APP(set_mute_function) ...@@ -459,8 +459,10 @@ SWITCH_STANDARD_APP(set_mute_function)
switch_core_session_get_name(session), SET_MUTE_SYNTAX); switch_core_session_get_name(session), SET_MUTE_SYNTAX);
return; 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); 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_ ...@@ -1391,7 +1391,11 @@ static switch_bool_t session_audio_callback(switch_media_bug_t *bug, void *user_
if (frame) { if (frame) {
if (mute) { 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) { } else if (level) {
switch_change_sln_volume(frame->data, frame->datalen / 2, level); switch_change_sln_volume(frame->data, frame->datalen / 2, level);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论