From 8d9a045f328c52fa0ad282cc84ec17541c31f13e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Mih=C3=A1ly?= Date: Wed, 13 May 2020 09:06:06 +0200 Subject: [PATCH] Add autoMuteThreshold --- app/public/config/config.example.js | 32 +++++++++++++++++++---------- app/src/RoomClient.js | 4 +++- app/src/reducers/settings.js | 1 + 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/app/public/config/config.example.js b/app/public/config/config.example.js index 7909284..3126613 100644 --- a/app/public/config/config.example.js +++ b/app/public/config/config.example.js @@ -52,26 +52,36 @@ var config = noiseSuppression : true, sampleSize : 16 }, - background : 'images/background.jpg', - defaultLayout : 'democratic', // democratic, filmstrip + + /** + * Set the auto mute / Push To Talk threshold + * default value is 4 + * + * Set it to 0 to disable auto mute functionality, + * but use it with caution + * full mesh audio strongly decrease room capacity! + */ + autoMuteThreshold : 4, + background : 'images/background.jpg', + defaultLayout : 'democratic', // democratic, filmstrip // If true, will show media control buttons in separate // control bar, not in the ME container. - buttonControlBar : false, + buttonControlBar : false, // If false, will push videos away to make room for side // drawer. If true, will overlay side drawer over videos - drawerOverlayed : true, + drawerOverlayed : true, // Timeout for autohiding topbar and button control bar - hideTimeout : 3000, - lastN : 4, - mobileLastN : 1, + hideTimeout : 3000, + lastN : 4, + mobileLastN : 1, // Highest number of speakers user can select - maxLastN : 5, + maxLastN : 5, // If truthy, users can NOT change number of speakers visible - lockLastN : false, + lockLastN : false, // Add file and uncomment for adding logo to appbar // logo : 'images/logo.svg', - title : 'Multiparty meeting', - theme : + title : 'Multiparty meeting', + theme : { palette : { diff --git a/app/src/RoomClient.js b/app/src/RoomClient.js index 2217d65..9635408 100644 --- a/app/src/RoomClient.js +++ b/app/src/RoomClient.js @@ -2960,7 +2960,9 @@ export default class RoomClient if (!this._muted) { await this.enableMic(); - if (peers.length > 4) + const { autoMuteThreshold } = store.getState().settings; + + if (autoMuteThreshold && peers.length > autoMuteThreshold) this.muteMic(); } diff --git a/app/src/reducers/settings.js b/app/src/reducers/settings.js index 1c375bf..f810d3a 100644 --- a/app/src/reducers/settings.js +++ b/app/src/reducers/settings.js @@ -20,6 +20,7 @@ const initialState = notificationSounds : true, buttonControlBar : window.config.buttonControlBar || false, drawerOverlayed : window.config.drawerOverlayed || true, + autoMuteThreshold : window.config.autoMuteThreshold || 4, ...window.config.defaultAudio };