From: Anthony Minessale Date: Mon, 28 Sep 2015 17:38:58 +0000 (-0500) Subject: FS-8166 #resolve [Mute/unmute while shout is playing audio fails because the channel... X-Git-Tag: v1.4.24~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d2bc24a1f359d5a5926f1c32d9acd452e4cade8;p=thirdparty%2Ffreeswitch.git FS-8166 #resolve [Mute/unmute while shout is playing audio fails because the channel "has a media bug, hard mute not allowed"] --- diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 53ffead2bb..a85be9dde7 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -7857,11 +7857,11 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_receive_message(switch_core_se break; case SWITCH_MESSAGE_INDICATE_HARD_MUTE: - { - if (session->bugs) { + if (a_engine->rtp_session) { + if (session->bugs && msg->numeric_arg) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s has a media bug, hard mute not allowed.\n", switch_channel_get_name(session->channel)); - } else if (a_engine->rtp_session) { + } else { if (msg->numeric_arg) { switch_rtp_set_flag(a_engine->rtp_session, SWITCH_RTP_FLAG_MUTE); } else { diff --git a/src/switch_core_media_bug.c b/src/switch_core_media_bug.c index d6f7009097..6bcbcfe2d0 100644 --- a/src/switch_core_media_bug.c +++ b/src/switch_core_media_bug.c @@ -545,6 +545,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_add(switch_core_session_t switch_event_fire(&event); } + switch_core_media_hard_mute(session, SWITCH_FALSE); + return SWITCH_STATUS_SUCCESS; }