mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-17 09:12:25 +00:00
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)
|
SWITCH_STANDARD_APP(set_mute_function)
|
||||||
{
|
{
|
||||||
char *argv[2] = { 0 };
|
char *argv[2] = { 0 };
|
||||||
@ -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_
|
|||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user