]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8166 #resolve [Mute/unmute while shout is playing audio fails because the channel...
authorAnthony Minessale <anthm@freeswitch.org>
Mon, 28 Sep 2015 17:38:58 +0000 (12:38 -0500)
committerMichael Jerris <mike@jerris.com>
Fri, 9 Oct 2015 17:02:40 +0000 (12:02 -0500)
src/switch_core_media.c
src/switch_core_media_bug.c

index 53ffead2bb34584d342d96e2aa257d03648dbdfa..a85be9dde7e9b4e17b784e43e47b40f4de202d12 100644 (file)
@@ -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 {
index d6f70090977b8f5cc361b71571ce1a39bfb130ff..6bcbcfe2d0c82731e8b213ccd88ecd237fdd5404 100644 (file)
@@ -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;
 }