From e0a3a67410f0bc6e95d74fe269b4f53c3b2b0e01 Mon Sep 17 00:00:00 2001 From: Scott Hardin Date: Sun, 21 May 2017 16:03:19 +0200 Subject: [PATCH] autodeaf: modify logic to cause less state chg i.e. turning deaf on auto-mutes and turning mute automatically turns off deafen --- MumbleCommunicator.cpp | 10 +++++++--- PjsuaCommunicator.cpp | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/MumbleCommunicator.cpp b/MumbleCommunicator.cpp index 4915e5e..f52511b 100644 --- a/MumbleCommunicator.cpp +++ b/MumbleCommunicator.cpp @@ -79,14 +79,18 @@ void mumble::MumbleCommunicator::sendTextMessage(std::string message) { void mumble::MumbleCommunicator::joinChannel(int channel_id) { mum->joinChannel(channel_id); if ( mumbleConf.autodeaf ) { - mum->self_mute(1); + //mum->self_mute(1); mum->self_deaf(1); } } void mumble::MumbleCommunicator::mutedeaf(int status) { if ( mumbleConf.autodeaf ) { - mum->self_mute(status); - mum->self_deaf(status); + if ( status ) { + mum->self_deaf(status); + } else { + mum->self_mute(status); + } } } + diff --git a/PjsuaCommunicator.cpp b/PjsuaCommunicator.cpp index 6b98d21..a4c3cd4 100644 --- a/PjsuaCommunicator.cpp +++ b/PjsuaCommunicator.cpp @@ -145,6 +145,7 @@ namespace sip { communicator.logger.notice(msgText); communicator.onStateChange(msgText); communicator.onMuteDeafChange(0); + } else if (ci.state == PJSIP_INV_STATE_DISCONNECTED) { auto &acc = dynamic_cast<_Account &>(account);