From d16482b863b1321a3486bae05717526daa1ff48c Mon Sep 17 00:00:00 2001 From: Calvin Montgomery Date: Fri, 16 May 2014 00:46:30 -0500 Subject: [PATCH] Make vimeo workaround respect default quality option --- templates/useroptions.jade | 2 +- www/js/callbacks.js | 29 ++++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/templates/useroptions.jade b/templates/useroptions.jade index 90aa36ce..453e4065 100644 --- a/templates/useroptions.jade +++ b/templates/useroptions.jade @@ -67,7 +67,7 @@ mixin us-playback mixin rcheckbox("us-playlistbuttons", "Hide playlist buttons by default") mixin rcheckbox("us-oldbtns", "Old style playlist buttons") .form-group - label.control-label.col-sm-4(for="#us-default-quality") Default YouTube/Dailymotion quality + label.control-label.col-sm-4(for="#us-default-quality") Default YouTube/Vimeo/Dailymotion quality .col-sm-8 select#us-default-quality.form-control option(value="auto") Auto diff --git a/www/js/callbacks.js b/www/js/callbacks.js index e00f5ee0..caf2ae91 100644 --- a/www/js/callbacks.js +++ b/www/js/callbacks.js @@ -858,9 +858,32 @@ Callbacks = { } else { data.type = "rv"; } - // Right now only plays standard definition. - // In the future, I may add a quality selector for mobile/standard/HD - data.url = data.direct.sd.url; + + /* Convert youtube-style quality key to vimeo workaround quality */ + var q = { + small: "mobile", + medium: "sd", + large: "sd", + hd720: "hd", + hd1080:"hd", + highres: "hd" + }[USEROPTS.default_quality] || "sd"; + + var fallback = { + hd: "sd", + sd: "mobile", + mobile: false + }; + + while (!(q in data.direct) && q != false) { + q = fallback[q]; + } + + if (!q) { + q = "sd"; + } + + data.url = data.direct[q].url; } if (data.type === "rt") {