Procházet zdrojové kódy

Add 'disableAEC' and 'disableNS' config options

master
paweldomas před 9 roky
rodič
revize
043f070e8d
1 změnil soubory, kde provedl 18 přidání a 4 odebrání
  1. 18
    4
      modules/RTC/RTCUtils.js

+ 18
- 4
modules/RTC/RTCUtils.js Zobrazit soubor

@@ -29,6 +29,10 @@ var devices = {
29 29
 // Currently audio output device change is supported only in Chrome and
30 30
 // default output always has 'default' device ID
31 31
 var audioOutputDeviceId = 'default'; // default device
32
+// Disables Acoustic Echo Cancellation
33
+var disableAEC = false;
34
+// Disables Noise Suppression
35
+var disableNS = false;
32 36
 
33 37
 var featureDetectionAudioEl = document.createElement('audio');
34 38
 var isAudioOutputDeviceChangeAvailable =
@@ -133,12 +137,12 @@ function getConstraints(um, options) {
133 137
             }
134 138
             // if it is good enough for hangouts...
135 139
             constraints.audio.optional.push(
136
-                {googEchoCancellation: true},
140
+                {googEchoCancellation: !disableAEC},
137 141
                 {googAutoGainControl: true},
138
-                {googNoiseSupression: true},
142
+                {googNoiseSupression: !disableNS},
139 143
                 {googHighpassFilter: true},
140
-                {googNoisesuppression2: true},
141
-                {googEchoCancellation2: true},
144
+                {googNoiseSuppression2: !disableNS},
145
+                {googEchoCancellation2: !disableAEC},
142 146
                 {googAutoGainControl2: true}
143 147
             );
144 148
         } else {
@@ -577,6 +581,16 @@ function wrapAttachMediaStream(origAttachMediaStream) {
577 581
 //Options parameter is to pass config options. Currently uses only "useIPv6".
578 582
 var RTCUtils = {
579 583
     init: function (options) {
584
+
585
+        if (typeof(options.disableAEC) === "boolean") {
586
+            disableAEC = options.disableAEC;
587
+            logger.info("Disable AEC: " + disableAEC);
588
+        }
589
+        if (typeof(options.disableNS) === "boolean") {
590
+            disableNS = options.disableNS;
591
+            logger.info("Disable NS: " + disableNS);
592
+        }
593
+        
580 594
         return new Promise(function(resolve, reject) {
581 595
             if (RTCBrowserType.isFirefox()) {
582 596
                 var FFversion = RTCBrowserType.getFirefoxVersion();

Načítá se…
Zrušit
Uložit