diff options
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/plugins/ads.js | 25 | ||||
-rw-r--r-- | src/js/plyr.js | 23 |
2 files changed, 18 insertions, 30 deletions
diff --git a/src/js/plugins/ads.js b/src/js/plugins/ads.js index 091ee80d..ceb00ee4 100644 --- a/src/js/plugins/ads.js +++ b/src/js/plugins/ads.js @@ -21,8 +21,8 @@ const getStartEvents = () => { class Ads { constructor(player) { this.player = player; - this.isPlaying = false; - this.isInitialized = false; + this.playing = false; + this.initialized = false; // Check if a tag URL is provided. if (!utils.is.url(player.config.ads.tagUrl)) { @@ -39,22 +39,6 @@ class Ads { } } - set playing(bool = false) { - this.isPlaying = bool; - } - - get playing() { - return this.isPlaying; - } - - set initialized(bool = false) { - this.isInitialized = bool; - } - - get initialized() { - return this.isInitialized; - } - ready() { this.time = Date.now(); this.startEvents = getStartEvents(); @@ -298,10 +282,7 @@ class Ads { onAdError(adErrorEvent) { this.cancel(); - - if (this.player.debug) { - throw new Error(adErrorEvent); - } + this.player.debug.log(`[${(Date.now() - this.time) / 1000}s][IMA SDK] ERROR |`, adErrorEvent); } setupAdDisplayContainer() { diff --git a/src/js/plyr.js b/src/js/plyr.js index 2daedeac..08c608c3 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -276,7 +276,9 @@ class Plyr { } // Setup ads if provided - this.ads = new Ads(this); + if (utils.is.url(this.config.ads.tagUrl)) { + this.ads = new Ads(this); + } } // --------------------------------------- @@ -306,16 +308,21 @@ class Plyr { } /** - * Play the media + * Play the media, or play the advertisement */ play() { - if (this.ads) { - this.ads.play(); - } - - if (!this.ads.playing) { - return this.media.play(); + if (utils.is.url(this.config.ads.tagUrl)) { + if (this.ads.playing) { + return; + } + if (!this.ads.initialized) { + this.ads.play(); + } + if (!this.ads.playing) { + this.media.play(); + } } + this.media.play(); } /** |