DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 073b662b9e967abb33b220de8040eb910482b337
parent ab6a4920434c22b1b45922b3cbab61fa6c5ab555
Author: falkTX <falktx@falktx.com>
Date:   Wed, 29 Mar 2023 01:16:16 +0200

Alternative approach to disable unwanted mic/input details on wasm

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
Mdistrho/src/jackbridge/WebBridge.hpp | 25++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/distrho/src/jackbridge/WebBridge.hpp b/distrho/src/jackbridge/WebBridge.hpp @@ -217,11 +217,11 @@ struct WebBridge : NativeBridge { constraints['audio'] = true; constraints['video'] = false; constraints['autoGainControl'] = {}; - constraints['autoGainControl']['exact'] = false; + constraints['autoGainControl']['ideal'] = false; constraints['echoCancellation'] = {}; - constraints['echoCancellation']['exact'] = false; + constraints['echoCancellation']['ideal'] = false; constraints['noiseSuppression'] = {}; - constraints['noiseSuppression']['exact'] = false; + constraints['noiseSuppression']['ideal'] = false; constraints['channelCount'] = {}; constraints['channelCount']['min'] = 0; constraints['channelCount']['ideal'] = numInputs; @@ -236,6 +236,25 @@ struct WebBridge : NativeBridge { constraints['googAutoGainControl'] = false; var success = function(stream) { + var track = stream.getAudioTracks()[0]; + + // try to force as much as we can + track.applyConstraints({'autoGainControl': { 'exact': false } }) + .then(function(){console.log("Mic/Input auto-gain control has been disabled")}) + .catch(function(){console.log("Cannot disable Mic/Input auto-gain")}); + + track.applyConstraints({'echoCancellation': { 'exact': false } }) + .then(function(){console.log("Mic/Input echo-cancellation has been disabled")}) + .catch(function(){console.log("Cannot disable Mic/Input echo-cancellation")}); + + track.applyConstraints({'noiseSuppression': { 'exact': false } }) + .then(function(){console.log("Mic/Input noise-suppression has been disabled")}) + .catch(function(){console.log("Cannot disable Mic/Input noise-suppression")}); + + track.applyConstraints({'googAutoGainControl': { 'exact': false } }) + .then(function(){}) + .catch(function(){}); + WAB.captureStreamNode = WAB.audioContext['createMediaStreamSource'](stream); WAB.captureStreamNode.connect(WAB.processor); };