Fix for cue points missing
This commit is contained in:
182
dist/plyr.polyfilled.js
vendored
182
dist/plyr.polyfilled.js
vendored
@ -574,7 +574,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
});
|
||||
|
||||
var _core = createCommonjsModule(function (module) {
|
||||
var core = module.exports = { version: '2.6.3' };
|
||||
var core = module.exports = { version: '2.6.4' };
|
||||
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
||||
});
|
||||
var _core_1 = _core.version;
|
||||
@ -670,14 +670,31 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
||||
};
|
||||
|
||||
var _library = false;
|
||||
|
||||
var _shared = createCommonjsModule(function (module) {
|
||||
var SHARED = '__core-js_shared__';
|
||||
var store = _global[SHARED] || (_global[SHARED] = {});
|
||||
|
||||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: _core.version,
|
||||
mode: 'global',
|
||||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||||
});
|
||||
});
|
||||
|
||||
var _functionToString = _shared('native-function-to-string', Function.toString);
|
||||
|
||||
var _redefine = createCommonjsModule(function (module) {
|
||||
var SRC = _uid('src');
|
||||
|
||||
var TO_STRING = 'toString';
|
||||
var $toString = Function[TO_STRING];
|
||||
var TPL = ('' + $toString).split(TO_STRING);
|
||||
var TPL = ('' + _functionToString).split(TO_STRING);
|
||||
|
||||
_core.inspectSource = function (it) {
|
||||
return $toString.call(it);
|
||||
return _functionToString.call(it);
|
||||
};
|
||||
|
||||
(module.exports = function (O, key, val, safe) {
|
||||
@ -697,7 +714,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||||
})(Function.prototype, TO_STRING, function toString() {
|
||||
return typeof this == 'function' && this[SRC] || $toString.call(this);
|
||||
return typeof this == 'function' && this[SRC] || _functionToString.call(this);
|
||||
});
|
||||
});
|
||||
|
||||
@ -767,21 +784,6 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
var _iterators = {};
|
||||
|
||||
var _library = false;
|
||||
|
||||
var _shared = createCommonjsModule(function (module) {
|
||||
var SHARED = '__core-js_shared__';
|
||||
var store = _global[SHARED] || (_global[SHARED] = {});
|
||||
|
||||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: _core.version,
|
||||
mode: 'global',
|
||||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||||
});
|
||||
});
|
||||
|
||||
var _wks = createCommonjsModule(function (module) {
|
||||
var store = _shared('wks');
|
||||
|
||||
@ -2124,6 +2126,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
};
|
||||
|
||||
var es6_weakMap = createCommonjsModule(function (module) {
|
||||
|
||||
var each = _arrayMethods(0);
|
||||
|
||||
|
||||
@ -2131,12 +2134,12 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
|
||||
|
||||
|
||||
var NATIVE_WEAK_MAP = _validateCollection;
|
||||
var IS_IE11 = !_global.ActiveXObject && 'ActiveXObject' in _global;
|
||||
var WEAK_MAP = 'WeakMap';
|
||||
var getWeak = _meta.getWeak;
|
||||
var isExtensible = Object.isExtensible;
|
||||
var uncaughtFrozenStore = _collectionWeak.ufstore;
|
||||
var tmp = {};
|
||||
var InternalMap;
|
||||
|
||||
var wrapper = function (get) {
|
||||
@ -2164,7 +2167,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
var $WeakMap = module.exports = _collection(WEAK_MAP, wrapper, methods, _collectionWeak, true, true);
|
||||
|
||||
// IE11 WeakMap frozen keys fix
|
||||
if (_fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {
|
||||
if (NATIVE_WEAK_MAP && IS_IE11) {
|
||||
InternalMap = _collectionWeak.getConstructor(wrapper, WEAK_MAP);
|
||||
_objectAssign(InternalMap.prototype, methods);
|
||||
_meta.NEED = true;
|
||||
@ -3728,28 +3731,6 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
ui: ui
|
||||
};
|
||||
},
|
||||
// Detect support for autoplay
|
||||
|
||||
/* autoplay: (() => {
|
||||
const video = document.createElement('video');
|
||||
video.src = 'https://cdn.plyr.io/static/blank.mp4';
|
||||
const promise = video.play();
|
||||
if (is.promise(promise)) {
|
||||
console.warn('PROMISE', promise);
|
||||
promise
|
||||
.then(() => {
|
||||
console.warn('supported');
|
||||
return true;
|
||||
})
|
||||
.catch(() => {
|
||||
console.warn('not supported');
|
||||
return false;
|
||||
});
|
||||
} else {
|
||||
console.warn('supported - no promise');
|
||||
return true;
|
||||
}
|
||||
})(), */
|
||||
// Picture-in-picture support
|
||||
// Safari & Chrome only currently
|
||||
pip: function () {
|
||||
@ -9323,25 +9304,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
this.manager = event.getAdsManager(this.player, settings); // Get the cue points for any mid-rolls by filtering out the pre- and post-roll
|
||||
|
||||
this.cuePoints = this.manager.getCuePoints(); // Add advertisement cue's within the time line if available
|
||||
|
||||
if (!is$1.empty(this.cuePoints)) {
|
||||
this.cuePoints.forEach(function (cuePoint) {
|
||||
if (cuePoint !== 0 && cuePoint !== -1 && cuePoint < _this6.player.duration) {
|
||||
var seekElement = _this6.player.elements.progress;
|
||||
|
||||
if (is$1.element(seekElement)) {
|
||||
var cuePercentage = 100 / _this6.player.duration * cuePoint;
|
||||
var cue = createElement('span', {
|
||||
class: _this6.player.config.classNames.cues
|
||||
});
|
||||
cue.style.left = "".concat(cuePercentage.toString(), "%");
|
||||
seekElement.appendChild(cue);
|
||||
}
|
||||
}
|
||||
});
|
||||
} // Set volume to match player
|
||||
|
||||
this.cuePoints = this.manager.getCuePoints(); // Set volume to match player
|
||||
|
||||
this.manager.setVolume(this.player.volume); // Add listeners to the required events
|
||||
// Advertisement error events
|
||||
@ -9358,6 +9321,29 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
this.trigger('loaded');
|
||||
}
|
||||
}, {
|
||||
key: "addCuePoints",
|
||||
value: function addCuePoints() {
|
||||
var _this7 = this;
|
||||
|
||||
// Add advertisement cue's within the time line if available
|
||||
if (!is$1.empty(this.cuePoints)) {
|
||||
this.cuePoints.forEach(function (cuePoint) {
|
||||
if (cuePoint !== 0 && cuePoint !== -1 && cuePoint < _this7.player.duration) {
|
||||
var seekElement = _this7.player.elements.progress;
|
||||
|
||||
if (is$1.element(seekElement)) {
|
||||
var cuePercentage = 100 / _this7.player.duration * cuePoint;
|
||||
var cue = createElement('span', {
|
||||
class: _this7.player.config.classNames.cues
|
||||
});
|
||||
cue.style.left = "".concat(cuePercentage.toString(), "%");
|
||||
seekElement.appendChild(cue);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
* This is where all the event handling takes place. Retrieve the ad from the event. Some
|
||||
* events (e.g. ALL_ADS_COMPLETED) don't have the ad object associated
|
||||
@ -9368,7 +9354,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}, {
|
||||
key: "onAdEvent",
|
||||
value: function onAdEvent(event) {
|
||||
var _this7 = this;
|
||||
var _this8 = this;
|
||||
|
||||
var container = this.player.elements.container; // Retrieve the ad from the event. Some events (e.g. ALL_ADS_COMPLETED)
|
||||
// don't have ad object associated
|
||||
@ -9378,7 +9364,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
var dispatchEvent = function dispatchEvent(type) {
|
||||
var event = "ads".concat(type.replace(/_/g, '').toLowerCase());
|
||||
triggerEvent.call(_this7.player, _this7.player.media, event);
|
||||
triggerEvent.call(_this8.player, _this8.player.media, event);
|
||||
};
|
||||
|
||||
switch (event.type) {
|
||||
@ -9487,37 +9473,39 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}, {
|
||||
key: "listeners",
|
||||
value: function listeners() {
|
||||
var _this8 = this;
|
||||
var _this9 = this;
|
||||
|
||||
var container = this.player.elements.container;
|
||||
var time; // Add listeners to the required events
|
||||
|
||||
var time;
|
||||
this.player.on('canplay', function () {
|
||||
_this9.addCuePoints();
|
||||
});
|
||||
this.player.on('ended', function () {
|
||||
_this8.loader.contentComplete();
|
||||
_this9.loader.contentComplete();
|
||||
});
|
||||
this.player.on('timeupdate', function () {
|
||||
time = _this8.player.currentTime;
|
||||
time = _this9.player.currentTime;
|
||||
});
|
||||
this.player.on('seeked', function () {
|
||||
var seekedTime = _this8.player.currentTime;
|
||||
var seekedTime = _this9.player.currentTime;
|
||||
|
||||
if (is$1.empty(_this8.cuePoints)) {
|
||||
if (is$1.empty(_this9.cuePoints)) {
|
||||
return;
|
||||
}
|
||||
|
||||
_this8.cuePoints.forEach(function (cuePoint, index) {
|
||||
_this9.cuePoints.forEach(function (cuePoint, index) {
|
||||
if (time < cuePoint && cuePoint < seekedTime) {
|
||||
_this8.manager.discardAdBreak();
|
||||
_this9.manager.discardAdBreak();
|
||||
|
||||
_this8.cuePoints.splice(index, 1);
|
||||
_this9.cuePoints.splice(index, 1);
|
||||
}
|
||||
});
|
||||
}); // Listen to the resizing of the window. And resize ad accordingly
|
||||
// TODO: eventually implement ResizeObserver
|
||||
|
||||
window.addEventListener('resize', function () {
|
||||
if (_this8.manager) {
|
||||
_this8.manager.resize(container.offsetWidth, container.offsetHeight, google.ima.ViewMode.NORMAL);
|
||||
if (_this9.manager) {
|
||||
_this9.manager.resize(container.offsetWidth, container.offsetHeight, google.ima.ViewMode.NORMAL);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -9528,7 +9516,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}, {
|
||||
key: "play",
|
||||
value: function play() {
|
||||
var _this9 = this;
|
||||
var _this10 = this;
|
||||
|
||||
var container = this.player.elements.container;
|
||||
|
||||
@ -9539,23 +9527,23 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
this.managerPromise.then(function () {
|
||||
// Initialize the container. Must be done via a user action on mobile devices
|
||||
_this9.elements.displayContainer.initialize();
|
||||
_this10.elements.displayContainer.initialize();
|
||||
|
||||
try {
|
||||
if (!_this9.initialized) {
|
||||
if (!_this10.initialized) {
|
||||
// Initialize the ads manager. Ad rules playlist will start at this time
|
||||
_this9.manager.init(container.offsetWidth, container.offsetHeight, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will
|
||||
_this10.manager.init(container.offsetWidth, container.offsetHeight, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will
|
||||
// start at this time; the call will be ignored for ad rules
|
||||
|
||||
|
||||
_this9.manager.start();
|
||||
_this10.manager.start();
|
||||
}
|
||||
|
||||
_this9.initialized = true;
|
||||
_this10.initialized = true;
|
||||
} catch (adError) {
|
||||
// An error may be thrown if there was a problem with the
|
||||
// VAST response
|
||||
_this9.onAdError(adError);
|
||||
_this10.onAdError(adError);
|
||||
}
|
||||
}).catch(function () {});
|
||||
}
|
||||
@ -9614,23 +9602,23 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}, {
|
||||
key: "loadAds",
|
||||
value: function loadAds() {
|
||||
var _this10 = this;
|
||||
var _this11 = this;
|
||||
|
||||
// Tell our adsManager to go bye bye
|
||||
this.managerPromise.then(function () {
|
||||
// Destroy our adsManager
|
||||
if (_this10.manager) {
|
||||
_this10.manager.destroy();
|
||||
if (_this11.manager) {
|
||||
_this11.manager.destroy();
|
||||
} // Re-set our adsManager promises
|
||||
|
||||
|
||||
_this10.managerPromise = new Promise(function (resolve) {
|
||||
_this10.on('loaded', resolve);
|
||||
_this11.managerPromise = new Promise(function (resolve) {
|
||||
_this11.on('loaded', resolve);
|
||||
|
||||
_this10.player.debug.log(_this10.manager);
|
||||
_this11.player.debug.log(_this11.manager);
|
||||
}); // Now request some new advertisements
|
||||
|
||||
_this10.requestAds();
|
||||
_this11.requestAds();
|
||||
}).catch(function () {});
|
||||
}
|
||||
/**
|
||||
@ -9641,7 +9629,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}, {
|
||||
key: "trigger",
|
||||
value: function trigger(event) {
|
||||
var _this11 = this;
|
||||
var _this12 = this;
|
||||
|
||||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
args[_key - 1] = arguments[_key];
|
||||
@ -9652,7 +9640,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
if (is$1.array(handlers)) {
|
||||
handlers.forEach(function (handler) {
|
||||
if (is$1.function(handler)) {
|
||||
handler.apply(_this11, args);
|
||||
handler.apply(_this12, args);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -9686,13 +9674,13 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}, {
|
||||
key: "startSafetyTimer",
|
||||
value: function startSafetyTimer(time, from) {
|
||||
var _this12 = this;
|
||||
var _this13 = this;
|
||||
|
||||
this.player.debug.log("Safety timer invoked from: ".concat(from));
|
||||
this.safetyTimer = setTimeout(function () {
|
||||
_this12.cancel();
|
||||
_this13.cancel();
|
||||
|
||||
_this12.clearSafetyTimer('startSafetyTimer()');
|
||||
_this13.clearSafetyTimer('startSafetyTimer()');
|
||||
}, time);
|
||||
}
|
||||
/**
|
||||
|
Reference in New Issue
Block a user