mediaelement-plugins
Advanced tools
Comparing version 2.2.1 to 2.2.2
### 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 @@ |
@@ -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
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
406389
158
7620
252
17
64