* Prefer to send ISAC on clank.
* Add url option asc and arc to allow setting preferred audio send/receive codec.

TESTED=mobile as caller and callee:
pc-n7: pc sends opus, n7 sends isac 
pc-n4: pc sends opus, n4 sends isac
pc-pc opus-opus

R=braveyao@webrtc.org, juberti@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4742 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/samples/js/apprtc/apprtc.py b/samples/js/apprtc/apprtc.py
index 9df12a0..6bb65c8 100644
--- a/samples/js/apprtc/apprtc.py
+++ b/samples/js/apprtc/apprtc.py
@@ -45,6 +45,17 @@
     default_stun_server = 'stun.services.mozilla.com'
   return default_stun_server
 
+def get_preferred_audio_receive_codec():
+  return 'opus/48000'
+
+def get_preferred_audio_send_codec(user_agent):
+  # Empty string means no preference.
+  preferred_audio_send_codec = ''
+  # Prefer to send ISAC on Chrome for Android.
+  if 'Android' in user_agent and 'Chrome' in user_agent:
+    preferred_audio_send_codec = 'ISAC/16000'
+  return preferred_audio_send_codec
+
 def make_pc_config(stun_server, turn_server, ts_pwd):
   servers = []
   if turn_server:
@@ -300,6 +311,12 @@
     turn_server = self.request.get('ts')
     min_re = self.request.get('minre')
     max_re = self.request.get('maxre')
+    audio_send_codec = self.request.get('asc')
+    if not audio_send_codec:
+      audio_send_codec = get_preferred_audio_send_codec(user_agent)
+    audio_receive_codec = self.request.get('arc')
+    if not audio_receive_codec:
+      audio_receive_codec = get_preferred_audio_receive_codec()
     hd_video = self.request.get('hd')
     turn_url = 'https://computeengineondemand.appspot.com/'
     if hd_video.lower() == 'true':
@@ -382,7 +399,9 @@
                        'offer_constraints': json.dumps(offer_constraints),
                        'media_constraints': json.dumps(media_constraints),
                        'turn_url': turn_url,
-                       'stereo': stereo
+                       'stereo': stereo,
+                       'audio_send_codec': audio_send_codec,
+                       'audio_receive_codec': audio_receive_codec
                       }
     if unittest:
       target_page = 'test/test_' + unittest + '.html'