From 8269b8215bc33bc343a78810a9c6acd6b5ce5c70 Mon Sep 17 00:00:00 2001 From: Chad Phillips Date: Sat, 18 Jun 2016 15:02:35 -0500 Subject: [PATCH] FS-9281: Add support for QQVGA resolution in Verto QQVGA is a standard 160x120 resolution, useful for cases of very slow upload bandwidth. Adds the resolution to the core FSRTC lib, and to the Verto video demo and Verto Communicator --- html5/verto/js/src/jquery.FSRTC.js | 2 +- .../src/vertoService/services/vertoService.js | 14 ++++++++++++- html5/verto/video_demo/index.html | 4 ++++ html5/verto/video_demo/verto.js | 20 ++++++++++++++++++- 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/html5/verto/js/src/jquery.FSRTC.js b/html5/verto/js/src/jquery.FSRTC.js index c0785576ff..225c1b16ec 100644 --- a/html5/verto/js/src/jquery.FSRTC.js +++ b/html5/verto/js/src/jquery.FSRTC.js @@ -1089,7 +1089,7 @@ return [w, h]; } - var resList = [[320, 180], [320, 240], [640, 360], [640, 480], [1280, 720], [1920, 1080]]; + var resList = [[160, 120], [320, 180], [320, 240], [640, 360], [640, 480], [1280, 720], [1920, 1080]]; var resI = 0; var ttl = 0; diff --git a/html5/verto/verto_communicator/src/vertoService/services/vertoService.js b/html5/verto/verto_communicator/src/vertoService/services/vertoService.js index 824e5e9e91..12583b4571 100644 --- a/html5/verto/verto_communicator/src/vertoService/services/vertoService.js +++ b/html5/verto/verto_communicator/src/vertoService/services/vertoService.js @@ -3,6 +3,11 @@ /* Controllers */ var videoQuality = []; var videoQualitySource = [{ + id: 'qqvga', + label: 'QQVGA 160x120', + width: 160, + height: 120 +}, { id: 'qvga', label: 'QVGA 320x240', width: 320, @@ -35,6 +40,10 @@ var videoQualitySource = [{ }, ]; var videoResolution = { + qqvga: { + width: 160, + height: 120 + }, qvga: { width: 320, height: 240 @@ -910,7 +919,10 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora storage.data.useDedenc = false; storage.data.vidQual = 'hd'; - if (upBand < 512) { + if (upBand < 256) { + storage.data.vidQual = 'qqvga'; + } + else if (upBand < 512) { storage.data.vidQual = 'qvga'; } else if (upBand < 1024) { diff --git a/html5/verto/video_demo/index.html b/html5/verto/video_demo/index.html index 74992e5807..229275e9cf 100644 --- a/html5/verto/video_demo/index.html +++ b/html5/verto/video_demo/index.html @@ -394,6 +394,10 @@ if ($('#devices').is(':visible')) {
Video Quality: + + + + diff --git a/html5/verto/video_demo/verto.js b/html5/verto/video_demo/verto.js index aba518952b..e0ee4aec19 100644 --- a/html5/verto/video_demo/verto.js +++ b/html5/verto/video_demo/verto.js @@ -140,7 +140,12 @@ function real_size() { function check_vid_res() { - if ($("#vqual_qvga").is(':checked')) { + if ($("#vqual_qqvga").is(':checked')) { + vid_width = 160; + vid_height = 120; + local_vid_width = 80; + local_vid_height = 60; + } else if ($("#vqual_qvga").is(':checked')) { vid_width = 320; vid_height = 240; local_vid_width = 160; @@ -218,6 +223,10 @@ function do_speed_test(fn) $("#vqual_qvga").prop("checked", true); vid = "320x240"; } + if (outgoingBandwidth < 256) { + $("#vqual_qqvga").prop("checked", true); + vid = "160x120"; + } //} if (incomingBandwidth === "default") { @@ -1315,6 +1324,15 @@ function init() { + $("#vqual_qqvga").prop("checked", vqual === "qqvga").change(function(e) { + if ($("#vqual_qqvga").is(':checked')) { + vqual = "qqvga"; + $.cookie("verto_demo_vqual", vqual, { + expires: 365 + }); + } + }); + $("#vqual_qvga").prop("checked", vqual === "qvga").change(function(e) { if ($("#vqual_qvga").is(':checked')) { vqual = "qvga";