@flowplayer/player 3.0.7-rc.0 → 3.1.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core.js +2 -2
- package/default.js +2 -2
- package/embed.js +97 -93
- package/flowplayer.css +1 -1
- package/index.d.ts +42 -4
- package/package.json +2 -1
- package/plugins/ads.js +22 -3
- package/plugins/asel.js +1 -1
- package/plugins/chapters.js +1 -1
- package/plugins/chromecast.js +1 -1
- package/plugins/consent.js +1 -0
- package/plugins/cuepoints.js +1 -1
- package/plugins/dash.js +2 -2
- package/plugins/float-on-scroll.js +1 -1
- package/plugins/health.js +1 -16
- package/plugins/id3.js +1 -16
- package/plugins/ovp.js +1 -1
- package/plugins/qsel.js +1 -1
- package/plugins/share.js +1 -1
- package/plugins/speed.js +1 -1
- package/plugins/subtitles.js +1 -1
- package/plugins/thumbnails.js +1 -1
package/plugins/asel.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.asel=t())}(this,(function(){"use strict";var e={SET:"audio:set",SWITCH:"audio:update",TRACKS:"audio:tracks"};function t(e,t,n){const s=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;s.length;){if(null==e)return n;const t=s.shift();if("string"!=typeof t)return n;e=e[t]}return null==e?n:e}const n=navigator.languages||[navigator.language];function s(t,n){t.emit(e.SET,n),n.autoselect&&
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.asel=t())}(this,(function(){"use strict";var e={SET:"audio:set",SWITCH:"audio:update",TRACKS:"audio:tracks"};function t(e,t,n){const s=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;s.length;){if(null==e)return n;const t=s.shift();if("string"!=typeof t)return n;e=e[t]}return null==e?n:e}const n=navigator.languages||[navigator.language];function s(t,n){t.emit(e.SET,n),n.autoselect&&t._storage.setItem("@flowplayer/audio/track",n.lang)}function o(e){return e.toLowerCase()}function i(e,s,i){s=s.slice(0);const a={},r=e.getItem("@flowplayer/audio/track");let l=function(){try{return n.reduce((e,t)=>~t.indexOf("-")?e.concat(t,t.split("-")[0]):e.concat(t),[])}catch(e){return[]}}().map(o),c=-1;if("number"==typeof i)return i;for("string"==typeof i&&(i=i.toLowerCase(),~l.indexOf(i)&&l.splice(l.indexOf(i),1),l.unshift(o(i))),Array.isArray(i)&&(l=i.map(o));s.length;){++c;const e=s.shift();if(null==e?void 0:e.autoselect){if(r==e.lang)return console.debug("restoring lang from previous session: ",r),c;if(e.default&&(a.fallback=[c,e]),e.lang&&~l.indexOf(e.lang.toLowerCase())){const n=l.indexOf(e.lang);if(n<t(a,"by_lang.2",1/0)&&(a.by_lang=[c,e,n]),0===n)break}}}return t(a,"by_lang.0",t(a,"fallback.0",void 0))}const a=(e,t)=>new(((e,t)=>{const n=e.get(t);if(!n)throw new Error(`no flowplayer component with the name ${t} exists`);const s=window.customElements.get(t);if(!s)throw new Error(`no default flowplayer component with the name ${t} exists`);const o=window.customElements.get(n);return"function"!=typeof o?s:o})(e._customElements,t))(e);class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}const r="fp-on",l="fp-invis";class FlowplayerMenu extends FlowplayerComponent{constructor(e){super(e),this.player=e,this.menuContainer=document.createElement("details"),this.summaryEle=document.createElement("summary"),this.olEle=document.createElement("ol"),this.menu=document.createElement("div"),this.closeEle=document.createElement("span"),this.menu.classList.add("fp-menu"),this.menu.append(this.closeEle,this.olEle),this.closeEle.classList.add("fp-close"),this.closeEle.textContent="×",this.menuContainer.append(this.summaryEle,this.menu),this.menuContainer.addEventListener("click",(function(t){t.preventDefault();const n=this.open;n||(c(),document.active_menu=this),this.open=!n,e.root.classList.toggle("has-menu-opened",!n)})),this.append(this.menuContainer)}get options(){return this.olEle.querySelectorAll("li")}setMenuAttrs(e){if(this.className=`${e.class} ${l}`,this.menuContainer.classList.add("fp-menu-container"),this.menuContainer.setAttribute("aria-controls",e.id||Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)),this.menuContainer.setAttribute("aria-label",e.menuTitle||""),e.summaryTitle&&(this.summaryEle.textContent=e.summaryTitle),e.summaryIcon){const t=a(this.player,e.summaryIcon);t.setAttribute("tabindex",""),this.summaryEle.append(t)}if(e.menuTitle){const t=document.createElement("h3");t.textContent=e.menuTitle,this.menu.prepend(t)}this.menu.classList.toggle("fp-icons",!!e.icons),this.addEventListener(e.options_event,e=>{this.render(e.data)}),e.item_selected_event&&this.addEventListener(e.item_selected_event,e=>{void 0!==e.data&&this.select_item(e.data.selected_index)})}render(e){this.olEle&&(this.olEle.innerHTML="",e&&e.forEach(this.menuOption,this),this.classList.toggle(l,!(null==e?void 0:e.length)))}menuOption(e,t){const n=document.createElement("li");n.setAttribute("tabindex","0"),n.setAttribute("role","menuitem"),e.icon&&n.append(e.icon);const s=document.createElement("span");s.textContent=e.text,n.append(s),n.addEventListener("click",()=>{this.select_item(t),"function"==typeof e.onclick&&e.onclick()}),this.olEle.appendChild(n)}select_item(e){this.options.forEach((t,n)=>{t.classList.toggle(r,n===e&&("flowplayer-subtitles-menu"!==this.localName||!t.classList.contains(r)))})}unselect_item(){this.options.forEach(e=>{e.classList.remove(r)})}}function c(){Array.from(document.querySelectorAll(".fp-engine")).forEach(e=>{const t=e.root.querySelector("details[open].fp-menu-container");t&&(t.open=!1,e.root.classList.toggle("has-menu-opened",!1))})}function u(e,t,n){const s=function(e,t){const n=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(n,"data",{get:()=>t}),n}(t,n);return e.dispatchEvent(s),e}document.addEventListener("click",(function(e){this.active_menu&&!e.composedPath().includes(this.active_menu)&&(c(),this.active_menu=void 0)})),function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}catch(e){}}();class Asel{constructor(e){((e,t,n)=>{window.customElements.get(t)||window.customElements.define(t,n),e.customElements.get(t)||e.customElements.set(t,t)})(e,"flowplayer-audio-menu",FlowplayerMenu)}init(n,o,r){if(!1===n.asel)return;let c=[];const m=a(r,"flowplayer-audio-menu");m instanceof FlowplayerMenu&&m.setMenuAttrs({summaryTitle:r.i18n("audio.button_txt"),menuTitle:r.i18n("audio.menu_title"),class:"fp-asel",options_event:Asel.events.TRACKS,item_selected_event:Asel.events.SWITCH});const f=function(t){const n={tracks:[],events:e};return Object.assign(n,{set:function(s){if(!("number"!=typeof s||s<0||s>n.tracks.length-1))return t.emit(e.SET,n.tracks[s]),n},get:function(e){if("number"==typeof e)return n.tracks[e]}}),n}(r);r.asel=f,r.on("mount",(function(){var e;null===(e=function(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}(r,"flowplayer-control"))||void 0===e||e.append(m)})),r.on(e.TRACKS,(function(e){if(!Array.isArray(e.data)||e.data.length===c.length&&e.data.every((e,t)=>e===c[t]))return;c=e.data,f.tracks=c.slice();const o=t(n,"asel.sort");"function"==typeof o&&f.tracks.sort(o),u(m,Asel.events.TRACKS,Array.from({length:f.tracks.length}).map((e,t)=>{const n=f.tracks[t];return{text:n.name||n.label||n.lang,onclick:s.bind(0,r,n)}}));const a=f.tracks.filter((function(e){return e.enabled}))[0];a&&u(m,Asel.events.SWITCH,{selected_index:f.tracks.indexOf(a)});const d=i(r._storage,f.tracks,t(n,"asel.default_lang",!1));return m instanceof FlowplayerMenu&&m.classList.toggle(l,e.data.length<2),void 0!==d?f.set(d):void 0})),r.on(e.SWITCH,(function(e){const n=t(e,"data.id",-1),s=f.tracks.filter((function(e){return e.id===n}))[0];s&&u(m,Asel.events.SWITCH,{selected_index:f.tracks.indexOf(s)})})),r.audioTracks&&(r.audioTracks.addEventListener("addtrack",(function(){if(r.hls)return;const t=Array.from(r.audioTracks).slice().map(d);r.emit(e.TRACKS,t)})),r.on(e.SET,(function(e){r.hls||Array.from(r.audioTracks).forEach(t=>{var n;t.enabled=(null===(n=e.data)||void 0===n?void 0:n.id)===t.id})})))}}function d(e){return Object.assign({},[{}].concat(["id","kind","enabled","label","language"].map((function(t){const n={};return n["language"===t?"lang":t]=e[t],n}))))}return Asel.events={TRACKS:e.TRACKS,SWITCH:e.SWITCH},function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const n=e.flowplayer;"function"==typeof n?n(t):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(t)||n.extensions.push(t))}(window,Asel),Asel}));
|
package/plugins/chapters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.chapters=t())}(this,(function(){"use strict";var e;function t(t,r){if(function(t){return Object.values(e).includes(t)}(r=r||e.Anonymous))return t instanceof HTMLVideoElement&&(t.poster="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),"crossOrigin"in t?t.crossOrigin=r:t.setAttribute("crossorigin",r),t}function r(e){const t=document.createElement("a");return t.href=e,t.origin}function n(e,n){const s=document.createElement("track");s.className="fp-track renderable",s.kind=n.kind||"captions",s.id=["fp",n.lang].join("-");const i=s.track;return"string"!=typeof n.crossorigin&&function(e,t){try{return e.src.startsWith("blob:"),r(e.src)!==r(t)}catch(e){return console.error(e),!0}}(e,n.src)&&(t(e),n.crossorigin=e.getAttribute("crossorigin")),"crossorigin"in n&&t(e,n.crossorigin),Object.keys(n).forEach(e=>{"default"!==e&&(s[e]=n[e])}),i.mode=n.default?"hidden":"disabled",s.onload=function(){},i.oncuechange=function(t){e.emit(t.type,{track:t.target})},e.appendChild(s),s}!function(e){e.Anonymous="anonymous",e.UseCredentials="use-credentials",e.Empty=""}(e||(e={}));function s(){}var i=Object.freeze({__proto__:null,CHAPTER_CHANGED:"chapter:changed",CHAPTERS_NEW:"chapters:new"});function c(e,t,r){const n=function(e,t){const r=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(r,"data",{get:()=>t}),r}(t,r);return e.dispatchEvent(n),e}!function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}catch(e){}}();class Chapters{constructor(){this._track_added_handler=s,this._cue_changed_handler=s,this.chapters=[],this.render=this.render.bind(this)}init(e,t,r){this._root=t,this._player=r,this._timeline=function(e,t){const r=e._customElements.get(t);return r&&e.root.querySelector(r)||void 0}(r,"flowplayer-timeline-bar"),this._track_added_handler=this.track_added.bind(this,r),this._cue_changed_handler=this.cue_changed.bind(this,r),r.textTracks.addEventListener("addtrack",this._track_added_handler),this.wireup(r,e),r.chapters=this,r.on("config",e=>{e.data&&this.wireup(r,e.data)}),r.on("reap",()=>{this.wiredown(r),r.textTracks.removeEventListener("addtrack",this._track_added_handler),r.off("durationchange",this.render)}),r.on("durationchange",this.render)}track_added(e,t){}cue_changed(e,t){var r;this._current_chapters_track&&(this.current_cue=this._current_chapters_track.track.activeCues?this._current_chapters_track.track.activeCues[0]:void 0,this._timeline&&c(this._timeline,"chapter:changed",null===(r=this.current_cue)||void 0===r?void 0:r.text))}set_chapters(e){this.chapters=e,this.render()}jump(e){this._player&&this.chapters[e]&&(this._player.currentTime=this.chapters[e].start)}current(){if(this.current_cue)return this.chapters.find(e=>e.cue==this.current_cue)}render(){if(!this._root||!this._player||!this._timeline)return;const e=this._player.duration;isFinite(e)&&(c(this._timeline,"chapters:new",this.chapters.map(t=>({title:t.label,left:t.start/e*100+"%",width:(t.end-t.start)/e*100+"%"}))),this._root.classList.toggle("has-chapters",!!this.chapters.length))}wireup(e,t){const r=Array.isArray(t.chapters)?t.chapters[0]:t.chapters;r&&r.src!==this._current_chapters_src&&(this.wiredown(e),this._current_chapters_track=n(e,Object.assign(Object.assign({},r),{kind:"chapters",default:!0})),this._current_chapters_track.onload=()=>{var e;(null===(e=this._current_chapters_track)||void 0===e?void 0:e.track.cues)&&this.set_chapters(Array.from(this._current_chapters_track.track.cues).filter(e=>e instanceof VTTCue).map(e=>{const t=e;return{start:e.startTime,end:e.endTime,cue:t,label:t.text}}))},this._current_chapters_src=r.src,this._current_chapters_track.addEventListener("cuechange",this._cue_changed_handler))}wiredown(e){this.set_chapters([]),this._current_chapters_track&&(this._current_chapters_track.removeEventListener("cuechange",this._cue_changed_handler),e.removeChild(this._current_chapters_track))}}return Chapters.events=i,function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const r=e.flowplayer;"function"==typeof r?r(t):(Array.isArray(r.extensions)||(r.extensions=[]),~r.extensions.indexOf(t)||r.extensions.push(t))}(window,Chapters),Chapters}));
|
package/plugins/chromecast.js
CHANGED
|
@@ -13,4 +13,4 @@
|
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
15
|
***************************************************************************** */
|
|
16
|
-
function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(n,["src"]);return[Object.assign({src:o,type:o?t("video/"+e(o)):""},r)]};class Pipe{constructor(e){this.data=e}static of(e){return new Pipe(e)}static maybe(e,t,...n){return null==e?e:t.apply(e,[e,...n])}tap(e,...t){return e.apply(this,[this.data,...t]),new Pipe(this.data)}fmap(e,...t){const n=e.apply(this,[this.data,...t]);return new Pipe(n)}unwrap(){return this.data}}const o="chromecast:idle";var r=Object.freeze({__proto__:null,CAST_AVAILABLE:"chromecast:available",CAST_UNAVAILABLE:"chromecast:unavailable",CAST_START_CASTING:"chromecast:start",CAST_IDLE:o,CAST_STATE_CHANGED:"chromecast:state:changed",CAST_SESSION_CHANGED:"chromecast:session:changed",CAST_FIELD_UPDATE:"chromecast:field:update",CAST_MEDIA_LOAD_REQUEST:"chromecast:media"});const a=/(video\/mp4)|(application\/x-mpegurl)|(video\/mpd)|(application\/dash\+xml)/;function c(){var e;return(null===(e=d())||void 0===e?void 0:e.getCurrentSession())||null}function i(){var e;return(null===(e=c())||void 0===e?void 0:e.getMediaSession())||null}function s(e){var t,n;const o=u(e).unwrap().map((function(e){return null==e?void 0:e.src})),r=null===(n=null===(t=i())||void 0===t?void 0:t.media)||void 0===n?void 0:n.contentId;return!!r&&!!~o.indexOf(r)}function l(e){var t;return(null===(t=e.type)||void 0===t?void 0:t.match(a))||!1}function u(e){return Pipe.of(e).fmap(()=>e.original_src||[]).fmap((function(e){return"string"==typeof e?function(e){return n({src:e})}(e):e})).fmap((function(e){return e.filter(l)}))}function d(){var e,t;return null===(t=null===(e=null===cast||void 0===cast?void 0:cast.framework)||void 0===e?void 0:e.CastContext)||void 0===t?void 0:t.getInstance()}function f(e,t,n){(function(e){return e.filter((function(e){return s(e)}))})(e).forEach((function(e){e.emit(t,n)}))}function m(e,t,n){(function(e){return e.filter((function(e){return!s(e)}))})(e).forEach((function(e){e.emit(t,n)}))}function p(e,t,n){e.forEach((function(e){e.emit(t,n)}))}const v="currentTime",h="playerState",y={player:void 0,controller:void 0};function w(e){y.player=new cast.framework.RemotePlayer,y.controller=new cast.framework.RemotePlayerController(y.player),y.controller.addEventListener(cast.framework.RemotePlayerEventType.ANY_CHANGE,S.bind(null,e)),y.controller.addEventListener(cast.framework.RemotePlayerEventType.MEDIA_INFO_CHANGED,(function(){m(e,o)}))}function S(e,t){f(e,"chromecast:field:update",t)}function E(e){return Array.from(e.querySelectorAll("track")).filter(e=>~["subtitles","captions"].indexOf(e.kind))}function g(e){var t;const n=new chrome.cast.media.EditTracksInfoRequest(e);null===(t=i())||void 0===t||t.editTracksInfo(n,console.debug,console.error)}function T(e,t,n,r){const a=c();if(!a)return;const i=function(e){return u(e).unwrap().shift()}(e);if(!i||!i.src)return;const s=new chrome.cast.media.MediaInfo(i.src,i.type||"");s.tracks=function(e){return E(e).map((function(e,t){if(!e.lang)return;const n=new chrome.cast.media.Track(t,chrome.cast.media.TrackType.TEXT);return n.trackContentType="text/vtt",n.subtype=chrome.cast.media.TextTrackType.SUBTITLES,n.trackContentId=e.src,n.name=e.label,n.language=e.lang,n})).filter(e=>!!e)}(e),s.metadata=new chrome.cast.media.GenericMediaMetadata;const l=new chrome.cast.media.LoadRequest(s);if(isNaN(e.currentTime)||(l.currentTime=e.currentTime),s.tracks.length){const t=E(e).findIndex((function(e){var t;return"hidden"==(null===(t=e.track)||void 0===t?void 0:t.mode)}));-1!==t&&(l.activeTrackIds=[t])}l.customData=e.opt("chromecast",{}),l.customData.metadata=e.opt("metadata"),e.emit("chromecast:media",{request:l}),console.debug("cast:request(%o)",l),a.loadMedia(l).then((function(){HTMLMediaElement.prototype.pause.call(e),w(t),m(t,o)}),r)}function A(){return!!i()}function b(){return!!c()}function _(){var e;return null===(e=i())||void 0===e?void 0:e.media.duration}function C(){var e;return null===(e=i())||void 0===e?void 0:e.playerState}function k(e){var t;return e?O(e):null===(t=i())||void 0===t?void 0:t.getEstimatedTime()}function O(e){const t=i();if(!t)return e;const n=new chrome.cast.media.SeekRequest;return n.currentTime=e,t.seek(n,console.debug,console.error),e}function I(){var e;return null===(e=i())||void 0===e?void 0:e.play(new chrome.cast.media.PlayRequest,console.debug,console.error)}function x(){var e;return null===(e=i())||void 0===e?void 0:e.pause(new chrome.cast.media.PauseRequest,console.debug,console.error)}var P=Object.freeze({__proto__:null,load:T,has_media:A,exists:b,device_name:function(){var e;return null===(e=c())||void 0===e?void 0:e.getCastDevice().friendlyName},duration:_,state:C,currentTime:k,seek:O,play:I,pause:x});class Sender{constructor(e){this.video=e}static of(e){return e.sender||(e.sender=new Sender(e)),e.sender}static maybe(e,t){e.sender&&t(e.sender,e)}static getEstimatedTime(){var e;return null===(e=i())||void 0===e?void 0:e.getEstimatedTime()}static load(e,t){T(e,t,console.debug,console.error)}static destroy(e){e.video=void 0}}var L=Object.freeze({__proto__:null,STABLE:"940D4BE4",CANARY:"6F71FA7C",LOCAL:"5258CA32"});const D="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";function N(e,t,n){if(document.querySelector("script[src='"+D+"']"))return M(n);!function(){const e=document.createElement("script");e.async=!0,e.src=D,document.head.appendChild(e)}(),window.__onGCastApiAvailable=function(){!function(e,t,n){var o;if(!j())return;const r=(null===(o=e.chromecast)||void 0===o?void 0:o.app)||"940D4BE4",a=d();if(!a)return;a.setOptions({receiverApplicationId:r,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),a.addEventListener(cast.framework.CastContextEventType.CAST_STATE_CHANGED,(function(e){p(n,"chromecast:state:changed",e)})),a.addEventListener(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,(function(e){w(n),p(n,"chromecast:session:changed",e)}))}(e,0,n),M(n)}}function j(){return"object"==typeof window.cast&&"object"==typeof chrome.cast}function M(e){if(j())return p(e,"chromecast:available");p(e,"chromecast:unavailable")}const R="is-chromecast-playing";function q(e,t){const n={play:function(){return s(e)?I():A()?Sender.load(e,t):void Sender.load(e,t)},pause:function(){return s(e)?x():HTMLMediaElement.prototype.pause.call(e)}};n.currentTime={get:k,set:k},n.duration={get:_},n.paused={get:function(){return"PAUSED"===C()}},n.playing={get:function(){return"PLAYING"===C()}},Object.keys(n).forEach((function(t){if("object"==typeof n[t])return Object.defineProperty(e,t,{get:function(){var o,r;return s(e)?n[t].get():null===(r=null===(o=Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,t))||void 0===o?void 0:o.get)||void 0===r?void 0:r.call(this)},set:function(o){var r,a;return s(e)?n[t].set(o):null===(a=null===(r=Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,t))||void 0===r?void 0:r.set)||void 0===a?void 0:a.call(this,o)}});const o=e[t];e[t]=function(){const r=[].slice.apply(arguments);return b()?n[t].apply(e,r):o.apply(e,r)}}))}const G=(e,t)=>new(((e,t)=>{const n=e.get(t);if(!n)throw new Error(`no flowplayer component with the name ${t} exists`);const o=window.customElements.get(t);if(!o)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(n);return"function"!=typeof r?o:r})(e._customElements,t))(e);class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class FlowplayerChromecastIcon extends FlowplayerComponent{constructor(e){super(e),this.classList.add("fp-cast-button"),this.append(document.createElement("google-cast-launcher")),this.addEventListener("click",(function(){const t=c();if(t)return t.endSession(!0);e.emit("chromecast:start")}))}}function H(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}class ChromecastPlugin{constructor(e){var t,n,o;this.flowplayer=e,t=e,n="flowplayer-chromecast-icon",o=FlowplayerChromecastIcon,window.customElements.get(n)||window.customElements.define(n,o),t.customElements.get(n)||t.customElements.set(n,n)}init(e,t,n){if("https:"!==location.protocol&&"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname)return console.warn("Secure URL required to enable Chromecast");N(e,0,this.flowplayer.instances);const r={pending:void 0};n.on("reap",(function(){Sender.maybe(n,Sender.destroy)})),n.on("mount",(function(){const t=H(n,"flowplayer-middle");t&&function(e,t){const n=document.createElement("div");n.className="fp-chromecast";const o=document.createElement("p");t.poster&&(n.style.backgroundImage=["url(",t.poster,")"].join("")),n.append(o),e.prepend(n)}(t,{poster:e.poster});const o=H(n,"flowplayer-header-right-zone");o&&o.prepend(G(n,"flowplayer-chromecast-icon"))})),n.on("chromecast:available",()=>{n.setState("is-cast-available",!0),Sender.of(n),q(n,this.flowplayer.instances)}),n.on("chromecast:unavailable",(function(){n.setState("is-cast-available",!1),Sender.maybe(n,Sender.destroy)})),n.on("chromecast:start",()=>{if(A())return Sender.load(n,this.flowplayer.instances);r.pending=!0}),n.on("tracks:text:updated",(function(e){if(A())return e.data?void g(E(n).map((function(e,t){return{track:e instanceof HTMLTrackElement?e.track:e,id:t}})).filter((function(t){return t.track==e.data})).map((function(e){return e.id}))):g([])})),n.on(o,(function(){n.setState(R,!1),n.setState("is-starting",!0)})),n.on("chromecast:field:update",(function(e){if(!e.data)return;const{field:t,value:o}=e.data;switch(t){case v:return n.emit("timeupdate",o);case h:return"PLAYING"==o?n.emit("playing"):"PAUSED"==o?n.emit("pause"):void 0;case"mediaInfo":var r=(o||{}).fake_session||P;return function(e,t){if(!e.root)return;const n=e.root.querySelector(".fp-chromecast p");if(!n)return;let o="";o=e.i18n("chromecast.message","{{state}} on {{device}}").replace("{{device}}",(null==t?void 0:t.device)||"chromecast"),o=o.replace("{{state}}",((null==t?void 0:t.state)||"").toLowerCase()),n.textContent=o}(n,{device:r.device_name(),state:r.state()}),r.hide_controls&&n.setState("no-chromecast-controls",!0),n.setState("is-starting",!1),n.setState(R,!0)}})),n.on("chromecast:session:changed",e=>{if(e.data)switch(e.detail.sessionState){case cast.framework.SessionState.SESSION_ENDED:return n.emit("remotesession:ended"),n.setState(R,!1);case cast.framework.SessionState.SESSION_RESUMED:case cast.framework.SessionState.SESSION_STARTED:r.pending&&(r.pending=!1,Sender.load(n,this.flowplayer.instances),n.emit("remotesession:started"))}})}}return ChromecastPlugin.apps=L,ChromecastPlugin.events=r,function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const n=e.flowplayer;return"function"==typeof n?(n(t),t):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(t)||n.extensions.push(t),t)}(window,ChromecastPlugin)}));
|
|
16
|
+
function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(n,["src"]);return[Object.assign({src:o,type:o?t("video/"+e(o)):""},r)]};function o(e){return n({src:e})}class Pipe{constructor(e){this.data=e}static of(e){return new Pipe(e)}static maybe(e,t,...n){return null==e?e:t.apply(e,[e,...n])}tap(e,...t){return e.apply(this,[this.data,...t]),new Pipe(this.data)}fmap(e,...t){const n=e.apply(this,[this.data,...t]);return new Pipe(n)}unwrap(){return this.data}}const r="chromecast:idle";var a=Object.freeze({__proto__:null,CAST_AVAILABLE:"chromecast:available",CAST_UNAVAILABLE:"chromecast:unavailable",CAST_START_CASTING:"chromecast:start",CAST_IDLE:r,CAST_STATE_CHANGED:"chromecast:state:changed",CAST_SESSION_CHANGED:"chromecast:session:changed",CAST_FIELD_UPDATE:"chromecast:field:update",CAST_MEDIA_LOAD_REQUEST:"chromecast:media"});const c=/(video\/mp4)|(application\/x-mpegurl)|(video\/mpd)|(application\/dash\+xml)/;function s(){var e;return(null===(e=f())||void 0===e?void 0:e.getCurrentSession())||null}function i(){var e;return(null===(e=s())||void 0===e?void 0:e.getMediaSession())||null}function l(e){var t,n;const o=m(e).unwrap().map((function(e){return null==e?void 0:e.src})),r=null===(n=null===(t=i())||void 0===t?void 0:t.media)||void 0===n?void 0:n.contentId;return!!r&&!!~o.indexOf(r)}function u(e){var t;return(null===(t=e.type)||void 0===t?void 0:t.match(c))||!1}function d(e,t){if(!t.opts.src)return e;const n=(Array.isArray(t.opts.src)?t.opts.src:[t.opts.src]).map(e=>"string"==typeof e?o(e)[0]:e);return e.map(e=>{const t=n.find(t=>t.src===e.src);return t&&t.drm?Object.assign(Object.assign({},e),{drm:t.drm}):e})}function m(e){return Pipe.of(e).fmap(()=>e.original_src||[]).fmap((function(e){return"string"==typeof e?o(e):e})).fmap(d,e).fmap((function(e){return e.filter(u)}))}function f(){var e,t,n;return null===(n=null===(t=null===(e=window.cast)||void 0===e?void 0:e.framework)||void 0===t?void 0:t.CastContext)||void 0===n?void 0:n.getInstance()}function p(e,t,n){(function(e){return e.filter((function(e){return l(e)}))})(e).forEach((function(e){e.emit(t,n)}))}function h(e,t,n){(function(e){return e.filter((function(e){return!l(e)}))})(e).forEach((function(e){e.emit(t,n)}))}function v(e,t,n){e.forEach((function(e){e.emit(t,n)}))}const y="currentTime",w="playerState",S={player:void 0,controller:void 0};function g(e){S.player=new cast.framework.RemotePlayer,S.controller=new cast.framework.RemotePlayerController(S.player),S.controller.addEventListener(cast.framework.RemotePlayerEventType.ANY_CHANGE,E.bind(null,e)),S.controller.addEventListener(cast.framework.RemotePlayerEventType.MEDIA_INFO_CHANGED,(function(){h(e,r)}))}function E(e,t){p(e,"chromecast:field:update",t)}function T(e){return Array.from(e.querySelectorAll("track")).filter(e=>~["subtitles","captions"].indexOf(e.kind))}function b(e){var t;const n=new chrome.cast.media.EditTracksInfoRequest(e);null===(t=i())||void 0===t||t.editTracksInfo(n,console.debug,console.error)}function A(e,t,n,o){const a=s();if(!a)return;const c=function(e){return m(e).unwrap().shift()}(e);if(!c||!c.src)return;const i=new chrome.cast.media.MediaInfo(c.src,c.type||"");i.tracks=function(e){return T(e).map((function(e,t){if(!e.lang)return;const n=new chrome.cast.media.Track(t,chrome.cast.media.TrackType.TEXT);return n.trackContentType="text/vtt",n.subtype=chrome.cast.media.TextTrackType.SUBTITLES,n.trackContentId=e.src,n.name=e.label,n.language=e.lang,n})).filter(e=>!!e)}(e),i.metadata=new chrome.cast.media.GenericMediaMetadata;const l={health:e.health};c.drm&&(l.drm=c.drm),localStorage.__fpChromecastDebug&&(l.debug=!0),e.opt("ads")&&(l.ads=e.opt("ads")),i.customData=l;const u=new chrome.cast.media.LoadRequest(i);if(isNaN(e.currentTime)||(u.currentTime=e.currentTime),i.tracks.length){const t=T(e).findIndex((function(e){var t;return"hidden"==(null===(t=e.track)||void 0===t?void 0:t.mode)}));-1!==t&&(u.activeTrackIds=[t])}u.customData=e.opt("chromecast",{}),u.customData.metadata=e.opt("metadata"),e.emit("chromecast:media",{request:u}),console.debug("cast:request(%o)",u),a.loadMedia(u).then((function(){HTMLMediaElement.prototype.pause.call(e),g(t),h(t,r)}),o)}function _(){return!!i()}function C(){return!!s()}function k(){var e;return null===(e=i())||void 0===e?void 0:e.media.duration}function O(){var e;return null===(e=i())||void 0===e?void 0:e.playerState}function I(e){var t;return e?x(e):null===(t=i())||void 0===t?void 0:t.getEstimatedTime()}function x(e){const t=i();if(!t)return e;const n=new chrome.cast.media.SeekRequest;return n.currentTime=e,t.seek(n,console.debug,console.error),e}function P(){var e;return null===(e=i())||void 0===e?void 0:e.play(new chrome.cast.media.PlayRequest,console.debug,console.error)}function L(){var e;return null===(e=i())||void 0===e?void 0:e.pause(new chrome.cast.media.PauseRequest,console.debug,console.error)}var D=Object.freeze({__proto__:null,load:A,has_media:_,exists:C,device_name:function(){var e;return null===(e=s())||void 0===e?void 0:e.getCastDevice().friendlyName},duration:k,state:O,currentTime:I,seek:x,play:P,pause:L});class Sender{constructor(e){this.video=e}static of(e){return e.sender||(e.sender=new Sender(e)),e.sender}static maybe(e,t){e.sender&&t(e.sender,e)}static getEstimatedTime(){var e;return null===(e=i())||void 0===e?void 0:e.getEstimatedTime()}static load(e,t){A(e,t,console.debug,console.error)}static destroy(e){e.video=void 0}}var N=Object.freeze({__proto__:null,STABLE:"940D4BE4",CANARY:"6F71FA7C",LOCAL:"5258CA32"});const j="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";function M(e,t,n){if(document.querySelector("script[src='"+j+"']"))return q(n);!function(){const e=document.createElement("script");e.async=!0,e.src=j,document.head.appendChild(e)}(),window.__onGCastApiAvailable=function(){!function(e,t,n){var o;if(!R())return;const r=(null===(o=e.chromecast)||void 0===o?void 0:o.app)||"940D4BE4",a=f();if(!a)return;a.setOptions({receiverApplicationId:r,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),a.addEventListener(cast.framework.CastContextEventType.CAST_STATE_CHANGED,(function(e){v(n,"chromecast:state:changed",e)})),a.addEventListener(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,(function(e){g(n),v(n,"chromecast:session:changed",e)}))}(e,0,n),q(n)}}function R(){return"object"==typeof window.cast&&"object"==typeof chrome.cast}function q(e){if(R())return v(e,"chromecast:available");v(e,"chromecast:unavailable")}const G="is-chromecast-playing";function H(e,t){const n={play:function(){return new Promise(n=>l(e)?n(P()):_()?n(Sender.load(e,t)):(Sender.load(e,t),void n()))},pause:function(){return l(e)?L():HTMLMediaElement.prototype.pause.call(e)}};n.currentTime={get:I,set:I},n.duration={get:k},n.paused={get:function(){return"PAUSED"===O()}},n.playing={get:function(){return"PLAYING"===O()}},Object.keys(n).forEach((function(t){if("object"==typeof n[t])return Object.defineProperty(e,t,{get:function(){var o,r;return l(e)?n[t].get():null===(r=null===(o=Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,t))||void 0===o?void 0:o.get)||void 0===r?void 0:r.call(this)},set:function(o){var r,a;return l(e)?n[t].set(o):null===(a=null===(r=Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,t))||void 0===r?void 0:r.set)||void 0===a?void 0:a.call(this,o)}});const o=e[t];e[t]=function(){const r=[].slice.apply(arguments);return C()?n[t].apply(e,r):o.apply(e,r)}}))}const F=(e,t)=>new(((e,t)=>{const n=e.get(t);if(!n)throw new Error(`no flowplayer component with the name ${t} exists`);const o=window.customElements.get(t);if(!o)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(n);return"function"!=typeof r?o:r})(e._customElements,t))(e);class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class FlowplayerChromecastIcon extends FlowplayerComponent{constructor(e){super(e),this.classList.add("fp-cast-button"),this.append(document.createElement("google-cast-launcher")),this.addEventListener("click",(function(){const t=s();if(t)return t.endSession(!0);e.emit("chromecast:start")}))}}function U(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}class ChromecastPlugin{constructor(e){var t,n,o;this.flowplayer=e,t=e,n="flowplayer-chromecast-icon",o=FlowplayerChromecastIcon,window.customElements.get(n)||window.customElements.define(n,o),t.customElements.get(n)||t.customElements.set(n,n)}init(e,t,n){if("https:"!==location.protocol&&"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname)return console.warn("Secure URL required to enable Chromecast");M(e,0,this.flowplayer.instances);const o={pending:void 0};n.on("reap",(function(){Sender.maybe(n,Sender.destroy)})),n.on("mount",(function(){const t=U(n,"flowplayer-middle");t&&function(e,t){const n=document.createElement("div");n.className="fp-chromecast";const o=document.createElement("p");t.poster&&(n.style.backgroundImage=["url(",t.poster,")"].join("")),n.append(o),e.prepend(n)}(t,{poster:e.poster});const o=U(n,"flowplayer-header-right-zone");o&&o.prepend(F(n,"flowplayer-chromecast-icon"))})),n.on("chromecast:available",()=>{n.setState("is-cast-available",!0),Sender.of(n),H(n,this.flowplayer.instances)}),n.on("chromecast:unavailable",(function(){n.setState("is-cast-available",!1),Sender.maybe(n,Sender.destroy)})),n.on("chromecast:start",()=>{if(_())return Sender.load(n,this.flowplayer.instances);o.pending=!0}),n.on("tracks:text:updated",(function(e){if(_())return e.data?void b(T(n).map((function(e,t){return{track:e instanceof HTMLTrackElement?e.track:e,id:t}})).filter((function(t){return t.track==e.data})).map((function(e){return e.id}))):b([])})),n.on(r,(function(){n.setState(G,!1),n.setState("is-starting",!0)})),n.on("chromecast:field:update",(function(e){if(!e.data)return;const{field:t,value:o}=e.data;switch(t){case y:return n.emit("timeupdate",o);case w:return"PLAYING"==o?n.emit("playing"):"PAUSED"==o?n.emit("pause"):void 0;case"mediaInfo":var r=(o||{}).fake_session||D;return function(e,t){if(!e.root)return;const n=e.root.querySelector(".fp-chromecast p");if(!n)return;let o="";o=e.i18n("chromecast.message","{{state}} on {{device}}").replace("{{device}}",(null==t?void 0:t.device)||"chromecast"),o=o.replace("{{state}}",((null==t?void 0:t.state)||"").toLowerCase()),n.textContent=o}(n,{device:r.device_name(),state:r.state()}),r.hide_controls&&n.setState("no-chromecast-controls",!0),n.setState("is-starting",!1),n.setState(G,!0)}})),n.on("chromecast:session:changed",e=>{if(e.data)switch(e.detail.sessionState){case cast.framework.SessionState.SESSION_ENDED:return n.emit("remotesession:ended"),n.setState(G,!1);case cast.framework.SessionState.SESSION_RESUMED:case cast.framework.SessionState.SESSION_STARTED:o.pending&&(o.pending=!1,Sender.load(n,this.flowplayer.instances),n.emit("remotesession:started"))}})}}return ChromecastPlugin.apps=N,ChromecastPlugin.events=a,function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const n=e.flowplayer;return"function"==typeof n?(n(t),t):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(t)||n.extensions.push(t),t)}(window,ChromecastPlugin)}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.consent=t())}(this,(function(){"use strict";class PlayerStorage{constructor(e){this.implementation=e}removeItem(e){try{this.implementation.removeItem(e)}catch(e){}}getItem(e){try{return this.implementation.getItem(e)}catch(e){return null}}setItem(e,t){try{this.implementation.setItem(e,t)}catch(e){}}clear(){try{this.implementation.clear()}catch(e){}}get length(){try{return this.implementation.length}catch(e){return 0}}key(e){try{return this.implementation.key(e)}catch(e){return null}}}var e,t;!function(e){e[e.ALL=1]="ALL",e[e.NONE=2]="NONE"}(e||(e={})),function(e){e[e.ALL=8]="ALL",e[e.NONE=16]="NONE"}(t||(t={}));class ConsentPlugin{init(e,t,n){this.adapt(e),this.player=n,n.on("config",e=>{this.adapt(e.detail)})}adapt(n){const i=void 0===n.consent?e.NONE|t.NONE:n.consent;t.ALL&i?this.setStorage(t.ALL):t.NONE&i&&this.setStorage(t.NONE),e.ALL&i?this.setTracking(e.ALL):e.NONE&i&&this.setTracking(e.NONE)}setStorage(e){if(this.player)switch(e){case t.ALL:this.player._storage=new PlayerStorage(localStorage);break;case t.NONE:this.player._storage=new PlayerStorage(sessionStorage)}}setTracking(t){var n,i;if(this.player)switch(t){case e.ALL:null===(n=this.player.health)||void 0===n||n.toggle(!0);break;case e.NONE:null===(i=this.player.health)||void 0===i||i.toggle(!1)}}}return ConsentPlugin.tracking=e,ConsentPlugin.storage=t,function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const n=e.flowplayer;return"function"==typeof n?(n(t),t):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(t)||n.extensions.push(t),t)}(window,ConsentPlugin)}));
|
package/plugins/cuepoints.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.cuepoints=t())}(this,(function(){"use strict";class Cuepoints{init(e,t,n){if(!n.reaper)return;const o=n.addTextTrack("metadata","fp-cuepoints");o.removeCue=function(e){this===Cuepoints&&TextTrack.prototype.removeCue.call(o,e)},n.reaper.set("cuepoints",[]),n.on("config",(function(t){var o;if(!n.reaper)return;(null===(o=t.data)||void 0===o?void 0:o.cuepoints)!==n.reaper.get("cuepoints")&&n.emit("cuepoints",{cuepoints:e.cuepoints})})),n.on("cuepoints",e=>{var t;if(!n.reaper)return;const i=(null===(t=e.data)||void 0===t?void 0:t.cuepoints)||[];n.reaper.set("cuepoints",i),Array.from(o.cues||{length:0}).forEach(e=>o.removeCue.call(this.constructor,e)),i.map((function(e){return function(e,t){try{const n=new VTTCue(t.startTime,t.endTime,t.text||"");return n.id=t.id||"",n.onenter=e.emit.bind(e,"cuepointstart",{cuepoint:t}),n.onexit=e.emit.bind(e,"cuepointend",{cuepoint:t}),n}catch(e){if(t.startTime===t.endTime)return console.warn("Cue(:error)> startTime cannot equal endTime on this platform");throw e}}(n,e)})).forEach((function(e){e&&o.addCue(e)}))})}}return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const n=e.flowplayer;return"function"==typeof n?(n(t),t):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(t)||n.extensions.push(t),t)}(window,Cuepoints)}));
|