Browse Source

tpc: use the peerconnection type constructor from RTCUtils

Avoids having to do browser checks twice.

Fixes: #423
tags/v0.0.2
Saúl Ibarra Corretgé 8 years ago
parent
commit
11865ba1f7
2 changed files with 9 additions and 21 deletions
  1. 5
    5
      modules/RTC/RTCUtils.js
  2. 4
    16
      modules/RTC/TraceablePeerConnection.js

+ 5
- 5
modules/RTC/RTCUtils.js View File

746
 
746
 
747
                     return;
747
                     return;
748
                 }
748
                 }
749
-                this.peerconnection = mozRTCPeerConnection;
749
+                this.RTCPeerConnectionType = mozRTCPeerConnection;
750
                 this.getUserMedia
750
                 this.getUserMedia
751
                     = wrapGetUserMedia(
751
                     = wrapGetUserMedia(
752
                         navigator.mozGetUserMedia.bind(navigator));
752
                         navigator.mozGetUserMedia.bind(navigator));
800
                     || RTCBrowserType.isElectron()
800
                     || RTCBrowserType.isElectron()
801
                     || RTCBrowserType.isReactNative()) {
801
                     || RTCBrowserType.isReactNative()) {
802
 
802
 
803
-                this.peerconnection = webkitRTCPeerConnection;
803
+                this.RTCPeerConnectionType = webkitRTCPeerConnection;
804
                 const getUserMedia
804
                 const getUserMedia
805
                     = navigator.webkitGetUserMedia.bind(navigator);
805
                     = navigator.webkitGetUserMedia.bind(navigator);
806
 
806
 
875
 
875
 
876
                 // TODO: Uncomment when done. For now use the Edge native
876
                 // TODO: Uncomment when done. For now use the Edge native
877
                 // RTCPeerConnection.
877
                 // RTCPeerConnection.
878
-                // this.peerconnection = ortcRTCPeerConnection;
879
-                this.peerconnection = RTCPeerConnection;
878
+                // this.RTCPeerConnectionType = ortcRTCPeerConnection;
879
+                this.RTCPeerConnectionType = RTCPeerConnection;
880
                 this.getUserMedia
880
                 this.getUserMedia
881
                     = wrapGetUserMedia(
881
                     = wrapGetUserMedia(
882
                         navigator.mediaDevices.getUserMedia.bind(
882
                         navigator.mediaDevices.getUserMedia.bind(
905
             } else if (RTCBrowserType.isTemasysPluginUsed()) {
905
             } else if (RTCBrowserType.isTemasysPluginUsed()) {
906
                 // Detect IE/Safari
906
                 // Detect IE/Safari
907
                 const webRTCReadyCb = () => {
907
                 const webRTCReadyCb = () => {
908
-                    this.peerconnection = RTCPeerConnection;
908
+                    this.RTCPeerConnectionType = RTCPeerConnection;
909
                     this.getUserMedia = window.getUserMedia;
909
                     this.getUserMedia = window.getUserMedia;
910
                     this.enumerateDevices
910
                     this.enumerateDevices
911
                         = enumerateDevicesThroughMediaStreamTrack;
911
                         = enumerateDevicesThroughMediaStreamTrack;

+ 4
- 16
modules/RTC/TraceablePeerConnection.js View File

1
-/* global __filename, mozRTCPeerConnection, webkitRTCPeerConnection,
2
-    RTCPeerConnection, RTCSessionDescription */
1
+/* global __filename, RTCSessionDescription */
3
 
2
 
4
 import { getLogger } from 'jitsi-meet-logger';
3
 import { getLogger } from 'jitsi-meet-logger';
5
 import transform from 'sdp-transform';
4
 import transform from 'sdp-transform';
9
 import * as MediaType from '../../service/RTC/MediaType';
8
 import * as MediaType from '../../service/RTC/MediaType';
10
 import LocalSdpMunger from './LocalSdpMunger';
9
 import LocalSdpMunger from './LocalSdpMunger';
11
 import RTC from './RTC';
10
 import RTC from './RTC';
11
+import RTCUtils from './RTCUtils';
12
 import RTCBrowserType from './RTCBrowserType';
12
 import RTCBrowserType from './RTCBrowserType';
13
 import RTCEvents from '../../service/RTC/RTCEvents';
13
 import RTCEvents from '../../service/RTC/RTCEvents';
14
 import RtxModifier from '../xmpp/RtxModifier';
14
 import RtxModifier from '../xmpp/RtxModifier';
150
         SignalingEvents.PEER_MUTED_CHANGED,
150
         SignalingEvents.PEER_MUTED_CHANGED,
151
         this._peerMutedChanged);
151
         this._peerMutedChanged);
152
     this.options = options;
152
     this.options = options;
153
-    let RTCPeerConnectionType = null;
154
 
153
 
155
-    if (RTCBrowserType.isFirefox()) {
156
-        RTCPeerConnectionType = mozRTCPeerConnection;
157
-    } else if (RTCBrowserType.isEdge()) {
158
-        // TODO: Uncomment when done. For now use the Edge native
159
-        // RTCPeerConnection.
160
-        // RTCPeerConnectionType = ortcRTCPeerConnection;
161
-        RTCPeerConnectionType = RTCPeerConnection;
162
-    } else if (RTCBrowserType.isTemasysPluginUsed()) {
163
-        RTCPeerConnectionType = RTCPeerConnection;
164
-    } else {
165
-        RTCPeerConnectionType = webkitRTCPeerConnection;
166
-    }
167
-    this.peerconnection = new RTCPeerConnectionType(iceConfig, constraints);
154
+    this.peerconnection
155
+        = new RTCUtils.RTCPeerConnectionType(iceConfig, constraints);
168
     this.updateLog = [];
156
     this.updateLog = [];
169
     this.stats = {};
157
     this.stats = {};
170
     this.statsinterval = null;
158
     this.statsinterval = null;

Loading…
Cancel
Save