NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name WebRTC effects remover
// @namespace https://github.com/edisionnano
// @version 0.1
// @updateURL https://openuserjs.org/meta/samantas5855/WebRTC_effects_remover.meta.js
// @description Forcefully disable webrtc effects
// @author Samantas5855
// @match https://*/*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
var hidden = {
enumerateDevices: navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices),
getUserMedia: navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices),
}
navigator.mediaDevices.getUserMedia = constraints => navigator.mediaDevices.enumerateDevices().then(devices => {
for (let x = 0; x < devices.length; x++) {
if (devices[x].kind == "audioinput" && constraints.audio) {
if (constraints.audio === true) constraints.audio = {}
constraints.audio.autoGainControl = {exact: false}
constraints.audio.channelCount = {exact: 2}
constraints.audio.echoCancellation = {exact: false}
//constraints.audio.latency = {exact: 0}
constraints.audio.noiseSuppression = {exact: false}
//constraints.audio.sampleRate = {exact: 48000}
//constraints.audio.latency = {exact: 16}
//constraints.audio.latency = {exact: 1.0}
}
}
return hidden.getUserMedia(constraints)
})
})();