diff --git a/distrho/src/jackbridge/WebBridge.hpp b/distrho/src/jackbridge/WebBridge.hpp index 94793f74..6366a926 100644 --- a/distrho/src/jackbridge/WebBridge.hpp +++ b/distrho/src/jackbridge/WebBridge.hpp @@ -224,51 +224,33 @@ struct WebBridge : NativeBridge { var constraints = {}; // we need to use this weird awkward way for objects, otherwise build fails - constraints['audio'] = true; constraints['video'] = false; - constraints['autoGainControl'] = {}; - constraints['autoGainControl']['ideal'] = false; - constraints['echoCancellation'] = {}; - constraints['echoCancellation']['ideal'] = false; - constraints['noiseSuppression'] = {}; - constraints['noiseSuppression']['ideal'] = false; - constraints['channelCount'] = {}; - constraints['channelCount']['min'] = 0; - constraints['channelCount']['ideal'] = numInputs; - constraints['latency'] = {}; - constraints['latency']['min'] = 0; - constraints['latency']['ideal'] = 0; - constraints['sampleSize'] = {}; - constraints['sampleSize']['min'] = 8; - constraints['sampleSize']['max'] = 32; - constraints['sampleSize']['ideal'] = 16; - // old property for chrome - constraints['googAutoGainControl'] = false; + constraints['audio'] = {}; + constraints['audio']['autoGainControl'] = {}; + constraints['audio']['autoGainControl']['ideal'] = false; + constraints['audio']['echoCancellation'] = {}; + constraints['audio']['echoCancellation']['ideal'] = false; + constraints['audio']['noiseSuppression'] = {}; + constraints['audio']['noiseSuppression']['ideal'] = false; + constraints['audio']['channelCount'] = {}; + constraints['audio']['channelCount']['min'] = 0; + constraints['audio']['channelCount']['ideal'] = numInputs; + constraints['audio']['latency'] = {}; + constraints['audio']['latency']['min'] = 0; + constraints['audio']['latency']['ideal'] = 0; + constraints['audio']['sampleSize'] = {}; + constraints['audio']['sampleSize']['min'] = 8; + constraints['audio']['sampleSize']['max'] = 32; + constraints['audio']['sampleSize']['ideal'] = 16; + // old properties for chrome + constraints['audio']['mandatory'] = {}; + constraints['audio']['mandatory']['googAutoGainControl'] = false; + constraints['audio']['mandatory']['googEchoCancellation'] = false; + constraints['audio']['mandatory']['googNoiseSuppression'] = false; + constraints['audio']['mandatory']['googHighpassFilter'] = false; + constraints['audio']['optional'] = {}; var success = function(stream) { - var tracks = stream.getAudioTracks(); - - // try to force as much as we can - for (var i in tracks) { - var track = tracks[i]; - - 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); };