aboutsummaryrefslogtreecommitdiffstats
path: root/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js')
-rw-r--r--src/js/plugins/ads.js25
-rw-r--r--src/js/plyr.js23
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();
}
/**