Url option to change the resolution.
Review URL: https://webrtc-codereview.appspot.com/1218005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3691 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/samples/js/apprtc/apprtc.py b/samples/js/apprtc/apprtc.py
index 7be5054..19b270b 100644
--- a/samples/js/apprtc/apprtc.py
+++ b/samples/js/apprtc/apprtc.py
@@ -119,18 +119,24 @@
     new_message.put()
     logging.info('Saved message for user ' + user)
 
-def make_media_constraints(hd_video):
+def make_media_constraints_by_resolution(min_re, max_re):
   constraints = { 'optional': [], 'mandatory': {} }
-  # Demo 16:9 video with media constraints.
-  if hd_video.lower() == 'true':
-    # Demo with WHD by setting size with 1280x720.
-    constraints['mandatory']['minHeight'] = 720
-    constraints['mandatory']['minWidth'] = 1280
-    # Disabled for now due to weird stretching behavior on Mac.
-    #else:
-    # Demo with WVGA by setting Aspect Ration;
-    #constraints['mandatory']['maxAspectRatio'] = 1.778
-    #constraints['mandatory']['minAspectRatio'] = 1.777
+  if min_re:
+    min_sizes = min_re.split('x')
+    if len(min_sizes) == 2:
+      constraints['mandatory']['minWidth'] = min_sizes[0]
+      constraints['mandatory']['minHeight'] = min_sizes[1]
+    else:
+      logging.info('Ignored invalid min_re: ' + min_re);
+
+  if max_re:
+    max_sizes = max_re.split('x')
+    if len(max_sizes) == 2:
+      constraints['mandatory']['maxWidth'] = max_sizes[0]
+      constraints['mandatory']['maxHeight'] = max_sizes[1]
+    else:
+      logging.info('Ignored invalid max_re: ' + max_re);
+
   return constraints
 
 def make_pc_constraints(compat):
@@ -297,7 +303,11 @@
     unittest = self.request.get('unittest')
     stun_server = self.request.get('ss')
     turn_server = self.request.get('ts')
+    min_re = self.request.get('minre')
+    max_re = self.request.get('maxre')
     hd_video = self.request.get('hd')
+    if hd_video.lower() == 'true':
+      min_re = '1280x720'
     ts_pwd = self.request.get('tp')
     # set compat to true by default.
     compat = 'true'
@@ -358,7 +368,7 @@
     pc_config = make_pc_config(stun_server, turn_server, ts_pwd)
     pc_constraints = make_pc_constraints(compat)
     offer_constraints = make_offer_constraints(compat)
-    media_constraints = make_media_constraints(hd_video)
+    media_constraints = make_media_constraints_by_resolution(min_re, max_re)
     template_values = {'token': token,
                        'me': user,
                        'room_key': room_key,