From 7e7d98d7ce89fedd605a40c9c6a7cac20bb74258 Mon Sep 17 00:00:00 2001 From: Chris Sinchok Date: Mon, 3 Nov 2014 18:09:05 -0600 Subject: [PATCH 1/3] Fixes for the vast plugin, against our branch of videojs-contrib-ads --- bower.json | 2 +- spec/VastPluginSpec.js | 22 ++++++++++++---------- videojs.vast.js | 15 +++++++-------- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/bower.json b/bower.json index 71a5205..4f8a8e8 100644 --- a/bower.json +++ b/bower.json @@ -30,6 +30,6 @@ "dependencies": { "videojs": "4.4.3", "vast-client-js": "1.1.2", - "videojs-contrib-ads": "0.4.0" + "videojs-contrib-ads": "theonion/videojs-contrib-ads#e4718b919ef772ca24619a30e2bf5f6cc27ac8f1" } } diff --git a/spec/VastPluginSpec.js b/spec/VastPluginSpec.js index f967ee9..6dbd0f9 100644 --- a/spec/VastPluginSpec.js +++ b/spec/VastPluginSpec.js @@ -34,10 +34,10 @@ describe('videojs.vast plugin', function() { } })(); player = videojs(id); - player.ads(); - player.vast({ - url: "" - }); + // player.ads(); + // player.vast({ + // url: "" + // }); }); @@ -70,11 +70,11 @@ describe('videojs.vast plugin', function() { }); it("should bail out if no url is provided", function() { - spyOn(this.p, "trigger"); this.p.ads(); var result = this.p.vast({}); - expect(result).toBe(null); - expect(this.p.trigger).toHaveBeenCalledWith("adtimeout"); + spyOn(this.p, "trigger").and.callThrough(); + this.p.trigger('readyforpreroll'); + expect(this.p.trigger).toHaveBeenCalledWith("adscanceled"); }); it("should request an ad if a source is already loaded", function() { @@ -122,6 +122,7 @@ describe('videojs.vast plugin', function() { describe("tearDown", function() { it("should end the linear ad", function() { + player.ads(); player.vast({ url: 'balhbahblhab' }); spyOn(player.ads, "endLinearAdMode"); @@ -143,6 +144,7 @@ describe('videojs.vast plugin', function() { describe("preroll", function() { beforeEach(function() { + player.ads(); player.vast({ url: 'balhbahblhab' }); player.vastTracker = { clickThroughURLTemplate: "a whole new page", @@ -163,7 +165,7 @@ describe('videojs.vast plugin', function() { }); it("should end the ad", function() { - spyOn(player, "one"); + spyOn(player, "one"); player.vast.preroll(); expect(player.one).toHaveBeenCalledWith("ended", jasmine.any(Function)); }); @@ -187,7 +189,7 @@ describe('videojs.vast plugin', function() { spyOn(player, "trigger"); player.vast.getContent("some url"); - expect(player.trigger).toHaveBeenCalledWith("adtimeout"); + expect(player.trigger).toHaveBeenCalledWith("adscanceled"); }); describe("linear ads", function() { @@ -231,7 +233,7 @@ describe('videojs.vast plugin', function() { expect(DMVAST.util.track).toHaveBeenCalledWith( jasmine.any(String), jasmine.any(Object) ); - expect(player.trigger).toHaveBeenCalledWith("adtimeout"); + expect(player.trigger).toHaveBeenCalledWith("adscanceled"); }); }); diff --git a/videojs.vast.js b/videojs.vast.js index 39c39e0..29881d0 100644 --- a/videojs.vast.js +++ b/videojs.vast.js @@ -87,7 +87,7 @@ player.vast.sources = player.vast.createSourceObjects(creative.mediaFiles); if (!player.vast.sources.length) { - player.trigger('adtimeout'); + player.trigger('adscanceled'); return; } @@ -158,7 +158,7 @@ if (!player.vastTracker) { // No pre-roll, start video - player.trigger('adtimeout'); + player.trigger('adscanceled'); } }); }, @@ -274,12 +274,6 @@ return null; } - // if we don't have a vast url, just bail out - if (!settings.url) { - player.trigger('adtimeout'); - return null; - } - // set up vast plugin, then set up events here player.vast = new Vast(player, settings); @@ -306,6 +300,11 @@ }); player.on('readyforpreroll', function() { + // if we don't have a vast url, just bail out + if (!settings.url) { + player.trigger('adscanceled'); + return null; + } // set up and start playing preroll player.vast.preroll(); }); From a4c94c48de0b0d8231fd6b1ccdbe706382db0595 Mon Sep 17 00:00:00 2001 From: Chris Sinchok Date: Thu, 6 Nov 2014 16:19:41 -0600 Subject: [PATCH 2/3] Cleaning up play/pause events --- videojs.vast.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/videojs.vast.js b/videojs.vast.js index aeccceb..429847e 100644 --- a/videojs.vast.js +++ b/videojs.vast.js @@ -135,13 +135,11 @@ } player.vastTracker.setProgress(player.currentTime()); }, - playFn = function() { - if (player.ads.state === 'ad-playback') { - player.vastTracker.setPaused(false); - } - }, pauseFn = function() { player.vastTracker.setPaused(true); + player.one('play', function(){ + player.vastTracker.setPaused(false); + }); }, errorFn = function() { // Inform ad server we couldn't play the media file for this ad @@ -152,14 +150,12 @@ player.on('canplay', canplayFn); player.on('timeupdate', timeupdateFn); - player.on('play', playFn); player.on('pause', pauseFn); player.on('error', errorFn); - player.one('ended', function() { + player.one('vast-preroll-removed', function() { player.off('canplay', canplayFn); player.off('timeupdate', timeupdateFn); - player.off('play', playFn); player.off('pause', pauseFn); player.off('error', errorFn); if (!errorOccurred) { From ffe84c065a15d7e3d0dda578a07b52a848ff908b Mon Sep 17 00:00:00 2001 From: Chris Sinchok Date: Tue, 18 Nov 2014 10:10:06 -0600 Subject: [PATCH 3/3] New videojs-contrib-ads version --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 4f8a8e8..ea51344 100644 --- a/bower.json +++ b/bower.json @@ -30,6 +30,6 @@ "dependencies": { "videojs": "4.4.3", "vast-client-js": "1.1.2", - "videojs-contrib-ads": "theonion/videojs-contrib-ads#e4718b919ef772ca24619a30e2bf5f6cc27ac8f1" + "videojs-contrib-ads": "0.5.0" } }