@flowplayer/player 3.2.6 → 3.2.8

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/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&&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 d=a(r,"flowplayer-audio-menu");d instanceof FlowplayerMenu&&d.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 m=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=m,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(d)})),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,m.tracks=c.slice();const o=t(n,"asel.sort");"function"==typeof o&&m.tracks.sort(o),u(d,Asel.events.TRACKS,Array.from({length:m.tracks.length}).map((e,t)=>{const n=m.tracks[t];return{text:n.name||n.label||n.lang,onclick:s.bind(0,r,n)}}));const a=m.tracks.filter((function(e){return e.enabled}))[0];a&&u(d,Asel.events.SWITCH,{selected_index:m.tracks.indexOf(a)});const f=i(r._storage,m.tracks,t(n,"asel.default_lang",!1));return d instanceof FlowplayerMenu&&d.classList.toggle(l,e.data.length<2),void 0!==f?m.set(f):void 0})),r.on(e.SWITCH,(function(e){const n=t(e,"data.id",-1),s=m.tracks.filter((function(e){return e.id===n}))[0];s&&u(d,Asel.events.SWITCH,{selected_index:m.tracks.indexOf(s)})})),r.audioTracks&&(r.audioTracks.addEventListener("addtrack",(function(){r.hls||r.emit(e.TRACKS,Array.from(r.audioTracks))})),r.on(e.SET,(function(e){r.hls||Array.from(r.audioTracks).forEach((t,n)=>{var s;t.enabled=(null===(s=e.data)||void 0===s?void 0:s.id)===t.id,t.enabled&&u(d,Asel.events.SWITCH,{selected_index: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}));
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={},l=e.getItem("@flowplayer/audio/track");let r=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(),~r.indexOf(i)&&r.splice(r.indexOf(i),1),r.unshift(o(i))),Array.isArray(i)&&(r=i.map(o));s.length;){++c;const e=s.shift();if(null==e?void 0:e.autoselect){if(l==e.lang)return console.debug("restoring lang from previous session: ",l),c;if(e.default&&(a.fallback=[c,e]),e.lang&&~r.indexOf(e.lang.toLowerCase())){const n=r.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 l="fp-on",r="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} ${r}`,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(r,!(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(l,n===e&&("flowplayer-subtitles-menu"!==this.localName||!t.classList.contains(l)))})}unselect_item(){this.options.forEach(e=>{e.classList.remove(l)})}}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,l){if(!1===n.asel)return;let c=[];const d=a(l,"flowplayer-audio-menu");d instanceof FlowplayerMenu&&d.setMenuAttrs({summaryTitle:l.i18n("audio.button_txt"),menuTitle:l.i18n("audio.menu_title"),class:"fp-asel",options_event:Asel.events.TRACKS,item_selected_event:Asel.events.SWITCH});const m=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}(l);l.asel=m,l.on("mount",(function(){var e;null===(e=function(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}(l,"flowplayer-control"))||void 0===e||e.append(d)})),l.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,m.tracks=c.slice();const o=t(n,"asel.sort");"function"==typeof o&&m.tracks.sort(o),u(d,Asel.events.TRACKS,Array.from({length:m.tracks.length}).map((e,t)=>{const n=m.tracks[t];return{text:n.name||n.label||n.lang,onclick:s.bind(0,l,n)}}));const a=m.tracks.filter((function(e){return e.enabled}))[0];a&&u(d,Asel.events.SWITCH,{selected_index:m.tracks.indexOf(a)});const f=i(l._storage,m.tracks,t(n,"asel.default_lang",!1));return d instanceof FlowplayerMenu&&d.classList.toggle(r,e.data.length<2),void 0!==f?m.set(f):void 0})),l.on(e.SWITCH,(function(e){l.asel.tracks.find((t,n)=>{var s,o;t!==e.detail&&t.id!==(null!==(o=null===(s=e.detail)||void 0===s?void 0:s.id)&&void 0!==o?o:-1)||(l.asel.active_track=t,u(d,Asel.events.SWITCH,{selected_index:n}))})})),l.audioTracks&&(l.audioTracks.addEventListener("addtrack",(function(){l.hls||l.emit(e.TRACKS,Array.from(l.audioTracks))})),l.on(e.SET,(function(e){l.hls||Array.from(l.audioTracks).forEach((t,n)=>{var s;t.enabled=(null===(s=e.data)||void 0===s?void 0:s.id)===t.id,t.enabled&&u(d,Asel.events.SWITCH,{selected_index: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/audio.js CHANGED
@@ -1 +1 @@
1
- !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((n="undefined"!=typeof globalThis?globalThis:n||self).flowplayer=n.flowplayer||{},n.flowplayer.audio=t())}(this,(function(){"use strict";function n(n,t,e){const o=function(n){return Array.isArray(n)?n.slice(0):n.split(".")}(t);for(;o.length;){if(null==n)return e;const t=o.shift();if("string"!=typeof t)return e;n=n[t]}return null==n?e:n}return function(n,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in n||(n.flowplayer={extensions:[]});const e=n.flowplayer;return"function"==typeof e?(e(t),t):(Array.isArray(e.extensions)||(e.extensions=[]),~e.extensions.indexOf(t)||e.extensions.push(t),t)}(window,class Audio{constructor(n){this.umd=n}init(t,e,o){let s=t.poster,i=!1,r=!1,u=!1;function f(){o.setState("is-audio-player",!r&&i),o.setState("show-controls-only",!r&&!s)}o.setOpts({muted:!1}),o.on("config",(function(t){s=n(t,"data.poster",s);const e=n(t,"data.ui",{});u=!!(8192&e)})),o.on("audioonlysource",(function(){i=!0,f()})),o.on("src",(function(){i=u||!1,f()})),o.on("loadstart",f),o.ads&&this.umd.ads&&(o.ads.on(this.umd.ads.events.AD_STARTED,(function(){r=!0,f()})),o.ads.on(this.umd.ads.events.AD_BREAK_COMPLETED,(function(){r=!1,f()})))}})}));
1
+ !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((n="undefined"!=typeof globalThis?globalThis:n||self).flowplayer=n.flowplayer||{},n.flowplayer.audio=t())}(this,(function(){"use strict";function n(n,t,e){const o=function(n){return Array.isArray(n)?n.slice(0):n.split(".")}(t);for(;o.length;){if(null==n)return e;const t=o.shift();if("string"!=typeof t)return e;n=n[t]}return null==n?e:n}return function(n,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;"flowplayer"in n||(n.flowplayer={extensions:[]});const e=n.flowplayer;return"function"==typeof e?(e(t),t):(Array.isArray(e.extensions)||(e.extensions=[]),~e.extensions.indexOf(t)||e.extensions.push(t),t)}(window,class Audio{constructor(n){this.umd=n}init(t,e,o){let s=t.poster,i=!1,r=!1,u=!1;function f(){o.setState("is-audio-player",!r&&i),o.setState("show-controls-only",!r&&!s)}o.on("config",(function(t){s=n(t,"data.poster",s);const e=n(t,"data.ui",{});u=!!(8192&e)})),o.on("audioonlysource",(function(){o.setOpts({muted:!1}),i=!0,f()})),o.on("src",(function(){i=u||!1,f()})),o.on("loadstart",f),o.ads&&this.umd.ads&&(o.ads.on(this.umd.ads.events.AD_STARTED,(function(){r=!0,f()})),o.ads.on(this.umd.ads.events.AD_BREAK_COMPLETED,(function(){r=!1,f()})))}})}));
@@ -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.chromecast=t())}(this,(function(){"use strict";function e(e){const t=document.createElement("a");t.href=e;const n=t.pathname&&t.pathname.split(".");return n.length>1&&n[n.length-1]}function t(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const n=n=>{var{src:o}=n,r=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)}));
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.chromecast=t())}(this,(function(){"use strict";function e(e){const t=document.createElement("a");t.href=e;const n=t.pathname&&t.pathname.split(".");return n.length>1&&n[n.length-1]}function t(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const n=n=>{var{src:o}=n,r=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 i=/(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 c(e){return p(e).unwrap().shift()}function l(){var e;return(null===(e=s())||void 0===e?void 0:e.getMediaSession())||null}function u(e){var t,n;const o=p(e).unwrap().map((function(e){return null==e?void 0:e.src})),r=null===(n=null===(t=l())||void 0===t?void 0:t.media)||void 0===n?void 0:n.contentId;return!!r&&!!~o.indexOf(r)}function d(e){var t;return(null===(t=e.type)||void 0===t?void 0:t.match(i))||!1}function m(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 p(e){return Pipe.of(e).fmap(()=>e.original_src||[]).fmap((function(e){return"string"==typeof e?o(e):e})).fmap(m,e).fmap((function(e){return e.filter(d)}))}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 v(e){return e.filter((function(e){return u(e)}))}function h(e){return e.filter((function(e){return!u(e)}))}function y(e,t,n){v(e).forEach((function(e){e.emit(t,n)}))}function S(e,t,n){h(e).forEach((function(e){e.emit(t,n)}))}function g(e,t,n){e.forEach((function(e){e.emit(t,n)}))}const E={PAUSED:"isPaused",CURRENT_TIME:"currentTime",DURATION:"duration",CONNECTED:"isConnected",PLAYER_STATE:"playerState",SAVED_STATE:"savedPlayerState",DISPLAY_NAME:"displayName",STATUS:"statusText",LIVE_RANGES:"liveSeekableRange"},w={player:void 0,controller:void 0,listener:void 0};function T(e){w.controller&&w.listener&&w.controller.removeEventListener(cast.framework.RemotePlayerEventType.ANY_CHANGE,w.listener),w.player=new cast.framework.RemotePlayer,w.controller=new cast.framework.RemotePlayerController(w.player),w.listener=_.bind(null,e),w.controller.addEventListener(cast.framework.RemotePlayerEventType.ANY_CHANGE,w.listener)}function _(e,t){if("IDLE"===t.value)return S(e,r);y(e,"chromecast:field:update",t)}function b(e){return Array.from(e.textTracks).filter(e=>["subtitles","captions"].includes(e.kind))}function A(e){return b(e).flatMap((t,n)=>{try{const o=e.querySelector("#"+t.id);if(!(o instanceof HTMLTrackElement&&o.lang))return[];const r=new chrome.cast.media.Track(n+1e3,chrome.cast.media.TrackType.TEXT);return r.trackContentType="text/vtt",r.subtype=chrome.cast.media.TextTrackType.SUBTITLES,r.trackContentId=o.src,r.name=o.label,r.language=o.lang,r}catch(e){return[]}})}function C(e){var t;const n=new chrome.cast.media.EditTracksInfoRequest(e);null===(t=l())||void 0===t||t.editTracksInfo(n,console.debug,console.error)}var k=Object.freeze({__proto__:null,getCurrentSession:s,getMedia:c,getMediaSession:l,isSame:u,is_supported_media:d,injectDRMConfiguration:m,normalizeSrc:p,getCastContext:f,casting_players:v,idle_players:h,broadcast_to_active:y,broadcast_to_idle:S,broadcast:g,FIELDS:E,SINGLETONS:w,refresh_singletons:T,onremotechange:_,tracks:b,cast_tracks:A,editTracks:C});function O(e,t,n,o){var a,i,l,u,d;const m=s();if(!m)return;const p=c(e);if(!p||!p.src)return;const f=new chrome.cast.media.MediaInfo(p.src,p.type||"");f.metadata=new chrome.cast.media.GenericMediaMetadata;const v={health:e.health,text_tracks:A(e),active_tracks:{active_audio:(null===(i=null===(a=null==e?void 0:e.asel)||void 0===a?void 0:a.active_track)||void 0===i?void 0:i.name)||(null===(u=null===(l=null==e?void 0:e.asel)||void 0===l?void 0:l.active_track)||void 0===u?void 0:u.lang),active_text:null===(d=b(e).find(e=>"hidden"===e.mode))||void 0===d?void 0:d.label}};p.drm&&(v.drm=p.drm),localStorage.__fpChromecastDebug&&(v.debug=!0),e.opt("ads")&&(v.ads=e.opt("ads")),f.customData=v;const h=new chrome.cast.media.LoadRequest(f);isNaN(e.currentTime)||(h.currentTime=e.currentSessionTime),h.customData=e.opt("chromecast",{}),h.customData.metadata=e.opt("metadata"),e.emit("chromecast:media",{request:h}),console.debug("cast:request(%o)",h),m.loadMedia(h).then((function(){T(t),S(t,r)}),o)}function I(){return!!l()}function P(){return!!s()}function L(){var e;return(null===(e=null==k?void 0:s())||void 0===e?void 0:e.getMediaSession()).getEstimatedLiveSeekableRange()}function D(){var e;return null===(e=l())||void 0===e?void 0:e.media.duration}function N(){var e;return null===(e=l())||void 0===e?void 0:e.playerState}function x(e){var t;return e?R(e):null===(t=l())||void 0===t?void 0:t.getEstimatedTime()}function R(e){const t=l();if(!t)return e;const n=new chrome.cast.media.SeekRequest;return n.currentTime=e,t.seek(n,console.debug,console.error),e}function M(){var e;return null===(e=l())||void 0===e?void 0:e.play(new chrome.cast.media.PlayRequest,console.debug,console.error)}function j(){var e;return null===(e=l())||void 0===e?void 0:e.pause(new chrome.cast.media.PauseRequest,console.debug,console.error)}var G=Object.freeze({__proto__:null,load:O,has_media:I,exists:P,device_name:function(){var e;return null===(e=s())||void 0===e?void 0:e.getCastDevice().friendlyName},seekable_ranges:L,duration:D,state:N,currentTime:x,seek:R,play:M,pause:j});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=l())||void 0===e?void 0:e.getEstimatedTime()}static load(e,t){O(e,t,console.debug,console.error)}static destroy(e){e.video=void 0}}var U="audio:update";var q=Object.freeze({__proto__:null,STABLE:"940D4BE4",CANARY:"6F71FA7C",LOCAL:"5258CA32"});const H="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";function F(e,t,n){if(document.querySelector("script[src='"+H+"']"))return z(n);!function(){const e=document.createElement("script");e.async=!0,e.src=H,document.head.appendChild(e)}(),window.__onGCastApiAvailable=function(){!function(e,t,n){var o;if(!Y())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){g(n,"chromecast:state:changed",e)})),a.addEventListener(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,(function(e){T(n),g(n,"chromecast:session:changed",e)}))}(e,0,n),z(n)}}function Y(){return"object"==typeof window.cast&&"object"==typeof chrome.cast}function z(e){if(Y())return g(e,"chromecast:available");g(e,"chromecast:unavailable")}function B(e,t){const n={play:function(){return new Promise(n=>u(e)?n(M()):I()?n(Sender.load(e,t)):(Sender.load(e,t),void n()))},pause:function(){return u(e)?j():HTMLMediaElement.prototype.pause.call(e)}};n.currentTime={get:x,set:x},n.seekable={get:()=>{const e=L();return{start:()=>(null==e?void 0:e.start)||0,end:()=>(null==e?void 0:e.end)||0,length:1}}},n.duration={get:D},n.paused={get:function(){return"PAUSED"===N()}},n.playing={get:function(){return"PLAYING"===N()}},Object.keys(n).forEach((function(t){if("object"==typeof n[t])return Object.defineProperty(e,t,{get:function(){var o,r;return u(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 u(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 P()?n[t].apply(e,r):o.apply(e,r)}}))}const V=(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 J(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");F(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=J(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=J(n,"flowplayer-header-right-zone");o&&o.prepend(V(n,"flowplayer-chromecast-icon"))})),n.on("chromecast:available",()=>{n.setState("is-cast-available",!0),Sender.of(n),B(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(this.flowplayer.instances.forEach(e=>{e.togglePlay(!1),e.currentSessionTime=e.hasState("is-ended")?0:e.currentTime}),I())return Sender.load(n,this.flowplayer.instances);o.pending=!0}),n.on("tracks:text:updated",(function(e){var t;if(I())return e.data?void C((null===(t=l())||void 0===t?void 0:t.media.tracks.filter(e=>"TEXT"===e.type).filter(e=>{var t;return e.name===(null===(t=b(n).find(e=>"hidden"===e.mode))||void 0===t?void 0:t.label)}).map(e=>e.trackId))||[]):C([])})),n.on(U,()=>{I()&&setTimeout(()=>{var e,t,o;const r=null===(e=null==n?void 0:n.asel)||void 0===e?void 0:e.active_track,a=null===(o=null===(t=l())||void 0===t?void 0:t.media.tracks.filter(e=>"AUDIO"===e.type).find(e=>void 0!==e.name?e.name===(null==r?void 0:r.name):e.language===(null==r?void 0:r.lang)))||void 0===o?void 0:o.trackId;"number"==typeof a&&C([a])},0)}),n.on(r,()=>{this.reset_state(n);const e=n.opt("duration");"number"==typeof e&&Math.abs(e-n.currentSessionTime)<=1&&(n.currentSessionTime=0,n.setState("is-paused",!1),n.emit("ended"))}),n.on("chromecast:field:update",(function(e){if(!e.data)return;const{field:t,value:o}=e.data;switch(t){case E.CURRENT_TIME:{Math.abs(o-n.currentSessionTime)>=1.5&&n.emit("seeked"),n.currentSessionTime=o,n.emit("timeupdate",o);const e=L();if(e){n.opts.live||n.setOpts({live:!0});const t=e.end,o=e.start;if("number"!=typeof o||"number"!=typeof t)return;n.emit("dvr/window",t-o)}return}case E.PLAYER_STATE:return"PLAYING"==o?n.emit("playing"):"PAUSED"==o?n.emit("pause"):void 0;case"videoInfo":var r=(o||{}).fake_session||G;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.hasState("is-loaded")||-1===n.duration||n.setOpts({duration:n.duration}),n.setState("is-chromecast-playing",!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",{currentTime:n.currentSessionTime}),n.setState("is-casting",!1),this.reset_state(n);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"),n.setState("is-casting",!0))}})}reset_state(e){e.setState("is-chromecast-playing",!1),e.setState("is-playing",!1),e.setState("is-paused",!0),e.setState("is-starting",!0)}}return ChromecastPlugin.apps=q,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)}));