@flowplayer/player 3.29.0 → 3.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core.js +1 -1
- package/default.js +1 -1
- package/embed.js +2 -2
- package/index.d.ts +4 -4
- package/package.json +2 -2
- package/plugins/ads.d.ts +4 -4
- package/plugins/ads.js +2 -2
- package/plugins/airplay.d.ts +4 -4
- package/plugins/airplay.js +1 -1
- package/plugins/analytics.d.ts +4 -4
- package/plugins/analytics.js +1 -1
- package/plugins/asel.d.ts +4 -4
- package/plugins/asel.js +1 -1
- package/plugins/audio.d.ts +4 -4
- package/plugins/audio.js +1 -1
- package/plugins/chapters.d.ts +4 -4
- package/plugins/chapters.js +1 -1
- package/plugins/chromecast.d.ts +4 -4
- package/plugins/chromecast.js +1 -1
- package/plugins/comscore.d.ts +4 -4
- package/plugins/comscore.js +1 -1
- package/plugins/consent.d.ts +4 -4
- package/plugins/consent.js +1 -1
- package/plugins/context-menu.d.ts +4 -4
- package/plugins/context-menu.js +1 -1
- package/plugins/cuepoints.d.ts +4 -4
- package/plugins/cuepoints.js +1 -1
- package/plugins/dash.d.ts +4 -4
- package/plugins/dash.js +2 -5
- package/plugins/drm.d.ts +4 -4
- package/plugins/drm.js +1 -1
- package/plugins/endscreen.d.ts +4 -4
- package/plugins/endscreen.js +1 -1
- package/plugins/fas.d.ts +4 -4
- package/plugins/fas.js +1 -1
- package/plugins/float-on-scroll.d.ts +4 -4
- package/plugins/float-on-scroll.js +1 -1
- package/plugins/ga4.d.ts +4 -4
- package/plugins/ga4.js +1 -1
- package/plugins/gemius.d.ts +4 -4
- package/plugins/gemius.js +1 -1
- package/plugins/google-analytics.d.ts +4 -4
- package/plugins/google-analytics.js +1 -1
- package/plugins/hls.d.ts +4 -4
- package/plugins/hls.js +1 -1
- package/plugins/id3.d.ts +4 -4
- package/plugins/id3.js +1 -1
- package/plugins/iframe.d.ts +4 -4
- package/plugins/iframe.js +1 -1
- package/plugins/keyboard.d.ts +4 -4
- package/plugins/keyboard.js +1 -1
- package/plugins/media-session.d.ts +4 -4
- package/plugins/media-session.js +1 -1
- package/plugins/message.d.ts +4 -4
- package/plugins/message.js +1 -1
- package/plugins/ovp.d.ts +10 -4
- package/plugins/ovp.js +1 -1
- package/plugins/playlist.d.ts +4 -4
- package/plugins/playlist.js +1 -1
- package/plugins/preview.d.ts +4 -4
- package/plugins/preview.js +1 -1
- package/plugins/qsel.d.ts +4 -4
- package/plugins/qsel.js +1 -1
- package/plugins/qul.d.ts +4 -4
- package/plugins/qul.js +1 -1
- package/plugins/rts.d.ts +4 -4
- package/plugins/rts.js +7 -7
- package/plugins/share.d.ts +4 -4
- package/plugins/share.js +1 -1
- package/plugins/speed.d.ts +4 -4
- package/plugins/speed.js +1 -1
- package/plugins/ssai.d.ts +4 -4
- package/plugins/ssai.js +2 -2
- package/plugins/subtitles.d.ts +4 -4
- package/plugins/subtitles.js +1 -1
- package/plugins/thumbnails.d.ts +4 -4
- package/plugins/thumbnails.js +1 -1
- package/plugins/tizen.d.ts +4 -4
- package/plugins/tizen.js +1 -1
- package/plugins/vtsel.d.ts +4 -4
- package/plugins/vtsel.js +1 -1
- package/plugins/webos.d.ts +4 -4
- package/plugins/webos.js +1 -1
- package/util/loader.d.ts +4 -4
package/plugins/drm.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { Get } from 'type-fest';
|
|
3
2
|
import type { Level } from 'hls.js';
|
|
4
3
|
import type { MediaKeyFunc } from 'hls.js';
|
|
4
|
+
import type { Representation } from 'dashjs';
|
|
5
5
|
import type { TupleToUnion } from 'type-fest';
|
|
6
6
|
|
|
7
7
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1586,7 +1586,7 @@ PROGRESS = "progress";
|
|
|
1586
1586
|
*/
|
|
1587
1587
|
declare type QselOption = (Level & {
|
|
1588
1588
|
level: number;
|
|
1589
|
-
}) |
|
|
1589
|
+
}) | Representation | {
|
|
1590
1590
|
name: string | number;
|
|
1591
1591
|
encodingId: string;
|
|
1592
1592
|
spatialLayerId: number;
|
|
@@ -1634,8 +1634,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1634
1634
|
* @public
|
|
1635
1635
|
*/
|
|
1636
1636
|
declare type QualityChangeEventDetail = {
|
|
1637
|
-
before?: Level |
|
|
1638
|
-
after?: Level |
|
|
1637
|
+
before?: Level | Representation;
|
|
1638
|
+
after?: Level | Representation;
|
|
1639
1639
|
plugin: string;
|
|
1640
1640
|
automatic: boolean;
|
|
1641
1641
|
/* Excluded from this release type: downscale */
|
package/plugins/drm.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.drm=t())}(this,
|
|
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.drm=t())}(this,function(){"use strict";const e="com.widevine.alpha",t="com.microsoft.playready",n="org.w3.clearkey",r="com.apple.fps.1_0",s="license_server",o="http_headers",i="certificate",a="vendor",c="query_params";var d=Object.freeze({__proto__:null,WIDEVINE:e,PLAYREADY:t,CLEARKEY:n,FAIRPLAY:r,LICENSE_SERVER:s,HTTP_HEADERS:o,CERTIFICATE:i,VENDOR:a,REQUEST_MEDIA_KEY_SYSTEM_ACCESS_FUNCTION:"request_media_key_system_access_function",QUERY_PARAMS:c,KEY:"key",KEY_ID:"kid"});function u(){const e="undefined"!=typeof document&&"undefined"!=typeof window,t=e?navigator.userAgent:"",n=/iP(hone|od)/i.test(t)&&!/iPad/.test(t)&&!/IEMobile/i.test(t),r=/Android/.test(t)&&!/Firefox/.test(t),s=/^((?!chrome|android).)*safari/i.test(t),o=/chrome|crios/i.test(t)&&!/opr|opera|chromium|edg|ucbrowser|googlebot/i.test(t),i=/firefox|fxios/i.test(t)&&!/seamonkey/i.test(t),a=/edg/i.test(t),c=/opr|opera/i.test(t),d=/SamsungBrowser/.test(t),u=d&&/SMART-TV/.test(t);return{controls:!n,video:function(t){return e&&document.createElement("video").canPlayType(t)},lang:e&&window.navigator.language,android:r,iphone:n,safari:s,edge:a,opera:c,chrome:o,firefox:i,ios:e&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,samsung:d,samsung_tv:d&&u,touch:"ontouchstart"in window,tizen:"tizen"in window,webOS:"webos"in window}}function f(s){const o={};return Object.keys(s).forEach(function(i){(function(s){const o=u();switch(s){case e:return o.chrome||o.firefox||o.edge||o.opera;case n:return o.chrome||o.firefox;case r:return o.safari;case t:return o.edge}})(i)&&function(e,t,n){Object.assign(n,t),n.emeEnabled=!0,t.request_media_key_system_access_function&&(n.requestMediaKeySystemAccessFunc=t.request_media_key_system_access_function);const s=t.http_headers;s&&(n.licenseXhrSetup=function(e){Object.keys(s).forEach(function(t){e.setRequestHeader(t,s[t])})}),n.drmSystems=n.drmSystems||{},Object.assign(n.drmSystems,{[e===r?"com.apple.fps":e]:{licenseUrl:t.license_server,serverCertificateUrl:t.certificate}})}(i,s[i],o)}),o}function l(r){const i={};return Object.keys(r).forEach(function(a){(function(r){const s=u();switch(r){case e:return s.chrome||s.firefox||s.edge||s.opera;case n:return s.chrome||s.firefox;case t:return s.edge}})(a)&&(i[a]=function(e){return Object.assign({serverURL:e[s],httpRequestHeaders:e[o]},e)}(r[a]))}),i}const y=(e,t)=>fetch(e,t).then(h).then(e=>new Uint8Array(e)),h=e=>{if(e.ok)return e.arrayBuffer();throw m(e)},m=e=>new Error(`http:error status=${e.status} during key retrieval`);var p=Object.freeze({__proto__:null,fairplay_fetch_certificate:(e,t)=>{y(e).then(t)},fairplay_request_license:function(e,t,n){const r=((e,t)=>e.includes(t.assetId)&&Object.keys(t.queryParams||{}).find(t=>e.includes(t))?e:e.includes(t.assetId)?`${e}?${new URLSearchParams(t.queryParams).toString()}`:`${e}/${t.assetId}?${new URLSearchParams(t.queryParams).toString()}`)(e,t);y(r,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:t.message}).then(n)}});var _,g=Object.freeze({__proto__:null,fairplay_fetch_certificate:(e,t)=>{y(e).then(t)},fairplay_request_license:function(e,t,n){const r=new FormData;var s;r.set("assetid",t.assetId),r.set("spc",(s=t.message,btoa(Array.prototype.map.call(s,function(e){return String.fromCharCode(e)}).join("")))),fetch(e,{method:"POST",body:r,headers:t.headers}).then(e=>{if(e.ok)return e.text();throw m(e)}).then(e=>function(e){const t=atob(e),n=new Uint8Array(t.length);return Array.prototype.forEach.call(t,function(e,t){n[t]=e.charCodeAt(0)}),n}(e)).then(n)}}),w=Object.freeze({__proto__:null,ezdrm:p,buydrm:g});function b(e,t,n){const d=t[r],u=null==d?void 0:d[i];if(!d||!u)return;if(e.src&&0===e.src.indexOf("blob:"))return;const f=d[a]||"ezdrm",l="string"==typeof f?w[f]:f;l.fairplay_fetch_certificate(u,function(i){e.webkitSetMediaKeys(new window.WebKitMediaKeys(r));const a=n.initData,u=function(e){const t=function(e){const t=new Uint16Array(e);return String.fromCharCode(...t)}(e.buffer);return t.substring(t.indexOf("skd:")+6).split(";").pop()}(a);if(!u)return console.debug("flowplayer::drm::fairplay - unable to extract content id from init data");const f=function(e,t,n){"string"==typeof t&&(t=function(e){const t=new ArrayBuffer(2*e.length),n=new Uint16Array(t);return Array(...Array(e.length)).map((e,t)=>t).forEach(t=>{n[t]=e.charCodeAt(t)}),n}(t));let r=0;const s=new ArrayBuffer(e.byteLength+4+t.byteLength+4+n.byteLength),o=new DataView(s),i=new Uint8Array(s,r,e.byteLength);i.set(e),r+=e.byteLength,o.setUint32(r,t.byteLength,!0),r+=4;const a=new Uint16Array(s,r,t.length);a.set(t),r+=a.byteLength,o.setUint32(r,n.byteLength,!0),r+=4;return new Uint8Array(s,r,n.byteLength).set(n),new Uint8Array(s,0,s.byteLength)}(a,u,i),y=e.webkitKeys.createSession("application/x-mpegurl",f);y.addEventListener("webkitkeyerror",console.debug.bind(console,"webkitkeyerror")),y.addEventListener("webkitkeymessage",function(e){const n={message:e.message,assetId:u,headers:d[o]||{},queryParams:t[r][c]||{}};l.fairplay_request_license(d[s],n,e=>y.update(e))})})}const A=((_=class DRM{init(e,t,n){let r;n.on("webkitneedkey",e=>b(n,r.drm||{},e)),n.on("src",t=>{r=t.detail,function(e){var t,n,r,s,o;null===(t=e.hls)||void 0===t||delete t.drmSystems,null===(n=e.hls)||void 0===n||delete n.licenseXhrSetup,null===(r=e.hls)||void 0===r||delete r.requestMediaKeySystemAccessFunc,null===(s=e.hls)||void 0===s||delete s.drmSystemOptions,null===(o=e.hls)||void 0===o||delete o.emeEnabled}(e),this.hls_drm(n,e,t.detail.drm),this.dash_drm(n,e,t.detail.drm)})}hls_drm(e,t,n){if(!n)return;const r=f(n);e.setOpts({hls:Object.assign(t.hls||{},r)})}dash_drm(e,t,n){if(!n)return;const r=t.dash||{},s=l(n);e.setOpts({dash:Object.assign(r,{drm:s})})}}).pluginName="drm",_);Object.assign(A,d);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,A)});
|
package/plugins/endscreen.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { Get } from 'type-fest';
|
|
3
2
|
import type { Level } from 'hls.js';
|
|
3
|
+
import type { Representation } from 'dashjs';
|
|
4
4
|
import type { TupleToUnion } from 'type-fest';
|
|
5
5
|
|
|
6
6
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1486,7 +1486,7 @@ PROGRESS = "progress";
|
|
|
1486
1486
|
*/
|
|
1487
1487
|
declare type QselOption = (Level & {
|
|
1488
1488
|
level: number;
|
|
1489
|
-
}) |
|
|
1489
|
+
}) | Representation | {
|
|
1490
1490
|
name: string | number;
|
|
1491
1491
|
encodingId: string;
|
|
1492
1492
|
spatialLayerId: number;
|
|
@@ -1534,8 +1534,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1534
1534
|
* @public
|
|
1535
1535
|
*/
|
|
1536
1536
|
declare type QualityChangeEventDetail = {
|
|
1537
|
-
before?: Level |
|
|
1538
|
-
after?: Level |
|
|
1537
|
+
before?: Level | Representation;
|
|
1538
|
+
after?: Level | Representation;
|
|
1539
1539
|
plugin: string;
|
|
1540
1540
|
automatic: boolean;
|
|
1541
1541
|
/* Excluded from this release type: downscale */
|
package/plugins/endscreen.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=t.flowplayer||{},t.flowplayer.endscreen=e())}(this,(function(){"use strict";function t(t,e){const n=t._customElements.get(e);return n&&t.root.querySelector(n)||void 0}const e=(t,e)=>new(((t,e)=>{const n=t.get(e);if(!n)throw new Error(`no flowplayer component with the name ${e} exists`);const s=window.customElements.get(e);if(!s)throw new Error(`no default flowplayer component with the name ${e} exists`);const i=window.customElements.get(n);return"function"!=typeof i?s:i})(t._customElements,e))(t),n=(t,e,n)=>{window.customElements.get(e)||window.customElements.define(e,n),t.customElements.get(e)||t.customElements.set(e,e)};var s=Object.freeze({__proto__:null,RECOMMENDATIONS_RENDER:"recommendations:render",RECOMMENDATIONS_HIDE:"recommendations:hide",RECOMMENDATIONS_READY:"recommendationsready"});class FlowplayerComponent extends HTMLElement{constructor(t){super(),this.player=t}}const i=(t,e)=>{const n=document.createElement("span");return n.classList.add(t),n.textContent=e,n};class InterstitialGrid extends FlowplayerComponent{constructor(t){super(t),this.classList.add("interstitial-grid"),this.addEventListener(InterstitialGrid.events.RENDER,e=>{this.prepare_endscreen(e.detail,t)}),t.on("resize",()=>{t.root.classList.contains("is-grid")&&this.items&&this.prepare_endscreen(this.items,t)}),this.previousButton=document.createElement("div"),this.previousButton.classList.add("fp-previous"),this.nextButton=document.createElement("div"),this.nextButton.classList.add("fp-next"),this.previousButton.addEventListener("click",this.navigation_buttons_listener.bind(this,!0)),this.nextButton.addEventListener("click",this.navigation_buttons_listener.bind(this,!1))}calculate_max_cells_number(t,e){const n=this.parentElement;if(!n)return;const s=window.getComputedStyle(n).padding,i=e.clientWidth-2*parseFloat(s),r=e.clientHeight-2*parseFloat(s);let o=t,l=0,d=0,a=0,c=0;t:for(;o>0;o-=1){if(1===o){l=i,d=Math.min(r,Math.max(l/1.5,l/1.8)),a=c=1;break}let t=1;for(;t<=o;t++){const e=Number.isInteger(o/t)?o/t:parseInt((o/t).toString())+1,n=i/t;let s=1.5;for(;s<=1.8;s+=.1){const i=n/s;if(i>=64&&i*e<=r&&n>=115){l=n,d=i,a=t,c=e;break t}}}}return this.style.setProperty("grid-template-columns",`repeat(${a}, ${l}px)`),this.style.setProperty("grid-template-rows",`repeat(${c}, ${d}px)`),o}prepare_endscreen(t,e){this.items=t,this.rendered_items=this.items.slice(0,this.calculate_max_cells_number(this.items.length,e)),this.populate_cells(this.rendered_items),this.hide_navigation_buttons(this.items.every((t,e)=>{var n;return t===(null===(n=this.rendered_items)||void 0===n?void 0:n[e])}))}populate_cells(t){this.innerHTML="",t.forEach(t=>{var e,n;const s=document.createElement("div");s.classList.add("grid-item"),t.poster&&(s.style.backgroundImage=`url(${t.poster})`);const r=document.createElement("div");r.classList.add("overlay");const o=i("title",null!==(e=t.title)&&void 0!==e?e:""),l=i("description",null!==(n=t.description)&&void 0!==n?n:"");r.append(o,l),s.append(r),s.addEventListener("click",()=>{const e=new CustomEvent(InterstitialGrid.events.SELECTION,{detail:t});this.dispatchEvent(e)}),this.append(s)})}hide_navigation_buttons(t){[this.previousButton,this.nextButton].forEach(e=>e.style.setProperty("display",t?"none":"block"))}connectedCallback(){var t;this.isConnected&&(null===(t=this.parentElement)||void 0===t||t.append(this.previousButton,this.nextButton))}navigation_buttons_listener(t){if(!this.rendered_items)return;const e=[];this.rendered_items.forEach(n=>{if(!this.items)return;const s=this.items.indexOf(n);if(void 0===s||-1===s)return;const i=this.calculate_index(t,s);void 0!==i&&e.push(this.items[i])}),this.rendered_items=e,this.populate_cells(this.rendered_items)}calculate_index(t,e){if(!this.items||!this.rendered_items)return;const n=this.items.length,s=this.rendered_items.length;let i=t?e-s:e+s;return i<0&&t&&(i=n+i),i>n-1&&!t&&(i-=n),i}}InterstitialGrid.events={SELECTION:"interstitial/grid/selection",RENDER:"interstitial/grid/render"};const r=["title","delay","description","poster","src"];class UpNext extends FlowplayerComponent{static get observedAttributes(){return r}constructor(t){super(t),this.classList.add("up-next"),this.addEventListener("animationend",()=>{this.dispatchEvent(new CustomEvent("interstitial/end"))}),this.addEventListener("animationcancel",()=>{this.classList.add("cancelled"),this.dispatchEvent(new CustomEvent("interstitial/cancel"))}),this.addEventListener("interstitial/next_item",this._setUpNext.bind(this))}getTitle(){return this.getAttribute("title")||""}getDescription(){return this.getAttribute("description")||""}getPoster(){return this.getAttribute("poster")||""}getDelay(){return this.getAttribute("delay")||""}connectedCallback(){this.isConnected&&this._render()}attributeChangedCallback(){this._render()}_render(){var t,e;this.innerHTML="",this.classList.remove("cancelled");const n=document.createDocumentFragment(),s=document.createElement("div");s.classList.add("pane","left");const i=document.createElement("div");i.classList.add("pane","right"),n.append(s,i);const r=document.createElement("div");r.classList.add("poster"),r.style.backgroundImage="url("+this.getPoster()+")",s.append(r),r.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("interstitial/end")));const o=document.createElement("span");o.classList.add("fp-icon","fp-play"),r.append(o);const l=document.createElement("span");l.classList.add("title"),l.textContent=this.getTitle();const d=document.createElement("span");d.classList.add("description"),d.textContent=this.getDescription();const a=document.createElement("span");a.classList.add("countdown"),this.getDelay()&&(a.style.setProperty("--up-next-delay",this.getDelay()+"s"),a.classList.add("go"));const c=document.createElement("span");c.classList.add("cancel"),c.textContent=null!==(e=null===(t=this.player)||void 0===t?void 0:t.i18n("playlist.cancel"))&&void 0!==e?e:"cancel",c.addEventListener("click",()=>a.classList.remove("go")),i.append(l,d,c,a),this.append(n)}_setUpNext(t){var e,n,s;const i=t.detail.next,r=this.player.opt("playlist.delay",void 0)||10;this.setAttribute("title",null!==(e=i.title)&&void 0!==e?e:""),this.setAttribute("description",null!==(n=i.description)&&void 0!==n?n:""),this.setAttribute("poster",null!==(s=i.poster)&&void 0!==s?s:""),this.setAttribute("delay",r+"")}}function o(t,e){const n=function(){try{return localStorage.getItem("flowplayer/debug")}catch(t){return""}}(),s=(s,...i)=>{try{const r=(null==e?void 0:e.debug)||n;r&&t.match(r)&&console.log(`flowplayer/${t} -- ${s}`,...i)}catch(t){console.warn(t)}};return s.log=s,s}function l(t,e,n){const s=function(t,e){const n=new CustomEvent(t,{detail:e,cancelable:!0});return e&&Object.defineProperty(n,"data",{get:()=>e}),n}(e,n);return t.dispatchEvent(s),t}!function(){let t=!1;try{const e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch(t){}}();class EndscreenInterstitial extends FlowplayerComponent{constructor(t){super(t),this.className="fp-endscreen",this.upNextEle=e(t,"flowplayer-endscreen-up-next"),this.gridEle=e(t,"flowplayer-endscreen-grid"),this.append(this.upNextEle,this.gridEle),this.addEventListener("recommendations:render",this.on_recommendations_render.bind(this)),this.upNextEle.addEventListener("interstitial/cancel",this.on_next_cancel.bind(this)),this.upNextEle.addEventListener("interstitial/end",this.on_next_end.bind(this)),this.gridEle.addEventListener(InterstitialGrid.events.SELECTION,this.on_grid_selection.bind(this))}on_recommendations_render(t){const e=t.detail;if(this.playlist=e.playlist,this.on_item_selected=e.on_item_selected,this.player.playlist||!1===this.player.opt("endscreen.auto_advance"))return this.gridEle.dispatchEvent(new CustomEvent(InterstitialGrid.events.RENDER,{detail:this.playlist})),this.player.root.classList.add("is-grid");this.gridEle.hide_navigation_buttons(!0),this.player.root.classList.add("is-up-next"),l(this.upNextEle,"interstitial/next_item",{next:this._nextVideo(this.playlist)})}on_next_cancel(){this.player.root.classList.contains("is-endscreen")&&this.playlist&&(this.gridEle.dispatchEvent(new CustomEvent(InterstitialGrid.events.RENDER,{detail:this.playlist})),this.player.root.classList.remove("is-up-next"),this.player.root.classList.add("is-grid"))}on_next_end(){if(!this.playlist||!this.on_item_selected)return;const t=this.current_video=this._nextVideo(this.playlist);this.on_item_selected(t)}on_grid_selection(t){this.on_item_selected&&this.on_item_selected(t.detail),this.current_video=t.detail,this.gridEle.hide_navigation_buttons(!0)}_nextVideo(t){if(!this.current_video)return t[0];const e=t.indexOf(this.current_video);return[-1,t.length-1].includes(e)?t[0]:t[e+1]}}var d;const a=((d=class Endscreen{constructor(t,e){this.logger=o("flowplayer/endscreen"),n(t,"flowplayer-endscreen-interstitial",EndscreenInterstitial),n(t,"flowplayer-endscreen-up-next",class extends UpNext{}),n(t,"flowplayer-endscreen-grid",class extends InterstitialGrid{})}init(n,s,i){const r=e(i,"flowplayer-endscreen-interstitial");var o;i.on("mount",()=>{var e;return null===(e=t(i,"flowplayer-ui"))||void 0===e?void 0:e.prepend(r)}),i.on("recommendationsready",t=>{const e=t.detail;this.recommendations=e,this.logger.log(`loaded ${e.playlist.length} recommendations`)}),i.on(["ended","playlist:ended"],(o=t=>{var e;this.recommendations&&(n.loop||(null===(e=null==n?void 0:n.playlist)||void 0===e?void 0:e.loop)||"ended"==t.type&&i.playlist||(l(r,"recommendations:render",{playlist:this.recommendations.playlist.slice(0,12),on_item_selected:this._setSrc.bind(this,i)}),s.classList.add("is-endscreen")))},t=>{setTimeout((function(){if(!t.defaultPrevented&&!t.prevented)return o(t)}),0)})),i.on(["seeking","loadstart","playing"],()=>{i.root.classList.contains("is-endscreen")&&this.hide_recommendations(i)})}_setSrc(t,e){var n;if(this.hide_recommendations(t),!t.opts.autoplay&&t.setOpts({autoplay:1}),t.playlist)return t.playlist.push(e),null===(n=t.playlist)||void 0===n?void 0:n.next();t.setSrc(e.src),t.setOpts(e),t.once("canplay",()=>t.togglePlay(!0))}hide_recommendations(e){e.root.classList.remove("is-endscreen","is-grid","is-up-next");const n=t(e,"flowplayer-endscreen-interstitial");n&&l(n,"recommendations:hide")}}).pluginName="endscreen",d.events=s,d);return function(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;if(null===document.currentScript)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const n=t.flowplayer;return"function"==typeof n?(n(e),e):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(e)||n.extensions.push(e),e)}(window,a)}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=t.flowplayer||{},t.flowplayer.endscreen=e())}(this,function(){"use strict";const t="interstitial/end",e="interstitial/cancel",s="interstitial/next_item";function n(t,e){const s=t._customElements.get(e);return s&&t.root.querySelector(s)||void 0}const i=(t,e)=>new(((t,e)=>{const s=t.get(e);if(!s)throw new Error(`no flowplayer component with the name ${e} exists`);const n=window.customElements.get(e);if(!n)throw new Error(`no default flowplayer component with the name ${e} exists`);const i=window.customElements.get(s);return"function"!=typeof i?n:i})(t._customElements,e))(t),r=(t,e,s)=>{window.customElements.get(e)||window.customElements.define(e,s),t.customElements.get(e)||t.customElements.set(e,e)},o="flowplayer-endscreen-interstitial",l="flowplayer-endscreen-up-next",a="flowplayer-endscreen-grid",d="ended",c="recommendations:render",p="recommendations:hide",u="recommendationsready";var h=Object.freeze({__proto__:null,RECOMMENDATIONS_RENDER:c,RECOMMENDATIONS_HIDE:p,RECOMMENDATIONS_READY:u});class FlowplayerComponent extends HTMLElement{constructor(t){super(),this.player=t}}const m=(t,e)=>{const s=document.createElement("span");return s.classList.add(t),s.textContent=e,s};class InterstitialGrid extends FlowplayerComponent{constructor(t){super(t),this.classList.add("interstitial-grid"),this.addEventListener(InterstitialGrid.events.RENDER,e=>{this.prepare_endscreen(e.detail,t)}),t.on("resize",()=>{t.root.classList.contains("is-grid")&&this.items&&this.prepare_endscreen(this.items,t)}),this.previousButton=document.createElement("div"),this.previousButton.classList.add("fp-previous"),this.nextButton=document.createElement("div"),this.nextButton.classList.add("fp-next"),this.previousButton.addEventListener("click",this.navigation_buttons_listener.bind(this,!0)),this.nextButton.addEventListener("click",this.navigation_buttons_listener.bind(this,!1))}calculate_max_cells_number(t,e){const s=this.parentElement;if(!s)return;const n=window.getComputedStyle(s).padding,i=e.clientWidth-2*parseFloat(n),r=e.clientHeight-2*parseFloat(n);let o=t,l=0,a=0,d=0,c=0;t:for(;o>0;o-=1){if(1===o){l=i,a=Math.min(r,Math.max(l/1.5,l/1.8)),d=c=1;break}let t=1;for(;t<=o;t++){const e=Number.isInteger(o/t)?o/t:parseInt((o/t).toString())+1,s=i/t;let n=1.5;for(;n<=1.8;n+=.1){const i=s/n;if(i>=64&&i*e<=r&&s>=115){l=s,a=i,d=t,c=e;break t}}}}return this.style.setProperty("grid-template-columns",`repeat(${d}, ${l}px)`),this.style.setProperty("grid-template-rows",`repeat(${c}, ${a}px)`),o}prepare_endscreen(t,e){this.items=t,this.rendered_items=this.items.slice(0,this.calculate_max_cells_number(this.items.length,e)),this.populate_cells(this.rendered_items),this.hide_navigation_buttons(this.items.every((t,e)=>{var s;return t===(null===(s=this.rendered_items)||void 0===s?void 0:s[e])}))}populate_cells(t){this.innerHTML="",t.forEach(t=>{var e,s;const n=document.createElement("div");n.classList.add("grid-item"),t.poster&&(n.style.backgroundImage=`url(${t.poster})`);const i=document.createElement("div");i.classList.add("overlay");const r=m("title",null!==(e=t.title)&&void 0!==e?e:""),o=m("description",null!==(s=t.description)&&void 0!==s?s:"");i.append(r,o),n.append(i),n.addEventListener("click",()=>{const e=new CustomEvent(InterstitialGrid.events.SELECTION,{detail:t});this.dispatchEvent(e)}),this.append(n)})}hide_navigation_buttons(t){[this.previousButton,this.nextButton].forEach(e=>e.style.setProperty("display",t?"none":"block"))}connectedCallback(){var t;this.isConnected&&(null===(t=this.parentElement)||void 0===t||t.append(this.previousButton,this.nextButton))}navigation_buttons_listener(t){if(!this.rendered_items)return;const e=[];this.rendered_items.forEach(s=>{if(!this.items)return;const n=this.items.indexOf(s);if(void 0===n||-1===n)return;const i=this.calculate_index(t,n);void 0!==i&&e.push(this.items[i])}),this.rendered_items=e,this.populate_cells(this.rendered_items)}calculate_index(t,e){if(!this.items||!this.rendered_items)return;const s=this.items.length,n=this.rendered_items.length;let i=t?e-n:e+n;return i<0&&t&&(i=s+i),i>s-1&&!t&&(i-=s),i}}InterstitialGrid.events={SELECTION:"interstitial/grid/selection",RENDER:"interstitial/grid/render"};const v=["title","delay","description","poster","src"];class UpNext extends FlowplayerComponent{static get observedAttributes(){return v}constructor(n){super(n),this.classList.add("up-next"),this.addEventListener("animationend",()=>{this.dispatchEvent(new CustomEvent(t))}),this.addEventListener("animationcancel",()=>{this.classList.add("cancelled"),this.dispatchEvent(new CustomEvent(e))}),this.addEventListener(s,this._setUpNext.bind(this))}getTitle(){return this.getAttribute("title")||""}getDescription(){return this.getAttribute("description")||""}getPoster(){return this.getAttribute("poster")||""}getDelay(){return this.getAttribute("delay")||""}connectedCallback(){this.isConnected&&this._render()}attributeChangedCallback(){this._render()}_render(){var e,s;this.innerHTML="",this.classList.remove("cancelled");const n=document.createDocumentFragment(),i=document.createElement("div");i.classList.add("pane","left");const r=document.createElement("div");r.classList.add("pane","right"),n.append(i,r);const o=document.createElement("div");o.classList.add("poster"),o.style.backgroundImage="url("+this.getPoster()+")",i.append(o),o.addEventListener("click",()=>this.dispatchEvent(new CustomEvent(t)));const l=document.createElement("span");l.classList.add("fp-icon","fp-play"),o.append(l);const a=document.createElement("span");a.classList.add("title"),a.textContent=this.getTitle();const d=document.createElement("span");d.classList.add("description"),d.textContent=this.getDescription();const c=document.createElement("span");c.classList.add("countdown"),this.getDelay()&&(c.style.setProperty("--up-next-delay",this.getDelay()+"s"),c.classList.add("go"));const p=document.createElement("span");p.classList.add("cancel"),p.textContent=null!==(s=null===(e=this.player)||void 0===e?void 0:e.i18n("playlist.cancel"))&&void 0!==s?s:"cancel",p.addEventListener("click",()=>c.classList.remove("go")),r.append(a,d,p,c),this.append(n)}_setUpNext(t){var e,s,n;const i=t.detail.next,r=this.player.opt("playlist.delay",void 0)||10;this.setAttribute("title",null!==(e=i.title)&&void 0!==e?e:""),this.setAttribute("description",null!==(s=i.description)&&void 0!==s?s:""),this.setAttribute("poster",null!==(n=i.poster)&&void 0!==n?n:""),this.setAttribute("delay",r+"")}}const E="is-endscreen",y="is-up-next",_="is-grid";function g(t,e){const s=function(){try{return localStorage.getItem("flowplayer/debug")}catch(t){return""}}(),n=(n,...i)=>{try{const r=(null==e?void 0:e.debug)||s;r&&t.match(r)&&console.log(`flowplayer/${t} -- ${n}`,...i)}catch(t){console.warn(t)}};return n.log=n,n}function f(t,e,s){const n=function(t,e){const s=new CustomEvent(t,{detail:e,cancelable:!0});return e&&Object.defineProperty(s,"data",{get:()=>e}),s}(e,s);return t.dispatchEvent(n),t}!function(){let t=!1;try{const e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch(t){}}();class EndscreenInterstitial extends FlowplayerComponent{constructor(s){super(s),this.className="fp-endscreen",this.upNextEle=i(s,l),this.gridEle=i(s,a),this.append(this.upNextEle,this.gridEle),this.addEventListener(c,this.on_recommendations_render.bind(this)),this.upNextEle.addEventListener(e,this.on_next_cancel.bind(this)),this.upNextEle.addEventListener(t,this.on_next_end.bind(this)),this.gridEle.addEventListener(InterstitialGrid.events.SELECTION,this.on_grid_selection.bind(this))}on_recommendations_render(t){const e=t.detail;if(this.playlist=e.playlist,this.on_item_selected=e.on_item_selected,this.player.playlist||!1===this.player.opt("endscreen.auto_advance"))return this.gridEle.dispatchEvent(new CustomEvent(InterstitialGrid.events.RENDER,{detail:this.playlist})),this.player.root.classList.add(_);this.gridEle.hide_navigation_buttons(!0),this.player.root.classList.add(y),f(this.upNextEle,s,{next:this._nextVideo(this.playlist)})}on_next_cancel(){this.player.root.classList.contains(E)&&this.playlist&&(this.gridEle.dispatchEvent(new CustomEvent(InterstitialGrid.events.RENDER,{detail:this.playlist})),this.player.root.classList.remove(y),this.player.root.classList.add(_))}on_next_end(){if(!this.playlist||!this.on_item_selected)return;const t=this.current_video=this._nextVideo(this.playlist);this.on_item_selected(t)}on_grid_selection(t){this.on_item_selected&&this.on_item_selected(t.detail),this.current_video=t.detail,this.gridEle.hide_navigation_buttons(!0)}_nextVideo(t){if(!this.current_video)return t[0];const e=t.indexOf(this.current_video);return[-1,t.length-1].includes(e)?t[0]:t[e+1]}}var x;const w=((x=class Endscreen{constructor(t,e){this.logger=g("flowplayer/endscreen"),r(t,o,EndscreenInterstitial),r(t,l,class extends UpNext{}),r(t,a,class extends InterstitialGrid{})}init(t,e,s){const r=i(s,o);var l;s.on("mount",()=>{var t;return null===(t=n(s,"flowplayer-ui"))||void 0===t?void 0:t.prepend(r)}),s.on(u,t=>{const e=t.detail;this.recommendations=e,this.logger.log(`loaded ${e.playlist.length} recommendations`)}),s.on([d,"playlist:ended"],(l=n=>{var i;this.recommendations&&(t.loop||(null===(i=null==t?void 0:t.playlist)||void 0===i?void 0:i.loop)||n.type==d&&s.playlist||(f(r,c,{playlist:this.recommendations.playlist.slice(0,12),on_item_selected:this._setSrc.bind(this,s)}),e.classList.add(E)))},t=>{setTimeout(function(){if(!t.defaultPrevented&&!t.prevented)return l(t)},0)})),s.on(["seeking","loadstart","playing"],()=>{s.root.classList.contains(E)&&this.hide_recommendations(s)})}_setSrc(t,e){var s;if(this.hide_recommendations(t),!t.opts.autoplay&&t.setOpts({autoplay:1}),t.playlist)return t.playlist.push(e),null===(s=t.playlist)||void 0===s?void 0:s.next();t.setSrc(e.src),t.setOpts(e),t.once("canplay",()=>t.togglePlay(!0))}hide_recommendations(t){t.root.classList.remove(E,_,y);const e=n(t,o);e&&f(e,p)}}).pluginName="endscreen",x.events=h,x);return function(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;if(null===document.currentScript)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const s=t.flowplayer;return"function"==typeof s?(s(e),e):(Array.isArray(s.extensions)||(s.extensions=[]),~s.extensions.indexOf(e)||s.extensions.push(e),e)}(window,w)});
|
package/plugins/fas.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { FRAMERATE } from 'smpte-timecode';
|
|
3
2
|
import type { Get } from 'type-fest';
|
|
4
3
|
import type { Level } from 'hls.js';
|
|
4
|
+
import type { Representation } from 'dashjs';
|
|
5
5
|
import type { TupleToUnion } from 'type-fest';
|
|
6
6
|
|
|
7
7
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1526,7 +1526,7 @@ PROGRESS = "progress";
|
|
|
1526
1526
|
*/
|
|
1527
1527
|
declare type QselOption = (Level & {
|
|
1528
1528
|
level: number;
|
|
1529
|
-
}) |
|
|
1529
|
+
}) | Representation | {
|
|
1530
1530
|
name: string | number;
|
|
1531
1531
|
encodingId: string;
|
|
1532
1532
|
spatialLayerId: number;
|
|
@@ -1574,8 +1574,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1574
1574
|
* @public
|
|
1575
1575
|
*/
|
|
1576
1576
|
declare type QualityChangeEventDetail = {
|
|
1577
|
-
before?: Level |
|
|
1578
|
-
after?: Level |
|
|
1577
|
+
before?: Level | Representation;
|
|
1578
|
+
after?: Level | Representation;
|
|
1579
1579
|
plugin: string;
|
|
1580
1580
|
automatic: boolean;
|
|
1581
1581
|
/* Excluded from this release type: downscale */
|
package/plugins/fas.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.fas=t())}(this,
|
|
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.fas=t())}(this,function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var t=function(e){var t={exports:{}};return e(t,t.exports),t.exports}(function(t,r){var o,s;o=e,(s=function(e,t,r){if(!(this instanceof s))return new s(e,t,r);if(void 0===t)this.frameRate=29.97;else{if(!("number"==typeof t&&t>0))throw new Error("Number expected as framerate");this.frameRate=t}if(23.976!==this.frameRate&&24!==this.frameRate&&25!==this.frameRate&&29.97!==this.frameRate&&30!==this.frameRate&&50!==this.frameRate&&59.94!==this.frameRate&&60!==this.frameRate)throw new Error("Unsupported framerate");if(this.dropFrame="boolean"==typeof r?r:29.97===this.frameRate||59.94===this.frameRate,"number"==typeof e)this.frameCount=Math.round(e),this._frameCountToTimeCode();else if("string"==typeof e){var o=e.match("^([012]\\d):(\\d\\d):(\\d\\d)(:|;|\\.)(\\d\\d)$");if(!o)throw new Error("Timecode string expected as HH:MM:SS:FF or HH:MM:SS;FF");this.hours=parseInt(o[1]),this.minutes=parseInt(o[2]),this.seconds=parseInt(o[3]),"boolean"!=typeof r&&(this.dropFrame=":"!==o[4]),this.frames=parseInt(o[5]),this._timeCodeToFrameCount()}else if("object"==typeof e&&e instanceof Date){var i=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0),a=60*i.getTimezoneOffset()*1e3,n=60*e.getTimezoneOffset()*1e3;this.frameCount=Math.round((e-i+(a-n))*this.frameRate/1e3),this._frameCountToTimeCode()}else if("object"==typeof e&&e.hours>=0)this.hours=e.hours,this.minutes=e.minutes,this.seconds=e.seconds,this.frames=e.frames,this._timeCodeToFrameCount();else{if(void 0!==e)throw new Error("Timecode() constructor expects a number, timecode string, or Date()");this.frameCount=0}return this._validate(e),this}).prototype._validate=function(e){if(this.dropFrame&&29.97!==this.frameRate&&59.94!==this.frameRate)throw new Error("Drop frame is only supported for 29.97 and 59.94 fps");if(this.hours>23||this.minutes>59||this.seconds>59||this.frames>=this.frameRate||this.dropFrame&&0===this.seconds&&this.minutes%10&&this.frames<this.frameRate/29.97*2)throw new Error("Invalid timecode"+JSON.stringify(e))},s.prototype._frameCountToTimeCode=function(){var e=this.frameCount;if(this.dropFrame){var t=29.97===this.frameRate?2:4,r=Math.floor(this.frameCount/(17982*t/2)),o=this.frameCount%(17982*t/2);o<t&&(o+=t),e+=9*t*r+t*Math.floor((o-t)/(1798*t/2))}var s=Math.round(this.frameRate);this.frames=e%s,this.seconds=Math.floor(e/s)%60,this.minutes=Math.floor(e/(60*s))%60,this.hours=Math.floor(e/(3600*s))%24},s.prototype._timeCodeToFrameCount=function(){if(this.frameCount=(3600*this.hours+60*this.minutes+this.seconds)*Math.round(this.frameRate)+this.frames,this.dropFrame){var e=60*this.hours+this.minutes,t=29.97===this.frameRate?2:4;this.frameCount-=t*(e-Math.floor(e/10))}},s.prototype.toString=function(e){var t=this.frames,r="";if("string"==typeof e){if("field"!==e)throw new Error("Unsupported string format");this.frameRate<=30?r=".0":(t=Math.floor(t/2),r=".".concat((this.frameCount%2).toString()))}return"".concat(this.hours<10?"0":"",this.hours.toString(),":",this.minutes<10?"0":"",this.minutes.toString(),":",this.seconds<10?"0":"",this.seconds.toString(),this.dropFrame?";":":",t<10?"0":"",t.toString(),r)},s.prototype.valueOf=function(){return this.frameCount},s.prototype.add=function(e,t,r){if("number"!=typeof e)return e instanceof s||(e=new s(e,this.frameRate,this.dropFrame)),this.add(e.frameCount,t,r);var o=this.frameCount+Math.round(e)*(t?-1:1);if(o<0&&r>0&&(o=Math.round(86400*this.frameRate)+o)/this.frameRate/3600>r)throw new Error("Rollover arithmetic exceeds max permitted");if(o<0)throw new Error("Negative timecodes not supported");return this.frameCount=o,this.frameCount=this.frameCount%Math.round(86400*this.frameRate),this._frameCountToTimeCode(),this},s.prototype.subtract=function(e,t){return this.add(e,!0,t)},s.prototype.toDate=function(){var e=this.frameCount/this.frameRate*1e3,t=new Date;t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0);var r=new Date(t.valueOf()+e),o=60*t.getTimezoneOffset()*1e3,s=60*r.getTimezoneOffset()*1e3;return new Date(t.valueOf()+e+(s-o))},"string"!=typeof r.nodeName?t.exports=s:o&&(o.Timecode=s)});function r(e,r,o){o=o||0;const s=new Date;s.setHours(0),s.setMinutes(0),s.setSeconds(0),e=Math.max(parseFloat(e.toFixed(3))+.001+1*o/r,0),s.setMilliseconds(1e3*e);return new t(s,r).toString()}var o;const s=30,i=0,a=((o=class FAS{constructor(e,t){this.player=t,this.frame_rate=s,this.frame_offset=i}init(e,t,r){0!=r.reaper&&(r.on("loadstart",function(){r.hls&&r.setOpts({fas:{frame_offset:-1}})}),r.on("config",e=>{var t,r,o,s;this.frame_rate=(null===(r=null===(t=e.data)||void 0===t?void 0:t.fas)||void 0===r?void 0:r.frame_rate)||this.frame_rate,this.frame_offset=(null===(s=null===(o=e.data)||void 0===o?void 0:o.fas)||void 0===s?void 0:s.frame_offset)||this.frame_offset}),r.fas=this)}current_frame(){return e=r(this.player.currentTime,this.frame_rate,this.frame_offset),o=this.frame_rate,new t(e,o).frameCount;var e,o}seek_to(e){this.player.currentTime=function(e,r,o){o=o||0;const s=1*(new t(e,r).frameCount+o)/r;return Number((s+.001).toFixed(5))}(e,this.frame_rate,-this.frame_offset)}current_timecode(){return r(this.player.currentTime,this.frame_rate,this.frame_offset)}jump(e){this.seek_to(this.current_frame()+e)}}).pluginName="fas",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)}(window,a)});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { Get } from 'type-fest';
|
|
3
2
|
import type { Level } from 'hls.js';
|
|
3
|
+
import type { Representation } from 'dashjs';
|
|
4
4
|
import type { TupleToUnion } from 'type-fest';
|
|
5
5
|
|
|
6
6
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1560,7 +1560,7 @@ PROGRESS = "progress";
|
|
|
1560
1560
|
*/
|
|
1561
1561
|
declare type QselOption = (Level & {
|
|
1562
1562
|
level: number;
|
|
1563
|
-
}) |
|
|
1563
|
+
}) | Representation | {
|
|
1564
1564
|
name: string | number;
|
|
1565
1565
|
encodingId: string;
|
|
1566
1566
|
spatialLayerId: number;
|
|
@@ -1608,8 +1608,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1608
1608
|
* @public
|
|
1609
1609
|
*/
|
|
1610
1610
|
declare type QualityChangeEventDetail = {
|
|
1611
|
-
before?: Level |
|
|
1612
|
-
after?: Level |
|
|
1611
|
+
before?: Level | Representation;
|
|
1612
|
+
after?: Level | Representation;
|
|
1613
1613
|
plugin: string;
|
|
1614
1614
|
automatic: boolean;
|
|
1615
1615
|
/* Excluded from this release type: downscale */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=t.flowplayer||{},t.flowplayer.float_on_scroll=e())}(this,
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=t.flowplayer||{},t.flowplayer.float_on_scroll=e())}(this,function(){"use strict";const t="resize";const e="float:pop:in",n="float:pop:out",o="float:exit";var l=Object.freeze({__proto__:null,POP_IN:e,POP_OUT:n,EXT_BTN_CLICK:o});const i=(t,e)=>new(((t,e)=>{const n=t.get(e);if(!n)throw new Error(`no flowplayer component with the name ${e} exists`);const o=window.customElements.get(e);if(!o)throw new Error(`no default flowplayer component with the name ${e} exists`);const l=window.customElements.get(n);return"function"!=typeof l?o:l})(t._customElements,e))(t),s=(t,e,n)=>{window.customElements.get(e)||window.customElements.define(e,n),t.customElements.get(e)||t.customElements.set(e,e)},r="flowplayer-mute-icon",a="flowplayer-unmute-icon",c="flowplayer-close-icon";function u(t){return function(t){const e=t.getBoundingClientRect(),n=window.innerHeight,o=e.y;return o>n||o+e.height<0?0:e.y<0?(e.height+o)/e.height:n-e.y>e.height?1:Math.abs((n-e.y)/e.height)}(t)>.8}function f(t,e){0==e.reaper||e.floating||w(e,t,n)}function d(t,n){0!=n.reaper&&n.floating&&w(n,t,e)}function p(t,e,n){const l=document.createElement("div");return l.classList.add("fp-exit-float"),l.append(Object.assign(i(t,c),{role:"button"})),l.addEventListener("click",()=>{if(n.was_user_toggled=!0,!t.opts.float_default)return t.emit(o);t.togglePlay(!1),d(e,t)}),l}function w(n,o,l){l&&n.emit(l),setTimeout(function(){const i=o.querySelector(".fp-float-wrapper"),s=o.clientWidth/o.clientHeight;if(!i)return;i.style.height=l===e?"auto":i.clientWidth/s+"px";const r=i.querySelector(".fp-ad-container > div");r&&(r.style.position=l==e?"absolute":"static"),n.emit(t,{contentRect:{height:l===e?o.clientHeight:i.clientHeight,width:i.clientWidth}})})}const m="is-popped-out";class FlowplayerComponent extends HTMLElement{constructor(t){super(),this.player=t}}class FlowplayerIcon extends FlowplayerComponent{constructor(t,e){super(t),this.classList.add("fp-icon",e.name),e.title&&this.setAttribute("title",e.title),e.title&&this.setAttribute("aria-label",e.title),e.translation_key&&this.setAttribute("aria-label",t.i18n(e.translation_key)),this.setAttribute("tabindex","0"),this.setAttribute("focusable","true")}}const y={translation_key:"core.mute",name:"fp-mute"},h={translation_key:"core.mute",name:"fp-unmute"},g={translation_key:"core.close",name:"fp-close"};var _;const v=((_=class FloatOnScroll{constructor(t){this.flowplayer=t,s(this.flowplayer,r,class extends FlowplayerIcon{constructor(t){super(t,y)}}),s(this.flowplayer,a,class extends FlowplayerIcon{constructor(t){super(t,h)}}),s(this.flowplayer,c,class extends FlowplayerIcon{constructor(t){super(t,g)}})}init(o,l,s){if(!1===o.float_on_scroll)return;if(function(){try{return window.self!==window.top}catch(t){return!0}}())return console.warn("iframe detected - floating player not supported in iframe");void 0===o.float_default&&(o.float_default=!0);const c=this.flowplayer.instances.find(t=>t.root.classList.contains(_.SINGLETON_CLASS));if(c)return o.float_on_scroll=!1,console.warn("disabling float on scroll for player index=%s as it is a singleton behavior\n\tto disable this warning manually configure float_on_scroll: false",this.flowplayer.instances.indexOf(s));l.classList.add(_.SINGLETON_CLASS),o.autopause&&s.setOpts({autopause:!1});const y={pop_out_container:void 0,was_user_toggled:!1};s.popIn=d.bind(this,l,s),s.popOut=f.bind(this,l,s);const h=window.scrollY;s.on("mount",function(){y.pop_out_container=function(t,e){const n=document.createElement("div");return n.classList.add("fp-float-wrapper"),t.appendChild(n),Array.from(t.childNodes).forEach(function(t){t instanceof Element&&(t===n||t.classList.contains("fp-ratio"))||n.appendChild(t)}),e.getFullsceenTarget=()=>n,n}(l,s)}),s.on("renderplugin",function(t){var e;t.preventDefault(),t.detail&&(null===(e=y.pop_out_container)||void 0===e||e.append(t.detail));const n=t.detail.querySelector("flowplayer-ad-controls");n&&n.append(p(s,l,y))});const g=function(t,e){const n=t._customElements.get(e);return n&&t.root.querySelector(n)||void 0}(s,"flowplayer-header");g&&function(t,e,n,o){const l=document.createElement("div");l.classList.add("fp-mute-float"),l.append(...Object.assign([i(o,r),i(o,a)],{role:"button"})),l.addEventListener("click",function(){o.toggleMute()}),t.append(p(o,n,e),l)}(g,y,l,s);const v=function(t,e){const n=t||60,o=Math.ceil(1e3/n);let l=Date.now(),i=-1;return function(...t){return i>-1||Date.now()<l||(i=requestAnimationFrame(function(){i=-1,e(),l=Date.now()+o})),i}}(0,function(){var t;if(u(l)){if(s.hasState("is-fullscreen"))return;null===(t=s.popIn)||void 0===t||t.call(s)}}),b=function(){w(s,l)};s.on("viewleave",t=>{var e;o.float_default&&window.scrollY!==h&&!y.was_user_toggled&&function(t){return!(Array.from(document.querySelectorAll(".fp-engine")).find(t=>t.hasState(m))||t.paused&&(!t.ads||!t.ads.adPlaying))}(s)&&(t.preventDefault(),null===(e=s.popOut)||void 0===e||e.call(s))}),s.on("viewenter",function(){y.was_user_toggled=!1}),s.on(n,function(){s.floating=!0,s.setState(m,!0),o.float_default&&(window.addEventListener("scroll",v),window.addEventListener(t,b))}),s.on(e,function(){s.floating=!1,s.setState(m,!1),o.float_default&&(window.removeEventListener("scroll",v),window.removeEventListener(t,b))})}}).pluginName="float-on-scroll",_.events=l,_.SINGLETON_CLASS="float-on-scroll-enabled",_);return function(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;if(null===document.currentScript)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const n=t.flowplayer;return"function"==typeof n?(n(e),e):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(e)||n.extensions.push(e),e)}(window,v)});
|
package/plugins/ga4.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { Get } from 'type-fest';
|
|
3
2
|
import type { Level } from 'hls.js';
|
|
3
|
+
import type { Representation } from 'dashjs';
|
|
4
4
|
import type { TupleToUnion } from 'type-fest';
|
|
5
5
|
|
|
6
6
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1472,7 +1472,7 @@ PROGRESS = "progress";
|
|
|
1472
1472
|
*/
|
|
1473
1473
|
declare type QselOption = (Level & {
|
|
1474
1474
|
level: number;
|
|
1475
|
-
}) |
|
|
1475
|
+
}) | Representation | {
|
|
1476
1476
|
name: string | number;
|
|
1477
1477
|
encodingId: string;
|
|
1478
1478
|
spatialLayerId: number;
|
|
@@ -1520,8 +1520,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1520
1520
|
* @public
|
|
1521
1521
|
*/
|
|
1522
1522
|
declare type QualityChangeEventDetail = {
|
|
1523
|
-
before?: Level |
|
|
1524
|
-
after?: Level |
|
|
1523
|
+
before?: Level | Representation;
|
|
1524
|
+
after?: Level | Representation;
|
|
1525
1525
|
plugin: string;
|
|
1526
1526
|
automatic: boolean;
|
|
1527
1527
|
/* Excluded from this release type: downscale */
|
package/plugins/ga4.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.ga4=t())}(this,
|
|
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.ga4=t())}(this,function(){"use strict";const e="play",t="qualitychange",i="is-ended";var a;const s=((a=class GoogleAnalytics4Plugin{constructor(e){this.muted=!1,this.quartiles=[0,0,0],this.ad_type="preroll",this.preroll_counter=0,this.midroll_counter=0,this.postroll_counter=0,this.event_categories={live:"Live",videos:"Videos"},this.event_actions={fullscreen_enter:"fullscreen_enter",fullscreen_exit:"fullscreen_exit",video_player_load:"video_player_load",video_start:"video_start",video_click_play:"video_click_play",video_pause:"video_pause",video_resume:"video_resume",video_seeking:"video_seeking",video_ratechange:"video_ratechange",video_qualitychange:"video_qualitychange",video_mute:"video_mute",video_unmute:"video_unmute",video_25_percent:"video_25_percent",video_50_percent:"video_50_percent",video_75_percent:"video_75_percent",video_complete:"video_complete",live_start:"live_start",live_click_play:"live_click_play",live_pause:"live_pause",live_resume:"live_resume",live_ratechange:"live_ratechange",live_seeking:"live_seeking",live_qualitychange:"live_qualitychange",live_mute:"live_mute",live_unmute:"live_unmute",live_complete:"live_complete",ad_start_preroll:"ad_start_preroll",ad_start_midroll:"ad_start_midroll",ad_start_postroll:"ad_start_postroll",ad_completed_preroll:"ad_completed_preroll",ad_completed_midroll:"ad_completed_midroll",ad_completed_postroll:"ad_completed_postroll",ad_skipped_preroll:"ad_skipped_preroll",ad_skipped_midroll:"ad_skipped_midroll",ad_skipped_postroll:"ad_skipped_postroll",ad_break_completed:"ad_break_completed"},this.flowplayer=e}init(i,a,s){this.config=i,this.video=s,this.muted=s.muted,s.on(["mount","timeupdate",e,"ended","pause","playing","volumechange","ad-started","ad-completed","ad-skipped","ad-break-completed","config",e,"fullscreenenter","fullscreenexit","seeking",t,"ratechange"],e=>{var o,l,r;switch(e.type){case"playing":this.track(i.live?this.event_actions.live_resume:this.event_actions.video_resume);break;case"pause":if(Math.abs(s.duration-s.currentTime)<1)break;this.track(i.live?this.event_actions.live_pause:this.event_actions.video_pause);break;case"seeking":this.track(i.live?this.event_actions.live_seeking:this.event_actions.video_seeking);break;case"ratechange":this.track(i.live?this.event_actions.live_ratechange:this.event_actions.video_ratechange,{playbackRate:null===(o=this.video)||void 0===o?void 0:o.playbackRate});break;case t:{const t=e.detail;this.track(i.live?this.event_actions.live_qualitychange:this.event_actions.video_qualitychange,{before:null===(l=t.before)||void 0===l?void 0:l.height,after:null===(r=t.after)||void 0===r?void 0:r.height});break}case"play":this.play(i,a,s);break;case"mount":this.track(this.event_actions.video_player_load);break;case"timeupdate":this.progress(s);break;case"ended":setTimeout(()=>{e.defaultPrevented||(this.track(i.live?this.event_actions.live_complete:this.event_actions.video_complete),this.reset())});break;case"volumechange":this.volumechange(s);break;case"ad-started":this.adstarted(e);break;case"ad-completed":this.adcompleted(e);break;case"ad-break-completed":this.adbreakcompleted();break;case"config":this.configured(e.detail);break;case"fullscreenenter":this.track(this.event_actions.fullscreen_enter);break;case"fullscreenexit":this.track(this.event_actions.fullscreen_exit);break;case"ad-skipped":this.adskipped()}})}play(e,t,a){const s=a.playerState;this.track(e.live?this.event_actions.live_click_play:this.event_actions.video_click_play),t.classList.contains("ad-hide-first-frame")||t.classList.contains("preroll-ios")||(s[i]||s["is-starting"])&&this.track(e.live?this.event_actions.live_start:this.event_actions.video_start,{loop:s[i]})}progress(e){e.opts.live||(e.currentTime/e.duration>.25&&0===this.quartiles[0]?(this.quartiles[0]=1,this.track(this.event_actions.video_25_percent)):e.currentTime/e.duration>.5&&0===this.quartiles[1]?(this.quartiles[1]=1,this.track(this.event_actions.video_50_percent)):e.currentTime/e.duration>.75&&0===this.quartiles[2]&&(this.quartiles[2]=1,this.track(this.event_actions.video_75_percent)))}volumechange(e){this.muted!==e.muted&&(this.muted=e.muted,e.muted?this.track(e.opts.live?this.event_actions.live_mute:this.event_actions.video_mute):this.track(e.opts.live?this.event_actions.live_unmute:this.event_actions.video_unmute))}reset(){this.quartiles=[0,0,0],this.preroll_counter=0,this.midroll_counter=0,this.postroll_counter=0}configured(e){var t,i;(null===(t=null==e?void 0:e.ga)||void 0===t?void 0:t.event_actions)&&(this.event_actions=e.ga.event_actions),(null===(i=null==e?void 0:e.ga)||void 0===i?void 0:i.event_categories)&&(this.event_categories=e.ga.event_categories)}checkForAdCounter(e,t){return e.replace("[x]",t+"")}adstarted(e){var t;switch((null===(t=e.data)||void 0===t?void 0:t.ad_type)||"preroll"){case"midroll":this.ad_type="midroll",this.midroll_counter++,this.track(this.checkForAdCounter(this.event_actions.ad_start_midroll,this.midroll_counter));break;case"postroll":this.ad_type="postroll",this.postroll_counter++,this.track(this.checkForAdCounter(this.event_actions.ad_start_postroll,this.postroll_counter));break;default:this.ad_type="preroll",this.preroll_counter++,this.track(this.checkForAdCounter(this.event_actions.ad_start_preroll,this.preroll_counter))}}adcompleted(e){var t;switch((null===(t=e.data)||void 0===t?void 0:t.ad_type)||"preroll"){case"midroll":this.track(this.event_actions.ad_completed_midroll);break;case"postroll":this.track(this.event_actions.ad_completed_postroll);break;default:this.track(this.event_actions.ad_completed_preroll)}}adskipped(){if(this.ad_type)switch(this.ad_type){case"midroll":this.track(this.event_actions.ad_skipped_midroll);break;case"postroll":this.track(this.event_actions.ad_skipped_postroll);break;default:this.track(this.event_actions.ad_skipped_preroll)}else this.track(this.event_actions.ad_skipped_preroll)}adbreakcompleted(){this.track(this.event_actions.ad_break_completed)}pushToDataLayer(e,t,i,a){var s,o;if(window.dataLayer)try{window.dataLayer.push(Object.assign(Object.assign({event:"flowplayer",event_action:e,event_label:i,event_category:t,duration:null===(s=this.video)||void 0===s?void 0:s.duration},null===(o=null==this?void 0:this.config)||void 0===o?void 0:o.ga.custom_data),a))}catch(e){console.error(e)}}track(e,t){var i,a,s,o,l,r,n,d;if(!this.config||!this.config.ga||(null===(i=null==this?void 0:this.video)||void 0===i?void 0:i.hasState("consent-no-tracking")))return;const c=(null===(a=this.video)||void 0===a?void 0:a.opts.live)?this.event_categories.live:this.event_categories.videos,_=null===(s=this.config.ga)||void 0===s?void 0:s.ga_instances,v=(null===(o=null==this?void 0:this.config)||void 0===o?void 0:o.title)||(null===(l=this.config.metadata)||void 0===l?void 0:l.title)||"unknown video";if(!window.gtag||(null===(n=null===(r=this.config)||void 0===r?void 0:r.ga)||void 0===n?void 0:n.data_layer_tracking)||!_||!_.length)return this.pushToDataLayer(e,c,v,t);gtag("event",e,Object.assign(Object.assign({send_to:_,event_category:c,event_label:v,duration:null===(d=this.video)||void 0===d?void 0:d.duration},this.config.ga.custom_data),t))}}).pluginName="ga4",a);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 i=e.flowplayer;return"function"==typeof i?(i(t),t):(Array.isArray(i.extensions)||(i.extensions=[]),~i.extensions.indexOf(t)||i.extensions.push(t),t)}(window,s)});
|
package/plugins/gemius.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { Get } from 'type-fest';
|
|
3
2
|
import type { Level } from 'hls.js';
|
|
3
|
+
import type { Representation } from 'dashjs';
|
|
4
4
|
import type { TupleToUnion } from 'type-fest';
|
|
5
5
|
|
|
6
6
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1497,7 +1497,7 @@ PROGRESS = "progress";
|
|
|
1497
1497
|
*/
|
|
1498
1498
|
declare type QselOption = (Level & {
|
|
1499
1499
|
level: number;
|
|
1500
|
-
}) |
|
|
1500
|
+
}) | Representation | {
|
|
1501
1501
|
name: string | number;
|
|
1502
1502
|
encodingId: string;
|
|
1503
1503
|
spatialLayerId: number;
|
|
@@ -1545,8 +1545,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1545
1545
|
* @public
|
|
1546
1546
|
*/
|
|
1547
1547
|
declare type QualityChangeEventDetail = {
|
|
1548
|
-
before?: Level |
|
|
1549
|
-
after?: Level |
|
|
1548
|
+
before?: Level | Representation;
|
|
1549
|
+
after?: Level | Representation;
|
|
1550
1550
|
plugin: string;
|
|
1551
1551
|
automatic: boolean;
|
|
1552
1552
|
/* Excluded from this release type: downscale */
|
package/plugins/gemius.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.gemius=i())}(this,
|
|
1
|
+
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.gemius=i())}(this,function(){"use strict";function e(e,i,t){const r=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(i);for(;r.length;){if(null==e)return t;const i=r.shift();if("string"!=typeof i)return t;e=e[i]}return null==e?t:e}const i="loadstart";var t;const r=["playerID","gemiusID"],s=["programID","additionalParameters.programName","additionalParameters.programType","additionalParameters.programDuration"],a=["adName","adDuration","adType","campaignClassification","quality","resolution","volume"];function n(i,t){const r=[];return t.forEach(function(t){void 0===e(i,t)&&r.push(t)}),r.length&&console.warn("Missing Gemius configuration: ",r.join(", ")),0===r.length}function u(e){return e<.5||isNaN(e)?0:Math.round(e)}const o=((t=class GemiusPlugin{constructor(e){this.started=!1,this.starting=!1,this.paused=!1,this.seeking=!1,this.buffering=!1,this.currentTime=0,this.flowplayer=e}init(e,t,r){if("function"!=typeof GemiusPlayer)return console.warn("Gemius SDK needs to be loaded prior loading gemius plugin");if(!e.gemius)return console.warn("Gemius plugin loaded but not configured");var s;r.hasState("consent-no-tracking")||(this.gemius=e.gemius,r.on("reap",()=>{this.gemiusPlayer&&this.gemius&&this.gemius.programID&&this.gemiusPlayer.programEvent(this.gemius.programID,u(r.currentTime),"stop"),this.gemiusPlayer=void 0,this.resetParams(),window.removeEventListener("beforeunload",this.handle_window_unload.bind(this,r))}),window.addEventListener("beforeunload",this.handle_window_unload.bind(this,r)),r.on(["config","loadedmetadata","src",i],i=>{var t,s;(null===(t=i.data)||void 0===t?void 0:t.gemius)&&(this.gemius=Object.assign(Object.assign({},this.gemius),null===(s=i.data)||void 0===s?void 0:s.gemius)),i.type===this.getInitEventType(e)&&this.initGemius(e,r)}),r.on("volumechange",()=>{var e;this.gemiusPlayer&&(null===(e=this.gemius)||void 0===e?void 0:e.programID)&&this.gemiusPlayer.programEvent(this.gemius.programID,u(r.currentTime),"chngVol",{volume:m(r.volume,r.muted)})}),r.on("resize",()=>{var e;this.gemiusPlayer&&(null===(e=this.gemius)||void 0===e?void 0:e.programID)&&(this.sendPlayWithRequiremets(r),this.gemiusPlayer.programEvent(this.gemius.programID,u(r.currentTime),"chngRes",{resolution:r.clientWidth+"x"+r.clientHeight}))}),r.on("play",()=>{this.buffering=!1,this.starting=!0,this.started?this.sendPlay(r):this.sendPlayWithRequiremets(r),this.paused=!1}),r.on("ended",(s=()=>{var e;this.started&&(this.resetParams(),this.gemiusPlayer&&(null===(e=this.gemius)||void 0===e?void 0:e.programID)&&this.gemiusPlayer.programEvent(this.gemius.programID,u(r.currentTime),"complete"))},e=>{setTimeout(function(){if(!e.defaultPrevented&&!e.prevented)return s(e)},0)})),r.on("seeking",()=>{var e;this.started&&!this.seeking&&(this.seeking=!0,this.gemiusPlayer&&(null===(e=this.gemius)||void 0===e?void 0:e.programID)&&this.gemiusPlayer.programEvent(this.gemius.programID,this.currentTime,"seek"))}),r.on("seeked",()=>{var e;this.started&&!this.paused&&(this.seeking=!1,this.gemiusPlayer&&(null===(e=this.gemius)||void 0===e?void 0:e.programID)&&this.gemiusPlayer.programEvent(this.gemius.programID,u(r.currentTime),"play",{autoPlay:this.gemius.additionalParameters.autoPlay,volume:m(this.gemius.additionalParameters.volume||0)||0}))}),r.on("pause",()=>{var i;this.started&&r.currentTime>.25&&(e.live||e.duration&&e.duration-r.currentTime>.25)&&(this.paused=!0,this.gemiusPlayer&&(null===(i=this.gemius)||void 0===i?void 0:i.programID)&&this.gemiusPlayer.programEvent(this.gemius.programID,u(r.currentTime),"pause"))}),r.on("waiting",()=>{var e;!this.buffering&&r.currentTime>.5&&(this.buffering=!0,this.gemiusPlayer&&(null===(e=this.gemius)||void 0===e?void 0:e.programID)&&this.gemiusPlayer.programEvent(this.gemius.programID,u(r.currentTime),"buffer"))}),r.on("timeupdate",()=>{this.currentTime=Math.round(r.currentTime)}),r.on("ad-started",e=>{var i,t;const r=e.detail;var s;r&&(this.paused=!1,this.currentAd={id:r.vast_ad_id||"unknown id",duration:(null===(i=r.ad)||void 0===i?void 0:i.duration)||-1,currentTime:0},this.gemiusPlayer&&(null===(t=this.gemius)||void 0===t?void 0:t.programID)&&(this.gemiusPlayer.newAd(r.vast_ad_id,(s=Object.assign({},this.gemius.additionalParameters,function(e){var i,t,r;return{adDuration:null===(i=e.ad)||void 0===i?void 0:i.duration,adType:e.ad_type,resolution:(null===(t=e.ad)||void 0===t?void 0:t.width)+"x"+(null===(r=e.ad)||void 0===r?void 0:r.height),volume:m(e.volume)}}(r)),a.reduce(function(e,i){return s&&s.hasOwnProperty(i)&&(e[i]=s[i]),e},{}))),this.gemiusPlayer.adEvent(this.gemius.programID,this.currentAd.id,0,"play",{autoPlay:this.gemius.additionalParameters.autoPlay,volume:m(r.volume)})))}),r.on("ad-paused",()=>{var e;this.paused=!0,this.currentAd&&this.gemiusPlayer&&(null===(e=this.gemius)||void 0===e?void 0:e.programID)&&this.gemiusPlayer.adEvent(this.gemius.programID,this.currentAd.id,this.currentAd.currentTime,"pause")}),r.on("ad-resumed",e=>{var i;const t=e.detail;if(t&&this.currentAd&&this.paused){if(this.paused=!1,!this.gemiusPlayer||!(null===(i=this.gemius)||void 0===i?void 0:i.programID))return;this.gemiusPlayer.adEvent(this.gemius.programID,this.currentAd.id,this.currentAd.currentTime,"play",{autoPlay:this.gemius.additionalParameters.autoPlay,volume:m(t.volume)})}}),r.on("ad-completed",()=>{var e;if(this.currentAd){if(!this.gemiusPlayer||!(null===(e=this.gemius)||void 0===e?void 0:e.programID))return;this.gemiusPlayer.adEvent(this.gemius.programID,this.currentAd.id,this.currentAd.duration,"complete"),this.currentAd=void 0}}),r.on("ad-progress",e=>{const i=e.detail;i&&this.currentAd&&(this.currentAd.currentTime=Math.round(i.duration-i.remaining)||0)}),r.on("ad-volume-changed",e=>{var i;const t=e.detail;if("number"==typeof t&&this.currentAd){const e=t||-1;if(!this.gemiusPlayer||!(null===(i=this.gemius)||void 0===i?void 0:i.programID))return;this.gemiusPlayer.adEvent(this.gemius.programID,this.currentAd.id,this.currentAd.duration,"chngVol",{volume:m(e)})}}))}resetParams(){this.seeking=!1,this.starting=!1,this.started=!1,this.paused=!1,this.buffering=!1,this.currentAd=void 0,this.currentTime=0}sendPlay(e){var i;this.gemiusPlayer&&(null===(i=this.gemius)||void 0===i?void 0:i.programID)&&(this.started=!0,this.gemiusPlayer.programEvent(this.gemius.programID,u(e.currentTime),"play",{autoPlay:this.gemius.additionalParameters.autoPlay,volume:m(this.gemius.additionalParameters.volume||0)}))}sendPlayWithRequiremets(e){this.starting&&!this.started&&e.videoWidth>0&&this.sendPlay(e)}getInitEventType(e){return!e.ima&&e.autoplay?"src":i}initGemius(i,t){if(!n(e(i,"gemius",{}),r))return;if(!this.gemius)return;const a={currentDomain:this.gemius.additionalParameters.currentDomain,volume:m(this.gemius.additionalParameters.volume||0)};if(this.gemiusPlayer&&(this.gemiusPlayer=void 0),this.gemiusPlayer=new GemiusPlayer(this.gemius.playerID,this.gemius.gemiusID,a),this.gemiusPlayer.setVideoObject(t),!n(this.gemius,s))return;const u={programName:this.gemius.additionalParameters.programName,programDuration:this.gemius.additionalParameters.programDuration,programType:this.gemius.additionalParameters.programType,volume:m(this.gemius.additionalParameters.volume||0)};this.gemiusPlayer.newProgram(this.gemius.programID,u),this.sendPlayWithRequiremets(t)}handle_window_unload(e){var i;this.gemiusPlayer&&(null===(i=this.gemius)||void 0===i?void 0:i.programID)&&this.gemiusPlayer.programEvent(this.gemius.programID,u(e.currentTime),"close"),this.resetParams()}}).pluginName="gemius",t);function m(e,i){return-1===e||i?-1:Math.max(0,Math.min(100,Math.round(100*e)))}return function(e,i){if("object"==typeof exports&&"undefined"!=typeof module)return i;if(null===document.currentScript)return i;"flowplayer"in e||(e.flowplayer={extensions:[]});const t=e.flowplayer;return"function"==typeof t?(t(i),i):(Array.isArray(t.extensions)||(t.extensions=[]),~t.extensions.indexOf(i)||t.extensions.push(i),i)}(window,o)});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { Get } from 'type-fest';
|
|
3
2
|
import type { Level } from 'hls.js';
|
|
3
|
+
import type { Representation } from 'dashjs';
|
|
4
4
|
import type { TupleToUnion } from 'type-fest';
|
|
5
5
|
|
|
6
6
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1472,7 +1472,7 @@ PROGRESS = "progress";
|
|
|
1472
1472
|
*/
|
|
1473
1473
|
declare type QselOption = (Level & {
|
|
1474
1474
|
level: number;
|
|
1475
|
-
}) |
|
|
1475
|
+
}) | Representation | {
|
|
1476
1476
|
name: string | number;
|
|
1477
1477
|
encodingId: string;
|
|
1478
1478
|
spatialLayerId: number;
|
|
@@ -1520,8 +1520,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1520
1520
|
* @public
|
|
1521
1521
|
*/
|
|
1522
1522
|
declare type QualityChangeEventDetail = {
|
|
1523
|
-
before?: Level |
|
|
1524
|
-
after?: Level |
|
|
1523
|
+
before?: Level | Representation;
|
|
1524
|
+
after?: Level | Representation;
|
|
1525
1525
|
plugin: string;
|
|
1526
1526
|
automatic: boolean;
|
|
1527
1527
|
/* Excluded from this release type: downscale */
|
|
@@ -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.google_analytics=t())}(this,
|
|
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.google_analytics=t())}(this,function(){"use strict";const e="play";var t;const i=((t=class GoogleAnalyticsPlugin{constructor(e){this.muted=!1,this.ga_extensions=[],this.quartiles=[0,0,0],this.ad_type="preroll",this.preroll_counter=0,this.midroll_counter=0,this.postroll_counter=0,this.event_categories={live:"Live",videos:"Videos"},this.event_actions={fullscreen_enter:"fullscreen_enter",fullscreen_exit:"fullscreen_exit",video_player_load:"video_player_load",video_start:"video_start",video_click_play:"video_click_play",video_pause:"video_pause",video_resume:"video_resume",video_seeking:"video_seeking",video_ratechange:"video_ratechange",video_qualitychange:"video_qualitychange",video_mute:"video_mute",video_unmute:"video_unmute",video_25_percent:"video_25_percent",video_50_percent:"video_50_percent",video_75_percent:"video_75_percent",video_complete:"video_complete",live_start:"live_start",live_click_play:"live_click_play",live_pause:"live_pause",live_resume:"live_resume",live_ratechange:"live_ratechange",live_seeking:"live_seeking",live_qualitychange:"live_qualitychange",live_mute:"live_mute",live_unmute:"live_unmute",live_complete:"live_complete",ad_start_preroll:"ad_start_preroll",ad_start_midroll:"ad_start_midroll",ad_start_postroll:"ad_start_postroll",ad_completed_preroll:"ad_completed_preroll",ad_completed_midroll:"ad_completed_midroll",ad_completed_postroll:"ad_completed_postroll",ad_skipped_preroll:"ad_skipped_preroll",ad_skipped_midroll:"ad_skipped_midroll",ad_skipped_postroll:"ad_skipped_postroll",ad_break_completed:"ad_break_completed"},console.warn("universal analytics by Google has been sunset, please use the ga4 plugin"),this.flowplayer=e}init(t,i,s){this.config=t,this.video=s,this.muted=s.muted,s.on(["mount","timeupdate",e,"ended","pause","playing","volumechange","ad-started","ad-completed","ad-skipped","ad-break-completed","config",e,"fullscreenenter","fullscreenexit"],e=>{switch(e.type){case"playing":this.track(t.live?this.event_actions.live_resume:this.event_actions.video_resume);break;case"pause":if(Math.abs(s.duration-s.currentTime)<1)break;this.track(t.live?this.event_actions.live_pause:this.event_actions.video_pause);break;case"play":s.hasState("is-starting")&&this.track(t.live?this.event_actions.live_start:this.event_actions.video_start),this.track(t.live?this.event_actions.live_click_play:this.event_actions.video_click_play);break;case"mount":this.track(this.event_actions.video_player_load);break;case"timeupdate":this.progress(s);break;case"ended":setTimeout(()=>{this.track(t.live?this.event_actions.live_complete:this.event_actions.video_complete),this.reset()},0);break;case"volumechange":this.volumechange(s);break;case"ad-started":this.adstarted(e);break;case"ad-completed":this.adcompleted(e);break;case"ad-break-completed":this.adbreakcompleted();break;case"config":this.configured(e.detail);break;case"fullscreenenter":this.track(this.event_actions.fullscreen_enter);break;case"fullscreenexit":this.track(this.event_actions.fullscreen_exit);break;case"ad-skipped":this.adskipped()}})}setup_ga(e){window.ga&&!this.ga_extensions.length&&e.forEach((e,t)=>{var i;window.ga("create",e,"auto","ext"+(t+1)),(null===(i=this.config)||void 0===i?void 0:i.ga.custom_data)&&window.ga("ext"+(t+1)+".set",this.config.ga.custom_data),this.ga_extensions.push("ext"+(t+1))})}progress(e){e.opts.live||(e.currentTime/e.duration>.25&&0===this.quartiles[0]?(this.quartiles[0]=1,this.track(this.event_actions.video_25_percent)):e.currentTime/e.duration>.5&&0===this.quartiles[1]?(this.quartiles[1]=1,this.track(this.event_actions.video_50_percent)):e.currentTime/e.duration>.75&&0===this.quartiles[2]&&(this.quartiles[2]=1,this.track(this.event_actions.video_75_percent)))}volumechange(e){this.muted!==e.muted&&(this.muted=e.muted,e.muted?this.track(e.opts.live?this.event_actions.live_mute:this.event_actions.video_mute):this.track(e.opts.live?this.event_actions.live_unmute:this.event_actions.video_unmute))}reset(){this.quartiles=[0,0,0],this.preroll_counter=0,this.midroll_counter=0,this.postroll_counter=0}configured(e){var t,i;(null===(t=null==e?void 0:e.ga)||void 0===t?void 0:t.event_actions)&&(this.event_actions=e.ga.event_actions),(null===(i=null==e?void 0:e.ga)||void 0===i?void 0:i.event_categories)&&(this.event_categories=e.ga.event_categories)}checkForAdCounter(e,t){return e.replace("[x]",t+"")}adstarted(e){var t;switch((null===(t=e.data)||void 0===t?void 0:t.ad_type)||"preroll"){case"midroll":this.ad_type="midroll",this.midroll_counter++,this.track(this.checkForAdCounter(this.event_actions.ad_start_midroll,this.midroll_counter));break;case"postroll":this.ad_type="postroll",this.postroll_counter++,this.track(this.checkForAdCounter(this.event_actions.ad_start_postroll,this.postroll_counter));break;default:this.ad_type="preroll",this.preroll_counter++,this.track(this.checkForAdCounter(this.event_actions.ad_start_preroll,this.preroll_counter))}}adcompleted(e){var t;switch((null===(t=e.data)||void 0===t?void 0:t.ad_type)||"preroll"){case"midroll":this.track(this.event_actions.ad_completed_midroll);break;case"postroll":this.track(this.event_actions.ad_completed_postroll);break;default:this.track(this.event_actions.ad_completed_preroll)}}adskipped(){if(this.ad_type)switch(this.ad_type){case"midroll":this.track(this.event_actions.ad_skipped_midroll);break;case"postroll":this.track(this.event_actions.ad_skipped_postroll);break;default:this.track(this.event_actions.ad_skipped_preroll)}else this.track(this.event_actions.ad_skipped_preroll)}adbreakcompleted(){this.track(this.event_actions.ad_break_completed)}pushToDataLayer(e,t,i){var s;if(window.dataLayer)try{window.dataLayer.push({event:"Flowplayer",video_name:i,action:e,category:t,duration:null===(s=this.video)||void 0===s?void 0:s.duration})}catch(e){}}track(e){var t,i,s,a,o;if(!this.config||!this.config.ga||!e||(null===(t=null==this?void 0:this.video)||void 0===t?void 0:t.hasState("consent-no-tracking")))return;const l=(null===(i=this.video)||void 0===i?void 0:i.opts.live)?this.event_categories.live:this.event_categories.videos,r=null===(s=this.config.ga)||void 0===s?void 0:s.ga_instances,n=(null===(a=null==this?void 0:this.config)||void 0===a?void 0:a.title)||(null===(o=this.config.metadata)||void 0===o?void 0:o.title)||"unknown video";return this.config.ga.data_layer_tracking?this.pushToDataLayer(e,l,n):(this.setup_ga(r),this.ga_extensions.length&&void 0!==window.ga&&null!==window.ga?void this.ga_extensions.forEach(t=>{window.ga(t+".send","event",l,e,n)}):console.debug("ga console.send","event",l,e,n))}}).pluginName="ga",t);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 i=e.flowplayer;return"function"==typeof i?(i(t),t):(Array.isArray(i.extensions)||(i.extensions=[]),~i.extensions.indexOf(t)||i.extensions.push(t),t)}(window,i)});
|
package/plugins/hls.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { BitrateInfo } from 'dashjs';
|
|
2
1
|
import type { Get } from 'type-fest';
|
|
3
2
|
import type Hls from 'hls.js';
|
|
4
3
|
import { HlsConfig } from 'hls.js';
|
|
5
4
|
import type { Level } from 'hls.js';
|
|
6
5
|
import type { MediaKeyFunc } from 'hls.js';
|
|
6
|
+
import type { Representation } from 'dashjs';
|
|
7
7
|
import type { TupleToUnion } from 'type-fest';
|
|
8
8
|
|
|
9
9
|
/* Excluded from this release type: AnyLoader */
|
|
@@ -1597,7 +1597,7 @@ PROGRESS = "progress";
|
|
|
1597
1597
|
*/
|
|
1598
1598
|
declare type QselOption = (Level & {
|
|
1599
1599
|
level: number;
|
|
1600
|
-
}) |
|
|
1600
|
+
}) | Representation | {
|
|
1601
1601
|
name: string | number;
|
|
1602
1602
|
encodingId: string;
|
|
1603
1603
|
spatialLayerId: number;
|
|
@@ -1645,8 +1645,8 @@ QUALITY_CHANGE = "qualitychange";
|
|
|
1645
1645
|
* @public
|
|
1646
1646
|
*/
|
|
1647
1647
|
declare type QualityChangeEventDetail = {
|
|
1648
|
-
before?: Level |
|
|
1649
|
-
after?: Level |
|
|
1648
|
+
before?: Level | Representation;
|
|
1649
|
+
after?: Level | Representation;
|
|
1650
1650
|
plugin: string;
|
|
1651
1651
|
automatic: boolean;
|
|
1652
1652
|
/* Excluded from this release type: downscale */
|