Procházet zdrojové kódy

Wrap calling MediaStreamTrack#getSettings() with try-catch block as it throws "Not implemented" Error in react-native-webrtc

master
tsareg před 9 roky
rodič
revize
f9ed623f23
1 změnil soubory, kde provedl 8 přidání a 5 odebrání
  1. 8
    5
      modules/RTC/JitsiLocalTrack.js

+ 8
- 5
modules/RTC/JitsiLocalTrack.js Zobrazit soubor

@@ -420,13 +420,16 @@ JitsiLocalTrack.prototype.getCameraFacingMode = function () {
420 420
         // https://bugs.chromium.org/p/webrtc/issues/detail?id=2481 for Chromium
421 421
         // and https://bugzilla.mozilla.org/show_bug.cgi?id=1213517 for Firefox.
422 422
         // Even if a browser implements getSettings() already, it might still
423
-        // not return anything for 'facingMode'.
423
+        // not return anything for 'facingMode'. In react-native-webrtc case
424
+        // MediaStreamTrack has getSettings method, but it throws
425
+        // "Not implemented" Error.
424 426
         var trackSettings;
425 427
 
426
-        if (this.track &&
427
-            typeof this.track.getSettings === 'function' &&
428
-            (trackSettings = this.track.getSettings()) &&
429
-            'facingMode' in trackSettings) {
428
+        try {
429
+            trackSettings = this.track.getSettings();
430
+        } catch (ex) {}
431
+
432
+        if (trackSettings && 'facingMode' in trackSettings) {
430 433
             return trackSettings.facingMode;
431 434
         } else if (typeof this._facingMode !== 'undefined') {
432 435
             return this._facingMode;

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