@flowplayer/player 3.28.0 → 3.28.1
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 +1 -1
- package/default.js +1 -1
- package/embed.js +2 -2
- package/flowplayer.css +1 -1
- package/index.d.ts +3 -1
- package/package.json +1 -1
- package/plugins/ads.d.ts +3 -1
- package/plugins/ads.js +1 -1
- package/plugins/airplay.d.ts +3 -1
- package/plugins/analytics.d.ts +3 -1
- package/plugins/analytics.js +1 -1
- package/plugins/asel.d.ts +3 -1
- package/plugins/audio.d.ts +3 -1
- package/plugins/chapters.d.ts +3 -1
- package/plugins/chromecast.d.ts +3 -1
- package/plugins/comscore.d.ts +3 -1
- package/plugins/consent.d.ts +3 -1
- package/plugins/context-menu.d.ts +3 -1
- package/plugins/context-menu.js +1 -1
- package/plugins/cuepoints.d.ts +3 -1
- package/plugins/dash.d.ts +3 -1
- package/plugins/drm.d.ts +3 -1
- package/plugins/endscreen.d.ts +3 -1
- package/plugins/fas.d.ts +3 -1
- package/plugins/float-on-scroll.d.ts +3 -1
- package/plugins/ga4.d.ts +3 -1
- package/plugins/gemius.d.ts +3 -1
- package/plugins/google-analytics.d.ts +3 -1
- package/plugins/hls.d.ts +3 -1
- package/plugins/id3.d.ts +3 -1
- package/plugins/iframe.d.ts +3 -1
- package/plugins/keyboard.d.ts +3 -1
- package/plugins/media-session.d.ts +3 -1
- package/plugins/message.d.ts +3 -1
- package/plugins/ovp.d.ts +3 -1
- package/plugins/ovp.js +1 -1
- package/plugins/playlist.d.ts +3 -1
- package/plugins/preview.d.ts +3 -1
- package/plugins/qsel.d.ts +3 -1
- package/plugins/qul.d.ts +3 -1
- package/plugins/rts.d.ts +3 -1
- package/plugins/rts.js +1 -1
- package/plugins/share.d.ts +3 -1
- package/plugins/speed.d.ts +3 -1
- package/plugins/speed.js +1 -1
- package/plugins/ssai.d.ts +3 -1
- package/plugins/ssai.js +1 -1
- package/plugins/subtitles.d.ts +3 -1
- package/plugins/thumbnails.d.ts +3 -1
- package/plugins/tizen.d.ts +3 -1
- package/plugins/vtsel.d.ts +3 -1
- package/plugins/webos.d.ts +3 -1
- package/util/loader.d.ts +3 -1
package/plugins/analytics.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.analytics=t())}(this,(function(){"use strict";const e=(...e)=>e.reduce((e,t)=>Object.assign(Object.assign({},e),t),{}),t=(e,t)=>{const r=e.lastIndexOf(t);return~r&&e.splice(r,1),e};class RequestQueue{static of(){return new RequestQueue}static is_empty(e){return 0==e.pending.length}static is_high_water(e){return e.open.length==RequestQueue.MAX_OPEN_REQUESTS}static maybe_spawn_req(e){if(RequestQueue.is_empty(e))return e;if(RequestQueue.is_high_water(e))return e;try{const t=RequestQueue.lpop(e);t&&RequestQueue.request(e,t)}catch(e){}}static increment_failures(e){return e.stats.failures++,e.stats.failures>RequestQueue.MAX_FAILURE_COUNT&&(e.stats.ttl=Date.now()+RequestQueue.REQUEST_TTL_MS),e}static handle_error(e,t){RequestQueue.rm(e,t),RequestQueue.increment_failures(e)}static request(e,[t,r,n]){if(Date.now()<e.stats.ttl)return;const i=new XMLHttpRequest;e.open.push(i),i.timeout=RequestQueue.REQUEST_TIMEOUT_MS,i.ontimeout=function(){RequestQueue.handle_error(e,i)},i.onerror=function(t){RequestQueue.handle_error(e,i)},i.onreadystatechange=function(){i.readyState==XMLHttpRequest.DONE&&RequestQueue.rm(e,i),Math.floor(i.status/100)},i.onload=function(){RequestQueue.rm(e,i),e.stats.failures&&e.stats.failures--},i.open(r,t),i.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{i.send(JSON.stringify(n))}catch(e){}}static rpush(e,...t){return t.forEach(t=>{e.pending.length>=RequestQueue.MAX_PENDING||(e.pending.push(t),RequestQueue.maybe_spawn_req(e))}),e}static lpop(e){return e.pending.shift()}static rm(e,r){return t(e.open,r),e}constructor(){this.pending=[],this.open=[],this.stats={failures:0,ttl:0}}}RequestQueue.MAX_OPEN_REQUESTS=3,RequestQueue.MAX_PENDING=5,RequestQueue.REQUEST_TIMEOUT_MS=4e3,RequestQueue.REQUEST_TTL_MS=5e3,RequestQueue.MAX_FAILURE_COUNT=3;var r=RequestQueue.of();const n=/:([a-zA-Z_]+)/g;class Log{static prepare(e,t){const r=document.createEvent("Event");return r.initEvent(e,!1,!0),r.ns=e,r.data=t,r}static of(e){return new Log(e)}constructor(e){this.emitter=e}info(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.INFO,e))}error(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.ERROR,e))}warn(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.WARN,e))}}var i,o;Log.NAMESPACE={INFO:"tracker:info",ERROR:"tracker:err",WARN:"tracker:warn"},function(e){e.POST="POST",e.PUT="PUT",e.GET="GET"}(i||(i={}));class Tracker{static of(e,t){return new Tracker(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(t,r){return((t,...r)=>Object.keys(t).filter(e=>~r.indexOf(e)).reduce((r,n)=>e(r,{[n]:t[n]}),{}))(r,...t.valid_keys)}static merge_metadata(t,r={}){return t.metadata=Tracker.pluck_valid_keys(t,e(t.metadata,r)),t}static assert_emitter_api(e){if("function"!=typeof(e||{}).addEventListener)throw new Error("Tracker() received an emitter that does not implement the addEventListener method");if("function"!=typeof(e||{}).removeEventListener)throw new Error("Tracker() received an emitter that does not implement the removeEventListener method")}static create_listener(e,t,r){var n;e.listeners.push([t,r]),null===(n=e.emitter)||void 0===n||n.addEventListener(t,r)}constructor(t,i={}){const o=this;if(this.emitter=t,this.url=i.url,this.log=Log.of(this.emitter),this.verb=i.verb,this.metadata=e({},i.metadata||{}),this.rq=i.rq||r,this.events=i.events||[],this.required_keys=i.required_keys||[],this.optional_keys=i.optional_keys||[],this.listeners=[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),Tracker.assert_emitter_api(this.emitter),void 0===Tracker.verb[this.verb])throw new Error(`invalid HTTP verb[${this.verb}] passed`);if("string"!=typeof this.url)throw new Error(`invalid API url[${this.url}] passed`);Tracker.TRACKERS.push(this),o.events.forEach(t=>{Tracker.create_listener(this,t,(r={})=>{const i=e(o.metadata,{event_type:t},r.data||r),a=function(e,t){return e.replace(n,r=>{const n=r.slice(1,r.length);return n in t?t[n].toString():(console.warn(`\n preparing url[${e}] failed\n\n parameter[${n}] not detected in params:\n\n ${JSON.stringify(t,null,2)}\n `),r)})}(o.url,i),s=Tracker.pluck_valid_keys(o,i),u=Tracker.ensure_required_keys(o,s);if(u.length)return o.log.error(`Tracker.validate_metadata() failed for\n Event[${t}]\n missing keys: ${u}\n payload:\n ${JSON.stringify(s,null,2)}`);this.rq&&RequestQueue.rpush(this.rq,[a,this.verb,s])})})}destroy(){this.listeners.forEach(([e,t])=>{var r;return null===(r=this.emitter)||void 0===r?void 0:r.removeEventListener(e,t)}),delete this.rq,delete this.emitter,t(Tracker.TRACKERS,this)}put(e={}){return Tracker.merge_metadata(this,e),this}}Tracker.TRACKERS=[],Tracker.QUEUE=r,Tracker.verb=i,function(e){e[e.ADS=2]="ADS",e[e.ANALYTICS=4]="ANALYTICS",e[e.NO_METERING=8]="NO_METERING",e[e.DEVELOPER_PLAN=16]="DEVELOPER_PLAN",e[e.WOWZA_VIDEO=32]="WOWZA_VIDEO"}(o||(o={}));const a=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function s(e,t){return!!~a.indexOf(e)||e.indexOf(t)===e.length-t.length}s.check_whitelist=function(e){return!!~a.indexOf(e)};function u(e){this.message=e}u.prototype=new Error,u.prototype.name="InvalidCharacterError";var c="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new u("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,a="";n=t.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?a+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return a};var d=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(c(e).replace(/(.)/g,(function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return c(t)}};function l(e){this.message=e}l.prototype=new Error,l.prototype.name="InvalidTokenError";var f=function(e,t){if("string"!=typeof e)throw new l("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(d(e.split(".")[r]))}catch(e){throw new l("Invalid token specified: "+e.message)}};f.InvalidTokenError=l;const p="production";function _(e,t){const r={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let n={c:"{}",exp:0};t=t||{};try{n=f(e),r.valid_jwt=!0}catch(e){}return r.raw=e,r.data=JSON.parse(n.c),r.exp=n.exp,t.require_valid_token&&_.validate(r),r}function h(e){return{grant:e,is_granted:t=>(e&t)===t}}function m(e,t,r){const n=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;n.length;){if(null==e)return r;const t=n.shift();if("string"!=typeof t)return r;e=e[t]}return null==e?r:e}_.validate=function(e){if("string"==typeof e&&(e=_(e)),!e||!e.raw){if(s.check_whitelist(window.location.hostname)||"dev"===p.toString())return!0;throw new Error("No token provided in configuration")}if(!e.valid_jwt)throw new Error("Invalid token provided");const t=window.location.hostname,r=s.bind(null,t);if("dev"!==p.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(r))throw new Error("Domain not allowed");if("dev"!==p.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},_.id=function(e){if(e)return"string"==typeof e&&(e=_(e)),e.data.id},h.of=h,h.from_token=function(e){const t=_(e,{require_valid_token:!0});return h.of(t.data.acl)},h.permissions=o;var v="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};var y="ping",k="display",g="view";const w=["sitegroup_id","session_id","media_id","site_id","player_id","video_type"],E=["created","position"],T=["player_version","created","source","category","category_id","autoplay","muted","customer_user_id"];function R(e,t){return e.duration/1===e.duration&&Object.assign(t,function(e){const t=e/100;return{segment_duration:t,breakpoints:Array(...Array(100)).map((function(e,r){return Math.floor(r*t*1e3)/1e3}))}}(e.duration))}function q(e,t,r){if(!t.segment_duration&&!R(e,t))return;const n=function(e,t,r){const n=t.last_idx,i=r?99:A(e,t);return t.last_idx=i,i<=n?[]:t.breakpoints.slice(n,99==i?100:i).map((function(e){return t.breakpoints.indexOf(e)}))}(e,t,r);0!=n.length&&e.emit(y,{position:n})}function A(e,t){return Math.min(Math.floor(e.currentTime/t.segment_duration),99)}function S(){try{const e=window.location!==window.parent.location?document.referrer:document.location.href;return"string"==typeof e&&e.slice(0,200)}catch(e){return!1}}var O;const b="vod",N="live",Q=[k,y,g];function x(e,t,r){switch(null==t?void 0:t.kind){case"live":return function(e,t){const r=Date.now();r-t.last_tracked_ts<6e4||(t.last_tracked_ts=r,++t.ticks,e.emit(y,{position:60*t.ticks}))}(e,t);case"vod":return q(e,t,"boolean"==typeof r&&r)}}function L(e){const t=e.ads;return void 0!==t&&(void 0!==t.schedule&&("function"==typeof t.hasPreroll&&(t.currentRequests?t.currentRequests:!!t.adPlaying||!(!t.hasPreroll()||0!=t.nextIndex))))}const I=((O=class Analytics{init(e,t,r){if(!h.from_token(e.token||"").is_granted(h.permissions.ANALYTICS))return;if(r.hasState("consent-no-tracking"))return;if(r.analytics)return;const n=r.analytics={ticker:void 0,last_media_id:"",ended:!1},i={locked:void 0,ttl:6e3,task:()=>{x(r,n.ticker)}};const o={session_id:r.deviceId(),autoplay:r.autoplay,muted:r.muted,player_id:e.player_id,customer_user_id:e.customer_user_id,player_version:"3.28.0"},a=Tracker.of(r,{verb:Tracker.verb.POST,url:"https://ptm.flowplayer.com/:video_type/:sitegroup_id/:event_type",events:Q,required_keys:w,optional_keys:T.concat(E).slice(0),metadata:o});r.on("reap",(function(){a&&a.destroy()})),r.on("config",(function(t){if(!a)return;const i=m(t,"data.metadata",{});if(!i.media_id)return;const o=m(a,"metadata.media_id");if(o&&i.media_id==o)return;const s=m(e,"analytics",{});a.put(i),a.put(s);const u=m(e,"metadata.live_start_time",e.live)?N:b;a.put({video_type:u,source:e.source||S()||""}),n.ticker=e.live?{ticks:0,last_tracked_ts:Date.now(),kind:"live"}:{last_idx:0,segment_duration:0,breakpoints:[],kind:"vod"},n.ended=!1,r.emit(k)}));let s=0;r.on("playing",(function(){if(!a)return;if(s||function(e,t){return e.metadata.media_id&&e.metadata.media_id==t.last_media_id}(a,n))return;a.put({muted:r.muted});const e=L(r);if(e)return s=Promise.resolve(e).then((function(){n.last_media_id=a.metadata.media_id,r.emit(g),s=0})).catch((function(){s=0}));n.last_media_id=a.metadata.media_id,r.emit(g)})),r.on("timeupdate",(function(){var t;a&&(s||L(r)||n.ended||(!e.live&&r.currentTime+.25>=r.duration&&x(r,n.ticker,!0),(t=i).locked||(t.locked=setTimeout((function(){return t.task(),function(e){return e.locked=void 0,e}(t)}),t.ttl))))})),r.on("seeked",(function(){a&&n.ticker&&"vod"==n.ticker.kind&&function(e,t){R(e,t),t.last_idx=A(e,t)}(r,n.ticker)})),r.on("ended",(function(){a&&function(e,t){t.ended||(t.ended=!0,x(e,t.ticker))}(r,n)}))}}).pluginName="analytics",O);return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const r=e.flowplayer;return"function"==typeof r?(r(t),t):(Array.isArray(r.extensions)||(r.extensions=[]),~r.extensions.indexOf(t)||r.extensions.push(t),t)}("undefined"!=typeof window?window:void 0!==v?v:{},I)}));
|
|
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.analytics=t())}(this,(function(){"use strict";const e=(...e)=>e.reduce((e,t)=>Object.assign(Object.assign({},e),t),{}),t=(e,t)=>{const r=e.lastIndexOf(t);return~r&&e.splice(r,1),e};class RequestQueue{static of(){return new RequestQueue}static is_empty(e){return 0==e.pending.length}static is_high_water(e){return e.open.length==RequestQueue.MAX_OPEN_REQUESTS}static maybe_spawn_req(e){if(RequestQueue.is_empty(e))return e;if(RequestQueue.is_high_water(e))return e;try{const t=RequestQueue.lpop(e);t&&RequestQueue.request(e,t)}catch(e){}}static increment_failures(e){return e.stats.failures++,e.stats.failures>RequestQueue.MAX_FAILURE_COUNT&&(e.stats.ttl=Date.now()+RequestQueue.REQUEST_TTL_MS),e}static handle_error(e,t){RequestQueue.rm(e,t),RequestQueue.increment_failures(e)}static request(e,[t,r,n]){if(Date.now()<e.stats.ttl)return;const i=new XMLHttpRequest;e.open.push(i),i.timeout=RequestQueue.REQUEST_TIMEOUT_MS,i.ontimeout=function(){RequestQueue.handle_error(e,i)},i.onerror=function(t){RequestQueue.handle_error(e,i)},i.onreadystatechange=function(){i.readyState==XMLHttpRequest.DONE&&RequestQueue.rm(e,i),Math.floor(i.status/100)},i.onload=function(){RequestQueue.rm(e,i),e.stats.failures&&e.stats.failures--},i.open(r,t),i.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{i.send(JSON.stringify(n))}catch(e){}}static rpush(e,...t){return t.forEach(t=>{e.pending.length>=RequestQueue.MAX_PENDING||(e.pending.push(t),RequestQueue.maybe_spawn_req(e))}),e}static lpop(e){return e.pending.shift()}static rm(e,r){return t(e.open,r),e}constructor(){this.pending=[],this.open=[],this.stats={failures:0,ttl:0}}}RequestQueue.MAX_OPEN_REQUESTS=3,RequestQueue.MAX_PENDING=5,RequestQueue.REQUEST_TIMEOUT_MS=4e3,RequestQueue.REQUEST_TTL_MS=5e3,RequestQueue.MAX_FAILURE_COUNT=3;var r=RequestQueue.of();const n=/:([a-zA-Z_]+)/g;class Log{static prepare(e,t){const r=document.createEvent("Event");return r.initEvent(e,!1,!0),r.ns=e,r.data=t,r}static of(e){return new Log(e)}constructor(e){this.emitter=e}info(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.INFO,e))}error(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.ERROR,e))}warn(e){this.emitter.dispatchEvent(Log.prepare(Log.NAMESPACE.WARN,e))}}var i,o;Log.NAMESPACE={INFO:"tracker:info",ERROR:"tracker:err",WARN:"tracker:warn"},function(e){e.POST="POST",e.PUT="PUT",e.GET="GET"}(i||(i={}));class Tracker{static of(e,t){return new Tracker(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(t,r){return((t,...r)=>Object.keys(t).filter(e=>~r.indexOf(e)).reduce((r,n)=>e(r,{[n]:t[n]}),{}))(r,...t.valid_keys)}static merge_metadata(t,r={}){return t.metadata=Tracker.pluck_valid_keys(t,e(t.metadata,r)),t}static assert_emitter_api(e){if("function"!=typeof(e||{}).addEventListener)throw new Error("Tracker() received an emitter that does not implement the addEventListener method");if("function"!=typeof(e||{}).removeEventListener)throw new Error("Tracker() received an emitter that does not implement the removeEventListener method")}static create_listener(e,t,r){var n;e.listeners.push([t,r]),null===(n=e.emitter)||void 0===n||n.addEventListener(t,r)}constructor(t,i={}){const o=this;if(this.emitter=t,this.url=i.url,this.log=Log.of(this.emitter),this.verb=i.verb,this.metadata=e({},i.metadata||{}),this.rq=i.rq||r,this.events=i.events||[],this.required_keys=i.required_keys||[],this.optional_keys=i.optional_keys||[],this.listeners=[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),Tracker.assert_emitter_api(this.emitter),void 0===Tracker.verb[this.verb])throw new Error(`invalid HTTP verb[${this.verb}] passed`);if("string"!=typeof this.url)throw new Error(`invalid API url[${this.url}] passed`);Tracker.TRACKERS.push(this),o.events.forEach(t=>{Tracker.create_listener(this,t,(r={})=>{const i=e(o.metadata,{event_type:t},r.data||r),a=function(e,t){return e.replace(n,r=>{const n=r.slice(1,r.length);return n in t?t[n].toString():(console.warn(`\n preparing url[${e}] failed\n\n parameter[${n}] not detected in params:\n\n ${JSON.stringify(t,null,2)}\n `),r)})}(o.url,i),s=Tracker.pluck_valid_keys(o,i),u=Tracker.ensure_required_keys(o,s);if(u.length)return o.log.error(`Tracker.validate_metadata() failed for\n Event[${t}]\n missing keys: ${u}\n payload:\n ${JSON.stringify(s,null,2)}`);this.rq&&RequestQueue.rpush(this.rq,[a,this.verb,s])})})}destroy(){this.listeners.forEach(([e,t])=>{var r;return null===(r=this.emitter)||void 0===r?void 0:r.removeEventListener(e,t)}),delete this.rq,delete this.emitter,t(Tracker.TRACKERS,this)}put(e={}){return Tracker.merge_metadata(this,e),this}}Tracker.TRACKERS=[],Tracker.QUEUE=r,Tracker.verb=i,function(e){e[e.ADS=2]="ADS",e[e.ANALYTICS=4]="ANALYTICS",e[e.NO_METERING=8]="NO_METERING",e[e.DEVELOPER_PLAN=16]="DEVELOPER_PLAN",e[e.WOWZA_VIDEO=32]="WOWZA_VIDEO"}(o||(o={}));const a=["localhost","127.0.0.1","0.0.0.0","s.codepen.io","cdpn.io","try.flowplayer.com"];function s(e,t){return!!~a.indexOf(e)||e.indexOf(t)===e.length-t.length}s.check_whitelist=function(e){return!!~a.indexOf(e)};function u(e){this.message=e}u.prototype=new Error,u.prototype.name="InvalidCharacterError";var c="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new u("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,a="";n=t.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?a+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return a};var d=function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(c(e).replace(/(.)/g,(function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return c(t)}};function l(e){this.message=e}l.prototype=new Error,l.prototype.name="InvalidTokenError";var f=function(e,t){if("string"!=typeof e)throw new l("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(d(e.split(".")[r]))}catch(e){throw new l("Invalid token specified: "+e.message)}};f.InvalidTokenError=l;const p="production";function _(e,t){const r={valid_jwt:!1,raw:"",data:{acl:0},exp:0};let n={c:"{}",exp:0};t=t||{};try{n=f(e),r.valid_jwt=!0}catch(e){}return r.raw=e,r.data=JSON.parse(n.c),r.exp=n.exp,t.require_valid_token&&_.validate(r),r}function h(e){return{grant:e,is_granted:t=>(e&t)===t}}function m(e,t,r){const n=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;n.length;){if(null==e)return r;const t=n.shift();if("string"!=typeof t)return r;e=e[t]}return null==e?r:e}_.validate=function(e){if("string"==typeof e&&(e=_(e)),!e||!e.raw){if(s.check_whitelist(window.location.hostname)||"dev"===p.toString())return!0;throw new Error("No token provided in configuration")}if(!e.valid_jwt)throw new Error("Invalid token provided");const t=window.location.hostname,r=s.bind(null,t);if("dev"!==p.toString()&&e.data.domain&&e.data.domain.length&&!e.data.domain.some(r))throw new Error("Domain not allowed");if("dev"!==p.toString()&&1e3*e.exp-Date.now()<0)throw new Error("Expired token");return!0},_.id=function(e){if(e)return"string"==typeof e&&(e=_(e)),e.data.id},h.of=h,h.from_token=function(e){const t=_(e,{require_valid_token:!0});return h.of(t.data.acl)},h.permissions=o;var v="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};var y="ping",k="display",g="view";const w=["sitegroup_id","session_id","media_id","site_id","player_id","video_type"],E=["created","position"],T=["player_version","created","source","category","category_id","autoplay","muted","customer_user_id"];function R(e,t){return e.duration/1===e.duration&&Object.assign(t,function(e){const t=e/100;return{segment_duration:t,breakpoints:Array(...Array(100)).map((function(e,r){return Math.floor(r*t*1e3)/1e3}))}}(e.duration))}function q(e,t,r){if(!t.segment_duration&&!R(e,t))return;const n=function(e,t,r){const n=t.last_idx,i=r?99:A(e,t);return t.last_idx=i,i<=n?[]:t.breakpoints.slice(n,99==i?100:i).map((function(e){return t.breakpoints.indexOf(e)}))}(e,t,r);0!=n.length&&e.emit(y,{position:n})}function A(e,t){return Math.min(Math.floor(e.currentTime/t.segment_duration),99)}function S(){try{const e=window.location!==window.parent.location?document.referrer:document.location.href;return"string"==typeof e&&e.slice(0,200)}catch(e){return!1}}var O;const b="vod",N="live",Q=[k,y,g];function x(e,t,r){switch(null==t?void 0:t.kind){case"live":return function(e,t){const r=Date.now();r-t.last_tracked_ts<6e4||(t.last_tracked_ts=r,++t.ticks,e.emit(y,{position:60*t.ticks}))}(e,t);case"vod":return q(e,t,"boolean"==typeof r&&r)}}function L(e){const t=e.ads;return void 0!==t&&(void 0!==t.schedule&&("function"==typeof t.hasPreroll&&(t.currentRequests?t.currentRequests:!!t.adPlaying||!(!t.hasPreroll()||0!=t.nextIndex))))}const I=((O=class Analytics{init(e,t,r){if(!h.from_token(e.token||"").is_granted(h.permissions.ANALYTICS))return;if(r.hasState("consent-no-tracking"))return;if(r.analytics)return;const n=r.analytics={ticker:void 0,last_media_id:"",ended:!1},i={locked:void 0,ttl:6e3,task:()=>{x(r,n.ticker)}};const o={session_id:r.deviceId(),autoplay:r.autoplay,muted:r.muted,player_id:e.player_id,customer_user_id:e.customer_user_id,player_version:"3.28.1"},a=Tracker.of(r,{verb:Tracker.verb.POST,url:"https://ptm.flowplayer.com/:video_type/:sitegroup_id/:event_type",events:Q,required_keys:w,optional_keys:T.concat(E).slice(0),metadata:o});r.on("reap",(function(){a&&a.destroy()})),r.on("config",(function(t){if(!a)return;const i=m(t,"data.metadata",{});if(!i.media_id)return;const o=m(a,"metadata.media_id");if(o&&i.media_id==o)return;const s=m(e,"analytics",{});a.put(i),a.put(s);const u=m(e,"metadata.live_start_time",e.live)?N:b;a.put({video_type:u,source:e.source||S()||""}),n.ticker=e.live?{ticks:0,last_tracked_ts:Date.now(),kind:"live"}:{last_idx:0,segment_duration:0,breakpoints:[],kind:"vod"},n.ended=!1,r.emit(k)}));let s=0;r.on("playing",(function(){if(!a)return;if(s||function(e,t){return e.metadata.media_id&&e.metadata.media_id==t.last_media_id}(a,n))return;a.put({muted:r.muted});const e=L(r);if(e)return s=Promise.resolve(e).then((function(){n.last_media_id=a.metadata.media_id,r.emit(g),s=0})).catch((function(){s=0}));n.last_media_id=a.metadata.media_id,r.emit(g)})),r.on("timeupdate",(function(){var t;a&&(s||L(r)||n.ended||(!e.live&&r.currentTime+.25>=r.duration&&x(r,n.ticker,!0),(t=i).locked||(t.locked=setTimeout((function(){return t.task(),function(e){return e.locked=void 0,e}(t)}),t.ttl))))})),r.on("seeked",(function(){a&&n.ticker&&"vod"==n.ticker.kind&&function(e,t){R(e,t),t.last_idx=A(e,t)}(r,n.ticker)})),r.on("ended",(function(){a&&function(e,t){t.ended||(t.ended=!0,x(e,t.ticker))}(r,n)}))}}).pluginName="analytics",O);return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const r=e.flowplayer;return"function"==typeof r?(r(t),t):(Array.isArray(r.extensions)||(r.extensions=[]),~r.extensions.indexOf(t)||r.extensions.push(t),t)}("undefined"!=typeof window?window:void 0!==v?v:{},I)}));
|
package/plugins/asel.d.ts
CHANGED
|
@@ -1518,7 +1518,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1518
1518
|
*/
|
|
1519
1519
|
declare type PlayerWith<T> = T & Player;
|
|
1520
1520
|
|
|
1521
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1521
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1522
|
+
/* Excluded from this release type: on */
|
|
1523
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1522
1524
|
opts: PluginConfig;
|
|
1523
1525
|
setOpts: (config: PluginConfig) => void;
|
|
1524
1526
|
};
|
package/plugins/audio.d.ts
CHANGED
|
@@ -1401,7 +1401,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1401
1401
|
*/
|
|
1402
1402
|
declare type PlayerWith<T> = T & Player;
|
|
1403
1403
|
|
|
1404
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1404
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1405
|
+
/* Excluded from this release type: on */
|
|
1406
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1405
1407
|
opts: PluginConfig;
|
|
1406
1408
|
setOpts: (config: PluginConfig) => void;
|
|
1407
1409
|
};
|
package/plugins/chapters.d.ts
CHANGED
|
@@ -1403,7 +1403,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1403
1403
|
*/
|
|
1404
1404
|
declare type PlayerWith<T> = T & Player;
|
|
1405
1405
|
|
|
1406
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1406
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1407
|
+
/* Excluded from this release type: on */
|
|
1408
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1407
1409
|
opts: PluginConfig;
|
|
1408
1410
|
setOpts: (config: PluginConfig) => void;
|
|
1409
1411
|
};
|
package/plugins/chromecast.d.ts
CHANGED
|
@@ -1466,7 +1466,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1466
1466
|
*/
|
|
1467
1467
|
declare type PlayerWith<T> = T & Player;
|
|
1468
1468
|
|
|
1469
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1469
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1470
|
+
/* Excluded from this release type: on */
|
|
1471
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1470
1472
|
opts: PluginConfig;
|
|
1471
1473
|
setOpts: (config: PluginConfig) => void;
|
|
1472
1474
|
};
|
package/plugins/comscore.d.ts
CHANGED
|
@@ -1401,7 +1401,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1401
1401
|
*/
|
|
1402
1402
|
declare type PlayerWith<T> = T & Player;
|
|
1403
1403
|
|
|
1404
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1404
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1405
|
+
/* Excluded from this release type: on */
|
|
1406
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1405
1407
|
opts: PluginConfig;
|
|
1406
1408
|
setOpts: (config: PluginConfig) => void;
|
|
1407
1409
|
};
|
package/plugins/consent.d.ts
CHANGED
|
@@ -1427,7 +1427,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1427
1427
|
*/
|
|
1428
1428
|
declare type PlayerWith<T> = T & Player;
|
|
1429
1429
|
|
|
1430
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1430
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1431
|
+
/* Excluded from this release type: on */
|
|
1432
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1431
1433
|
opts: PluginConfig;
|
|
1432
1434
|
setOpts: (config: PluginConfig) => void;
|
|
1433
1435
|
};
|
|
@@ -1415,7 +1415,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1415
1415
|
*/
|
|
1416
1416
|
declare type PlayerWith<T> = T & Player;
|
|
1417
1417
|
|
|
1418
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1418
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1419
|
+
/* Excluded from this release type: on */
|
|
1420
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1419
1421
|
opts: PluginConfig;
|
|
1420
1422
|
setOpts: (config: PluginConfig) => void;
|
|
1421
1423
|
};
|
package/plugins/context-menu.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.context_menu=t())}(this,(function(){"use strict";const e=document.createElement;function t(t,n){const o=n.href?function(t){const n=e("a");return n.href=t,n}(n.href):e("span"),c=n.onclick;return n.class&&(o.className=n.class),n.text&&(o.innerText=n.text),c&&o.addEventListener("click",(function(e){c(e,t)})),o}var n;const o=[{text:"Flowplayer © "+(new Date).getFullYear()},{href:"https://flowplayer.com",text:"About this player"},{href:"https://flowplayer.com/license/",text:"GPL based license"}];let c=!1;const s=e=>{e.classList.remove("fp-active"),c=!1};document.addEventListener("click",e=>{2!=e.button&&0!=c&&s(c)}),document.addEventListener("keyup",(function(){c&&s(c)}));const i=((n=class ContextMenu{init(e,n,s){const i=e.context_menu||o,l=document.createElement("div");l.className="fp-context-menu fp-menu",l.append(...i.map(e=>t(s,e)));const r=function(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}(s,"flowplayer-ui");r&&r.addEventListener("contextmenu",(function(e){if(!l.parentNode)return;e.preventDefault(),s.emit("contextmenu");const t=l.getBoundingClientRect();l.style.left=e.clientX-window.scrollX-t.left+2+"px",l.style.right=e.clientY+window.scrollY-t.top-5+"px",l.classList.contains("fp-active")||(l.classList.contains("fp-active"),c=l)}))}}).pluginName="context-menu",n);return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)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,i)}));
|
|
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.context_menu=t())}(this,(function(){"use strict";const e=document.createElement;function t(t,n){const o=n.href?function(t){const n=e("a");return n.href=t,n}(n.href):e("span"),c=n.onclick;return n.class&&(o.className=n.class),n.text&&(o.innerText=n.text),c&&o.addEventListener("click",(function(e){c(e,t)})),o}var n;const o=[{text:"Flowplayer © "+(new Date).getFullYear()},{href:"https://flowplayer.com",text:"About this player"},{href:"https://flowplayer.com/license/",text:"GPL based license"}];let c=!1;const s=e=>{e.classList.remove(".fp-active"),c=!1};document.addEventListener("click",e=>{2!=e.button&&0!=c&&s(c)}),document.addEventListener("keyup",(function(){c&&s(c)}));const i=((n=class ContextMenu{init(e,n,s){const i=e.context_menu||o,l=document.createElement("div");l.className=".fp-context-menu .fp-menu",l.append(...i.map(e=>t(s,e)));const r=function(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}(s,"flowplayer-ui");r&&r.addEventListener("contextmenu",(function(e){if(!l.parentNode)return;e.preventDefault(),s.emit("contextmenu");const t=l.getBoundingClientRect();l.style.left=e.clientX-window.scrollX-t.left+2+"px",l.style.right=e.clientY+window.scrollY-t.top-5+"px",l.classList.contains(".fp-active")||(l.classList.contains(".fp-active"),c=l)}))}}).pluginName="context-menu",n);return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)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,i)}));
|
package/plugins/cuepoints.d.ts
CHANGED
|
@@ -1525,7 +1525,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1525
1525
|
*/
|
|
1526
1526
|
declare type PlayerWith<T> = T & Player;
|
|
1527
1527
|
|
|
1528
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1528
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1529
|
+
/* Excluded from this release type: on */
|
|
1530
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1529
1531
|
opts: PluginConfig;
|
|
1530
1532
|
setOpts: (config: PluginConfig) => void;
|
|
1531
1533
|
};
|
package/plugins/dash.d.ts
CHANGED
|
@@ -1462,7 +1462,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1462
1462
|
*/
|
|
1463
1463
|
declare type PlayerWith<T> = T & Player;
|
|
1464
1464
|
|
|
1465
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1465
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1466
|
+
/* Excluded from this release type: on */
|
|
1467
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1466
1468
|
opts: PluginConfig;
|
|
1467
1469
|
setOpts: (config: PluginConfig) => void;
|
|
1468
1470
|
};
|
package/plugins/drm.d.ts
CHANGED
|
@@ -1510,7 +1510,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1510
1510
|
*/
|
|
1511
1511
|
declare type PlayerWith<T> = T & Player;
|
|
1512
1512
|
|
|
1513
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1513
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1514
|
+
/* Excluded from this release type: on */
|
|
1515
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1514
1516
|
opts: PluginConfig;
|
|
1515
1517
|
setOpts: (config: PluginConfig) => void;
|
|
1516
1518
|
};
|
package/plugins/endscreen.d.ts
CHANGED
|
@@ -1408,7 +1408,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1408
1408
|
*/
|
|
1409
1409
|
declare type PlayerWith<T> = T & Player;
|
|
1410
1410
|
|
|
1411
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1411
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1412
|
+
/* Excluded from this release type: on */
|
|
1413
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1412
1414
|
opts: PluginConfig;
|
|
1413
1415
|
setOpts: (config: PluginConfig) => void;
|
|
1414
1416
|
};
|
package/plugins/fas.d.ts
CHANGED
|
@@ -1455,7 +1455,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1455
1455
|
*/
|
|
1456
1456
|
declare type PlayerWith<T> = T & Player;
|
|
1457
1457
|
|
|
1458
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1458
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1459
|
+
/* Excluded from this release type: on */
|
|
1460
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1459
1461
|
opts: PluginConfig;
|
|
1460
1462
|
setOpts: (config: PluginConfig) => void;
|
|
1461
1463
|
};
|
|
@@ -1479,7 +1479,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1479
1479
|
*/
|
|
1480
1480
|
declare type PlayerWith<T> = T & Player;
|
|
1481
1481
|
|
|
1482
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1482
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1483
|
+
/* Excluded from this release type: on */
|
|
1484
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1483
1485
|
opts: PluginConfig;
|
|
1484
1486
|
setOpts: (config: PluginConfig) => void;
|
|
1485
1487
|
};
|
package/plugins/ga4.d.ts
CHANGED
|
@@ -1401,7 +1401,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1401
1401
|
*/
|
|
1402
1402
|
declare type PlayerWith<T> = T & Player;
|
|
1403
1403
|
|
|
1404
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1404
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1405
|
+
/* Excluded from this release type: on */
|
|
1406
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1405
1407
|
opts: PluginConfig;
|
|
1406
1408
|
setOpts: (config: PluginConfig) => void;
|
|
1407
1409
|
};
|
package/plugins/gemius.d.ts
CHANGED
|
@@ -1426,7 +1426,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1426
1426
|
*/
|
|
1427
1427
|
declare type PlayerWith<T> = T & Player;
|
|
1428
1428
|
|
|
1429
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1429
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1430
|
+
/* Excluded from this release type: on */
|
|
1431
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1430
1432
|
opts: PluginConfig;
|
|
1431
1433
|
setOpts: (config: PluginConfig) => void;
|
|
1432
1434
|
};
|
|
@@ -1401,7 +1401,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1401
1401
|
*/
|
|
1402
1402
|
declare type PlayerWith<T> = T & Player;
|
|
1403
1403
|
|
|
1404
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1404
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1405
|
+
/* Excluded from this release type: on */
|
|
1406
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1405
1407
|
opts: PluginConfig;
|
|
1406
1408
|
setOpts: (config: PluginConfig) => void;
|
|
1407
1409
|
};
|
package/plugins/hls.d.ts
CHANGED
|
@@ -1456,7 +1456,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1456
1456
|
*/
|
|
1457
1457
|
declare type PlayerWith<T> = T & Player;
|
|
1458
1458
|
|
|
1459
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1459
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1460
|
+
/* Excluded from this release type: on */
|
|
1461
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1460
1462
|
opts: PluginConfig;
|
|
1461
1463
|
setOpts: (config: PluginConfig) => void;
|
|
1462
1464
|
};
|
package/plugins/id3.d.ts
CHANGED
|
@@ -1467,7 +1467,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1467
1467
|
*/
|
|
1468
1468
|
declare type PlayerWith<T> = T & Player;
|
|
1469
1469
|
|
|
1470
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1470
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1471
|
+
/* Excluded from this release type: on */
|
|
1472
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1471
1473
|
opts: PluginConfig;
|
|
1472
1474
|
setOpts: (config: PluginConfig) => void;
|
|
1473
1475
|
};
|
package/plugins/iframe.d.ts
CHANGED
|
@@ -1402,7 +1402,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1402
1402
|
*/
|
|
1403
1403
|
declare type PlayerWith<T> = T & Player;
|
|
1404
1404
|
|
|
1405
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1405
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1406
|
+
/* Excluded from this release type: on */
|
|
1407
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1406
1408
|
opts: PluginConfig;
|
|
1407
1409
|
setOpts: (config: PluginConfig) => void;
|
|
1408
1410
|
};
|
package/plugins/keyboard.d.ts
CHANGED
|
@@ -1401,7 +1401,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1401
1401
|
*/
|
|
1402
1402
|
declare type PlayerWith<T> = T & Player;
|
|
1403
1403
|
|
|
1404
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1404
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1405
|
+
/* Excluded from this release type: on */
|
|
1406
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1405
1407
|
opts: PluginConfig;
|
|
1406
1408
|
setOpts: (config: PluginConfig) => void;
|
|
1407
1409
|
};
|
|
@@ -1401,7 +1401,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1401
1401
|
*/
|
|
1402
1402
|
declare type PlayerWith<T> = T & Player;
|
|
1403
1403
|
|
|
1404
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1404
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1405
|
+
/* Excluded from this release type: on */
|
|
1406
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1405
1407
|
opts: PluginConfig;
|
|
1406
1408
|
setOpts: (config: PluginConfig) => void;
|
|
1407
1409
|
};
|
package/plugins/message.d.ts
CHANGED
|
@@ -1455,7 +1455,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1455
1455
|
*/
|
|
1456
1456
|
declare type PlayerWith<T> = T & Player;
|
|
1457
1457
|
|
|
1458
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1458
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1459
|
+
/* Excluded from this release type: on */
|
|
1460
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1459
1461
|
opts: PluginConfig;
|
|
1460
1462
|
setOpts: (config: PluginConfig) => void;
|
|
1461
1463
|
};
|
package/plugins/ovp.d.ts
CHANGED
|
@@ -1435,7 +1435,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1435
1435
|
*/
|
|
1436
1436
|
declare type PlayerWith<T> = T & Player;
|
|
1437
1437
|
|
|
1438
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1438
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1439
|
+
/* Excluded from this release type: on */
|
|
1440
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1439
1441
|
opts: PluginConfig;
|
|
1440
1442
|
setOpts: (config: PluginConfig) => void;
|
|
1441
1443
|
};
|
package/plugins/ovp.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.ovp=t())}(this,(function(){"use strict";function e(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]])}return o}const t=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),o=(...e)=>e.reduce((e,n)=>t(n)?(Object.keys(n).forEach(r=>{if(t(e[r])&&t(n[r]))return e[r]=o(e[r],n[r]);e[r]=n[r]}),e):e,{});class Pipe{static of(e){return new Pipe(e)}static maybe(e,t,...o){return null==e?e:t.apply(e,[e,...o])}constructor(e){this.data=e}tap(e,...t){return e.apply(this,[this.data,...t]),new Pipe(this.data)}fmap(e,...t){const o=e.apply(this,[this.data,...t]);return new Pipe(o)}unwrap(){return this.data}}const n="https://ljsp.lwcdn.com".concat("/web/public/countdown/time.json"),r=window,a=r._flowplayerTimekeeper||(r._flowplayerTimekeeper={});function i(e){return fetch(e).then(e=>e.json())}function s(...e){let t=[].join.call(e,"/");return"/"!==t[0]&&(t="/"+t),c()+"/web/public/native/config"+t}const c=()=>"https://ljsp.lwcdn.com";function l(e){(async function(){const e=a.cachedServerOffset;if(e)return e;const t=a.pendingRequest||(a.pendingRequest=fetch(n)),o=await t,r=parseInt(o.headers.get("age")||"0"),i=await o.json(),s=Date.now()-i.millisUtc-1e3*r;return a.cachedServerOffset=s,a.cachedServerOffset})().then(t=>Object.assign(e,{server_time_offset:t}))}function d(e,t){var n,r;t="object"==typeof t?t:{};const a={title:null===(n=null==e?void 0:e.metadata)||void 0===n?void 0:n.title,description:null===(r=null==e?void 0:e.metadata)||void 0===r?void 0:r.description},i={ima:{parameters:function({media_id:e,duration:t,title:o,tags:n,category_name:r,ad_keywords:a}){return{ad_keywords:a||"",media_id:e||"",category:r||"",media_name:o||"",media_tags:n||"",media_duration:t||-1}}((null==e?void 0:e.metadata)||{})}},s=t.embed||{};return delete s.src,o(i,a,e,(delete(c=t).src,delete c.metadata,delete c.title,delete c.description,delete c.duration,delete c.poster,c),s);var c}const p=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,u=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,m=/^[A-Za-z0-9]{8}$/,f=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[A-Za-z0-9]{8}$/;function y(e){return"object"==typeof e&&"ovp/base64"==e.type}function v(e,t){return function(e,t){return!(!p.test(e)&&!u.test(e))&&(t.type="video/ovp",!0)}(e,t)||function(e,t){return!(!m.test(e)&&!f.test(e))&&(t&&(t.type="video/ovp"),!0)}(e,t)||y(t)}function w(e){try{return function(e){return null===e?{}:JSON.parse(e)}(decodeURIComponent(atob(e).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join("")))}catch(e){return{err:e.message}}}function h(e){const t=e.split(/[^0-9]/).map(e=>parseInt(e,10));return Date.UTC(t[0],t[1]-1,t[2],t[3],t[4],t[5])}function k(e){return e.live}var b=Object.freeze({__proto__:null,OVP_ERROR:"ovp:error",OVP_MEDIA_REQUEST_START:"ovp:request:start",OVP_MEDIA_REQUEST_COMPLETE:"ovp:request:media:complete",OVP_PLAYLIST_REQUEST_COMPLETE:"ovp:request:playlist:complete",LIVE_COUNTDOWN_TICK:"ovp:live:countdown:tick",LIVE_COUNTDOWN_START:"ovp:live:countdown:start",LIVE_COUNTDOWN_COMPLETE:"ovp:live:countdown:complete",OVP_MEDIA_CHANGED:"ovp:media:changed",OVP_REALTIME_MESSAGE:"ovp:message:realtime",OVP_CONFIG_FINALIZED:"ovp:config:finalized"});const P={Unknown:"00-00",MediaUnknown:"01-00",MediaUnavailable:"01-01",MediaUnsupportedVideoFormat:"01-02",MediaUnsupportedAudioFormat:"01-03",MediaBitrateExceeded:"01-04",MediaBufferOverread:"01-05",MediaIntegerOverflow:"01-06",MediaQuotaExceeded:"01-07",MediaInvalidCompositionDuration:"01-08",MediaInvalidCompositionSourceDuration:"01-09",MediaInvalidCompositionSourceStartTime:"01-10",MediaMalformedDepth:"01-11",PlaybackUnknown:"02-00",PlaybackVideoBufferUnderRun:"02-01",PlaybackAudioBufferUnderRun:"02-02",PlaybackVideoBufferingTimeout:"02-03",PlaybackAudioBufferingTimeout:"02-04",PlaybackManifestParseError:"02-05",PlaybackVideoDecodeError:"02-06",PlaybackAudioDecodeError:"02-07",PlaybackDroppedFramesExceeded:"02-08",PlaybackPlayheadExceedsDuration:"02-09",PlaybackUnsupportedDevice:"02-10",PlaybackManifestLoadError:"02-11",PlaybackManifestLoadTimeout:"02-12",PlaybackManifestParsingError:"02-13",PlaybackManifestIncompatibleCodecs:"02-14",PlaybackLevelEmptyError:"02-15",PlaybackLevelLoadError:"02-16",PlaybackLevelLoadTimeout:"02-17",PlaybackLevelSwitchError:"02-18",PlaybackAudioTrackLoadError:"02-19",PlaybackAudioTrackLoadTimeout:"02-20",PlaybackFragLoadError:"02-21",PlaybackFragLoadTimeout:"02-22",PlaybackFragDecryptError:"02-23",PlaybackFragParsingError:"02-24",PlaybackFragGap:"02-25",PlaybackRemuxAllocError:"02-26",PlaybackBufferAddCodecError:"02-27",PlaybackBufferIncompatibleCodecs:"02-28",PlaybackBufferAppendError:"02-29",PlaybackBufferStalledError:"02-30",PlaybackBufferFullError:"02-31",PlaybackBufferSeekOverHole:"02-32",PlaybackBufferNudgeOnStall:"02-33",PlaybackInternalException:"02-34",PlaybackInternalAborted:"02-35",PlaybackManifestLoaderFailure:"02-36",PlaybackSegmentBaseLoaderError:"02-37",PlaybackTimeSyncFailed:"02-38",PlaybackFragmentLoaderFailure:"02-39",PlaybackAppendError:"02-40",PlaybackRemoveError:"02-41",PlaybackDataUpdateFailed:"02-42",PlaybackManifestNoStreams:"02-43",PlaybackUnknownManifestType:"02-44",PlaybackDashInsufficientSegmentInfo:"02-45",PlaybackDashNoRepresentations:"02-46",PlaybackDashNoAdaptationSets:"02-47",PlaybackDashNoInitSegment:"02-48",PlaybackDashUnsupportedContainerFormat:"02-49",PlaybackDashKeySystemMismatch:"02-50",PlaybackMultipleKeyIDs:"02-51",PlaybackDashConflictingKeyIDs:"02-52",PlaybackRestrictedStreams:"02-53",PlaybackHlsMasterAndMediaTags:"02-54",PlaybackRepresentationIdConflict:"02-55",PlaybackHlsUnsupportedKeyFormats:"02-56",PlaybackManifestNoVariants:"02-57",PlaybackHlsUndeclaredVariables:"02-58",PlaybackAes128InvalidKeyLength:"02-59",PlaybackDashConflictingAes128Keys:"02-60",PlaybackDashUnsupportedAes128Encryption:"02-61",PlaybackManifestPatchMismatch:"02-62",PlaybackEmptyMediaPlaylist:"02-63",PlaybackNonContiguousCompositionTrack:"02-64",PlaybackDecoderNotFound:"02-65",PlaybackDecoderTemporarilyUnavailable:"02-66",PlaybackIncompatibleAsset:"02-67",PlaybackNoCompatibleExternalDisplay:"02-69",PlaybackOutOfMemory:"02-70",PlaybackToneMappingFailed:"02-71",PlaybackVideoCompositorFailed:"02-72",NetworkUnknown:"03-00",NetworkNoInternet:"03-01",NetworkRequestTimeout:"03-02",NetworkUnableToResolveHost:"03-03",NetworkResourceNotFound:"03-04",NetworkExpiredUrl:"03-05",NetworkUrlResolutionFailed:"03-06",NetworkDownloadErrorIdManifest:"03-07",NetworkDownloadErrorIdSidx:"03-08",NetworkDownloadErrorIdContent:"03-09",NetworkDownloadErrorIdInitialization:"03-10",NetworkDownloadErrorIdXlink:"03-11",NetworkHttpRequestFailed:"03-12",NetworkMaxRetriesExceeded:"03-13",NetworkSegmentMissing:"03-14",NetworkHttp400BadRequest:"03-400",NetworkHttp401Unauthorized:"03-401",NetworkHttp402PaymentRequired:"03-402",NetworkHttp403Forbidden:"03-403",NetworkHttp404NotFound:"03-404",NetworkHttp405MethodNotAllowed:"03-405",NetworkHttp406NotAcceptable:"03-406",NetworkHttp407ProxyAuthenticationRequired:"03-407",NetworkHttp408RequestTimeout:"03-408",NetworkHttp409Conflict:"03-409",NetworkHttp410Gone:"03-410",NetworkHttp411LengthRequired:"03-411",NetworkHttp412PreconditionFailed:"03-412",NetworkHttp413PayloadTooLarge:"03-413",NetworkHttp414URITooLong:"03-414",NetworkHttp415UnsupportedMediaType:"03-415",NetworkHttp416RangeNotSatisfiable:"03-416",NetworkHttp417ExpectationFailed:"03-417",NetworkHttp418ImATeapot:"03-418",NetworkHttp421MisdirectedRequest:"03-421",NetworkHttp422UnprocessableEntity:"03-422",NetworkHttp423Locked:"03-423",NetworkHttp424FailedDependency:"03-424",NetworkHttp425TooEarly:"03-425",NetworkHttp426UpgradeRequired:"03-426",NetworkHttp428PreconditionRequired:"03-428",NetworkHttp429TooManyRequests:"03-429",NetworkHttp431RequestHeaderFieldsTooLarge:"03-431",NetworkHttp451UnavailableForLegalReasons:"03-451",NetworkHttp500InternalServerError:"03-500",NetworkHttp501NotImplemented:"03-501",NetworkHttp502BadGateway:"03-502",NetworkHttp503ServiceUnavailable:"03-503",NetworkHttp504GatewayTimeout:"03-504",NetworkHttp505HTTPVersionNotSupported:"03-505",NetworkHttp506VariantAlsoNegotiates:"03-506",NetworkHttp507InsufficientStorage:"03-507",NetworkHttp508LoopDetected:"03-508",NetworkHttp510NotExtended:"03-510",NetworkHttp511NetworkAuthenticationRequired:"03-511",ContentProtectionUnknown:"04-00",ContentProtectionConcurrentStreamLimitExceeded:"04-01",ContentProtectionEntitlementRefused:"04-02",ContentProtectionLicenseExpired:"04-03",ContentProtectionBadLicenseRequest:"04-04",ContentProtectionLicenseServerTimeout:"04-05",ContentProtectionInsufficientHDCPSupport:"04-06",ContentProtectionGeoRestricted:"04-07",ContentProtectionParentalControlRestricted:"04-08",ContentProtectionCDNUnauthorized:"04-09",ContentProtectionInvalidAccessToken:"04-10",ContentProtectionKeySystemNoKeys:"04-11",ContentProtectionKeySystemNoAccess:"04-12",ContentProtectionKeySystemNoSession:"04-13",ContentProtectionKeySystemNoConfiguredLicense:"04-14",ContentProtectionKeySystemCertificateRequestFailed:"04-15",ContentProtectionKeySystemCertificateUpdateFailed:"04-16",ContentProtectionKeySystemSessionUpdateFailed:"04-17",ContentProtectionKeySystemStatusOutputRestricted:"04-18",ContentProtectionKeySystemStatusInternalError:"04-19",ContentProtectionKeyLoadError:"04-20",ContentProtectionKeyLoadTimeout:"04-21",ContentProtectionCapabilityMediaKeysError:"04-22",ContentProtectionManifestKeySystemUnknown:"04-23",ContentProtectionKeySystemUnavailable:"04-24",ContentProtectionCDMCreationFailed:"04-25",ContentProtectionCDMAttachFailed:"04-26",ContentProtectionCDMServerCertificateRejected:"04-27",ContentProtectionCDMSessionCreationFailed:"04-28",ContentProtectionCDMLicenseRequestFailed:"04-29",ContentProtectionCDMLicenseResponseRejected:"04-30",ContentProtectionManifestMissingDRMInfo:"04-31",ContentProtectionLicenseServerMissing:"04-32",ContentProtectionOfflineSessionRemoved:"04-33",ContentProtectionInitDataTransformationError:"04-34",ContentProtectionServerCertificateRequestFailed:"04-35",ContentProtectionInsufficientHDCPVersion:"04-36",ContentProtectionHDCPVersionCheckFailed:"04-37",AdsUnknown:"08-00",AdsVastParseError:"08-100",AdsInvalidVastSchema:"08-101",AdsVastVersionNotSupported:"08-102",AdsUnexpectedAdType:"08-200",AdsCreativeLinearityMismatch:"08-201",AdsCreativeDurationMismatch:"08-202",AdsCreativeSizeMismatch:"08-203",AdsWrapperVastError:"08-300",AdsVastResponseRedirectTimeout:"08-301",AdsWrapperLimitReached:"08-302",AdsVastResponseEmpty:"08-303",AdsLinearAdDisplayError:"08-400",AdsMediaFileNotFound:"08-401",AdsMediaFileUnavailable:"08-402",AdsUnsupportedMimeType:"08-403",AdsUnableToDisplayMediaFile:"08-405",AdsMezzanineFileMissing:"08-406",AdsMezzanineFileDownloaded:"08-407",AdsRejectedAd:"08-408",AdsInteractiveCreativeError:"08-409",AdsVerificationNodeExecutionError:"08-410",AdsNonLinearAdDisplayError:"08-500",AdsNonLinearAdSizeMismatch:"08-501",AdsNonLinearAdFetchError:"08-502",AdsNonLinearUnsupportedType:"08-503",AdsCompanionAdDisplayError:"08-600",AdsCompanionAdSizeMismatch:"08-601",AdsRequiredCompanionAdError:"08-602",AdsCompanionAdFetchError:"08-603",AdsUndefinedVastError:"08-900",AdsUnknownVpaidError:"08-901",AdsVastDocumentEmpty:"08-999"},g=Object.fromEntries(Object.entries(P).map(([e,t])=>[t,e]));const E=[1e7]+""+-1e3+-4e3+-8e3+-1e11,C="off";class FlowplayerError extends Error{static getErrorKey(e){return e in g?g[e]:g["00-00"]}constructor(e,t,o={}){super(e),this.message=e,this.flowplayerErrorCode=t,this.config=o,this.id="undefined"==typeof crypto?"":E.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),this.isFatal=!!o.isFatal,this.errorKey=FlowplayerError.getErrorKey(this.flowplayerErrorCode)||"unknown"}toJSON(){return{message:this.message,flowplayer_error_code:this.flowplayerErrorCode,id:this.id,root_error_id:this.config.rootErrorId,resource:this.config.resource,is_fatal:this.isFatal,is_retry:!!this.config.isRetry}}}function A(e,t){const o=null==t?void 0:t.src;if(y(t))return function(e,t){const o=w(t.src||"");if(function(e){return"string"==typeof e.err}(o))return console.error(o.err);N(e,o)}(e,t);if(!o)return;e.setState("is-source-processing",!0);const n=s(function(e){return~e.indexOf("/")?e:"/media/"+e}(o));fetch(n).then(async t=>t.ok?N(e,await t.json()):function(e,t,o,n){e.setState("is-source-processing",!1);const r=new FlowplayerError(n.message||"error loading ovp source",function(e){const t="03-"+e;return t in g?t:P.NetworkUnknown}(o),{resource:t,isFatal:!0,retryOpts:{retry:C}});e.emit("flowplayer:error",{error:r})}(e,t.url,t.status,await t.json()))}function N(e,t){return e.emit("ovp:media:changed",t),function(e){return Array.isArray(e.playlist)}(t)?function(e,t){e.emit("ovp:request:playlist:complete",function(e,t){"number"!=typeof t.delay&&"number"!=typeof e.delay&&(t.delay=5);const n=Object.assign({},e),r=(null==e?void 0:e.playlist)||{},a=o(t,r),i=((null==a?void 0:a.playlist)||[]).map(e=>{t.ima&&Object.assign(e,{ima:t.ima});const o=d(e,n);return delete o.playlist,o});return delete a.ima,Object.assign(a,{playlist:i})}(e.opts,t))}(e,t):k(t)?function(e,t){var o,n;const r=(null===(o=null==t?void 0:t.metadata)||void 0===o?void 0:o.live_start_time)||(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.starttime);r&&(t.live_start_time=Pipe.of(r).fmap(h).unwrap());e.emit("ovp:live:countdown:start",Pipe.of(t).fmap(d,e.opts).unwrap())}(e,t):function(e,t){e.emit("ovp:request:media:complete",Pipe.of(t).fmap(d,e.opts).unwrap())}(e,t)}const _={};function M(e,t,o){"object"!=typeof _[t]&&(_[t]=o);const n=e.opts,r=(null==n?void 0:n.metadata)||{};r.player_id=t,n.metadata=r,o.title&&delete o.title,o.description&&delete o.description;const a=Object.assign(n,o);e.setOpts(a),o.autoplay&&e.togglePlay(!0)}let S=!1;function O(e,t,o){D()||Pipe.of("recommendation").fmap(s,t,o).fmap(i).fmap(t=>t.then(t=>function(e,t){const o=t.playlist;if(e.opts.recommendations=o,!o.length)return;e.emit("recommendationsready",{playlist:o.map((function(e){var t,o;return{poster:e.poster,src:e.src,title:null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.title,description:null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.description,metadata:e.metadata||{},chapters:e.chapters,thumbnails:e.thumbnails,subtitles:e.subtitles}}))})}(e,t)).catch(L))}function D(){return S}function L(e){S=!0,console.error("Failed to load recommendations: %j",e)}function T(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}function F(e,t){const o=e._customElements.get(t);return o&&e.root.querySelector(o)||void 0}const R="flowplayer-live-countdown";function I(e){const t=Date.now()-(e.server_time_offset||0);return Math.floor(((e.live_start_time||0)-t)/1e3)}function H(e,t){let o=0;function n(){const n=I(t);if(n<0||isNaN(n)||0===e.reaper||void 0===t.live_start_time)return clearInterval(o),function(e,t,o){e.emit("ovp:live:countdown:complete");const n=F(e,R);if(n&&n.remove(),e.root.classList.remove("is-livecountdown"),o)return e.setState("is-source-processing",!1);e.emit("ovp:request:media:complete",t)}(e,t,void 0===t.live_start_time);var r,a,i;r=e,a=e.root,i=n,a.classList.add("is-livecountdown"),r.emit("ovp:live:countdown:tick",{remaining_time:U(i+1)}),r.hasState("is-starting")||r.setState("is-starting",!0)}l(t),n(),o=setInterval(n,250)}function U(e){const t=function(e){"number"!=typeof e&&(e=parseInt(e,10)),e=Math.round(e);const t=Math.floor(e/86400);e-=86400*t;const o=Math.floor(e/3600);e-=3600*o;const n=Math.floor(e/60);return{days:t,hours:o,minutes:n,seconds:e-=60*n}}(e);let o="";return t.days&&(o+=t.days+":"),o+T(t.hours)+":"+T(t.minutes)+":"+T(t.seconds)}class WebsocketBridge{static of(e){return new WebsocketBridge(e)}constructor(e){this.manualDisconnect=!1,this.video=e,this.onClose=this.onClose.bind(this),this.onMessage=this.onMessage.bind(this)}connect(e){this.client=new WebSocket("wss://player.ws.flowplayer.com?mediaId="+e),this.current_media_id=e,this.wireup()}onClose(){this.manualDisconnect?this.manualDisconnect=!1:this.current_media_id&&this.reconnect(this.current_media_id)}onMessage(e){JSON.parse(e.data).forEach(e=>{this.video.emit("ovp:message:realtime",e)})}reconnect(e){this.cleanup(),this.connect(e)}wireup(){this.client&&(this.client.addEventListener("message",this.onMessage),this.client.addEventListener("close",this.onClose))}cleanup(){this.client&&(this.client.removeEventListener("message",this.onMessage),this.client.removeEventListener("close",this.onClose),this.client=void 0)}disconnect(){this.client&&(this.manualDisconnect=!0,this.client.close())}}const j=(e,t)=>new(((e,t)=>{const o=e.get(t);if(!o)throw new Error(`no flowplayer component with the name ${t} exists`);const n=window.customElements.get(t);if(!n)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(o);return"function"!=typeof r?n:r})(e._customElements,t))(e);class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class FlowplayerLiveCountdown extends FlowplayerComponent{constructor(e){super(e),this.classList.add("fp-livecountdown");const t=function(...e){const t=document.createElement("div");return 0==e.length||t.classList.add(...e),t}("fp-inner");this.append(t);const o=document.createElement("p");o.innerText=e.i18n("ovp.starting_in"),t.append(o);const n=document.createElement("p");n.classList.add("fp-countdown"),t.append(n),e.on("ovp:live:countdown:tick",t=>{const o=t.detail.remaining_time;e.root.classList.add("is-livecountdown"),n.innerText=o})}}const x=["*.lwcdn.com","*.flowplayer.com","*.wowza.com"];function V(){try{return window.location.hostname!==window.parent.location.hostname?function(e){const t=document.createElement("a");return t.href=e,t}(document.referrer).hostname:document.location.hostname}catch(e){return window.location.hostname}}function q(e){const t=document.createElement("a");t.href=e;const o=t.pathname&&t.pathname.split(".");return o.length>1&&o[o.length-1]}function K(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const B=t=>{var{src:o}=t,n=e(t,["src"]);return[Object.assign({src:o,type:o?K("video/"+q(o)):""},n)]};function z(e){return B({src:e})}function W(t){var{src:o,type:n}=t,r=e(t,["src","type"]);return o&&n?[Object.assign({src:o,type:n},r)]:n&&!o?[Object.assign({type:n},r)]:B(Object.assign({src:o},r))}var G,$;!function(e){e[e.Err=0]="Err",e[e.Ok=1]="Ok"}(G||(G={}));const Q=(($=class OVP{constructor(e){((e,t,o)=>{window.customElements.get(t)||window.customElements.define(t,o),e.customElements.get(t)||e.customElements.set(t,t)})(e,R,FlowplayerLiveCountdown)}onload(e,t,o,n){if("string"==typeof(null==n?void 0:n.src))return"string"!=typeof e.player_id||0===n.src.indexOf(e.player_id)||y(n)||(n.src=[e.player_id,n.src].join("/")),A(o,n)}wants(e,t,o){return v(e,t)}init(t,n,r){const a=new WebsocketBridge(r);let c=Object.assign({},t);const l=function(e){if(!c)return e;t.autoplay!==c.autoplay&&(c.autoplay=t.autoplay),delete c.src;const n=o(e,c);return r.emit("ovp:config:finalized",n),n};r.on("src",()=>{(r.currentSrc||r.root.classList.contains("is-livecountdown"))&&(c=!1)}),r.on("ovp:request:start",(function(){r.setState("is-waiting",!0),t.recommendations&&(t.recommendations=!1)})),r.on("ovp:media:changed",(function({data:e}){var t;const o=null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.media_id;(null==e?void 0:e.live)&&o&&(a.disconnect(),a.connect(o))})),r.on("ovp:message:realtime",(function({data:e}){var o;const n=null==e?void 0:e.event,a=null==e?void 0:e.value,i=r.opt("metadata",{live_start_time:""});switch(n){case"METADATA":{const e=Object.assign(i,a),n=Object.assign(t,{metadata:e});n.live&&(null===(o=null==n?void 0:n.metadata)||void 0===o?void 0:o.live_start_time)&&(n.live_start_time=h(n.metadata.live_start_time)),r.setOpts(n);break}}})),r.on("beforeplay",(function(e){const o=t;if(k(o)){if(J(o))return;e.preventDefault()}})),r.on("ovp:request:media:complete",(function(e){const t=e.data;if(!t)return;var o;if(t.src&&(t.src=(o=t.src,"string"==typeof o?z(o):Array.isArray(o)||"object"!=typeof o?o.reduce((function(e,t){return"string"==typeof t&&(t=z(t)),"object"!=typeof t||Array.isArray(t)||(t=W(t)),e.concat(t)}),[]):W(o)).map(e=>(e.src&&e.src.startsWith("//")&&(e.src="https:"+e.src),e))),0==r.reaper||"object"!=typeof t||I(t)>0)return;const n=l(t);r.setOpts(n),r.setAttrs(n),n.src&&r.setSrc(n.src),r.setState("is-source-processing",!1)})),r.on("config",(function({data:e}){var o,a;if("string"==typeof t.src&&v(t.src,{}))return;if((null==e?void 0:e.domains)&&(null==e?void 0:e.domains.length)&&!((e,t)=>{const o=e.split(".").reverse();return t.concat(x).some(e=>{const t=e.split(".").reverse(),n="*"===t[t.length-1];return n&&t.pop(),(n||t.length===o.length)&&t.every((e,t)=>o[t]===e)})})(V(),e.domains))return function({root:e,video:t,data:o}){t&&t.destroy(),console.error(new Error(o.details||o.reason)),e.innerHTML="",e.classList.remove("flowplayer"),e.classList.add("flowplayer-fatal"),e.style.removeProperty("background-image");const n=document.createElement("h2");n.textContent="Playback Error";const r=document.createElement("p");r.textContent="Are you the site owner?";const a=document.createElement("a");a.classList.add("troubleshoot"),a.target="_blank",a.href="https://docs.flowplayer.com/troubleshooting/player#"+o.reason,a.textContent="Troubleshoot?";const i=document.createElement("img");i.src="https://flowplayer.com/user/pages/images/logo-white.png",e.append(n,r,a,i)}({root:n,video:r,data:{details:`Hostname ${V()} is not allowed to load player ${null===(o=e.metadata)||void 0===o?void 0:o.player_id}.`,reason:"domain"}});if(t.src&&Z(t.src))return;const c=null==e?void 0:e.brand_color;return c&&r.root.style.setProperty("--fp-brand-color","#"==c[0]?c:"#"+c),"string"==typeof t.player_id&&(null===(a=null==t?void 0:t.metadata)||void 0===a?void 0:a.player_id)!==t.player_id?function(e,t){if("object"==typeof _[t])return console.debug("using Cache(%s)",t),M(e,t,_[t]);Pipe.of(t).fmap(s).fmap(i).fmap(o=>o.then(o=>M(e,t,o)).catch(console.error))}(r,t.player_id):void 0})),r.on("ovp:request:playlist:complete",(function(t){var o;const n=t.data;if(!n||0==r.reaper)return;const{playlist:a}=n,i=e(n,["playlist"]),s=l(Object.assign(i,{playlist:Object.assign({},i)}));Array.isArray(s.playlist)&&(s.playlist=i),delete s.loop,s.playlist.playlist_title||(s.playlist.playlist_title=null===(o=i.metadata)||void 0===o?void 0:o.playlist_title),r.setOpts(s),r.setAttrs(s);const c={type:"flowplayer/playlist",items:a};r.setSrc(c),r.setState("is-source-processing",!1)})),r.on("ovp:live:countdown:start",(function(e){const o=e.data;if(!o||0==r.reaper)return;const a=l(o);if(r.setOpts(a),r.setAttrs(a),I(o)<=0)return r.emit("ovp:request:media:complete",o);F(r,R)||(n.appendChild(j(r,R)),H(r,t))})),r.on("timeupdate",(function(){var e,o,n;const a=t;k(a)?J(a)||(r.togglePlay(!1),r.emit("ended")):t.recommendations&&(null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.media_id)&&(Array.isArray(t.recommendations)||r.currentTime/r.duration<.8||D()||(null===(o=null==t?void 0:t.metadata)||void 0===o?void 0:o.media_id)&&(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.player_id)&&O(r,t.metadata.media_id,t.metadata.player_id))})),r.on("reap",(function(){a.disconnect()}))}}).pluginName="ovp",$.events=b,$);function J(e){var t,o;const n=null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.live_stop_time;if(!n)return!0;return!!(null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.allow_after_stop_time)||h(n)>Date.now()}const Z=e=>{var t;if(e&&Array.isArray(e))return"object"==typeof e[0]&&"ovp/base64"===(null===(t=e[0])||void 0===t?void 0:t.type)};return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const o=e.flowplayer;return"function"==typeof o?(o(t),t):(Array.isArray(o.extensions)||(o.extensions=[]),~o.extensions.indexOf(t)||o.extensions.push(t),t)}(window,Q)}));
|
|
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.ovp=t())}(this,(function(){"use strict";function e(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]])}return o}const t=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),o=(...e)=>e.reduce((e,n)=>t(n)?(Object.keys(n).forEach(r=>{if(t(e[r])&&t(n[r]))return e[r]=o(e[r],n[r]);e[r]=n[r]}),e):e,{});class Pipe{static of(e){return new Pipe(e)}static maybe(e,t,...o){return null==e?e:t.apply(e,[e,...o])}constructor(e){this.data=e}tap(e,...t){return e.apply(this,[this.data,...t]),new Pipe(this.data)}fmap(e,...t){const o=e.apply(this,[this.data,...t]);return new Pipe(o)}unwrap(){return this.data}}const n=window,r=n._flowplayerTimekeeper||(n._flowplayerTimekeeper={});function a(e){return fetch(e).then(e=>e.json())}function i(...e){let t=[].join.call(e,"/");return"/"!==t[0]&&(t="/"+t),s()+"/web/public/native/config"+t}const s=()=>"https://ljsp.lwcdn.com";function c(e){(async function(){const e=r.cachedServerOffset;if(e)return e;const t=r.pendingRequest||(r.pendingRequest=fetch("https://ljsp.lwcdn.com/web/public/countdown/time.json")),o=await t,n=parseInt(o.headers.get("age")||"0"),a=await o.json(),i=Date.now()-a.millisUtc-1e3*n;return r.cachedServerOffset=i,r.cachedServerOffset})().then(t=>Object.assign(e,{server_time_offset:t}))}function l(e,t){var n,r;t="object"==typeof t?t:{};const a={title:null===(n=null==e?void 0:e.metadata)||void 0===n?void 0:n.title,description:null===(r=null==e?void 0:e.metadata)||void 0===r?void 0:r.description},i={ima:{parameters:function({media_id:e,duration:t,title:o,tags:n,category_name:r,ad_keywords:a}){return{ad_keywords:a||"",media_id:e||"",category:r||"",media_name:o||"",media_tags:n||"",media_duration:t||-1}}((null==e?void 0:e.metadata)||{})}},s=t.embed||{};return delete s.src,o(i,a,e,(delete(c=t).src,delete c.metadata,delete c.title,delete c.description,delete c.duration,delete c.poster,c),s);var c}const d=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,p=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,u=/^[A-Za-z0-9]{8}$/,m=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[A-Za-z0-9]{8}$/;function f(e){return"object"==typeof e&&"ovp/base64"==e.type}function y(e,t){return function(e,t){return!(!d.test(e)&&!p.test(e))&&(t.type="video/ovp",!0)}(e,t)||function(e,t){return!(!u.test(e)&&!m.test(e))&&(t&&(t.type="video/ovp"),!0)}(e,t)||f(t)}function v(e){try{return function(e){return null===e?{}:JSON.parse(e)}(decodeURIComponent(atob(e).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join("")))}catch(e){return{err:e.message}}}function w(e){const t=e.split(/[^0-9]/).map(e=>parseInt(e,10));return Date.UTC(t[0],t[1]-1,t[2],t[3],t[4],t[5])}function h(e){return e.live}var k=Object.freeze({__proto__:null,OVP_ERROR:"ovp:error",OVP_MEDIA_REQUEST_START:"ovp:request:start",OVP_MEDIA_REQUEST_COMPLETE:"ovp:request:media:complete",OVP_PLAYLIST_REQUEST_COMPLETE:"ovp:request:playlist:complete",LIVE_COUNTDOWN_TICK:"ovp:live:countdown:tick",LIVE_COUNTDOWN_START:"ovp:live:countdown:start",LIVE_COUNTDOWN_COMPLETE:"ovp:live:countdown:complete",OVP_MEDIA_CHANGED:"ovp:media:changed",OVP_REALTIME_MESSAGE:"ovp:message:realtime",OVP_CONFIG_FINALIZED:"ovp:config:finalized"});const b={Unknown:"00-00",MediaUnknown:"01-00",MediaUnavailable:"01-01",MediaUnsupportedVideoFormat:"01-02",MediaUnsupportedAudioFormat:"01-03",MediaBitrateExceeded:"01-04",MediaBufferOverread:"01-05",MediaIntegerOverflow:"01-06",MediaQuotaExceeded:"01-07",MediaInvalidCompositionDuration:"01-08",MediaInvalidCompositionSourceDuration:"01-09",MediaInvalidCompositionSourceStartTime:"01-10",MediaMalformedDepth:"01-11",PlaybackUnknown:"02-00",PlaybackVideoBufferUnderRun:"02-01",PlaybackAudioBufferUnderRun:"02-02",PlaybackVideoBufferingTimeout:"02-03",PlaybackAudioBufferingTimeout:"02-04",PlaybackManifestParseError:"02-05",PlaybackVideoDecodeError:"02-06",PlaybackAudioDecodeError:"02-07",PlaybackDroppedFramesExceeded:"02-08",PlaybackPlayheadExceedsDuration:"02-09",PlaybackUnsupportedDevice:"02-10",PlaybackManifestLoadError:"02-11",PlaybackManifestLoadTimeout:"02-12",PlaybackManifestParsingError:"02-13",PlaybackManifestIncompatibleCodecs:"02-14",PlaybackLevelEmptyError:"02-15",PlaybackLevelLoadError:"02-16",PlaybackLevelLoadTimeout:"02-17",PlaybackLevelSwitchError:"02-18",PlaybackAudioTrackLoadError:"02-19",PlaybackAudioTrackLoadTimeout:"02-20",PlaybackFragLoadError:"02-21",PlaybackFragLoadTimeout:"02-22",PlaybackFragDecryptError:"02-23",PlaybackFragParsingError:"02-24",PlaybackFragGap:"02-25",PlaybackRemuxAllocError:"02-26",PlaybackBufferAddCodecError:"02-27",PlaybackBufferIncompatibleCodecs:"02-28",PlaybackBufferAppendError:"02-29",PlaybackBufferStalledError:"02-30",PlaybackBufferFullError:"02-31",PlaybackBufferSeekOverHole:"02-32",PlaybackBufferNudgeOnStall:"02-33",PlaybackInternalException:"02-34",PlaybackInternalAborted:"02-35",PlaybackManifestLoaderFailure:"02-36",PlaybackSegmentBaseLoaderError:"02-37",PlaybackTimeSyncFailed:"02-38",PlaybackFragmentLoaderFailure:"02-39",PlaybackAppendError:"02-40",PlaybackRemoveError:"02-41",PlaybackDataUpdateFailed:"02-42",PlaybackManifestNoStreams:"02-43",PlaybackUnknownManifestType:"02-44",PlaybackDashInsufficientSegmentInfo:"02-45",PlaybackDashNoRepresentations:"02-46",PlaybackDashNoAdaptationSets:"02-47",PlaybackDashNoInitSegment:"02-48",PlaybackDashUnsupportedContainerFormat:"02-49",PlaybackDashKeySystemMismatch:"02-50",PlaybackMultipleKeyIDs:"02-51",PlaybackDashConflictingKeyIDs:"02-52",PlaybackRestrictedStreams:"02-53",PlaybackHlsMasterAndMediaTags:"02-54",PlaybackRepresentationIdConflict:"02-55",PlaybackHlsUnsupportedKeyFormats:"02-56",PlaybackManifestNoVariants:"02-57",PlaybackHlsUndeclaredVariables:"02-58",PlaybackAes128InvalidKeyLength:"02-59",PlaybackDashConflictingAes128Keys:"02-60",PlaybackDashUnsupportedAes128Encryption:"02-61",PlaybackManifestPatchMismatch:"02-62",PlaybackEmptyMediaPlaylist:"02-63",PlaybackNonContiguousCompositionTrack:"02-64",PlaybackDecoderNotFound:"02-65",PlaybackDecoderTemporarilyUnavailable:"02-66",PlaybackIncompatibleAsset:"02-67",PlaybackNoCompatibleExternalDisplay:"02-69",PlaybackOutOfMemory:"02-70",PlaybackToneMappingFailed:"02-71",PlaybackVideoCompositorFailed:"02-72",NetworkUnknown:"03-00",NetworkNoInternet:"03-01",NetworkRequestTimeout:"03-02",NetworkUnableToResolveHost:"03-03",NetworkResourceNotFound:"03-04",NetworkExpiredUrl:"03-05",NetworkUrlResolutionFailed:"03-06",NetworkDownloadErrorIdManifest:"03-07",NetworkDownloadErrorIdSidx:"03-08",NetworkDownloadErrorIdContent:"03-09",NetworkDownloadErrorIdInitialization:"03-10",NetworkDownloadErrorIdXlink:"03-11",NetworkHttpRequestFailed:"03-12",NetworkMaxRetriesExceeded:"03-13",NetworkSegmentMissing:"03-14",NetworkHttp400BadRequest:"03-400",NetworkHttp401Unauthorized:"03-401",NetworkHttp402PaymentRequired:"03-402",NetworkHttp403Forbidden:"03-403",NetworkHttp404NotFound:"03-404",NetworkHttp405MethodNotAllowed:"03-405",NetworkHttp406NotAcceptable:"03-406",NetworkHttp407ProxyAuthenticationRequired:"03-407",NetworkHttp408RequestTimeout:"03-408",NetworkHttp409Conflict:"03-409",NetworkHttp410Gone:"03-410",NetworkHttp411LengthRequired:"03-411",NetworkHttp412PreconditionFailed:"03-412",NetworkHttp413PayloadTooLarge:"03-413",NetworkHttp414URITooLong:"03-414",NetworkHttp415UnsupportedMediaType:"03-415",NetworkHttp416RangeNotSatisfiable:"03-416",NetworkHttp417ExpectationFailed:"03-417",NetworkHttp418ImATeapot:"03-418",NetworkHttp421MisdirectedRequest:"03-421",NetworkHttp422UnprocessableEntity:"03-422",NetworkHttp423Locked:"03-423",NetworkHttp424FailedDependency:"03-424",NetworkHttp425TooEarly:"03-425",NetworkHttp426UpgradeRequired:"03-426",NetworkHttp428PreconditionRequired:"03-428",NetworkHttp429TooManyRequests:"03-429",NetworkHttp431RequestHeaderFieldsTooLarge:"03-431",NetworkHttp451UnavailableForLegalReasons:"03-451",NetworkHttp500InternalServerError:"03-500",NetworkHttp501NotImplemented:"03-501",NetworkHttp502BadGateway:"03-502",NetworkHttp503ServiceUnavailable:"03-503",NetworkHttp504GatewayTimeout:"03-504",NetworkHttp505HTTPVersionNotSupported:"03-505",NetworkHttp506VariantAlsoNegotiates:"03-506",NetworkHttp507InsufficientStorage:"03-507",NetworkHttp508LoopDetected:"03-508",NetworkHttp510NotExtended:"03-510",NetworkHttp511NetworkAuthenticationRequired:"03-511",ContentProtectionUnknown:"04-00",ContentProtectionConcurrentStreamLimitExceeded:"04-01",ContentProtectionEntitlementRefused:"04-02",ContentProtectionLicenseExpired:"04-03",ContentProtectionBadLicenseRequest:"04-04",ContentProtectionLicenseServerTimeout:"04-05",ContentProtectionInsufficientHDCPSupport:"04-06",ContentProtectionGeoRestricted:"04-07",ContentProtectionParentalControlRestricted:"04-08",ContentProtectionCDNUnauthorized:"04-09",ContentProtectionInvalidAccessToken:"04-10",ContentProtectionKeySystemNoKeys:"04-11",ContentProtectionKeySystemNoAccess:"04-12",ContentProtectionKeySystemNoSession:"04-13",ContentProtectionKeySystemNoConfiguredLicense:"04-14",ContentProtectionKeySystemCertificateRequestFailed:"04-15",ContentProtectionKeySystemCertificateUpdateFailed:"04-16",ContentProtectionKeySystemSessionUpdateFailed:"04-17",ContentProtectionKeySystemStatusOutputRestricted:"04-18",ContentProtectionKeySystemStatusInternalError:"04-19",ContentProtectionKeyLoadError:"04-20",ContentProtectionKeyLoadTimeout:"04-21",ContentProtectionCapabilityMediaKeysError:"04-22",ContentProtectionManifestKeySystemUnknown:"04-23",ContentProtectionKeySystemUnavailable:"04-24",ContentProtectionCDMCreationFailed:"04-25",ContentProtectionCDMAttachFailed:"04-26",ContentProtectionCDMServerCertificateRejected:"04-27",ContentProtectionCDMSessionCreationFailed:"04-28",ContentProtectionCDMLicenseRequestFailed:"04-29",ContentProtectionCDMLicenseResponseRejected:"04-30",ContentProtectionManifestMissingDRMInfo:"04-31",ContentProtectionLicenseServerMissing:"04-32",ContentProtectionOfflineSessionRemoved:"04-33",ContentProtectionInitDataTransformationError:"04-34",ContentProtectionServerCertificateRequestFailed:"04-35",ContentProtectionInsufficientHDCPVersion:"04-36",ContentProtectionHDCPVersionCheckFailed:"04-37",AdsUnknown:"08-00",AdsVastParseError:"08-100",AdsInvalidVastSchema:"08-101",AdsVastVersionNotSupported:"08-102",AdsUnexpectedAdType:"08-200",AdsCreativeLinearityMismatch:"08-201",AdsCreativeDurationMismatch:"08-202",AdsCreativeSizeMismatch:"08-203",AdsWrapperVastError:"08-300",AdsVastResponseRedirectTimeout:"08-301",AdsWrapperLimitReached:"08-302",AdsVastResponseEmpty:"08-303",AdsLinearAdDisplayError:"08-400",AdsMediaFileNotFound:"08-401",AdsMediaFileUnavailable:"08-402",AdsUnsupportedMimeType:"08-403",AdsUnableToDisplayMediaFile:"08-405",AdsMezzanineFileMissing:"08-406",AdsMezzanineFileDownloaded:"08-407",AdsRejectedAd:"08-408",AdsInteractiveCreativeError:"08-409",AdsVerificationNodeExecutionError:"08-410",AdsNonLinearAdDisplayError:"08-500",AdsNonLinearAdSizeMismatch:"08-501",AdsNonLinearAdFetchError:"08-502",AdsNonLinearUnsupportedType:"08-503",AdsCompanionAdDisplayError:"08-600",AdsCompanionAdSizeMismatch:"08-601",AdsRequiredCompanionAdError:"08-602",AdsCompanionAdFetchError:"08-603",AdsUndefinedVastError:"08-900",AdsUnknownVpaidError:"08-901",AdsVastDocumentEmpty:"08-999"},P=Object.fromEntries(Object.entries(b).map(([e,t])=>[t,e]));const g=[1e7]+""+-1e3+-4e3+-8e3+-1e11,E="off";class FlowplayerError extends Error{static getErrorKey(e){return e in P?P[e]:P["00-00"]}constructor(e,t,o={}){super(e),this.message=e,this.flowplayerErrorCode=t,this.config=o,this.id="undefined"==typeof crypto?"":g.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),this.isFatal=!!o.isFatal,this.errorKey=FlowplayerError.getErrorKey(this.flowplayerErrorCode)||"unknown"}toJSON(){return{message:this.message,flowplayer_error_code:this.flowplayerErrorCode,id:this.id,root_error_id:this.config.rootErrorId,resource:this.config.resource,is_fatal:this.isFatal,is_retry:!!this.config.isRetry}}}function C(e,t){const o=null==t?void 0:t.src;if(f(t))return function(e,t){const o=v(t.src||"");if(function(e){return"string"==typeof e.err}(o))return console.error(o.err);A(e,o)}(e,t);if(!o)return;e.setState("is-source-processing",!0);const n=i(function(e){return~e.indexOf("/")?e:"/media/"+e}(o));fetch(n).then(async t=>t.ok?A(e,await t.json()):function(e,t,o,n){e.setState("is-source-processing",!1);const r=new FlowplayerError(n.message||"error loading ovp source",function(e){const t="03-"+e;return t in P?t:b.NetworkUnknown}(o),{resource:t,isFatal:!0,retryOpts:{retry:E}});e.emit("flowplayer:error",{error:r})}(e,t.url,t.status,await t.json()))}function A(e,t){return e.emit("ovp:media:changed",t),function(e){return Array.isArray(e.playlist)}(t)?function(e,t){e.emit("ovp:request:playlist:complete",function(e,t){"number"!=typeof t.delay&&"number"!=typeof e.delay&&(t.delay=5);const n=Object.assign({},e),r=(null==e?void 0:e.playlist)||{},a=o(t,r),i=((null==a?void 0:a.playlist)||[]).map(e=>{t.ima&&Object.assign(e,{ima:t.ima});const o=l(e,n);return delete o.playlist,o});return delete a.ima,Object.assign(a,{playlist:i})}(e.opts,t))}(e,t):h(t)?function(e,t){var o,n;const r=(null===(o=null==t?void 0:t.metadata)||void 0===o?void 0:o.live_start_time)||(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.starttime);r&&(t.live_start_time=Pipe.of(r).fmap(w).unwrap());e.emit("ovp:live:countdown:start",Pipe.of(t).fmap(l,e.opts).unwrap())}(e,t):function(e,t){e.emit("ovp:request:media:complete",Pipe.of(t).fmap(l,e.opts).unwrap())}(e,t)}const N={};function _(e,t,o){"object"!=typeof N[t]&&(N[t]=o);const n=e.opts,r=(null==n?void 0:n.metadata)||{};r.player_id=t,n.metadata=r,o.title&&delete o.title,o.description&&delete o.description;const a=Object.assign(n,o);e.setOpts(a),o.autoplay&&e.togglePlay(!0)}let M=!1;function S(e,t,o){O()||Pipe.of("recommendation").fmap(i,t,o).fmap(a).fmap(t=>t.then(t=>function(e,t){const o=t.playlist;if(e.opts.recommendations=o,!o.length)return;e.emit("recommendationsready",{playlist:o.map((function(e){var t,o;return{poster:e.poster,src:e.src,title:null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.title,description:null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.description,metadata:e.metadata||{},chapters:e.chapters,thumbnails:e.thumbnails,subtitles:e.subtitles}}))})}(e,t)).catch(D))}function O(){return M}function D(e){M=!0,console.error("Failed to load recommendations: %j",e)}function L(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}function T(e,t){const o=e._customElements.get(t);return o&&e.root.querySelector(o)||void 0}const F="flowplayer-live-countdown";function R(e){const t=Date.now()-(e.server_time_offset||0);return Math.floor(((e.live_start_time||0)-t)/1e3)}function I(e,t){let o=0;function n(){const n=R(t);if(n<0||isNaN(n)||0===e.reaper||void 0===t.live_start_time)return clearInterval(o),function(e,t,o){e.emit("ovp:live:countdown:complete");const n=T(e,F);if(n&&n.remove(),e.root.classList.remove("is-livecountdown"),o)return e.setState("is-source-processing",!1);e.emit("ovp:request:media:complete",t)}(e,t,void 0===t.live_start_time);var r,a,i;r=e,a=e.root,i=n,a.classList.add("is-livecountdown"),r.emit("ovp:live:countdown:tick",{remaining_time:H(i+1)}),r.hasState("is-starting")||r.setState("is-starting",!0)}c(t),n(),o=setInterval(n,250)}function H(e){const t=function(e){"number"!=typeof e&&(e=parseInt(e,10)),e=Math.round(e);const t=Math.floor(e/86400);e-=86400*t;const o=Math.floor(e/3600);e-=3600*o;const n=Math.floor(e/60);return{days:t,hours:o,minutes:n,seconds:e-=60*n}}(e);let o="";return t.days&&(o+=t.days+":"),o+L(t.hours)+":"+L(t.minutes)+":"+L(t.seconds)}class WebsocketBridge{static of(e){return new WebsocketBridge(e)}constructor(e){this.manualDisconnect=!1,this.video=e,this.onClose=this.onClose.bind(this),this.onMessage=this.onMessage.bind(this)}connect(e){this.client=new WebSocket("wss://player.ws.flowplayer.com?mediaId="+e),this.current_media_id=e,this.wireup()}onClose(){this.manualDisconnect?this.manualDisconnect=!1:this.current_media_id&&this.reconnect(this.current_media_id)}onMessage(e){JSON.parse(e.data).forEach(e=>{this.video.emit("ovp:message:realtime",e)})}reconnect(e){this.cleanup(),this.connect(e)}wireup(){this.client&&(this.client.addEventListener("message",this.onMessage),this.client.addEventListener("close",this.onClose))}cleanup(){this.client&&(this.client.removeEventListener("message",this.onMessage),this.client.removeEventListener("close",this.onClose),this.client=void 0)}disconnect(){this.client&&(this.manualDisconnect=!0,this.client.close())}}const U=(e,t)=>new(((e,t)=>{const o=e.get(t);if(!o)throw new Error(`no flowplayer component with the name ${t} exists`);const n=window.customElements.get(t);if(!n)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(o);return"function"!=typeof r?n:r})(e._customElements,t))(e);class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class FlowplayerLiveCountdown extends FlowplayerComponent{constructor(e){super(e),this.classList.add("fp-livecountdown");const t=function(...e){const t=document.createElement("div");return 0==e.length||t.classList.add(...e),t}("fp-inner");this.append(t);const o=document.createElement("p");o.innerText=e.i18n("ovp.starting_in"),t.append(o);const n=document.createElement("p");n.classList.add("fp-countdown"),t.append(n),e.on("ovp:live:countdown:tick",t=>{const o=t.detail.remaining_time;e.root.classList.add("is-livecountdown"),n.innerText=o})}}const j=["*.lwcdn.com","*.flowplayer.com","*.wowza.com"];function x(){try{return window.location.hostname!==window.parent.location.hostname?function(e){const t=document.createElement("a");return t.href=e,t}(document.referrer).hostname:document.location.hostname}catch(e){return window.location.hostname}}function V(e){const t=document.createElement("a");t.href=e;const o=t.pathname&&t.pathname.split(".");return o.length>1&&o[o.length-1]}function q(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const K=t=>{var{src:o}=t,n=e(t,["src"]);return[Object.assign({src:o,type:o?q("video/"+V(o)):""},n)]};function B(e){return K({src:e})}function z(t){var{src:o,type:n}=t,r=e(t,["src","type"]);return o&&n?[Object.assign({src:o,type:n},r)]:n&&!o?[Object.assign({type:n},r)]:K(Object.assign({src:o},r))}var W,G;!function(e){e[e.Err=0]="Err",e[e.Ok=1]="Ok"}(W||(W={}));const $=((G=class OVP{constructor(e){((e,t,o)=>{window.customElements.get(t)||window.customElements.define(t,o),e.customElements.get(t)||e.customElements.set(t,t)})(e,F,FlowplayerLiveCountdown)}onload(e,t,o,n){if("string"==typeof(null==n?void 0:n.src))return"string"!=typeof e.player_id||0===n.src.indexOf(e.player_id)||f(n)||(n.src=[e.player_id,n.src].join("/")),C(o,n)}wants(e,t,o){return y(e,t)}init(t,n,r){const s=new WebsocketBridge(r);let c=Object.assign({},t);const l=function(e){if(!c)return e;t.autoplay!==c.autoplay&&(c.autoplay=t.autoplay),delete c.src;const n=o(e,c);return r.emit("ovp:config:finalized",n),n};r.on("src",()=>{(r.currentSrc||r.root.classList.contains("is-livecountdown"))&&(c=!1)}),r.on("ovp:request:start",(function(){r.setState("is-waiting",!0),t.recommendations&&(t.recommendations=!1)})),r.on("ovp:media:changed",(function({data:e}){var t;const o=null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.media_id;(null==e?void 0:e.live)&&o&&(s.disconnect(),s.connect(o))})),r.on("ovp:message:realtime",(function({data:e}){var o;const n=null==e?void 0:e.event,a=null==e?void 0:e.value,i=r.opt("metadata",{live_start_time:""});switch(n){case"METADATA":{const e=Object.assign(i,a),n=Object.assign(t,{metadata:e});n.live&&(null===(o=null==n?void 0:n.metadata)||void 0===o?void 0:o.live_start_time)&&(n.live_start_time=w(n.metadata.live_start_time)),r.setOpts(n);break}}})),r.on("beforeplay",(function(e){const o=t;if(h(o)){if(Q(o))return;e.preventDefault()}})),r.on("ovp:request:media:complete",(function(e){const t=e.data;if(!t)return;var o;if(t.src&&(t.src=(o=t.src,"string"==typeof o?B(o):Array.isArray(o)||"object"!=typeof o?o.reduce((function(e,t){return"string"==typeof t&&(t=B(t)),"object"!=typeof t||Array.isArray(t)||(t=z(t)),e.concat(t)}),[]):z(o)).map(e=>(e.src&&e.src.startsWith("//")&&(e.src="https:"+e.src),e))),0==r.reaper||"object"!=typeof t||R(t)>0)return;const n=l(t);r.setOpts(n),r.setAttrs(n),n.src&&r.setSrc(n.src),r.setState("is-source-processing",!1)})),r.on("config",(function({data:e}){var o,s;if("string"==typeof t.src&&y(t.src,{}))return;if((null==e?void 0:e.domains)&&(null==e?void 0:e.domains.length)&&!((e,t)=>{const o=e.split(".").reverse();return t.concat(j).some(e=>{const t=e.split(".").reverse(),n="*"===t[t.length-1];return n&&t.pop(),(n||t.length===o.length)&&t.every((e,t)=>o[t]===e)})})(x(),e.domains))return function({root:e,video:t,data:o}){t&&t.destroy(),console.error(new Error(o.details||o.reason)),e.innerHTML="",e.classList.remove("flowplayer"),e.classList.add("flowplayer-fatal"),e.style.removeProperty("background-image");const n=document.createElement("h2");n.textContent="Playback Error";const r=document.createElement("p");r.textContent="Are you the site owner?";const a=document.createElement("a");a.classList.add("troubleshoot"),a.target="_blank",a.href="https://docs.flowplayer.com/troubleshooting/player#"+o.reason,a.textContent="Troubleshoot?";const i=document.createElement("img");i.src="https://flowplayer.com/user/pages/images/logo-white.png",e.append(n,r,a,i)}({root:n,video:r,data:{details:`Hostname ${x()} is not allowed to load player ${null===(o=e.metadata)||void 0===o?void 0:o.player_id}.`,reason:"domain"}});if(t.src&&J(t.src))return;const c=null==e?void 0:e.brand_color;return c&&r.root.style.setProperty("--fp-brand-color","#"==c[0]?c:"#"+c),"string"==typeof t.player_id&&(null===(s=null==t?void 0:t.metadata)||void 0===s?void 0:s.player_id)!==t.player_id?function(e,t){if("object"==typeof N[t])return console.debug("using Cache(%s)",t),_(e,t,N[t]);Pipe.of(t).fmap(i).fmap(a).fmap(o=>o.then(o=>_(e,t,o)).catch(console.error))}(r,t.player_id):void 0})),r.on("ovp:request:playlist:complete",(function(t){var o;const n=t.data;if(!n||0==r.reaper)return;const{playlist:a}=n,i=e(n,["playlist"]),s=l(Object.assign(i,{playlist:Object.assign({},i)}));Array.isArray(s.playlist)&&(s.playlist=i),delete s.loop,s.playlist.playlist_title||(s.playlist.playlist_title=null===(o=i.metadata)||void 0===o?void 0:o.playlist_title),r.setOpts(s),r.setAttrs(s);const c={type:"flowplayer/playlist",items:a};r.setSrc(c),r.setState("is-source-processing",!1)})),r.on("ovp:live:countdown:start",(function(e){const o=e.data;if(!o||0==r.reaper)return;const a=l(o);if(r.setOpts(a),r.setAttrs(a),R(o)<=0)return r.emit("ovp:request:media:complete",o);T(r,F)||(n.appendChild(U(r,F)),I(r,t))})),r.on("timeupdate",(function(){var e,o,n;const a=t;h(a)?Q(a)||(r.togglePlay(!1),r.emit("ended")):t.recommendations&&(null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.media_id)&&(Array.isArray(t.recommendations)||r.currentTime/r.duration<.8||O()||(null===(o=null==t?void 0:t.metadata)||void 0===o?void 0:o.media_id)&&(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.player_id)&&S(r,t.metadata.media_id,t.metadata.player_id))})),r.on("reap",(function(){s.disconnect()}))}}).pluginName="ovp",G.events=k,G);function Q(e){var t,o;const n=null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.live_stop_time;if(!n)return!0;return!!(null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.allow_after_stop_time)||w(n)>Date.now()}const J=e=>{var t;if(e&&Array.isArray(e))return"object"==typeof e[0]&&"ovp/base64"===(null===(t=e[0])||void 0===t?void 0:t.type)};return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const o=e.flowplayer;return"function"==typeof o?(o(t),t):(Array.isArray(o.extensions)||(o.extensions=[]),~o.extensions.indexOf(t)||o.extensions.push(t),t)}(window,$)}));
|
package/plugins/playlist.d.ts
CHANGED
|
@@ -1456,7 +1456,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1456
1456
|
*/
|
|
1457
1457
|
declare type PlayerWith<T> = T & Player;
|
|
1458
1458
|
|
|
1459
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1459
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1460
|
+
/* Excluded from this release type: on */
|
|
1461
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1460
1462
|
opts: PluginConfig;
|
|
1461
1463
|
setOpts: (config: PluginConfig) => void;
|
|
1462
1464
|
};
|
package/plugins/preview.d.ts
CHANGED
|
@@ -1407,7 +1407,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1407
1407
|
*/
|
|
1408
1408
|
declare type PlayerWith<T> = T & Player;
|
|
1409
1409
|
|
|
1410
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1410
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1411
|
+
/* Excluded from this release type: on */
|
|
1412
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1411
1413
|
opts: PluginConfig;
|
|
1412
1414
|
setOpts: (config: PluginConfig) => void;
|
|
1413
1415
|
};
|
package/plugins/qsel.d.ts
CHANGED
|
@@ -1402,7 +1402,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1402
1402
|
*/
|
|
1403
1403
|
declare type PlayerWith<T> = T & Player;
|
|
1404
1404
|
|
|
1405
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1405
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1406
|
+
/* Excluded from this release type: on */
|
|
1407
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1406
1408
|
opts: PluginConfig;
|
|
1407
1409
|
setOpts: (config: PluginConfig) => void;
|
|
1408
1410
|
};
|
package/plugins/qul.d.ts
CHANGED
|
@@ -1395,7 +1395,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1395
1395
|
*/
|
|
1396
1396
|
declare type PlayerWith<T> = T & Player;
|
|
1397
1397
|
|
|
1398
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1398
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1399
|
+
/* Excluded from this release type: on */
|
|
1400
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1399
1401
|
opts: PluginConfig;
|
|
1400
1402
|
setOpts: (config: PluginConfig) => void;
|
|
1401
1403
|
};
|
package/plugins/rts.d.ts
CHANGED
|
@@ -1601,7 +1601,9 @@ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
|
|
|
1601
1601
|
*/
|
|
1602
1602
|
declare type PlayerWith<T> = T & Player;
|
|
1603
1603
|
|
|
1604
|
-
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> =
|
|
1604
|
+
declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
|
|
1605
|
+
/* Excluded from this release type: on */
|
|
1606
|
+
} & Omit<PluginPlayer, "opts" | "setOpts"> & {
|
|
1605
1607
|
opts: PluginConfig;
|
|
1606
1608
|
setOpts: (config: PluginConfig) => void;
|
|
1607
1609
|
};
|