From: Anthony Minessale Date: Sat, 27 Jan 2007 16:37:10 +0000 (+0000) Subject: fix mute X-Git-Tag: v1.0-beta1~1285 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4e374af10f32b33729bc414bc02b2363ab31041;p=thirdparty%2Ffreeswitch.git fix mute git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4067 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index bbf5b23d52..cd491b1fa0 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -911,6 +911,9 @@ static void conference_loop_fn_mute_toggle(conference_member_t *member, void *da conf_api_sub_mute(member, NULL, NULL); } else { conf_api_sub_unmute(member, NULL, NULL); + if (!switch_test_flag(member, MFLAG_CAN_HEAR)) { + conf_api_sub_undeaf(member, NULL, NULL); + } } } } @@ -920,10 +923,14 @@ static void conference_loop_fn_deafmute_toggle(conference_member_t *member, void if (member != NULL) { if (switch_test_flag(member, MFLAG_CAN_SPEAK)) { conf_api_sub_mute(member, NULL, NULL); - conf_api_sub_deaf(member, NULL, NULL); + if (switch_test_flag(member, MFLAG_CAN_HEAR)) { + conf_api_sub_deaf(member, NULL, NULL); + } } else { conf_api_sub_unmute(member, NULL, NULL); - conf_api_sub_undeaf(member, NULL, NULL); + if (!switch_test_flag(member, MFLAG_CAN_HEAR)) { + conf_api_sub_undeaf(member, NULL, NULL); + } } } }