@bitmovin/player-web-x 10.2.0-beta.12 → 10.2.0-beta.13
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/bundles/playerx-bitmovin-v8-core.js +2 -2
- package/bundles/playerx-bitmovin-v8.js +2 -2
- package/bundles/playerx-core.js +2 -2
- package/bundles/playerx-dash.js +2 -2
- package/bundles/playerx-hls-ts-audio.js +2 -2
- package/bundles/playerx-hls.js +2 -2
- package/bundles/playerx-playback.js +2 -2
- package/bundles/playerx-tv.js +2 -2
- package/package.json +1 -1
- package/packages/playerx-adaptation.package.js +2 -2
- package/packages/playerx-advertising-api.package.js +1 -1
- package/packages/playerx-advertising-base.package.js +1 -1
- package/packages/playerx-advertising-bitmovin.package.js +2 -2
- package/packages/playerx-analytics.package.js +1 -1
- package/packages/playerx-bitmovin-advertising-bundle.package.js +2 -2
- package/packages/playerx-bitmovin-source-api.package.js +1 -1
- package/packages/playerx-bitmovin-ui.package.js +1 -1
- package/packages/playerx-bitmovin-v8-core.package.js +1 -1
- package/packages/playerx-bitmovin-v8-static-api.package.js +1 -1
- package/packages/playerx-bitmovin-video-element-utils.package.js +1 -1
- package/packages/playerx-capabilities.package.js +1 -1
- package/packages/playerx-container-mp4.package.js +1 -1
- package/packages/playerx-container-ts.package.js +1 -1
- package/packages/playerx-core.package.js +2 -2
- package/packages/playerx-dash-manifest-technology.package.js +1 -1
- package/packages/playerx-dash-manifest.package.js +2 -2
- package/packages/playerx-dash-parsing.package.js +1 -1
- package/packages/playerx-dash-translation.package.js +1 -1
- package/packages/playerx-dash.package.js +2 -2
- package/packages/playerx-data.package.js +2 -2
- package/packages/playerx-event-bus.package.js +1 -1
- package/packages/playerx-hls-manifest-technology.package.js +1 -1
- package/packages/playerx-hls-manifest.package.js +1 -1
- package/packages/playerx-hls-parsing.package.js +1 -1
- package/packages/playerx-hls-translation.package.js +1 -1
- package/packages/playerx-hls.package.js +1 -1
- package/packages/playerx-mse-playback.package.js +1 -1
- package/packages/playerx-mse-presentation.package.js +1 -1
- package/packages/playerx-native-playback.package.js +2 -2
- package/packages/playerx-native-presentation.package.js +1 -1
- package/packages/playerx-network.package.js +2 -2
- package/packages/playerx-no-adaptation.package.js +2 -2
- package/packages/playerx-playback-api.package.js +1 -1
- package/packages/playerx-playback-technology.package.js +1 -1
- package/packages/playerx-playback.package.js +2 -2
- package/packages/playerx-player-api.package.js +1 -1
- package/packages/playerx-segment-processing.package.js +1 -1
- package/packages/playerx-source.package.js +1 -1
- package/packages/playerx-sources-api.package.js +1 -1
- package/packages/playerx-stream-data-structure.package.js +1 -1
- package/packages/playerx-streaming.package.js +1 -1
- package/packages/playerx-subtitle-api.package.js +1 -1
- package/packages/playerx-subtitle-base.package.js +1 -1
- package/packages/playerx-subtitle-format-detection.package.js +1 -1
- package/packages/playerx-subtitle-native-renderer.package.js +1 -1
- package/packages/playerx-subtitles.package.js +1 -1
- package/packages/playerx-trick-play.package.js +1 -1
- package/packages/playerx-ts-transmuxer.package.js +1 -1
- package/packages/playerx-tv.package.js +1 -1
- package/packages/playerx-ui.package.js +1 -1
- package/packages/playerx-view-mode.package.js +1 -1
- package/packages/playerx-web-vtt.package.js +1 -1
- package/playerx-framework-utils.js +1 -1
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* source code is subject to the terms and conditions of the accompanying
|
|
6
6
|
* license agreement.
|
|
7
7
|
*
|
|
8
|
-
* Bitmovin Player X Version 10.2.0-beta.
|
|
8
|
+
* Bitmovin Player X Version 10.2.0-beta.13
|
|
9
9
|
*******************************************************************************/
|
|
10
10
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["hls-translation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["hls-translation"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const a=t;return a._name=e,{onAdd:a,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function a(e){return(...t)=>{const[a,s]=e(...t);return r(a,s)}}function s(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=a,t.getTaskName=s},78246:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class r extends Error{constructor(e){super(e),this.name="FrameworkError"}}t.FrameworkError=r},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},47755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function a(e,...t){return 0!==t.length&&(e.push(...t),!0)}function s(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function n(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function i(e,t,r){let a=0,s=e.length;for(;a<s;){const n=a+s>>>1;r(e[n])<r(t)?a=n+1:s=n}return a}function o(e,t,...r){const a=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const a of r){const r=t(a),s=t(e[0]);if(t(e[e.length-1])<=r)e.push(a);else if(r<=s)e.unshift(a);else{const r=i(e,a,t);e.splice(r,0,a)}}return e.length!==a}function u(e,...t){let r=!1;for(const a of t){const t=e.indexOf(a);t<0||(r=!0,e.splice(t,1))}return r}function c(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function l(e,t){if(r(e,t))return!1;const a=c(e);return t.forEach((t=>e.push(t))),a||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const g=(e,t=[])=>{const r={add:a,insert:n,insertSorted:o,remove:u,clear:c,set:l,addIfNew:s};return e.effects.state.create(t,r)};t.createArrayAtom=g},3561:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingM3uTagError=t.HlsParsingError=void 0;const a=r(78246);class s extends a.FrameworkError{constructor(e){super(e)}}t.HlsParsingError=s;class n extends s{constructor(){super("HLS Manifest parsing failed: missing #EXTM3U tag")}}t.MissingM3uTagError=n},25385:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingFunctions=void 0;const a=r(14809),s=r(3561),n=r(52237),i=r(48611);function o(e){return"playlists"in e}function u(e){return!o(e)}function c(e,{registry:t,effects:r}){return[new i.TranslatorStream(r.logger,t.get(a.CoreExportNames.Utils)),e]}function l([e,t]){return e.addTagParsers(n.DefaultTagParsers),[e,t]}function g([e,t]){try{const r=e.translate(t);if(!r.hasM3u)throw new s.MissingM3uTagError;if("playlists"in r){const e=r.playlists.map((e=>({name:"stream-inf",value:e.uri,attributes:e.attributes})));r.tags=r.tags.concat(e)}return"playlistType"in r&&"EVENT"===r.playlistType&&(r.discontinuitySequence=r.discontinuitySequence||0),e.dispose(),r}finally{e.dispose()}}t.HlsParsingFunctions={isMultivariantPlaylist:o,isMediaPlaylist:u,createTranslator:c,addDefaultTagParsers:l,parsePlaylist:g}},58149:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingExportNames=t.PlaylistType=t.TagType=t.MetadataType=t.HlsEncryptionMethod=void 0,function(e){e.NONE="NONE",e.AES_128="AES-128",e.SAMPLE_AES="SAMPLE-AES"}(t.HlsEncryptionMethod||(t.HlsEncryptionMethod={})),function(e){e.CUETAG="CUETAG",e.DATERANGE="DATERANGE",e.CUSTOM="CUSTOM",e.SCTE="SCTE",e.ID3="ID3",e.EMSG="EMSG"}(t.MetadataType||(t.MetadataType={})),function(e){e.M3u="m3u",e.AllowCache="allow-cache",e.ByteRange="byterange",e.EndList="endlist",e.Inf="inf",e.Key="key",e.MediaSequence="media-sequence",e.DiscontinuitySequence="discontinuity-sequence",e.PlaylistType="playlist-type",e.StreamInf="stream-inf",e.IframeStreamInf="i-frame-stream-inf",e.Media="media",e.Start="start",e.Discontinuity="discontinuity",e.DateTime="date-time",e.TargetDuration="targetduration",e.Map="map",e.IndependentSegments="independent-segments",e.SessionData="session-data",e.SessionKey="session-key",e.CueOut="cue-out",e.CueOutCont="cue-out-cont",e.CueIn="cue-in",e.Scte35="scte35",e.DateRange="daterange",e.Version="version",e.Uri="uri",e.Unknown="unknown"}(t.TagType||(t.TagType={})),function(e){e.Vod="VOD",e.Event="EVENT"}(t.PlaylistType||(t.PlaylistType={})),function(e){e.ParsingTask="hls-parsing-task",e.ParsingFunctions="hls-parsing-functions",e.Errors="hls-parsing-errors"}(t.HlsParsingExportNames||(t.HlsParsingExportNames={}))},8079:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Stream=void 0;class r{constructor(){this.on=(e,t)=>{this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},this.trigger=(e,t)=>{this.listeners[e]&&this.listeners[e].forEach((e=>e(t)))},this.listeners={}}pipe(e){this.on("data",(t=>e.push(t)))}dispose(){this.listeners={}}}t.Stream=r},51219:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseAttributes=void 0;const r=new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))');function a(e){var t,a;const s=e.split(r);let n=s.length;const i={};for(;n--;){if(""===s[n])continue;const e=null!==(a=null===(t=/([^=]*)=(.*)/.exec(s[n]))||void 0===t?void 0:t.slice(1))&&void 0!==a?a:[];e[0]=e[0].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^['"](.*)['"]$/g,"$1"),i[e[0]]=e[1]}return i}t.parseAttributes=a},52237:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultTagParsers=void 0;const a=r(58149),s=r(51219),n="#EXT-X-";function i(e){return RegExp(`^${n}${e}`)}const o={matcher:/^[^#].+$/,process:e=>({tagType:a.TagType.Uri,uri:e[0]})},u={matcher:/^#EXTM3U/,process:()=>({tagType:a.TagType.M3u})},c={matcher:i("INDEPENDENT-SEGMENTS"),process:()=>({tagType:a.TagType.IndependentSegments})},l={matcher:i("MEDIA:(.*)$"),process:e=>({tagType:a.TagType.Media,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},g={matcher:/^#EXTINF:?([0-9.]*)?,?(.*)?$/,process:e=>{var t;return{tagType:a.TagType.Inf,duration:e[1]?parseFloat(e[1]):void 0,title:null!==(t=e[2])&&void 0!==t?t:void 0}}},d={matcher:i("TARGETDURATION:?([0-9.]*)?"),process:e=>({tagType:a.TagType.TargetDuration,duration:e[1]?parseInt(e[1],10):void 0})},m={matcher:i("VERSION:?([0-9.]*)?"),process:e=>({tagType:a.TagType.Version,version:e[1]?parseInt(e[1],10):void 0})},p={matcher:i("START:(.*)$"),process:e=>({tagType:a.TagType.Start,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},f={matcher:i("MEDIA-SEQUENCE:?(\\-?[0-9.]*)?"),process:e=>({tagType:a.TagType.MediaSequence,number:e[1]?parseInt(e[1],10):void 0})},T={matcher:i("DISCONTINUITY-SEQUENCE:?(\\-?[0-9.]*)?"),process:e=>({tagType:a.TagType.DiscontinuitySequence,number:e[1]?parseInt(e[1],10):void 0})},S={matcher:i("PLAYLIST-TYPE:?(.*)?$"),process:e=>({tagType:a.TagType.PlaylistType,playlistType:Object.values(a.PlaylistType).includes(e[1])?e[1]:a.PlaylistType.Vod})},y={matcher:i("BYTERANGE:?([0-9.]*)?@?([0-9.]*)?"),process:e=>({tagType:a.TagType.ByteRange,length:e[1]?parseInt(e[1],10):void 0,offset:e[2]?parseInt(e[2],10):void 0})},h={matcher:i("ALLOW-CACHE:?(YES|NO)?"),process:e=>({tagType:a.TagType.AllowCache,allowed:e[1]?!/NO/.test(e[1]):void 0})},b={matcher:i("SESSION-DATA:?(.*)$"),process:e=>({tagType:a.TagType.SessionData,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},v={matcher:i("SESSION-KEY:?(.*)$"),process:e=>({tagType:a.TagType.SessionKey,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},A={matcher:i("STREAM-INF:?(.*)$"),process:e=>({tagType:a.TagType.StreamInf,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},E={matcher:i("I-FRAME-STREAM-INF:?(.*)$"),process:e=>({tagType:a.TagType.IframeStreamInf,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},k={matcher:i("ENDLIST"),process:()=>({tagType:a.TagType.EndList})},O={matcher:i("DISCONTINUITY"),process:()=>({tagType:a.TagType.Discontinuity})},N={matcher:i("KEY:?(.*)$"),process:e=>({tagType:a.TagType.Key,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},D={matcher:i("MAP:?(.*)$"),process:e=>({tagType:a.TagType.Map,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},C={matcher:i("PROGRAM-DATE-TIME:?(.*)$"),process:e=>({tagType:a.TagType.DateTime,dateTime:e[1]?new Date(e[1]):void 0})},I={matcher:i("CUE-OUT-CONT:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueOutCont,data:null!==(t=e[1])&&void 0!==t?t:""}}},M={matcher:i("CUE-OUT:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueOut,data:null!==(t=e[1])&&void 0!==t?t:""}}},P={matcher:i("CUE-IN:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueIn,data:null!==(t=e[1])&&void 0!==t?t:""}}},U={matcher:i("SCTE35:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.Scte35,data:null!==(t=e[1])&&void 0!==t?t:""}}},G={matcher:i("DATERANGE:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.DateRange,data:null!==(t=e[1])&&void 0!==t?t:""}}};t.DefaultTagParsers=[o,u,c,l,g,d,m,p,f,T,S,y,h,b,v,A,E,k,O,N,D,C,I,M,P,U,G]},43860:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LineStream=void 0;const a=r(8079);class s extends a.Stream{constructor(){super(),this.buffer=""}push(e){this.buffer+=e;let t=this.buffer.indexOf("\n");for(;t>-1;t=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)}}t.LineStream=s},43705:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ParserStream=void 0;const a=r(58149),s=r(8079);class n extends s.Stream{constructor(){super(),this.tagParsers=[]}addTagParser(e){this.tagParsers.push(e)}parseLine(e){for(let t=0;t<this.tagParsers.length;t++){const{matcher:r,process:a}=this.tagParsers[t],s=r.exec(e);if(s)return void this.trigger("data",a(s))}this.trigger("data",{tagType:a.TagType.Unknown,data:e.slice(0,e.length)})}push(e){const t=o(i(e));0!==t.length&&this.parseLine(t)}}function i(e){return e.replace(/^[\0\s]+|[\0\s]+$/g,"")}function o(e){return e.replace("\r","")}t.ParserStream=n},48611:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TranslatorStream=void 0;const a=r(58149),s=r(8079),n=r(51219),i=r(43860),o=r(43705);class u extends s.Stream{constructor(e,t){super(),this.logger=e,this.utils=t,this.translateM3u=e=>{this.manifestObj.hasM3u=!0},this.translateEndList=e=>{this.manifestObj.endList=!0},this.translateDiscontinuity=e=>{var t,r,a;const s=null!==(r=null===(t=this.manifestObj.segments)||void 0===t?void 0:t.length)&&void 0!==r&&r?1:0;this.currentDiscontinuitySequence=this.currentDiscontinuitySequence+s,this.currentUri.discontinuity=!0,null===(a=this.manifestObj.discontinuityStarts)||void 0===a||a.push(this.uris.length)},this.translateIndependentSegments=e=>{var t;this.manifestObj.independentSegments=!0,null===(t=this.manifestObj.tags)||void 0===t||t.push({name:"independent-segments"})},this.onData=e=>{this.translateTag(e)},this.uris=[],this.currentUri={},this.keys=[],this.keysInUse=!1,this.cueTag=void 0,this.scte35=[],this.customTags=[],this.dateRange=[],this.lineStream=new i.LineStream,this.parseStream=new o.ParserStream,this.lineStream.pipe(this.parseStream),this.currentDiscontinuitySequence=0,this.manifestObj={allowCache:!0,discontinuityStarts:[],discontinuitySequence:0,endList:!1,media:[],segments:[],totalDuration:0,tags:[],version:1,hasM3u:!1},this.parseStream.on("data",this.onData)}addTagParsers(e){e.forEach((e=>this.parseStream.addTagParser(e)))}get manifest(){return this.manifestObj}getCustomTag(e){try{e=this.utils.String.forceReallocation(e);const t=/^#([^:=]*)(:|=)?(.*)$/.exec(e);if(null==t?void 0:t[1]){const e={name:t[1]};let r="";if("="===t[2]&&t[3])r=t[3];else if(":"===t[2]&&t[3]){const a=/^([^:="]*)(:|=)?(.*)$/.exec(t[3]);"="===(null==a?void 0:a[2])&&(null==a?void 0:a[3])?e.attributes=(0,n.parseAttributes)(t[3]):r=t[3]}return r&&(e.value=r.replace(/^['"](.*)['"]$/g,"$1")),e}return}catch(t){return void this.logger.error(`Error occurred while parsing custom HLS tag: ${e}`)}}translateAllowCache(e){var t;this.manifestObj.allowCache=null===(t=e.allowed)||void 0===t||t}translateByteRange(e){void 0!==e.length&&(this.currentUri.byterange={length:e.length,offset:e.offset})}translateInf(e){"mediaSequence"in this.manifest||(this.manifestObj.mediaSequence=0,this.logger.debug("defaulting media sequence to zero")),void 0!==e.duration&&e.duration>=0&&(this.currentUri.duration=e.duration),this.manifestObj.segments=this.uris}translateKey(e){if(!e.attributes)return this.logger.warn("ignoring key declaration without attribute list");if("NONE"===e.attributes.METHOD)return void(this.keys=[]);if(!e.attributes.URI)return this.logger.warn("ignoring key declaration without URI");if(!e.attributes.METHOD)return this.logger.warn("defaulting key method to AES-128");this.keysInUse&&(this.keys=[],this.keysInUse=!1);const t={method:this.utils.String.forceReallocation(e.attributes.METHOD)||a.HlsEncryptionMethod.AES_128,uri:this.utils.String.forceReallocation(e.attributes.URI)};if(void 0!==e.attributes.IV){const r=e.attributes.IV.toLowerCase(),a="0x"===r.substring(0,2)?r.substring(2):r;t.iv=new Uint8Array(this.utils.String.hexStringToUint8Array(a)).buffer}e.attributes.KEYFORMAT&&(t.keyformat=this.utils.String.forceReallocation(e.attributes.KEYFORMAT)),e.attributes.KEYFORMATVERSIONS&&(t.keyformatversions=this.utils.String.forceReallocation(e.attributes.KEYFORMATVERSIONS)),e.attributes.KEYID&&(t.keyid=this.utils.String.forceReallocation(e.attributes.KEYID)),this.keys.push(t)}translateMediaSequence(e){var t;if(!isFinite(null!==(t=e.number)&&void 0!==t?t:1/0))return this.logger.warn("ignoring invalid media sequence: "+e.number);this.manifestObj.mediaSequence=e.number}translateDiscontinuitySequence(e){var t,r;if(!isFinite(null!==(t=e.number)&&void 0!==t?t:1/0))return this.logger.warn("ignoring invalid discontinuity sequence: "+e.number);this.manifestObj.discontinuitySequence=e.number,this.currentDiscontinuitySequence=null!==(r=e.number)&&void 0!==r?r:0}translatePlaylistType(e){var t;if(!/VOD|EVENT/.test(null!==(t=e.playlistType)&&void 0!==t?t:""))return this.logger.warn("ignoring unknown playlist type: "+e.playlistType);this.manifestObj.playlistType=e.playlistType}translateStreamInf(e){if(this.manifestObj.playlists=this.uris,!e.attributes)return this.logger.warn("ignoring empty stream-inf attributes");const t=Object.assign(Object.assign({},e.attributes),this.currentUri.attributes);if(e.attributes.RESOLUTION){const r=c(e.attributes.RESOLUTION);r&&void 0!==r.height&&void 0!==r.width&&(t.RESOLUTION=r)}e.attributes.BANDWIDTH&&(t.BANDWIDTH=parseInt(e.attributes.BANDWIDTH,10)),e.attributes["AVERAGE-BANDWIDTH"]&&(t["AVERAGE-BANDWIDTH"]=parseInt(e.attributes["AVERAGE-BANDWIDTH"],10)),e.attributes["PROGRAM-ID"]&&(t["PROGRAM-ID"]=parseInt(e.attributes["PROGRAM-ID"],10)),this.currentUri.attributes||(this.currentUri.attributes={}),this.currentUri.attributes=t}translateIframeStreamInf(e){var t;const r={name:"i-frame-stream-inf"};e.attributes&&(r.attributes=Object.assign(Object.assign({},e.attributes),{BANDWIDTH:e.attributes.BANDWIDTH?parseInt(e.attributes.BANDWIDTH,10):void 0,RESOLUTION:e.attributes.RESOLUTION?c(e.attributes.RESOLUTION):void 0,"AVERAGE-BANDWIDTH":e.attributes["AVERAGE-BANDWIDTH"]?parseInt(e.attributes["AVERAGE-BANDWIDTH"],10):void 0})),null===(t=this.manifestObj.tags)||void 0===t||t.push(r)}translateMedia(e){var t,r;null===(t=this.manifestObj.media)||void 0===t||t.push({attributes:e.attributes});const a={name:"media"};e.attributes&&(a.attributes=e.attributes),null===(r=this.manifestObj.tags)||void 0===r||r.push(a)}translateStart(e){var t,r,a;const s={};void 0!==(null===(t=e.attributes)||void 0===t?void 0:t["TIME-OFFSET"])&&(s.timeOffset=null!==(r=Number(e.attributes["TIME-OFFSET"]))&&void 0!==r?r:0,s.precise="YES"===e.attributes.PRECISE,this.manifestObj.start=s);const n={name:"start"};void 0!==s.timeOffset&&(n.attributes={"TIME-OFFSET":s.timeOffset,PRECISE:s.precise}),null===(a=this.manifestObj.tags)||void 0===a||a.push(n)}translateDateTime(e){this.manifestObj.dateTime=e.dateTime}translateTargetDuration(e){var t;if(!isFinite(null!==(t=e.duration)&&void 0!==t?t:1/0)||void 0!==e.duration&&e.duration<0)return this.logger.warn("ignoring invalid target duration: "+e.duration);this.manifestObj.targetDuration=e.duration}translateMap(e){if(e.attributes&&e.attributes.URI&&(this.init={url:this.utils.String.forceReallocation(e.attributes.URI)},e.attributes.BYTERANGE)){const t=e.attributes.BYTERANGE.split("@").map((e=>parseInt(e))),r=t[0],a=isNaN(t[1])?0:t[1];this.init.byteRange={start:a,end:a+r-1}}}translateSessionData(e){var t;const r={name:"session-data"};e.attributes&&(r.attributes=e.attributes),null===(t=this.manifestObj.tags)||void 0===t||t.push(r)}translateSessionKey(e){var t;let r=e.attributes.IV?e.attributes.IV.toLowerCase():void 0;r="0x"===(null==r?void 0:r.substring(0,2))?r.substring(2):r;const a=r?new Uint8Array(this.utils.String.hexStringToUint8Array(r)).buffer:void 0,s={name:"session-key"};e.attributes&&(s.attributes=e.attributes,s.attributes.IV=a),null===(t=this.manifestObj.tags)||void 0===t||t.push(s)}translateCueOut(e){this.cueTag=g(e,this.utils)}translateCueOutCont(e){this.cueTag=g(e,this.utils)}translateCueIn(e){this.cueTag=g(e,this.utils)}translateScte35(e){var t;this.scte35.push({type:a.MetadataType.SCTE,attributes:(0,n.parseAttributes)(null!==(t=e.data)&&void 0!==t?t:"")})}translateDateRange(e){this.dateRange.push(l(e,this.utils))}translateVersion(e){this.manifestObj.version=void 0!==e.version?e.version:1}translateUnknown(e){var t;this.customTags.push({type:a.MetadataType.CUSTOM,attributes:e.data});const r=e.data?this.getCustomTag(e.data):void 0;r&&(null===(t=this.manifestObj.tags)||void 0===t||t.push(r))}translateTag(e){switch(e.tagType){case a.TagType.M3u:return this.translateM3u(e);case a.TagType.AllowCache:return this.translateAllowCache(e);case a.TagType.ByteRange:return this.translateByteRange(e);case a.TagType.EndList:return this.translateEndList(e);case a.TagType.Inf:return this.translateInf(e);case a.TagType.Key:return this.translateKey(e);case a.TagType.MediaSequence:return this.translateMediaSequence(e);case a.TagType.DiscontinuitySequence:return this.translateDiscontinuitySequence(e);case a.TagType.PlaylistType:return this.translatePlaylistType(e);case a.TagType.StreamInf:return this.translateStreamInf(e);case a.TagType.IframeStreamInf:return this.translateIframeStreamInf(e);case a.TagType.Media:return this.translateMedia(e);case a.TagType.Start:return this.translateStart(e);case a.TagType.Discontinuity:return this.translateDiscontinuity(e);case a.TagType.DateTime:return this.translateDateTime(e);case a.TagType.TargetDuration:return this.translateTargetDuration(e);case a.TagType.Map:return this.translateMap(e);case a.TagType.IndependentSegments:return this.translateIndependentSegments(e);case a.TagType.SessionData:return this.translateSessionData(e);case a.TagType.SessionKey:return this.translateSessionKey(e);case a.TagType.CueOut:return this.translateCueOut(e);case a.TagType.CueOutCont:return this.translateCueOutCont(e);case a.TagType.CueIn:return this.translateCueIn(e);case a.TagType.Scte35:return this.translateScte35(e);case a.TagType.DateRange:return this.translateDateRange(e);case a.TagType.Version:return this.translateVersion(e);case a.TagType.Uri:return this.translateUri(e);case a.TagType.Unknown:default:return this.translateUnknown(e)}}translateUri(e){var t;this.currentUri.uri=e.uri?this.utils.String.forceReallocation(e.uri):"",this.manifestObj.targetDuration&&!("duration"in this.currentUri)&&(this.logger.warn("defaulting segment duration to the target duration"),this.currentUri.duration=this.manifestObj.targetDuration),this.keys.length>0&&(this.currentUri.keys=this.keys,this.keysInUse=!0),this.init&&(this.currentUri.init=this.init),this.cueTag&&(this.currentUri.cueTag=this.cueTag,this.cueTag=void 0),this.scte35.length>0&&(this.currentUri.scte35=this.scte35,this.scte35=[]),this.dateRange.length>0&&(this.currentUri.dateRange=this.dateRange,this.dateRange=[]),this.customTags.length>0&&(this.currentUri.customTags=this.customTags,this.customTags=[]),this.manifestObj.dateTime&&(this.currentUri.dateTime=this.manifestObj.dateTime,delete this.manifestObj.dateTime),this.uris.push(this.currentUri),this.currentUri.duration&&(this.currentUri.discontinuitySequenceNumber=this.currentDiscontinuitySequence,this.manifestObj.totalDuration=(null!==(t=this.manifestObj.totalDuration)&&void 0!==t?t:0)+this.currentUri.duration),this.currentUri={}}push(e){this.lineStream.push(e)}translate(e){return this.push(e),this.push("\n"),this.manifest}dispose(){super.dispose(),this.parseStream.dispose(),this.lineStream.dispose()}}function c(e){const t=e.split("x");return{width:t[0]?parseInt(t[0],10):void 0,height:t[0]?parseInt(t[1],10):void 0}}function l(e,t){const r={type:a.MetadataType.DATERANGE};if(e.data){const a=(0,n.parseAttributes)(e.data);r.clientAttributes={};for(const e in a)void 0!==a[e]&&(0===e.indexOf("X-")?r.clientAttributes[t.String.kebabCaseToCamelCase(e.substr(2))]=a[e]:r[t.String.kebabCaseToCamelCase(e)]=a[e])}return r.duration&&(r.duration=Number(r.duration)),r.plannedDuration&&(r.plannedDuration=Number(r.plannedDuration)),r.endOnNext&&(r.endOnNext=!0),r}function g(e,t){return{type:e.tagType.toUpperCase(),attributes:e.data?t.String.forceReallocation(e.data).split(",").map((e=>e.trim())):[]}}t.TranslatorStream=u},11632:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationPackage=void 0;const a=r(97085),s=r(14809),n=r(78622),i=r(20624),o=r(6577),u=r(50791);t.HlsTranslationPackage=(0,a.createPackage)("hls-translation-package",((e,t)=>{t.registry.maybeSet(u.HlsTranslationExportNames.HlsVariantTranslator,o.HlsVariantTranslationTask),t.registry.maybeSet(u.HlsTranslationExportNames.HlsMultivariantTranslator,i.HlsMultivariantPlaylistTranslatorTask)}),[s.CoreExportNames.Utils,s.CoreExportNames.CoreEffects,s.CoreExportNames.CoreStateAtoms,...n.StreamDataStructureExportNames]),t.default=t.HlsTranslationPackage},50791:(e,t)=>{function r(e){return void 0!==e.attributes.URI}function a(e){return e.attributes.AUDIO}function s(e){return e.attributes.VIDEO}Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationExportNames=t.getReferencedVideoGroupId=t.getReferencedAudioGroupId=t.isMediaTagWithUri=void 0,t.isMediaTagWithUri=r,t.getReferencedAudioGroupId=a,t.getReferencedVideoGroupId=s,function(e){e.HlsMultivariantTranslator="hls-multivariant-translator",e.HlsVariantTranslator="hls-variant-translator"}(t.HlsTranslationExportNames||(t.HlsTranslationExportNames={}))},20624:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsMultivariantPlaylistTranslatorTask=void 0;const a=r(91270),s=r(47755),n=r(14809),i=r(66895),o=r(35786),u=r(92963),c=r(85591),l=r(50791);function g(e,t,r){let a=e.find((e=>e.groupType===r&&e.groupId===t));return a||(a={groupId:t,groupType:r,referencedTracks:[],referencingTracks:[]},e.push(a)),a}function d(e,t){return e.find((e=>e.groupId===t))}function m(e,t){const r=e.registry.get(n.CoreExportNames.Constants).MediaType;return t.attributes.AUDIO?{groupType:r.Audio,groupId:t.attributes.AUDIO}:t.attributes.VIDEO?{groupType:r.Video,groupId:t.attributes.VIDEO}:void 0}function p(e,t,r){const a=e.registry.get(i.StreamDataStructureTracks).isMediaTrack;if(void 0!==t&&a(r))return t.referencingTracks.filter(a).find((e=>e.uri===r.uri))}function f(e,t,r){var a,s;const{state:n}=e.effects,i=r.bitrate<0?t.bitrate:r.bitrate,o=r.language.length>0?r.language:t.language,u=(null!==(s=null===(a=r.label)||void 0===a?void 0:a.length)&&void 0!==s?s:0)>0?r.label:t.label;void 0!==u&&n.dispatch(r.setLabel,u),n.dispatch(r.setBitrate,i),n.dispatch(r.setLanguage,o)}function T(e,t,r){const{isAudioTrack:a}=e.registry.get(i.StreamDataStructureTracks);a(t)&&a(r)&&f(e,t,r)}function S(e,t,r){const{isMediaTrack:a}=e.registry.get(i.StreamDataStructureTracks);return t.flatMap((e=>{var t;return a(e)&&null!==(t=e.codecs.get(r))&&void 0!==t?t:[]}))}function y(e,t){const{state:r}=e.effects,{isMediaTrack:a}=e.registry.get(i.StreamDataStructureTracks);for(const{groupType:s,referencedTracks:n,referencingTracks:i}of t){const t=S(e,i,s);for(const e of n){if(!a(e))continue;const n=h(e,s,t);n.length>0&&r.dispatch(e.codecs.add,s,n)}if(!n.some((e=>!a(e)||void 0===e.uri)))for(const e of i)a(e)&&r.dispatch(e.codecs.remove,s)}}function h(e,t,r){var a;return Array.from(new Set([...null!==(a=e.codecs.get(t))&&void 0!==a?a:[],...r]))}t.HlsMultivariantPlaylistTranslatorTask=(0,a.createTask)(l.HlsTranslationExportNames.HlsMultivariantTranslator,(function([e,t,r],a){const{state:n}=a.effects,l=a.registry.get(i.StreamDataStructureTracks).isMediaTrack,f=(0,s.createArrayAtom)(a,[]),S=[];e.playlists.forEach((e=>{const r=(0,c.variantToTrack)(a,e,t,f.length+1),s=m(a,e);if(l(r)&&void 0!==s){const{groupId:e,groupType:t}=s;g(S,e,t).referencingTracks.push(r)}n.dispatch(f.add,r)})),e.media.forEach((e=>{const r=(0,o.mediaToTrack)(a,e,t,f.length+1),s=e.attributes["GROUP-ID"],n=d(S,s),i=p(a,n,r);n&&n.referencedTracks.push(r),i?T(a,r,i):a.effects.state.dispatch(f.add,r)})),y(a,S);const h=(0,u.tracksToSelectionGroups)(a,f);a.effects.state.dispatch(r.tracks.set,f.slice()),a.effects.state.dispatch(r.selectionGroups.set,h.slice())}))},6577:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsVariantTranslationTask=void 0;const a=r(91270),s=r(44573),n=r(25385),i=r(94116),o=r(50822),u=r(50791);t.HlsVariantTranslationTask=(0,a.createTask)(u.HlsTranslationExportNames.HlsVariantTranslator,(function([e,t,r,a,u],c){if(!n.HlsParsingFunctions.isMediaPlaylist(e))throw new Error("Provided playlist is not a variant playlist");const l=e.endList?s.StreamType.VoD:s.StreamType.Live;c.effects.state.dispatch(a.setType,l),l===s.StreamType.VoD?(0,o.extractVodSegments)(c,e.segments,t,r,a):(0,i.extractLiveSegments)(c,e.segments,t,r,a,u)}))},94116:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extractLiveSegments=void 0;const a=r(14809),s=r(66895),n=r(43616),i=r(77688),o=r(75597);function u(e,t,r,s,n){const u=e.registry.get(a.CoreExportNames.Utils);r.uri=(0,i.buildAbsoluteSegmentUrl)(s,n,r.uri,u);const c=[];for(const e of t.segments){if((0,o.isMatchingSegment)(e,r))break;c.push(e)}return c}function c(e,t,r){const a=e.effects.state,s=[t],n=r.selectionGroups.find((e=>e.tracks.includes(t)));if(n){const e=e=>0===e.segments.length,t=n.tracks.filter(e);s.push(...t),a.dispatch(n.tracks.remove,...s)}a.dispatch(r.tracks.remove,...s)}function l(e,t,r){const a=e.effects.state;for(const e of r)a.dispatch(t.segments.remove,e)}function g(e,t,r,a,n,i){const{isSubtitleTrack:o}=e.registry.get(s.StreamDataStructureTracks);for(const s of r){if(s.sequenceNumber===1/0||o(s)&&s.external)continue;const r=u(e,s,t,n,i);if(r.length!==s.segments.length){l(e,s,r);break}l(e,s,s.segments),c(e,s,a)}}function d(e,t){const{state:r}=e.effects,a=[];for(const e of t.selectionGroups)0===e.tracks.length&&a.push(e);r.dispatch(t.selectionGroups.remove,...a)}function m(e,t,r){const{createArrayAtom:s}=e.registry.get(a.CoreExportNames.CoreStateAtoms),n=e.effects.state,i=new Map,u=s(e,r.selectionGroups.slice());for(const r of t){const t=(0,o.findOrCreateSelectionGroup)(e,r,u);n.dispatch(r.setSelectionGroup,t),i.set(t,r),u.includes(t)||n.dispatch(u.insertSorted,(e=>e.sequenceNumber),t)}for(const[t,r]of i)n.dispatch(t.tracks.addIfNew,r),(0,o.maybeSetSelectionGroupContainerFormat)(e,t);n.dispatch(r.selectionGroups.set,u.slice()),n.dispatch(r.tracks.insertSorted,(e=>e.sequenceNumber),...t)}function p(e,t,r,a,s,i){if(!t.length)return;const u=(0,o.findTracksOfVariant)(e,s,r),c=(0,n.processSegmentEntries)(e,t,a,r,s,u,i);g(e,t[0],u,s,a,r),m(e,c,s),d(e,s)}t.extractLiveSegments=p},43616:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processSegmentEntries=void 0;const a=r(14809),s=r(24693),n=r(77688),i=r(75597);function o(e,t,r,a,s,i,o){const u=(0,n.maybeCreateInitSegment)(e,t,r,a,s,o),c=(0,n.createSegment)(e,t,-1,o,u);i[0][1].unshift(c)}function u(e,t,r){const a=t.segmentTiming,{state:s}=e.effects;let n=a.parsedPlaybackTime+a.parsedDuration;for(const[e,t]of r){const r=[];for(const e of t)s.dispatch(e.segmentTiming.manifestParsed,e.segmentTiming.parsedDuration,n),s.dispatch(e.segmentTiming.timestampOffsetChanged,a.timestampOffset),r.push(e),n+=e.segmentTiming.parsedDuration;s.dispatch(e.segments.add,...r)}}function c(e,t){const{state:r}=e.effects;let a=Date.now()/1e3;for(let e=t.length-1;e>=0;e--){const[s,n]=t[e];for(let e=n.length-1;e>=0;e--){const t=n[e];a-=t.segmentTiming.parsedDuration,r.dispatch(t.segmentTiming.manifestParsed,t.segmentTiming.parsedDuration,a)}r.dispatch(s.segments.set,n)}}function l(e,t,r,l,g,d,m){const p=[],f=[],T=e.registry.get(a.CoreExportNames.Utils),{isDataOrSelfInitSegment:S}=e.registry.get(s.StreamDataStructureSegments);let y,h=-1;for(let a=t.length-1;a>=0;a--){const s=t[a],c=h!==s.discontinuitySequenceNumber;s.uri=(0,n.buildAbsoluteSegmentUrl)(r,l,s.uri,T),h=s.discontinuitySequenceNumber,y=c?d.find((e=>e.sequenceNumber===s.discontinuitySequenceNumber)):y,y||(y=(0,i.createTrack)(e,l,g,s.discontinuitySequenceNumber,d[0]),p.push(y)),c&&f.unshift([y,[]]);const b=y.segments[y.segments.length-1];if(b&&S(b)&&(0,i.isMatchingSegment)(b,s))return u(e,b,f),p;o(e,s,m,r,l,f,y)}return c(e,f),p}t.processSegmentEntries=l},77688:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.buildAbsoluteSegmentUrl=t.createSegment=t.maybeCreateInitSegment=void 0;const a=r(14809),s=r(74269),n=r(66434);function i(e,{url:t,byteRange:r},n,i,o){const u=e.registry.get(a.CoreExportNames.Utils),l=r?{start:r.start,end:r.end}:void 0,{DataStream:{createDataStreamAtom:g},createMapStateAtom:d}=e.registry.get(a.CoreExportNames.CoreStateAtoms),m=g(e),p=d(e);return(0,s.createInitSegmentAtom)(e,{type:s.SegmentType.Initialization,url:c(n,i,t,u),byteRange:l,data:m,metadata:p,track:o,selectionGroup:o.selectionGroup})}function o(e,t,r,a,s,n){if(!t.init)return;const o=r.get(t.init.url);if(o)return o;const u=i(e,t.init,a,s,n);return r.set(t.init.url,u),u}function u(e,{duration:t,uri:r,byterange:i},o,u,c){var l;const{DataStream:{createDataStreamAtom:g},createMapStateAtom:d}=e.registry.get(a.CoreExportNames.CoreStateAtoms),m=null!==(l=null==i?void 0:i.offset)&&void 0!==l?l:0,p={url:r,byteRange:i?{start:m,end:m+i.length}:void 0,data:g(e),metadata:d(e),segmentTiming:(0,n.createSegmentTiming)(e,{parsedDuration:t,parsedPlaybackTime:o,encodedDuration:-1,encodedPlaybackTime:-1,timestampOffset:-1/0})};return c?(0,s.createDataSegmentAtom)(e,Object.assign(Object.assign({},p),{initSegment:c,track:u})):(0,s.createSelfInitSegmentAtom)(e,Object.assign(Object.assign({},p),{track:u}))}function c(e,t,r,a){const{Url:{removeLastPathPart:s,getDomainUrl:n,buildAbsoluteUrl:i,getBaseUrl:o}}=a,u=o(s(e),t);return i(u,n(u),r)}t.maybeCreateInitSegment=o,t.createSegment=u,t.buildAbsoluteSegmentUrl=c},75597:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.maybeSetSelectionGroupContainerFormat=t.isMatchingSegment=t.hasSegment=t.findOrCreateTrack=t.findTracksOfVariant=t.createTrack=t.findOrCreateSelectionGroup=t.createSelectionGroup=void 0;const a=r(14809),s=r(24693),n=r(27134),i=r(87568),o=r(66895);function u(e,t){var r;const{createAudioSelectionGroupAtom:s,createVideoSelectionGroupAtom:i,createSubtitleSelectionGroupAtom:u,createUnknownSelectionGroupAtom:c}=e.registry.get(n.StreamDataStructureSelectionGroups),{isVideoTrack:l,isAudioTrack:g,isSubtitleTrack:d}=e.registry.get(o.StreamDataStructureTracks),{createArrayAtom:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms),p=t.sequenceNumber;return l(t)?i(e,{tracks:m(e,[]),sequenceNumber:p}):g(t)?s(e,{language:t.language,tracks:m(e,[]),sequenceNumber:p}):d(t)?u(e,{language:t.language,tracks:m(e,[]),sequenceNumber:p},null!==(r=t.label)&&void 0!==r?r:t.language):c(e,{tracks:m(e,[]),sequenceNumber:p})}function c(e,t,r){const{isAudioSelectionGroup:s,isVideoSelectionGroup:u,isSubtitleSelectionGroup:c}=e.registry.get(n.StreamDataStructureSelectionGroups),{isMediaTrack:l,isSubtitleTrack:g,isVideoTrack:d,isAudioTrack:m}=e.registry.get(o.StreamDataStructureTracks),{findIndex:p,findIndexWithPivot:f}=e.registry.get(a.CoreExportNames.Utils).Arrays.Sorted,T=e=>e.sequenceNumber,S=e=>m(t)&&s(e)?t.language===e.language:!(!d(t)||!u(e))||(g(t)&&c(e)?t.language===e.language:!l(t)&&!(0,i.isMediaSelectionGroup)(e)),y=p(r,t.sequenceNumber,T);if(y>-1&&S(r[y]))return r[y];const h=f(r,y,t.sequenceNumber,T,S);return h>-1?r[h]:void 0}function l(e,t,r){var a;return null!==(a=c(e,t,r))&&void 0!==a?a:u(e,t)}function g(e,t,r,s,n=d(e,r,t)[0]){const{CodecMap:{copyCodecs:i},createArrayAtom:u}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{createUnknownTrackAtom:c,createAudioTrackAtom:l,createVideoTrackAtom:g,createSubtitleTrackAtom:m,isMediaOrSubtitleTrack:p,isVideoTrack:f,isAudioTrack:T}=e.registry.get(o.StreamDataStructureTracks);return n&&p(n)?T(n)?l(e,{id:n.id,uri:t,sequenceNumber:s,codecs:i(e,n.codecs),language:n.language,segments:u(e,[]),bitrate:n.bitrate}):f(n)?g(e,{id:n.id,uri:t,resolution:n.resolution,sequenceNumber:s,codecs:i(e,n.codecs),segments:u(e,[]),bitrate:n.bitrate}):m(e,{id:n.id,uri:t,sequenceNumber:s,language:n.language,segments:u(e,[]),fragmented:n.fragmented,external:n.external,label:n.label}):c(e,{id:"-1",sequenceNumber:s})}function d(e,t,r){const{isMediaOrSubtitleTrack:a}=e.registry.get(o.StreamDataStructureTracks);return t.tracks.filter((e=>a(e)&&e.uri===r))}function m(e,t,r,a,s=d(e,a,t)[0]){var n;return null!==(n=p(e,t,r,a))&&void 0!==n?n:g(e,t,a,r.discontinuitySequenceNumber,s)}function p(e,t,r,a){const{isMediaOrSubtitleTrack:s}=e.registry.get(o.StreamDataStructureTracks);return a.tracks.find((e=>e.sequenceNumber===r.discontinuitySequenceNumber&&s(e)&&e.uri===t))}function f(e,t){return e.segments.some((e=>y(e,t)))}function T(e,t){var r;if(void 0===e.byteRange||void 0===t.byterange)return e.byteRange===t.byterange;const a=null!==(r=t.byterange.offset)&&void 0!==r?r:0,s=e.byteRange.start===a,n=e.byteRange.end===a+t.byterange.length;return s&&n}function S(e,t){return e===t}function y(e,t){return S(e.url,t.uri)&&T(e,t)}function h(e,t){const{resolveContainerFormatFromUrl:r}=e.registry.get(s.StreamDataStructureSegments),{isMediaSelectionGroup:a}=e.registry.get(n.StreamDataStructureSelectionGroups);if(!a(t)||void 0!==t.container.value||!t.tracks.length||!t.tracks[0].segments.length)return;const i=r(e,t.tracks[0].segments[0].url);e.effects.state.dispatch(t.container.setValue,i)}t.createSelectionGroup=u,t.findOrCreateSelectionGroup=l,t.createTrack=g,t.findTracksOfVariant=d,t.findOrCreateTrack=m,t.hasSegment=f,t.isMatchingSegment=y,t.maybeSetSelectionGroupContainerFormat=h},50822:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignSelectionGroups=t.removeInfinityTrack=t.extractVodSegments=void 0;const a=r(14809),s=r(66895),n=r(77688),i=r(75597);function o(e,t,r,s,o){const l=e.registry.get(a.CoreExportNames.Utils),g=new Map;let d=0,m=-1;const p=[],f=[],T=[];let S;for(let a=0;a<t.length;a++){const u=t[a];if(m!==u.discontinuitySequenceNumber||!S){m=u.discontinuitySequenceNumber;const t=(0,i.findOrCreateTrack)(e,r,u,o);S=t,o.tracks.includes(t)||p.push(t)}const c=S;if(u.uri=(0,n.buildAbsoluteSegmentUrl)(s,r,u.uri,l),!(0,i.hasSegment)(c,u)){const t=(0,n.maybeCreateInitSegment)(e,u,g,s,r,c),a=(0,n.createSegment)(e,u,d,c,t);d+=u.duration,e.effects.state.dispatch(c.segments.addIfNew,a)}}c(e,p,f,T,o);const y=e=>e.sequenceNumber;e.effects.state.dispatch(o.tracks.insertSorted,y,...p),e.effects.state.dispatch(o.selectionGroups.insertSorted,y,...T),e.effects.state.dispatch(o.duration.setValue,d),u(e,o,r)}function u(e,t,r){const{isMediaOrSubtitleTrack:a}=e.registry.get(s.StreamDataStructureTracks),n=t.tracks.filter((e=>a(e)&&e.uri===r&&e.sequenceNumber===1/0)),{state:i}=e.effects;for(const e of n)i.dispatch(e.selectionGroup.tracks.remove,e),i.dispatch(t.tracks.remove,e),0===e.selectionGroup.tracks.length&&i.dispatch(t.selectionGroups.remove,e.selectionGroup)}function c(e,t,r,a,s){for(const n of t){const t=(0,i.findOrCreateSelectionGroup)(e,n,s.selectionGroups);e.effects.state.dispatch(t.tracks.addIfNew,n),e.effects.state.dispatch(n.setSelectionGroup,t),(0,i.maybeSetSelectionGroupContainerFormat)(e,t),r.includes(t)||r.push(t),s.selectionGroups.includes(t)||a.push(t)}}t.extractVodSegments=o,t.removeInfinityTrack=u,t.assignSelectionGroups=c},35786:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.mediaToTrack=void 0;const a=r(47755),s=r(14809),n=r(60806),i=r(50791);function o(e,t,r,a){const n=e.registry.get(s.CoreExportNames.Utils);switch(t.attributes.TYPE){case"AUDIO":return(0,i.isMediaTagWithUri)(t)?u(e,t,r,a,n):l(e,a);case"SUBTITLES":return(0,i.isMediaTagWithUri)(t)?c(e,a,t,r,n):l(e,a);default:return l(e,a)}}function u(e,t,r,s,i){var o,u;const{Url:{removeLastPathPart:c,concatUrlParts:l},Codecs:{extractCodecMap:g}}=i,d=c(r);return(0,n.createAudioTrackAtom)(e,{id:String(s),sequenceNumber:1/0,uri:l(d,t.attributes.URI),segments:(0,a.createArrayAtom)(e,[]),codecs:g(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),language:t.attributes.LANGUAGE||"unknown",label:t.attributes.NAME,bitrate:null!==(u=t.attributes.BANDWIDTH)&&void 0!==u?u:-1})}function c(e,t,r,a,s){var i;const{Url:{removeLastPathPart:o,concatUrlParts:u}}=s,c=o(a);return(0,n.createSubtitleTrackAtom)(e,{id:String(t),language:null!==(i=r.attributes.LANGUAGE)&&void 0!==i?i:"unknown",uri:u(c,r.attributes.URI),external:!1,fragmented:!0,label:r.attributes.NAME})}function l(e,t){return(0,n.createUnknownTrackAtom)(e,{id:String(t),sequenceNumber:1/0,segments:(0,a.createArrayAtom)(e,[])})}t.mediaToTrack=o},92963:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tracksToSelectionGroups=void 0;const a=r(47755),s=r(27134),n=r(39077),i=r(66895);function o(e,t){const r=(0,a.createArrayAtom)(e,[]);for(const a of t)u(e,a,r);return r}function u(e,t,r){const{state:s}=e.effects,{isMediaTrack:o,isSubtitleTrack:u}=e.registry.get(i.StreamDataStructureTracks);if(!o(t)&&!u(t)){const i=(0,a.createArrayAtom)(e,[t]),o=(0,n.createUnknownSelectionGroupAtom)(e,{tracks:i,sequenceNumber:1/0});return s.dispatch(r.add,o),void s.dispatch(t.setSelectionGroup,o)}g(e,t,r)}function c(e,t,r){const{state:a}=e.effects;a.dispatch(r.tracks.add,t),a.dispatch(t.setSelectionGroup,r)}function l(e,t,r){const{state:a}=e.effects,s=d(e,t);a.dispatch(r.add,s),a.dispatch(t.setSelectionGroup,s)}function g(e,t,r){const a=m(e,t,r);a?c(e,t,a):l(e,t,r)}function d(e,t){var r;const{isVideoTrack:s,isAudioTrack:o}=e.registry.get(i.StreamDataStructureTracks),u=(0,a.createArrayAtom)(e,[t]);return s(t)?(0,n.createVideoSelectionGroupAtom)(e,{tracks:u,sequenceNumber:1/0}):o(t)?(0,n.createAudioSelectionGroupAtom)(e,{tracks:u,language:t.language,sequenceNumber:1/0}):(0,n.createSubtitleSelectionGroupAtom)(e,{tracks:u,language:t.language,sequenceNumber:1/0},null!==(r=t.label)&&void 0!==r?r:t.language)}function m(e,t,r){const{isVideoTrack:a,isAudioTrack:n}=e.registry.get(i.StreamDataStructureTracks),{isVideoSelectionGroup:o,isAudioSelectionGroup:u}=e.registry.get(s.StreamDataStructureSelectionGroups),c=[[a,o],[n,u]];for(const[e,a]of c)if(e(t))for(const t of r)if(a(t)&&t.tracks.every(e))return t}t.tracksToSelectionGroups=o},85591:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.variantToTrack=void 0;const a=r(47755),s=r(14809),n=r(60806);function i(e,t){var r,a;const{MediaType:n}=e.registry.get(s.CoreExportNames.Constants),{getMediaTypeFromCodec:i}=e.registry.get(s.CoreExportNames.Utils).Codecs,o=void 0!==t.attributes.RESOLUTION,u=null!==(a=null===(r=t.attributes.CODECS)||void 0===r?void 0:r.split(","))&&void 0!==a?a:[],c=u.some((e=>i(e)===n.Audio)),l=u.some((e=>i(e)===n.Video));return o||l?n.Video:c?n.Audio:n.Unknown}function o(e,t,r,i){var o;const{extractCodecMap:u}=e.registry.get(s.CoreExportNames.Utils).Codecs,{Url:{removeLastPathPart:c,concatUrlParts:l}}=e.registry.get(s.CoreExportNames.Utils),g=c(r);return(0,n.createAudioTrackAtom)(e,{id:String(i),sequenceNumber:1/0,uri:l(g,t.uri),segments:(0,a.createArrayAtom)(e,[]),codecs:u(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),language:"unknown",label:"",bitrate:t.attributes.BANDWIDTH})}function u(e,t,r,i){var o,u;const{extractCodecMap:c}=e.registry.get(s.CoreExportNames.Utils).Codecs,{Url:{removeLastPathPart:l,concatUrlParts:g}}=e.registry.get(s.CoreExportNames.Utils),d=l(r);return(0,n.createVideoTrackAtom)(e,{id:String(i),sequenceNumber:1/0,uri:g(d,t.uri),segments:(0,a.createArrayAtom)(e,[]),codecs:c(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),bitrate:t.attributes.BANDWIDTH,resolution:null!==(u=t.attributes.RESOLUTION)&&void 0!==u?u:{width:-1,height:-1}})}function c(e,t,r){return(0,n.createUnknownTrackAtom)(e,{id:String(r),sequenceNumber:1/0,segments:(0,a.createArrayAtom)(e,[])})}function l(e,t,r,a){const{MediaType:n}=e.registry.get(s.CoreExportNames.Constants);switch(i(e,t)){case n.Video:return u(e,t,r,a);case n.Audio:return o(e,t,r,a);default:return c(e,t,a)}}t.variantToTrack=l},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const a=r(24693),s=r(27134),n=r(94503),i=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[a.StreamDataStructureSegments,s.StreamDataStructureSelectionGroups,i.StreamDataStructureTracks,n.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},74269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getGapToNextSegment=t.getTimeRange=t.getReadableSegmentName=t.createSelfInitSegmentAtom=t.createInitSegmentAtom=t.createDataSegmentAtom=t.SegmentType=void 0;const a=r(14809);var s;!function(e){e.Initialization="initialization",e.SelfInitializing="self-initializing",e.Data="data"}(s=t.SegmentType||(t.SegmentType={}));const n=(e,t)=>e.initSegment!==t&&(e.initSegment=t,!0);function i(e,t,r){var s;const{createMapStateAtom:n,DataStream:i}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{createDataStreamAtom:o}=i;return Object.assign(Object.assign({metadata:n(e),data:o(e),byteRange:void 0},r),{type:t,selectionGroup:null!==(s=r.selectionGroup)&&void 0!==s?s:r.track.selectionGroup})}const o={setSelectionGroup:(e,t)=>e.selectionGroup!==t&&(e.selectionGroup=t,!0)},u=(e,t)=>e.effects.state.create(i(e,s.Data,t),Object.assign(Object.assign({},o),{setInitSegment:n}));t.createDataSegmentAtom=u;const c=(e,t)=>e.effects.state.create(i(e,s.Initialization,t),o);t.createInitSegmentAtom=c;const l=(e,t)=>e.effects.state.create(i(e,s.SelfInitializing,t),o);function g(e,t=3){const r=e.url.split("?").shift().split("://").pop().split("#").shift().split("/"),a=Math.max(0,t),s=Math.min(r.length-1,Math.max(0,r.length-a-1));return r.slice(s).join("/")}function d(e){const{segmentTiming:{parsedPlaybackTime:t,parsedDuration:r}}=e;return{start:t,end:t+r}}function m(e,t){if(void 0===t)return;const r=t.segmentTiming.parsedPlaybackTime,a=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;return r!==a?{start:a,end:r}:void 0}t.createSelfInitSegmentAtom=l,t.getReadableSegmentName=g,t.getTimeRange=d,t.getGapToNextSegment=m},66434:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentTiming=t.getDefaultSegmentTiming=void 0;const r=e=>Object.assign({parsedDuration:-1,parsedPlaybackTime:-1,encodedDuration:-1,encodedPlaybackTime:-1,timestampOffset:-1/0},e);function a(e,t,r){return(e.parsedDuration!==t||e.parsedPlaybackTime!==r)&&(e.parsedDuration=t,e.parsedPlaybackTime=r,!0)}function s(e,t,r){return(e.encodedDuration!==t||e.encodedPlaybackTime!==r)&&(e.encodedDuration=t,e.encodedPlaybackTime=r,!0)}function n(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function i(e,r){return e.effects.state.create((0,t.getDefaultSegmentTiming)(r),{manifestParsed:a,dataParsed:s,timestampOffsetChanged:n})}t.getDefaultSegmentTiming=r,t.createSegmentTiming=i},37835:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isInitSegment=t.isDataSegment=t.isDataOrSelfInitSegment=void 0;const a=r(74269);function s(e){return[a.SegmentType.Data,a.SegmentType.SelfInitializing].includes(e.type)}function n(e){return[a.SegmentType.Data].includes(e.type)}function i(e){return e.type===a.SegmentType.Initialization}t.isDataOrSelfInitSegment=s,t.isDataSegment=n,t.isInitSegment=i},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},39077:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createUnknownSelectionGroupAtom=t.createSubtitleSelectionGroupAtom=t.createAudioSelectionGroupAtom=t.createVideoSelectionGroupAtom=void 0;const a=r(14809),s=(e,t)=>e.language!==t&&(e.language=t,!0),n=(e,t)=>e.sequenceNumber!==t&&(e.sequenceNumber=t,!0);function i(){return{setSequenceNumber:n}}const o=(e,t)=>{var r;const{MediaType:s}=e.registry.get(a.CoreExportNames.Constants),{createPrimitiveAtom:n}=e.registry.get(a.CoreExportNames.CoreStateAtoms),o=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${s.Video}:TODO-FIX-ME`,container:null!==(r=t.container)&&void 0!==r?r:n(e,void 0)});return p(e,o),e.effects.state.create(o,i())};function u(){return{setLanguage:s,setSequenceNumber:n}}t.createVideoSelectionGroupAtom=o;const c=(e,t)=>{var r;const{MediaType:s}=e.registry.get(a.CoreExportNames.Constants),{createPrimitiveAtom:n}=e.registry.get(a.CoreExportNames.CoreStateAtoms),i=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${s.Audio}:${t.language}:TODO-FIX-ME`,container:null!==(r=t.container)&&void 0!==r?r:n(e,void 0)});return p(e,i),e.effects.state.create(i,u())};t.createAudioSelectionGroupAtom=c;const l={setSequenceNumber:n,setLanguage:s},g=(e,t,r)=>{const{MediaType:s}=e.registry.get(a.CoreExportNames.Constants),n=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${s.Subtitle}:${t.language}:${r}`});return p(e,n),e.effects.state.create(n,l)};t.createSubtitleSelectionGroupAtom=g;const d={setSequenceNumber:n},m=(e,t)=>{const{MediaType:r}=e.registry.get(a.CoreExportNames.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${r.Unknown}`});return p(e,s),e.effects.state.create(s,d)};function p(e,t){const{deriveFrom:r}=e.registry.get(a.CoreExportNames.Utils).State;r(t,"timeRange",(()=>{const e={start:1/0,end:-1/0};for(const r of t.tracks){const{start:t,end:a}=r.timeRange;(t<e.start||!Number.isNaN(e.start))&&(e.start=t),(a>e.end||!Number.isNaN(e.end))&&(e.end=a)}return e}))}t.createUnknownSelectionGroupAtom=m},87568:(e,t)=>{function r(e,t,r){return n(e)&&!("language"in e)}function a(e,t,r){return n(e)&&"language"in e}function s(e,t,r){return!n(e)&&"language"in e}function n(e,t,r){return"container"in e}Object.defineProperty(t,"__esModule",{value:!0}),t.isMediaSelectionGroup=t.isSubtitleSelectionGroup=t.isAudioSelectionGroup=t.isVideoSelectionGroup=void 0,t.isVideoSelectionGroup=r,t.isAudioSelectionGroup=a,t.isSubtitleSelectionGroup=s,t.isMediaSelectionGroup=n},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},44573:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createStreamAtom=t.StreamType=void 0;const a=r(14809);function s(e,t){return e.type!==t&&(e.type=t,!0)}!function(e){e.Live="live",e.VoD="vod"}(t.StreamType||(t.StreamType={}));const n=(e,t)=>{const{createArrayAtom:r,createPrimitiveAtom:n}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{createTransient:i}=e.registry.get(a.CoreExportNames.Utils).State;return e.effects.state.create({tracks:r(e,[]),selectionGroups:r(e,[]),type:t,duration:n(e,1/0),onPlaybackTimeMismatch:i(e),onDurationMismatch:i(e)},{setType:s})};t.createStreamAtom=n},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},60806:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createUnknownTrackAtom=t.createSubtitleTrackAtom=t.createMuxedTrackAtom=t.createVideoTrackAtom=t.createAudioTrackAtom=void 0;const a=r(14809),s=r(37835),n=(e,t)=>e.segments!==t&&(e.segments=t,!0),i=(e,t)=>e.sequenceNumber!==t&&(e.sequenceNumber=t,!0),o=({effects:{state:e}},t,r)=>{if(t.selectionGroup===r)return!1;for(const a of"segments"in t?t.segments:[])e.dispatch(a.setSelectionGroup,r),(0,s.isDataSegment)(a)&&a.initSegment.selectionGroup!==r&&e.dispatch(a.initSegment.setSelectionGroup,r);return t.selectionGroup=r,!0},u=(e,t)=>e.bitrate!==t&&(e.bitrate=t,!0),c=(e,t)=>e.language!==t&&(e.language=t,!0),l=(e,t)=>e.label!==t&&(e.label=t,!0);function g(e){return{setSegments:n,setSequenceNumber:i,setSelectionGroup:(t,r)=>o(e,t,r)}}function d(e){return Object.assign(Object.assign({},g(e)),{setBitrate:u})}function m(e){return Object.assign(Object.assign({},d(e)),{setLanguage:c,setLabel:l})}const p=(e,t)=>{const{MediaType:r}=e.registry.get(a.CoreExportNames.Constants),{createArrayAtom:s}=e.registry.get(a.CoreExportNames.CoreStateAtoms),n=Object.assign({segments:s(e,[]),sequenceNumber:1/0,type:r.Audio},t);return h(e,n),e.effects.state.create(n,m(e))};t.createAudioTrackAtom=p;const f=(e,t)=>{const{MediaType:r}=e.registry.get(a.CoreExportNames.Constants),{createArrayAtom:s}=e.registry.get(a.CoreExportNames.CoreStateAtoms),n=Object.assign({segments:s(e,[]),sequenceNumber:1/0,type:r.Video},t);return h(e,n),e.effects.state.create(n,d(e))};t.createVideoTrackAtom=f;const T=(e,t)=>{const{MediaType:r}=e.registry.get(a.CoreExportNames.Constants),{createArrayAtom:s}=e.registry.get(a.CoreExportNames.CoreStateAtoms),n=Object.assign({segments:s(e,[]),sequenceNumber:1/0,type:r.Muxed},t);return h(e,n),e.effects.state.create(n,d(e))};t.createMuxedTrackAtom=T;const S=(e,t)=>{const{MediaType:r,SubtitleFormatType:s}=e.registry.get(a.CoreExportNames.Constants),{createArrayAtom:n,createPrimitiveAtom:i}=e.registry.get(a.CoreExportNames.CoreStateAtoms),o=Object.assign({segments:n(e,[]),sequenceNumber:1/0,type:r.Subtitle,formatType:i(e,s.Unknown),external:!1,fragmented:!0},t);return h(e,o),e.effects.state.create(o,g(e))};t.createSubtitleTrackAtom=S;const y=(e,t)=>{const{MediaType:r}=e.registry.get(a.CoreExportNames.Constants),{createArrayAtom:s}=e.registry.get(a.CoreExportNames.CoreStateAtoms),n=Object.assign({segments:s(e,[]),sequenceNumber:1/0,type:r.Unknown},t);return h(e,n),e.effects.state.create(n,g(e))};function h(e,t){const{deriveFrom:r}=e.registry.get(a.CoreExportNames.Utils).State;r(t,"timeRange",(()=>{var e,r,a;if(t.sequenceNumber===1/0)return{start:-1/0,end:1/0};const s=null===(e=t.segments[0])||void 0===e?void 0:e.segmentTiming,n=null===(r=t.segments[t.segments.length-1])||void 0===r?void 0:r.segmentTiming;return{start:null!==(a=null==s?void 0:s.parsedPlaybackTime)&&void 0!==a?a:1/0,end:n?n.parsedPlaybackTime+n.parsedDuration:-1/0}}))}t.createUnknownTrackAtom=y}},t={};function r(a){var s=t[a];if(void 0!==s)return s.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,r),n.exports}return r(11632)})()));
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* source code is subject to the terms and conditions of the accompanying
|
|
6
6
|
* license agreement.
|
|
7
7
|
*
|
|
8
|
-
* Bitmovin Player X Version 10.2.0-beta.
|
|
8
|
+
* Bitmovin Player X Version 10.2.0-beta.13
|
|
9
9
|
*******************************************************************************/
|
|
10
10
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.hls=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx.hls=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const a=t;return a._name=e,{onAdd:a,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function a(e){return(...t)=>{const[a,s]=e(...t);return r(a,s)}}function s(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=a,t.getTaskName=s},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},58149:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingExportNames=t.PlaylistType=t.TagType=t.MetadataType=t.HlsEncryptionMethod=void 0,function(e){e.NONE="NONE",e.AES_128="AES-128",e.SAMPLE_AES="SAMPLE-AES"}(t.HlsEncryptionMethod||(t.HlsEncryptionMethod={})),function(e){e.CUETAG="CUETAG",e.DATERANGE="DATERANGE",e.CUSTOM="CUSTOM",e.SCTE="SCTE",e.ID3="ID3",e.EMSG="EMSG"}(t.MetadataType||(t.MetadataType={})),function(e){e.M3u="m3u",e.AllowCache="allow-cache",e.ByteRange="byterange",e.EndList="endlist",e.Inf="inf",e.Key="key",e.MediaSequence="media-sequence",e.DiscontinuitySequence="discontinuity-sequence",e.PlaylistType="playlist-type",e.StreamInf="stream-inf",e.IframeStreamInf="i-frame-stream-inf",e.Media="media",e.Start="start",e.Discontinuity="discontinuity",e.DateTime="date-time",e.TargetDuration="targetduration",e.Map="map",e.IndependentSegments="independent-segments",e.SessionData="session-data",e.SessionKey="session-key",e.CueOut="cue-out",e.CueOutCont="cue-out-cont",e.CueIn="cue-in",e.Scte35="scte35",e.DateRange="daterange",e.Version="version",e.Uri="uri",e.Unknown="unknown"}(t.TagType||(t.TagType={})),function(e){e.Vod="VOD",e.Event="EVENT"}(t.PlaylistType||(t.PlaylistType={})),function(e){e.ParsingTask="hls-parsing-task",e.ParsingFunctions="hls-parsing-functions",e.Errors="hls-parsing-errors"}(t.HlsParsingExportNames||(t.HlsParsingExportNames={}))},19194:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActivePlaylistAtom=void 0;const a=r(14809),s=(e,t)=>{const{createArrayAtom:r}=e.registry.get(a.CoreExportNames.CoreStateAtoms);return r(e,t)};t.createActivePlaylistAtom=s},39897:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveTrackSubscriber=void 0;const a=r(91270),s=r(66895);t.ActiveTrackSubscriber=(0,a.createTaskClosure)((({activePlaylistsAtom:e})=>["active-track-subscriber",(t,r)=>{const{state:a}=r.effects,{isMediaOrSubtitleTrack:n}=r.registry.get(s.StreamDataStructureTracks),o=[];for(const e of t)n(e)&&(void 0===e.uri||o.includes(e.uri)||o.push(e.uri));const i=o.filter((t=>!e.includes(t))),c=e.filter((e=>!o.includes(e)));a.dispatch(e.add,...i),a.dispatch(e.remove,...c)}]))},39059:function(e,t,r){var a=this&&this.__awaiter||function(e,t,r,a){function s(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function o(e){try{c(a.next(e))}catch(e){n(e)}}function i(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(o,i)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.FetchPlaylistTask=void 0;const s=r(91270),n=r(73408),o=r(58149);t.FetchPlaylistTask=(0,s.createTask)("fetch-playlist",((e,t)=>a(void 0,void 0,void 0,(function*(){const r=t.registry.get(n.NetworkExportNames.NetworkTask),a=t.registry.get(o.HlsParsingExportNames.ParsingTask),s={url:e,method:n.HttpRequestMethod.GET,responseType:n.HttpResponseType.TEXT},i=yield t.fork(r,[s,void 0]);return t.fork(a,i.body)}))))},47184:function(e,t,r){var a=this&&this.__awaiter||function(e,t,r,a){function s(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function o(e){try{c(a.next(e))}catch(e){n(e)}}function i(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(o,i)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.HlsPackage=void 0;const s=r(97085),n=r(91270),o=r(14809),i=r(73408),c=r(7269),u=r(78622),l=r(88425),d=r(58149),m=r(40369),f=r(50791),g=r(19194),p=r(39897),y=r(29591),S=r(44088),T=r(40232),v=r(24766),k=()=>{};t.HlsPackage=(0,s.createPackage)("hls-package",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:s}=t.registry.get(o.CoreExportNames.CoreEffects),i=t.using(r).using(s),u=t.registry.get(m.HlsTechState).resource,{state:d}=i.effects,f=i.registry.maybeSetAndGet(v.HlsPackageExportNames.HlsManifestLoadTask,y.ManifestLoadTask),E=t.registry.get(c.SourceExportNames.SourceState),{LoadControl:h}=t.registry.get(o.CoreExportNames.Constants),P=(0,g.createActivePlaylistAtom)(i,[]),b=u.url;if(!b)throw new Error("Missing hls manifest url");const M=(0,S.PlaylistUpdaterOrchestrator)(i,new Map,b),N=t.registry.get(l.StreamingState);let x;d.subscribe(i,N.activeTracks,(0,p.ActiveTrackSubscriber)({activePlaylistsAtom:P})),d.subscribe(i,P,M),(0,T.setUpSegmentTimingMismatchHandling)(i),d.subscribe(i,E.loadControl,(0,n.createTask)("load-control-subscribe",((e,t)=>a(void 0,void 0,void 0,(function*(){e.value>h.Nothing&&(x&&(yield x),N.stream.selectionGroups.length?i.fork(M,P):i.fork(f,E))}))))),E.loadControl.value>h.Nothing&&(x=i.fork(f,E),x.finally((()=>x=void 0)).catch(k))}),[i.NetworkExportNames.NetworkTask,o.CoreExportNames.Utils,o.CoreExportNames.CoreEffects,c.SourceExportNames.SourceState,d.HlsParsingExportNames.ParsingFunctions,d.HlsParsingExportNames.ParsingTask,f.HlsTranslationExportNames.HlsVariantTranslator,f.HlsTranslationExportNames.HlsMultivariantTranslator,...u.StreamDataStructureExportNames,l.StreamingState,m.HlsTechState]),t.default=t.HlsPackage},29591:function(e,t,r){var a=this&&this.__awaiter||function(e,t,r,a){function s(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function o(e){try{c(a.next(e))}catch(e){n(e)}}function i(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(o,i)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestLoadTask=void 0;const s=r(91270),n=r(14809),o=r(88425),i=r(58149),c=r(50791),u=r(39059),l=r(24766);t.ManifestLoadTask=(0,s.createTask)(l.HlsPackageExportNames.HlsManifestLoadTask,((e,t)=>a(void 0,void 0,void 0,(function*(){var r;const{ResourceType:a}=t.registry.get(n.CoreExportNames.Constants),{isMultivariantPlaylist:s}=t.registry.get(i.HlsParsingExportNames.ParsingFunctions),l=t.registry.get(c.HlsTranslationExportNames.HlsMultivariantTranslator),d=t.registry.get(c.HlsTranslationExportNames.HlsVariantTranslator),m=t.registry.get(o.StreamingState),f=null===(r=e.sourceConfig.resources.find((e=>e.type===a.Hls)))||void 0===r?void 0:r.url;if(!f)throw new Error("Unexpectedly missing manifest url");const g=yield t.fork(u.FetchPlaylistTask,f);return s(g)?t.fork(l,[g,f,m.stream]):t.fork(d,[g,f,f,m.stream,new Map])}))))},41077:function(e,t,r){var a=this&&this.__awaiter||function(e,t,r,a){function s(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function o(e){try{c(a.next(e))}catch(e){n(e)}}function i(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(o,i)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.PlaylistLoadTask=void 0;const s=r(91270),n=r(14809),o=r(7269),i=r(44573),c=r(66895),u=r(88425),l=r(58149),d=r(50791),m=r(39059);function f(e,t){const r=t.registry.get(u.StreamingState).stream,a=r.tracks.filter((r=>g(t,r,e)));if(!a.length)return!1;const s=r.type===i.StreamType.VoD,n=a.some((e=>e.segments.length));return!(s&&n)}function g(e,t,r){const{isSubtitleTrack:a,isMediaTrack:s}=e.registry.get(c.StreamDataStructureTracks);return(s(t)||a(t)&&t.fragmented)&&t.uri===r}function p(e){var t,r;return e.targetDuration?e.targetDuration:null!==(r=null===(t=e.segments[e.segments.length-1])||void 0===t?void 0:t.duration)&&void 0!==r?r:2}t.PlaylistLoadTask=(0,s.createTaskClosure)(((e,t)=>["playlist-loader",(r,s)=>a(void 0,void 0,void 0,(function*(){if(!f(r,s))return void s.effects.logger.log("Ignoring playlist load request, already loaded");let a;const i=new Map,c=s.registry.get(o.SourceExportNames.SourceState),{LoadControl:g}=s.registry.get(n.CoreExportNames.Constants);do{s.effects.logger.log("Loading playlist",r);const{isMediaPlaylist:t}=s.registry.get(l.HlsParsingExportNames.ParsingFunctions),n=s.registry.get(u.StreamingState),o=s.registry.get(d.HlsTranslationExportNames.HlsVariantTranslator),c=yield s.fork(m.FetchPlaylistTask,r);if(!t(c))throw new Error("Manifest is not a variant playlist");a=c,yield s.fork(o,[a,r,e,n.stream,i]),a.endList||(yield s.effects.timeout(s.abortSignal,1e3*p(a)))}while(!a.endList&&!s.abortSignal.aborted&&t.includes(r)&&c.loadControl.value>g.Nothing)}))]))},44088:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PlaylistUpdaterOrchestrator=void 0;const a=r(91270),s=r(14809),n=r(7269),o=r(41077);t.PlaylistUpdaterOrchestrator=(0,a.createTaskClosure)(((e,t,r)=>["active-playlist-url-subscriber",(a,i)=>{const c=e.registry.get(n.SourceExportNames.SourceState),{LoadControl:u}=e.registry.get(s.CoreExportNames.Constants);if(c.loadControl.value!==u.Nothing)for(const s of a){if(t.has(s))continue;const n=e.fork((0,o.PlaylistLoadTask)(r,a),s);t.set(s,n),n.finally((()=>t.delete(s))).catch((()=>{}))}}]))},40232:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setUpSegmentTimingMismatchHandling=void 0;const a=r(91270),s=r(14809),n=r(24693),o=r(66895),i=r(88425);function c(e,t,r,a){const{state:s}=e.effects,{isDataOrSelfInitSegment:o}=e.registry.get(n.StreamDataStructureSegments);for(const e of t.segments){if(!o(e))continue;const t=e.segmentTiming;if(t.parsedPlaybackTime<r)continue;const n=t.parsedPlaybackTime-a;s.dispatch(t.manifestParsed,t.parsedDuration,n)}}function u(e,t,r,a,s){const{state:n}=e.effects,u=e.registry.get(i.StreamingState),{isMediaTrack:l}=e.registry.get(o.StreamDataStructureTracks),d=r.segmentTiming,{parsedPlaybackTime:m}=d,f=m-s,g=r.track.segments.findIndex((e=>e===r)),p=r.track.segments[g+1];if(n.dispatch(d.manifestParsed,d.parsedDuration,f),!p)return;const y=p.segmentTiming.parsedPlaybackTime;for(const r of u.stream.tracks)l(r)&&r.uri===t&&!a.includes(r)&&c(e,r,y,s)}const l=(0,a.createTaskClosure)((e=>["playback-time-mismatch-handler",({value:t},r)=>{if(void 0===t)return;const{track:a,expectedTime:s,actualTime:n,segment:i}=t,{isMediaTrack:c}=r.registry.get(o.StreamDataStructureTracks);if(!c(a)||void 0===a.uri)return;const l=n-s;r.effects.logger.log(`Encountered playback time mismatch of ${l.toFixed(2)}s, correcting...`),r.effects.state.dispatch(e.add,a),u(r,a.uri,i,e,l)}])),d=(0,a.createTask)("duration-mismatch-handler",(({value:e},t)=>{if(void 0===e)return;const{state:r}=t.effects,{track:a,segment:s,expectedDuration:n,actualDuration:c}=e;if(c<0)return;const u=n-c,{isMediaTrack:l}=t.registry.get(o.StreamDataStructureTracks);if(!l(a))return;const d=a.uri,m=a.sequenceNumber,f=s.segmentTiming.parsedPlaybackTime,g=e=>e.uri===d,p=[];t.effects.logger.log(`Encountered mismatching segment duration (${n} → ${c}), correcting...`);const y=t.registry.get(i.StreamingState);for(const e of y.stream.tracks)!l(e)||!g(e)||e.sequenceNumber<=m||p.push(e);r.dispatch(s.segmentTiming.manifestParsed,c,s.segmentTiming.parsedPlaybackTime);for(const e of a.segments){const{parsedPlaybackTime:t,parsedDuration:a}=e.segmentTiming;if(t<=f)continue;const s=t-u;r.dispatch(e.segmentTiming.manifestParsed,a,s)}for(const e of p)for(const t of e.segments){const{parsedPlaybackTime:e,parsedDuration:a}=t.segmentTiming,s=e-u;r.dispatch(t.segmentTiming.manifestParsed,a,s)}})),m=(0,a.createTaskClosure)((e=>["track-subscriber",(t,r)=>{const a=[];for(const r of e)t.includes(r)||a.push(r);r.effects.state.dispatch(e.remove,...a)}]));function f(e){const{state:t}=e.effects,{createArrayAtom:r}=e.registry.get(s.CoreExportNames.CoreStateAtoms),a=r(e,[]),n=e.registry.get(i.StreamingState);t.subscribe(e,n.stream.onPlaybackTimeMismatch,l(a)),t.subscribe(e,n.stream.onDurationMismatch,d),t.subscribe(e,n.stream.tracks,m(a))}t.setUpSegmentTimingMismatchHandling=f},24766:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsPackageExportNames=void 0,function(e){e.HlsManifestLoadTask="hls-manifest-load-task"}(t.HlsPackageExportNames||(t.HlsPackageExportNames={}))},40369:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTechState=void 0,t.HlsTechState="hls-tech-state"},50791:(e,t)=>{function r(e){return void 0!==e.attributes.URI}function a(e){return e.attributes.AUDIO}function s(e){return e.attributes.VIDEO}Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationExportNames=t.getReferencedVideoGroupId=t.getReferencedAudioGroupId=t.isMediaTagWithUri=void 0,t.isMediaTagWithUri=r,t.getReferencedAudioGroupId=a,t.getReferencedVideoGroupId=s,function(e){e.HlsMultivariantTranslator="hls-multivariant-translator",e.HlsVariantTranslator="hls-variant-translator"}(t.HlsTranslationExportNames||(t.HlsTranslationExportNames={}))},73408:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkExportNames=t.HttpRequestMethod=t.HttpResponseType=t.HttpRequestType=void 0,function(e){e.MANIFEST_HLS_MULTIVARIANT="manifest/hls/multivariant",e.MANIFEST_HLS_VARIANT="manifest/hls/variant",e.MEDIA_AUDIO="media/audio",e.MEDIA_VIDEO="media/video",e.MEDIA_SUBTITLES="media/subtitles",e.MEDIA_THUMBNAILS="media/thumbnails",e.MEDIA_SEGMENTINDEX="media/segmentindex",e.KEY_HLS_AES="key/hls/aes",e.TIME_SYNC="time/sync"}(t.HttpRequestType||(t.HttpRequestType={})),function(e){e.ARRAYBUFFER="arraybuffer",e.BLOB="blob",e.DOCUMENT="document",e.JSON="json",e.TEXT="text"}(t.HttpResponseType||(t.HttpResponseType={})),function(e){e.GET="GET",e.POST="POST",e.HEAD="HEAD"}(t.HttpRequestMethod||(t.HttpRequestMethod={})),function(e){e.NetworkAtom="network-atom",e.NetworkTask="network-task",e.FetchTask="fetch-task"}(t.NetworkExportNames||(t.NetworkExportNames={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const a=r(24693),s=r(27134),n=r(94503),o=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[a.StreamDataStructureSegments,s.StreamDataStructureSelectionGroups,o.StreamDataStructureTracks,n.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},44573:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createStreamAtom=t.StreamType=void 0;const a=r(14809);function s(e,t){return e.type!==t&&(e.type=t,!0)}!function(e){e.Live="live",e.VoD="vod"}(t.StreamType||(t.StreamType={}));const n=(e,t)=>{const{createArrayAtom:r,createPrimitiveAtom:n}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{createTransient:o}=e.registry.get(a.CoreExportNames.Utils).State;return e.effects.state.create({tracks:r(e,[]),selectionGroups:r(e,[]),type:t,duration:n(e,1/0),onPlaybackTimeMismatch:o(e),onDurationMismatch:o(e)},{setType:s})};t.createStreamAtom=n},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(a){var s=t[a];if(void 0!==s)return s.exports;var n=t[a]={exports:{}};return e[a].call(n.exports,n,n.exports,r),n.exports}return r(47184)})()));
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* source code is subject to the terms and conditions of the accompanying
|
|
6
6
|
* license agreement.
|
|
7
7
|
*
|
|
8
|
-
* Bitmovin Player X Version 10.2.0-beta.
|
|
8
|
+
* Bitmovin Player X Version 10.2.0-beta.13
|
|
9
9
|
*******************************************************************************/
|
|
10
10
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["mse-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["mse-playback"]=t())}(self,(()=>(()=>{"use strict";var e={19281:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createEffectFactory=void 0;const r=e=>e;t.createEffectFactory=r},4250:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerEffectFactory=t.LogLevel=void 0;const n=r(19281);var o;!function(e){e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Log=3]="Log",e[e.Debug=4]="Debug",e[e.Verbose=5]="Verbose"}(o||(t.LogLevel=o={}));const a={error:console.error.bind(console),warn:console.warn.bind(console),log:console.log.bind(console),debug:console.info.bind(console),verbose:console.debug.bind(console)},s=()=>{};class i{constructor(e,t){this.logLevel=o.Verbose,this.logProvider=a,this.logCallbacks=[],this.parent=e,this.logMetadata=t}get verbose(){return this.resolveMethod(o.Verbose,this.provider.verbose)}get debug(){return this.resolveMethod(o.Debug,this.provider.debug)}get log(){return this.resolveMethod(o.Log,this.provider.log)}get warn(){return this.resolveMethod(o.Warn,this.provider.warn)}get error(){return this.resolveMethod(o.Error,this.provider.error)}get level(){return this.parent?this.parent.level:this.logLevel}get provider(){return this.parent?this.parent.provider:this.logProvider}get metadata(){var e;return Object.assign(Object.assign({},null===(e=this.parent)||void 0===e?void 0:e.metadata),this.logMetadata)}setLevel(e){this.parent?this.parent.setLevel(e):this.logLevel=e}setProvider(e){this.parent?this.parent.setProvider(e):this.logProvider=e}addOnLogCallback(e){return this.parent?this.parent.addOnLogCallback(e):(this.logCallbacks.push(e),()=>{const t=this.logCallbacks.indexOf(e);t>-1&&this.logCallbacks.splice(t,1)})}get onLogCallbacks(){return this.parent?this.parent.onLogCallbacks:this.logCallbacks}resolveMethod(e,t){const r=this.onLogCallbacks,n=this.level>=e;return 0!==r.length||n?0===r.length?t:(...o)=>{const a=this.metadata;for(const t of r)t(e,a,...o);n&&t(...o)}:s}}function c(e){return e&&"logger"in e.effects&&e.effects.logger instanceof i?e.effects.logger:void 0}const u=e=>(0,n.createEffectFactory)((t=>({effect:{logger:new i(c(t),e)}})));t.LoggerEffectFactory=u},97085:(e,t)=>{function r(e,t,r){const n=t;return n._name=e,{onAdd:n,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function n(e){return(...t)=>{const[n,o]=e(...t);return r(n,o)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},47755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function n(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function a(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function s(e,t,r){let n=0,o=e.length;for(;n<o;){const a=n+o>>>1;r(e[a])<r(t)?n=a+1:o=a}return n}function i(e,t,...r){const n=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const n of r){const r=t(n),o=t(e[0]);if(t(e[e.length-1])<=r)e.push(n);else if(r<=o)e.unshift(n);else{const r=s(e,n,t);e.splice(r,0,n)}}return e.length!==n}function c(e,...t){let r=!1;for(const n of t){const t=e.indexOf(n);t<0||(r=!0,e.splice(t,1))}return r}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function f(e,t){if(r(e,t))return!1;const n=u(e);return t.forEach((t=>e.push(t))),n||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const d=(e,t=[])=>{const r={add:n,insert:a,insertSorted:i,remove:c,clear:u,set:f,addIfNew:o};return e.effects.state.create(t,r)};t.createArrayAtom=d},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},49753:(e,t)=>{var r;function n(e){return e.type===r.Manifest}function o(e){return e.type===r.Presentation}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyComponent=t.isPresentationEntry=t.isManifestEntry=t.PlaybackTechnologyEntryType=void 0,function(e){e.Presentation="presentation",e.Manifest="manifest"}(r=t.PlaybackTechnologyEntryType||(t.PlaybackTechnologyEntryType={})),t.isManifestEntry=n,t.isPresentationEntry=o,t.PlaybackTechnologyComponent="playback-technology-component"},37604:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackPackage=void 0;const n=r(97085),o=r(61087),a=r(55388);t.MsePlaybackPackage=(0,n.createPackage)("mse-playback-package",((e,t)=>{e.api.packages.add(a.default),e.api.packages.add(o.default)}),[]),t.default=t.MsePlaybackPackage},61087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackTechnologyPackage=void 0;const n=r(97085),o=r(55225),a=r(14809),s=r(49753),i=r(42553);t.MsePlaybackTechnologyPackage=(0,n.createPackage)("mse-playback-technology-package",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:n}=t.registry.get(a.CoreExportNames.CoreEffects),c=t.using(r,n),u=c.registry.get(s.PlaybackTechnologyComponent),{PlaybackTechnology:f}=c.registry.get(a.CoreExportNames.Constants),d=c.registry.get(o.CapabilitiesExportNames.PlatformCapabilities),g={name:"mse-playback-tech",type:s.PlaybackTechnologyEntryType.Presentation,depends:[s.PlaybackTechnologyEntryType.Manifest],supported:(e,t)=>t===f.Mse&&d.mediaSourceSupported(),instantiate:i.MsePlaybackTechnologyTask};c.fork(u.addTechnology,g)}),[s.PlaybackTechnologyComponent,a.CoreExportNames.Constants,a.CoreExportNames.CoreStateAtoms,a.CoreExportNames.CoreEffects,o.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.MsePlaybackTechnologyPackage},42553:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackTechnologyTask=void 0;const n=r(91270),o=r(99309),a=r(55714);t.MsePlaybackTechnologyTask=(0,n.createTask)("mse-playback-tech-task",((e,t)=>{const r=(0,o.createMsePresentationStateAtom)(t,e);return t.registry.set(a.MsePresentationState,r),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(a.MsePresentationState)})),t.effects.loop(t.abortSignal)}))},55714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationState=void 0,t.MsePresentationState="mse-presentation-state"},99309:(e,t)=>{function r(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createMsePresentationStateAtom=void 0,t.createMsePresentationStateAtom=r},4399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(91270),o=r(14809),a=r(1146),s=r(7269),i=r(27134),c=r(88425),u=r(8747);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(s.SourceExportNames.SourceState),i=r.registry.get(a.DataExportNames.StreamTimeline),{mapSubscribe:c}=r.registry.get(o.CoreExportNames.Utils).State,u=d([e,t]),g=f(u);return r.effects.state.subscribe(r,n.playback.playhead,u),c(r,i,g),r.fork(u,i),r.effects.loop(r.abortSignal)}));const f=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),d=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!m(n)||g(n))return;const o=y(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function g(e){const t=e.registry.get(s.SourceExportNames.SourceState),r=e.registry.get(c.StreamingState),n=t.playback.playhead.position;return r.stream.duration.value<n||n<0}function l(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(c.StreamingState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function m(e){const{isMediaSelectionGroup:t}=e.registry.get(i.StreamDataStructureSelectionGroups),r=e.registry.get(a.DataExportNames.StreamTimeline),n=l(e);return r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function p(e,t){return e>=t.start&&e<=t.end}function y(e,t){const r=e.registry.get(s.SourceExportNames.SourceState),n=e.registry.get(a.DataExportNames.StreamTimeline),{isEndInRange:i}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=l(e);return n.find((n=>{const o=v(e,n);if(o.length!==f)return!1;return!!o.every((({mediaType:t,selectionGroup:n})=>{const o=e.registry.get(c.StreamingState),a=(0,u.getMediaTypeTargetRanges)(r,o,t);return p(a.start,n.timeRange)||i(a.end,n.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:s})=>{var i,f;const d=e.registry.get(c.StreamingState),g=(0,u.getMediaTypeTargetRanges)(r,d,o),l=b(e,n,o,g),m=null!==(f=null===(i=d.dataRanges.media[a])||void 0===i?void 0:i.ranges)&&void 0!==f?f:[],p=s.timeRange.end,y=m.some((e=>e.start<=p&&p<=e.end)),v=S(e,l,a,t);return!y||!v}))}))}function S(e,t,r,n){var o,a;const s=e.registry.get(c.StreamingState),{dataRanges:i}=s,u=null!==(a=null===(o=i.media[r])||void 0===o?void 0:o.source[n])&&void 0!==a?a:[];return t.every((e=>u.includes(e)))}function b(e,t,r,n){const{isVideoSelectionGroup:a,isAudioSelectionGroup:s}=e.registry.get(i.StreamDataStructureSelectionGroups),{isEndInRange:c,isStartInRange:u}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=e.registry.get(o.CoreExportNames.Constants).MediaType,d=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===f.Audio&&s(e)||r===f.Video&&a(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(u(t,n)||c(r,n))&&d.push(e)}return d}function v(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(i.StreamDataStructureSelectionGroups),a=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:a.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:a.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},16566:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(91270);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let o=!1;const s=()=>{if(o)return;const t=a(r,e);void 0!==t&&(r.effects.logger.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${t.toFixed(2)})`),e.currentTime=t)},i=()=>{o=!0},c=()=>{o=!1},u=()=>{o=!1};return n.subscribe(r,e,"waiting",s),n.subscribe(r,e,"seeking",i),n.subscribe(r,e,"seeked",c),n.subscribe(r,e,"playing",u),r.effects.loop(r.abortSignal)}]));const o=.1;function a(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),a=n.end(e);if(r>=t&&r<=a&&a-r<o&&e<n.length-1)return n.start(e+1)}}},11821:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const o=r(91270),a=r(14809),s=r(27134);function i(e){return e.tracks.some((e=>e.codecs.size>0))}function c(e){return void 0!==e.container.value}function u(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:s}=e.registry.get(a.CoreExportNames.Utils).State;return n((n=>{const a=(0,o.createTask)("segment-container-format-subscriber",((e,t)=>{r()&&(n(),i())})),i=s(e,t,a)}))}))}function f(e,t){return n(this,void 0,void 0,(function*(){return u(e,t.container,(()=>c(t)))}))}function d(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return u(e,r,(()=>void 0!==r.get(t)))}))}function g(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,a=[],s=r((r=>{for(const s of t.tracks){const c=(0,o.createTask)("codec-subscriber",((e,n)=>{i(t)&&r()}));a.push(n.subscribe(e,s.codecs,c))}}));return s.finally((()=>a.forEach((e=>e())))).catch((()=>{})),s}))}function l(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(s.StreamDataStructureSelectionGroups),{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap)r(o)&&(i(o)||(yield g(e,o)),c(o)||(yield f(e,o)),void 0===n.get(o)&&(yield d(e,o)))}))}t.awaitMediaInfo=l},55388:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationPackage=void 0;const o=r(4250),a=r(97085),s=r(55225),i=r(14809),c=r(1146),u=r(30158),f=r(7269),d=r(78622),g=r(88425),l=r(55714),m=r(17090),p=r(53434),y=r(76410),S=r(79284),b=r(95994),v=r(36912);t.MsePresentationPackage=(0,a.createPackage)("mse-presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(i.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:a}=t.registry.get(i.CoreExportNames.CoreEffects),s=t.using(r,n,(0,o.LoggerEffectFactory)({package:"MsePresentation"})),c=s.using(a("segmentDataCache",new Map)).using(a("containerFormatMap",e(s)));c.registry.maybeSet(b.MsePresentationExportNames.SelectContainerFormat,y.SelectContainerFormatTask);const{state:u}=c.effects,d=c.registry.get(f.SourceExportNames.SourceState),g=(0,v.VideoElementSubscriber)((0,p.createPresentationStateAtom)(c),(0,m.createActiveSectionAtom)(c));(0,S.startPresentationSegmentProcessing)(c),u.subscribe(c,d.video,g)}))),[i.CoreExportNames.Utils,i.CoreExportNames.Constants,f.SourceExportNames.SourceState,c.DataExportNames.StreamTimeline,i.CoreExportNames.CoreStateAtoms,i.CoreExportNames.CoreEffects,s.CapabilitiesExportNames.PlatformCapabilities,u.SegmentProcessingExportNames.SegmentProcessingComponent,u.SegmentProcessingExportNames.SegmentProcessorErrors,l.MsePresentationState,...d.StreamDataStructureExportNames,g.StreamingState]),t.default=t.MsePresentationPackage},4304:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(91270),a=r(55225),s=r(14809),i=r(7269),c=r(27134),u=r(66895),f=r(88425),d=r(11821),g=r(71185),l=r(61820),m=r(99569),p=r(8747);function y(e,t,r){const{MediaType:n}=e.registry.get(s.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:i}=e.registry.get(s.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=i(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===i(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function S(e,t,r,n,o){const{equals:a}=e.registry.get(s.CoreExportNames.Utils).Arrays;return t.find((([t,s,i])=>{const c=r===s,u=a(o,i),f=y(e,n,t);return c&&u&&f}))}function b(e,t,r){if(t.length!==r.length)return!0;for(const[n,o,a]of t){if(void 0===S(e,r,o,n,a))return!0}return!1}function v(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function h(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function T(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,a,s]of r){const r=(0,p.getMatchingBuffer)(e,t.buffers,a,s);if(void 0===r)return!1;const i=S(e,n,a,o,s);if(void 0===i)return!1;const[c,u,f]=i;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function k(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,a]of t){const t=(0,p.getMatchingBuffer)(e,r.buffers,o,a);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function E(e,t,r,o){return n(this,void 0,void 0,(function*(){const{waitFor:n}=e.registry.get(s.CoreExportNames.Utils).State,{managedMediaSourceSupported:i}=e.registry.get(a.CapabilitiesExportNames.PlatformCapabilities);t&&(e.effects.logger.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield v(e,t,o),e.effects.logger.debug("End of buffer reached, recreating MSE...")),null==t||t.dispose(),t=(0,g.createRenderer)(e);const c=n(e,t.onOpen);e.effects.logger.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,i()&&(o.disableRemotePlayback=!0),o.load(),yield c;for(const[e,n,o]of r)t.addBuffer(e,n,o);const u=e.registry.get(f.StreamingState).stream;return yield t.setDuration(u.duration.value),t}))}function M(e,t,r,o,a,s){return n(this,void 0,void 0,(function*(){const n=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return e.effects.logger.log(`Creating MSE for ${s}`),yield E(e,void 0,s,a);const c=h(t);return b(e,c,s)?T(e,t,c,s)?(e.effects.logger.log(`Changing MSE buffer types for ${s}`),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),yield k(e,s,t)):(e.effects.logger.log(`Re-creating MSE for ${s}`),yield E(e,t,s,a)):(e.effects.logger.log(`Re-using MSE for ${s}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),t)}))}class x extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=x;class P extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function C(e){const t=new Set;for(const r of e.codecs.keys())t.add(r);return t}function w(e,t){const{MediaType:r}=e.registry.get(s.CoreExportNames.Constants),{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:o}=e.registry.get(u.StreamDataStructureTracks),a=Array.from(t.streamSequenceMap.keys()).filter(n).flatMap((e=>e.tracks)).filter(o);for(const e of a){const t=C(e),n=t.has(r.Muxed),o=t.has(r.Audio),a=t.has(r.Video);if(n||o&&a)return!0}return!1}function _(e,t){const{isMediaTrack:r}=e.registry.get(u.StreamDataStructureTracks);let n,o=-1/0;for(const e of t.tracks){if(!r(e))continue;const{bitrate:t,codecs:a}=e;t>o&&a.size>0&&(o=t,n=a)}return n}function A(e,t){const r=[];for(const[n,o]of e)r.push([o,t,[n]]);return r}function N(e,t){return[[Array.from(e.values()).flat(),t,Array.from(e.keys())]]}function O(e,t,r){const{containerFormatMap:n}=e.effects.store,o=n.get(r),a=w(e,t);if(void 0===o)throw new Error("Container format is unexpectedly undefined");const s=_(e,r);if(void 0===s)throw new Error("Could not determine codec to create buffers with");return a?A(s,o):N(s,o)}function D(e,t){const r=[],{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups);for(const[o]of t.streamSequenceMap){if(!n(o))continue;const a=O(e,t,o);void 0!==a&&r.push(...a)}return r}t.SegmentCacheMissError=P;const R=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{try{if(0===e.buffered.length)return void r.effects.logger.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}r.effects.logger.verbose(t)}catch(t){r.effects.logger.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),j=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:a,loop:s}=o.effects,{activeRenderer:c,dataRangeIds:u}=e,g=o.registry.get(i.SourceExportNames.SourceState),p=o.registry.get(f.StreamingState).stream,y=g.playback.playhead;yield(0,d.awaitMediaInfo)(o,r);const S=D(o,r);o.effects.logger.log("Preparing playback of section with buffers",S),a.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(y.setPosition,t.currentTime)})),a.subscribe(o,t,"seeking",(()=>n.dispatch(y.setPosition,t.currentTime)));const b=yield M(o,c,u,r,t,S);return b.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,R(e)))),n.dispatch(e.setActiveRenderer,b),n.subscribe(o,p.duration,j(b)),n.subscribe(o,y,(0,l.BufferClearingTask)(b,r,u)),o.fork(m.SegmentAppendage,{renderer:b,section:r,dataRangeIds:u,video:t}).catch((()=>{})),s(o.abortSignal)}))]))},95994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.MsePresentationExportNames||(t.MsePresentationExportNames={}))},8747:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(14809);function o(e,t,r){const n=e.playback.playhead.position;return{start:n,end:n+t.bufferConfig[r].forwardDuration}}function a(e,t,r){const n=e.playback.playhead.position,o=t.bufferConfig[r];return{start:Math.max(0,n-o.backwardDuration),end:n+o.forwardDuration}}function s(e,t,r,o){const{equals:a}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>a(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=a,t.getMatchingBuffer=s},3014:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},36912:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(91270),o=r(88425),a=r(4399),s=r(16566),i=r(4304),c=r(3014);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:u,effects:f,abortSignal:d}=n,{state:g,loop:l,abortable:m}=f,p=n.effects.logger;if(void 0===r.element)return p.log("Cannot set up presentation task - no video element"),m((e=>e()));const y=r.element,S=(0,i.ActiveSectionSubscriber)(e,y);return n.effects.logger.log("Setting up presentation task..."),(0,c.resetVideoSource)(y,p),g.subscribe(n,t,S),void 0!==t.section&&u(S,t),u((0,s.GapHandlingTask)(y),e),u(a.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:a}=n.effects;if(n.registry.has(o.StreamingState)){const t=n.registry.get(o.StreamingState),{dataRanges:r}=t;for(const t in r.media)for(const n of Object.values(e.dataRangeIds))a.dispatch(r.deleteSource,t,n)}return a.dispatch(e.setActiveRenderer,void 0),void 0!==r&&y.src===r&&(0,c.resetVideoSource)(y,p),!1})),l(d)}]))},17090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},53434:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},88070:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(91270),a=r(14809);function s(e){const{createTransient:t}=e.registry.get(a.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const i=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:a},s)=>n(void 0,void 0,void 0,(function*(){if(void 0===a)return;const n=t.queue;n.push(a);try{yield e.fork(r,a.slice(),o)}catch(e){}finally{const r=n.indexOf(a);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(s(e),{}),a=i(e,o,t,r);return n.subscribe(e,o.appendSegments,a),o}t.createSegmentAppendageQueueAtom=c},33983:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(14809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,a=o(e);return t.set(r,a),a}function a(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=a},15865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e.type}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},71185:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(55225),a=r(14809),s=r(32776),i=r(22782),c=r(34175),u=r(50907);function f(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(a.CoreExportNames.Utils).State,s={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(s.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(s.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(s.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(s.onError.trigger,new Error(JSON.stringify(e))))),s}function d(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function g(e,t,r,n,o,a,s){const u=(0,i.generateMimeTypeString)(e,s,a,o);e.effects.logger.debug(`Adding source buffer of type "${u}"`);const f=t.addSourceBuffer(u),d=(0,c.createSourceBufferActionQueue)(e,f),g=(0,i.createRendererBufferAtom)(e,o,s,a,!1,f),m=l(e,g,f);n.set(g,[f,d,m]),e.effects.state.dispatch(r.add,g)}function l(e,t,r){const{events:n,state:o}=e.effects,a=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>a.forEach((e=>e()))}function m(e,t,r,n,a,s){const{typeSupported:c}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities),u=d(r,n)[0],f=(0,i.generateMimeTypeString)(e,n.mediaTypes,s,a);return"function"==typeof u.changeType&&c(f)}function p(e,t,r,n,o,a){const[s,c]=d(r,n),u=(0,i.generateMimeTypeString)(e,n.mediaTypes,a,o),f=e=>e.changeType(u);return c.execute(f)}function y(e,t,r,o,a){return n(this,void 0,void 0,(function*(){const[n,s]=d(r,a),i=e=>t.removeSourceBuffer(e);yield s.execute(i),r.delete(a),e.effects.state.dispatch(o.remove,a)}))}function S(e,t,r,n,o){const a=e.effects.logger,[s,i]=d(r,n),c=e=>{e.timestampOffset=o};return a.log(`Setting timestamp offset to ${o.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,o),i.execute(c)}function b(e,t,r,n,o){const[a,s]=d(r,n),i=e=>e.appendBuffer(o.data.buffer);return s.execute(i)}function v(e,t,r,n,o,a){if(o>=a)return e.effects.abortable((e=>e()));const[s,i]=d(r,n),c=e=>e.remove(o,a);return i.execute(c)}function h(e,t,r){e.readyState===u.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function T(e,t,r,n){if(t.readyState===u.MediaSourceReadyState.Open){const e=[n,t.duration].filter((e=>!Number.isNaN(e))),o=()=>{t.duration=Math.max(...e)};return r.execute(o)}return e.effects.logger.log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function k(e,t,r){const n=e.effects.logger;if(t.readyState===u.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function E(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.effects.logger.debug("Could not determine buffered ranges for source buffer:",t)}return r}function M(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,E(e,r));return o}function x(e){return e.readyState}function P(e,t,r){const n=Array.from(r.entries());if(t.readyState===u.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[a]]]=n;return S(e,t,r,o,a.timestampOffset)}function C(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function w(e){const{createArrayAtom:t}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{managedMediaSourceSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);let n=e;const i=r(),c=i?new ManagedMediaSource:new MediaSource,u=URL.createObjectURL(c);e.effects.logger.log("Created "+(i?"ManagedMediaSource":"MediaSource"));const d=f(n,c),E=new Map,w=t(n,[]),_=(0,s.createRendererActionQueue)(n,E);return Object.assign(Object.assign({},d),{sourceUrl:u,buffers:w,addBuffer:g.bind(void 0,n,c,w,E),canChangeBuffer:m.bind(void 0,n,c,E),changeBuffer:p.bind(void 0,n,c,E),removeBuffer:y.bind(void 0,n,c,E,w),setTimestampOffset:S.bind(void 0,n,c,E),getBufferedRanges:M.bind(void 0,n,c,_,E),appendData:b.bind(void 0,n,c,E),removeData:v.bind(void 0,n,c,E),setSeekableRange:h.bind(void 0,c),setDuration:T.bind(void 0,n,c,_),getState:x.bind(void 0,c),close:k.bind(void 0,n,c,_),reopen:P.bind(void 0,n,c,E),dispose:C.bind(void 0,n,c,E,w),bind:e=>{const t=e.effects.logger,r=Array.from(E.keys());t.debug("Binding renderer to new context..."),n=e,_.bind(n);for(const t of r){const r=E.get(t);if(!r)continue;const[o,a,s]=r;s(),a.bind(n),r[2]=l(e,t,o)}}})}t.createRenderer=w},32776:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,a){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(a,n)}finally{t.executing=!1,o(e,t,r,a).catch((()=>{}))}else t.executing=!1}))}const a=(0,r(91270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:a,events:i}=o;let c=()=>{},u=()=>{};const f=a(((e,t)=>{u=e,c=t})),d=[c],[g,l]=t,m=i.subscribe(r,n,"abort",(()=>{d.forEach((e=>e(n.reason)))}));f.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=s(r,e,f,d);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),l()}finally{m()}}))]));function s(e,t,r,o){const a=[],s=[];for(const[i,[c,u]]of t){let t=()=>{};const i=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));i.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));a.push(i),s.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:a,sourceBufferActionAbortables:s}}function i(e,t){const r=[],n={executing:!1},s=a(t);return{execute:t=>{const{abortable:a}=e.effects;let i=()=>{},c=()=>{};const u=a(((e,t)=>{i=e,c=t}));return r.push([t,i,c]),o(e,n,r,s).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=i},22782:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(47755),o=r(14809),a=r(24693);function s(e,t,r,a,s){const{createTransient:i}=e.registry.get(o.CoreExportNames.Utils).State;return{onUpdateStart:i(e),onUpdate:i(e),onUpdateEnd:i(e),onError:i(e),onAbort:i(e),codecs:(0,n.createArrayAtom)(e,t),containerFormat:a,mediaTypes:(0,n.createArrayAtom)(e,r),encrypted:s,mimeType:u(e,r,a,t),timestampOffset:0,initSegment:void 0}}function i(e,t,r){const{MediaType:n}=e.registry.get(o.CoreExportNames.Constants),{ContainerFormat:s}=e.registry.get(a.StreamDataStructureSegments);return t===s.TS?n.Video:r}function c(e,t){return r=>`${i(e,t,r)}/${t}`}function u(e,t,r,n){return`${t.map(c(e,r)).join(";")};codecs="${n.join(",")}"`}function f(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function d(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function g(e,t,r,n,o){const{state:a}=e.effects,s=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),i=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!i||!s)&&(t.mimeType=u(e,n,o,r),t.containerFormat=o,a.dispatch(t.codecs.set,r),a.dispatch(t.mediaTypes.set,n),!0)}function l(e,t,r,n,a,i){const{deriveFrom:c}=e.registry.get(o.CoreExportNames.Utils).State,u=s(e,t,r,n,a);return c(u,"buffered",(()=>i.buffered)),e.effects.state.create(u,{setTimestampOffset:f,setInitSegment:d,updateType:g.bind(void 0,e)})}t.generateMimeTypeString=u,t.createRendererBufferAtom=l},34175:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(91270),a=r(15865),s=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new a.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new a.SourceBufferActionFailedError(e))))):n()}))}));function i(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof a.SourceBufferActionAbortedError))}finally{t.executing=!1,i(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}function c(e){return e instanceof Error?e:e instanceof Event?new a.SourceBufferActionFailedError(e):new Error("SourceBuffer action failed: "+e)}const u=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,a]=t;let i=()=>{};try{yield r.fork(s,e,(()=>!0)).catch((()=>{}));const t=n(e,r);i=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(s,e),i(),o()}catch(e){i(),a(c(e))}}))]));function f(e,t){const r=[],n={executing:!1},o=u(t);let s=()=>{};const c=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},f=()=>{s(),s=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{c(new a.SourceBufferActionAbortedError)}))};return f(),{execute(t){const{abortable:a}=e.effects;let s=()=>{},c=()=>{};const u=a(((e,t)=>{s=e,c=t}));return u.catch((()=>{})),r.push([t,s,c]),i(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,f()},abort(e){c(new a.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=f},50907:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferEvent=t.MediaSourceEvent=t.MediaSourceReadyState=void 0,function(e){e.Closed="closed",e.Open="open",e.Ended="ended"}(t.MediaSourceReadyState||(t.MediaSourceReadyState={})),function(e){e.Error="error",e.SourceOpen="sourceopen",e.SourceClose="sourceclose",e.WebkitSourceOpen="webkitsourceopen"}(t.MediaSourceEvent||(t.MediaSourceEvent={})),function(e){e.UpdateStart="updatestart",e.Update="update",e.UpdateEnd="updateend",e.Error="error",e.Abort="abort"}(t.SourceBufferEvent||(t.SourceBufferEvent={}))},61820:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(91270),a=r(14809),s=r(7269),i=r(24693),c=r(27134),u=r(66895),f=r(88425),d=r(50907),g=r(8747),l=r(5670);function m(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==d.MediaSourceReadyState.Open)return;const n=t.getBufferedRanges();for(const[r,o]of n){const n=p(e,r),a=[],s=o.filter((e=>e.start>n.end));y(e,o,{start:0,end:n.start})&&a.push(t.removeData(r,0,n.start)),s.length>0&&a.push(t.removeData(r,s[0].start,1/0)),yield Promise.all(a)}S(e,t.buffers,r,o),v(e,t.buffers)}))}function p(e,t){const r=e.registry.get(s.SourceExportNames.SourceState),n=e.registry.get(f.StreamingState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,g.getTargetBufferRange)(r,n,e))).reduce(((e,t)=>({start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)})),{start:1/0,end:-1/0})}function y(e,t,r){const{overlaps:n}=e.registry.get(a.CoreExportNames.Utils).Ranges;let o=!1;for(const e of t)o=n(e,r)||o;return o}function S(e,t,r,n){var o,a;const s=e.registry.get(f.StreamingState),{dataRanges:u}=s,{isMediaSelectionGroup:d}=e.registry.get(c.StreamDataStructureSelectionGroups),{resetData:g}=e.registry.get(i.StreamDataStructureSegments),{state:m}=e.effects;for(const[s]of r.streamSequenceMap){if(!d(s))continue;const r=null!==(a=null===(o=u.media[s.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];for(const o of r.slice())b(e,o,t)||(m.dispatch(u.removeSegment,s.mediaId,n.buffered,o),(0,l.removeSegmentFromStreamTimeline)(e,o),g(o,e))}}function b(e,t,r){const{getTimeRange:n}=e.registry.get(i.StreamDataStructureSegments),{overlaps:o,isFullyIncluded:c}=e.registry.get(a.CoreExportNames.Utils).Ranges,u=n(t),f=e.registry.get(s.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(u.end>=f.position?o(u,r):c(u,r))return!0}}return!1}function v(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{overlaps:o}=e.registry.get(a.CoreExportNames.Utils).Ranges,c=e.registry.get(s.SourceExportNames.SourceState),d=e.registry.get(f.StreamingState),{isDataOrSelfInitSegment:m,isDataSegment:p,getTimeRange:y}=e.registry.get(i.StreamDataStructureSegments),{isMediaTrack:S}=e.registry.get(u.StreamDataStructureTracks),v=new Set,h=[];for(const a of n){if(!S(a.track))continue;if(!m(a)){h.push(a);continue}const n=o(Array.from(a.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,g.getTargetBufferRange)(c,d,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),y(a));b(e,a,t)||n?p(a)&&v.add(a.initSegment):(r.delete(a),(0,l.removeSegmentFromStreamTimeline)(e,a))}for(const e of h)v.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,a)=>n(void 0,void 0,void 0,(function*(){const n=a.effects.logger;try{n.debug("Clearing buffers"),yield m(a,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},99569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(91270),o=r(14809),a=r(88070),s=r(4304),i=r(5670),c=r(60149);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:f}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:d}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof s.EncodedPlaybackTimeUnknownError||e instanceof f||e instanceof s.SegmentCacheMissError||e instanceof d,l=(0,a.createSegmentAppendageQueueAtom)(u,(0,i.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:l,dataRangeIds:t})}))},5670:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(91270),a=r(14809),s=r(1146),i=r(7269),c=r(24693),u=r(94503),f=r(66895),d=r(88425),g=r(50907),l=r(4304),m=r(8747),p=r(87436),y=r(61820),S=r(63927);function b(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function v(e,t,r){const{state:n}=e.effects,o=e.registry.get(d.StreamingState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function h(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,p.maybeAppendInitSegment)(e,o,r),yield(0,p.appendSegment)(e,o,r),C(e,o),v(e,t,o)}))}function T(e,t){const{isMediaTrack:r}=e.registry.get(f.StreamDataStructureTracks),n=e.registry.get(i.SourceExportNames.SourceState),o=e.registry.get(d.StreamingState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const a={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,m.getTargetBufferRange)(n,o,e);a.start=Math.min(a.start,t),a.end=Math.max(a.end,r)}return a}function k(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(c.StreamDataStructureSegments),{overlaps:s}=e.registry.get(a.CoreExportNames.Utils).Ranges;for(const a of t){const t=T(e,a),i=void 0!==(null===(r=n.segmentDataCache.get(a))||void 0===r?void 0:r.error),c=s(t,o(a));!i&&c||w(e,a)}}function E(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===g.MediaSourceReadyState.Open)return;const r=e.registry.get(d.StreamingState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function M(e,t,r,n){var o,a;const s=r.currentTime,i=e.registry.get(d.StreamingState),{dataRanges:c}=i;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1],i=null==t?void 0:t.segmentTiming,f=void 0===i?1/0:i.parsedPlaybackTime+i.parsedDuration;if(u||(u=r.length>0),e.timeRange.end>f)return!1;for(const e of r){const t=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration,r=null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];if(!(t<s)&&!r.includes(e))return!1}}return u}function x(e,t){const r=e.registry.get(d.StreamingState).stream,{Type:n}=e.registry.get(u.StreamDataStructureStream);if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function P(e,t,r,n,o){const a=M(e,t,n,o),s=x(e,t);a&&s&&r.close()}function C(e,t){const{state:r}=e.effects,n=e.registry.get(d.StreamingState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:s}=e.registry.get(f.StreamDataStructureTracks);o!==a&&s(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function w(e,t){const r=e.registry.get(s.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,a=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(a){const e=a.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function _(e){return Array.from(e.streamSequenceMap.keys())}function A(e,t){return _(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function N(e,t){for(const r of t)if(r.end>e)return r}function O(e,t,r){const n=e.effects.logger,o=[];for(const[{mimeType:e},a]of r.getBufferedRanges()){const r=N(t.currentTime,a);if(void 0===r)return void n.debug(`Not setting current time yet - "${e}" buffer is empty`);o.push(r)}return o}function D(e){let t=e[0];for(const{start:r,end:n}of e)t={start:Math.max(t.start,r),end:Math.min(t.end,n)};return t}function R(e,t,r,n){const o=e.registry.get(i.SourceExportNames.SourceState).playback.playhead,a=t.currentTime,s=e.effects.logger;if(A(n,a)&&a>=o.position)return;const c=O(e,t,r);if(void 0===c)return;const u=D(c);if(u.start>=u.end)s.debug("Not setting current time yet - buffers don't overlap");else if(o.position>=u.start&&o.position<=u.end)s.log(`Setting currentTime to saved playhead position (${a.toFixed(2)} → ${o.position.toFixed(2)})`),t.currentTime=o.position;else if(a<u.start){const e=u.start;s.log(`Setting currentTime to start of buffer (${a.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function j(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.effects.logger,a=e.registry.get(d.StreamingState),{isMediaTrack:s}=e.registry.get(f.StreamDataStructureTracks),{getReadableSegmentName:i}=e.registry.get(c.StreamDataStructureSegments);yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!s(t.track))return;yield U(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:c,timestampOffset:u}=t.segmentTiming;if(u===-1/0){const e=i(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const f=c+u;n!==f&&r.dispatch(a.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:f,actualTime:n})})))))}))}function U(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:a,store:s}=e.effects,i=s.segmentDataCache.get(t);if(void 0===i)throw new l.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(i.closed)throw new l.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const s=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(d(),n(new l.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{d(),n(new l.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(d(),t(e))})),f=[a.subscribe(e,r,u),a.subscribe(e,i,s),a.subscribe(e,i.cleared,c)],d=()=>f.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(a,s)=>n(void 0,void 0,void 0,(function*(){a=[...a];const n=s.registry.get(i.SourceExportNames.SourceState),c=s.registry.get(d.StreamingState),{state:u}=s.effects;for(const e of a)u.dispatch(c.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield E(s,e),yield(0,S.maybeUpdateTimestampOffset)(s,e,a),yield j(s,a),yield Promise.all(a.map((r=>h(s,t,e,r)))),R(s,o,e,r),P(s,r,e,o,t),yield s.fork((0,y.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw k(s,a),e}finally{b(s);for(const e of a)u.dispatch(c.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=w,t.waitForEncodedPlaybackTime=U},60149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(91270),o=r(14809),a=r(7269),s=r(24693),i=r(27134),c=r(88425),u=r(8747);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:s}=n.effects,{playback:{playhead:i}}=n.registry.get(a.SourceExportNames.SourceState),c=f(t,e,r);s.subscribe(n,r.consumed,c),s.subscribe(n,i,c),s.subscribe(n,e.streamSequenceMap,c);for(const[t,r]of e.streamSequenceMap)s.subscribe(n,r,c);return n.fork(c,i),o(n.abortSignal)}));const f=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,o)=>{const{areSegmentsOverlapping:a}=o.registry.get(s.StreamDataStructureSegments);let i=g(o,e,t);i=d(i,r),i.length>=1&&!a(i)&&i.splice(1,i.length-1),i.length<1||o.effects.state.dispatch(r.appendSegments.trigger,i)}]));function d(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function g(e,t,r){var n,f,d,g;const l=e.registry.get(a.SourceExportNames.SourceState),m=e.registry.get(c.StreamingState),{dataRanges:p}=m,y=[],{isMediaSelectionGroup:S,getMediaType:b}=e.registry.get(i.StreamDataStructureSelectionGroups),{overlaps:v}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:h}=e.registry.get(s.StreamDataStructureSegments);for(const[o,a]of r.streamSequenceMap){if(!S(o))continue;const r=b(e,o),s=(0,u.getMediaTypeTargetRanges)(l,m,r),i=null!==(f=null===(n=p.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==f?f:[],c=null!==(g=null===(d=p.media[o.mediaId])||void 0===d?void 0:d.source[t.appending])&&void 0!==g?g:[];for(let t=0;t<a.length;t++){const r=a[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,u=n+o,f=i.includes(r),d=c.includes(r),g=h(r,a[t+1]),l=void 0!==g&&u===g.start,m=n>=s.start&&n<s.end,p=u>s.start&&u<=s.end,S=e.effects.store.segmentDataCache.has(r);if((m||p||(s.start===u||void 0!==g&&v(s,g))&&l)&&!f&&!d&&S){y.push(r);break}}}return y.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),y}},63927:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(14809),a=r(24693),s=r(5670);function i(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield c(e,t))}))}function c(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,o=e.effects.logger,a=d(t),i=new Map;yield Promise.all(a.map((t=>n(this,void 0,void 0,(function*(){yield(0,s.waitForEncodedPlaybackTime)(e,t),i.set(t.track,u(e,t))})))));const c=Array.from(i.values()),f=Math.max(...c);if(void 0!==f){o.debug(`Determined timestampOffset to be (${f})`);for(const[e]of i)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,f)}}else o.debug(`Could not determine timestamp offset (${c})`)}))}function u(e,t){const r=f(e,t);if(void 0===r){const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}return r}function f(e,t){var r;const n=t.track,s=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:i}=e.registry.get(a.StreamDataStructureSegments),{overlaps:c}=e.registry.get(o.CoreExportNames.Utils).Ranges,u=i(t);for(const e of s){const t=e.segments.find((e=>c(i(e),u))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function d(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0===n)t.set(e,r);else{const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:a}=r.segmentTiming;a<o&&t.set(e,r)}}return Array.from(t.values())}t.maybeUpdateTimestampOffset=i},87436:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const a=r(24693),s=r(4304),i=r(8747);function c(e,t,r){var s,c,f,d;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(a.StreamDataStructureSegments);if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var l,m=!0,p=o(g);l=yield p.next(),!(s=l.done);){d=l.value,m=!1;try{const n=d,o=(0,i.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield u(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{m=!0}}}catch(e){c={error:e}}finally{try{m||s||!(f=p.return)||(yield f.call(p))}finally{if(c)throw c.error}}}))}function u(e,t,r){var c,u,f,d,g,l,m,p;return n(this,void 0,void 0,(function*(){const n=e.effects.logger,{isDataOrSelfInitSegment:y}=e.registry.get(a.StreamDataStructureSegments);n.debug("Appending",t.url);const S=e.effects.store.segmentDataCache.get(t);if(!S)throw new s.SegmentCacheMissError;try{for(var b,v=!0,h=o(S);b=yield h.next(),!(c=b.done);){d=b.value,v=!1;try{const a=d,s=(0,i.getMatchingBuffer)(e,r.buffers,a.containerFormat,a.mediaTypes);if(!s){n.log(`Can't append "${a.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}y(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(s,t.segmentTiming.timestampOffset));try{for(var T,k=!0,E=(l=void 0,o(a.fragments));T=yield E.next(),!(g=T.done);){p=T.value,k=!1;try{const e=p;yield r.appendData(s,e)}finally{k=!0}}}catch(e){l={error:e}}finally{try{k||g||!(m=E.return)||(yield m.call(E))}finally{if(l)throw l.error}}}finally{v=!0}}}catch(e){u={error:e}}finally{try{v||c||!(f=h.return)||(yield f.call(h))}finally{if(u)throw u.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=c,t.appendSegment=u},10899:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;class r extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function n(e,t,r){return void 0===r?`Segment doesn't contain "${e}" codec, but track does`:`"${e}" codecs don't match between track (${t}) and segment (${r})`}function o(e,t,r){const o=t.split(".")[0],a=r.find((e=>o===e.split(".")[0])),s=e.effects.logger;a?t!==a&&s.log(`Codecs don't match between track and segment (${t}, ${a})`):s.warn(n(t))}function a(e,t,a,s){var i;const c=e.effects.logger,[u,f]=null!==(i=s.find((([e])=>e===t)))&&void 0!==i?i:[];if(!f)throw new r(t);if(a.length===f.length)for(const t of a)o(e,t,f);else c.warn(n(t,a,f))}function s(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)a(e,n,o,r)}t.verifyCodecs=s},76410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(91270),o=r(55225),a=r(24693);function s(e){const{ContainerFormat:t}=e.registry.get(a.StreamDataStructureSegments),{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:a}=e.effects,{containerFormatMap:i}=o,c=s(e),u=t.find((e=>c.includes(e))),f=r.selectionGroup;if(void 0===u)throw new Error("Unable to select suitable container format for playback");return a.dispatch(i.add,f,u),u}]))},79284:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(91270),a=r(14809),s=r(1146),i=r(69104),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{subscribeAndRun:r}=t.registry.get(a.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(a.CoreExportNames.Utils).State;for(const[n,o]of e)r(t,o,i.SegmentDataStreamSubscriber);return t.effects.loop(t.abortSignal)}))));function f(e){const t=e.registry.get(s.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(a.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=f},69104:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(91270),a=r(14809),s=r(30158),i=r(24693),c=r(33983),u=r(76410),f=r(42269);function d(e,t,r){const{createTransient:n}=e.registry.get(a.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,u.SelectContainerFormatTask)(e)}}function g(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,c.getOrCreateOutputStream)(e,r,t),i=d(e,t,o),u=e.registry.get(s.SegmentProcessingExportNames.SegmentProcessingComponent),g=(0,f.subscribeToTransients)(e,i),{DataStreamClearedError:l,DataStreamClosedError:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(a.CoreExportNames.CoreStateAtoms).Queue,y=e=>[m,l,p].some((t=>e instanceof t));try{yield e.fork(u.process,i,y)}catch(e){const a=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,a),r.delete(t),!y(a))throw a}finally{g()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(i.StreamDataStructureSegments),n=r(e)?[e,e.initSegment]:[e];yield Promise.all(n.map((e=>g(t,e))))}))))},42269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(91270),o=r(24693),a=r(66895),s=r(10899);function i(e,{value:t},r){if(void 0===t)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:n}=r.registry.get(a.StreamDataStructureTracks),{track:o}=e;if(!n(o))return;const i=[],c=Object.keys(t);for(const e of c)i.push([e,t[e]]);if(0===o.codecs.size){r.effects.logger.log("Parsed codecs from segment",i),r.effects.state.dispatch(o.codecs.setAll,i)}else(0,s.verifyCodecs)(r,o,i)}function c(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:s,dataParsed:i}=e.segmentTiming;a.dispatch(i,t.value,s)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:s,encodedDuration:i,dataParsed:c}=e.segmentTiming;-1===s&&a.dispatch(c,i,t.value)}function f(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",i.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",c.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",u.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=f},30158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessorType=t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={})),function(e){e.Decryptor="decryptor",e.Parser="parser",e.Preprocessor="preprocessor",e.Transmuxer="transmuxer",e.Postprocessor="postprocessor"}(t.SegmentProcessorType||(t.SegmentProcessorType={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const n=r(24693),o=r(27134),a=r(94503),s=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[n.StreamDataStructureSegments,o.StreamDataStructureSelectionGroups,s.StreamDataStructureTracks,a.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r(37604)})()));
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* source code is subject to the terms and conditions of the accompanying
|
|
6
6
|
* license agreement.
|
|
7
7
|
*
|
|
8
|
-
* Bitmovin Player X Version 10.2.0-beta.
|
|
8
|
+
* Bitmovin Player X Version 10.2.0-beta.13
|
|
9
9
|
*******************************************************************************/
|
|
10
10
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["mse-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["mse-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={19281:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createEffectFactory=void 0;const r=e=>e;t.createEffectFactory=r},4250:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerEffectFactory=t.LogLevel=void 0;const n=r(19281);var o;!function(e){e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Log=3]="Log",e[e.Debug=4]="Debug",e[e.Verbose=5]="Verbose"}(o||(t.LogLevel=o={}));const a={error:console.error.bind(console),warn:console.warn.bind(console),log:console.log.bind(console),debug:console.info.bind(console),verbose:console.debug.bind(console)},i=()=>{};class s{constructor(e,t){this.logLevel=o.Verbose,this.logProvider=a,this.logCallbacks=[],this.parent=e,this.logMetadata=t}get verbose(){return this.resolveMethod(o.Verbose,this.provider.verbose)}get debug(){return this.resolveMethod(o.Debug,this.provider.debug)}get log(){return this.resolveMethod(o.Log,this.provider.log)}get warn(){return this.resolveMethod(o.Warn,this.provider.warn)}get error(){return this.resolveMethod(o.Error,this.provider.error)}get level(){return this.parent?this.parent.level:this.logLevel}get provider(){return this.parent?this.parent.provider:this.logProvider}get metadata(){var e;return Object.assign(Object.assign({},null===(e=this.parent)||void 0===e?void 0:e.metadata),this.logMetadata)}setLevel(e){this.parent?this.parent.setLevel(e):this.logLevel=e}setProvider(e){this.parent?this.parent.setProvider(e):this.logProvider=e}addOnLogCallback(e){return this.parent?this.parent.addOnLogCallback(e):(this.logCallbacks.push(e),()=>{const t=this.logCallbacks.indexOf(e);t>-1&&this.logCallbacks.splice(t,1)})}get onLogCallbacks(){return this.parent?this.parent.onLogCallbacks:this.logCallbacks}resolveMethod(e,t){const r=this.onLogCallbacks,n=this.level>=e;return 0!==r.length||n?0===r.length?t:(...o)=>{const a=this.metadata;for(const t of r)t(e,a,...o);n&&t(...o)}:i}}function c(e){return e&&"logger"in e.effects&&e.effects.logger instanceof s?e.effects.logger:void 0}const u=e=>(0,n.createEffectFactory)((t=>({effect:{logger:new s(c(t),e)}})));t.LoggerEffectFactory=u},97085:(e,t)=>{function r(e,t,r){const n=t;return n._name=e,{onAdd:n,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function n(e){return(...t)=>{const[n,o]=e(...t);return r(n,o)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},47755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function n(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function a(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function i(e,t,r){let n=0,o=e.length;for(;n<o;){const a=n+o>>>1;r(e[a])<r(t)?n=a+1:o=a}return n}function s(e,t,...r){const n=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const n of r){const r=t(n),o=t(e[0]);if(t(e[e.length-1])<=r)e.push(n);else if(r<=o)e.unshift(n);else{const r=i(e,n,t);e.splice(r,0,n)}}return e.length!==n}function c(e,...t){let r=!1;for(const n of t){const t=e.indexOf(n);t<0||(r=!0,e.splice(t,1))}return r}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function f(e,t){if(r(e,t))return!1;const n=u(e);return t.forEach((t=>e.push(t))),n||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const d=(e,t=[])=>{const r={add:n,insert:a,insertSorted:s,remove:c,clear:u,set:f,addIfNew:o};return e.effects.state.create(t,r)};t.createArrayAtom=d},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},55714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationState=void 0,t.MsePresentationState="mse-presentation-state"},4399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(91270),o=r(14809),a=r(1146),i=r(7269),s=r(27134),c=r(88425),u=r(8747);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(i.SourceExportNames.SourceState),s=r.registry.get(a.DataExportNames.StreamTimeline),{mapSubscribe:c}=r.registry.get(o.CoreExportNames.Utils).State,u=d([e,t]),g=f(u);return r.effects.state.subscribe(r,n.playback.playhead,u),c(r,s,g),r.fork(u,s),r.effects.loop(r.abortSignal)}));const f=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),d=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!m(n)||g(n))return;const o=S(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function g(e){const t=e.registry.get(i.SourceExportNames.SourceState),r=e.registry.get(c.StreamingState),n=t.playback.playhead.position;return r.stream.duration.value<n||n<0}function l(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(c.StreamingState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function m(e){const{isMediaSelectionGroup:t}=e.registry.get(s.StreamDataStructureSelectionGroups),r=e.registry.get(a.DataExportNames.StreamTimeline),n=l(e);return r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function p(e,t){return e>=t.start&&e<=t.end}function S(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(a.DataExportNames.StreamTimeline),{isEndInRange:s}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=l(e);return n.find((n=>{const o=v(e,n);if(o.length!==f)return!1;return!!o.every((({mediaType:t,selectionGroup:n})=>{const o=e.registry.get(c.StreamingState),a=(0,u.getMediaTypeTargetRanges)(r,o,t);return p(a.start,n.timeRange)||s(a.end,n.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:i})=>{var s,f;const d=e.registry.get(c.StreamingState),g=(0,u.getMediaTypeTargetRanges)(r,d,o),l=b(e,n,o,g),m=null!==(f=null===(s=d.dataRanges.media[a])||void 0===s?void 0:s.ranges)&&void 0!==f?f:[],p=i.timeRange.end,S=m.some((e=>e.start<=p&&p<=e.end)),v=y(e,l,a,t);return!S||!v}))}))}function y(e,t,r,n){var o,a;const i=e.registry.get(c.StreamingState),{dataRanges:s}=i,u=null!==(a=null===(o=s.media[r])||void 0===o?void 0:o.source[n])&&void 0!==a?a:[];return t.every((e=>u.includes(e)))}function b(e,t,r,n){const{isVideoSelectionGroup:a,isAudioSelectionGroup:i}=e.registry.get(s.StreamDataStructureSelectionGroups),{isEndInRange:c,isStartInRange:u}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=e.registry.get(o.CoreExportNames.Constants).MediaType,d=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===f.Audio&&i(e)||r===f.Video&&a(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(u(t,n)||c(r,n))&&d.push(e)}return d}function v(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(s.StreamDataStructureSelectionGroups),a=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:a.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:a.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},16566:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(91270);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let o=!1;const i=()=>{if(o)return;const t=a(r,e);void 0!==t&&(r.effects.logger.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${t.toFixed(2)})`),e.currentTime=t)},s=()=>{o=!0},c=()=>{o=!1},u=()=>{o=!1};return n.subscribe(r,e,"waiting",i),n.subscribe(r,e,"seeking",s),n.subscribe(r,e,"seeked",c),n.subscribe(r,e,"playing",u),r.effects.loop(r.abortSignal)}]));const o=.1;function a(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),a=n.end(e);if(r>=t&&r<=a&&a-r<o&&e<n.length-1)return n.start(e+1)}}},11821:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const o=r(91270),a=r(14809),i=r(27134);function s(e){return e.tracks.some((e=>e.codecs.size>0))}function c(e){return void 0!==e.container.value}function u(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:i}=e.registry.get(a.CoreExportNames.Utils).State;return n((n=>{const a=(0,o.createTask)("segment-container-format-subscriber",((e,t)=>{r()&&(n(),s())})),s=i(e,t,a)}))}))}function f(e,t){return n(this,void 0,void 0,(function*(){return u(e,t.container,(()=>c(t)))}))}function d(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return u(e,r,(()=>void 0!==r.get(t)))}))}function g(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,a=[],i=r((r=>{for(const i of t.tracks){const c=(0,o.createTask)("codec-subscriber",((e,n)=>{s(t)&&r()}));a.push(n.subscribe(e,i.codecs,c))}}));return i.finally((()=>a.forEach((e=>e())))).catch((()=>{})),i}))}function l(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(i.StreamDataStructureSelectionGroups),{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap)r(o)&&(s(o)||(yield g(e,o)),c(o)||(yield f(e,o)),void 0===n.get(o)&&(yield d(e,o)))}))}t.awaitMediaInfo=l},55388:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationPackage=void 0;const o=r(4250),a=r(97085),i=r(55225),s=r(14809),c=r(1146),u=r(30158),f=r(7269),d=r(78622),g=r(88425),l=r(55714),m=r(17090),p=r(53434),S=r(76410),y=r(79284),b=r(95994),v=r(36912);t.MsePresentationPackage=(0,a.createPackage)("mse-presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(s.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:a}=t.registry.get(s.CoreExportNames.CoreEffects),i=t.using(r,n,(0,o.LoggerEffectFactory)({package:"MsePresentation"})),c=i.using(a("segmentDataCache",new Map)).using(a("containerFormatMap",e(i)));c.registry.maybeSet(b.MsePresentationExportNames.SelectContainerFormat,S.SelectContainerFormatTask);const{state:u}=c.effects,d=c.registry.get(f.SourceExportNames.SourceState),g=(0,v.VideoElementSubscriber)((0,p.createPresentationStateAtom)(c),(0,m.createActiveSectionAtom)(c));(0,y.startPresentationSegmentProcessing)(c),u.subscribe(c,d.video,g)}))),[s.CoreExportNames.Utils,s.CoreExportNames.Constants,f.SourceExportNames.SourceState,c.DataExportNames.StreamTimeline,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,i.CapabilitiesExportNames.PlatformCapabilities,u.SegmentProcessingExportNames.SegmentProcessingComponent,u.SegmentProcessingExportNames.SegmentProcessorErrors,l.MsePresentationState,...d.StreamDataStructureExportNames,g.StreamingState]),t.default=t.MsePresentationPackage},4304:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(91270),a=r(55225),i=r(14809),s=r(7269),c=r(27134),u=r(66895),f=r(88425),d=r(11821),g=r(71185),l=r(61820),m=r(99569),p=r(8747);function S(e,t,r){const{MediaType:n}=e.registry.get(i.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:s}=e.registry.get(i.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=s(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===s(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function y(e,t,r,n,o){const{equals:a}=e.registry.get(i.CoreExportNames.Utils).Arrays;return t.find((([t,i,s])=>{const c=r===i,u=a(o,s),f=S(e,n,t);return c&&u&&f}))}function b(e,t,r){if(t.length!==r.length)return!0;for(const[n,o,a]of t){if(void 0===y(e,r,o,n,a))return!0}return!1}function v(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function h(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function T(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,a,i]of r){const r=(0,p.getMatchingBuffer)(e,t.buffers,a,i);if(void 0===r)return!1;const s=y(e,n,a,o,i);if(void 0===s)return!1;const[c,u,f]=s;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function E(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,a]of t){const t=(0,p.getMatchingBuffer)(e,r.buffers,o,a);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function k(e,t,r,o){return n(this,void 0,void 0,(function*(){const{waitFor:n}=e.registry.get(i.CoreExportNames.Utils).State,{managedMediaSourceSupported:s}=e.registry.get(a.CapabilitiesExportNames.PlatformCapabilities);t&&(e.effects.logger.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield v(e,t,o),e.effects.logger.debug("End of buffer reached, recreating MSE...")),null==t||t.dispose(),t=(0,g.createRenderer)(e);const c=n(e,t.onOpen);e.effects.logger.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,s()&&(o.disableRemotePlayback=!0),o.load(),yield c;for(const[e,n,o]of r)t.addBuffer(e,n,o);const u=e.registry.get(f.StreamingState).stream;return yield t.setDuration(u.duration.value),t}))}function x(e,t,r,o,a,i){return n(this,void 0,void 0,(function*(){const n=e.registry.get(s.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return e.effects.logger.log(`Creating MSE for ${i}`),yield k(e,void 0,i,a);const c=h(t);return b(e,c,i)?T(e,t,c,i)?(e.effects.logger.log(`Changing MSE buffer types for ${i}`),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),yield E(e,i,t)):(e.effects.logger.log(`Re-creating MSE for ${i}`),yield k(e,t,i,a)):(e.effects.logger.log(`Re-using MSE for ${i}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),t)}))}class M extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=M;class C extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function P(e){const t=new Set;for(const r of e.codecs.keys())t.add(r);return t}function w(e,t){const{MediaType:r}=e.registry.get(i.CoreExportNames.Constants),{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:o}=e.registry.get(u.StreamDataStructureTracks),a=Array.from(t.streamSequenceMap.keys()).filter(n).flatMap((e=>e.tracks)).filter(o);for(const e of a){const t=P(e),n=t.has(r.Muxed),o=t.has(r.Audio),a=t.has(r.Video);if(n||o&&a)return!0}return!1}function A(e,t){const{isMediaTrack:r}=e.registry.get(u.StreamDataStructureTracks);let n,o=-1/0;for(const e of t.tracks){if(!r(e))continue;const{bitrate:t,codecs:a}=e;t>o&&a.size>0&&(o=t,n=a)}return n}function _(e,t){const r=[];for(const[n,o]of e)r.push([o,t,[n]]);return r}function D(e,t){return[[Array.from(e.values()).flat(),t,Array.from(e.keys())]]}function N(e,t,r){const{containerFormatMap:n}=e.effects.store,o=n.get(r),a=w(e,t);if(void 0===o)throw new Error("Container format is unexpectedly undefined");const i=A(e,r);if(void 0===i)throw new Error("Could not determine codec to create buffers with");return a?_(i,o):D(i,o)}function O(e,t){const r=[],{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups);for(const[o]of t.streamSequenceMap){if(!n(o))continue;const a=N(e,t,o);void 0!==a&&r.push(...a)}return r}t.SegmentCacheMissError=C;const R=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{try{if(0===e.buffered.length)return void r.effects.logger.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}r.effects.logger.verbose(t)}catch(t){r.effects.logger.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),U=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:a,loop:i}=o.effects,{activeRenderer:c,dataRangeIds:u}=e,g=o.registry.get(s.SourceExportNames.SourceState),p=o.registry.get(f.StreamingState).stream,S=g.playback.playhead;yield(0,d.awaitMediaInfo)(o,r);const y=O(o,r);o.effects.logger.log("Preparing playback of section with buffers",y),a.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(S.setPosition,t.currentTime)})),a.subscribe(o,t,"seeking",(()=>n.dispatch(S.setPosition,t.currentTime)));const b=yield x(o,c,u,r,t,y);return b.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,R(e)))),n.dispatch(e.setActiveRenderer,b),n.subscribe(o,p.duration,U(b)),n.subscribe(o,S,(0,l.BufferClearingTask)(b,r,u)),o.fork(m.SegmentAppendage,{renderer:b,section:r,dataRangeIds:u,video:t}).catch((()=>{})),i(o.abortSignal)}))]))},95994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.MsePresentationExportNames||(t.MsePresentationExportNames={}))},8747:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(14809);function o(e,t,r){const n=e.playback.playhead.position;return{start:n,end:n+t.bufferConfig[r].forwardDuration}}function a(e,t,r){const n=e.playback.playhead.position,o=t.bufferConfig[r];return{start:Math.max(0,n-o.backwardDuration),end:n+o.forwardDuration}}function i(e,t,r,o){const{equals:a}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>a(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=a,t.getMatchingBuffer=i},3014:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},36912:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(91270),o=r(88425),a=r(4399),i=r(16566),s=r(4304),c=r(3014);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:u,effects:f,abortSignal:d}=n,{state:g,loop:l,abortable:m}=f,p=n.effects.logger;if(void 0===r.element)return p.log("Cannot set up presentation task - no video element"),m((e=>e()));const S=r.element,y=(0,s.ActiveSectionSubscriber)(e,S);return n.effects.logger.log("Setting up presentation task..."),(0,c.resetVideoSource)(S,p),g.subscribe(n,t,y),void 0!==t.section&&u(y,t),u((0,i.GapHandlingTask)(S),e),u(a.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:a}=n.effects;if(n.registry.has(o.StreamingState)){const t=n.registry.get(o.StreamingState),{dataRanges:r}=t;for(const t in r.media)for(const n of Object.values(e.dataRangeIds))a.dispatch(r.deleteSource,t,n)}return a.dispatch(e.setActiveRenderer,void 0),void 0!==r&&S.src===r&&(0,c.resetVideoSource)(S,p),!1})),l(d)}]))},17090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},53434:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},88070:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(91270),a=r(14809);function i(e){const{createTransient:t}=e.registry.get(a.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const s=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:a},i)=>n(void 0,void 0,void 0,(function*(){if(void 0===a)return;const n=t.queue;n.push(a);try{yield e.fork(r,a.slice(),o)}catch(e){}finally{const r=n.indexOf(a);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(i(e),{}),a=s(e,o,t,r);return n.subscribe(e,o.appendSegments,a),o}t.createSegmentAppendageQueueAtom=c},33983:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(14809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,a=o(e);return t.set(r,a),a}function a(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=a},15865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e.type}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},71185:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(55225),a=r(14809),i=r(32776),s=r(22782),c=r(34175),u=r(50907);function f(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(a.CoreExportNames.Utils).State,i={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(i.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(i.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(i.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(i.onError.trigger,new Error(JSON.stringify(e))))),i}function d(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function g(e,t,r,n,o,a,i){const u=(0,s.generateMimeTypeString)(e,i,a,o);e.effects.logger.debug(`Adding source buffer of type "${u}"`);const f=t.addSourceBuffer(u),d=(0,c.createSourceBufferActionQueue)(e,f),g=(0,s.createRendererBufferAtom)(e,o,i,a,!1,f),m=l(e,g,f);n.set(g,[f,d,m]),e.effects.state.dispatch(r.add,g)}function l(e,t,r){const{events:n,state:o}=e.effects,a=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>a.forEach((e=>e()))}function m(e,t,r,n,a,i){const{typeSupported:c}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities),u=d(r,n)[0],f=(0,s.generateMimeTypeString)(e,n.mediaTypes,i,a);return"function"==typeof u.changeType&&c(f)}function p(e,t,r,n,o,a){const[i,c]=d(r,n),u=(0,s.generateMimeTypeString)(e,n.mediaTypes,a,o),f=e=>e.changeType(u);return c.execute(f)}function S(e,t,r,o,a){return n(this,void 0,void 0,(function*(){const[n,i]=d(r,a),s=e=>t.removeSourceBuffer(e);yield i.execute(s),r.delete(a),e.effects.state.dispatch(o.remove,a)}))}function y(e,t,r,n,o){const a=e.effects.logger,[i,s]=d(r,n),c=e=>{e.timestampOffset=o};return a.log(`Setting timestamp offset to ${o.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,o),s.execute(c)}function b(e,t,r,n,o){const[a,i]=d(r,n),s=e=>e.appendBuffer(o.data.buffer);return i.execute(s)}function v(e,t,r,n,o,a){if(o>=a)return e.effects.abortable((e=>e()));const[i,s]=d(r,n),c=e=>e.remove(o,a);return s.execute(c)}function h(e,t,r){e.readyState===u.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function T(e,t,r,n){if(t.readyState===u.MediaSourceReadyState.Open){const e=[n,t.duration].filter((e=>!Number.isNaN(e))),o=()=>{t.duration=Math.max(...e)};return r.execute(o)}return e.effects.logger.log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function E(e,t,r){const n=e.effects.logger;if(t.readyState===u.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function k(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.effects.logger.debug("Could not determine buffered ranges for source buffer:",t)}return r}function x(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,k(e,r));return o}function M(e){return e.readyState}function C(e,t,r){const n=Array.from(r.entries());if(t.readyState===u.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[a]]]=n;return y(e,t,r,o,a.timestampOffset)}function P(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function w(e){const{createArrayAtom:t}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{managedMediaSourceSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);let n=e;const s=r(),c=s?new ManagedMediaSource:new MediaSource,u=URL.createObjectURL(c);e.effects.logger.log("Created "+(s?"ManagedMediaSource":"MediaSource"));const d=f(n,c),k=new Map,w=t(n,[]),A=(0,i.createRendererActionQueue)(n,k);return Object.assign(Object.assign({},d),{sourceUrl:u,buffers:w,addBuffer:g.bind(void 0,n,c,w,k),canChangeBuffer:m.bind(void 0,n,c,k),changeBuffer:p.bind(void 0,n,c,k),removeBuffer:S.bind(void 0,n,c,k,w),setTimestampOffset:y.bind(void 0,n,c,k),getBufferedRanges:x.bind(void 0,n,c,A,k),appendData:b.bind(void 0,n,c,k),removeData:v.bind(void 0,n,c,k),setSeekableRange:h.bind(void 0,c),setDuration:T.bind(void 0,n,c,A),getState:M.bind(void 0,c),close:E.bind(void 0,n,c,A),reopen:C.bind(void 0,n,c,k),dispose:P.bind(void 0,n,c,k,w),bind:e=>{const t=e.effects.logger,r=Array.from(k.keys());t.debug("Binding renderer to new context..."),n=e,A.bind(n);for(const t of r){const r=k.get(t);if(!r)continue;const[o,a,i]=r;i(),a.bind(n),r[2]=l(e,t,o)}}})}t.createRenderer=w},32776:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,a){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(a,n)}finally{t.executing=!1,o(e,t,r,a).catch((()=>{}))}else t.executing=!1}))}const a=(0,r(91270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:a,events:s}=o;let c=()=>{},u=()=>{};const f=a(((e,t)=>{u=e,c=t})),d=[c],[g,l]=t,m=s.subscribe(r,n,"abort",(()=>{d.forEach((e=>e(n.reason)))}));f.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=i(r,e,f,d);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),l()}finally{m()}}))]));function i(e,t,r,o){const a=[],i=[];for(const[s,[c,u]]of t){let t=()=>{};const s=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));s.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));a.push(s),i.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:a,sourceBufferActionAbortables:i}}function s(e,t){const r=[],n={executing:!1},i=a(t);return{execute:t=>{const{abortable:a}=e.effects;let s=()=>{},c=()=>{};const u=a(((e,t)=>{s=e,c=t}));return r.push([t,s,c]),o(e,n,r,i).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=s},22782:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(47755),o=r(14809),a=r(24693);function i(e,t,r,a,i){const{createTransient:s}=e.registry.get(o.CoreExportNames.Utils).State;return{onUpdateStart:s(e),onUpdate:s(e),onUpdateEnd:s(e),onError:s(e),onAbort:s(e),codecs:(0,n.createArrayAtom)(e,t),containerFormat:a,mediaTypes:(0,n.createArrayAtom)(e,r),encrypted:i,mimeType:u(e,r,a,t),timestampOffset:0,initSegment:void 0}}function s(e,t,r){const{MediaType:n}=e.registry.get(o.CoreExportNames.Constants),{ContainerFormat:i}=e.registry.get(a.StreamDataStructureSegments);return t===i.TS?n.Video:r}function c(e,t){return r=>`${s(e,t,r)}/${t}`}function u(e,t,r,n){return`${t.map(c(e,r)).join(";")};codecs="${n.join(",")}"`}function f(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function d(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function g(e,t,r,n,o){const{state:a}=e.effects,i=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),s=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!s||!i)&&(t.mimeType=u(e,n,o,r),t.containerFormat=o,a.dispatch(t.codecs.set,r),a.dispatch(t.mediaTypes.set,n),!0)}function l(e,t,r,n,a,s){const{deriveFrom:c}=e.registry.get(o.CoreExportNames.Utils).State,u=i(e,t,r,n,a);return c(u,"buffered",(()=>s.buffered)),e.effects.state.create(u,{setTimestampOffset:f,setInitSegment:d,updateType:g.bind(void 0,e)})}t.generateMimeTypeString=u,t.createRendererBufferAtom=l},34175:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(91270),a=r(15865),i=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new a.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new a.SourceBufferActionFailedError(e))))):n()}))}));function s(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof a.SourceBufferActionAbortedError))}finally{t.executing=!1,s(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}function c(e){return e instanceof Error?e:e instanceof Event?new a.SourceBufferActionFailedError(e):new Error("SourceBuffer action failed: "+e)}const u=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,a]=t;let s=()=>{};try{yield r.fork(i,e,(()=>!0)).catch((()=>{}));const t=n(e,r);s=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(i,e),s(),o()}catch(e){s(),a(c(e))}}))]));function f(e,t){const r=[],n={executing:!1},o=u(t);let i=()=>{};const c=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},f=()=>{i(),i=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{c(new a.SourceBufferActionAbortedError)}))};return f(),{execute(t){const{abortable:a}=e.effects;let i=()=>{},c=()=>{};const u=a(((e,t)=>{i=e,c=t}));return u.catch((()=>{})),r.push([t,i,c]),s(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,f()},abort(e){c(new a.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=f},50907:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferEvent=t.MediaSourceEvent=t.MediaSourceReadyState=void 0,function(e){e.Closed="closed",e.Open="open",e.Ended="ended"}(t.MediaSourceReadyState||(t.MediaSourceReadyState={})),function(e){e.Error="error",e.SourceOpen="sourceopen",e.SourceClose="sourceclose",e.WebkitSourceOpen="webkitsourceopen"}(t.MediaSourceEvent||(t.MediaSourceEvent={})),function(e){e.UpdateStart="updatestart",e.Update="update",e.UpdateEnd="updateend",e.Error="error",e.Abort="abort"}(t.SourceBufferEvent||(t.SourceBufferEvent={}))},61820:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(91270),a=r(14809),i=r(7269),s=r(24693),c=r(27134),u=r(66895),f=r(88425),d=r(50907),g=r(8747),l=r(5670);function m(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==d.MediaSourceReadyState.Open)return;const n=t.getBufferedRanges();for(const[r,o]of n){const n=p(e,r),a=[],i=o.filter((e=>e.start>n.end));S(e,o,{start:0,end:n.start})&&a.push(t.removeData(r,0,n.start)),i.length>0&&a.push(t.removeData(r,i[0].start,1/0)),yield Promise.all(a)}y(e,t.buffers,r,o),v(e,t.buffers)}))}function p(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(f.StreamingState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,g.getTargetBufferRange)(r,n,e))).reduce(((e,t)=>({start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)})),{start:1/0,end:-1/0})}function S(e,t,r){const{overlaps:n}=e.registry.get(a.CoreExportNames.Utils).Ranges;let o=!1;for(const e of t)o=n(e,r)||o;return o}function y(e,t,r,n){var o,a;const i=e.registry.get(f.StreamingState),{dataRanges:u}=i,{isMediaSelectionGroup:d}=e.registry.get(c.StreamDataStructureSelectionGroups),{resetData:g}=e.registry.get(s.StreamDataStructureSegments),{state:m}=e.effects;for(const[i]of r.streamSequenceMap){if(!d(i))continue;const r=null!==(a=null===(o=u.media[i.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];for(const o of r.slice())b(e,o,t)||(m.dispatch(u.removeSegment,i.mediaId,n.buffered,o),(0,l.removeSegmentFromStreamTimeline)(e,o),g(o,e))}}function b(e,t,r){const{getTimeRange:n}=e.registry.get(s.StreamDataStructureSegments),{overlaps:o,isFullyIncluded:c}=e.registry.get(a.CoreExportNames.Utils).Ranges,u=n(t),f=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(u.end>=f.position?o(u,r):c(u,r))return!0}}return!1}function v(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{overlaps:o}=e.registry.get(a.CoreExportNames.Utils).Ranges,c=e.registry.get(i.SourceExportNames.SourceState),d=e.registry.get(f.StreamingState),{isDataOrSelfInitSegment:m,isDataSegment:p,getTimeRange:S}=e.registry.get(s.StreamDataStructureSegments),{isMediaTrack:y}=e.registry.get(u.StreamDataStructureTracks),v=new Set,h=[];for(const a of n){if(!y(a.track))continue;if(!m(a)){h.push(a);continue}const n=o(Array.from(a.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,g.getTargetBufferRange)(c,d,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),S(a));b(e,a,t)||n?p(a)&&v.add(a.initSegment):(r.delete(a),(0,l.removeSegmentFromStreamTimeline)(e,a))}for(const e of h)v.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,a)=>n(void 0,void 0,void 0,(function*(){const n=a.effects.logger;try{n.debug("Clearing buffers"),yield m(a,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},99569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(91270),o=r(14809),a=r(88070),i=r(4304),s=r(5670),c=r(60149);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:f}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:d}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof i.EncodedPlaybackTimeUnknownError||e instanceof f||e instanceof i.SegmentCacheMissError||e instanceof d,l=(0,a.createSegmentAppendageQueueAtom)(u,(0,s.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:l,dataRangeIds:t})}))},5670:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(91270),a=r(14809),i=r(1146),s=r(7269),c=r(24693),u=r(94503),f=r(66895),d=r(88425),g=r(50907),l=r(4304),m=r(8747),p=r(87436),S=r(61820),y=r(63927);function b(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function v(e,t,r){const{state:n}=e.effects,o=e.registry.get(d.StreamingState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function h(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,p.maybeAppendInitSegment)(e,o,r),yield(0,p.appendSegment)(e,o,r),P(e,o),v(e,t,o)}))}function T(e,t){const{isMediaTrack:r}=e.registry.get(f.StreamDataStructureTracks),n=e.registry.get(s.SourceExportNames.SourceState),o=e.registry.get(d.StreamingState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const a={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,m.getTargetBufferRange)(n,o,e);a.start=Math.min(a.start,t),a.end=Math.max(a.end,r)}return a}function E(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(c.StreamDataStructureSegments),{overlaps:i}=e.registry.get(a.CoreExportNames.Utils).Ranges;for(const a of t){const t=T(e,a),s=void 0!==(null===(r=n.segmentDataCache.get(a))||void 0===r?void 0:r.error),c=i(t,o(a));!s&&c||w(e,a)}}function k(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===g.MediaSourceReadyState.Open)return;const r=e.registry.get(d.StreamingState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function x(e,t,r,n){var o,a;const i=r.currentTime,s=e.registry.get(d.StreamingState),{dataRanges:c}=s;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1],s=null==t?void 0:t.segmentTiming,f=void 0===s?1/0:s.parsedPlaybackTime+s.parsedDuration;if(u||(u=r.length>0),e.timeRange.end>f)return!1;for(const e of r){const t=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration,r=null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];if(!(t<i)&&!r.includes(e))return!1}}return u}function M(e,t){const r=e.registry.get(d.StreamingState).stream,{Type:n}=e.registry.get(u.StreamDataStructureStream);if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function C(e,t,r,n,o){const a=x(e,t,n,o),i=M(e,t);a&&i&&r.close()}function P(e,t){const{state:r}=e.effects,n=e.registry.get(d.StreamingState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks);o!==a&&i(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function w(e,t){const r=e.registry.get(i.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,a=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(a){const e=a.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function A(e){return Array.from(e.streamSequenceMap.keys())}function _(e,t){return A(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function D(e,t){for(const r of t)if(r.end>e)return r}function N(e,t,r){const n=e.effects.logger,o=[];for(const[{mimeType:e},a]of r.getBufferedRanges()){const r=D(t.currentTime,a);if(void 0===r)return void n.debug(`Not setting current time yet - "${e}" buffer is empty`);o.push(r)}return o}function O(e){let t=e[0];for(const{start:r,end:n}of e)t={start:Math.max(t.start,r),end:Math.min(t.end,n)};return t}function R(e,t,r,n){const o=e.registry.get(s.SourceExportNames.SourceState).playback.playhead,a=t.currentTime,i=e.effects.logger;if(_(n,a)&&a>=o.position)return;const c=N(e,t,r);if(void 0===c)return;const u=O(c);if(u.start>=u.end)i.debug("Not setting current time yet - buffers don't overlap");else if(o.position>=u.start&&o.position<=u.end)i.log(`Setting currentTime to saved playhead position (${a.toFixed(2)} → ${o.position.toFixed(2)})`),t.currentTime=o.position;else if(a<u.start){const e=u.start;i.log(`Setting currentTime to start of buffer (${a.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function U(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.effects.logger,a=e.registry.get(d.StreamingState),{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks),{getReadableSegmentName:s}=e.registry.get(c.StreamDataStructureSegments);yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!i(t.track))return;yield B(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:c,timestampOffset:u}=t.segmentTiming;if(u===-1/0){const e=s(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const f=c+u;n!==f&&r.dispatch(a.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:f,actualTime:n})})))))}))}function B(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:a,store:i}=e.effects,s=i.segmentDataCache.get(t);if(void 0===s)throw new l.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(s.closed)throw new l.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const i=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(d(),n(new l.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{d(),n(new l.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(d(),t(e))})),f=[a.subscribe(e,r,u),a.subscribe(e,s,i),a.subscribe(e,s.cleared,c)],d=()=>f.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(a,i)=>n(void 0,void 0,void 0,(function*(){a=[...a];const n=i.registry.get(s.SourceExportNames.SourceState),c=i.registry.get(d.StreamingState),{state:u}=i.effects;for(const e of a)u.dispatch(c.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield k(i,e),yield(0,y.maybeUpdateTimestampOffset)(i,e,a),yield U(i,a),yield Promise.all(a.map((r=>h(i,t,e,r)))),R(i,o,e,r),C(i,r,e,o,t),yield i.fork((0,S.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw E(i,a),e}finally{b(i);for(const e of a)u.dispatch(c.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=w,t.waitForEncodedPlaybackTime=B},60149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(91270),o=r(14809),a=r(7269),i=r(24693),s=r(27134),c=r(88425),u=r(8747);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:i}=n.effects,{playback:{playhead:s}}=n.registry.get(a.SourceExportNames.SourceState),c=f(t,e,r);i.subscribe(n,r.consumed,c),i.subscribe(n,s,c),i.subscribe(n,e.streamSequenceMap,c);for(const[t,r]of e.streamSequenceMap)i.subscribe(n,r,c);return n.fork(c,s),o(n.abortSignal)}));const f=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,o)=>{const{areSegmentsOverlapping:a}=o.registry.get(i.StreamDataStructureSegments);let s=g(o,e,t);s=d(s,r),s.length>=1&&!a(s)&&s.splice(1,s.length-1),s.length<1||o.effects.state.dispatch(r.appendSegments.trigger,s)}]));function d(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function g(e,t,r){var n,f,d,g;const l=e.registry.get(a.SourceExportNames.SourceState),m=e.registry.get(c.StreamingState),{dataRanges:p}=m,S=[],{isMediaSelectionGroup:y,getMediaType:b}=e.registry.get(s.StreamDataStructureSelectionGroups),{overlaps:v}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:h}=e.registry.get(i.StreamDataStructureSegments);for(const[o,a]of r.streamSequenceMap){if(!y(o))continue;const r=b(e,o),i=(0,u.getMediaTypeTargetRanges)(l,m,r),s=null!==(f=null===(n=p.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==f?f:[],c=null!==(g=null===(d=p.media[o.mediaId])||void 0===d?void 0:d.source[t.appending])&&void 0!==g?g:[];for(let t=0;t<a.length;t++){const r=a[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,u=n+o,f=s.includes(r),d=c.includes(r),g=h(r,a[t+1]),l=void 0!==g&&u===g.start,m=n>=i.start&&n<i.end,p=u>i.start&&u<=i.end,y=e.effects.store.segmentDataCache.has(r);if((m||p||(i.start===u||void 0!==g&&v(i,g))&&l)&&!f&&!d&&y){S.push(r);break}}}return S.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),S}},63927:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(14809),a=r(24693),i=r(5670);function s(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield c(e,t))}))}function c(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,o=e.effects.logger,a=d(t),s=new Map;yield Promise.all(a.map((t=>n(this,void 0,void 0,(function*(){yield(0,i.waitForEncodedPlaybackTime)(e,t),s.set(t.track,u(e,t))})))));const c=Array.from(s.values()),f=Math.max(...c);if(void 0!==f){o.debug(`Determined timestampOffset to be (${f})`);for(const[e]of s)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,f)}}else o.debug(`Could not determine timestamp offset (${c})`)}))}function u(e,t){const r=f(e,t);if(void 0===r){const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}return r}function f(e,t){var r;const n=t.track,i=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:s}=e.registry.get(a.StreamDataStructureSegments),{overlaps:c}=e.registry.get(o.CoreExportNames.Utils).Ranges,u=s(t);for(const e of i){const t=e.segments.find((e=>c(s(e),u))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function d(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0===n)t.set(e,r);else{const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:a}=r.segmentTiming;a<o&&t.set(e,r)}}return Array.from(t.values())}t.maybeUpdateTimestampOffset=s},87436:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const a=r(24693),i=r(4304),s=r(8747);function c(e,t,r){var i,c,f,d;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(a.StreamDataStructureSegments);if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var l,m=!0,p=o(g);l=yield p.next(),!(i=l.done);){d=l.value,m=!1;try{const n=d,o=(0,s.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield u(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{m=!0}}}catch(e){c={error:e}}finally{try{m||i||!(f=p.return)||(yield f.call(p))}finally{if(c)throw c.error}}}))}function u(e,t,r){var c,u,f,d,g,l,m,p;return n(this,void 0,void 0,(function*(){const n=e.effects.logger,{isDataOrSelfInitSegment:S}=e.registry.get(a.StreamDataStructureSegments);n.debug("Appending",t.url);const y=e.effects.store.segmentDataCache.get(t);if(!y)throw new i.SegmentCacheMissError;try{for(var b,v=!0,h=o(y);b=yield h.next(),!(c=b.done);){d=b.value,v=!1;try{const a=d,i=(0,s.getMatchingBuffer)(e,r.buffers,a.containerFormat,a.mediaTypes);if(!i){n.log(`Can't append "${a.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}S(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(i,t.segmentTiming.timestampOffset));try{for(var T,E=!0,k=(l=void 0,o(a.fragments));T=yield k.next(),!(g=T.done);){p=T.value,E=!1;try{const e=p;yield r.appendData(i,e)}finally{E=!0}}}catch(e){l={error:e}}finally{try{E||g||!(m=k.return)||(yield m.call(k))}finally{if(l)throw l.error}}}finally{v=!0}}}catch(e){u={error:e}}finally{try{v||c||!(f=h.return)||(yield f.call(h))}finally{if(u)throw u.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=c,t.appendSegment=u},10899:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;class r extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function n(e,t,r){return void 0===r?`Segment doesn't contain "${e}" codec, but track does`:`"${e}" codecs don't match between track (${t}) and segment (${r})`}function o(e,t,r){const o=t.split(".")[0],a=r.find((e=>o===e.split(".")[0])),i=e.effects.logger;a?t!==a&&i.log(`Codecs don't match between track and segment (${t}, ${a})`):i.warn(n(t))}function a(e,t,a,i){var s;const c=e.effects.logger,[u,f]=null!==(s=i.find((([e])=>e===t)))&&void 0!==s?s:[];if(!f)throw new r(t);if(a.length===f.length)for(const t of a)o(e,t,f);else c.warn(n(t,a,f))}function i(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)a(e,n,o,r)}t.verifyCodecs=i},76410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(91270),o=r(55225),a=r(24693);function i(e){const{ContainerFormat:t}=e.registry.get(a.StreamDataStructureSegments),{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:a}=e.effects,{containerFormatMap:s}=o,c=i(e),u=t.find((e=>c.includes(e))),f=r.selectionGroup;if(void 0===u)throw new Error("Unable to select suitable container format for playback");return a.dispatch(s.add,f,u),u}]))},79284:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(91270),a=r(14809),i=r(1146),s=r(69104),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{subscribeAndRun:r}=t.registry.get(a.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(a.CoreExportNames.Utils).State;for(const[n,o]of e)r(t,o,s.SegmentDataStreamSubscriber);return t.effects.loop(t.abortSignal)}))));function f(e){const t=e.registry.get(i.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(a.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=f},69104:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(91270),a=r(14809),i=r(30158),s=r(24693),c=r(33983),u=r(76410),f=r(42269);function d(e,t,r){const{createTransient:n}=e.registry.get(a.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,u.SelectContainerFormatTask)(e)}}function g(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,c.getOrCreateOutputStream)(e,r,t),s=d(e,t,o),u=e.registry.get(i.SegmentProcessingExportNames.SegmentProcessingComponent),g=(0,f.subscribeToTransients)(e,s),{DataStreamClearedError:l,DataStreamClosedError:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(a.CoreExportNames.CoreStateAtoms).Queue,S=e=>[m,l,p].some((t=>e instanceof t));try{yield e.fork(u.process,s,S)}catch(e){const a=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,a),r.delete(t),!S(a))throw a}finally{g()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(s.StreamDataStructureSegments),n=r(e)?[e,e.initSegment]:[e];yield Promise.all(n.map((e=>g(t,e))))}))))},42269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(91270),o=r(24693),a=r(66895),i=r(10899);function s(e,{value:t},r){if(void 0===t)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:n}=r.registry.get(a.StreamDataStructureTracks),{track:o}=e;if(!n(o))return;const s=[],c=Object.keys(t);for(const e of c)s.push([e,t[e]]);if(0===o.codecs.size){r.effects.logger.log("Parsed codecs from segment",s),r.effects.state.dispatch(o.codecs.setAll,s)}else(0,i.verifyCodecs)(r,o,s)}function c(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:i,dataParsed:s}=e.segmentTiming;a.dispatch(s,t.value,i)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:i,encodedDuration:s,dataParsed:c}=e.segmentTiming;-1===i&&a.dispatch(c,s,t.value)}function f(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",s.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",c.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",u.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=f},30158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessorType=t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={})),function(e){e.Decryptor="decryptor",e.Parser="parser",e.Preprocessor="preprocessor",e.Transmuxer="transmuxer",e.Postprocessor="postprocessor"}(t.SegmentProcessorType||(t.SegmentProcessorType={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const n=r(24693),o=r(27134),a=r(94503),i=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[n.StreamDataStructureSegments,o.StreamDataStructureSelectionGroups,i.StreamDataStructureTracks,a.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r(55388)})()));
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* source code is subject to the terms and conditions of the accompanying
|
|
6
6
|
* license agreement.
|
|
7
7
|
*
|
|
8
|
-
* Bitmovin Player X Version 10.2.0-beta.
|
|
8
|
+
* Bitmovin Player X Version 10.2.0-beta.13
|
|
9
9
|
*******************************************************************************/
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function a(e,t,a){const o=t;return o._name=e,{onAdd:o,dependencies:a}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=a},91270:(e,t)=>{function a(e,t){const a=t;return a._name=e,a}function o(e){return(...t)=>{const[o,r]=e(...t);return a(o,r)}}function r(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=a,t.createTaskClosure=o,t.getTaskName=r},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},25320:(e,t)=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.LoadControl=t.PlaybackTechnology=t.ResourceType=t.ContentType=t.Version=t.MediaTypeValues=t.Codec=t.SubtitleFormatType=t.MediaType=void 0,function(e){e.Audio="audio",e.Video="video",e.Muxed="muxed",e.Subtitle="subtitle",e.Thumbnail="thumbnail",e.Unknown="unknown"}(a=t.MediaType||(t.MediaType={})),function(e){e.WebVTT="webvtt",e.Unknown="unknown"}(t.SubtitleFormatType||(t.SubtitleFormatType={})),function(e){e.Mp4a="mp4a",e.AVC="avc1",e.HEVC="hvc1",e.ADTS="adts",e.Unknown="unknown"}(t.Codec||(t.Codec={})),t.MediaTypeValues=Object.values(a),t.Version="10.2.0-beta.
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function a(e,t,a){const o=t;return o._name=e,{onAdd:o,dependencies:a}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=a},91270:(e,t)=>{function a(e,t){const a=t;return a._name=e,a}function o(e){return(...t)=>{const[o,r]=e(...t);return a(o,r)}}function r(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=a,t.createTaskClosure=o,t.getTaskName=r},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},25320:(e,t)=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.LoadControl=t.PlaybackTechnology=t.ResourceType=t.ContentType=t.Version=t.MediaTypeValues=t.Codec=t.SubtitleFormatType=t.MediaType=void 0,function(e){e.Audio="audio",e.Video="video",e.Muxed="muxed",e.Subtitle="subtitle",e.Thumbnail="thumbnail",e.Unknown="unknown"}(a=t.MediaType||(t.MediaType={})),function(e){e.WebVTT="webvtt",e.Unknown="unknown"}(t.SubtitleFormatType||(t.SubtitleFormatType={})),function(e){e.Mp4a="mp4a",e.AVC="avc1",e.HEVC="hvc1",e.ADTS="adts",e.Unknown="unknown"}(t.Codec||(t.Codec={})),t.MediaTypeValues=Object.values(a),t.Version="10.2.0-beta.13",function(e){e.Content="content",e.Advertisement="advertisement"}(t.ContentType||(t.ContentType={})),function(e){e.Hls="hls",e.Dash="dash",e.Progressive="progressive"}(t.ResourceType||(t.ResourceType={})),function(e){e.Mse="mse",e.WebRtc="webrtc",e.WebCodecs="webcodecs",e.Native="native"}(t.PlaybackTechnology||(t.PlaybackTechnology={})),function(e){e[e.Nothing=0]="Nothing",e[e.Metadata=1]="Metadata",e[e.Data=2]="Data"}(t.LoadControl||(t.LoadControl={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},49753:(e,t)=>{var a;function o(e){return e.type===a.Manifest}function r(e){return e.type===a.Presentation}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyComponent=t.isPresentationEntry=t.isManifestEntry=t.PlaybackTechnologyEntryType=void 0,function(e){e.Presentation="presentation",e.Manifest="manifest"}(a=t.PlaybackTechnologyEntryType||(t.PlaybackTechnologyEntryType={})),t.isManifestEntry=o,t.isPresentationEntry=r,t.PlaybackTechnologyComponent="playback-technology-component"},72296:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackPackage=void 0;const o=a(97085),r=a(12858),n=a(74447);t.NativePlaybackPackage=(0,o.createPackage)("native-playback-package",((e,t)=>{e.api.packages.add(n.default),e.api.packages.add(r.default)}),[]),t.default=t.NativePlaybackPackage},12858:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyPackage=t.isNativeSupported=void 0;const o=a(97085),r=a(55225),n=a(25320),i=a(14809),s=a(49753),c=a(59263);function l(e,t,a){return a===n.PlaybackTechnology.Native&&(e.type===n.ResourceType.Hls&&t.hlsSupported()||e.type===n.ResourceType.Progressive&&t.progressiveSupported())}t.isNativeSupported=l,t.NativePlaybackTechnologyPackage=(0,o.createPackage)("native-playback-technology-package",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(i.CoreExportNames.CoreEffects),n=t.using(a,o),u=n.registry.get(s.PlaybackTechnologyComponent),p=n.registry.get(r.CapabilitiesExportNames.PlatformCapabilities),d={name:"native-playback-tech",type:s.PlaybackTechnologyEntryType.Presentation,depends:[],supported:(e,t)=>l(e,p,t),instantiate:c.NativePlaybackTechnologyTask};n.fork(u.addTechnology,d)}),[s.PlaybackTechnologyComponent,i.CoreExportNames.Constants,i.CoreExportNames.CoreStateAtoms,i.CoreExportNames.CoreEffects,r.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.NativePlaybackTechnologyPackage},59263:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyTask=void 0;const o=a(91270),r=a(43379),n=a(54472);t.NativePlaybackTechnologyTask=(0,o.createTask)("native-playback-tech-task",((e,t)=>{const a=(0,r.createNativePresentationStateAtom)(t,e);return t.registry.set(n.NativePresentationState,a),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(n.NativePresentationState)})),t.effects.loop(t.abortSignal)}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},43379:(e,t)=>{function a(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createNativePresentationStateAtom=void 0,t.createNativePresentationStateAtom=a},74447:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=a(97085),r=a(14809),n=a(7269),i=a(54472),s=a(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(r.CoreExportNames.CoreEffects),i=t.using(a,o),{state:c}=i.effects,l=i.registry.get(n.SourceExportNames.SourceState),u=(0,s.VideoElementNativeSubscriber)();c.subscribe(i,l.video,u)}),[r.CoreExportNames.Utils,r.CoreExportNames.Constants,n.SourceExportNames.SourceState,r.CoreExportNames.CoreStateAtoms,r.CoreExportNames.CoreEffects,i.NativePresentationState]),t.default=t.NativePresentationPackage},67418:(e,t)=>{function a(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=a},41586:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=a(91270),r=a(14809),n=a(7269),i=a(54472),s=a(67418);function c(e,t){const a=document.createElement("source");return a.src=e,t&&(a.type=t),a}const l=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,a)=>{const{state:o}=a.effects,r=a.registry.get(n.SourceExportNames.SourceState);Number.isFinite(e.duration)&&o.dispatch(r.playback.duration.setValue,e.duration),o.dispatch(r.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native-video-element-subscriber",(e,t)=>{const{registry:a,effects:o,abortSignal:n}=t,{loop:u,abortable:p,events:d}=o,y=t.effects.logger,v=a.get(i.NativePresentationState),{ResourceType:f}=a.get(r.CoreExportNames.Constants);if(void 0===e.element)return y.log("Cannot set up native presentation task - no video element"),p((e=>e()));const b=e.element,m=v.resource;if((0,s.resetVideoSource)(b,y),void 0===m)throw new Error("No native-compatible resource found");if(y.log(`Setting native video source: ${m.url}`),m.type===f.Hls){const e=c(m.url);b.appendChild(e),b.load()}else b.src=m.url,b.load();return d.subscribe(t,b,"timeupdate",l(b)),u(n)}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function a(o){var r=t[o];if(void 0!==r)return r.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,a),n.exports}return a(72296)})()));
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* source code is subject to the terms and conditions of the accompanying
|
|
6
6
|
* license agreement.
|
|
7
7
|
*
|
|
8
|
-
* Bitmovin Player X Version 10.2.0-beta.
|
|
8
|
+
* Bitmovin Player X Version 10.2.0-beta.13
|
|
9
9
|
*******************************************************************************/
|
|
10
10
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const o=t;return o._name=e,{onAdd:o,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function o(e){return(...t)=>{const[o,a]=e(...t);return r(o,a)}}function a(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=o,t.getTaskName=a},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},74447:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=r(97085),a=r(14809),s=r(7269),n=r(54472),i=r(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:o}=t.registry.get(a.CoreExportNames.CoreEffects),n=t.using(r,o),{state:c}=n.effects,u=n.registry.get(s.SourceExportNames.SourceState),d=(0,i.VideoElementNativeSubscriber)();c.subscribe(n,u.video,d)}),[a.CoreExportNames.Utils,a.CoreExportNames.Constants,s.SourceExportNames.SourceState,a.CoreExportNames.CoreStateAtoms,a.CoreExportNames.CoreEffects,n.NativePresentationState]),t.default=t.NativePresentationPackage},67418:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},41586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=r(91270),a=r(14809),s=r(7269),n=r(54472),i=r(67418);function c(e,t){const r=document.createElement("source");return r.src=e,t&&(r.type=t),r}const u=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,r)=>{const{state:o}=r.effects,a=r.registry.get(s.SourceExportNames.SourceState);Number.isFinite(e.duration)&&o.dispatch(a.playback.duration.setValue,e.duration),o.dispatch(a.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native-video-element-subscriber",(e,t)=>{const{registry:r,effects:o,abortSignal:s}=t,{loop:d,abortable:l,events:f}=o,p=t.effects.logger,v=r.get(n.NativePresentationState),{ResourceType:m}=r.get(a.CoreExportNames.Constants);if(void 0===e.element)return p.log("Cannot set up native presentation task - no video element"),l((e=>e()));const b=e.element,S=v.resource;if((0,i.resetVideoSource)(b,p),void 0===S)throw new Error("No native-compatible resource found");if(p.log(`Setting native video source: ${S.url}`),S.type===m.Hls){const e=c(S.url);b.appendChild(e),b.load()}else b.src=S.url,b.load();return f.subscribe(t,b,"timeupdate",u(b)),d(s)}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function r(o){var a=t[o];if(void 0!==a)return a.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}return r(74447)})()));
|