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

mediaelement-plugins

Package Overview
Dependencies
Maintainers
4
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mediaelement-plugins - npm Package Compare versions

Comparing version 2.5.1 to 2.6.0

demo/mejs-controls.svg

65

changelog.md

@@ -1,7 +0,16 @@

## Version History
# Version History
2.5.1 (2020/03/16)*
## *2.6.0 (2021/09/20)*
NEW PLUGINS
### ACCESSIBILITY PLUGIN
* Added adoption of value for iconSprite from mediaelement player 5.0 to player for audio description
* Change audio-description-icon for visibility reasons when using user defined color values
* Added default iconSprite for mediaelement player 5.0 ('mejs-controls.svg') for a11y demo
* compatible with MediaElementJS 5.x
## *2.5.1 (2020/03/16)*
### NEW PLUGINS
* Added snapshot plugin

@@ -12,3 +21,3 @@ * Added Markers Rolls plugin (#155)

TRANSLATIONS
### TRANSLATIONS

@@ -22,3 +31,3 @@ * Added Turkish translations (#154)

DOCUMENTATION
### DOCUMENTATION

@@ -29,3 +38,3 @@ * README.md: Fix link to the real Rafael Miranda :)

PIP PLUGIN
### PIP PLUGIN

@@ -41,11 +50,11 @@ * Added support for WICG PiP mode

POSTROLL PLUGIN
### POSTROLL PLUGIN
* Close postroll, when replaing video (#158)
ADS PLUGIN
### ADS PLUGIN
* Added 'mejsprerollfinished' Event to detect end of last Ad-Preroll, Ads.js (#136)
ACCESSIBILITY PLUGIN (#142)
### ACCESSIBILITY PLUGIN (#142)

@@ -57,3 +66,3 @@ * Added support for sign language and audio description and stylings

QUALITY PLUGIN
### QUALITY PLUGIN

@@ -72,3 +81,3 @@ * Added callback on change quality (#140)

PLAYLIST PLUGIN
### PLAYLIST PLUGIN

@@ -79,3 +88,3 @@ * Fix playlist error in Safari (#129, #164)

SPEED KEYS PLUGIN
### SPEED KEYS PLUGIN

@@ -85,3 +94,3 @@ * Implement keyboard controls for changing playback speed using < and > keys like on YouTube.

*2.5.0 (2017/11/17)*
## *2.5.0 (2017/11/17)*

@@ -96,3 +105,3 @@ * Fixed typo on `Playlist` plugin that caused error on Edge, removed `disabled` attribute on each item and fixed workflow to autoplay next element @rafa8626

*2.4.0 (2017/08/09)*
## *2.4.0 (2017/08/09)*

@@ -106,3 +115,3 @@ * Added missing translations and removed Brazilian Portuguese to favor Portuguese @rafa8626

*2.3.1 (2017/07/22)*
## *2.3.1 (2017/07/22)*

@@ -115,3 +124,3 @@ * Added missing workflow to avoid loading multiple times same source on `Chromecast` plugin and added code to end session correctly @rafa8626

*2.3.0 (2017/06/26)*
## *2.3.0 (2017/06/26)*

@@ -126,3 +135,3 @@ * Integrated `Facebook Pixel` plugin (https://github.com/mediaelement/mediaelement-plugins/pull/58) @isantolin

*2.2.2 (2017/05/25)*
## *2.2.2 (2017/05/25)*

@@ -136,3 +145,3 @@ * Added `markerWidth` property for `Markers` plugin (https://github.com/mediaelement/mediaelement-plugins/pull/49) @leocaseiro

*2.2.1 (2017/05/16)*
## *2.2.1 (2017/05/16)*

@@ -151,3 +160,3 @@ * Fixed issues in Safari related to `Source Chooser` plugin @rafa8626

*2.2.0 (2017/04/28)*
## *2.2.0 (2017/04/28)*

@@ -159,3 +168,3 @@ * Modified commands on `package.json` to avoid creating source map on stylesheets @rafa8626

*2.1.1 (2017/04/19)*
## *2.1.1 (2017/04/19)*

@@ -168,3 +177,3 @@ * Added demo file to show how to setup and configure plugins @rafa8626

*2.1.0 (2017/03/30)*
## *2.1.0 (2017/03/30)*

@@ -177,11 +186,11 @@ * Added missing `bind()` calls on `Ads` plugin @rafa8626

*2.0.0 (2017/03/22)*
## *2.0.0 (2017/03/22)*
* Removed all dependencies to jQuery in code and used `mejs.Utils` to mimic jQuery's most used methods @rafa8626
*1.2.3 (2017/03/01)*
## *1.2.3 (2017/03/01)*
* Improved way to add control elements by using new `addControlElement()` method @rafa8626
*1.2.2 (2017/03/01)*
## *1.2.2 (2017/03/01)*

@@ -191,3 +200,3 @@ * Added translation files for all the plugins that required it and added documentation @rafa8626

*1.2.1 (2017/02/26)*
## *1.2.1 (2017/02/26)*

@@ -200,3 +209,3 @@ * Fixed issue with `Preview` plugin when using delay and moving out of player @rafa8626

*1.2.0 (2017/02/21)*
## *1.2.0 (2017/02/21)*

@@ -208,3 +217,3 @@ * Integrated ESLint and fixed some bugs found @rafa8626

*1.1.0 (2017/01/30)*
## *1.1.0 (2017/01/30)*

@@ -214,4 +223,4 @@ * Added `preview` plugin that plays/pauses video when hovering it and allows to mute/fade-in/fade-out audio in `video` and `audio` tags @rafa8626

*1.0.0 (2017/01/22)*
## *1.0.0 (2017/01/22)*
* initial release

@@ -52,12 +52,12 @@ /*!

t.node.addEventListener('play', function () {
t.media.addEventListener('play', function () {
return t.options.isPlaying = true;
});
t.node.addEventListener('playing', function () {
t.media.addEventListener('playing', function () {
return t.options.isPlaying = true;
});
t.node.addEventListener('pause', function () {
t.media.addEventListener('pause', function () {
return t.options.isPlaying = false;
});
t.node.addEventListener('ended', function () {
t.media.addEventListener('ended', function () {
return t.options.isPlaying = false;

@@ -168,3 +168,7 @@ });

startVolume: t.node.volume,
pauseOtherPlayers: false
pauseOtherPlayers: false,
iconSprite: t.options.iconSprite,
fakeNodeName: t.options.fakeNodeName || 'mediaelementwrapper'
});

@@ -175,3 +179,3 @@

});
t.node.addEventListener('play', function () {
t.media.addEventListener('play', function () {
return t.audioDescription.node.play().catch(function (e) {

@@ -181,3 +185,3 @@ return console.error(e);

});
t.node.addEventListener('playing', function () {
t.media.addEventListener('playing', function () {
return t.audioDescription.node.play().catch(function (e) {

@@ -187,19 +191,19 @@ return console.error(e);

});
t.node.addEventListener('pause', function () {
t.media.addEventListener('pause', function () {
return t.audioDescription.node.pause();
});
t.node.addEventListener('waiting', function () {
t.media.addEventListener('waiting', function () {
return t.audioDescription.node.pause();
});
t.node.addEventListener('ended', function () {
t.media.addEventListener('ended', function () {
return t.audioDescription.node.pause();
});
t.node.addEventListener('timeupdate', function () {
var shouldSync = Math.abs(t.node.currentTime - t.audioDescription.node.currentTime) > 0.35;
t.media.addEventListener('timeupdate', function () {
var shouldSync = Math.abs(t.currentTime - t.audioDescription.node.currentTime) > 0.35;
var canPlay = t.options.audioDescriptionCanPlay;
if (shouldSync && canPlay) t.audioDescription.node.currentTime = t.node.currentTime;
if (shouldSync && canPlay) t.audioDescription.node.currentTime = t.currentTime;
});
if (t.options.isVoiceover) {
t.node.addEventListener('volumechange', function () {
t.media.addEventListener('volumechange', function () {
return t.audioDescription.node.volume = t.node.volume;

@@ -226,9 +230,12 @@ });

if (t.options.audioDescriptionToggled) {
t.audioDescription.node.volume = t.node.volume;
if (t.options.isPlaying && t.audioDescription) t.audioDescription.node.play().catch(function (e) {
return console.error(e);
});
t.audioDescription.node.volume = t.volume;
if (t.options.isPlaying && t.audioDescription) {
t.audioDescription.node.muted = false;
t.audioDescription.node.play().catch(function (e) {
return console.error(e);
});
}
if (!t.options.isVoiceover) {
t.node.muted = true;
t.muted = true;
t.audioDescription.node.muted = false;

@@ -242,7 +249,8 @@ }

} else {
t.node.volume = t.audioDescription.node.volume;
t.volume = t.audioDescription.node.volume;
t.audioDescription.node.pause();
t.audioDescription.node.muted = true;
if (!t.options.isVoiceover) {
t.node.muted = false;
t.muted = false;
t.audioDescription.node.muted = true;

@@ -249,0 +257,0 @@ }

@@ -12,2 +12,2 @@ /*!

*/
!function r(s,d,u){function a(o,e){if(!d[o]){if(!s[o]){var i="function"==typeof require&&require;if(!e&&i)return i(o,!0);if(c)return c(o,!0);var t=new Error("Cannot find module '"+o+"'");throw t.code="MODULE_NOT_FOUND",t}var n=d[o]={exports:{}};s[o][0].call(n.exports,function(e){return a(s[o][1][e]||e)},n,n.exports,r,s,d,u)}return d[o].exports}for(var c="function"==typeof require&&require,e=0;e<u.length;e++)a(u[e]);return a}({1:[function(e,o,i){"use strict";mejs.i18n.en["mejs.a11y-audio-description"]="Toggle audio description",mejs.i18n.en["mejs.a11y-video-description"]="Toggle sign language",Object.assign(mejs.MepDefaults,{videoDescriptionToggled:!1,audioDescriptionToggled:!1,defaultSource:null,audioDescriptionSource:null,videoDescriptionSource:null,isPlaying:!1,isVoiceover:!1,audioDescriptionCanPlay:!1}),Object.assign(MediaElementPlayer.prototype,{builda11y:function(){var e=this;e.options.defaultSource={src:e.node.src,type:e.node.type},e.options.isVoiceover=e._loadBooleanFromAttribute("data-audio-description-voiceover"),e.options.audioDescriptionSource=e._loadSourceFromAttribute("data-audio-description"),e.options.videoDescriptionSource=e._loadSourceFromAttribute("data-video-description"),e.options.audioDescriptionSource&&e._createAudioDescription(),e.options.videoDescriptionSource&&e._createVideoDescription(),e.node.addEventListener("play",function(){return e.options.isPlaying=!0}),e.node.addEventListener("playing",function(){return e.options.isPlaying=!0}),e.node.addEventListener("pause",function(){return e.options.isPlaying=!1}),e.node.addEventListener("ended",function(){return e.options.isPlaying=!1})},_getFirstChildNodeByClassName:function(e,o){return[].concat(function(e){if(Array.isArray(e)){for(var o=0,i=Array(e.length);o<e.length;o++)i[o]=e[o];return i}return Array.from(e)}(e.childNodes)).find(function(e){return-1<e.className.indexOf(o)})},_createAudioDescription:function(){var e=this,o=mejs.i18n.t("mejs.a11y-audio-description"),i=document.createElement("div");i.className=e.options.classPrefix+"button "+e.options.classPrefix+"audio-description-button",i.innerHTML='<button type="button" aria-controls="'+e.id+'" title="'+o+'" aria-label="'+o+'" tabindex="0"></button>',e.addControlElement(i,"audio-description"),i.addEventListener("click",function(){e.options.audioDescriptionToggled=!e.options.audioDescriptionToggled,mejs.Utils.toggleClass(i,"audio-description-on"),e._toggleAudioDescription()})},_createVideoDescription:function(){var e=this,o=mejs.i18n.t("mejs.a11y-video-description"),i=document.createElement("div");i.className=e.options.classPrefix+"button "+e.options.classPrefix+"video-description-button",i.innerHTML='<button type="button" aria-controls="'+e.id+'" title="'+o+'" aria-label="'+o+'" tabindex="0"></button>',e.addControlElement(i,"video-description"),i.addEventListener("click",function(){e.options.videoDescriptionToggled=!e.options.videoDescriptionToggled,mejs.Utils.toggleClass(i,"video-description-on"),e._toggleVideoDescription()})},_loadSourceFromAttribute:function(o){if(!this.node.hasAttribute(o))return null;var e,i=void 0;try{var t=this.node.getAttribute(o);i=JSON.parse(t)}catch(e){console.error("error loading "+o+": "+e.message)}finally{e=i}return e?this._evaluateBestMatchingSource(e):null},_loadBooleanFromAttribute:function(e){if(!this.node.hasAttribute(e))return!1;var o=this.node.getAttribute(e);return"true"===o||""===o},_evaluateBestMatchingSource:function(e){var t=this,o=function(e){return i=e.type,o=mejs.Utils.getMimeFromType(i),t.node.canPlayType(o);var o,i},i=e.find(function(e){return"probably"===o(e)});if(i)return i;var n=e.find(function(e){return"maybe"===o(e)});return n||null},_createAudioDescriptionPlayer:function(){var i=this,e=document.createElement("audio");if(e.setAttribute("preload","auto"),e.classList.add(i.options.classPrefix+"audio-description-player"),e.setAttribute("src",i.options.audioDescriptionSource.src),e.setAttribute("type",i.options.audioDescriptionSource.type),e.load(),document.body.appendChild(e),i.audioDescription=new mejs.MediaElementPlayer(e,{features:["volume"],audioVolume:i.options.videoVolume,startVolume:i.node.volume,pauseOtherPlayers:!1}),i.audioDescription.node.addEventListener("canplay",function(){return i.options.audioDescriptionCanPlay=!0}),i.node.addEventListener("play",function(){return i.audioDescription.node.play().catch(function(e){return console.error(e)})}),i.node.addEventListener("playing",function(){return i.audioDescription.node.play().catch(function(e){return console.error(e)})}),i.node.addEventListener("pause",function(){return i.audioDescription.node.pause()}),i.node.addEventListener("waiting",function(){return i.audioDescription.node.pause()}),i.node.addEventListener("ended",function(){return i.audioDescription.node.pause()}),i.node.addEventListener("timeupdate",function(){var e=.35<Math.abs(i.node.currentTime-i.audioDescription.node.currentTime),o=i.options.audioDescriptionCanPlay;e&&o&&(i.audioDescription.node.currentTime=i.node.currentTime)}),i.options.isVoiceover)i.node.addEventListener("volumechange",function(){return i.audioDescription.node.volume=i.node.volume});else{var o=i.options.classPrefix+"volume-button",t=i._getFirstChildNodeByClassName(i.controls,o);if(i.videoVolumeButton=t){var n=i._getFirstChildNodeByClassName(i.audioDescription.controls,o);t.classList.add("hidden"),i.controls.insertBefore(n,t.nextSibling),i.descriptiveVolumeButton=n}}},_toggleAudioDescription:function(){var e=this;e.audioDescription||e._createAudioDescriptionPlayer(),e.options.audioDescriptionToggled?(e.audioDescription.node.volume=e.node.volume,e.options.isPlaying&&e.audioDescription&&e.audioDescription.node.play().catch(function(e){return console.error(e)}),e.options.isVoiceover||(e.node.muted=!0,e.audioDescription.node.muted=!1),!e.options.isVoiceover&&e.videoVolumeButton&&e.descriptiveVolumeButton&&(mejs.Utils.addClass(e.videoVolumeButton,"hidden"),mejs.Utils.removeClass(e.descriptiveVolumeButton,"hidden"))):(e.node.volume=e.audioDescription.node.volume,e.audioDescription.node.pause(),e.options.isVoiceover||(e.node.muted=!1,e.audioDescription.node.muted=!0),!e.options.isVoiceover&&e.videoVolumeButton&&e.descriptiveVolumeButton&&(mejs.Utils.removeClass(e.videoVolumeButton,"hidden"),mejs.Utils.addClass(e.descriptiveVolumeButton,"hidden")))},_toggleVideoDescription:function(){var e=this,o=e.node.currentTime,i=e.options.isPlaying,t=e.options.videoDescriptionToggled;e.node.pause(),e.node.src=t?e.options.videoDescriptionSource.src:e.options.defaultSource.src,e.node.type=t?e.options.videoDescriptionSource.type:e.options.defaultSource.type,e.node.load(),i?e.node.play().then(function(){return e.node.currentTime=o}).catch(function(e){return console.error(e)}):e.node.setCurrentTime(o)}})},{}]},{},[1]);
!function r(s,d,a){function u(i,e){if(!d[i]){if(!s[i]){var o="function"==typeof require&&require;if(!e&&o)return o(i,!0);if(c)return c(i,!0);var t=new Error("Cannot find module '"+i+"'");throw t.code="MODULE_NOT_FOUND",t}var n=d[i]={exports:{}};s[i][0].call(n.exports,function(e){return u(s[i][1][e]||e)},n,n.exports,r,s,d,a)}return d[i].exports}for(var c="function"==typeof require&&require,e=0;e<a.length;e++)u(a[e]);return u}({1:[function(e,i,o){"use strict";mejs.i18n.en["mejs.a11y-audio-description"]="Toggle audio description",mejs.i18n.en["mejs.a11y-video-description"]="Toggle sign language",Object.assign(mejs.MepDefaults,{videoDescriptionToggled:!1,audioDescriptionToggled:!1,defaultSource:null,audioDescriptionSource:null,videoDescriptionSource:null,isPlaying:!1,isVoiceover:!1,audioDescriptionCanPlay:!1}),Object.assign(MediaElementPlayer.prototype,{builda11y:function(){var e=this;e.options.defaultSource={src:e.node.src,type:e.node.type},e.options.isVoiceover=e._loadBooleanFromAttribute("data-audio-description-voiceover"),e.options.audioDescriptionSource=e._loadSourceFromAttribute("data-audio-description"),e.options.videoDescriptionSource=e._loadSourceFromAttribute("data-video-description"),e.options.audioDescriptionSource&&e._createAudioDescription(),e.options.videoDescriptionSource&&e._createVideoDescription(),e.media.addEventListener("play",function(){return e.options.isPlaying=!0}),e.media.addEventListener("playing",function(){return e.options.isPlaying=!0}),e.media.addEventListener("pause",function(){return e.options.isPlaying=!1}),e.media.addEventListener("ended",function(){return e.options.isPlaying=!1})},_getFirstChildNodeByClassName:function(e,i){return[].concat(function(e){if(Array.isArray(e)){for(var i=0,o=Array(e.length);i<e.length;i++)o[i]=e[i];return o}return Array.from(e)}(e.childNodes)).find(function(e){return-1<e.className.indexOf(i)})},_createAudioDescription:function(){var e=this,i=mejs.i18n.t("mejs.a11y-audio-description"),o=document.createElement("div");o.className=e.options.classPrefix+"button "+e.options.classPrefix+"audio-description-button",o.innerHTML='<button type="button" aria-controls="'+e.id+'" title="'+i+'" aria-label="'+i+'" tabindex="0"></button>',e.addControlElement(o,"audio-description"),o.addEventListener("click",function(){e.options.audioDescriptionToggled=!e.options.audioDescriptionToggled,mejs.Utils.toggleClass(o,"audio-description-on"),e._toggleAudioDescription()})},_createVideoDescription:function(){var e=this,i=mejs.i18n.t("mejs.a11y-video-description"),o=document.createElement("div");o.className=e.options.classPrefix+"button "+e.options.classPrefix+"video-description-button",o.innerHTML='<button type="button" aria-controls="'+e.id+'" title="'+i+'" aria-label="'+i+'" tabindex="0"></button>',e.addControlElement(o,"video-description"),o.addEventListener("click",function(){e.options.videoDescriptionToggled=!e.options.videoDescriptionToggled,mejs.Utils.toggleClass(o,"video-description-on"),e._toggleVideoDescription()})},_loadSourceFromAttribute:function(i){if(!this.node.hasAttribute(i))return null;var e,o=void 0;try{var t=this.node.getAttribute(i);o=JSON.parse(t)}catch(e){console.error("error loading "+i+": "+e.message)}finally{e=o}return e?this._evaluateBestMatchingSource(e):null},_loadBooleanFromAttribute:function(e){if(!this.node.hasAttribute(e))return!1;var i=this.node.getAttribute(e);return"true"===i||""===i},_evaluateBestMatchingSource:function(e){var t=this,i=function(e){return o=e.type,i=mejs.Utils.getMimeFromType(o),t.node.canPlayType(i);var i,o},o=e.find(function(e){return"probably"===i(e)});if(o)return o;var n=e.find(function(e){return"maybe"===i(e)});return n||null},_createAudioDescriptionPlayer:function(){var o=this,e=document.createElement("audio");if(e.setAttribute("preload","auto"),e.classList.add(o.options.classPrefix+"audio-description-player"),e.setAttribute("src",o.options.audioDescriptionSource.src),e.setAttribute("type",o.options.audioDescriptionSource.type),e.load(),document.body.appendChild(e),o.audioDescription=new mejs.MediaElementPlayer(e,{features:["volume"],audioVolume:o.options.videoVolume,startVolume:o.node.volume,pauseOtherPlayers:!1,iconSprite:o.options.iconSprite,fakeNodeName:o.options.fakeNodeName||"mediaelementwrapper"}),o.audioDescription.node.addEventListener("canplay",function(){return o.options.audioDescriptionCanPlay=!0}),o.media.addEventListener("play",function(){return o.audioDescription.node.play().catch(function(e){return console.error(e)})}),o.media.addEventListener("playing",function(){return o.audioDescription.node.play().catch(function(e){return console.error(e)})}),o.media.addEventListener("pause",function(){return o.audioDescription.node.pause()}),o.media.addEventListener("waiting",function(){return o.audioDescription.node.pause()}),o.media.addEventListener("ended",function(){return o.audioDescription.node.pause()}),o.media.addEventListener("timeupdate",function(){var e=.35<Math.abs(o.currentTime-o.audioDescription.node.currentTime),i=o.options.audioDescriptionCanPlay;e&&i&&(o.audioDescription.node.currentTime=o.currentTime)}),o.options.isVoiceover)o.media.addEventListener("volumechange",function(){return o.audioDescription.node.volume=o.node.volume});else{var i=o.options.classPrefix+"volume-button",t=o._getFirstChildNodeByClassName(o.controls,i);if(o.videoVolumeButton=t){var n=o._getFirstChildNodeByClassName(o.audioDescription.controls,i);t.classList.add("hidden"),o.controls.insertBefore(n,t.nextSibling),o.descriptiveVolumeButton=n}}},_toggleAudioDescription:function(){var e=this;e.audioDescription||e._createAudioDescriptionPlayer(),e.options.audioDescriptionToggled?(e.audioDescription.node.volume=e.volume,e.options.isPlaying&&e.audioDescription&&(e.audioDescription.node.muted=!1,e.audioDescription.node.play().catch(function(e){return console.error(e)})),e.options.isVoiceover||(e.muted=!0,e.audioDescription.node.muted=!1),!e.options.isVoiceover&&e.videoVolumeButton&&e.descriptiveVolumeButton&&(mejs.Utils.addClass(e.videoVolumeButton,"hidden"),mejs.Utils.removeClass(e.descriptiveVolumeButton,"hidden"))):(e.volume=e.audioDescription.node.volume,e.audioDescription.node.pause(),e.audioDescription.node.muted=!0,e.options.isVoiceover||(e.muted=!1,e.audioDescription.node.muted=!0),!e.options.isVoiceover&&e.videoVolumeButton&&e.descriptiveVolumeButton&&(mejs.Utils.removeClass(e.videoVolumeButton,"hidden"),mejs.Utils.addClass(e.descriptiveVolumeButton,"hidden")))},_toggleVideoDescription:function(){var e=this,i=e.node.currentTime,o=e.options.isPlaying,t=e.options.videoDescriptionToggled;e.node.pause(),e.node.src=t?e.options.videoDescriptionSource.src:e.options.defaultSource.src,e.node.type=t?e.options.videoDescriptionSource.type:e.options.defaultSource.type,e.node.load(),o?e.node.play().then(function(){return e.node.currentTime=i}).catch(function(e){return console.error(e)}):e.node.setCurrentTime(i)}})},{}]},{},[1]);

@@ -21,2 +21,22 @@ /*!

*
*//*!
* MediaElement.js
* http://www.mediaelementjs.com/
*
* Wrapper that mimics native HTML5 MediaElement (audio and video)
* using a variety of technologies (pure JavaScript, Flash, iframe)
*
* Copyright 2010-2017, John Dyer (http://j.hn/)
* License: MIT
*
*//*!
* MediaElement.js
* http://www.mediaelementjs.com/
*
* Wrapper that mimics native HTML5 MediaElement (audio and video)
* using a variety of technologies (pure JavaScript, Flash, iframe)
*
* Copyright 2010-2017, John Dyer (http://j.hn/)
* License: MIT
*
*/(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 })({

@@ -23,0 +43,0 @@ 1: [function (_dereq_, module, exports) {

@@ -161,2 +161,3 @@ /*!

nextRadio.dispatchEvent(mejs.Utils.createEvent('click', nextRadio));
break;
}

@@ -174,2 +175,3 @@ }

prevRadio.dispatchEvent(mejs.Utils.createEvent('click', prevRadio));
break;
}

@@ -176,0 +178,0 @@ }

@@ -12,2 +12,2 @@ /*!

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

@@ -51,2 +51,3 @@ module.exports = function (grunt) {

'dist/google-analytics/google-analytics.js': 'src/google-analytics/google-analytics.js',
'dist/google-tag-manager/google-tag-manager.js': 'src/google-tag-manager/google-tag-manager.js',
'dist/jump-forward/jump-forward.js': 'src/jump-forward/jump-forward.js',

@@ -169,6 +170,16 @@ 'dist/loop/loop.js': 'src/loop/loop.js',

expand: true,
src: ['**/*.png', '**/*.svg', '**/*-i18n.js'],
src: ['**/*.png', '**/*.svg', '**/*-i18n.js', '!**/demo/**'],
dest: 'dist/'
}
]
},
demo: {
files: [
{
cwd: 'src/demo',
expand: true,
src: ['mejs-controls.svg'],
dest: 'demo/'
}
]
}

@@ -175,0 +186,0 @@ }

{
"name": "mediaelement-plugins",
"version": "2.5.1",
"version": "2.6.0",
"repository": {

@@ -5,0 +5,0 @@ "type": "git",

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

* [A11y](docs/a11y.md)
* [A11y](docs/a11y.md) - compatible with MediaElementJS 5.x
* [Ads](docs/ads.md)

@@ -198,3 +198,3 @@ * [AirPlay](docs/airplay.md)

* [Preview](docs/preview.md)
* [Quality](docs/quality.md)
* [Quality](docs/quality.md) - compatible with MediaElementJS 4.x
* [Skip Back](docs/skip-back.md)

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

@@ -72,6 +72,6 @@ 'use strict';

t.node.addEventListener('play', () => t.options.isPlaying = true);
t.node.addEventListener('playing', () => t.options.isPlaying = true);
t.node.addEventListener('pause', () => t.options.isPlaying = false);
t.node.addEventListener('ended', () => t.options.isPlaying = false);
t.media.addEventListener('play', () => t.options.isPlaying = true);
t.media.addEventListener('playing', () => t.options.isPlaying = true);
t.media.addEventListener('pause', () => t.options.isPlaying = false);
t.media.addEventListener('ended', () => t.options.isPlaying = false);
},

@@ -215,15 +215,19 @@

startVolume: t.node.volume,
pauseOtherPlayers: false
pauseOtherPlayers: false,
// use same iconSprite as in video
iconSprite: t.options.iconSprite,
// use same nodeName as in video
fakeNodeName: t.options.fakeNodeName || 'mediaelementwrapper',
});
t.audioDescription.node.addEventListener('canplay', () => t.options.audioDescriptionCanPlay = true);
t.node.addEventListener('play', () => t.audioDescription.node.play().catch(e => console.error(e)));
t.node.addEventListener('playing', () => t.audioDescription.node.play().catch(e => console.error(e)));
t.node.addEventListener('pause', () => t.audioDescription.node.pause());
t.node.addEventListener('waiting', () => t.audioDescription.node.pause());
t.node.addEventListener('ended', () => t.audioDescription.node.pause());
t.node.addEventListener('timeupdate', () => {
const shouldSync = Math.abs(t.node.currentTime - t.audioDescription.node.currentTime) > 0.35;
t.media.addEventListener('play', () => t.audioDescription.node.play().catch(e => console.error(e)));
t.media.addEventListener('playing', () => t.audioDescription.node.play().catch(e => console.error(e)));
t.media.addEventListener('pause', () => t.audioDescription.node.pause());
t.media.addEventListener('waiting', () => t.audioDescription.node.pause());
t.media.addEventListener('ended', () => t.audioDescription.node.pause());
t.media.addEventListener('timeupdate', () => {
const shouldSync = Math.abs(t.currentTime - t.audioDescription.node.currentTime) > 0.35;
const canPlay = t.options.audioDescriptionCanPlay;
if (shouldSync && canPlay) t.audioDescription.node.currentTime = t.node.currentTime;
if (shouldSync && canPlay) t.audioDescription.node.currentTime = t.currentTime;
});

@@ -234,3 +238,3 @@

if(t.options.isVoiceover) {
t.node.addEventListener('volumechange', () => t.audioDescription.node.volume = t.node.volume);
t.media.addEventListener('volumechange', () => t.audioDescription.node.volume = t.node.volume);
} else {

@@ -261,7 +265,12 @@ const volumeButtonClass = `${t.options.classPrefix}volume-button`;

if (t.options.audioDescriptionToggled) {
t.audioDescription.node.volume = t.node.volume;
if (t.options.isPlaying && t.audioDescription) t.audioDescription.node.play().catch(e => console.error(e));
t.audioDescription.node.volume = t.volume;
if (t.options.isPlaying && t.audioDescription) {
t.audioDescription.node.muted = false;
t.audioDescription.node.play().catch(function (e) {
return console.error(e);
});
}
if(!t.options.isVoiceover) {
t.node.muted = true;
t.muted = true;
t.audioDescription.node.muted = false;

@@ -275,7 +284,8 @@ }

} else {
t.node.volume = t.audioDescription.node.volume;
t.volume = t.audioDescription.node.volume;
t.audioDescription.node.pause();
t.audioDescription.node.muted = true;
if(!t.options.isVoiceover) {
t.node.muted = false;
t.muted = false;
t.audioDescription.node.muted = true;

@@ -282,0 +292,0 @@ }

@@ -209,2 +209,3 @@ 'use strict';

nextRadio.dispatchEvent(mejs.Utils.createEvent('click', nextRadio));
break;
}

@@ -223,2 +224,3 @@ }

prevRadio.dispatchEvent(mejs.Utils.createEvent('click', prevRadio));
break;
}

@@ -256,2 +258,2 @@ }

}
});
});

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc