@flowplayer/player 3.34.3 → 3.35.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 (97) 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/package/core/events.d.ts +710 -0
  6. package/package/core/events.js +403 -0
  7. package/package/core.js +1 -0
  8. package/package/default.js +1 -0
  9. package/package/embed.js +7 -0
  10. package/package/flowplayer.css +1 -0
  11. package/package/index.d.ts +2238 -0
  12. package/package/plugins/ads.d.ts +4468 -0
  13. package/package/plugins/ads.js +7 -0
  14. package/package/plugins/airplay.d.ts +2152 -0
  15. package/package/plugins/airplay.js +1 -0
  16. package/package/plugins/analytics.d.ts +2146 -0
  17. package/package/plugins/analytics.js +1 -0
  18. package/package/plugins/asel.d.ts +2293 -0
  19. package/package/plugins/asel.js +1 -0
  20. package/package/plugins/audio.d.ts +2146 -0
  21. package/package/plugins/audio.js +1 -0
  22. package/package/plugins/chapters.d.ts +2155 -0
  23. package/package/plugins/chapters.js +1 -0
  24. package/package/plugins/chromecast.d.ts +2221 -0
  25. package/package/plugins/chromecast.js +1 -0
  26. package/package/plugins/comscore.d.ts +2146 -0
  27. package/package/plugins/comscore.js +1 -0
  28. package/package/plugins/consent.d.ts +2194 -0
  29. package/package/plugins/consent.js +1 -0
  30. package/package/plugins/context-menu.d.ts +2160 -0
  31. package/package/plugins/context-menu.js +1 -0
  32. package/package/plugins/cuepoints.d.ts +2270 -0
  33. package/package/plugins/cuepoints.js +1 -0
  34. package/package/plugins/dash.d.ts +2302 -0
  35. package/package/plugins/dash.js +2 -0
  36. package/package/plugins/drm.d.ts +2271 -0
  37. package/package/plugins/drm.js +1 -0
  38. package/package/plugins/endscreen.d.ts +2165 -0
  39. package/package/plugins/endscreen.js +1 -0
  40. package/package/plugins/fas.d.ts +2200 -0
  41. package/package/plugins/fas.js +1 -0
  42. package/package/plugins/float-on-scroll.d.ts +2234 -0
  43. package/package/plugins/float-on-scroll.js +1 -0
  44. package/package/plugins/ga4.d.ts +2146 -0
  45. package/package/plugins/ga4.js +1 -0
  46. package/package/plugins/gemius.d.ts +2171 -0
  47. package/package/plugins/gemius.js +1 -0
  48. package/package/plugins/google-analytics.d.ts +2146 -0
  49. package/package/plugins/google-analytics.js +1 -0
  50. package/package/plugins/hls.d.ts +2271 -0
  51. package/package/plugins/hls.js +1 -0
  52. package/package/plugins/id3.d.ts +2212 -0
  53. package/package/plugins/id3.js +1 -0
  54. package/package/plugins/iframe.d.ts +2147 -0
  55. package/package/plugins/iframe.js +1 -0
  56. package/package/plugins/keyboard.d.ts +2146 -0
  57. package/package/plugins/keyboard.js +1 -0
  58. package/package/plugins/media-session.d.ts +2146 -0
  59. package/package/plugins/media-session.js +1 -0
  60. package/package/plugins/message.d.ts +2205 -0
  61. package/package/plugins/message.js +1 -0
  62. package/package/plugins/ovp.d.ts +2208 -0
  63. package/package/plugins/ovp.js +1 -0
  64. package/package/plugins/playlist.d.ts +2465 -0
  65. package/package/plugins/playlist.js +1 -0
  66. package/package/plugins/preview.d.ts +2236 -0
  67. package/package/plugins/preview.js +1 -0
  68. package/package/plugins/qsel.d.ts +2236 -0
  69. package/package/plugins/qsel.js +1 -0
  70. package/package/plugins/qul.d.ts +2161 -0
  71. package/package/plugins/qul.js +1 -0
  72. package/package/plugins/rts.d.ts +2551 -0
  73. package/package/plugins/rts.js +25 -0
  74. package/package/plugins/share.d.ts +2181 -0
  75. package/package/plugins/share.js +1 -0
  76. package/package/plugins/speed.d.ts +2173 -0
  77. package/package/plugins/speed.js +1 -0
  78. package/package/plugins/ssai.d.ts +2502 -0
  79. package/package/plugins/ssai.js +7 -0
  80. package/package/plugins/subtitles.d.ts +2287 -0
  81. package/package/plugins/subtitles.js +1 -0
  82. package/package/plugins/thumbnails.d.ts +2164 -0
  83. package/package/plugins/thumbnails.js +1 -0
  84. package/package/plugins/tizen.d.ts +2152 -0
  85. package/package/plugins/tizen.js +1 -0
  86. package/package/plugins/vtsel.d.ts +2250 -0
  87. package/package/plugins/vtsel.js +1 -0
  88. package/package/plugins/webos.d.ts +2152 -0
  89. package/package/plugins/webos.js +1 -0
  90. package/package/util/loader.d.ts +2163 -0
  91. package/package/util/loader.js +63 -0
  92. package/package.json +2364 -1
  93. package/plugins/ads.js +1 -1
  94. package/plugins/analytics.js +1 -1
  95. package/plugins/ovp.js +1 -1
  96. package/plugins/rts.js +1 -1
  97. package/plugins/ssai.js +1 -1
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.ovp=t())}(this,function(){"use strict";function e(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]])}return o}const t=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),o=(...e)=>e.reduce((e,n)=>t(n)?(Object.keys(n).forEach(r=>{if(t(e[r])&&t(n[r]))return e[r]=o(e[r],n[r]);e[r]=n[r]}),e):e,{}),n="is-starting",r="is-source-processing",a="flowplayer:error";class Pipe{static of(e){return new Pipe(e)}static maybe(e,t,...o){return null==e?e:t.apply(e,[e,...o])}constructor(e){this.data=e}tap(e,...t){return e.apply(this,[this.data,...t]),new Pipe(this.data)}fmap(e,...t){const o=e.apply(this,[this.data,...t]);return new Pipe(o)}unwrap(){return this.data}}const i=window,s=i._flowplayerTimekeeper||(i._flowplayerTimekeeper={});function c(e){return fetch(e).then(e=>e.json())}function l(...e){let t=[].join.call(e,"/");return"/"!==t[0]&&(t="/"+t),d()+"/web/public/native/config"+t}const d=()=>"https://ljsp.lwcdn.com";function u(e){(async function(){const e=s.cachedServerOffset;if(e)return e;const t=s.pendingRequest||(s.pendingRequest=fetch("https://ljsp.lwcdn.com/web/public/countdown/time.json")),o=await t,n=parseInt(o.headers.get("age")||"0"),r=await o.json(),a=Date.now()-r.millisUtc-1e3*n;return s.cachedServerOffset=a,s.cachedServerOffset})().then(t=>Object.assign(e,{server_time_offset:t}))}function p(e,t){var n,r;t="object"==typeof t?t:{};const a={title:null===(n=null==e?void 0:e.metadata)||void 0===n?void 0:n.title,description:null===(r=null==e?void 0:e.metadata)||void 0===r?void 0:r.description},i={ima:{parameters:function({media_id:e,duration:t,title:o,tags:n,category_name:r,ad_keywords:a}){return{ad_keywords:a||"",media_id:e||"",category:r||"",media_name:o||"",media_tags:n||"",media_duration:t||-1}}((null==e?void 0:e.metadata)||{})}},s=t.embed||{};return delete s.src,o(i,a,e,(delete(c=t).src,delete c.metadata,delete c.title,delete c.description,delete c.duration,delete c.poster,c),s);var c}const f=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,m=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,y=/^[A-Za-z0-9]{8}$/,v=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[A-Za-z0-9]{8}$/;function w(e){return"object"==typeof e&&"ovp/base64"==e.type}function h(e,t){return function(e,t){return!(!f.test(e)&&!m.test(e)||(t.type="video/ovp",0))}(e,t)||function(e,t){return!(!y.test(e)&&!v.test(e)||(t&&(t.type="video/ovp"),0))}(e,t)||w(t)}function b(e){try{return function(e){return null===e?{}:JSON.parse(e)}(decodeURIComponent(atob(e).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")))}catch(e){return{err:e.message}}}function k(e){const t=e.split(/[^0-9]/).map(e=>parseInt(e,10));return Date.UTC(t[0],t[1]-1,t[2],t[3],t[4],t[5])}function P(e){return e.live}const g="ovp:request:start",E="ovp:request:media:complete",C="ovp:request:playlist:complete",_="ovp:live:countdown:tick",A="ovp:live:countdown:start",N="ovp:live:countdown:complete",M="ovp:media:changed",S="ovp:message:realtime",O="ovp:config:finalized";var L=Object.freeze({__proto__:null,OVP_ERROR:"ovp:error",OVP_MEDIA_REQUEST_START:g,OVP_MEDIA_REQUEST_COMPLETE:E,OVP_PLAYLIST_REQUEST_COMPLETE:C,LIVE_COUNTDOWN_TICK:_,LIVE_COUNTDOWN_START:A,LIVE_COUNTDOWN_COMPLETE:N,OVP_MEDIA_CHANGED:M,OVP_REALTIME_MESSAGE:S,OVP_CONFIG_FINALIZED:O});const D={Unknown:"00-00",MediaUnknown:"01-00",MediaUnavailable:"01-01",MediaUnsupportedVideoFormat:"01-02",MediaUnsupportedAudioFormat:"01-03",MediaBitrateExceeded:"01-04",MediaBufferOverread:"01-05",MediaIntegerOverflow:"01-06",MediaQuotaExceeded:"01-07",MediaInvalidCompositionDuration:"01-08",MediaInvalidCompositionSourceDuration:"01-09",MediaInvalidCompositionSourceStartTime:"01-10",MediaMalformedDepth:"01-11",PlaybackUnknown:"02-00",PlaybackVideoBufferUnderRun:"02-01",PlaybackAudioBufferUnderRun:"02-02",PlaybackVideoBufferingTimeout:"02-03",PlaybackAudioBufferingTimeout:"02-04",PlaybackManifestParseError:"02-05",PlaybackVideoDecodeError:"02-06",PlaybackAudioDecodeError:"02-07",PlaybackDroppedFramesExceeded:"02-08",PlaybackPlayheadExceedsDuration:"02-09",PlaybackUnsupportedDevice:"02-10",PlaybackManifestLoadError:"02-11",PlaybackManifestLoadTimeout:"02-12",PlaybackManifestParsingError:"02-13",PlaybackManifestIncompatibleCodecs:"02-14",PlaybackLevelEmptyError:"02-15",PlaybackLevelLoadError:"02-16",PlaybackLevelLoadTimeout:"02-17",PlaybackLevelSwitchError:"02-18",PlaybackAudioTrackLoadError:"02-19",PlaybackAudioTrackLoadTimeout:"02-20",PlaybackFragLoadError:"02-21",PlaybackFragLoadTimeout:"02-22",PlaybackFragDecryptError:"02-23",PlaybackFragParsingError:"02-24",PlaybackFragGap:"02-25",PlaybackRemuxAllocError:"02-26",PlaybackBufferAddCodecError:"02-27",PlaybackBufferIncompatibleCodecs:"02-28",PlaybackBufferAppendError:"02-29",PlaybackBufferStalledError:"02-30",PlaybackBufferFullError:"02-31",PlaybackBufferSeekOverHole:"02-32",PlaybackBufferNudgeOnStall:"02-33",PlaybackInternalException:"02-34",PlaybackInternalAborted:"02-35",PlaybackManifestLoaderFailure:"02-36",PlaybackSegmentBaseLoaderError:"02-37",PlaybackTimeSyncFailed:"02-38",PlaybackFragmentLoaderFailure:"02-39",PlaybackAppendError:"02-40",PlaybackRemoveError:"02-41",PlaybackDataUpdateFailed:"02-42",PlaybackManifestNoStreams:"02-43",PlaybackUnknownManifestType:"02-44",PlaybackDashInsufficientSegmentInfo:"02-45",PlaybackDashNoRepresentations:"02-46",PlaybackDashNoAdaptationSets:"02-47",PlaybackDashNoInitSegment:"02-48",PlaybackDashUnsupportedContainerFormat:"02-49",PlaybackDashKeySystemMismatch:"02-50",PlaybackMultipleKeyIDs:"02-51",PlaybackDashConflictingKeyIDs:"02-52",PlaybackRestrictedStreams:"02-53",PlaybackHlsMasterAndMediaTags:"02-54",PlaybackRepresentationIdConflict:"02-55",PlaybackHlsUnsupportedKeyFormats:"02-56",PlaybackManifestNoVariants:"02-57",PlaybackHlsUndeclaredVariables:"02-58",PlaybackAes128InvalidKeyLength:"02-59",PlaybackDashConflictingAes128Keys:"02-60",PlaybackDashUnsupportedAes128Encryption:"02-61",PlaybackManifestPatchMismatch:"02-62",PlaybackEmptyMediaPlaylist:"02-63",PlaybackNonContiguousCompositionTrack:"02-64",PlaybackDecoderNotFound:"02-65",PlaybackDecoderTemporarilyUnavailable:"02-66",PlaybackIncompatibleAsset:"02-67",PlaybackNoCompatibleExternalDisplay:"02-69",PlaybackOutOfMemory:"02-70",PlaybackToneMappingFailed:"02-71",PlaybackVideoCompositorFailed:"02-72",NetworkUnknown:"03-00",NetworkNoInternet:"03-01",NetworkRequestTimeout:"03-02",NetworkUnableToResolveHost:"03-03",NetworkResourceNotFound:"03-04",NetworkExpiredUrl:"03-05",NetworkUrlResolutionFailed:"03-06",NetworkDownloadErrorIdManifest:"03-07",NetworkDownloadErrorIdSidx:"03-08",NetworkDownloadErrorIdContent:"03-09",NetworkDownloadErrorIdInitialization:"03-10",NetworkDownloadErrorIdXlink:"03-11",NetworkHttpRequestFailed:"03-12",NetworkMaxRetriesExceeded:"03-13",NetworkSegmentMissing:"03-14",NetworkHttp400BadRequest:"03-400",NetworkHttp401Unauthorized:"03-401",NetworkHttp402PaymentRequired:"03-402",NetworkHttp403Forbidden:"03-403",NetworkHttp404NotFound:"03-404",NetworkHttp405MethodNotAllowed:"03-405",NetworkHttp406NotAcceptable:"03-406",NetworkHttp407ProxyAuthenticationRequired:"03-407",NetworkHttp408RequestTimeout:"03-408",NetworkHttp409Conflict:"03-409",NetworkHttp410Gone:"03-410",NetworkHttp411LengthRequired:"03-411",NetworkHttp412PreconditionFailed:"03-412",NetworkHttp413PayloadTooLarge:"03-413",NetworkHttp414URITooLong:"03-414",NetworkHttp415UnsupportedMediaType:"03-415",NetworkHttp416RangeNotSatisfiable:"03-416",NetworkHttp417ExpectationFailed:"03-417",NetworkHttp418ImATeapot:"03-418",NetworkHttp421MisdirectedRequest:"03-421",NetworkHttp422UnprocessableEntity:"03-422",NetworkHttp423Locked:"03-423",NetworkHttp424FailedDependency:"03-424",NetworkHttp425TooEarly:"03-425",NetworkHttp426UpgradeRequired:"03-426",NetworkHttp428PreconditionRequired:"03-428",NetworkHttp429TooManyRequests:"03-429",NetworkHttp431RequestHeaderFieldsTooLarge:"03-431",NetworkHttp451UnavailableForLegalReasons:"03-451",NetworkHttp500InternalServerError:"03-500",NetworkHttp501NotImplemented:"03-501",NetworkHttp502BadGateway:"03-502",NetworkHttp503ServiceUnavailable:"03-503",NetworkHttp504GatewayTimeout:"03-504",NetworkHttp505HTTPVersionNotSupported:"03-505",NetworkHttp506VariantAlsoNegotiates:"03-506",NetworkHttp507InsufficientStorage:"03-507",NetworkHttp508LoopDetected:"03-508",NetworkHttp510NotExtended:"03-510",NetworkHttp511NetworkAuthenticationRequired:"03-511",ContentProtectionUnknown:"04-00",ContentProtectionConcurrentStreamLimitExceeded:"04-01",ContentProtectionEntitlementRefused:"04-02",ContentProtectionLicenseExpired:"04-03",ContentProtectionBadLicenseRequest:"04-04",ContentProtectionLicenseServerTimeout:"04-05",ContentProtectionInsufficientHDCPSupport:"04-06",ContentProtectionGeoRestricted:"04-07",ContentProtectionParentalControlRestricted:"04-08",ContentProtectionCDNUnauthorized:"04-09",ContentProtectionInvalidAccessToken:"04-10",ContentProtectionKeySystemNoKeys:"04-11",ContentProtectionKeySystemNoAccess:"04-12",ContentProtectionKeySystemNoSession:"04-13",ContentProtectionKeySystemNoConfiguredLicense:"04-14",ContentProtectionKeySystemCertificateRequestFailed:"04-15",ContentProtectionKeySystemCertificateUpdateFailed:"04-16",ContentProtectionKeySystemSessionUpdateFailed:"04-17",ContentProtectionKeySystemStatusOutputRestricted:"04-18",ContentProtectionKeySystemStatusInternalError:"04-19",ContentProtectionKeyLoadError:"04-20",ContentProtectionKeyLoadTimeout:"04-21",ContentProtectionCapabilityMediaKeysError:"04-22",ContentProtectionManifestKeySystemUnknown:"04-23",ContentProtectionKeySystemUnavailable:"04-24",ContentProtectionCDMCreationFailed:"04-25",ContentProtectionCDMAttachFailed:"04-26",ContentProtectionCDMServerCertificateRejected:"04-27",ContentProtectionCDMSessionCreationFailed:"04-28",ContentProtectionCDMLicenseRequestFailed:"04-29",ContentProtectionCDMLicenseResponseRejected:"04-30",ContentProtectionManifestMissingDRMInfo:"04-31",ContentProtectionLicenseServerMissing:"04-32",ContentProtectionOfflineSessionRemoved:"04-33",ContentProtectionInitDataTransformationError:"04-34",ContentProtectionServerCertificateRequestFailed:"04-35",ContentProtectionInsufficientHDCPVersion:"04-36",ContentProtectionHDCPVersionCheckFailed:"04-37",AdsUnknown:"08-00",AdsVastParseError:"08-100",AdsInvalidVastSchema:"08-101",AdsVastVersionNotSupported:"08-102",AdsUnexpectedAdType:"08-200",AdsCreativeLinearityMismatch:"08-201",AdsCreativeDurationMismatch:"08-202",AdsCreativeSizeMismatch:"08-203",AdsWrapperVastError:"08-300",AdsVastResponseRedirectTimeout:"08-301",AdsWrapperLimitReached:"08-302",AdsVastResponseEmpty:"08-303",AdsLinearAdDisplayError:"08-400",AdsMediaFileNotFound:"08-401",AdsMediaFileUnavailable:"08-402",AdsUnsupportedMimeType:"08-403",AdsUnableToDisplayMediaFile:"08-405",AdsMezzanineFileMissing:"08-406",AdsMezzanineFileDownloaded:"08-407",AdsRejectedAd:"08-408",AdsInteractiveCreativeError:"08-409",AdsVerificationNodeExecutionError:"08-410",AdsNonLinearAdDisplayError:"08-500",AdsNonLinearAdSizeMismatch:"08-501",AdsNonLinearAdFetchError:"08-502",AdsNonLinearUnsupportedType:"08-503",AdsCompanionAdDisplayError:"08-600",AdsCompanionAdSizeMismatch:"08-601",AdsRequiredCompanionAdError:"08-602",AdsCompanionAdFetchError:"08-603",AdsUndefinedVastError:"08-900",AdsUnknownVpaidError:"08-901",AdsVastDocumentEmpty:"08-999"},T=Object.fromEntries(Object.entries(D).map(([e,t])=>[t,e]));const F=[1e7]+""+-1e3+-4e3+-8e3+-1e11,R="off";class FlowplayerError extends Error{static getErrorKey(e){return e in T?T[e]:T["00-00"]}constructor(e,t,o={}){super(e),this.message=e,this.flowplayerErrorCode=t,this.config=o,this.id="undefined"==typeof crypto?"":F.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),this.isFatal=!!o.isFatal,this.errorKey=FlowplayerError.getErrorKey(this.flowplayerErrorCode)||"unknown"}toJSON(){return{message:this.message,flowplayer_error_code:this.flowplayerErrorCode,id:this.id,root_error_id:this.config.rootErrorId,resource:this.config.resource,is_fatal:this.isFatal,is_retry:!!this.config.isRetry}}}function I(e,t){const o=null==t?void 0:t.src;if(w(t))return function(e,t){const o=b(t.src||"");if(function(e){return"string"==typeof e.err}(o))return console.error(o.err);H(e,o)}(e,t);if(!o)return;e.setState(r,!0);const n=function(e){return~e.indexOf("/")?e:"/media/"+e}(o),i=l(n);fetch(i).then(async t=>t.ok?H(e,await t.json()):function(e,t,o,n){e.setState(r,!1);const i=new FlowplayerError(n.message||"error loading ovp source",function(e){const t=`03-${e}`;return t in T?t:D.NetworkUnknown}(o),{resource:t,isFatal:!0,retryOpts:{retry:R}});e.emit(a,{error:i})}(e,t.url,t.status,await t.json()))}function H(e,t){return e.emit(M,t),function(e){return Array.isArray(e.playlist)}(t)?function(e,t){e.emit(C,function(e,t){"number"!=typeof t.delay&&"number"!=typeof e.delay&&(t.delay=5);const n=Object.assign({},e),r=(null==e?void 0:e.playlist)||{},a=o(t,r),i=((null==a?void 0:a.playlist)||[]).map(e=>{t.ima&&Object.assign(e,{ima:t.ima});const o=p(e,n);return delete o.playlist,o});return delete a.ima,Object.assign(a,{playlist:i})}(e.opts,t))}(e,t):P(t)?function(e,t){var o,n;const r=(null===(o=null==t?void 0:t.metadata)||void 0===o?void 0:o.live_start_time)||(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.starttime);r&&(t.live_start_time=Pipe.of(r).fmap(k).unwrap());e.emit(A,Pipe.of(t).fmap(p,e.opts).unwrap())}(e,t):function(e,t){e.emit(E,Pipe.of(t).fmap(p,e.opts).unwrap())}(e,t)}const U={};function j(e,t,o){"object"!=typeof U[t]&&(U[t]=o);const n=e.opts,r=(null==n?void 0:n.metadata)||{};r.player_id=t,n.metadata=r,o.title&&delete o.title,o.description&&delete o.description;const a=Object.assign(n,o);e.setOpts(a),o.autoplay&&e.togglePlay(!0)}const x="recommendationsready";let V=!1;function K(e,t,o){q()||Pipe.of("recommendation").fmap(l,t,o).fmap(c).fmap(t=>t.then(t=>function(e,t){const o=t.playlist,n=e.opts;if(n.recommendations=o,!o.length)return;e.emit(x,{playlist:o.map(function(e){var t,o;return{poster:e.poster,src:e.src,title:null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.title,description:null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.description,metadata:e.metadata||{},chapters:e.chapters,thumbnails:e.thumbnails,subtitles:e.subtitles}})})}(e,t)).catch(B))}function q(){return V}function B(e){V=!0,console.error("Failed to load recommendations: %j",e)}function z(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}function W(e,t){const o=e._customElements.get(t);return o&&e.root.querySelector(o)||void 0}const $="flowplayer-live-countdown";function G(e){const t=Date.now()-(e.server_time_offset||0);return Math.floor(((e.live_start_time||0)-t)/1e3)}function Q(e,t){let o=0;function a(){const a=G(t);if(a<0||isNaN(a)||0===e.reaper||void 0===t.live_start_time)return clearInterval(o),function(e,t,o){e.emit(N);const n=W(e,$);if(n&&n.remove(),e.root.classList.remove("is-livecountdown"),o)return e.setState(r,!1);e.emit(E,t)}(e,t,void 0===t.live_start_time);var i,s,c;i=e,s=e.root,c=a,s.classList.add("is-livecountdown"),i.emit(_,{remaining_time:J(c+1)}),i.hasState(n)||i.setState(n,!0)}u(t),a(),o=setInterval(a,250)}function J(e){const t=function(e){"number"!=typeof e&&(e=parseInt(e,10)),e=Math.round(e);const t=Math.floor(e/86400);e-=86400*t;const o=Math.floor(e/3600);e-=3600*o;const n=Math.floor(e/60);return{days:t,hours:o,minutes:n,seconds:e-=60*n}}(e);let o="";return t.days&&(o+=t.days+":"),o+z(t.hours)+":"+z(t.minutes)+":"+z(t.seconds)}class WebsocketBridge{static of(e){return new WebsocketBridge(e)}constructor(e){this.manualDisconnect=!1,this.video=e,this.onClose=this.onClose.bind(this),this.onMessage=this.onMessage.bind(this)}connect(e){this.client=new WebSocket("wss://player.ws.flowplayer.com?mediaId="+e),this.current_media_id=e,this.wireup()}onClose(){this.manualDisconnect?this.manualDisconnect=!1:this.current_media_id&&this.reconnect(this.current_media_id)}onMessage(e){JSON.parse(e.data).forEach(e=>{this.video.emit(S,e)})}reconnect(e){this.cleanup(),this.connect(e)}wireup(){this.client&&(this.client.addEventListener("message",this.onMessage),this.client.addEventListener("close",this.onClose))}cleanup(){this.client&&(this.client.removeEventListener("message",this.onMessage),this.client.removeEventListener("close",this.onClose),this.client=void 0)}disconnect(){this.client&&(this.manualDisconnect=!0,this.client.close())}}const Z=(e,t)=>new(((e,t)=>{const o=e.get(t);if(!o)throw new Error(`no flowplayer component with the name ${t} exists`);const n=window.customElements.get(t);if(!n)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(o);return"function"!=typeof r?n:r})(e._customElements,t))(e);class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class FlowplayerLiveCountdown extends FlowplayerComponent{constructor(e){super(e),this.classList.add("fp-livecountdown");const t=function(...e){const t=document.createElement("div");return 0==e.length||t.classList.add(...e),t}("fp-inner");this.append(t);const o=document.createElement("p");o.innerText=e.i18n("ovp.starting_in"),t.append(o);const n=document.createElement("p");n.classList.add("fp-countdown"),t.append(n),e.on(_,t=>{const o=t.detail.remaining_time;e.root.classList.add("is-livecountdown"),n.innerText=o})}}const X=["*.lwcdn.com","*.flowplayer.com","*.wowza.com"];function Y(){try{return window.location.hostname!==window.parent.location.hostname?function(e){const t=document.createElement("a");return t.href=e,t}(document.referrer).hostname:document.location.hostname}catch(e){return window.location.hostname}}function ee(e){const t=document.createElement("a");t.href=e;const o=t.pathname&&t.pathname.split(".");return o.length>1&&o[o.length-1]}function te(e){switch(e){case"video/mpd":return"application/dash+xml";case"video/m3u8":return"application/x-mpegurl";default:return e}}const oe=t=>{var{src:o}=t,n=e(t,["src"]);return[Object.assign({src:o,type:o?te("video/"+ee(o)):""},n)]};function ne(e){return oe({src:e})}function re(t){var{src:o,type:n}=t,r=e(t,["src","type"]);return o&&n?[Object.assign({src:o,type:n},r)]:n&&!o?[Object.assign({type:n},r)]:oe(Object.assign({src:o},r))}const ae=1;var ie,se;function ce(e){const t=[];e.on("health:ready",()=>{const o=e.opt("metadata.stream_target_id");o&&!t.includes(o)&&(t.push(o),function(e,{feature_name:t,behavior:o,sample_rate:n}){t&&(n||(n=ae),e.emit("flowplayer:feature",{feature_name:t,behavior:o,sample_rate:n}))}(e,{feature_name:"ewv",behavior:"used"}))})}!function(e){e[e.Err=0]="Err",e[e.Ok=1]="Ok"}(ie||(ie={}));const le=((se=class OVP{constructor(e){((e,t,o)=>{window.customElements.get(t)||window.customElements.define(t,o),e.customElements.get(t)||e.customElements.set(t,t)})(e,$,FlowplayerLiveCountdown)}onload(e,t,o,n){if("string"==typeof(null==n?void 0:n.src))return"string"!=typeof e.player_id||0===n.src.indexOf(e.player_id)||w(n)||(n.src=[e.player_id,n.src].join("/")),I(o,n)}wants(e,t,o){return h(e,t)}init(t,n,a){const i=new WebsocketBridge(a);let s=Object.assign({},t);const d=function(e){if(!s)return e;t.autoplay!==s.autoplay&&(s.autoplay=t.autoplay),delete s.src;const n=o(e,s);return a.emit(O,n),n};a.on("src",()=>{(a.currentSrc||a.root.classList.contains("is-livecountdown"))&&(s=!1)}),a.on(g,function(){a.setState("is-waiting",!0),t.recommendations&&(t.recommendations=!1)}),a.on(M,function({data:e}){var t;const o=null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.media_id;(null==e?void 0:e.live)&&o&&(i.disconnect(),i.connect(o))}),a.on(S,function({data:e}){var o;const n=null==e?void 0:e.event,r=null==e?void 0:e.value,i=a.opt("metadata",{live_start_time:""});switch(n){case"METADATA":{const e=Object.assign(i,r),n=Object.assign(t,{metadata:e});n.live&&(null===(o=null==n?void 0:n.metadata)||void 0===o?void 0:o.live_start_time)&&(n.live_start_time=k(n.metadata.live_start_time)),a.setOpts(n);break}}}),a.on("beforeplay",function(e){const o=t;if(P(o)){if(de(o))return;e.preventDefault()}}),a.on(E,function(e){const t=e.data;if(!t)return;var o;if(t.src&&(t.src=(o=t.src,"string"==typeof o?ne(o):Array.isArray(o)||"object"!=typeof o?o.reduce(function(e,t){return"string"==typeof t&&(t=ne(t)),"object"!=typeof t||Array.isArray(t)||(t=re(t)),e.concat(t)},[]):re(o)).map(e=>(e.src&&e.src.startsWith("//")&&(e.src="https:"+e.src),e))),0==a.reaper||"object"!=typeof t||G(t)>0)return;const n=d(t);a.setOpts(n),a.setAttrs(n),n.src&&a.setSrc(n.src),a.setState(r,!1)}),a.on("config",function({data:e}){var o,r;if("string"==typeof t.src&&h(t.src,{}))return;if((null==e?void 0:e.domains)&&(null==e?void 0:e.domains.length)&&!((e,t)=>{const o=e.split(".").reverse();return t.concat(X).some(e=>{const t=e.split(".").reverse(),n="*"===t[t.length-1];return n&&t.pop(),(n||t.length===o.length)&&t.every((e,t)=>o[t]===e)})})(Y(),e.domains))return function({root:e,video:t,data:o}){t&&t.destroy(),console.error(new Error(o.details||o.reason)),e.innerHTML="",e.classList.remove("flowplayer"),e.classList.add("flowplayer-fatal"),e.style.removeProperty("background-image");const n=document.createElement("h2");n.textContent="Playback Error";const r=document.createElement("p");r.textContent="Are you the site owner?";const a=document.createElement("a");a.classList.add("troubleshoot"),a.target="_blank",a.href="https://docs.flowplayer.com/troubleshooting/player#"+o.reason,a.textContent="Troubleshoot?";const i=document.createElement("img");i.src="https://flowplayer.com/user/pages/images/logo-white.png",i.alt="Flowplayer Logo",e.append(n,r,a,i)}({root:n,video:a,data:{details:`Hostname ${Y()} is not allowed to load player ${null===(o=e.metadata)||void 0===o?void 0:o.player_id}.`,reason:"domain"}});if(t.src&&ue(t.src))return;const i=null==e?void 0:e.brand_color;return i&&a.root.style.setProperty("--fp-brand-color","#"==i[0]?i:"#"+i),"string"==typeof t.player_id&&(null===(r=null==t?void 0:t.metadata)||void 0===r?void 0:r.player_id)!==t.player_id?function(e,t){if("object"==typeof U[t])return console.debug("using Cache(%s)",t),j(e,t,U[t]);Pipe.of(t).fmap(l).fmap(c).fmap(o=>o.then(o=>j(e,t,o)).catch(console.error))}(a,t.player_id):void 0}),a.on(C,function(t){var o;const n=t.data;if(!n||0==a.reaper)return;const{playlist:i}=n,s=e(n,["playlist"]),c=d(Object.assign(s,{playlist:Object.assign({},s)}));Array.isArray(c.playlist)&&(c.playlist=s),delete c.loop,c.playlist.playlist_title||(c.playlist.playlist_title=null===(o=s.metadata)||void 0===o?void 0:o.playlist_title),a.setOpts(c),a.setAttrs(c);const l={type:"flowplayer/playlist",items:i};a.setSrc(l),a.setState(r,!1)}),a.on(A,function(e){const o=e.data;if(!o||0==a.reaper)return;const r=d(o);if(a.setOpts(r),a.setAttrs(r),G(o)<=0)return a.emit(E,o);W(a,$)||(n.appendChild(Z(a,$)),Q(a,t))}),a.on("timeupdate",function(){var e,o,n;const r=t;P(r)?de(r)||(a.togglePlay(!1),a.emit("ended")):t.recommendations&&(null===(e=null==t?void 0:t.metadata)||void 0===e?void 0:e.media_id)&&(Array.isArray(t.recommendations)||a.currentTime/a.duration<.8||q()||(null===(o=null==t?void 0:t.metadata)||void 0===o?void 0:o.media_id)&&(null===(n=null==t?void 0:t.metadata)||void 0===n?void 0:n.player_id)&&K(a,t.metadata.media_id,t.metadata.player_id))}),a.on("reap",function(){i.disconnect()}),ce(a)}}).pluginName="ovp",se.events=L,se);function de(e){var t,o;const n=null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.live_stop_time;if(!n)return!0;return!!(null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.allow_after_stop_time)||k(n)>Date.now()}const ue=e=>{var t;if(e&&Array.isArray(e))return"object"==typeof e[0]&&"ovp/base64"===(null===(t=e[0])||void 0===t?void 0:t.type)};return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const o=e.flowplayer;return"function"==typeof o?(o(t),t):(Array.isArray(o.extensions)||(o.extensions=[]),~o.extensions.indexOf(t)||o.extensions.push(t),t)}(window,le)});