aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/plugins')
-rw-r--r--src/js/plugins/ads.js3
-rw-r--r--src/js/plugins/preview-thumbnails.js29
2 files changed, 24 insertions, 8 deletions
diff --git a/src/js/plugins/ads.js b/src/js/plugins/ads.js
index 79e6e5d9..48682dcf 100644
--- a/src/js/plugins/ads.js
+++ b/src/js/plugins/ads.js
@@ -11,6 +11,7 @@ import { triggerEvent } from '../utils/events';
import i18n from '../utils/i18n';
import is from '../utils/is';
import loadScript from '../utils/load-script';
+import { silencePromise } from '../utils/promise';
import { formatTime } from '../utils/time';
import { buildUrlParams } from '../utils/urls';
@@ -517,7 +518,7 @@ class Ads {
this.playing = false;
// Play video
- this.player.media.play();
+ silencePromise(this.player.media.play());
}
/**
diff --git a/src/js/plugins/preview-thumbnails.js b/src/js/plugins/preview-thumbnails.js
index 86eeebc8..4c13ab33 100644
--- a/src/js/plugins/preview-thumbnails.js
+++ b/src/js/plugins/preview-thumbnails.js
@@ -137,19 +137,34 @@ class PreviewThumbnails {
throw new Error('Missing previewThumbnails.src config attribute');
}
- // If string, convert into single-element list
- const urls = is.string(src) ? [src] : src;
- // Loop through each src URL. Download and process the VTT file, storing the resulting data in this.thumbnails
- const promises = urls.map(u => this.getThumbnail(u));
-
- Promise.all(promises).then(() => {
+ // Resolve promise
+ const sortAndResolve = () => {
// Sort smallest to biggest (e.g., [120p, 480p, 1080p])
this.thumbnails.sort((x, y) => x.height - y.height);
this.player.debug.log('Preview thumbnails', this.thumbnails);
resolve();
- });
+ };
+ // Via callback()
+ if (is.function(src)) {
+ // Ask
+ let that = this;
+ src(function(thumbnails) {
+ that.thumbnails = thumbnails;
+ // Resolve
+ sortAndResolve();
+ });
+ }
+ // VTT urls
+ else {
+ // If string, convert into single-element list
+ const urls = is.string(src) ? [src] : src;
+ // Loop through each src URL. Download and process the VTT file, storing the resulting data in this.thumbnails
+ const promises = urls.map(u => this.getThumbnail(u));
+ // Resolve
+ Promise.all(promises).then(sortAndResolve);
+ }
});
}