Skip to content

Commit 0ada41d

Browse files
author
cloudwebrtc
committed
Fixed bug for safari.
1 parent 1252e00 commit 0ada41d

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/Signaling.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,30 @@ export default class Signaling extends events.EventEmitter {
2222
RTCSessionDescription = window.RTCSessionDescription || window.mozRTCSessionDescription || window.webkitRTCSessionDescription || window.msRTCSessionDescription;
2323
navigator.getUserMedia = navigator.getUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia || navigator.msGetUserMedia;
2424

25+
26+
if (browser.safari) {
27+
var OrigPeerConnection = RTCPeerConnection;
28+
RTCPeerConnection = function (pcConfig, pcConstraints) {
29+
if (pcConfig && pcConfig.iceServers) {
30+
var newIceServers = [];
31+
for (var i = 0; i < pcConfig.iceServers.length; i++) {
32+
var server = pcConfig.iceServers[i];
33+
if (!server.hasOwnProperty('urls') &&
34+
server.hasOwnProperty('url')) {
35+
// utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');
36+
server = JSON.parse(JSON.stringify(server));
37+
server.urls = server.url;
38+
delete server.url;
39+
newIceServers.push(server);
40+
} else {
41+
newIceServers.push(pcConfig.iceServers[i]);
42+
}
43+
}
44+
pcConfig.iceServers = newIceServers;
45+
}
46+
return new OrigPeerConnection(pcConfig, pcConstraints);
47+
};
48+
}
2549
var twilioIceServers = [
2650
{ url: 'stun:global.stun.twilio.com:3478?transport=udp' }
2751
];

0 commit comments

Comments
 (0)