Updated apprtc demo to interop with firefox.

R=juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/1482004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4040 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
vikasmarwaha@webrtc.org 2013-05-16 01:05:19 +00:00
parent 40298d452c
commit 59a06670b5
2 changed files with 2 additions and 33 deletions

View File

@ -60,18 +60,6 @@ def make_loopback_answer(message):
message = message.replace("a=ice-options:google-ice\\r\\n", "") message = message.replace("a=ice-options:google-ice\\r\\n", "")
return message return message
def maybe_add_fake_crypto(message):
if message.find("a=crypto") == -1:
index = len(message)
crypto_line = ("a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:"
"BAADBAADBAADBAADBAADBAADBAADBAADBAADBAAD\\r\\n")
# reverse find for multiple find and insert operations.
index = message.rfind("c=IN", 0, index)
while (index != -1):
message = message[:index] + crypto_line + message[index:]
index = message.rfind("c=IN", 0, index)
return message
def handle_message(room, user, message): def handle_message(room, user, message):
message_obj = json.loads(message) message_obj = json.loads(message)
other_user = room.get_other_user(user) other_user = room.get_other_user(user)
@ -87,10 +75,6 @@ def handle_message(room, user, message):
# Special case the loopback scenario. # Special case the loopback scenario.
if other_user == user: if other_user == user:
message = make_loopback_answer(message) message = make_loopback_answer(message)
# Workaround Chrome bug.
# Insert a=crypto line into offer from FireFox.
# TODO(juberti): Remove this call.
message = maybe_add_fake_crypto(message)
on_message(room, other_user, message) on_message(room, other_user, message)
def get_saved_messages(client_id): def get_saved_messages(client_id):
@ -155,11 +139,8 @@ def make_pc_constraints(compat):
constraints['optional'].append({'DtlsSrtpKeyAgreement': True}) constraints['optional'].append({'DtlsSrtpKeyAgreement': True})
return constraints return constraints
def make_offer_constraints(compat): def make_offer_constraints():
constraints = { 'mandatory': {}, 'optional': [] } constraints = { 'mandatory': {}, 'optional': [] }
# For interop with FireFox. Disable Data Channel in createOffer.
if compat.lower() == 'true':
constraints['mandatory']['MozDontOfferDataChannel'] = True
return constraints return constraints
def append_url_arguments(request, link): def append_url_arguments(request, link):
@ -383,7 +364,7 @@ class MainPage(webapp2.RequestHandler):
token = create_channel(room, user, token_timeout) token = create_channel(room, user, token_timeout)
pc_config = make_pc_config(stun_server, turn_server, ts_pwd) pc_config = make_pc_config(stun_server, turn_server, ts_pwd)
pc_constraints = make_pc_constraints(compat) pc_constraints = make_pc_constraints(compat)
offer_constraints = make_offer_constraints(compat) offer_constraints = make_offer_constraints()
media_constraints = make_media_constraints(media, min_re, max_re) media_constraints = make_media_constraints(media, min_re, max_re)
template_values = {'token': token, template_values = {'token': token,
'me': user, 'me': user,

View File

@ -206,10 +206,6 @@
} }
function createPeerConnection() { function createPeerConnection() {
// Force the use of a number IP STUN server for Firefox.
if (webrtcDetectedBrowser == "firefox") {
pc_config = {"iceServers":[{"url":"stun:23.21.150.121"}]};
}
try { try {
// Create an RTCPeerConnection via the polyfill (adapter.js). // Create an RTCPeerConnection via the polyfill (adapter.js).
pc = new RTCPeerConnection(pc_config, pc_constraints); pc = new RTCPeerConnection(pc_config, pc_constraints);
@ -246,14 +242,6 @@
function doCall() { function doCall() {
var constraints = {{ offer_constraints | safe }}; var constraints = {{ offer_constraints | safe }};
// temporary measure to remove Moz* constraints in Chrome
if (webrtcDetectedBrowser === "chrome") {
for (prop in constraints.mandatory) {
if (prop.indexOf("Moz") != -1) {
delete constraints.mandatory[prop];
}
}
}
constraints = mergeConstraints(constraints, sdpConstraints); constraints = mergeConstraints(constraints, sdpConstraints);
console.log("Sending offer to peer, with constraints: \n" + console.log("Sending offer to peer, with constraints: \n" +
" \"" + JSON.stringify(constraints) + "\".") " \"" + JSON.stringify(constraints) + "\".")