diff options
Diffstat (limited to 'src/js/plugins')
-rw-r--r-- | src/js/plugins/ads.js | 11 | ||||
-rw-r--r-- | src/js/plugins/youtube.js | 54 |
2 files changed, 6 insertions, 59 deletions
diff --git a/src/js/plugins/ads.js b/src/js/plugins/ads.js index f5727a1d..375fdc13 100644 --- a/src/js/plugins/ads.js +++ b/src/js/plugins/ads.js @@ -6,9 +6,9 @@ /* global google */ -import i18n from '../i18n'; import { createElement } from '../utils/elements'; import { triggerEvent } from '../utils/events'; +import i18n from '../utils/i18n'; import is from '../utils/is'; import loadScript from '../utils/loadScript'; import { formatTime } from '../utils/time'; @@ -207,6 +207,11 @@ class Ads { * @param {Event} adsManagerLoadedEvent */ onAdsManagerLoaded(event) { + // Load could occur after a source change (race condition) + if (!this.enabled) { + return; + } + // Get the ads manager const settings = new google.ima.AdsRenderingSettings(); @@ -240,10 +245,6 @@ class Ads { }); } - // Get skippable state - // TODO: Skip button - // this.player.debug.warn(this.manager.getAdSkippableState()); - // Set volume to match player this.manager.setVolume(this.player.volume); diff --git a/src/js/plugins/youtube.js b/src/js/plugins/youtube.js index 66a73acf..73175c14 100644 --- a/src/js/plugins/youtube.js +++ b/src/js/plugins/youtube.js @@ -2,9 +2,7 @@ // YouTube plugin // ========================================================================== -import controls from '../controls'; import ui from '../ui'; -import { dedupe } from '../utils/arrays'; import { createElement, replaceElement, toggleClass } from '../utils/elements'; import { triggerEvent } from '../utils/events'; import fetch from '../utils/fetch'; @@ -23,37 +21,6 @@ function parseId(url) { return url.match(regex) ? RegExp.$2 : url; } -// Standardise YouTube quality unit -function mapQualityUnit(input) { - const qualities = { - hd2160: 2160, - hd1440: 1440, - hd1080: 1080, - hd720: 720, - large: 480, - medium: 360, - small: 240, - tiny: 144, - }; - - const entry = Object.entries(qualities).find(entry => entry.includes(input)); - - if (entry) { - // Get the match corresponding to the input - return entry.find(value => value !== input); - } - - return 'default'; -} - -function mapQualityUnits(levels) { - if (is.empty(levels)) { - return levels; - } - - return dedupe(levels.map(level => mapQualityUnit(level))); -} - // Set playback state and trigger change (only on actual change) function assurePlaybackState(play) { if (play && !this.embed.hasPlayed) { @@ -225,11 +192,6 @@ const youtube = { triggerEvent.call(player, player.media, 'error'); } }, - onPlaybackQualityChange() { - triggerEvent.call(player, player.media, 'qualitychange', false, { - quality: player.media.quality, - }); - }, onPlaybackRateChange(event) { // Get the instance const instance = event.target; @@ -299,16 +261,6 @@ const youtube = { }, }); - // Quality - Object.defineProperty(player.media, 'quality', { - get() { - return mapQualityUnit(instance.getPlaybackQuality()); - }, - set(input) { - instance.setPlaybackQuality(mapQualityUnit(input)); - }, - }); - // Volume let { volume } = player.config; Object.defineProperty(player.media, 'volume', { @@ -457,12 +409,6 @@ const youtube = { player.media.duration = instance.getDuration(); triggerEvent.call(player, player.media, 'durationchange'); } - - // Get quality - controls.setQualityMenu.call( - player, - mapQualityUnits(instance.getAvailableQualityLevels()), - ); } break; |