From e994680e141556b25aa35d7c40cb9eb73a11ef2a Mon Sep 17 00:00:00 2001
From: prlanzarin <prlanzarin@inf.ufrgs.br>
Date: Thu, 10 Sep 2020 14:50:50 +0000
Subject: [PATCH] audio-manager: refactor client-side mute/unmute

---
 .../ui/services/audio-manager/index.js        | 21 ++++++++-----------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
index 6b7516acd6..d3348f9f89 100755
--- a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
+++ b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
@@ -576,26 +576,23 @@ class AudioManager {
     }
   }
 
-  mute () {
-    const bridge = (this.useKurento && this.isListenOnly) ? this.listenOnlyBridge : this.bridge;
-    const peer = bridge.getPeerConnection();
+  setSenderTrackEnabled (shouldEnable) {
+    // Bridge -> SIP.js bridge, the only full audio capable one right now
+    const peer = this.bridge.getPeerConnection();
     peer.getSenders().forEach(sender => {
       const { track } = sender;
       if (track && track.kind === 'audio') {
-        track.enabled = false;
+        track.enabled = shouldEnable;
       }
     });
   }
 
+  mute () {
+    this.setSenderTrackEnabled(false);
+  }
+
   unmute () {
-    const bridge = (this.useKurento && this.isListenOnly) ? this.listenOnlyBridge : this.bridge;
-    const peer = bridge.getPeerConnection();
-    peer.getSenders().forEach(sender => {
-      const { track } = sender;
-      if (track && track.kind === 'audio') {
-        track.enabled = true;
-      }
-    });
+    this.setSenderTrackEnabled(true);
   }
 }
 
-- 
GitLab