Browse Source

autodeaf: modify logic to cause less state chg

i.e. turning deaf on auto-mutes and turning mute automatically
turns off deafen
Scott Hardin 7 years ago
parent
commit
e0a3a67410
2 changed files with 8 additions and 3 deletions
  1. 7 3
      MumbleCommunicator.cpp
  2. 1 0
      PjsuaCommunicator.cpp

+ 7 - 3
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);
+        }
     }
 }
+

+ 1 - 0
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);