From b4e374af10f32b33729bc414bc02b2363ab31041 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Sat, 27 Jan 2007 16:37:10 +0000 Subject: [PATCH] fix mute git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4067 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/applications/mod_conference/mod_conference.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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); + } } } }