New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mediaelement-plugins

Package Overview
Dependencies
Maintainers
2
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mediaelement-plugins - npm Package Compare versions

Comparing version 2.2.1 to 2.2.2

dist/quality/quality-i18n.js

9

changelog.md
### Version History
*2.2.2 (2017/05/25)*
* Added `markerWidth` property for `Markers` plugin (https://github.com/mediaelement/mediaelement-plugins/pull/49) @leocaseiro
* Fixed typos in README file (https://github.com/mediaelement/mediaelement-plugins/pull/50) @leocaseiro
* Integrated `Quality` plugin for different quality media files @rafa8626
* Disabled correctly controls on pre-roll (https://github.com/mediaelement/mediaelement-plugins/pull/52) @jonathanex and @rafa8626
* Fixed issue with `Stop` not allowing the current time to be rendered once media starts again @rafa8626
* Fixed issue on `Ads` plugin with different types of media @rafa8626
*2.2.1 (2017/05/16)*

@@ -4,0 +13,0 @@

29

dist/ads/ads.js

@@ -139,3 +139,3 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){

if (t.options.indexPreroll === 0) {
t.adsCurrentMediaUrl = t.media.src;
t.adsCurrentMediaUrl = t.media.originalNode.getAttribute('src');
t.adsCurrentMediaDuration = t.media.duration;

@@ -147,2 +147,15 @@ }

// turn off controls until the preroll is done
var controlElements = t.container.querySelector("." + t.options.classPrefix + "controls").childNodes;
for (var i = 0, total = controlElements.length; i < total; i++) {
var target = controlElements[i],
button = target.querySelector('button');
if (button && !mejs.Utils.hasClass(target, t.options.classPrefix + "playpause-button")) {
button.disabled = true;
target.style.pointerEvents = 'none';
} else if (target.querySelector("." + t.options.classPrefix + "time-slider")) {
target.querySelector("." + t.options.classPrefix + "time-slider").style.pointerEvents = 'none';
}
}
// if autoplay was on, or if the user pressed play

@@ -184,14 +197,2 @@ // while the ad data was still loading, then start the ad right away

// turn off controls until the preroll is done
var controlElements = t.container.querySelector("." + t.options.classPrefix + "controls").childNodes;
for (var i = 0, total = controlElements.length; i < total; i++) {
var target = controlElements[i],
button = target.querySelector('button');
if (button && !mejs.Utils.hasClass(target, t.options.classPrefix + "playpause-button")) {
button.disabled = true;
} else if (target.querySelector("." + t.options.classPrefix + "time-slider")) {
target.querySelector("." + t.options.classPrefix + "time-slider").style.pointerEvents = 'none';
}
}
// enable clicking through

@@ -272,2 +273,3 @@ t.adsLayer.style.display = 'block';

console.log(t.adsCurrentMediaUrl);
t.media.setSrc(t.adsCurrentMediaUrl);

@@ -285,2 +287,3 @@ setTimeout(function () {

if (button && !mejs.Utils.hasClass(target, t.options.classPrefix + "playpause-button")) {
target.style.pointerEvents = 'auto';
button.disabled = false;

@@ -287,0 +290,0 @@ } else if (target.querySelector("." + t.options.classPrefix + "time-slider")) {

@@ -1,1 +0,1 @@

!function e(a,r,s){function t(o,d){if(!r[o]){if(!a[o]){var n="function"==typeof require&&require;if(!d&&n)return n(o,!0);if(i)return i(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var p=r[o]={exports:{}};a[o][0].call(p.exports,function(e){var r=a[o][1][e];return t(r||e)},p,p.exports,e,a,r,s)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o<s.length;o++)t(s[o]);return t}({1:[function(e,a,r){"use strict";mejs.i18n.en["mejs.ad-skip"]="Skip ad",mejs.i18n.en["mejs.ad-skip-info"]=["Skip in 1 second","Skip in %1 seconds"],Object.assign(mejs.MepDefaults,{adsPrerollMediaUrl:[],adsPrerollAdUrl:[],adsPrerollAdEnableSkip:!1,adsPrerollAdSkipSeconds:-1,indexPreroll:0}),Object.assign(MediaElementPlayer.prototype,{adsLoaded:!1,adsDataIsLoading:!1,adsCurrentMediaUrl:"",adsCurrentMediaDuration:0,adsPlayerHasStarted:!1,buildads:function(e,a,r){var s=this;s.adsLoaded||(s.adsLoaded=!0,e.adsLayer=document.createElement("div"),e.adsLayer.className=s.options.classPrefix+"layer "+s.options.classPrefix+"overlay "+s.options.classPrefix+"ads",e.adsLayer.innerHTML='<a href="#" target="_blank"></a><div class="'+s.options.classPrefix+'ads-skip-block"><span class="'+s.options.classPrefix+'ads-skip-message"></span><span class="'+s.options.classPrefix+'ads-skip-button">'+mejs.i18n.t("mejs.ad-skip")+"</span></div>",e.adsLayer.style.display="none",r.insertBefore(e.adsLayer,r.querySelector("."+s.options.classPrefix+"overlay-play")),e.adsLayer.querySelector("a").addEventListener("click",s.adsAdClick.bind(s)),e.adsSkipBlock=e.adsLayer.querySelector("."+s.options.classPrefix+"ads-skip-block"),e.adsSkipBlock.style.display="none",e.adsSkipMessage=e.adsLayer.querySelector("."+s.options.classPrefix+"ads-skip-message"),e.adsSkipMessage.style.display="none",e.adsSkipButton=e.adsLayer.querySelector("."+s.options.classPrefix+"ads-skip-button"),e.adsSkipButton.addEventListener("click",s.adsSkipClick.bind(s)),s.adsMediaTryingToStartProxy=s.adsMediaTryingToStart.bind(s),s.adsPrerollStartedProxy=s.adsPrerollStarted.bind(s),s.adsPrerollMetaProxy=s.adsPrerollMeta.bind(s),s.adsPrerollUpdateProxy=s.adsPrerollUpdate.bind(s),s.adsPrerollVolumeProxy=s.adsPrerollVolume.bind(s),s.adsPrerollEndedProxy=s.adsPrerollEnded.bind(s),s.media.addEventListener("play",s.adsMediaTryingToStartProxy),s.media.addEventListener("playing",s.adsMediaTryingToStartProxy),s.media.addEventListener("canplay",s.adsMediaTryingToStartProxy),s.media.addEventListener("loadedmetadata",s.adsMediaTryingToStartProxy),s.options.indexPreroll<s.options.adsPrerollMediaUrl.length&&s.adsStartPreroll())},adsMediaTryingToStart:function(){var e=this;e.adsDataIsLoading&&!e.media.paused&&e.media.pause(),e.adsPlayerHasStarted=!0},adsStartPreroll:function(){var e=this;e.media.addEventListener("loadedmetadata",e.adsPrerollMetaProxy),e.media.addEventListener("playing",e.adsPrerollStartedProxy),e.media.addEventListener("ended",e.adsPrerollEndedProxy),e.media.addEventListener("timeupdate",e.adsPrerollUpdateProxy),e.media.addEventListener("volumechange",e.adsPrerollVolumeProxy),0===e.options.indexPreroll&&(e.adsCurrentMediaUrl=e.media.src,e.adsCurrentMediaDuration=e.media.duration),e.media.setSrc(e.options.adsPrerollMediaUrl[e.options.indexPreroll]),e.media.load(),e.adsPlayerHasStarted&&setTimeout(function(){e.media.play()},100)},adsPrerollMeta:function(){var e=this,a=0;e.options.duration>0?a=e.options.duration:isNaN(e.adsCurrentMediaDuration)||(a=e.adsCurrentMediaDuration),e.controls.querySelector("."+e.options.classPrefix+"duration")&&setTimeout(function(){e.controls.querySelector("."+e.options.classPrefix+"duration").innerHTML=mejs.Utils.secondsToTimeCode(a,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength)},250);var r=mejs.Utils.createEvent("mejsprerollinitialized",e.container);e.container.dispatchEvent(r)},adsPrerollStarted:function(){var e=this;e.media.removeEventListener("playing",e.adsPrerollStartedProxy);for(var a=e.container.querySelector("."+e.options.classPrefix+"controls").childNodes,r=0,s=a.length;r<s;r++){var t=a[r],i=t.querySelector("button");i&&!mejs.Utils.hasClass(t,e.options.classPrefix+"playpause-button")?i.disabled=!0:t.querySelector("."+e.options.classPrefix+"time-slider")&&(t.querySelector("."+e.options.classPrefix+"time-slider").style.pointerEvents="none")}e.adsLayer.style.display="block",e.options.adsPrerollAdUrl[e.options.indexPreroll]?e.adsLayer.querySelector("a").href=e.options.adsPrerollAdUrl[e.options.indexPreroll]:(e.adsLayer.querySelector("a").href="#",e.adsLayer.querySelector("a").setAttribute("target","")),e.options.adsPrerollAdEnableSkip?(e.adsSkipBlock.style.display="block",e.options.adsPrerollAdSkipSeconds>0?(e.adsSkipMessage.innerHTML=mejs.i18n.t("mejs.ad-skip-info",e.options.adsPrerollAdSkipSeconds),e.adsSkipMessage.style.display="block",e.adsSkipButton.style.display="none"):(e.adsSkipMessage.style.display="none",e.adsSkipButton.style.display="block")):e.adsSkipBlock.style.display="none";var o=mejs.Utils.createEvent("mejsprerollstarted",e.container);e.container.dispatchEvent(o)},adsPrerollUpdate:function(){var e=this;e.options.adsPrerollAdEnableSkip&&e.options.adsPrerollAdSkipSeconds>0&&(e.media.currentTime>e.options.adsPrerollAdSkipSeconds?(e.adsSkipButton.style.display="block",e.adsSkipMessage.style.display="none"):e.adsSkipMessage.innerHTML=mejs.i18n.t("mejs.ad-skip-info",Math.round(e.options.adsPrerollAdSkipSeconds-e.media.currentTime)));var a=mejs.Utils.createEvent("mejsprerolltimeupdate",e.container);a.detail.duration=e.media.duration,a.detail.currentTime=e.media.currentTime,e.container.dispatchEvent(a)},adsPrerollVolume:function(){var e=this,a=mejs.Utils.createEvent("mejsprerollvolumechanged",e.container);e.container.dispatchEvent(a)},adsPrerollEnded:function(){var e=this;e.media.removeEventListener("ended",e.adsPrerollEndedProxy),setTimeout(function(){e.options.indexPreroll++,e.options.indexPreroll<e.options.adsPrerollMediaUrl.length?e.adsStartPreroll():e.adRestoreMainMedia();var a=mejs.Utils.createEvent("mejsprerollended",e.container);e.container.dispatchEvent(a)},0)},adRestoreMainMedia:function(){var e=this;e.media.setSrc(e.adsCurrentMediaUrl),setTimeout(function(){e.media.load(),e.media.play()},10);for(var a=e.container.querySelector("."+e.options.classPrefix+"controls").childNodes,r=0,s=a.length;r<s;r++){var t=a[r],i=t.querySelector("button");i&&!mejs.Utils.hasClass(t,e.options.classPrefix+"playpause-button")?i.disabled=!1:t.querySelector("."+e.options.classPrefix+"time-slider")&&(t.querySelector("."+e.options.classPrefix+"time-slider").style.pointerEvents="auto")}e.adsSkipBlock&&e.adsSkipBlock.remove(),e.adsLayer.style.display="none",e.media.removeEventListener("ended",e.adsPrerollEndedProxy),e.media.removeEventListener("loadedmetadata",e.adsPrerollMetaProxy),e.media.removeEventListener("timeupdate",e.adsPrerollUpdateProxy);var o=mejs.Utils.createEvent("mejsprerollmainstarted",e.container);e.container.dispatchEvent(o)},adsAdClick:function(){var e=this;e.media.paused?e.media.play():e.media.pause();var a=mejs.Utils.createEvent("mejsprerolladsclicked",e.container);e.container.dispatchEvent(a)},adsSkipClick:function(e){var a=this;a.media.removeEventListener("ended",a.adsPrerollEndedProxy);var r=mejs.Utils.createEvent("mejsprerollskipclicked",a.container);a.container.dispatchEvent(r),r=mejs.Utils.createEvent("mejsprerollended",a.container),a.container.dispatchEvent(r),a.options.indexPreroll++,a.options.indexPreroll<a.options.adsPrerollMediaUrl.length?a.adsStartPreroll():a.adRestoreMainMedia(),e.preventDefault(),e.stopPropagation()},prerollAdsFinished:function(){var e=this;return e.options.indexPreroll===e.options.adsPrerollMediaUrl.length},adsLoadUrl:function(e){var a=new Image,r=Math.round(1e5*Math.random());a.src=e+(~e.indexOf("?")?"&":"?")+"random"+r+"="+r,a.loaded=function(){a=null}}})},{}]},{},[1]);
!function e(a,r,s){function t(o,n){if(!r[o]){if(!a[o]){var d="function"==typeof require&&require;if(!n&&d)return d(o,!0);if(i)return i(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var p=r[o]={exports:{}};a[o][0].call(p.exports,function(e){var r=a[o][1][e];return t(r||e)},p,p.exports,e,a,r,s)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o<s.length;o++)t(s[o]);return t}({1:[function(e,a,r){"use strict";mejs.i18n.en["mejs.ad-skip"]="Skip ad",mejs.i18n.en["mejs.ad-skip-info"]=["Skip in 1 second","Skip in %1 seconds"],Object.assign(mejs.MepDefaults,{adsPrerollMediaUrl:[],adsPrerollAdUrl:[],adsPrerollAdEnableSkip:!1,adsPrerollAdSkipSeconds:-1,indexPreroll:0}),Object.assign(MediaElementPlayer.prototype,{adsLoaded:!1,adsDataIsLoading:!1,adsCurrentMediaUrl:"",adsCurrentMediaDuration:0,adsPlayerHasStarted:!1,buildads:function(e,a,r){var s=this;s.adsLoaded||(s.adsLoaded=!0,e.adsLayer=document.createElement("div"),e.adsLayer.className=s.options.classPrefix+"layer "+s.options.classPrefix+"overlay "+s.options.classPrefix+"ads",e.adsLayer.innerHTML='<a href="#" target="_blank"></a><div class="'+s.options.classPrefix+'ads-skip-block"><span class="'+s.options.classPrefix+'ads-skip-message"></span><span class="'+s.options.classPrefix+'ads-skip-button">'+mejs.i18n.t("mejs.ad-skip")+"</span></div>",e.adsLayer.style.display="none",r.insertBefore(e.adsLayer,r.querySelector("."+s.options.classPrefix+"overlay-play")),e.adsLayer.querySelector("a").addEventListener("click",s.adsAdClick.bind(s)),e.adsSkipBlock=e.adsLayer.querySelector("."+s.options.classPrefix+"ads-skip-block"),e.adsSkipBlock.style.display="none",e.adsSkipMessage=e.adsLayer.querySelector("."+s.options.classPrefix+"ads-skip-message"),e.adsSkipMessage.style.display="none",e.adsSkipButton=e.adsLayer.querySelector("."+s.options.classPrefix+"ads-skip-button"),e.adsSkipButton.addEventListener("click",s.adsSkipClick.bind(s)),s.adsMediaTryingToStartProxy=s.adsMediaTryingToStart.bind(s),s.adsPrerollStartedProxy=s.adsPrerollStarted.bind(s),s.adsPrerollMetaProxy=s.adsPrerollMeta.bind(s),s.adsPrerollUpdateProxy=s.adsPrerollUpdate.bind(s),s.adsPrerollVolumeProxy=s.adsPrerollVolume.bind(s),s.adsPrerollEndedProxy=s.adsPrerollEnded.bind(s),s.media.addEventListener("play",s.adsMediaTryingToStartProxy),s.media.addEventListener("playing",s.adsMediaTryingToStartProxy),s.media.addEventListener("canplay",s.adsMediaTryingToStartProxy),s.media.addEventListener("loadedmetadata",s.adsMediaTryingToStartProxy),s.options.indexPreroll<s.options.adsPrerollMediaUrl.length&&s.adsStartPreroll())},adsMediaTryingToStart:function(){var e=this;e.adsDataIsLoading&&!e.media.paused&&e.media.pause(),e.adsPlayerHasStarted=!0},adsStartPreroll:function(){var e=this;e.media.addEventListener("loadedmetadata",e.adsPrerollMetaProxy),e.media.addEventListener("playing",e.adsPrerollStartedProxy),e.media.addEventListener("ended",e.adsPrerollEndedProxy),e.media.addEventListener("timeupdate",e.adsPrerollUpdateProxy),e.media.addEventListener("volumechange",e.adsPrerollVolumeProxy),0===e.options.indexPreroll&&(e.adsCurrentMediaUrl=e.media.src,e.adsCurrentMediaDuration=e.media.duration),e.media.setSrc(e.options.adsPrerollMediaUrl[e.options.indexPreroll]),e.media.load();for(var a=e.container.querySelector("."+e.options.classPrefix+"controls").childNodes,r=0,s=a.length;r<s;r++){var t=a[r],i=t.querySelector("button");i&&!mejs.Utils.hasClass(t,e.options.classPrefix+"playpause-button")?(i.disabled=!0,t.style.pointerEvents="none"):t.querySelector("."+e.options.classPrefix+"time-slider")&&(t.querySelector("."+e.options.classPrefix+"time-slider").style.pointerEvents="none")}e.adsPlayerHasStarted&&setTimeout(function(){e.media.play()},100)},adsPrerollMeta:function(){var e=this,a=0;e.options.duration>0?a=e.options.duration:isNaN(e.adsCurrentMediaDuration)||(a=e.adsCurrentMediaDuration),e.controls.querySelector("."+e.options.classPrefix+"duration")&&setTimeout(function(){e.controls.querySelector("."+e.options.classPrefix+"duration").innerHTML=mejs.Utils.secondsToTimeCode(a,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength)},250);var r=mejs.Utils.createEvent("mejsprerollinitialized",e.container);e.container.dispatchEvent(r)},adsPrerollStarted:function(){var e=this;e.media.removeEventListener("playing",e.adsPrerollStartedProxy),e.adsLayer.style.display="block",e.options.adsPrerollAdUrl[e.options.indexPreroll]?e.adsLayer.querySelector("a").href=e.options.adsPrerollAdUrl[e.options.indexPreroll]:(e.adsLayer.querySelector("a").href="#",e.adsLayer.querySelector("a").setAttribute("target","")),e.options.adsPrerollAdEnableSkip?(e.adsSkipBlock.style.display="block",e.options.adsPrerollAdSkipSeconds>0?(e.adsSkipMessage.innerHTML=mejs.i18n.t("mejs.ad-skip-info",e.options.adsPrerollAdSkipSeconds),e.adsSkipMessage.style.display="block",e.adsSkipButton.style.display="none"):(e.adsSkipMessage.style.display="none",e.adsSkipButton.style.display="block")):e.adsSkipBlock.style.display="none";var a=mejs.Utils.createEvent("mejsprerollstarted",e.container);e.container.dispatchEvent(a)},adsPrerollUpdate:function(){var e=this;e.options.adsPrerollAdEnableSkip&&e.options.adsPrerollAdSkipSeconds>0&&(e.media.currentTime>e.options.adsPrerollAdSkipSeconds?(e.adsSkipButton.style.display="block",e.adsSkipMessage.style.display="none"):e.adsSkipMessage.innerHTML=mejs.i18n.t("mejs.ad-skip-info",Math.round(e.options.adsPrerollAdSkipSeconds-e.media.currentTime)));var a=mejs.Utils.createEvent("mejsprerolltimeupdate",e.container);a.detail.duration=e.media.duration,a.detail.currentTime=e.media.currentTime,e.container.dispatchEvent(a)},adsPrerollVolume:function(){var e=this,a=mejs.Utils.createEvent("mejsprerollvolumechanged",e.container);e.container.dispatchEvent(a)},adsPrerollEnded:function(){var e=this;e.media.removeEventListener("ended",e.adsPrerollEndedProxy),setTimeout(function(){e.options.indexPreroll++,e.options.indexPreroll<e.options.adsPrerollMediaUrl.length?e.adsStartPreroll():e.adRestoreMainMedia();var a=mejs.Utils.createEvent("mejsprerollended",e.container);e.container.dispatchEvent(a)},0)},adRestoreMainMedia:function(){var e=this;e.media.setSrc(e.adsCurrentMediaUrl),setTimeout(function(){e.media.load(),e.media.play()},10);for(var a=e.container.querySelector("."+e.options.classPrefix+"controls").childNodes,r=0,s=a.length;r<s;r++){var t=a[r],i=t.querySelector("button");i&&!mejs.Utils.hasClass(t,e.options.classPrefix+"playpause-button")?(t.style.pointerEvents="auto",i.disabled=!1):t.querySelector("."+e.options.classPrefix+"time-slider")&&(t.querySelector("."+e.options.classPrefix+"time-slider").style.pointerEvents="auto")}e.adsSkipBlock&&e.adsSkipBlock.remove(),e.adsLayer.style.display="none",e.media.removeEventListener("ended",e.adsPrerollEndedProxy),e.media.removeEventListener("loadedmetadata",e.adsPrerollMetaProxy),e.media.removeEventListener("timeupdate",e.adsPrerollUpdateProxy);var o=mejs.Utils.createEvent("mejsprerollmainstarted",e.container);e.container.dispatchEvent(o)},adsAdClick:function(){var e=this;e.media.paused?e.media.play():e.media.pause();var a=mejs.Utils.createEvent("mejsprerolladsclicked",e.container);e.container.dispatchEvent(a)},adsSkipClick:function(e){var a=this;a.media.removeEventListener("ended",a.adsPrerollEndedProxy);var r=mejs.Utils.createEvent("mejsprerollskipclicked",a.container);a.container.dispatchEvent(r),r=mejs.Utils.createEvent("mejsprerollended",a.container),a.container.dispatchEvent(r),a.options.indexPreroll++,a.options.indexPreroll<a.options.adsPrerollMediaUrl.length?a.adsStartPreroll():a.adRestoreMainMedia(),e.preventDefault(),e.stopPropagation()},prerollAdsFinished:function(){var e=this;return e.options.indexPreroll===e.options.adsPrerollMediaUrl.length},adsLoadUrl:function(e){var a=new Image,r=Math.round(1e5*Math.random());a.src=e+(~e.indexOf("?")?"&":"?")+"random"+r+"="+r,a.loaded=function(){a=null}}})},{}]},{},[1]);

@@ -588,5 +588,3 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){

var script = document.createElement('script');
script.src = 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1';
document.body.appendChild(script);
mejs.Utils.loadScript('https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');
loadedCastAPI = true;

@@ -593,0 +591,0 @@ }

@@ -1,1 +0,1 @@

!function e(t,r,a){function n(s,i){if(!r[s]){if(!t[s]){var c="function"==typeof require&&require;if(!i&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=r[s]={exports:{}};t[s][0].call(u.exports,function(e){var r=t[s][1][e];return n(r||e)},u,u.exports,e,t,r,a)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s<a.length;s++)n(a[s]);return n}({1:[function(e,t,r){"use strict";var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n="function"==typeof Symbol&&"symbol"===a(Symbol.iterator)?function(e){return void 0===e?"undefined":a(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":a(e)},o={name:"chromecast",options:{prefix:"chromecast"},canPlayType:function(){return!0},create:function(e,t){var r={},a=function(e){var t=e.description?" : "+e.description:".",r=void 0;switch(e.code){case chrome.cast.ErrorCode.API_NOT_INITIALIZED:r="The API is not initialized"+t;break;case chrome.cast.ErrorCode.CANCEL:r="The operation was canceled by the user"+t;break;case chrome.cast.ErrorCode.CHANNEL_ERROR:r="A channel to the receiver is not available"+t;break;case chrome.cast.ErrorCode.EXTENSION_MISSING:r="The Cast extension is not available"+t;break;case chrome.cast.ErrorCode.INVALID_PARAMETER:r="The parameters to the operation were not valid"+t;break;case chrome.cast.ErrorCode.RECEIVER_UNAVAILABLE:r="No receiver was compatible with the session request"+t;break;case chrome.cast.ErrorCode.SESSION_ERROR:r="A session could not be created, or a session was invalid"+t;break;case chrome.cast.ErrorCode.TIMEOUT:r="The operation timed out"+t;break;default:r="Unknown error: "+e.code}console.error(r)},n=e.castPlayer,o=e.castPlayerController,s=1;r.options=t,r.id=e.id+"_"+t.prefix,r.mediaElement=e;for(var i=mejs.html5media.properties,c=0,l=i.length;c<l;c++)!function(t){var a=""+t.substring(0,1).toUpperCase()+t.substring(1);r["get"+a]=function(){if(null!==n){switch(t){case"currentTime":return n.currentTime;case"duration":return n.duration;case"volume":return s=n.volumeLevel;case"paused":return n.isPaused;case"ended":return n.ended;case"muted":return n.isMuted;case"src":return e.originalNode.getAttribute("src");case"readyState":return 4}return null}return null},r["set"+a]=function(a){if(null!==n)switch(t){case"src":var i="string"==typeof a?a:a[0].src;e.originalNode.setAttribute("src",i);break;case"currentTime":n.currentTime=a,o.seek(),setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",r);e.dispatchEvent(t)},50);break;case"muted":!0!==a||n.isMuted?!1===a&&n.isMuted&&o.muteOrUnmute():o.muteOrUnmute(),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",r);e.dispatchEvent(t)},50);break;case"volume":s=a,n.volumeLevel=a,o.setVolumeLevel(),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",r);e.dispatchEvent(t)},50);break;case"readyState":var c=mejs.Utils.createEvent("canplay",r);e.dispatchEvent(c);break;case"playbackRate":e.originalNode.playbackRate=a;break;default:console.log("Chromecast "+r.id,t,"UNSUPPORTED property")}}}(i[c]);for(var u=mejs.html5media.methods,d=0,m=u.length;d<m;d++)!function(s){r[s]=function(){if(null!==n)switch(s){case"play":n.isPaused&&(o.playOrPause(),setTimeout(function(){var t=mejs.Utils.createEvent("play",r);e.dispatchEvent(t)},50));break;case"pause":n.isPaused||(o.playOrPause(),setTimeout(function(){var t=mejs.Utils.createEvent("pause",r);e.dispatchEvent(t)},50));break;case"load":var i=e.originalNode.getAttribute("src"),c=mejs.Utils.getTypeFromFile(i),l=new chrome.cast.media.MediaInfo(i,c),u=cast.framework.CastContext.getInstance().getCurrentSession();if(!0===t.castEnableTracks){for(var d=[],m=e.originalNode.childNodes,p=1,f=0,v=m.length;f<v;f++){var y=m[f];if(y.nodeType!==Node.TEXT_NODE){if("track"===y.tagName.toLowerCase()&&("subtitles"===y.getAttribute("kind")||"captions"===y.getAttribute("kind"))){var E=new chrome.cast.media.Track(p,chrome.cast.media.TrackType.TEXT);E.trackContentId=mejs.Utils.absolutizeUrl(y.getAttribute("src")),E.trackContentType="text/vtt",E.subtype=chrome.cast.media.TextTrackType.SUBTITLES,E.name=y.getAttribute("label"),E.language=y.getAttribute("srclang"),E.customData=null,d.push(E),p++}}}l.textTrackStyle=new chrome.cast.media.TextTrackStyle,l.tracks=d}l.metadata=new chrome.cast.media.GenericMediaMetadata,l.streamType=chrome.cast.media.StreamType.BUFFERED,l.customData=null,l.duration=null,e.originalNode.getAttribute("data-cast-title")&&(l.metadata.title=e.originalNode.getAttribute("data-cast-title")),e.originalNode.getAttribute("data-cast-description")&&(l.metadata.subtitle=e.originalNode.getAttribute("data-cast-description")),e.originalNode.getAttribute("poster")&&(l.metadata.images=[{url:mejs.Utils.absolutizeUrl(e.originalNode.getAttribute("poster"))}]);var h=new chrome.cast.media.LoadRequest(l);u.loadMedia(h).then(function(){var t=e.originalNode.getCurrentTime();r.setCurrentTime(t),o.playOrPause(),setTimeout(function(){var t=mejs.Utils.createEvent("play",r);e.dispatchEvent(t)},50)},function(e){a(e)})}}}(u[d]);return window["__ready__"+r.id]=function(){o.addEventListener(cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED,function(){n.isPaused?r.pause():r.play()}),o.addEventListener(cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED,function(){return r.setMuted(n.isMuted)}),o.addEventListener(cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED,function(){setTimeout(function(){var t=mejs.Utils.createEvent("loadedmetadata",r);e.dispatchEvent(t)},50)}),o.addEventListener(cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED,function(){var t=mejs.Utils.createEvent("volumechange",r);e.dispatchEvent(t)}),o.addEventListener(cast.framework.RemotePlayerEventType.DURATION_CHANGED,function(){setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",r);e.dispatchEvent(t)},50)}),o.addEventListener(cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED,function(){setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",r);e.dispatchEvent(t)},50),e.castPlayer.currentTime>=e.castPlayer.duration&&setTimeout(function(){var t=mejs.Utils.createEvent("ended",r);e.dispatchEvent(t)},50)}),o.addEventListener(cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED,function(){return r.setMuted(n.isMuted)}),r.load()},e.autoplay=!1,window["__ready__"+r.id](),r.setSize=function(){},r.hide=function(){},r.show=function(){},r.destroy=function(){null!==n&&o.stop(),e.style.display=""},r}};mejs.i18n.en["mejs.chromecast-legend"]="Casting to:",Object.assign(mejs.MepDefaults,{castTitle:null,castAppID:null,castPolicy:"origin",castEnableTracks:!1}),Object.assign(MediaElementPlayer.prototype,{buildchromecast:function(e,t,r,a){var s=this,i=document.createElement("div"),c=mejs.Utils.isString(s.options.castTitle)?s.options.castTitle:"Chromecast";if(e.isVideo){e.chromecastLayer=document.createElement("div"),e.chromecastLayer.className=s.options.classPrefix+"chromecast-layer "+s.options.classPrefix+"layer",e.chromecastLayer.innerHTML='<div class="'+s.options.classPrefix+'chromecast-info"></div>',e.chromecastLayer.style.display="none",r.insertBefore(e.chromecastLayer,r.firstChild),i.className=s.options.classPrefix+"button "+s.options.classPrefix+"chromecast-button",i.innerHTML='<button type="button" is="google-cast-button" aria-controls="'+s.id+'" title="'+c+'" aria-label="'+c+'" tabindex="0"></button>',s.addControlElement(i,"chromecast"),s.castButton=i,e.chromecastLayer.innerHTML='<div class="'+s.options.classPrefix+'chromecast-container"><span class="'+s.options.classPrefix+'chromecast-icon"></span><span class="'+s.options.classPrefix+'chromecast-info">'+mejs.i18n.t("mejs.chromecast-legend")+' <span class="device"></span></span></div>',a.originalNode.getAttribute("poster")&&(e.chromecastLayer.innerHTML+='<img src="'+a.originalNode.getAttribute("poster")+'" width="100%" height="100%">');var l=a.originalNode.getAttribute("src"),u=[{src:l,type:mejs.Utils.getTypeFromFile(l)}],d=!1;if(!d){window.__onGCastApiAvailable=function(t){if(t){mejs.Renderers.add(o),i.style.width="20px",setTimeout(function(){s.setPlayerSize(s.width,s.height),s.setControlsSize()},0);var c=void 0;switch(s.options.castPolicy){case"tab":c="TAB_AND_ORIGIN_SCOPED";break;case"page":c="PAGE_SCOPED";break;default:c="ORIGIN_SCOPED"}cast.framework.CastContext.getInstance().setOptions({receiverApplicationId:s.options.castAppID||chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy[c]}),a.castPlayer=new cast.framework.RemotePlayer,a.castPlayerController=new cast.framework.RemotePlayerController(a.castPlayer);var l=0;a.castPlayerController.addEventListener(cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED,function(){if(cast&&cast.framework&&a.castPlayer.isConnected){var t=function(){var t=mejs.Renderers.select(u,["chromecast"]);a.changeRenderer(t.rendererName,u);var n=cast.framework.CastContext.getInstance().getCurrentSession();return r.querySelector("."+s.options.classPrefix+"chromecast-info").querySelector(".device").innerText=n.getCastDevice().friendlyName,e.chromecastLayer.style.display="block",!0===s.options.castEnableTracks&&function(){var t=void 0!==e.captionsButton?e.captionsButton.querySelectorAll("input[type=radio]"):null;if(null!==t)for(var r=0,a=t.length;r<a;r++)!function(e,r){t[e].addEventListener("click",function(){var r=parseInt(t[e].id.replace(/^.*?track_(\d+)_.*$/,"$1")),a="none"===t[e].value?[]:[r],o=new chrome.cast.media.EditTracksInfoRequest(a);n.getMediaSession().editTracksInfo(o,function(){},function(e){console.error(e)})})}(r)}(),a.addEventListener("timeupdate",function(){l=a.getCurrentTime()}),{v:void 0}}();if("object"===(void 0===t?"undefined":n(t)))return t.v}e.chromecastLayer.style.display="none",a.style.display="";var o=mejs.Renderers.select(u,a.renderers);a.changeRenderer(o.rendererName,u),a.setCurrentTime(l),l>0&&!mejs.Features.IS_IOS&&!mejs.Features.IS_ANDROID&&a.play()})}};var m=document.createElement("script");m.src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",document.body.appendChild(m),d=!0}}},clearchromecast:function(e){e.castPlayerController.stop(),e.castButton&&e.castButton.remove(),e.chromecastLayer&&e.chromecastLayer.remove()}})},{}]},{},[1]);
!function e(t,r,a){function n(s,i){if(!r[s]){if(!t[s]){var c="function"==typeof require&&require;if(!i&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=r[s]={exports:{}};t[s][0].call(u.exports,function(e){var r=t[s][1][e];return n(r||e)},u,u.exports,e,t,r,a)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s<a.length;s++)n(a[s]);return n}({1:[function(e,t,r){"use strict";var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n="function"==typeof Symbol&&"symbol"===a(Symbol.iterator)?function(e){return void 0===e?"undefined":a(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":a(e)},o={name:"chromecast",options:{prefix:"chromecast"},canPlayType:function(){return!0},create:function(e,t){var r={},a=function(e){var t=e.description?" : "+e.description:".",r=void 0;switch(e.code){case chrome.cast.ErrorCode.API_NOT_INITIALIZED:r="The API is not initialized"+t;break;case chrome.cast.ErrorCode.CANCEL:r="The operation was canceled by the user"+t;break;case chrome.cast.ErrorCode.CHANNEL_ERROR:r="A channel to the receiver is not available"+t;break;case chrome.cast.ErrorCode.EXTENSION_MISSING:r="The Cast extension is not available"+t;break;case chrome.cast.ErrorCode.INVALID_PARAMETER:r="The parameters to the operation were not valid"+t;break;case chrome.cast.ErrorCode.RECEIVER_UNAVAILABLE:r="No receiver was compatible with the session request"+t;break;case chrome.cast.ErrorCode.SESSION_ERROR:r="A session could not be created, or a session was invalid"+t;break;case chrome.cast.ErrorCode.TIMEOUT:r="The operation timed out"+t;break;default:r="Unknown error: "+e.code}console.error(r)},n=e.castPlayer,o=e.castPlayerController,s=1;r.options=t,r.id=e.id+"_"+t.prefix,r.mediaElement=e;for(var i=mejs.html5media.properties,c=0,l=i.length;c<l;c++)!function(t){var a=""+t.substring(0,1).toUpperCase()+t.substring(1);r["get"+a]=function(){if(null!==n){switch(t){case"currentTime":return n.currentTime;case"duration":return n.duration;case"volume":return s=n.volumeLevel;case"paused":return n.isPaused;case"ended":return n.ended;case"muted":return n.isMuted;case"src":return e.originalNode.getAttribute("src");case"readyState":return 4}return null}return null},r["set"+a]=function(a){if(null!==n)switch(t){case"src":var i="string"==typeof a?a:a[0].src;e.originalNode.setAttribute("src",i);break;case"currentTime":n.currentTime=a,o.seek(),setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",r);e.dispatchEvent(t)},50);break;case"muted":!0!==a||n.isMuted?!1===a&&n.isMuted&&o.muteOrUnmute():o.muteOrUnmute(),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",r);e.dispatchEvent(t)},50);break;case"volume":s=a,n.volumeLevel=a,o.setVolumeLevel(),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",r);e.dispatchEvent(t)},50);break;case"readyState":var c=mejs.Utils.createEvent("canplay",r);e.dispatchEvent(c);break;case"playbackRate":e.originalNode.playbackRate=a;break;default:console.log("Chromecast "+r.id,t,"UNSUPPORTED property")}}}(i[c]);for(var u=mejs.html5media.methods,d=0,m=u.length;d<m;d++)!function(s){r[s]=function(){if(null!==n)switch(s){case"play":n.isPaused&&(o.playOrPause(),setTimeout(function(){var t=mejs.Utils.createEvent("play",r);e.dispatchEvent(t)},50));break;case"pause":n.isPaused||(o.playOrPause(),setTimeout(function(){var t=mejs.Utils.createEvent("pause",r);e.dispatchEvent(t)},50));break;case"load":var i=e.originalNode.getAttribute("src"),c=mejs.Utils.getTypeFromFile(i),l=new chrome.cast.media.MediaInfo(i,c),u=cast.framework.CastContext.getInstance().getCurrentSession();if(!0===t.castEnableTracks){for(var d=[],m=e.originalNode.childNodes,p=1,f=0,v=m.length;f<v;f++){var y=m[f];if(y.nodeType!==Node.TEXT_NODE){if("track"===y.tagName.toLowerCase()&&("subtitles"===y.getAttribute("kind")||"captions"===y.getAttribute("kind"))){var E=new chrome.cast.media.Track(p,chrome.cast.media.TrackType.TEXT);E.trackContentId=mejs.Utils.absolutizeUrl(y.getAttribute("src")),E.trackContentType="text/vtt",E.subtype=chrome.cast.media.TextTrackType.SUBTITLES,E.name=y.getAttribute("label"),E.language=y.getAttribute("srclang"),E.customData=null,d.push(E),p++}}}l.textTrackStyle=new chrome.cast.media.TextTrackStyle,l.tracks=d}l.metadata=new chrome.cast.media.GenericMediaMetadata,l.streamType=chrome.cast.media.StreamType.BUFFERED,l.customData=null,l.duration=null,e.originalNode.getAttribute("data-cast-title")&&(l.metadata.title=e.originalNode.getAttribute("data-cast-title")),e.originalNode.getAttribute("data-cast-description")&&(l.metadata.subtitle=e.originalNode.getAttribute("data-cast-description")),e.originalNode.getAttribute("poster")&&(l.metadata.images=[{url:mejs.Utils.absolutizeUrl(e.originalNode.getAttribute("poster"))}]);var h=new chrome.cast.media.LoadRequest(l);u.loadMedia(h).then(function(){var t=e.originalNode.getCurrentTime();r.setCurrentTime(t),o.playOrPause(),setTimeout(function(){var t=mejs.Utils.createEvent("play",r);e.dispatchEvent(t)},50)},function(e){a(e)})}}}(u[d]);return window["__ready__"+r.id]=function(){o.addEventListener(cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED,function(){n.isPaused?r.pause():r.play()}),o.addEventListener(cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED,function(){return r.setMuted(n.isMuted)}),o.addEventListener(cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED,function(){setTimeout(function(){var t=mejs.Utils.createEvent("loadedmetadata",r);e.dispatchEvent(t)},50)}),o.addEventListener(cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED,function(){var t=mejs.Utils.createEvent("volumechange",r);e.dispatchEvent(t)}),o.addEventListener(cast.framework.RemotePlayerEventType.DURATION_CHANGED,function(){setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",r);e.dispatchEvent(t)},50)}),o.addEventListener(cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED,function(){setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",r);e.dispatchEvent(t)},50),e.castPlayer.currentTime>=e.castPlayer.duration&&setTimeout(function(){var t=mejs.Utils.createEvent("ended",r);e.dispatchEvent(t)},50)}),o.addEventListener(cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED,function(){return r.setMuted(n.isMuted)}),r.load()},e.autoplay=!1,window["__ready__"+r.id](),r.setSize=function(){},r.hide=function(){},r.show=function(){},r.destroy=function(){null!==n&&o.stop(),e.style.display=""},r}};mejs.i18n.en["mejs.chromecast-legend"]="Casting to:",Object.assign(mejs.MepDefaults,{castTitle:null,castAppID:null,castPolicy:"origin",castEnableTracks:!1}),Object.assign(MediaElementPlayer.prototype,{buildchromecast:function(e,t,r,a){var s=this,i=document.createElement("div"),c=mejs.Utils.isString(s.options.castTitle)?s.options.castTitle:"Chromecast";if(e.isVideo){e.chromecastLayer=document.createElement("div"),e.chromecastLayer.className=s.options.classPrefix+"chromecast-layer "+s.options.classPrefix+"layer",e.chromecastLayer.innerHTML='<div class="'+s.options.classPrefix+'chromecast-info"></div>',e.chromecastLayer.style.display="none",r.insertBefore(e.chromecastLayer,r.firstChild),i.className=s.options.classPrefix+"button "+s.options.classPrefix+"chromecast-button",i.innerHTML='<button type="button" is="google-cast-button" aria-controls="'+s.id+'" title="'+c+'" aria-label="'+c+'" tabindex="0"></button>',s.addControlElement(i,"chromecast"),s.castButton=i,e.chromecastLayer.innerHTML='<div class="'+s.options.classPrefix+'chromecast-container"><span class="'+s.options.classPrefix+'chromecast-icon"></span><span class="'+s.options.classPrefix+'chromecast-info">'+mejs.i18n.t("mejs.chromecast-legend")+' <span class="device"></span></span></div>',a.originalNode.getAttribute("poster")&&(e.chromecastLayer.innerHTML+='<img src="'+a.originalNode.getAttribute("poster")+'" width="100%" height="100%">');var l=a.originalNode.getAttribute("src"),u=[{src:l,type:mejs.Utils.getTypeFromFile(l)}],d=!1;d||(window.__onGCastApiAvailable=function(t){if(t){mejs.Renderers.add(o),i.style.width="20px",setTimeout(function(){s.setPlayerSize(s.width,s.height),s.setControlsSize()},0);var c=void 0;switch(s.options.castPolicy){case"tab":c="TAB_AND_ORIGIN_SCOPED";break;case"page":c="PAGE_SCOPED";break;default:c="ORIGIN_SCOPED"}cast.framework.CastContext.getInstance().setOptions({receiverApplicationId:s.options.castAppID||chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy[c]}),a.castPlayer=new cast.framework.RemotePlayer,a.castPlayerController=new cast.framework.RemotePlayerController(a.castPlayer);var l=0;a.castPlayerController.addEventListener(cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED,function(){if(cast&&cast.framework&&a.castPlayer.isConnected){var t=function(){var t=mejs.Renderers.select(u,["chromecast"]);a.changeRenderer(t.rendererName,u);var n=cast.framework.CastContext.getInstance().getCurrentSession();return r.querySelector("."+s.options.classPrefix+"chromecast-info").querySelector(".device").innerText=n.getCastDevice().friendlyName,e.chromecastLayer.style.display="block",!0===s.options.castEnableTracks&&function(){var t=void 0!==e.captionsButton?e.captionsButton.querySelectorAll("input[type=radio]"):null;if(null!==t)for(var r=0,a=t.length;r<a;r++)!function(e,r){t[e].addEventListener("click",function(){var r=parseInt(t[e].id.replace(/^.*?track_(\d+)_.*$/,"$1")),a="none"===t[e].value?[]:[r],o=new chrome.cast.media.EditTracksInfoRequest(a);n.getMediaSession().editTracksInfo(o,function(){},function(e){console.error(e)})})}(r)}(),a.addEventListener("timeupdate",function(){l=a.getCurrentTime()}),{v:void 0}}();if("object"===(void 0===t?"undefined":n(t)))return t.v}e.chromecastLayer.style.display="none",a.style.display="";var o=mejs.Renderers.select(u,a.renderers);a.changeRenderer(o.rendererName,u),a.setCurrentTime(l),l>0&&!mejs.Features.IS_IOS&&!mejs.Features.IS_ANDROID&&a.play()})}},mejs.Utils.loadScript("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"),d=!0)}},clearchromecast:function(e){e.castPlayerController.stop(),e.castButton&&e.castButton.remove(),e.chromecastLayer&&e.chromecastLayer.remove()}})},{}]},{},[1]);

@@ -22,2 +22,7 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){

/**
* Default marker width
* @type {Number}
*/
markerWidth: 1,
/**
* @type {Number[]}

@@ -103,3 +108,3 @@ */

marker.style.width = '1px';
marker.style.width = t.options.markerWidth + 'px';
marker.style.left = left + '%';

@@ -106,0 +111,0 @@ marker.style.background = t.options.markerColor;

@@ -1,1 +0,1 @@

!function r(e,t,o){function n(i,s){if(!t[i]){if(!e[i]){var l="function"==typeof require&&require;if(!s&&l)return l(i,!0);if(a)return a(i,!0);var f=new Error("Cannot find module '"+i+"'");throw f.code="MODULE_NOT_FOUND",f}var u=t[i]={exports:{}};e[i][0].call(u.exports,function(r){var t=e[i][1][r];return n(t||r)},u,u.exports,r,e,t,o)}return t[i].exports}for(var a="function"==typeof require&&require,i=0;i<o.length;i++)n(o[i]);return n}({1:[function(r,e,t){"use strict";Object.assign(mejs.MepDefaults,{markerColor:"#E9BC3D",markers:[],markerCallback:function(){}}),Object.assign(MediaElementPlayer.prototype,{buildmarkers:function(r,e,t,o){if(r.options.markers.length){for(var n=this,a=-1,i=-1,s=-1,l=-1,f=0,u=r.options.markers.length;f<u;++f){var m=document.createElement("span");m.className=n.options.classPrefix+"time-marker",e.querySelector("."+n.options.classPrefix+"time-total").appendChild(m)}o.addEventListener("durationchange",function(){r.setmarkers(e)}),o.addEventListener("timeupdate",function(){if(a=Math.floor(o.currentTime),s>a?l>a&&(l=-1):s=a,r.options.markers.length)for(var e=0,t=r.options.markers.length;e<t;++e)i=Math.floor(r.options.markers[e]),a===i&&i!==l&&(r.options.markerCallback(o,o.currentTime),l=i)},!1)}},setmarkers:function(r){for(var e=this,t=r.querySelectorAll("."+e.options.classPrefix+"time-marker"),o=0,n=e.options.markers.length;o<n;++o)if(Math.floor(e.options.markers[o])<=e.media.duration&&Math.floor(e.options.markers[o])>=0){var a=100*Math.floor(e.options.markers[o])/e.media.duration,i=t[o];i.style.width="1px",i.style.left=a+"%",i.style.background=e.options.markerColor}}})},{}]},{},[1]);
!function r(e,t,o){function n(i,s){if(!t[i]){if(!e[i]){var l="function"==typeof require&&require;if(!s&&l)return l(i,!0);if(a)return a(i,!0);var f=new Error("Cannot find module '"+i+"'");throw f.code="MODULE_NOT_FOUND",f}var m=t[i]={exports:{}};e[i][0].call(m.exports,function(r){var t=e[i][1][r];return n(t||r)},m,m.exports,r,e,t,o)}return t[i].exports}for(var a="function"==typeof require&&require,i=0;i<o.length;i++)n(o[i]);return n}({1:[function(r,e,t){"use strict";Object.assign(mejs.MepDefaults,{markerColor:"#E9BC3D",markerWidth:1,markers:[],markerCallback:function(){}}),Object.assign(MediaElementPlayer.prototype,{buildmarkers:function(r,e,t,o){if(r.options.markers.length){for(var n=this,a=-1,i=-1,s=-1,l=-1,f=0,m=r.options.markers.length;f<m;++f){var u=document.createElement("span");u.className=n.options.classPrefix+"time-marker",e.querySelector("."+n.options.classPrefix+"time-total").appendChild(u)}o.addEventListener("durationchange",function(){r.setmarkers(e)}),o.addEventListener("timeupdate",function(){if(a=Math.floor(o.currentTime),s>a?l>a&&(l=-1):s=a,r.options.markers.length)for(var e=0,t=r.options.markers.length;e<t;++e)i=Math.floor(r.options.markers[e]),a===i&&i!==l&&(r.options.markerCallback(o,o.currentTime),l=i)},!1)}},setmarkers:function(r){for(var e=this,t=r.querySelectorAll("."+e.options.classPrefix+"time-marker"),o=0,n=e.options.markers.length;o<n;++o)if(Math.floor(e.options.markers[o])<=e.media.duration&&Math.floor(e.options.markers[o])>=0){var a=100*Math.floor(e.options.markers[o])/e.media.duration,i=t[o];i.style.width=e.options.markerWidth+"px",i.style.left=a+"%",i.style.background=e.options.markerColor}}})},{}]},{},[1]);

@@ -194,3 +194,3 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){

t.sourcechooserButton.querySelector('ul').innerHTML += "<li>" + ("<input type=\"radio\" name=\"" + t.id + "_sourcechooser\" id=\"" + t.id + "_sourcechooser_" + label + type + "\"") + ("role=\"menuitemradio\" value=\"" + src + "\" " + (isCurrent ? 'checked="checked"' : '') + " aria-selected=\"" + isCurrent + "\"/>") + ("<label for=\"" + t.id + "_sourcechooser_" + label + type + "\" aria-hidden=\"true\">" + label + " (" + type + ")</label>") + "</li>";
t.sourcechooserButton.querySelector('ul').innerHTML += "<li>" + ("<input type=\"radio\" name=\"" + t.id + "_sourcechooser\" id=\"" + t.id + "_sourcechooser_" + label + type + "\" ") + ("role=\"menuitemradio\" value=\"" + src + "\" " + (isCurrent ? 'checked="checked"' : '') + " aria-selected=\"" + isCurrent + "\"/>") + ("<label for=\"" + t.id + "_sourcechooser_" + label + type + "\" aria-hidden=\"true\">" + label + " (" + type + ")</label>") + "</li>";

@@ -197,0 +197,0 @@ t.adjustSourcechooserBox();

@@ -1,1 +0,1 @@

!function e(o,t,r){function s(i,u){if(!t[i]){if(!o[i]){var n="function"==typeof require&&require;if(!u&&n)return n(i,!0);if(c)return c(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var l=t[i]={exports:{}};o[i][0].call(l.exports,function(e){var t=o[i][1][e];return s(t||e)},l,l.exports,e,o,t,r)}return t[i].exports}for(var c="function"==typeof require&&require,i=0;i<r.length;i++)s(r[i]);return s}({1:[function(e,o,t){"use strict";mejs.i18n.en["mejs.source-chooser"]="Source Chooser",Object.assign(mejs.MepDefaults,{sourcechooserText:null}),Object.assign(MediaElementPlayer.prototype,{buildsourcechooser:function(e,o,t,r){for(var s=this,c=mejs.Utils.isString(s.options.sourcechooserText)?s.options.sourcechooserText:mejs.i18n.t("mejs.source-chooser"),i=[],u=s.mediaFiles?s.mediaFiles:s.node.childNodes,n=void 0,a=0,l=u.length;a<l;a++){var h=u[a];s.mediaFiles?i.push(h):"SOURCE"===h.nodeName&&i.push(h)}if(!(i.length<=1)){e.sourcechooserButton=document.createElement("div"),e.sourcechooserButton.className=s.options.classPrefix+"button "+s.options.classPrefix+"sourcechooser-button",e.sourcechooserButton.innerHTML='<button type="button" role="button" aria-haspopup="true" aria-owns="'+s.id+'" title="'+c+'" aria-label="'+c+'" tabindex="0"></button><div class="'+s.options.classPrefix+"sourcechooser-selector "+s.options.classPrefix+'offscreen" role="menu" aria-expanded="false" aria-hidden="true"><ul></ul></div>',s.addControlElement(e.sourcechooserButton,"sourcechooser");for(var d=0,f=i.length;d<f;d++){var p=i[d];void 0!==p.type&&"function"==typeof r.canPlayType&&e.addSourceButton(p.src,p.title,p.type,r.src===p.src)}e.sourcechooserButton.addEventListener("mouseover",function(){clearTimeout(n),e.showSourcechooserSelector()}),e.sourcechooserButton.addEventListener("mouseout",function(){n=setTimeout(function(){e.hideSourcechooserSelector()},0)}),e.sourcechooserButton.addEventListener("keydown",function(o){if(s.options.keyActions.length){switch(o.which||o.keyCode||0){case 32:mejs.MediaFeatures.isFirefox||e.showSourcechooserSelector(),e.sourcechooserButton.querySelector("input[type=radio]:checked").focus();break;case 13:e.showSourcechooserSelector(),e.sourcechooserButton.querySelector("input[type=radio]:checked").focus();break;case 27:e.hideSourcechooserSelector(),e.sourcechooserButton.querySelector("button").focus();break;default:return!0}o.preventDefault(),o.stopPropagation()}}),e.sourcechooserButton.addEventListener("focusout",mejs.Utils.debounce(function(){setTimeout(function(){document.activeElement.closest("."+s.options.classPrefix+"sourcechooser-selector")||e.hideSourcechooserSelector()},0)},100));for(var v=e.sourcechooserButton.querySelectorAll("input[type=radio]"),S=0,y=v.length;S<y;S++)v[S].addEventListener("click",function(){this.setAttribute("aria-selected",!0),this.checked=!0;for(var e=this.closest("."+s.options.classPrefix+"sourcechooser-selector").querySelectorAll("input[type=radio]"),o=0,t=e.length;o<t;o++)e[o]!==this&&(e[o].setAttribute("aria-selected","false"),e[o].removeAttribute("checked"));var c=this.value;if(r.getSrc()!==c){var i=r.currentTime,u=r.paused,n=function e(){u||(r.setCurrentTime(i),r.play()),r.removeEventListener("canplay",e)};r.pause(),r.setSrc(c),r.load(),r.addEventListener("canplay",n)}});e.sourcechooserButton.querySelector("button").addEventListener("click",function(){mejs.Utils.hasClass(mejs.Utils.siblings(this,"."+s.options.classPrefix+"sourcechooser-selector"),s.options.classPrefix+"offscreen")?(e.showSourcechooserSelector(),e.sourcechooserButton.querySelector("input[type=radio]:checked").focus()):e.hideSourcechooserSelector()})}},addSourceButton:function(e,o,t,r){var s=this;""!==o&&void 0!==o||(o=e),t=t.split("/")[1],s.sourcechooserButton.querySelector("ul").innerHTML+='<li><input type="radio" name="'+s.id+'_sourcechooser" id="'+s.id+"_sourcechooser_"+o+t+'"role="menuitemradio" value="'+e+'" '+(r?'checked="checked"':"")+' aria-selected="'+r+'"/><label for="'+s.id+"_sourcechooser_"+o+t+'" aria-hidden="true">'+o+" ("+t+")</label></li>",s.adjustSourcechooserBox()},adjustSourcechooserBox:function(){var e=this;e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector").style.height=parseFloat(e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector ul").offsetHeight)+"px"},hideSourcechooserSelector:function(){var e=this;if(void 0!==e.sourcechooserButton&&e.sourcechooserButton.querySelector("input[type=radio]")){var o=e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector"),t=o.querySelectorAll("input[type=radio]");o.setAttribute("aria-expanded","false"),o.setAttribute("aria-hidden","true"),mejs.Utils.addClass(o,e.options.classPrefix+"offscreen");for(var r=0,s=t.length;r<s;r++)t[r].setAttribute("tabindex","-1")}},showSourcechooserSelector:function(){var e=this;if(void 0!==e.sourcechooserButton&&e.sourcechooserButton.querySelector("input[type=radio]")){var o=e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector"),t=o.querySelectorAll("input[type=radio]");o.setAttribute("aria-expanded","true"),o.setAttribute("aria-hidden","false"),mejs.Utils.removeClass(o,e.options.classPrefix+"offscreen");for(var r=0,s=t.length;r<s;r++)t[r].setAttribute("tabindex","0")}}})},{}]},{},[1]);
!function e(o,t,r){function s(i,u){if(!t[i]){if(!o[i]){var n="function"==typeof require&&require;if(!u&&n)return n(i,!0);if(c)return c(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var l=t[i]={exports:{}};o[i][0].call(l.exports,function(e){var t=o[i][1][e];return s(t||e)},l,l.exports,e,o,t,r)}return t[i].exports}for(var c="function"==typeof require&&require,i=0;i<r.length;i++)s(r[i]);return s}({1:[function(e,o,t){"use strict";mejs.i18n.en["mejs.source-chooser"]="Source Chooser",Object.assign(mejs.MepDefaults,{sourcechooserText:null}),Object.assign(MediaElementPlayer.prototype,{buildsourcechooser:function(e,o,t,r){for(var s=this,c=mejs.Utils.isString(s.options.sourcechooserText)?s.options.sourcechooserText:mejs.i18n.t("mejs.source-chooser"),i=[],u=s.mediaFiles?s.mediaFiles:s.node.childNodes,n=void 0,a=0,l=u.length;a<l;a++){var h=u[a];s.mediaFiles?i.push(h):"SOURCE"===h.nodeName&&i.push(h)}if(!(i.length<=1)){e.sourcechooserButton=document.createElement("div"),e.sourcechooserButton.className=s.options.classPrefix+"button "+s.options.classPrefix+"sourcechooser-button",e.sourcechooserButton.innerHTML='<button type="button" role="button" aria-haspopup="true" aria-owns="'+s.id+'" title="'+c+'" aria-label="'+c+'" tabindex="0"></button><div class="'+s.options.classPrefix+"sourcechooser-selector "+s.options.classPrefix+'offscreen" role="menu" aria-expanded="false" aria-hidden="true"><ul></ul></div>',s.addControlElement(e.sourcechooserButton,"sourcechooser");for(var d=0,f=i.length;d<f;d++){var p=i[d];void 0!==p.type&&"function"==typeof r.canPlayType&&e.addSourceButton(p.src,p.title,p.type,r.src===p.src)}e.sourcechooserButton.addEventListener("mouseover",function(){clearTimeout(n),e.showSourcechooserSelector()}),e.sourcechooserButton.addEventListener("mouseout",function(){n=setTimeout(function(){e.hideSourcechooserSelector()},0)}),e.sourcechooserButton.addEventListener("keydown",function(o){if(s.options.keyActions.length){switch(o.which||o.keyCode||0){case 32:mejs.MediaFeatures.isFirefox||e.showSourcechooserSelector(),e.sourcechooserButton.querySelector("input[type=radio]:checked").focus();break;case 13:e.showSourcechooserSelector(),e.sourcechooserButton.querySelector("input[type=radio]:checked").focus();break;case 27:e.hideSourcechooserSelector(),e.sourcechooserButton.querySelector("button").focus();break;default:return!0}o.preventDefault(),o.stopPropagation()}}),e.sourcechooserButton.addEventListener("focusout",mejs.Utils.debounce(function(){setTimeout(function(){document.activeElement.closest("."+s.options.classPrefix+"sourcechooser-selector")||e.hideSourcechooserSelector()},0)},100));for(var v=e.sourcechooserButton.querySelectorAll("input[type=radio]"),S=0,y=v.length;S<y;S++)v[S].addEventListener("click",function(){this.setAttribute("aria-selected",!0),this.checked=!0;for(var e=this.closest("."+s.options.classPrefix+"sourcechooser-selector").querySelectorAll("input[type=radio]"),o=0,t=e.length;o<t;o++)e[o]!==this&&(e[o].setAttribute("aria-selected","false"),e[o].removeAttribute("checked"));var c=this.value;if(r.getSrc()!==c){var i=r.currentTime,u=r.paused,n=function e(){u||(r.setCurrentTime(i),r.play()),r.removeEventListener("canplay",e)};r.pause(),r.setSrc(c),r.load(),r.addEventListener("canplay",n)}});e.sourcechooserButton.querySelector("button").addEventListener("click",function(){mejs.Utils.hasClass(mejs.Utils.siblings(this,"."+s.options.classPrefix+"sourcechooser-selector"),s.options.classPrefix+"offscreen")?(e.showSourcechooserSelector(),e.sourcechooserButton.querySelector("input[type=radio]:checked").focus()):e.hideSourcechooserSelector()})}},addSourceButton:function(e,o,t,r){var s=this;""!==o&&void 0!==o||(o=e),t=t.split("/")[1],s.sourcechooserButton.querySelector("ul").innerHTML+='<li><input type="radio" name="'+s.id+'_sourcechooser" id="'+s.id+"_sourcechooser_"+o+t+'" role="menuitemradio" value="'+e+'" '+(r?'checked="checked"':"")+' aria-selected="'+r+'"/><label for="'+s.id+"_sourcechooser_"+o+t+'" aria-hidden="true">'+o+" ("+t+")</label></li>",s.adjustSourcechooserBox()},adjustSourcechooserBox:function(){var e=this;e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector").style.height=parseFloat(e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector ul").offsetHeight)+"px"},hideSourcechooserSelector:function(){var e=this;if(void 0!==e.sourcechooserButton&&e.sourcechooserButton.querySelector("input[type=radio]")){var o=e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector"),t=o.querySelectorAll("input[type=radio]");o.setAttribute("aria-expanded","false"),o.setAttribute("aria-hidden","true"),mejs.Utils.addClass(o,e.options.classPrefix+"offscreen");for(var r=0,s=t.length;r<s;r++)t[r].setAttribute("tabindex","-1")}},showSourcechooserSelector:function(){var e=this;if(void 0!==e.sourcechooserButton&&e.sourcechooserButton.querySelector("input[type=radio]")){var o=e.sourcechooserButton.querySelector("."+e.options.classPrefix+"sourcechooser-selector"),t=o.querySelectorAll("input[type=radio]");o.setAttribute("aria-expanded","true"),o.setAttribute("aria-hidden","false"),mejs.Utils.removeClass(o,e.options.classPrefix+"offscreen");for(var r=0,s=t.length;r<s;r++)t[r].setAttribute("tabindex","0")}}})},{}]},{},[1]);

@@ -113,3 +113,3 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){

player.speedButton.querySelector('ul').innerHTML += "<li class=\"" + t.options.classPrefix + "speed-selector-list-item\">" + ("<input class=\"" + t.options.classPrefix + "speed-selector-input\" type=\"radio\" name=\"" + t.id + "_speed\"") + ("disabled=\"disabled\" value=\"" + speeds[_i].value + "\" id=\"" + inputId + "\" ") + ((speeds[_i].value === t.options.defaultSpeed ? ' checked="checked"' : '') + "/>") + ("<label class=\"" + t.options.classPrefix + "speed-selector-label") + ((speeds[_i].value === t.options.defaultSpeed ? " " + t.options.classPrefix + "speed-selected" : '') + "\">") + (speeds[_i].name + "</label>") + "</li>";
player.speedButton.querySelector('ul').innerHTML += "<li class=\"" + t.options.classPrefix + "speed-selector-list-item\">" + ("<input class=\"" + t.options.classPrefix + "speed-selector-input\" type=\"radio\" name=\"" + t.id + "_speed\"") + ("disabled=\"disabled\" value=\"" + speeds[_i].value + "\" id=\"" + inputId + "\" ") + ((speeds[_i].value === t.options.defaultSpeed ? ' checked="checked"' : '') + "/>") + ("<label for=\"" + inputId + "\" class=\"" + t.options.classPrefix + "speed-selector-label") + ((speeds[_i].value === t.options.defaultSpeed ? " " + t.options.classPrefix + "speed-selected" : '') + "\">") + (speeds[_i].name + "</label>") + "</li>";
}

@@ -116,0 +116,0 @@

@@ -1,1 +0,1 @@

!function e(t,s,o){function n(l,i){if(!s[l]){if(!t[l]){var a="function"==typeof require&&require;if(!i&&a)return a(l,!0);if(r)return r(l,!0);var d=new Error("Cannot find module '"+l+"'");throw d.code="MODULE_NOT_FOUND",d}var p=s[l]={exports:{}};t[l][0].call(p.exports,function(e){var s=t[l][1][e];return n(s||e)},p,p.exports,e,t,s,o)}return s[l].exports}for(var r="function"==typeof require&&require,l=0;l<o.length;l++)n(o[l]);return n}({1:[function(e,t,s){"use strict";mejs.i18n.en["mejs.speed-rate"]="Speed Rate",Object.assign(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x",speedText:null}),Object.assign(MediaElementPlayer.prototype,{buildspeed:function(e,t,s,o){var n=this;if(null!==n.media.rendererName&&/(native|html5)/i.test(n.media.rendererName)){for(var r=[],l=mejs.Utils.isString(n.options.speedText)?n.options.speedText:mejs.i18n.t("mejs.speed-rate"),i=function(e){for(var t=0,s=r.length;t<s;t++)if(r[t].value===e)return r[t].name},a=void 0,d=!1,p=0,c=n.options.speeds.length;p<c;p++){var u=n.options.speeds[p];"string"==typeof u?(r.push({name:""+u+n.options.speedChar,value:u}),u===n.options.defaultSpeed&&(d=!0)):(r.push(u),u.value===n.options.defaultSpeed&&(d=!0))}d||r.push({name:n.options.defaultSpeed+n.options.speedChar,value:n.options.defaultSpeed}),r.sort(function(e,t){return parseFloat(t.value)-parseFloat(e.value)}),n.clearspeed(e),e.speedButton=document.createElement("div"),e.speedButton.className=n.options.classPrefix+"button "+n.options.classPrefix+"speed-button",e.speedButton.innerHTML='<button type="button" aria-controls="'+n.id+'" title="'+l+'" aria-label="'+l+'" tabindex="0">'+i(n.options.defaultSpeed)+'</button><div class="'+n.options.classPrefix+"speed-selector "+n.options.classPrefix+'offscreen"><ul class="'+n.options.classPrefix+'speed-selector-list"></ul></div>',n.addControlElement(e.speedButton,"speed");for(var f=0,v=r.length;f<v;f++){var m=n.id+"-speed-"+r[f].value;e.speedButton.querySelector("ul").innerHTML+='<li class="'+n.options.classPrefix+'speed-selector-list-item"><input class="'+n.options.classPrefix+'speed-selector-input" type="radio" name="'+n.id+'_speed"disabled="disabled" value="'+r[f].value+'" id="'+m+'" '+(r[f].value===n.options.defaultSpeed?' checked="checked"':"")+'/><label class="'+n.options.classPrefix+"speed-selector-label"+(r[f].value===n.options.defaultSpeed?" "+n.options.classPrefix+"speed-selected":"")+'">'+r[f].name+"</label></li>"}a=n.options.defaultSpeed,e.speedSelector=e.speedButton.querySelector("."+n.options.classPrefix+"speed-selector");for(var h=["mouseenter","focusin"],S=["mouseleave","focusout"],x=e.speedButton.querySelectorAll('input[type="radio"]'),b=e.speedButton.querySelectorAll("."+n.options.classPrefix+"speed-selector-label"),g=0,y=h.length;g<y;g++)e.speedButton.addEventListener(h[g],function(){mejs.Utils.removeClass(e.speedSelector,n.options.classPrefix+"offscreen"),e.speedSelector.style.height=e.speedSelector.querySelector("ul").offsetHeight,e.speedSelector.style.top=-1*parseFloat(e.speedSelector.offsetHeight)+"px"});for(var P=0,j=S.length;P<j;P++)e.speedSelector.addEventListener(S[P],function(){mejs.Utils.addClass(this,n.options.classPrefix+"offscreen")});for(var B=0,E=x.length;B<E;B++){var C=x[B];C.disabled=!1,C.addEventListener("click",function(){var t=this,s=t.value;a=s,o.playbackRate=parseFloat(s),e.speedButton.querySelector("button").innerHTML=i(s);for(var r=e.speedButton.querySelectorAll("."+n.options.classPrefix+"speed-selected"),l=0,d=r.length;l<d;l++)mejs.Utils.removeClass(r[l],n.options.classPrefix+"speed-selected");t.checked=!0;for(var p=mejs.Utils.siblings(t,function(e){return mejs.Utils.hasClass(e,n.options.classPrefix+"speed-selector-label")}),c=0,u=p.length;c<u;c++)mejs.Utils.addClass(p[c],n.options.classPrefix+"speed-selected")})}for(var U=0,q=b.length;U<q;U++)b[U].addEventListener("click",function(){var e=mejs.Utils.siblings(this,function(e){return"INPUT"===e.tagName})[0],t=mejs.Utils.createEvent("click",e);e.dispatchEvent(t)});e.speedSelector.addEventListener("keydown",function(e){e.stopPropagation()}),o.addEventListener("loadedmetadata",function(){a&&(o.playbackRate=parseFloat(a))})}},clearspeed:function(e){e&&(e.speedButton&&e.speedButton.parentNode.removeChild(e.speedButton),e.speedSelector&&e.speedSelector.parentNode.removeChild(e.speedSelector))}})},{}]},{},[1]);
!function e(t,s,o){function n(l,i){if(!s[l]){if(!t[l]){var a="function"==typeof require&&require;if(!i&&a)return a(l,!0);if(r)return r(l,!0);var d=new Error("Cannot find module '"+l+"'");throw d.code="MODULE_NOT_FOUND",d}var p=s[l]={exports:{}};t[l][0].call(p.exports,function(e){var s=t[l][1][e];return n(s||e)},p,p.exports,e,t,s,o)}return s[l].exports}for(var r="function"==typeof require&&require,l=0;l<o.length;l++)n(o[l]);return n}({1:[function(e,t,s){"use strict";mejs.i18n.en["mejs.speed-rate"]="Speed Rate",Object.assign(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x",speedText:null}),Object.assign(MediaElementPlayer.prototype,{buildspeed:function(e,t,s,o){var n=this;if(null!==n.media.rendererName&&/(native|html5)/i.test(n.media.rendererName)){for(var r=[],l=mejs.Utils.isString(n.options.speedText)?n.options.speedText:mejs.i18n.t("mejs.speed-rate"),i=function(e){for(var t=0,s=r.length;t<s;t++)if(r[t].value===e)return r[t].name},a=void 0,d=!1,p=0,c=n.options.speeds.length;p<c;p++){var u=n.options.speeds[p];"string"==typeof u?(r.push({name:""+u+n.options.speedChar,value:u}),u===n.options.defaultSpeed&&(d=!0)):(r.push(u),u.value===n.options.defaultSpeed&&(d=!0))}d||r.push({name:n.options.defaultSpeed+n.options.speedChar,value:n.options.defaultSpeed}),r.sort(function(e,t){return parseFloat(t.value)-parseFloat(e.value)}),n.clearspeed(e),e.speedButton=document.createElement("div"),e.speedButton.className=n.options.classPrefix+"button "+n.options.classPrefix+"speed-button",e.speedButton.innerHTML='<button type="button" aria-controls="'+n.id+'" title="'+l+'" aria-label="'+l+'" tabindex="0">'+i(n.options.defaultSpeed)+'</button><div class="'+n.options.classPrefix+"speed-selector "+n.options.classPrefix+'offscreen"><ul class="'+n.options.classPrefix+'speed-selector-list"></ul></div>',n.addControlElement(e.speedButton,"speed");for(var f=0,v=r.length;f<v;f++){var m=n.id+"-speed-"+r[f].value;e.speedButton.querySelector("ul").innerHTML+='<li class="'+n.options.classPrefix+'speed-selector-list-item"><input class="'+n.options.classPrefix+'speed-selector-input" type="radio" name="'+n.id+'_speed"disabled="disabled" value="'+r[f].value+'" id="'+m+'" '+(r[f].value===n.options.defaultSpeed?' checked="checked"':"")+'/><label for="'+m+'" class="'+n.options.classPrefix+"speed-selector-label"+(r[f].value===n.options.defaultSpeed?" "+n.options.classPrefix+"speed-selected":"")+'">'+r[f].name+"</label></li>"}a=n.options.defaultSpeed,e.speedSelector=e.speedButton.querySelector("."+n.options.classPrefix+"speed-selector");for(var h=["mouseenter","focusin"],S=["mouseleave","focusout"],x=e.speedButton.querySelectorAll('input[type="radio"]'),b=e.speedButton.querySelectorAll("."+n.options.classPrefix+"speed-selector-label"),g=0,y=h.length;g<y;g++)e.speedButton.addEventListener(h[g],function(){mejs.Utils.removeClass(e.speedSelector,n.options.classPrefix+"offscreen"),e.speedSelector.style.height=e.speedSelector.querySelector("ul").offsetHeight,e.speedSelector.style.top=-1*parseFloat(e.speedSelector.offsetHeight)+"px"});for(var P=0,j=S.length;P<j;P++)e.speedSelector.addEventListener(S[P],function(){mejs.Utils.addClass(this,n.options.classPrefix+"offscreen")});for(var B=0,E=x.length;B<E;B++){var C=x[B];C.disabled=!1,C.addEventListener("click",function(){var t=this,s=t.value;a=s,o.playbackRate=parseFloat(s),e.speedButton.querySelector("button").innerHTML=i(s);for(var r=e.speedButton.querySelectorAll("."+n.options.classPrefix+"speed-selected"),l=0,d=r.length;l<d;l++)mejs.Utils.removeClass(r[l],n.options.classPrefix+"speed-selected");t.checked=!0;for(var p=mejs.Utils.siblings(t,function(e){return mejs.Utils.hasClass(e,n.options.classPrefix+"speed-selector-label")}),c=0,u=p.length;c<u;c++)mejs.Utils.addClass(p[c],n.options.classPrefix+"speed-selected")})}for(var U=0,q=b.length;U<q;U++)b[U].addEventListener("click",function(){var e=mejs.Utils.siblings(this,function(e){return"INPUT"===e.tagName})[0],t=mejs.Utils.createEvent("click",e);e.dispatchEvent(t)});e.speedSelector.addEventListener("keydown",function(e){e.stopPropagation()}),o.addEventListener("loadedmetadata",function(){a&&(o.playbackRate=parseFloat(a))})}},clearspeed:function(e){e&&(e.speedButton&&e.speedButton.parentNode.removeChild(e.speedButton),e.speedSelector&&e.speedSelector.parentNode.removeChild(e.speedSelector))}})},{}]},{},[1]);

@@ -51,4 +51,2 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){

media.pause();
controls.querySelector("." + t.options.classPrefix + "time-current").style.width = '0px';
controls.querySelector("." + t.options.classPrefix + "time-handle").style.left = '0px';
controls.querySelector("." + t.options.classPrefix + "time-float-current").innerHTML = mejs.Utils.secondsToTimeCode(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond);

@@ -55,0 +53,0 @@ controls.querySelector("." + t.options.classPrefix + "currenttime").innerHTML = mejs.Utils.secondsToTimeCode(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond);

@@ -1,1 +0,1 @@

!function e(t,o,s){function r(i,a){if(!o[i]){if(!t[i]){var l="function"==typeof require&&require;if(!a&&l)return l(i,!0);if(n)return n(i,!0);var u=new Error("Cannot find module '"+i+"'");throw u.code="MODULE_NOT_FOUND",u}var c=o[i]={exports:{}};t[i][0].call(c.exports,function(e){var o=t[i][1][e];return r(o||e)},c,c.exports,e,t,o,s)}return o[i].exports}for(var n="function"==typeof require&&require,i=0;i<s.length;i++)r(s[i]);return r}({1:[function(e,t,o){"use strict";mejs.i18n.en["mejs.stop"]="Stop",Object.assign(mejs.MepDefaults,{stopText:null}),Object.assign(MediaElementPlayer.prototype,{buildstop:function(e,t,o,s){var r=this,n=mejs.Utils.isString(r.options.stopText)?r.options.stopText:mejs.i18n.t("mejs.stop"),i=document.createElement("div");i.className=r.options.classPrefix+"button "+r.options.classPrefix+"stop-button "+r.options.classPrefix+"stop",i.innerHTML='<button type="button" aria-controls="'+r.id+'" title="'+n+'" aria-label="'+n+'" tabindex="0"></button>',r.addControlElement(i,"stop"),i.addEventListener("click",function(){s.paused||s.pause(),s.currentTime>0&&(s.setCurrentTime(0),s.pause(),t.querySelector("."+r.options.classPrefix+"time-current").style.width="0px",t.querySelector("."+r.options.classPrefix+"time-handle").style.left="0px",t.querySelector("."+r.options.classPrefix+"time-float-current").innerHTML=mejs.Utils.secondsToTimeCode(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond),t.querySelector("."+r.options.classPrefix+"currenttime").innerHTML=mejs.Utils.secondsToTimeCode(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond),o.querySelector("."+r.options.classPrefix+"poster").style.display="block")})}})},{}]},{},[1]);
!function e(t,o,s){function n(i,a){if(!o[i]){if(!t[i]){var u="function"==typeof require&&require;if(!a&&u)return u(i,!0);if(r)return r(i,!0);var p=new Error("Cannot find module '"+i+"'");throw p.code="MODULE_NOT_FOUND",p}var c=o[i]={exports:{}};t[i][0].call(c.exports,function(e){var o=t[i][1][e];return n(o||e)},c,c.exports,e,t,o,s)}return o[i].exports}for(var r="function"==typeof require&&require,i=0;i<s.length;i++)n(s[i]);return n}({1:[function(e,t,o){"use strict";mejs.i18n.en["mejs.stop"]="Stop",Object.assign(mejs.MepDefaults,{stopText:null}),Object.assign(MediaElementPlayer.prototype,{buildstop:function(e,t,o,s){var n=this,r=mejs.Utils.isString(n.options.stopText)?n.options.stopText:mejs.i18n.t("mejs.stop"),i=document.createElement("div");i.className=n.options.classPrefix+"button "+n.options.classPrefix+"stop-button "+n.options.classPrefix+"stop",i.innerHTML='<button type="button" aria-controls="'+n.id+'" title="'+r+'" aria-label="'+r+'" tabindex="0"></button>',n.addControlElement(i,"stop"),i.addEventListener("click",function(){s.paused||s.pause(),s.currentTime>0&&(s.setCurrentTime(0),s.pause(),t.querySelector("."+n.options.classPrefix+"time-float-current").innerHTML=mejs.Utils.secondsToTimeCode(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond),t.querySelector("."+n.options.classPrefix+"currenttime").innerHTML=mejs.Utils.secondsToTimeCode(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond),o.querySelector("."+n.options.classPrefix+"poster").style.display="block")})}})},{}]},{},[1]);

@@ -7,4 +7,6 @@ # VAST/VPAID

It will generate the proper structures after parsing VPAID2.0 or VAST3.0 XML files to be processed by the `Ads` plugin.
It will generate the proper structures after parsing VPAID/VAST XML files to be processed by the `Ads` plugin.
**NOTE**: Currently, this plugin only supports Linear elements with MP4/FLV. Support for Flash and Javascript MediaFiles coming soon.
## API

@@ -11,0 +13,0 @@

@@ -30,2 +30,2 @@ # Chromecast

castPolicy | string | `origin` | Chromecast default policy: `origin` (by default, auto connect from same appId and page origin), `tab` (auto connect from same appId, page origin, and tab) and `page` (no auto connect)
castEnableTracks | boolean | `false` | Whether to load tracks or not through Chromecast. In order to process tracks correctly, `tracks` feature must be enable on the player configuration and user **MUST** set a custom receiver application. Read [this](https://github.com/googlecast/CastReferencePlayer) and [this](https://developers.google.com/cast/docs/receiver_apps) pages for more references.
castEnableTracks | boolean | `false` | Whether to load tracks or not through Chromecast. In order to process tracks correctly, `tracks` feature must be enable on the player configuration and CORS **MUST** be setup correctly. Read [this link](https://developers.google.com/cast/docs/player) for more information.

@@ -9,6 +9,6 @@ # Markers

The `MediaElementPlayer` object and media's current time should be passed to the registered callback function.
The `MediaElementPlayer` object and media's current time should be passed to the registered callback function.
The marker color is configurable.
## API

@@ -19,3 +19,4 @@

markerColor | string | `#E9BC3D` | Specify the color of marker
markerWidth | number | `1` | Specify the width of marker
markers | array | `[]` | List of numbers to specify marker times in seconds
markerCallback | function | `function(media, time) {}` | Callback function invoked when a marker position is reached
{
"name": "mediaelement-plugins",
"version": "2.2.1",
"version": "2.2.2",
"repository": {

@@ -31,18 +31,18 @@ "type": "git",

"scripts": {
"eslint": "eslint src/",
"ads": "postcss --no-map -u autoprefixer -r src/ads/ads.css && cp src/ads/ads.css dist/ads/ads.css && cssnano dist/ads/ads.css dist/ads/ads.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/ads/ads.js > dist/ads/ads.js && uglifyjs dist/ads/ads.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/ads/ads.min.js && cp src/ads/ads-i18n.js dist/ads",
"vast": "browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/ads-vast-vpaid/ads-vast-vpaid.js > dist/ads-vast-vpaid/ads-vast-vpaid.js && uglifyjs dist/ads-vast-vpaid/ads-vast-vpaid.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/ads-vast-vpaid/ads-vast-vpaid.min.js",
"context": "postcss --no-map -u autoprefixer -r src/context-menu/context-menu.css && cp src/context-menu/context-menu.css dist/context-menu/context-menu.css && cssnano dist/context-menu/context-menu.css dist/context-menu/context-menu.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/context-menu/context-menu.js > dist/context-menu/context-menu.js && uglifyjs dist/context-menu/context-menu.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/context-menu/context-menu.min.js",
"ga": "browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/google-analytics/google-analytics.js > dist/google-analytics/google-analytics.js && uglifyjs dist/google-analytics/google-analytics.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/google-analytics/google-analytics.min.js",
"cast": "postcss --no-map -u autoprefixer -r src/chromecast/chromecast.css && cp src/chromecast/chromecast.css dist/chromecast/chromecast.css && cssnano dist/chromecast/chromecast.css dist/chromecast/chromecast.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/chromecast/chromecast.js > dist/chromecast/chromecast.js && uglifyjs dist/chromecast/chromecast.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/chromecast/chromecast.min.js",
"jump": "postcss --no-map -u autoprefixer -r src/jump-forward/jump-forward.css && cp src/jump-forward/jump-forward.css dist/jump-forward/jump-forward.css && cssnano dist/jump-forward/jump-forward.css dist/jump-forward/jump-forward.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/jump-forward/jump-forward.js > dist/jump-forward/jump-forward.js && uglifyjs dist/jump-forward/jump-forward.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/jump-forward/jump-forward.min.js && cp src/jump-forward/jump-forward-i18n.js dist/jump-forward",
"loop": "postcss --no-map -u autoprefixer -r src/loop/loop.css && cp src/loop/loop.css dist/loop/loop.css && cssnano dist/loop/loop.css dist/loop/loop.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/loop/loop.js > dist/loop/loop.js && uglifyjs dist/loop/loop.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/loop/loop.min.js && cp src/loop/loop-i18n.js dist/loop",
"markers": "browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/markers/markers.js > dist/markers/markers.js && uglifyjs dist/markers/markers.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/markers/markers.min.js",
"postroll": "postcss --no-map -u autoprefixer -r src/postroll/postroll.css && cp src/postroll/postroll.css dist/postroll/postroll.css && cssnano dist/postroll/postroll.css dist/postroll/postroll.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/postroll/postroll.js > dist/postroll/postroll.js && uglifyjs dist/postroll/postroll.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/postroll/postroll.min.js && cp src/postroll/postroll-i18n.js dist/postroll",
"skip": "postcss --no-map -u autoprefixer -r src/skip-back/skip-back.css && cp src/skip-back/skip-back.css dist/skip-back/skip-back.css && cssnano dist/skip-back/skip-back.css dist/skip-back/skip-back.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/skip-back/skip-back.js > dist/skip-back/skip-back.js && uglifyjs dist/skip-back/skip-back.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/skip-back/skip-back.min.js && cp src/skip-back/skip-back-i18n.js dist/skip-back",
"chooser": "postcss --no-map -u autoprefixer -r src/source-chooser/source-chooser.css && cp src/source-chooser/source-chooser.css dist/source-chooser/source-chooser.css && cssnano dist/source-chooser/source-chooser.css dist/source-chooser/source-chooser.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/source-chooser/source-chooser.js > dist/source-chooser/source-chooser.js && uglifyjs dist/source-chooser/source-chooser.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/source-chooser/source-chooser.min.js && cp src/source-chooser/source-chooser-i18n.js dist/source-chooser",
"speed": "postcss --no-map -u autoprefixer -r src/speed/speed.css && cp src/speed/speed.css dist/speed/speed.css && cssnano dist/speed/speed.css dist/speed/speed.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/speed/speed.js > dist/speed/speed.js && uglifyjs dist/speed/speed.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/speed/speed.min.js && cp src/speed/speed-i18n.js dist/speed",
"stop": "postcss --no-map -u autoprefixer -r src/stop/stop.css && cp src/stop/stop.css dist/stop/stop.css && cssnano dist/stop/stop.css dist/stop/stop.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/stop/stop.js > dist/stop/stop.js && uglifyjs dist/stop/stop.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/stop/stop.min.js && cp src/stop/stop-i18n.js dist/stop",
"preview": "browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/preview/preview.js > dist/preview/preview.js && uglifyjs dist/preview/preview.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/preview/preview.min.js",
"airplay": "postcss --no-map -u autoprefixer -r src/airplay/airplay.css && cp src/airplay/airplay.css dist/airplay/airplay.css && cssnano dist/airplay/airplay.css dist/airplay/airplay.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/airplay/airplay.js > dist/airplay/airplay.js && uglifyjs dist/airplay/airplay.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/airplay/airplay.min.js"
"ads": "eslint src/ads && postcss --no-map -u autoprefixer -r src/ads/ads.css && cp src/ads/ads.css dist/ads/ads.css && cssnano dist/ads/ads.css dist/ads/ads.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/ads/ads.js > dist/ads/ads.js && uglifyjs dist/ads/ads.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/ads/ads.min.js && cp src/ads/ads-i18n.js dist/ads",
"vast": "eslint src/ads-vast-vpaid && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/ads-vast-vpaid/ads-vast-vpaid.js > dist/ads-vast-vpaid/ads-vast-vpaid.js && uglifyjs dist/ads-vast-vpaid/ads-vast-vpaid.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/ads-vast-vpaid/ads-vast-vpaid.min.js",
"context": "eslint src/context && postcss --no-map -u autoprefixer -r src/context-menu/context-menu.css && cp src/context-menu/context-menu.css dist/context-menu/context-menu.css && cssnano dist/context-menu/context-menu.css dist/context-menu/context-menu.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/context-menu/context-menu.js > dist/context-menu/context-menu.js && uglifyjs dist/context-menu/context-menu.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/context-menu/context-menu.min.js",
"ga": "eslint src/google-analytics && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/google-analytics/google-analytics.js > dist/google-analytics/google-analytics.js && uglifyjs dist/google-analytics/google-analytics.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/google-analytics/google-analytics.min.js",
"cast": "eslint src/chromecast && postcss --no-map -u autoprefixer -r src/chromecast/chromecast.css && cp src/chromecast/chromecast.css dist/chromecast/chromecast.css && cssnano dist/chromecast/chromecast.css dist/chromecast/chromecast.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/chromecast/chromecast.js > dist/chromecast/chromecast.js && uglifyjs dist/chromecast/chromecast.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/chromecast/chromecast.min.js",
"jump": "eslint src/jump-forward && postcss --no-map -u autoprefixer -r src/jump-forward/jump-forward.css && cp src/jump-forward/jump-forward.css dist/jump-forward/jump-forward.css && cssnano dist/jump-forward/jump-forward.css dist/jump-forward/jump-forward.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/jump-forward/jump-forward.js > dist/jump-forward/jump-forward.js && uglifyjs dist/jump-forward/jump-forward.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/jump-forward/jump-forward.min.js && cp src/jump-forward/jump-forward-i18n.js dist/jump-forward",
"loop": "eslint src/loop && postcss --no-map -u autoprefixer -r src/loop/loop.css && cp src/loop/loop.css dist/loop/loop.css && cssnano dist/loop/loop.css dist/loop/loop.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/loop/loop.js > dist/loop/loop.js && uglifyjs dist/loop/loop.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/loop/loop.min.js && cp src/loop/loop-i18n.js dist/loop",
"markers": "eslint src/markers && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/markers/markers.js > dist/markers/markers.js && uglifyjs dist/markers/markers.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/markers/markers.min.js",
"postroll": "eslint src/postroll && postcss --no-map -u autoprefixer -r src/postroll/postroll.css && cp src/postroll/postroll.css dist/postroll/postroll.css && cssnano dist/postroll/postroll.css dist/postroll/postroll.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/postroll/postroll.js > dist/postroll/postroll.js && uglifyjs dist/postroll/postroll.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/postroll/postroll.min.js && cp src/postroll/postroll-i18n.js dist/postroll",
"skip": "eslint src/skip-back && postcss --no-map -u autoprefixer -r src/skip-back/skip-back.css && cp src/skip-back/skip-back.css dist/skip-back/skip-back.css && cssnano dist/skip-back/skip-back.css dist/skip-back/skip-back.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/skip-back/skip-back.js > dist/skip-back/skip-back.js && uglifyjs dist/skip-back/skip-back.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/skip-back/skip-back.min.js && cp src/skip-back/skip-back-i18n.js dist/skip-back",
"chooser": "eslint src/source-chooser && postcss --no-map -u autoprefixer -r src/source-chooser/source-chooser.css && cp src/source-chooser/source-chooser.css dist/source-chooser/source-chooser.css && cssnano dist/source-chooser/source-chooser.css dist/source-chooser/source-chooser.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/source-chooser/source-chooser.js > dist/source-chooser/source-chooser.js && uglifyjs dist/source-chooser/source-chooser.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/source-chooser/source-chooser.min.js && cp src/source-chooser/source-chooser-i18n.js dist/source-chooser",
"speed": "eslint src/speed && postcss --no-map -u autoprefixer -r src/speed/speed.css && cp src/speed/speed.css dist/speed/speed.css && cssnano dist/speed/speed.css dist/speed/speed.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/speed/speed.js > dist/speed/speed.js && uglifyjs dist/speed/speed.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/speed/speed.min.js && cp src/speed/speed-i18n.js dist/speed",
"stop": "eslint src/stop && postcss --no-map -u autoprefixer -r src/stop/stop.css && cp src/stop/stop.css dist/stop/stop.css && cssnano dist/stop/stop.css dist/stop/stop.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/stop/stop.js > dist/stop/stop.js && uglifyjs dist/stop/stop.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/stop/stop.min.js && cp src/stop/stop-i18n.js dist/stop",
"preview": "eslint src/preview && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/preview/preview.js > dist/preview/preview.js && uglifyjs dist/preview/preview.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/preview/preview.min.js",
"airplay": "eslint src/airplay && postcss --no-map -u autoprefixer -r src/airplay/airplay.css && cp src/airplay/airplay.css dist/airplay/airplay.css && cssnano dist/airplay/airplay.css dist/airplay/airplay.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/airplay/airplay.js > dist/airplay/airplay.js && uglifyjs dist/airplay/airplay.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/airplay/airplay.min.js",
"quality": "eslint src/quality && postcss --no-map -u autoprefixer -r src/quality/quality.css && cp src/quality/quality.css dist/quality/quality.css && cssnano dist/quality/quality.css dist/quality/quality.min.css && browserify -t browserify-versionify -t [babelify] -p browserify-derequire -p bundle-collapser/plugin src/quality/quality.js > dist/quality/quality.js && uglifyjs dist/quality/quality.js -c sequences=true,dead_code=true,conditionals=true,booleans=true,unused=true,if_return=true,join_vars=true,pure_funcs=['console.log'] -m --screw-ie8 > dist/quality/quality.min.js"
},

@@ -49,0 +49,0 @@ "dependencies": {

@@ -30,3 +30,3 @@ # ![MediaElementJS](https://cloud.githubusercontent.com/assets/910829/22357262/e6cf32b4-e404-11e6-876b-59afa009f65c.png)

Or you can use a CDN; check http://www.jsdelivr.com/projects/mediaelement-plugins or https://cdnjs.com/libraries/mediaelement-plugins.
Or you can use a CDN; check http://cdn.jsdelivr.net/npm/mediaelement-plugins/ or https://cdnjs.com/libraries/mediaelement-plugins.

@@ -68,11 +68,11 @@ For example, if you want to install `Speed` plugin do the following:

* Tab size is **8** for indentation.
* **ALWAYS** make changes to the files in the `/src/` directory, and **NEVER** in `/build/` directory. This is with the sole purpose of facilitating the merging (and further, the compiling) operation, and help people to see changes more easily.
* **ALWAYS** make changes to the files in the `/src/` directory, and **NEVER** in `/dist/` directory. This is with the sole purpose of facilitating the merging (and further, the compiling) operation, and help people to see changes more easily.
* Use [JSDoc](http://usejsdoc.org/) conventions to document code. This facilitates the contributions of other developers and ensures more quality in the product.
* **BEFORE PUSHING** any changes, run `npm run jshint` to ensure code quality.
* **BEFORE PUSHING** any changes, run `npm run eslint` to ensure code quality.
* The file for the feature must be placed inside a folder matching its name, as well as any SVG/CSS elements needed (i.e, `loop/loop.js`).
* Update `package.json` with a command under the `script` configuration to make sure it will be bundled and compiled properly. For more reference, [review the file](package.json).
* Make sure you also write comments about their purpose, and add them into the README file to keep documentation up-to-date.
* **DO NOT REINVENT THE WHEEL**: Use the utilities that `MediaElement` provides for DOM manipulation/AJAX/etc. Check [this link](https://github.com/mediaelement/mediaelement/blob/master/docs/utils.md) for more details.
* **DO NOT REINVENT THE WHEEL**: Use the utilities that `MediaElement` provides for DOM manipulation/AJAX/etc. Check [this link](https://github.com/mediaelement/mediaelement/blob/master/docs/utils.md) for more details.
* You can also include CSS inside the feature folder, matching the name of the feature JS file and adding CSS styles for "legacy" and BEM naming convention.
* If using an icon, its size **MUST** be **20x20px**, so it matches all the rest of the icons' dimensions.
* If using an icon, its size **MUST** be **20x20px**, so it matches all the rest of the icons' dimensions.
```css

@@ -85,3 +85,3 @@ .mejs__[feature_name], .mejs-[feature_name] {

<a id="template"></a>
## Template to create a Feature
## Template to create a Feature
```javascript

@@ -107,3 +107,3 @@ 'use strict';

Object.assign(MediaElementPlayer.prototype, {

@@ -124,6 +124,6 @@

// This allows us to access options and other useful elements already set.
// Adding variables to the object is a good idea if you plan to reuse
// Adding variables to the object is a good idea if you plan to reuse
// those variables in further operations.
const t = this;
// All code required inside here to keep it private;

@@ -133,5 +133,5 @@ // otherwise, you can create more methods or add variables

},
// Optionally, each feature can be destroyed setting a `clean` method
/**

@@ -147,3 +147,3 @@ * Feature destructor.

clean[feature_name] (player, controls, layers, media) {}
// Other optional public methods (all documented according to JSDoc specifications)

@@ -154,3 +154,3 @@ });

## Template for Translations
If translatable strings are part of the plugin, you will need to create a `[feature_name]-i18n.js` file with this format:

@@ -226,3 +226,3 @@ ```javascript

Also, if you are adding a new language to `MediaElementPlayer`, you will need to add it in all the existing `i18n` files in the same way described in the template above.
Also, if you are adding a new language to `MediaElementPlayer`, you will need to add it in all the existing `i18n` files in the same way described in the template above.

@@ -232,3 +232,3 @@ <a id="es6"></a>

All the features are written using `Ecmascript 2015` specifications.
All the features are written using `Ecmascript 2015` specifications.

@@ -253,2 +253,3 @@ See`src/` directory, and check how the files were written to ensure compatibility.

* [Preview](docs/preview.md)
* [Quality](docs/quality.md)
* [Skip Back](docs/skip-back.md)

@@ -255,0 +256,0 @@ * [Source Chooser](docs/source-chooser.md)

@@ -143,3 +143,3 @@ 'use strict';

if (t.options.indexPreroll === 0) {
t.adsCurrentMediaUrl = t.media.src;
t.adsCurrentMediaUrl = t.media.originalNode.getAttribute('src');
t.adsCurrentMediaDuration = t.media.duration;

@@ -151,2 +151,17 @@ }

// turn off controls until the preroll is done
const controlElements = t.container.querySelector(`.${t.options.classPrefix}controls`).childNodes;
for (let i = 0, total = controlElements.length; i < total; i++) {
const
target = controlElements[i],
button = target.querySelector('button')
;
if (button && !mejs.Utils.hasClass(target, `${t.options.classPrefix}playpause-button`)) {
button.disabled = true;
target.style.pointerEvents = 'none';
} else if (target.querySelector(`.${t.options.classPrefix}time-slider`)) {
target.querySelector(`.${t.options.classPrefix}time-slider`).style.pointerEvents = 'none';
}
}
// if autoplay was on, or if the user pressed play

@@ -192,16 +207,2 @@ // while the ad data was still loading, then start the ad right away

// turn off controls until the preroll is done
const controlElements = t.container.querySelector(`.${t.options.classPrefix}controls`).childNodes;
for (let i = 0, total = controlElements.length; i < total; i++) {
const
target = controlElements[i],
button = target.querySelector('button')
;
if (button && !mejs.Utils.hasClass(target, `${t.options.classPrefix}playpause-button`)) {
button.disabled = true;
} else if (target.querySelector(`.${t.options.classPrefix}time-slider`)) {
target.querySelector(`.${t.options.classPrefix}time-slider`).style.pointerEvents = 'none';
}
}
// enable clicking through

@@ -303,2 +304,3 @@ t.adsLayer.style.display = 'block';

if (button && !mejs.Utils.hasClass(target, `${t.options.classPrefix}playpause-button`)) {
target.style.pointerEvents = 'auto';
button.disabled = false;

@@ -305,0 +307,0 @@ } else if (target.querySelector(`.${t.options.classPrefix}time-slider`)) {

@@ -618,5 +618,3 @@ 'use strict';

const script = document.createElement('script');
script.src = 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1';
document.body.appendChild(script);
mejs.Utils.loadScript('https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');
loadedCastAPI = true;

@@ -623,0 +621,0 @@ }

@@ -21,2 +21,7 @@ 'use strict';

/**
* Default marker width
* @type {Number}
*/
markerWidth: 1,
/**
* @type {Number[]}

@@ -107,3 +112,3 @@ */

marker.style.width = '1px';
marker.style.width = t.options.markerWidth + 'px';
marker.style.left = `${left}%`;

@@ -110,0 +115,0 @@ marker.style.background = t.options.markerColor;

@@ -196,3 +196,3 @@ 'use strict';

t.sourcechooserButton.querySelector('ul').innerHTML += `<li>` +
`<input type="radio" name="${t.id}_sourcechooser" id="${t.id}_sourcechooser_${label}${type}"` +
`<input type="radio" name="${t.id}_sourcechooser" id="${t.id}_sourcechooser_${label}${type}" ` +
`role="menuitemradio" value="${src}" ${(isCurrent ? 'checked="checked"' : '')} aria-selected="${isCurrent}"/>` +

@@ -199,0 +199,0 @@ `<label for="${t.id}_sourcechooser_${label}${type}" aria-hidden="true">${label} (${type})</label>` +

@@ -126,3 +126,3 @@ 'use strict';

`${(speeds[i].value === t.options.defaultSpeed ? ' checked="checked"' : '')}/>` +
`<label class="${t.options.classPrefix}speed-selector-label` +
`<label for="${inputId}" class="${t.options.classPrefix}speed-selector-label` +
`${(speeds[i].value === t.options.defaultSpeed ? ` ${t.options.classPrefix}speed-selected` : '')}">` +

@@ -129,0 +129,0 @@ `${speeds[i].name}</label>` +

@@ -51,8 +51,11 @@ 'use strict';

media.pause();
controls.querySelector(`.${t.options.classPrefix}time-current`).style.width = '0px';
controls.querySelector(`.${t.options.classPrefix}time-handle`).style.left = '0px';
controls.querySelector(`.${t.options.classPrefix}time-float-current`).innerHTML =
(mejs.Utils.secondsToTimeCode(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond));
controls.querySelector(`.${t.options.classPrefix}currenttime`).innerHTML =
(mejs.Utils.secondsToTimeCode(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond));
if (controls.querySelector(`.${t.options.classPrefix}time-float-current`)) {
controls.querySelector(`.${t.options.classPrefix}time-float-current`).innerHTML =
(mejs.Utils.secondsToTimeCode(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond));
}
if (controls.querySelector(`.${t.options.classPrefix}currenttime`)) {
controls.querySelector(`.${t.options.classPrefix}currenttime`).innerHTML =
(mejs.Utils.secondsToTimeCode(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond));
}
layers.querySelector(`.${t.options.classPrefix}poster`).style.display = 'block';

@@ -59,0 +62,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc