Update adapter.js to use TURN transport parameters for FF version 27 & above.
R=juberti@google.com
Review URL: https://webrtc-codereview.appspot.com/2829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5031 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/samples/js/base/adapter.js b/samples/js/base/adapter.js
index d79586e..803ef15 100644
--- a/samples/js/base/adapter.js
+++ b/samples/js/base/adapter.js
@@ -41,15 +41,24 @@
if (url_parts[0].indexOf('stun') === 0) {
// Create iceServer with stun url.
iceServer = { 'url': url };
- } else if (url_parts[0].indexOf('turn') === 0 &&
- (url.indexOf('transport=udp') !== -1 ||
- url.indexOf('?transport') === -1)) {
- // Create iceServer with turn url.
- // Ignore the transport parameter from TURN url.
- var turn_url_parts = url.split("?");
- iceServer = { 'url': turn_url_parts[0],
- 'credential': password,
- 'username': username };
+ } else if (url_parts[0].indexOf('turn') === 0) {
+ if (webrtcDetectedVersion < 27) {
+ // Create iceServer with turn url.
+ // Ignore the transport parameter from TURN url for FF version <=27.
+ var turn_url_parts = url.split("?");
+ // Return null for createIceServer if transport=tcp.
+ if (turn_url_parts[1].indexOf('transport=udp') === 0) {
+ iceServer = { 'url': turn_url_parts[0],
+ 'credential': password,
+ 'username': username };
+ }
+ } else {
+ // FF 27 and above supports transport parameters in TURN url,
+ // So passing in the full url to create iceServer.
+ iceServer = { 'url': url,
+ 'credential': password,
+ 'username': username };
+ }
}
return iceServer;
};
@@ -90,17 +99,10 @@
// Create iceServer with stun url.
iceServer = { 'url': url };
} else if (url_parts[0].indexOf('turn') === 0) {
- if (webrtcDetectedVersion < 28) {
- // For pre-M28 chrome versions use old TURN format.
- var url_turn_parts = url.split("turn:");
- iceServer = { 'url': 'turn:' + username + '@' + url_turn_parts[1],
- 'credential': password };
- } else {
- // For Chrome M28 & above use new TURN format.
- iceServer = { 'url': url,
- 'credential': password,
- 'username': username };
- }
+ // Chrome M28 & above uses below TURN format.
+ iceServer = { 'url': url,
+ 'credential': password,
+ 'username': username };
}
return iceServer;
};
@@ -128,27 +130,6 @@
reattachMediaStream = function(to, from) {
to.src = from.src;
};
-
- // The representation of tracks in a stream is changed in M26.
- // Unify them for earlier Chrome versions in the coexisting period.
- if (!webkitMediaStream.prototype.getVideoTracks) {
- webkitMediaStream.prototype.getVideoTracks = function() {
- return this.videoTracks;
- };
- webkitMediaStream.prototype.getAudioTracks = function() {
- return this.audioTracks;
- };
- }
-
- // New syntax of getXXXStreams method in M26.
- if (!webkitRTCPeerConnection.prototype.getLocalStreams) {
- webkitRTCPeerConnection.prototype.getLocalStreams = function() {
- return this.localStreams;
- };
- webkitRTCPeerConnection.prototype.getRemoteStreams = function() {
- return this.remoteStreams;
- };
- }
} else {
console.log("Browser does not appear to be WebRTC-capable");
}