Skip to content

Commit 8d6c6ba

Browse files
authored
Feature/detailed options review (#583)
* review vimeo * refactor detailed options for Vimeo * review youtube query options * remove obsolete code for Vimeo * fix typo * vimeo: hide badge on showinfo
1 parent 5a6ce49 commit 8d6c6ba

File tree

3 files changed

+28
-28
lines changed

3 files changed

+28
-28
lines changed

lib/core.js

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,18 +1436,6 @@
14361436

14371437
const urlOptions = getQueryOptionsFromUrl(url);
14381438

1439-
options.getQueryOptions = function() {
1440-
const requestOptions = getQueryOptionsFromEntries(new URLSearchParams(options.providerOptions || {}));
1441-
var query = !options.getProviderOptions('app.disable_url_options', false)
1442-
? {...requestOptions, ...urlOptions}
1443-
: {...requestOptions}
1444-
1445-
if (query.autoplay && !query.mute && !query.muted) {
1446-
delete query.autoplay;
1447-
}
1448-
return query;
1449-
}
1450-
14511439
options.getProviderOptions = function(path, defaultValue) {
14521440
registerProviderOptionsUsage(path);
14531441

@@ -1505,8 +1493,14 @@
15051493
}
15061494
}
15071495
return value;
1508-
}
1496+
};
15091497

1498+
options.digitize = function(params) {
1499+
return Object.keys(params).reduce((acc, k) => {
1500+
acc[k] = typeof params[k] === 'boolean' ? (params[k] ? 1 : 0) : params[k];
1501+
return acc;
1502+
}, {});
1503+
}
15101504
}
15111505

15121506
function callbackWithErrorCode(code, options, cb) {

plugins/domains/vimeo.com.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,19 @@ export default {
2525
},
2626

2727
getLink: function(oembed, options) {
28-
var iframe = oembed.getIframe();
29-
const query = options.getQueryOptions();
28+
const iframe = oembed.getIframe();
3029

31-
var params = querystring.parse(options.getProviderOptions('vimeo.get_params', '').replace(/^\?/, ''));
32-
if (query) {
33-
params = {...params, ...query};
34-
}
30+
const get_params = querystring.parse(options.getProviderOptions('vimeo.get_params', '').replace(/^\?/, ''));
31+
var providerOptions = options.getProviderOptions('_vimeo') || {};
32+
delete providerOptions.showinfo;
33+
34+
const params = {...get_params, ...providerOptions};
3535

36-
if (options.getProviderOptions('players.showinfo', false)) {
37-
params.title = 1;
38-
params.byline = 1;
36+
if (!options.getProviderOptions('_vimeo.showinfo', options.getProviderOptions('players.showinfo', true))) {
37+
params.title = 0;
38+
params.byline = 0;
39+
params.portrait = 0;
40+
params.badge = 0;
3941
}
4042

4143
// Captions support:
@@ -45,10 +47,11 @@ export default {
4547
params.texttrack = texttrack;
4648
} else {
4749
texttrack = '';
50+
delete params.texttrack;
4851
}
4952

5053
// https://developer.vimeo.com/api/oembed/videos
51-
var controls = options.getRequestOptions('vimeo.controls', params.controls);
54+
var controls = options.getRequestOptions('_vimeo.controls', params.controls);
5255
if (controls == 0) {
5356
params.controls = false;
5457
} else if (params.controls) {
@@ -59,7 +62,7 @@ export default {
5962

6063
if (oembed.thumbnail_url || !options.getProviderOptions('vimeo.disable_private', false)) {
6164
links.push({
62-
href: iframe.replaceQuerystring(params),
65+
href: iframe.replaceQuerystring(options.digitize(params)),
6366
type: CONFIG.T.text_html,
6467
rel: CONFIG.R.player,
6568
"aspect-ratio": oembed.width / oembed.height, // ex. portrait https://vimeo.com/216098214
@@ -75,7 +78,7 @@ export default {
7578
}
7679

7780
if (!oembed.thumbnail_url) {
78-
links.push({message: 'Contact support to ' + (options.getProviderOptions('vimeo.disable_private', false) ? 'enable' : 'disable')+ ' Vimeos with site restrictions.'});
81+
links.push({message: 'This Vimeo video has site restrictions.'});
7982
} else {
8083

8184
var thumbnail = {

plugins/domains/youtube.com/youtube.video.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,10 @@ export default {
158158

159159
getLinks: function(url, youtube_video_gdata, options) {
160160

161-
var params = querystring.parse(options.getProviderOptions('youtube.get_params', '').replace(/^\?/, ''));
161+
var get_params = querystring.parse(options.getProviderOptions('youtube.get_params', '').replace(/^\?/, ''));
162+
var queryOptions = options.getProviderOptions('_youtube');
163+
164+
var params = {...get_params, ...queryOptions};
162165

163166
/** Extract ?t=12m15s, ?t=123, ?start=123, ?stop=123, ?end=123
164167
*/
@@ -204,7 +207,7 @@ export default {
204207
}
205208

206209
// https://developers.google.com/youtube/player_parameters#cc_load_policy
207-
var cc_load_policy = options.getRequestOptions('youtube.cc_load_policy', params.cc_load_policy);
210+
var cc_load_policy = options.getRequestOptions('_youtube.cc_load_policy', options.getProviderOptions('youtube.cc_load_policy', params.cc_load_policy));
208211
if (cc_load_policy) {
209212
params.cc_load_policy = 1;
210213
} else if (params.cc_load_policy) {
@@ -272,7 +275,7 @@ export default {
272275

273276
if (youtube_video_gdata.embeddable && youtube_video_gdata.ytRating !== 'ytAgeRestricted') {
274277

275-
var qs = querystring.stringify(params);
278+
var qs = querystring.stringify(options.digitize(params));
276279
if (qs !== '') {qs = '?' + qs}
277280

278281
var domain = /^https?:\/\/www\.youtube-nocookie\.com\//i.test(url) || options.getProviderOptions('youtube.nocookie', false) ? 'youtube-nocookie' : 'youtube';

0 commit comments

Comments
 (0)