@flowplayer/player 3.35.0-rc → 3.36.0-rc

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.
Files changed (137) hide show
  1. package/core.js +1 -1
  2. package/default.js +1 -1
  3. package/embed.js +2 -2
  4. package/flowplayer.css +1 -1
  5. package/index.d.ts +0 -6
  6. package/package.json +1 -2364
  7. package/plugins/ads.d.ts +7 -8
  8. package/plugins/ads.js +2 -2
  9. package/plugins/airplay.d.ts +0 -6
  10. package/plugins/analytics.d.ts +0 -6
  11. package/plugins/analytics.js +1 -1
  12. package/plugins/asel.d.ts +0 -6
  13. package/plugins/audio.d.ts +0 -6
  14. package/plugins/chapters.d.ts +0 -6
  15. package/plugins/chromecast.d.ts +0 -6
  16. package/plugins/comscore.d.ts +0 -6
  17. package/plugins/consent.d.ts +0 -6
  18. package/plugins/context-menu.d.ts +0 -6
  19. package/plugins/cuepoints.d.ts +0 -6
  20. package/plugins/dash.d.ts +0 -6
  21. package/plugins/drm.d.ts +0 -6
  22. package/plugins/endscreen.d.ts +0 -6
  23. package/plugins/fas.d.ts +0 -6
  24. package/plugins/float-on-scroll.d.ts +0 -6
  25. package/plugins/ga4.d.ts +0 -6
  26. package/plugins/gemius.d.ts +0 -6
  27. package/plugins/google-analytics.d.ts +0 -6
  28. package/plugins/hls.d.ts +0 -6
  29. package/plugins/id3.d.ts +0 -6
  30. package/plugins/iframe.d.ts +0 -6
  31. package/plugins/keyboard.d.ts +0 -6
  32. package/plugins/media-session.d.ts +0 -6
  33. package/plugins/message.d.ts +0 -6
  34. package/plugins/ovp.d.ts +0 -6
  35. package/plugins/playlist.d.ts +0 -6
  36. package/plugins/preview.d.ts +0 -6
  37. package/plugins/qsel.d.ts +0 -6
  38. package/plugins/qul.d.ts +0 -6
  39. package/plugins/rts.d.ts +0 -6
  40. package/plugins/rts.js +3 -3
  41. package/plugins/share.d.ts +0 -6
  42. package/plugins/speed.d.ts +0 -6
  43. package/plugins/ssai.d.ts +0 -6
  44. package/plugins/ssai.js +1 -1
  45. package/plugins/subtitles.d.ts +0 -6
  46. package/plugins/thumbnails.d.ts +0 -6
  47. package/plugins/tizen.d.ts +0 -6
  48. package/plugins/vtsel.d.ts +0 -6
  49. package/plugins/webos.d.ts +0 -6
  50. package/util/loader.d.ts +0 -6
  51. package/package/core/events.d.ts +0 -710
  52. package/package/core/events.js +0 -403
  53. package/package/core.js +0 -1
  54. package/package/default.js +0 -1
  55. package/package/embed.js +0 -7
  56. package/package/flowplayer.css +0 -1
  57. package/package/index.d.ts +0 -2238
  58. package/package/plugins/ads.d.ts +0 -4468
  59. package/package/plugins/ads.js +0 -7
  60. package/package/plugins/airplay.d.ts +0 -2152
  61. package/package/plugins/airplay.js +0 -1
  62. package/package/plugins/analytics.d.ts +0 -2146
  63. package/package/plugins/analytics.js +0 -1
  64. package/package/plugins/asel.d.ts +0 -2293
  65. package/package/plugins/asel.js +0 -1
  66. package/package/plugins/audio.d.ts +0 -2146
  67. package/package/plugins/audio.js +0 -1
  68. package/package/plugins/chapters.d.ts +0 -2155
  69. package/package/plugins/chapters.js +0 -1
  70. package/package/plugins/chromecast.d.ts +0 -2221
  71. package/package/plugins/chromecast.js +0 -1
  72. package/package/plugins/comscore.d.ts +0 -2146
  73. package/package/plugins/comscore.js +0 -1
  74. package/package/plugins/consent.d.ts +0 -2194
  75. package/package/plugins/consent.js +0 -1
  76. package/package/plugins/context-menu.d.ts +0 -2160
  77. package/package/plugins/context-menu.js +0 -1
  78. package/package/plugins/cuepoints.d.ts +0 -2270
  79. package/package/plugins/cuepoints.js +0 -1
  80. package/package/plugins/dash.d.ts +0 -2302
  81. package/package/plugins/dash.js +0 -2
  82. package/package/plugins/drm.d.ts +0 -2271
  83. package/package/plugins/drm.js +0 -1
  84. package/package/plugins/endscreen.d.ts +0 -2165
  85. package/package/plugins/endscreen.js +0 -1
  86. package/package/plugins/fas.d.ts +0 -2200
  87. package/package/plugins/fas.js +0 -1
  88. package/package/plugins/float-on-scroll.d.ts +0 -2234
  89. package/package/plugins/float-on-scroll.js +0 -1
  90. package/package/plugins/ga4.d.ts +0 -2146
  91. package/package/plugins/ga4.js +0 -1
  92. package/package/plugins/gemius.d.ts +0 -2171
  93. package/package/plugins/gemius.js +0 -1
  94. package/package/plugins/google-analytics.d.ts +0 -2146
  95. package/package/plugins/google-analytics.js +0 -1
  96. package/package/plugins/hls.d.ts +0 -2271
  97. package/package/plugins/hls.js +0 -1
  98. package/package/plugins/id3.d.ts +0 -2212
  99. package/package/plugins/id3.js +0 -1
  100. package/package/plugins/iframe.d.ts +0 -2147
  101. package/package/plugins/iframe.js +0 -1
  102. package/package/plugins/keyboard.d.ts +0 -2146
  103. package/package/plugins/keyboard.js +0 -1
  104. package/package/plugins/media-session.d.ts +0 -2146
  105. package/package/plugins/media-session.js +0 -1
  106. package/package/plugins/message.d.ts +0 -2205
  107. package/package/plugins/message.js +0 -1
  108. package/package/plugins/ovp.d.ts +0 -2208
  109. package/package/plugins/ovp.js +0 -1
  110. package/package/plugins/playlist.d.ts +0 -2465
  111. package/package/plugins/playlist.js +0 -1
  112. package/package/plugins/preview.d.ts +0 -2236
  113. package/package/plugins/preview.js +0 -1
  114. package/package/plugins/qsel.d.ts +0 -2236
  115. package/package/plugins/qsel.js +0 -1
  116. package/package/plugins/qul.d.ts +0 -2161
  117. package/package/plugins/qul.js +0 -1
  118. package/package/plugins/rts.d.ts +0 -2551
  119. package/package/plugins/rts.js +0 -25
  120. package/package/plugins/share.d.ts +0 -2181
  121. package/package/plugins/share.js +0 -1
  122. package/package/plugins/speed.d.ts +0 -2173
  123. package/package/plugins/speed.js +0 -1
  124. package/package/plugins/ssai.d.ts +0 -2502
  125. package/package/plugins/ssai.js +0 -7
  126. package/package/plugins/subtitles.d.ts +0 -2287
  127. package/package/plugins/subtitles.js +0 -1
  128. package/package/plugins/thumbnails.d.ts +0 -2164
  129. package/package/plugins/thumbnails.js +0 -1
  130. package/package/plugins/tizen.d.ts +0 -2152
  131. package/package/plugins/tizen.js +0 -1
  132. package/package/plugins/vtsel.d.ts +0 -2250
  133. package/package/plugins/vtsel.js +0 -1
  134. package/package/plugins/webos.d.ts +0 -2152
  135. package/package/plugins/webos.js +0 -1
  136. package/package/util/loader.d.ts +0 -2163
  137. package/package/util/loader.js +0 -63
@@ -1 +0,0 @@
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;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={})=>{var i;if(null===(i=this.emitter)||void 0===i?void 0:i.hasState("consent-no-tracking"))return;const a=e(o.metadata,{event_type:t},r.data||r),s=function(e,t){return e.replace(n,e=>{const r=e.slice(1,e.length);return r in t?t[r].toString():e})}(o.url,a),u=Tracker.pluck_valid_keys(o,a),d=Tracker.ensure_required_keys(o,u);if(d.length)return o.log.error(`Tracker.validate_metadata() failed for\n Event[${t}]\n missing keys: ${d}\n payload:\n ${JSON.stringify(u,null,2)}`);this.rq&&RequestQueue.rpush(this.rq,[s,this.verb,u])})})}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}}var o;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 d="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 c=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(d(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 d(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(c(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"];const R=100,q=1e3;function A(e,t){return e.duration/1===e.duration&&Object.assign(t,function(e){const t=e/R;return{segment_duration:t,breakpoints:Array(...Array(R)).map(function(e,r){return Math.floor(r*t*q)/q})}}(e.duration))}function S(e,t,r){if(!t.segment_duration&&!A(e,t))return;const n=function(e,t,r){const n=t.last_idx,i=r?99:O(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 O(e,t){return Math.min(Math.floor(e.currentTime/t.segment_duration),99)}function b(){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 N;const Q="vod",x="live",L=[k,y,g];function I(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 S(e,t,"boolean"==typeof r&&r)}}function M(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 P=((N=class Analytics{init(e,t,r){if(!h.from_token(e.token||"").is_granted(h.permissions.ANALYTICS))return;if(r.analytics)return;const n=r.analytics={ticker:void 0,last_media_id:"",ended:!1,played:!1},i={locked:void 0,ttl:6e3,task:()=>{I(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.34.3-rc"},a=Tracker.of(r,{verb:Tracker.verb.POST,url:"https://ptm.flowplayer.com/:video_type/:sitegroup_id/:event_type",events:L,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&&i.stream_target_id&&(i.media_id=i.stream_target_id),!i.media_id)return n.last_media_id="";if(n.last_media_id===i.media_id)return;n.played=!1,n.last_media_id=i.media_id;const o=m(e,"analytics",{});a.put(i),a.put(o);const s=m(e,"metadata.live_start_time",e.live)?x:Q;a.put({video_type:s,source:e.source||b()||""}),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||n.played||!n.last_media_id)return;a.put({muted:r.muted});const e=M(r);if(e)return s=Promise.resolve(e).then(function(){n.played=!0,r.emit(g),s=0}).catch(function(){s=0});n.played=!0,r.emit(g)}),r.on("timeupdate",function(){var t;a&&(s||M(r)||n.ended||!n.last_media_id||(!e.live&&r.currentTime+.25>=r.duration&&I(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.last_media_id&&n.ticker&&"vod"==n.ticker.kind&&function(e,t){A(e,t),t.last_idx=O(e,t)}(r,n.ticker)}),r.on("ended",function(){a&&n.last_media_id&&function(e,t){t.ended||(t.ended=!0,I(e,t.ticker))}(r,n)})}}).pluginName="analytics",N),C=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:{},P);return C});