Browse Source

Alternative approach to disable unwanted mic/input details on wasm

Signed-off-by: falkTX <falktx@falktx.com>
pull/421/head
falkTX 2 years ago
parent
commit
073b662b9e
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 22 additions and 3 deletions
  1. +22
    -3
      distrho/src/jackbridge/WebBridge.hpp

+ 22
- 3
distrho/src/jackbridge/WebBridge.hpp View File

@@ -217,11 +217,11 @@ struct WebBridge : NativeBridge {
constraints['audio'] = true; constraints['audio'] = true;
constraints['video'] = false; constraints['video'] = false;
constraints['autoGainControl'] = {}; constraints['autoGainControl'] = {};
constraints['autoGainControl']['exact'] = false;
constraints['autoGainControl']['ideal'] = false;
constraints['echoCancellation'] = {}; constraints['echoCancellation'] = {};
constraints['echoCancellation']['exact'] = false;
constraints['echoCancellation']['ideal'] = false;
constraints['noiseSuppression'] = {}; constraints['noiseSuppression'] = {};
constraints['noiseSuppression']['exact'] = false;
constraints['noiseSuppression']['ideal'] = false;
constraints['channelCount'] = {}; constraints['channelCount'] = {};
constraints['channelCount']['min'] = 0; constraints['channelCount']['min'] = 0;
constraints['channelCount']['ideal'] = numInputs; constraints['channelCount']['ideal'] = numInputs;
@@ -236,6 +236,25 @@ struct WebBridge : NativeBridge {
constraints['googAutoGainControl'] = false; constraints['googAutoGainControl'] = false;


var success = function(stream) { 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 = WAB.audioContext['createMediaStreamSource'](stream);
WAB.captureStreamNode.connect(WAB.processor); WAB.captureStreamNode.connect(WAB.processor);
}; };


Loading…
Cancel
Save