@bitmovin/player-web-x 10.2.0-beta.13 → 10.2.0-beta.14
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 +2 -2
- package/packages/playerx-advertising-base.package.js +2 -2
- 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 +2 -2
- package/packages/playerx-bitmovin-ui.package.js +2 -2
- package/packages/playerx-bitmovin-v8-core.package.js +2 -2
- package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
- package/packages/playerx-bitmovin-video-element-utils.package.js +2 -2
- package/packages/playerx-capabilities.package.js +2 -2
- package/packages/playerx-container-mp4.package.js +2 -2
- package/packages/playerx-container-ts.package.js +2 -2
- package/packages/playerx-core.package.js +2 -2
- package/packages/playerx-dash-manifest-technology.package.js +2 -2
- package/packages/playerx-dash-manifest.package.js +2 -2
- package/packages/playerx-dash-parsing.package.js +2 -2
- package/packages/playerx-dash-translation.package.js +2 -2
- 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 +2 -2
- package/packages/playerx-hls-manifest.package.js +2 -2
- package/packages/playerx-hls-parsing.package.js +2 -2
- package/packages/playerx-hls-translation.package.js +2 -2
- package/packages/playerx-hls.package.js +2 -2
- package/packages/playerx-media-state.package.d.ts +1 -0
- package/packages/playerx-media-state.package.js +10 -0
- package/packages/playerx-mse-playback.package.js +2 -2
- package/packages/playerx-mse-presentation.package.js +2 -2
- package/packages/playerx-native-playback.package.js +2 -2
- package/packages/playerx-native-presentation.package.js +2 -2
- package/packages/playerx-network.package.js +2 -2
- package/packages/playerx-no-adaptation.package.js +2 -2
- package/packages/playerx-playback-api.package.js +2 -2
- package/packages/playerx-playback-technology.package.js +2 -2
- package/packages/playerx-playback.package.js +2 -2
- package/packages/playerx-player-api.package.js +2 -2
- package/packages/playerx-segment-processing.package.js +2 -2
- package/packages/playerx-source.package.js +2 -2
- package/packages/playerx-sources-api.package.js +2 -2
- package/packages/playerx-stream-data-structure.package.js +2 -2
- package/packages/playerx-streaming.package.js +1 -1
- package/packages/playerx-subtitle-api.package.js +2 -2
- package/packages/playerx-subtitle-base.package.js +2 -2
- package/packages/playerx-subtitle-format-detection.package.js +1 -1
- package/packages/playerx-subtitle-native-renderer.package.js +2 -2
- package/packages/playerx-subtitles.package.js +2 -2
- package/packages/playerx-trick-play.package.js +2 -2
- package/packages/playerx-ts-transmuxer.package.js +2 -2
- package/packages/playerx-tv.package.js +1 -1
- package/packages/playerx-ui.package.js +2 -2
- package/packages/playerx-video-element-controller.package.d.ts +1 -0
- package/packages/playerx-video-element-controller.package.js +10 -0
- package/packages/playerx-view-mode.package.js +2 -2
- package/packages/playerx-web-vtt.package.js +2 -2
- package/playerx-framework-utils.js +1 -1
- package/types/Types.d.ts +3 -0
- package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
- package/types/bundles/Dash.bundle.d.ts +1 -1
- package/types/bundles/Hls.bundle.d.ts +1 -1
- package/types/bundles/HlsTsAudio.bundle.d.ts +1 -1
- package/types/bundles/Playback.bundle.d.ts +1 -1
- package/types/bundles/Tv.bundle.d.ts +1 -1
- package/types/packages/adaptation/AdaptationAlgorithm.d.ts +4 -0
- package/types/packages/adaptation/StartupQuality.d.ts +5 -0
- package/types/packages/adaptation/Types.d.ts +7 -11
- package/types/packages/adaptation/WishDataAtom.d.ts +9 -2
- package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +1 -1
- package/types/packages/advertising/api/AdvertisingApi.package.d.ts +1 -1
- package/types/packages/advertising/api/AdvertisingEvents.d.ts +29 -5
- package/types/packages/advertising/api/Types.d.ts +24 -6
- package/types/packages/advertising/base/AdPosition.d.ts +1 -0
- package/types/packages/advertising/base/AdQuartile.d.ts +5 -0
- package/types/packages/advertising/base/AdSchedule.d.ts +2 -2
- package/types/packages/advertising/base/AdTagAtom.d.ts +1 -1
- package/types/packages/advertising/base/AdType.d.ts +4 -0
- package/types/packages/advertising/base/BaseAdAtom.d.ts +5 -3
- package/types/packages/advertising/base/{BaseAdBreakAtom.d.ts → BaseAdPodAtom.d.ts} +8 -6
- package/types/packages/advertising/base/BaseAdPodState.d.ts +7 -0
- package/types/packages/advertising/base/BaseAdState.d.ts +7 -0
- package/types/packages/advertising/base/Types.d.ts +13 -29
- package/types/packages/advertising/bitmovin/Types.d.ts +13 -10
- package/types/packages/capabilities/Types.d.ts +1 -1
- package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +2 -0
- package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -1
- package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +2 -0
- package/types/packages/core/Constants.d.ts +7 -0
- package/types/packages/core/Types.d.ts +3 -2
- package/types/packages/core/metrics/MetricsAtom.d.ts +1 -1
- package/types/packages/{adaptation → core/state}/RingBufferAtom.d.ts +2 -2
- package/types/packages/core/state/StateMachineAtom.d.ts +13 -12
- package/types/packages/core/state/state-effect/Types.d.ts +2 -2
- package/types/packages/core/technology/Types.d.ts +2 -2
- package/types/packages/data/Types.d.ts +7 -1
- package/types/packages/manifest/dash/parsing/Errors.d.ts +1 -1
- package/types/packages/manifest/dash/root/Types.d.ts +3 -1
- package/types/packages/manifest/dash/technology/Types.d.ts +2 -1
- package/types/packages/manifest/hls/parsing/Constants.d.ts +47 -0
- package/types/packages/manifest/hls/parsing/Errors.d.ts +1 -1
- package/types/packages/manifest/hls/parsing/Types.d.ts +5 -48
- package/types/packages/manifest/hls/root/Hls.package.d.ts +6 -1
- package/types/packages/manifest/hls/technology/Types.d.ts +2 -1
- package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +5 -0
- package/types/packages/manifest/hls/translation/Types.d.ts +10 -11
- package/types/packages/manifest/hls/translation/segments/StreamHelpers.d.ts +14 -0
- package/types/packages/manifest/hls/translation/stream/TracksToSelectionGroups.d.ts +6 -0
- package/types/packages/manifest/hls/translation/stream/UnknownTrackToMediaTrackTranslator.d.ts +4 -0
- package/types/packages/media-state/MediaInfoAtoms.d.ts +18 -0
- package/types/packages/media-state/MediaState.d.ts +10 -0
- package/types/packages/media-state/MediaState.package.d.ts +22 -0
- package/types/packages/media-state/MediaStateAtom.d.ts +16 -0
- package/types/packages/media-state/MediaStateTransitionType.d.ts +11 -0
- package/types/packages/media-state/SeekRestrictionAtom.d.ts +2 -0
- package/types/packages/media-state/Types.d.ts +48 -0
- package/types/packages/media-state/controllers/video-element/Types.d.ts +32 -0
- package/types/packages/media-state/controllers/video-element/VideoElementController.package.d.ts +15 -0
- package/types/packages/network/HttpRequestMethod.d.ts +5 -0
- package/types/packages/network/HttpRequestType.d.ts +11 -0
- package/types/packages/network/HttpResponseType.d.ts +7 -0
- package/types/packages/network/NetworkAtom.d.ts +15 -0
- package/types/packages/network/NetworkTask.d.ts +8 -7
- package/types/packages/network/Types.d.ts +17 -26
- package/types/packages/playback/play-pause/Types.d.ts +0 -3
- package/types/packages/playback/volume/Types.d.ts +2 -4
- package/types/packages/playback-api/play-pause-api/Types.d.ts +4 -3
- package/types/packages/playback-api/playback-api-events/Types.d.ts +11 -8
- package/types/packages/playback-api/time-api/Types.d.ts +4 -5
- package/types/packages/playback-technology/PlaybackTechnologyEntryType.d.ts +4 -0
- package/types/packages/playback-technology/Types.d.ts +6 -6
- package/types/packages/player-api/PlayerApi.package.d.ts +2 -0
- package/types/packages/player-api/PlayerEvent.d.ts +3 -0
- package/types/packages/player-api/Types.d.ts +4 -4
- package/types/packages/presentation/mse/playback-technology/Types.d.ts +2 -1
- package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +1 -4
- package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +4 -2
- package/types/packages/presentation/mse/presentation/Types.d.ts +6 -0
- package/types/packages/presentation/native/Types.d.ts +1 -1
- package/types/packages/presentation/native/playback-technology/Types.d.ts +2 -1
- package/types/packages/segment-processing/SegmentProcessing.package.d.ts +2 -1
- package/types/packages/segment-processing/SegmentProcessorType.d.ts +7 -0
- package/types/packages/segment-processing/Types.d.ts +10 -10
- package/types/packages/source/SourceReference.d.ts +1 -1
- package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +2 -2
- package/types/packages/source/atoms/SourceConfigAtom.d.ts +2 -0
- package/types/packages/sources-api/SourcesApiEvent.d.ts +7 -0
- package/types/packages/sources-api/Types.d.ts +4 -8
- package/types/packages/stream-data-structure/Types.d.ts +1 -0
- package/types/packages/stream-data-structure/segment/Exports.d.ts +3 -3
- package/types/packages/stream-data-structure/segment/SegmentAtom.d.ts +11 -2
- package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +1 -7
- package/types/packages/stream-data-structure/segment/SegmentUtils.d.ts +3 -2
- package/types/packages/stream-data-structure/selection-group/SelectionGroupAtom.d.ts +1 -2
- package/types/packages/stream-data-structure/track/Exports.d.ts +6 -1
- package/types/packages/stream-data-structure/track/TrackAtom.d.ts +19 -4
- package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +3 -1
- package/types/packages/stream-data-structure/track/TypeDetection.d.ts +25 -0
- package/types/packages/stream-data-structure/track/TypeDetectionTypeGuards.d.ts +4 -0
- package/types/packages/streaming/Streaming.package.d.ts +2 -2
- package/types/packages/streaming/Types.d.ts +3 -2
- package/types/packages/subtitles/subtitle-api/SubtitleEvent.d.ts +9 -0
- package/types/packages/subtitles/subtitle-api/Types.d.ts +3 -9
- package/types/packages/trick-play/TrickPlay.package.d.ts +2 -1
- package/types/packages/v8-compat/BitmovinUi.package.d.ts +4 -4
- package/types/packages/v8-compat/BitmovinV8Core.package.d.ts +16 -4
- package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +8 -5
- package/types/packages/v8-compat/apis/SourceApis.d.ts +5 -0
- package/types/packages/v8-compat/apis/SubtitleApi.d.ts +5 -0
- package/types/packages/v8-compat/enums/AdditionalPlayerExportNames.d.ts +9 -0
- package/types/packages/v8-compat/enums/PlayerExports.d.ts +0 -7
- package/types/packages/v8-compat/event-handling/EventDispatcher.d.ts +11 -0
- package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +10 -4
- package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +4 -4
- package/types/packages/view-mode/Types.d.ts +4 -6
- package/types/packages/view-mode/ViewMode.d.ts +5 -0
- package/types/packages/view-mode/ViewMode.package.d.ts +2 -0
- package/types/packages/view-mode/ViewModeAtom.d.ts +1 -1
- package/types/packages/core/FrameworkError.d.ts +0 -4
- package/types/packages/core/network/NetworkAtom.d.ts +0 -21
- package/types/packages/playback/playback-state/Types.d.ts +0 -41
- package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +0 -2
- package/types/packages/playback/video-element-state/Types.d.ts +0 -32
- package/types/packages/playback/video-element-state/VideoElementStateAtom.d.ts +0 -58
|
@@ -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.14
|
|
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["hls-manifest"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["hls-manifest"]=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 c(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 u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function l(e,t){if(r(e,t))return!1;const a=u(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:c,clear:u,set:l,addIfNew:s};return e.effects.state.create(t,r)};t.createArrayAtom=g},61035:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsManifestPackage=void 0;const a=r(97085),s=r(2414),n=r(47184),i=r(48981),o=r(11632);t.HlsManifestPackage=(0,a.createPackage)("hls-manifest-package",((e,t)=>{e.api.packages.add(s.default),e.api.packages.add(o.default),e.api.packages.add(n.default),e.api.packages.add(i.default)}),[]),t.default=t.HlsManifestPackage},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},2414:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingPackage=void 0;const a=r(97085),s=r(3561),n=r(25385),i=r(10675),o=r(58149);t.HlsParsingPackage=(0,a.createPackage)("HlsParsingPackage",((e,t)=>{t.registry.maybeSet(o.HlsParsingExportNames.ParsingTask,i.HlsParsingTask),t.registry.maybeSet(o.HlsParsingExportNames.ParsingFunctions,n.HlsParsingFunctions),t.registry.maybeSet(o.HlsParsingExportNames.Errors,{MissingM3uTagError:s.MissingM3uTagError,HlsParsingError:s.HlsParsingError})}),[]),t.default=t.HlsParsingPackage},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 c(e){return!o(e)}function u(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:c,createTranslator:u,addDefaultTagParsers:l,parsePlaylist:g}},10675:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingTask=void 0;const a=r(91270),s=r(58149);t.HlsParsingTask=(0,a.createTask)(s.HlsParsingExportNames.ParsingTask,((e,t)=>{const{createTranslator:r,addDefaultTagParsers:n,parsePlaylist:i}=t.registry.get(s.HlsParsingExportNames.ParsingFunctions),o=(0,a.createTask)("raw-manifest-parser",((e,t)=>{const a=r(e,t),s=n(a);return i(s)}));return t.fork(o,e)}))},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]})},c={matcher:/^#EXTM3U/,process:()=>({tagType:a.TagType.M3u})},u={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})},y={matcher:i("PLAYLIST-TYPE:?(.*)?$"),process:e=>({tagType:a.TagType.PlaylistType,playlistType:Object.values(a.PlaylistType).includes(e[1])?e[1]:a.PlaylistType.Vod})},S={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]):{}})},k={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]):{}})},A={matcher:i("ENDLIST"),process:()=>({tagType:a.TagType.EndList})},N={matcher:i("DISCONTINUITY"),process:()=>({tagType:a.TagType.Discontinuity})},P={matcher:i("KEY:?(.*)$"),process:e=>({tagType:a.TagType.Key,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},M={matcher:i("MAP:?(.*)$"),process:e=>({tagType:a.TagType.Map,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},O={matcher:i("PROGRAM-DATE-TIME:?(.*)$"),process:e=>({tagType:a.TagType.DateTime,dateTime:e[1]?new Date(e[1]):void 0})},D={matcher:i("CUE-OUT-CONT:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueOutCont,data:null!==(t=e[1])&&void 0!==t?t:""}}},C={matcher:i("CUE-OUT:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueOut,data:null!==(t=e[1])&&void 0!==t?t:""}}},I={matcher:i("CUE-IN:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueIn,data:null!==(t=e[1])&&void 0!==t?t:""}}},x={matcher:i("SCTE35:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.Scte35,data:null!==(t=e[1])&&void 0!==t?t:""}}},U={matcher:i("DATERANGE:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.DateRange,data:null!==(t=e[1])&&void 0!==t?t:""}}};t.DefaultTagParsers=[o,c,u,l,g,d,m,p,f,T,y,S,h,b,v,k,E,A,N,P,M,O,D,C,I,x,U]},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 c 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=u(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?u(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 u(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=c},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),i=[];for(const e of t)n(e)&&(void 0===e.uri||i.includes(e.uri)||i.push(e.uri));const o=i.filter((t=>!e.includes(t))),c=e.filter((e=>!i.includes(e)));a.dispatch(e.add,...o),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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.FetchPlaylistTask=void 0;const s=r(91270),n=r(73408),i=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(i.HlsParsingExportNames.ParsingTask),s={url:e,method:n.HttpRequestMethod.GET,responseType:n.HttpResponseType.TEXT},o=yield t.fork(r,[s,void 0]);return t.fork(a,o.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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.HlsPackage=void 0;const s=r(97085),n=r(91270),i=r(14809),o=r(73408),c=r(7269),u=r(78622),l=r(88425),g=r(58149),d=r(40369),m=r(50791),p=r(19194),f=r(39897),T=r(29591),y=r(44088),S=r(40232),h=r(24766),b=()=>{};t.HlsPackage=(0,s.createPackage)("hls-package",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:s}=t.registry.get(i.CoreExportNames.CoreEffects),o=t.using(r).using(s),u=t.registry.get(d.HlsTechState).resource,{state:g}=o.effects,m=o.registry.maybeSetAndGet(h.HlsPackageExportNames.HlsManifestLoadTask,T.ManifestLoadTask),v=t.registry.get(c.SourceExportNames.SourceState),{LoadControl:k}=t.registry.get(i.CoreExportNames.Constants),E=(0,p.createActivePlaylistAtom)(o,[]),A=u.url;if(!A)throw new Error("Missing hls manifest url");const N=(0,y.PlaylistUpdaterOrchestrator)(o,new Map,A),P=t.registry.get(l.StreamingState);let M;g.subscribe(o,P.activeTracks,(0,f.ActiveTrackSubscriber)({activePlaylistsAtom:E})),g.subscribe(o,E,N),(0,S.setUpSegmentTimingMismatchHandling)(o),g.subscribe(o,v.loadControl,(0,n.createTask)("load-control-subscribe",((e,t)=>a(void 0,void 0,void 0,(function*(){e.value>k.Nothing&&(M&&(yield M),P.stream.selectionGroups.length?o.fork(N,E):o.fork(m,v))}))))),v.loadControl.value>k.Nothing&&(M=o.fork(m,v),M.finally((()=>M=void 0)).catch(b))}),[o.NetworkExportNames.NetworkTask,i.CoreExportNames.Utils,i.CoreExportNames.CoreEffects,c.SourceExportNames.SourceState,g.HlsParsingExportNames.ParsingFunctions,g.HlsParsingExportNames.ParsingTask,m.HlsTranslationExportNames.HlsVariantTranslator,m.HlsTranslationExportNames.HlsMultivariantTranslator,...u.StreamDataStructureExportNames,l.StreamingState,d.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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestLoadTask=void 0;const s=r(91270),n=r(14809),i=r(88425),o=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(o.HlsParsingExportNames.ParsingFunctions),l=t.registry.get(c.HlsTranslationExportNames.HlsMultivariantTranslator),g=t.registry.get(c.HlsTranslationExportNames.HlsVariantTranslator),d=t.registry.get(i.StreamingState),m=null===(r=e.sourceConfig.resources.find((e=>e.type===a.Hls)))||void 0===r?void 0:r.url;if(!m)throw new Error("Unexpectedly missing manifest url");const p=yield t.fork(u.FetchPlaylistTask,m);return s(p)?t.fork(l,[p,m,d.stream]):t.fork(g,[p,m,m,d.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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.PlaylistLoadTask=void 0;const s=r(91270),n=r(14809),i=r(7269),o=r(44573),c=r(66895),u=r(88425),l=r(58149),g=r(50791),d=r(39059);function m(e,t){const r=t.registry.get(u.StreamingState).stream,a=r.tracks.filter((r=>p(t,r,e)));if(!a.length)return!1;const s=r.type===o.StreamType.VoD,n=a.some((e=>e.segments.length));return!(s&&n)}function p(e,t,r){const{isSubtitleTrack:a,isMediaTrack:s}=e.registry.get(c.StreamDataStructureTracks);return(s(t)||a(t)&&t.fragmented)&&t.uri===r}function f(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(!m(r,s))return void s.effects.logger.log("Ignoring playlist load request, already loaded");let a;const o=new Map,c=s.registry.get(i.SourceExportNames.SourceState),{LoadControl:p}=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),i=s.registry.get(g.HlsTranslationExportNames.HlsVariantTranslator),c=yield s.fork(d.FetchPlaylistTask,r);if(!t(c))throw new Error("Manifest is not a variant playlist");a=c,yield s.fork(i,[a,r,e,n.stream,o]),a.endList||(yield s.effects.timeout(s.abortSignal,1e3*f(a)))}while(!a.endList&&!s.abortSignal.aborted&&t.includes(r)&&c.loadControl.value>p.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),i=r(41077);t.PlaylistUpdaterOrchestrator=(0,a.createTaskClosure)(((e,t,r)=>["active-playlist-url-subscriber",(a,o)=>{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,i.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),i=r(66895),o=r(88425);function c(e,t,r,a){const{state:s}=e.effects,{isDataOrSelfInitSegment:i}=e.registry.get(n.StreamDataStructureSegments);for(const e of t.segments){if(!i(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(o.StreamingState),{isMediaTrack:l}=e.registry.get(i.StreamDataStructureTracks),g=r.segmentTiming,{parsedPlaybackTime:d}=g,m=d-s,p=r.track.segments.findIndex((e=>e===r)),f=r.track.segments[p+1];if(n.dispatch(g.manifestParsed,g.parsedDuration,m),!f)return;const T=f.segmentTiming.parsedPlaybackTime;for(const r of u.stream.tracks)l(r)&&r.uri===t&&!a.includes(r)&&c(e,r,T,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:o}=t,{isMediaTrack:c}=r.registry.get(i.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,o,e,l)}])),g=(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(i.StreamDataStructureTracks);if(!l(a))return;const g=a.uri,d=a.sequenceNumber,m=s.segmentTiming.parsedPlaybackTime,p=e=>e.uri===g,f=[];t.effects.logger.log(`Encountered mismatching segment duration (${n} → ${c}), correcting...`);const T=t.registry.get(o.StreamingState);for(const e of T.stream.tracks)!l(e)||!p(e)||e.sequenceNumber<=d||f.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<=m)continue;const s=t-u;r.dispatch(e.segmentTiming.manifestParsed,a,s)}for(const e of f)for(const t of e.segments){const{parsedPlaybackTime:e,parsedDuration:a}=t.segmentTiming,s=e-u;r.dispatch(t.segmentTiming.manifestParsed,a,s)}})),d=(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 m(e){const{state:t}=e.effects,{createArrayAtom:r}=e.registry.get(s.CoreExportNames.CoreStateAtoms),a=r(e,[]),n=e.registry.get(o.StreamingState);t.subscribe(e,n.stream.onPlaybackTimeMismatch,l(a)),t.subscribe(e,n.stream.onDurationMismatch,g),t.subscribe(e,n.stream.tracks,d(a))}t.setUpSegmentTimingMismatchHandling=m},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={}))},10055:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsManifestPlaybackTechnologyTask=void 0;const a=r(91270),s=r(7269),n=r(88425),i=r(50690),o=r(40369);t.HlsManifestPlaybackTechnologyTask=(0,a.createTaskClosure)((e=>["hls-manifest-playback-tech-task",(t,r)=>{const c=e.registry.get(n.CreateStreamingStateAtom),u=r.registry.get(s.SourceExportNames.SourceState),l=(0,i.createHlsTechStateAtom)(r,t),g=c(e);return r.registry.set(n.StreamingState,g),r.registry.set(o.HlsTechState,l),r.effects.state.subscribe(e,g.stream.duration,(0,a.createTask)("duration-propagation",((e,t)=>{t.effects.state.dispatch(u.playback.duration.setValue,e.value)}))),r.abortSignal.addEventListener("abort",(()=>{r.registry.delete(n.StreamingState),r.registry.delete(o.HlsTechState)})),r.effects.loop(r.abortSignal)}]))},48981:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsManifestTechnologyPackage=void 0;const a=r(97085),s=r(14809),n=r(49753),i=r(94503),o=r(88425),c=r(10055);t.HlsManifestTechnologyPackage=(0,a.createPackage)("hls-manifest-technology-package",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:a}=t.registry.get(s.CoreExportNames.CoreEffects),i=t.using(r,a),o=i.registry.get(n.PlaybackTechnologyComponent),{ResourceType:u}=i.registry.get(s.CoreExportNames.Constants),l={name:"hls-manifest-playback-tech",type:n.PlaybackTechnologyEntryType.Manifest,depends:[],supported:e=>e.type===u.Hls,instantiate:(0,c.HlsManifestPlaybackTechnologyTask)(i)};i.fork(o.addTechnology,l)}),[n.PlaybackTechnologyComponent,s.CoreExportNames.Constants,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,s.CoreExportNames.Utils,i.StreamDataStructureStream,o.CreateStreamingStateAtom]),t.default=t.HlsManifestTechnologyPackage},40369:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTechState=void 0,t.HlsTechState="hls-tech-state"},50690:(e,t)=>{function r(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createHlsTechStateAtom=void 0,t.createHlsTechStateAtom=r},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),c=r(50791);t.HlsTranslationPackage=(0,a.createPackage)("hls-translation-package",((e,t)=>{t.registry.maybeSet(c.HlsTranslationExportNames.HlsVariantTranslator,o.HlsVariantTranslationTask),t.registry.maybeSet(c.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),c=r(92963),u=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,c=(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!==c&&n.dispatch(r.setLabel,c),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 y(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 S(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=y(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,[]),y=[];e.playlists.forEach((e=>{const r=(0,u.variantToTrack)(a,e,t,f.length+1),s=m(a,e);if(l(r)&&void 0!==s){const{groupId:e,groupType:t}=s;g(y,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(y,s),i=p(a,n,r);n&&n.referencedTracks.push(r),i?T(a,r,i):a.effects.state.dispatch(f.add,r)})),S(a,y);const h=(0,c.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),c=r(50791);t.HlsVariantTranslationTask=(0,a.createTask)(c.HlsTranslationExportNames.HlsVariantTranslator,(function([e,t,r,a,c],u){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;u.effects.state.dispatch(a.setType,l),l===s.StreamType.VoD?(0,o.extractVodSegments)(u,e.segments,t,r,a):(0,i.extractLiveSegments)(u,e.segments,t,r,a,c)}))},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 c(e,t,r,s,n){const c=e.registry.get(a.CoreExportNames.Utils);r.uri=(0,i.buildAbsoluteSegmentUrl)(s,n,r.uri,c);const u=[];for(const e of t.segments){if((0,o.isMatchingSegment)(e,r))break;u.push(e)}return u}function u(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=c(e,s,t,n,i);if(r.length!==s.segments.length){l(e,s,r);break}l(e,s,s.segments),u(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,c=s(e,r.selectionGroups.slice());for(const r of t){const t=(0,o.findOrCreateSelectionGroup)(e,r,c);n.dispatch(r.setSelectionGroup,t),i.set(t,r),c.includes(t)||n.dispatch(c.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,c.slice()),n.dispatch(r.tracks.insertSorted,(e=>e.sequenceNumber),...t)}function p(e,t,r,a,s,i){if(!t.length)return;const c=(0,o.findTracksOfVariant)(e,s,r),u=(0,n.processSegmentEntries)(e,t,a,r,s,c,i);g(e,t[0],c,s,a,r),m(e,u,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 c=(0,n.maybeCreateInitSegment)(e,t,r,a,s,o),u=(0,n.createSegment)(e,t,-1,o,c);i[0][1].unshift(u)}function c(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 u(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:y}=e.registry.get(s.StreamDataStructureSegments);let S,h=-1;for(let a=t.length-1;a>=0;a--){const s=t[a],u=h!==s.discontinuitySequenceNumber;s.uri=(0,n.buildAbsoluteSegmentUrl)(r,l,s.uri,T),h=s.discontinuitySequenceNumber,S=u?d.find((e=>e.sequenceNumber===s.discontinuitySequenceNumber)):S,S||(S=(0,i.createTrack)(e,l,g,s.discontinuitySequenceNumber,d[0]),p.push(S)),u&&f.unshift([S,[]]);const b=S.segments[S.segments.length-1];if(b&&y(b)&&(0,i.isMatchingSegment)(b,s))return c(e,b,f),p;o(e,s,m,r,l,f,S)}return u(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 c=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:u(n,i,t,c),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 c=i(e,t.init,a,s,n);return r.set(t.init.url,c),c}function c(e,{duration:t,uri:r,byterange:i},o,c,u){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 u?(0,s.createDataSegmentAtom)(e,Object.assign(Object.assign({},p),{initSegment:u,track:c})):(0,s.createSelfInitSegmentAtom)(e,Object.assign(Object.assign({},p),{track:c}))}function u(e,t,r,a){const{Url:{removeLastPathPart:s,getDomainUrl:n,buildAbsoluteUrl:i,getBaseUrl:o}}=a,c=o(s(e),t);return i(c,n(c),r)}t.maybeCreateInitSegment=o,t.createSegment=c,t.buildAbsoluteSegmentUrl=u},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 c(e,t){var r;const{createAudioSelectionGroupAtom:s,createVideoSelectionGroupAtom:i,createSubtitleSelectionGroupAtom:c,createUnknownSelectionGroupAtom:u}=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)?c(e,{language:t.language,tracks:m(e,[]),sequenceNumber:p},null!==(r=t.label)&&void 0!==r?r:t.language):u(e,{tracks:m(e,[]),sequenceNumber:p})}function u(e,t,r){const{isAudioSelectionGroup:s,isVideoSelectionGroup:c,isSubtitleSelectionGroup:u}=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,y=e=>m(t)&&s(e)?t.language===e.language:!(!d(t)||!c(e))||(g(t)&&u(e)?t.language===e.language:!l(t)&&!(0,i.isMediaSelectionGroup)(e)),S=p(r,t.sequenceNumber,T);if(S>-1&&y(r[S]))return r[S];const h=f(r,S,t.sequenceNumber,T,y);return h>-1?r[h]:void 0}function l(e,t,r){var a;return null!==(a=u(e,t,r))&&void 0!==a?a:c(e,t)}function g(e,t,r,s,n=d(e,r,t)[0]){const{CodecMap:{copyCodecs:i},createArrayAtom:c}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{createUnknownTrackAtom:u,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:c(e,[]),bitrate:n.bitrate}):f(n)?g(e,{id:n.id,uri:t,resolution:n.resolution,sequenceNumber:s,codecs:i(e,n.codecs),segments:c(e,[]),bitrate:n.bitrate}):m(e,{id:n.id,uri:t,sequenceNumber:s,language:n.language,segments:c(e,[]),fragmented:n.fragmented,external:n.external,label:n.label}):u(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=>S(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 y(e,t){return e===t}function S(e,t){return y(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=c,t.findOrCreateSelectionGroup=l,t.createTrack=g,t.findTracksOfVariant=d,t.findOrCreateTrack=m,t.hasSegment=f,t.isMatchingSegment=S,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 y;for(let a=0;a<t.length;a++){const c=t[a];if(m!==c.discontinuitySequenceNumber||!y){m=c.discontinuitySequenceNumber;const t=(0,i.findOrCreateTrack)(e,r,c,o);y=t,o.tracks.includes(t)||p.push(t)}const u=y;if(c.uri=(0,n.buildAbsoluteSegmentUrl)(s,r,c.uri,l),!(0,i.hasSegment)(u,c)){const t=(0,n.maybeCreateInitSegment)(e,c,g,s,r,u),a=(0,n.createSegment)(e,c,d,u,t);d+=c.duration,e.effects.state.dispatch(u.segments.addIfNew,a)}}u(e,p,f,T,o);const S=e=>e.sequenceNumber;e.effects.state.dispatch(o.tracks.insertSorted,S,...p),e.effects.state.dispatch(o.selectionGroups.insertSorted,S,...T),e.effects.state.dispatch(o.duration.setValue,d),c(e,o,r)}function c(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 u(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=c,t.assignSelectionGroups=u},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)?c(e,t,r,a,n):l(e,a);case"SUBTITLES":return(0,i.isMediaTagWithUri)(t)?u(e,a,t,r,n):l(e,a);default:return l(e,a)}}function c(e,t,r,s,i){var o,c;const{Url:{removeLastPathPart:u,concatUrlParts:l},Codecs:{extractCodecMap:g}}=i,d=u(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!==(c=t.attributes.BANDWIDTH)&&void 0!==c?c:-1})}function u(e,t,r,a,s){var i;const{Url:{removeLastPathPart:o,concatUrlParts:c}}=s,u=o(a);return(0,n.createSubtitleTrackAtom)(e,{id:String(t),language:null!==(i=r.attributes.LANGUAGE)&&void 0!==i?i:"unknown",uri:c(u,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)c(e,a,r);return r}function c(e,t,r){const{state:s}=e.effects,{isMediaTrack:o,isSubtitleTrack:c}=e.registry.get(i.StreamDataStructureTracks);if(!o(t)&&!c(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 u(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?u(e,t,a):l(e,t,r)}function d(e,t){var r;const{isVideoTrack:s,isAudioTrack:o}=e.registry.get(i.StreamDataStructureTracks),c=(0,a.createArrayAtom)(e,[t]);return s(t)?(0,n.createVideoSelectionGroupAtom)(e,{tracks:c,sequenceNumber:1/0}):o(t)?(0,n.createAudioSelectionGroupAtom)(e,{tracks:c,language:t.language,sequenceNumber:1/0}):(0,n.createSubtitleSelectionGroupAtom)(e,{tracks:c,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:c}=e.registry.get(s.StreamDataStructureSelectionGroups),u=[[a,o],[n,c]];for(const[e,a]of u)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,c=null!==(a=null===(r=t.attributes.CODECS)||void 0===r?void 0:r.split(","))&&void 0!==a?a:[],u=c.some((e=>i(e)===n.Audio)),l=c.some((e=>i(e)===n.Video));return o||l?n.Video:u?n.Audio:n.Unknown}function o(e,t,r,i){var o;const{extractCodecMap:c}=e.registry.get(s.CoreExportNames.Utils).Codecs,{Url:{removeLastPathPart:u,concatUrlParts:l}}=e.registry.get(s.CoreExportNames.Utils),g=u(r);return(0,n.createAudioTrackAtom)(e,{id:String(i),sequenceNumber:1/0,uri:l(g,t.uri),segments:(0,a.createArrayAtom)(e,[]),codecs:c(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),language:"unknown",label:"",bitrate:t.attributes.BANDWIDTH})}function c(e,t,r,i){var o,c;const{extractCodecMap:u}=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:u(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),bitrate:t.attributes.BANDWIDTH,resolution:null!==(c=t.attributes.RESOLUTION)&&void 0!==c?c:{width:-1,height:-1}})}function u(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 c(e,t,r,a);case n.Audio:return o(e,t,r,a);default:return u(e,t,a)}}t.variantToTrack=l},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={}))},49753:(e,t)=>{var r;function a(e){return e.type===r.Manifest}function s(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=a,t.isPresentationEntry=s,t.PlaybackTechnologyComponent="playback-technology-component"},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),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)},c=(e,t)=>e.effects.state.create(i(e,s.Data,t),Object.assign(Object.assign({},o),{setInitSegment:n}));t.createDataSegmentAtom=c;const u=(e,t)=>e.effects.state.create(i(e,s.Initialization,t),o);t.createInitSegmentAtom=u;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 c(){return{setLanguage:s,setSequenceNumber:n}}t.createVideoSelectionGroupAtom=o;const u=(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,c())};t.createAudioSelectionGroupAtom=u;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},c=(e,t)=>e.bitrate!==t&&(e.bitrate=t,!0),u=(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:c})}function m(e){return Object.assign(Object.assign({},d(e)),{setLanguage:u,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 y=(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=y;const S=(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=S},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(61035)})()));
|
|
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-manifest"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["hls-manifest"]=t())}(self,(()=>(()=>{"use strict";var e={39138:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class r extends Error{constructor(){super(...arguments),this.name="FrameworkError"}}t.FrameworkError=r},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},67732:(e,t)=>{var r=a;function a(e,t){var r=s();return a=function(t,s){var n=r[t-=279];if(void 0===a.UXmVFO){var i=function(e){for(var t,r,a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",s="",n="",i=0,o=0;r=e.charAt(o++);~r&&(t=i%4?64*t+r:r,i++%4)?s+=String.fromCharCode(255&t>>(-2*i&6)):0)r=a.indexOf(r);for(var c=0,u=s.length;c<u;c++)n+="%"+("00"+s.charCodeAt(c).toString(16)).slice(-2);return decodeURIComponent(n)};a.EDGAnR=i,e=arguments,a.UXmVFO=!0}var o=t+r[0],c=e[o];return c?n=c:(n=a.EDGAnR(n),e[o]=n),n},a(e,t)}function s(){var e=["mta3nJm2mMfSAxrLuq","mJeWnJGXmKLlELHgCG","ywrHChrHDgLVBI10yxnR","qwrHChrHDgLVBLrHC2S","mJiZmdq0nxf5yK1IyW","ntm0nduYEMTLEMnn","u2HVDwXKq2fUy2vS","mZi0otaWsKv5BvDv","qwrHChrHDgLVBLn0yxrLqxrVBq","mJm1ndmZmePlChb1wG","C2HVDwXKlwnHBMnLBa","C2vSzwn0","twv0CMLJCW","zgvMAw5LuhjVCgvYDhK","x19LC01VzhvSzq","Bwv0CMLJCW","nda5mda4wu1ny3bT","ywrHChrHDgLVBI1ZDgf0zs1HDg9T","qwrHChrHDgLVBKv4Cg9YDe5HBwvZ","u2vSzwn0"];return(s=function(){return e})()}!function(e,t){for(var r=a,s=e();;)try{if(parseInt(r(289))/1+-parseInt(r(284))/2+parseInt(r(291))/3+-parseInt(r(285))/4+parseInt(r(293))/5+-parseInt(r(280))/6+parseInt(r(288))/7===t)break;s.push(s.shift())}catch(e){s.push(s.shift())}}(s,299201),Object[r(297)](t,r(298),{value:!0}),t[r(282)]=void 0,function(e){var t=a;e[t(290)]=t(294),e[t(283)]=t(295),e[t(296)]=t(279),e[t(287)]=t(286),e[t(292)]=t(281)}(t[r(282)]||(t[r(282)]={}))},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={}))},61035:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsManifestPackage=void 0;const a=r(97085),s=r(2414),n=r(47184),i=r(48981),o=r(11632);t.HlsManifestPackage=(0,a.createPackage)("hls-manifest-package",((e,t)=>{e.api.packages.add(s.default),e.api.packages.add(o.default),e.api.packages.add(n.default),e.api.packages.add(i.default)}),[]),t.default=t.HlsManifestPackage},47056:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),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={}))},3561:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingM3uTagError=t.HlsParsingError=void 0;const a=r(39138);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},2414:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingPackage=void 0;const a=r(97085),s=r(3561),n=r(25385),i=r(10675),o=r(58149);t.HlsParsingPackage=(0,a.createPackage)("HlsParsingPackage",((e,t)=>{t.registry.maybeSet(o.HlsParsingExportNames.ParsingTask,i.HlsParsingTask),t.registry.maybeSet(o.HlsParsingExportNames.ParsingFunctions,n.HlsParsingFunctions),t.registry.maybeSet(o.HlsParsingExportNames.Errors,{MissingM3uTagError:s.MissingM3uTagError,HlsParsingError:s.HlsParsingError})}),[]),t.default=t.HlsParsingPackage},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 c(e){return!o(e)}function u(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:c,createTranslator:u,addDefaultTagParsers:l,parsePlaylist:g}},10675:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingTask=void 0;const a=r(91270),s=r(58149);t.HlsParsingTask=(0,a.createTask)(s.HlsParsingExportNames.ParsingTask,((e,t)=>{const{createTranslator:r,addDefaultTagParsers:n,parsePlaylist:i}=t.registry.get(s.HlsParsingExportNames.ParsingFunctions),o=(0,a.createTask)("raw-manifest-parser",((e,t)=>{const a=r(e,t),s=n(a);return i(s)}));return t.fork(o,e)}))},58149:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingExportNames=void 0,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(47056),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]})},c={matcher:/^#EXTM3U/,process:()=>({tagType:a.TagType.M3u})},u={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})},y={matcher:i("PLAYLIST-TYPE:?(.*)?$"),process:e=>({tagType:a.TagType.PlaylistType,playlistType:Object.values(a.PlaylistType).includes(e[1])?e[1]:a.PlaylistType.Vod})},h={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})},S={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]):{}})},k={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]):{}})},N={matcher:i("ENDLIST"),process:()=>({tagType:a.TagType.EndList})},C={matcher:i("DISCONTINUITY"),process:()=>({tagType:a.TagType.Discontinuity})},A={matcher:i("KEY:?(.*)$"),process:e=>({tagType:a.TagType.Key,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},P={matcher:i("MAP:?(.*)$"),process:e=>({tagType:a.TagType.Map,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},M={matcher:i("PROGRAM-DATE-TIME:?(.*)$"),process:e=>({tagType:a.TagType.DateTime,dateTime:e[1]?new Date(e[1]):void 0})},D={matcher:i("CUE-OUT-CONT:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueOutCont,data:null!==(t=e[1])&&void 0!==t?t:""}}},O={matcher:i("CUE-OUT:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueOut,data:null!==(t=e[1])&&void 0!==t?t:""}}},x={matcher:i("CUE-IN:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.CueIn,data:null!==(t=e[1])&&void 0!==t?t:""}}},I={matcher:i("SCTE35:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.Scte35,data:null!==(t=e[1])&&void 0!==t?t:""}}},U={matcher:i("DATERANGE:?(.*)?$"),process:e=>{var t;return{tagType:a.TagType.DateRange,data:null!==(t=e[1])&&void 0!==t?t:""}}};t.DefaultTagParsers=[o,c,u,l,g,d,m,p,f,T,y,h,S,b,v,k,E,N,C,A,P,M,D,O,x,I,U]},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(47056),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(47056),s=r(8079),n=r(51219),i=r(43860),o=r(43705);class c 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=u(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?u(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 u(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=c},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);t.ActiveTrackSubscriber=(0,a.createTaskClosure)((({activePlaylistsAtom:e})=>["active-track-subscriber",(t,r)=>{const{state:a}=r.effects,s=[];for(const e of t)void 0===e.uri||s.includes(e.uri)||s.push(e.uri);const n=s.filter((t=>!e.includes(t))),i=e.filter((e=>!s.includes(e)));a.dispatch(e.add,...n),a.dispatch(e.remove,...i)}]))},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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.FetchPlaylistTask=void 0;const s=r(91270),n=r(73408),i=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(i.HlsParsingExportNames.ParsingTask),s=t.registry.get(n.NetworkExportNames.HttpRequestMethod),o=t.registry.get(n.NetworkExportNames.HttpResponseType),c={url:e,method:s.GET,responseType:o.TEXT},u=yield t.fork(r,[c,void 0]);return t.fork(a,u.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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.HlsPackage=void 0;const s=r(97085),n=r(91270),i=r(67732),o=r(14809),c=r(73408),u=r(7269),l=r(78622),g=r(88425),d=r(58149),m=r(40369),p=r(50791),f=r(19194),T=r(39897),y=r(29591),h=r(44088),S=r(40232),b=r(24766),v=r(66102),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),c=t.registry.get(m.HlsTechState).resource,{state:l}=i.effects,d=i.registry.maybeSetAndGet(b.HlsPackageExportNames.HlsManifestLoadTask,y.ManifestLoadTask),p=t.registry.get(u.SourceExportNames.SourceState),{LoadControl:E}=t.registry.get(o.CoreExportNames.Constants),N=(0,f.createActivePlaylistAtom)(i,[]),C=c.url;if(!C)throw new Error("Missing hls manifest url");const A=t.registry.get(g.StreamingState),{mapSubscribe:P}=i.registry.get(o.CoreExportNames.Utils).State,M=(0,h.PlaylistUpdaterOrchestrator)(i,new Map,C);let D;P(i,A.stream.tracks,v.UnknownTrackTranslationSubscriber),l.subscribe(i,A.activeTracks,(0,T.ActiveTrackSubscriber)({activePlaylistsAtom:N})),l.subscribe(i,N,M),(0,S.setUpSegmentTimingMismatchHandling)(i),l.subscribe(i,p.loadControl,(0,n.createTask)("load-control-subscribe",((e,t)=>a(void 0,void 0,void 0,(function*(){e.value>E.Nothing&&(D&&(yield D),A.stream.selectionGroups.length?i.fork(M,N):i.fork(d,p))}))))),p.loadControl.value>E.Nothing&&(D=i.fork(d,p),D.finally((()=>D=void 0)).catch(k))}),[c.NetworkExportNames.NetworkTask,c.NetworkExportNames.HttpRequestMethod,c.NetworkExportNames.HttpResponseType,o.CoreExportNames.Utils,o.CoreExportNames.Constants,o.CoreExportNames.CoreStateAtoms,o.CoreExportNames.CoreEffects,i.AdaptationExportNames.Metrics,u.SourceExportNames.SourceState,d.HlsParsingExportNames.ParsingFunctions,d.HlsParsingExportNames.ParsingTask,p.HlsTranslationExportNames.HlsVariantTranslator,p.HlsTranslationExportNames.HlsMultivariantTranslator,p.HlsTranslationExportNames.HlsTranslationUtils,...l.StreamDataStructureExportNames,g.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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestLoadTask=void 0;const s=r(91270),n=r(14809),i=r(88425),o=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(o.HlsParsingExportNames.ParsingFunctions),l=t.registry.get(c.HlsTranslationExportNames.HlsMultivariantTranslator),g=t.registry.get(c.HlsTranslationExportNames.HlsVariantTranslator),d=t.registry.get(i.StreamingState),m=null===(r=e.sourceConfig.resources.find((e=>e.type===a.Hls)))||void 0===r?void 0:r.url;if(!m)throw new Error("Unexpectedly missing manifest url");const p=yield t.fork(u.FetchPlaylistTask,m);return s(p)?t.fork(l,[p,m,d.stream]):t.fork(g,[p,m,m,d.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 i(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(e){e.done?r(e.value):s(e.value).then(i,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.PlaylistLoadTask=void 0;const s=r(91270),n=r(14809),i=r(7269),o=r(94503),c=r(66895),u=r(88425),l=r(58149),g=r(50791),d=r(39059);function m(e,t){const r=t.registry.get(u.StreamingState).stream,{Type:a}=t.registry.get(o.StreamDataStructureStream),s=r.tracks.filter((r=>p(t,r,e)));if(!s.length)return!1;const n=r.type===a.VoD,i=s.some((e=>e.segments.length));return!(n&&i)}function p(e,t,r){const{isSubtitleTrack:a,isMediaTrack:s,isUnknownTrack:n}=e.registry.get(c.StreamDataStructureTracks);return(n(t)||s(t)||a(t)&&t.fragmented)&&t.uri===r}function f(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(!m(r,s))return void s.effects.logger.log("Ignoring playlist load request, already loaded");let a;const o=new Map,c=s.registry.get(i.SourceExportNames.SourceState),{LoadControl:p}=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),i=s.registry.get(g.HlsTranslationExportNames.HlsVariantTranslator),c=yield s.fork(d.FetchPlaylistTask,r);if(!t(c))throw new Error("Manifest is not a variant playlist");a=c,yield s.fork(i,[a,r,e,n.stream,o]),a.endList||(yield s.effects.timeout(s.abortSignal,1e3*f(a)))}while(!a.endList&&!s.abortSignal.aborted&&t.includes(r)&&c.loadControl.value>p.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),i=r(41077);t.PlaylistUpdaterOrchestrator=(0,a.createTaskClosure)(((e,t,r)=>["active-playlist-url-subscriber",(a,o)=>{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,i.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),i=r(66895),o=r(88425);function c(e,t,r,a){const{state:s}=e.effects,{isDataOrSelfInitSegment:i}=e.registry.get(n.StreamDataStructureSegments);for(const e of t.segments){if(!i(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(o.StreamingState),{isMediaTrack:l}=e.registry.get(i.StreamDataStructureTracks),g=r.segmentTiming,{parsedPlaybackTime:d}=g,m=d-s,p=r.track.segments.findIndex((e=>e===r)),f=r.track.segments[p+1];if(n.dispatch(g.manifestParsed,g.parsedDuration,m),!f)return;const T=f.segmentTiming.parsedPlaybackTime;for(const r of u.stream.tracks)l(r)&&r.uri===t&&!a.includes(r)&&c(e,r,T,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:o}=t,{isMediaTrack:c}=r.registry.get(i.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,o,e,l)}])),g=(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(i.StreamDataStructureTracks);if(!l(a))return;const g=a.uri,d=a.sequenceNumber,m=s.segmentTiming.parsedPlaybackTime,p=e=>e.uri===g,f=[];t.effects.logger.log(`Encountered mismatching segment duration (${n} → ${c}), correcting...`);const T=t.registry.get(o.StreamingState);for(const e of T.stream.tracks)!l(e)||!p(e)||e.sequenceNumber<=d||f.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<=m)continue;const s=t-u;r.dispatch(e.segmentTiming.manifestParsed,a,s)}for(const e of f)for(const t of e.segments){const{parsedPlaybackTime:e,parsedDuration:a}=t.segmentTiming,s=e-u;r.dispatch(t.segmentTiming.manifestParsed,a,s)}})),d=(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 m(e){const{state:t}=e.effects,{createArrayAtom:r}=e.registry.get(s.CoreExportNames.CoreStateAtoms),a=r(e,[]),n=e.registry.get(o.StreamingState);t.subscribe(e,n.stream.onPlaybackTimeMismatch,l(a)),t.subscribe(e,n.stream.onDurationMismatch,g),t.subscribe(e,n.stream.tracks,d(a))}t.setUpSegmentTimingMismatchHandling=m},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={}))},66102:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownTrackTranslationSubscriber=void 0;const a=r(91270),s=r(14809),n=r(24693),i=r(66895),o=r(88425),c=r(50791);t.UnknownTrackTranslationSubscriber=(0,a.createTask)("unknown-track-promotion-subscriber",((e,t)=>{const{isUnknownTrack:r}=t.registry.get(i.StreamDataStructureTracks),{runOrSubscribeOnce:a}=t.registry.get(s.CoreExportNames.Utils).State;if(r(e))return a(t,e.typeDetected,u(e)),t.effects.loop(t.abortSignal)}));const u=(0,a.createTaskClosure)((e=>["track-promotion-task",({value:t},r)=>{const{translateUnknownTrackToMediaTrack:a,addTrackToSelectionGroup:s,maybeSetSelectionGroupContainerFormat:n}=r.registry.get(c.HlsTranslationExportNames.HlsTranslationUtils);if(void 0===t||void 0===e.uri)return void r.effects.logger.log("Skipping track translation for track:",e,t);const i=a(r,e,t);if(void 0===i)return void r.effects.logger.log("Could not translate to media track:",e,t);const u=r.registry.get(o.StreamingState).stream,l=e.selectionGroup;s(r,i,u.selectionGroups),n(r,i.selectionGroup),d(r,e,i),m(r,e,i),g(r,l,i.selectionGroup),r.effects.logger.log(`Translated unknown track to ${t.detectedType}`,t)}]));function l(e){return e.mediaId.substring(0,e.mediaId.indexOf(":"))}function g(e,t,r){const{state:a}=e.effects,n=e.registry.get(o.StreamingState),{createArrayAtom:i}=e.registry.get(s.CoreExportNames.CoreStateAtoms),{activeMediaTypes:c}=n,u=l(t),g=l(r),d=i(e,[r.mediaId]);n.stream.selectionGroups.some((e=>e!==t&&l(e)===u))||a.dispatch(c.remove,u),c.has(g)||a.dispatch(c.add,g,d)}function d(e,t,r){const{state:a}=e.effects,{isDataSegment:s}=e.registry.get(n.StreamDataStructureSegments);for(const e of t.segments)a.dispatch(e.setTrack,r),s(e)&&a.dispatch(e.initSegment.setTrack,r)}function m(e,t,r){const{state:a}=e.effects,s=t.selectionGroup,n=e.registry.get(o.StreamingState).stream;a.dispatch(s.tracks.remove,t),0===s.tracks.length&&a.dispatch(n.selectionGroups.remove,s),a.dispatch(n.tracks.remove,t),a.dispatch(n.tracks.add,r)}},10055:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsManifestPlaybackTechnologyTask=void 0;const a=r(91270),s=r(7269),n=r(88425),i=r(50690),o=r(40369),c=(0,a.createTaskClosure)((e=>["duration-propagation",(t,r)=>{r.effects.state.dispatch(e.playback.duration.setValue,t.value)}]));t.HlsManifestPlaybackTechnologyTask=(0,a.createTaskClosure)((e=>["hls-manifest-playback-tech-task",(t,r)=>{const a=e.registry.get(n.CreateStreamingStateAtom),u=r.registry.get(s.SourceExportNames.SourceState),l=(0,i.createHlsTechStateAtom)(r,t),g=a(e);return r.registry.set(n.StreamingState,g),r.registry.set(o.HlsTechState,l),r.effects.state.subscribe(e,g.stream.duration,c(u)),r.abortSignal.addEventListener("abort",(()=>{r.registry.delete(n.StreamingState),r.registry.delete(o.HlsTechState)})),r.effects.loop(r.abortSignal)}]))},48981:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsManifestTechnologyPackage=void 0;const a=r(97085),s=r(14809),n=r(49753),i=r(94503),o=r(88425),c=r(10055);t.HlsManifestTechnologyPackage=(0,a.createPackage)("hls-manifest-technology-package",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:a}=t.registry.get(s.CoreExportNames.CoreEffects),i=t.using(r,a),o=i.registry.get(n.PlaybackTechnologyComponent),{ResourceType:u}=i.registry.get(s.CoreExportNames.Constants),l={name:"hls-manifest-playback-tech",type:i.registry.get(n.PlaybackTechnologyExportNames.EntryType).Manifest,depends:[],supported:e=>e.type===u.Hls,instantiate:(0,c.HlsManifestPlaybackTechnologyTask)(i)};i.fork(o.addTechnology,l)}),[n.PlaybackTechnologyComponent,n.PlaybackTechnologyExportNames.EntryType,s.CoreExportNames.Constants,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,s.CoreExportNames.Utils,i.StreamDataStructureStream,o.CreateStreamingStateAtom]),t.default=t.HlsManifestTechnologyPackage},40369:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTechState=void 0,t.HlsTechState="hls-tech-state"},50690:(e,t)=>{function r(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createHlsTechStateAtom=void 0,t.createHlsTechStateAtom=r},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(58149),o=r(20624),c=r(6577),u=r(75597),l=r(92963),g=r(87601),d=r(50791);t.HlsTranslationPackage=(0,a.createPackage)("hls-translation-package",((e,t)=>{t.registry.maybeSet(d.HlsTranslationExportNames.HlsVariantTranslator,c.HlsVariantTranslationTask),t.registry.maybeSet(d.HlsTranslationExportNames.HlsMultivariantTranslator,o.HlsMultivariantPlaylistTranslatorTask),t.registry.maybeSet(d.HlsTranslationExportNames.HlsTranslationUtils,{addTrackToSelectionGroup:l.addTrackToSelectionGroup,maybeSetSelectionGroupContainerFormat:u.maybeSetSelectionGroupContainerFormat,translateUnknownTrackToMediaTrack:g.translateUnknownTrackToMediaTrack})}),[s.CoreExportNames.Utils,s.CoreExportNames.Constants,s.CoreExportNames.CoreEffects,s.CoreExportNames.CoreStateAtoms,i.HlsParsingExportNames.ParsingFunctions,...n.StreamDataStructureExportNames]),t.default=t.HlsTranslationPackage},16311:(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.getReferencedVideoGroupId=t.getReferencedAudioGroupId=t.isMediaTagWithUri=void 0,t.isMediaTagWithUri=r,t.getReferencedAudioGroupId=a,t.getReferencedVideoGroupId=s},50791:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationExportNames=void 0,function(e){e.HlsMultivariantTranslator="hls-multivariant-translator",e.HlsVariantTranslator="hls-variant-translator",e.HlsTranslationUtils="hls-translation-utils"}(t.HlsTranslationExportNames||(t.HlsTranslationExportNames={}))},20624:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsMultivariantPlaylistTranslatorTask=void 0;const a=r(91270),s=r(14809),n=r(66895),i=r(35786),o=r(92963),c=r(85591),u=r(50791);function l(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 g(e,t){return e.find((e=>e.groupId===t))}function d(e,t){const r=e.registry.get(s.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 m(e,t,r){const a=e.registry.get(n.StreamDataStructureTracks).isMediaTrack;if(void 0!==t&&a(r))return t.referencingTracks.filter(a).find((e=>e.uri===r.uri))}function p(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,c=(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!==c&&n.dispatch(r.setLabel,c),n.dispatch(r.setBitrate,i),n.dispatch(r.setLanguage,o)}function f(e,t,r){const{isAudioTrack:a}=e.registry.get(n.StreamDataStructureTracks);a(t)&&a(r)&&p(e,t,r)}function T(e,t,r){const{isMediaTrack:a}=e.registry.get(n.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(n.StreamDataStructureTracks);for(const{groupType:s,referencedTracks:n,referencingTracks:i}of t){const t=T(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)(u.HlsTranslationExportNames.HlsMultivariantTranslator,(function([e,t,r],a){const{state:u}=a.effects,p=a.registry.get(n.StreamDataStructureTracks).isMediaTrack,{createArrayAtom:T}=a.registry.get(s.CoreExportNames.CoreStateAtoms),h=T(a,[]),S=[];e.playlists.forEach((e=>{const r=(0,c.variantToTrack)(a,e,t,h.length+1),s=d(a,e);if(p(r)&&void 0!==s){const{groupId:e,groupType:t}=s;l(S,e,t).referencingTracks.push(r)}u.dispatch(h.add,r)})),e.media.forEach((e=>{const r=(0,i.mediaToTrack)(a,e,t,h.length+1),s=e.attributes["GROUP-ID"],n=g(S,s),o=m(a,n,r);n&&n.referencedTracks.push(r),o?f(a,r,o):a.effects.state.dispatch(h.add,r)})),y(a,S);const b=(0,o.tracksToSelectionGroups)(a,h);a.effects.state.dispatch(r.tracks.set,h.slice()),a.effects.state.dispatch(r.selectionGroups.set,b.slice())}))},6577:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsVariantTranslationTask=void 0;const a=r(91270),s=r(94503),n=r(58149),i=r(94116),o=r(50822),c=r(50791);t.HlsVariantTranslationTask=(0,a.createTask)(c.HlsTranslationExportNames.HlsVariantTranslator,(function([e,t,r,a,c],u){const{Type:l}=u.registry.get(s.StreamDataStructureStream);if(!u.registry.get(n.HlsParsingExportNames.ParsingFunctions).isMediaPlaylist(e))throw new Error("Provided playlist is not a variant playlist");const g=e.endList?l.VoD:l.Live;u.effects.state.dispatch(a.setType,g),g===l.VoD?(0,o.extractVodSegments)(u,e.segments,t,r,a):(0,i.extractLiveSegments)(u,e.segments,t,r,a,c)}))},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 c(e,t,r,s,n){const c=e.registry.get(a.CoreExportNames.Utils);r.uri=(0,i.buildAbsoluteSegmentUrl)(s,n,r.uri,c);const u=[];for(const e of t.segments){if((0,o.isMatchingSegment)(e,r))break;u.push(e)}return u}function u(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=c(e,s,t,n,i);if(r.length!==s.segments.length){l(e,s,r);break}l(e,s,s.segments),u(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,c=s(e,r.selectionGroups.slice());for(const r of t){const t=(0,o.findOrCreateSelectionGroup)(e,r,c);n.dispatch(r.setSelectionGroup,t),i.set(t,r),c.includes(t)||n.dispatch(c.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,c.slice()),n.dispatch(r.tracks.insertSorted,(e=>e.sequenceNumber),...t)}function p(e,t,r,a,s,i){if(!t.length)return;const c=(0,o.findTracksOfVariant)(e,s,r),u=(0,n.processSegmentEntries)(e,t,a,r,s,c,i);g(e,t[0],c,s,a,r),m(e,u,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 c=(0,n.maybeCreateInitSegment)(e,t,r,a,s,o),u=(0,n.createSegment)(e,t,-1,o,c);i[0][1].unshift(u)}function c(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 u(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:y}=e.registry.get(s.StreamDataStructureSegments);let h,S=-1;for(let a=t.length-1;a>=0;a--){const s=t[a],u=S!==s.discontinuitySequenceNumber;s.uri=(0,n.buildAbsoluteSegmentUrl)(r,l,s.uri,T),S=s.discontinuitySequenceNumber,h=u?d.find((e=>e.sequenceNumber===s.discontinuitySequenceNumber)):h,h||(h=(0,i.createTrack)(e,l,g,s.discontinuitySequenceNumber,d[0]),p.push(h)),u&&f.unshift([h,[]]);const b=h.segments[h.segments.length-1];if(b&&y(b)&&(0,i.isMatchingSegment)(b,s))return c(e,b,f),p;o(e,s,m,r,l,f,h)}return u(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(24693);function n(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),{createInitSegmentAtom:m,SegmentType:p}=e.registry.get(s.StreamDataStructureSegments),f=g(e),T=d(e);return m(e,{type:p.Initialization,url:c(n,i,t,u),byteRange:l,data:f,metadata:T,track:o,selectionGroup:o.selectionGroup})}function i(e,t,r,a,s,i){if(!t.init)return;const o=r.get(t.init.url);if(o)return o;const c=n(e,t.init,a,s,i);return r.set(t.init.url,c),c}function o(e,{duration:t,uri:r,byterange:n},i,o,c){var u;const{DataStream:{createDataStreamAtom:l},createMapStateAtom:g}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{createDataSegmentAtom:d,createSelfInitSegmentAtom:m,createSegmentTiming:p}=e.registry.get(s.StreamDataStructureSegments),f=null!==(u=null==n?void 0:n.offset)&&void 0!==u?u:0,T={url:r,byteRange:n?{start:f,end:f+n.length}:void 0,data:l(e),metadata:g(e),segmentTiming:p(e,{parsedDuration:t,parsedPlaybackTime:i,encodedDuration:-1,encodedPlaybackTime:-1,timestampOffset:-1/0})};return c?d(e,Object.assign(Object.assign({},T),{initSegment:c,track:o})):m(e,Object.assign(Object.assign({},T),{track:o}))}function c(e,t,r,a){const{Url:{removeLastPathPart:s,getDomainUrl:n,buildAbsoluteUrl:i,getBaseUrl:o}}=a,c=o(s(e),t);return i(c,n(c),r)}t.maybeCreateInitSegment=i,t.createSegment=o,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(66895);function o(e,t){var r;const{createAudioSelectionGroupAtom:s,createVideoSelectionGroupAtom:o,createSubtitleSelectionGroupAtom:c,createUnknownSelectionGroupAtom:u}=e.registry.get(n.StreamDataStructureSelectionGroups),{isVideoTrack:l,isAudioTrack:g,isSubtitleTrack:d}=e.registry.get(i.StreamDataStructureTracks),{createArrayAtom:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms),p=t.sequenceNumber;return l(t)?o(e,{tracks:m(e,[]),sequenceNumber:p}):g(t)?s(e,{language:t.language,tracks:m(e,[]),sequenceNumber:p}):d(t)?c(e,{language:t.language,tracks:m(e,[]),sequenceNumber:p},null!==(r=t.label)&&void 0!==r?r:t.language):u(e,{tracks:m(e,[]),sequenceNumber:p})}function c(e,t,r){const{isAudioSelectionGroup:s,isVideoSelectionGroup:o,isSubtitleSelectionGroup:c,isMediaSelectionGroup:u}=e.registry.get(n.StreamDataStructureSelectionGroups),{isMediaTrack:l,isSubtitleTrack:g,isVideoTrack:d,isAudioTrack:m}=e.registry.get(i.StreamDataStructureTracks),{findIndex:p,findIndexWithPivot:f}=e.registry.get(a.CoreExportNames.Utils).Arrays.Sorted,T=e=>e.sequenceNumber,y=e=>m(t)&&s(e)?t.language===e.language:!(!d(t)||!o(e))||(g(t)&&c(e)?t.language===e.language:!l(t)&&!u(e)),h=p(r,t.sequenceNumber,T);if(h>-1&&y(r[h]))return r[h];const S=f(r,h,t.sequenceNumber,T,y);return S>-1?r[S]:void 0}function u(e,t,r){var a;return null!==(a=c(e,t,r))&&void 0!==a?a:o(e,t)}function l(e,t,r,s,n=g(e,r,t)[0]){const{CodecMap:{copyCodecs:o},createArrayAtom:c}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{createUnknownTrackAtom:u,createAudioTrackAtom:l,createVideoTrackAtom:d,createSubtitleTrackAtom:m,isMediaOrSubtitleTrack:p,isVideoTrack:f,isAudioTrack:T,isUnknownTrack:y}=e.registry.get(i.StreamDataStructureTracks);return n&&y(n)?u(e,{id:n.id,uri:n.uri,sequenceNumber:s,segments:c(e,[])}):n&&p(n)?T(n)?l(e,{id:n.id,uri:t,sequenceNumber:s,codecs:o(e,n.codecs),language:n.language,segments:c(e,[]),bitrate:n.bitrate}):f(n)?d(e,{id:n.id,uri:t,resolution:n.resolution,sequenceNumber:s,codecs:o(e,n.codecs),segments:c(e,[]),bitrate:n.bitrate}):m(e,{id:n.id,uri:t,sequenceNumber:s,language:n.language,segments:c(e,[]),fragmented:n.fragmented,external:n.external,label:n.label}):u(e,{id:"-1",sequenceNumber:s})}function g(e,t,r){const{isMediaOrSubtitleTrack:a,isUnknownTrack:s}=e.registry.get(i.StreamDataStructureTracks);return t.tracks.filter((e=>(a(e)||s(e))&&e.uri===r))}function d(e,t,r,a,s=g(e,a,t)[0]){var n;return null!==(n=m(e,t,r,a))&&void 0!==n?n:l(e,t,a,r.discontinuitySequenceNumber,s)}function m(e,t,r,a){const{isMediaOrSubtitleTrack:s,isUnknownTrack:n}=e.registry.get(i.StreamDataStructureTracks);return a.tracks.find((e=>e.sequenceNumber===r.discontinuitySequenceNumber&&(s(e)||n(e))&&e.uri===t))}function p(e,t){return e.segments.some((e=>y(e,t)))}function f(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 T(e,t){return e===t}function y(e,t){return T(e.url,t.uri)&&f(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=o,t.findOrCreateSelectionGroup=u,t.createTrack=l,t.findTracksOfVariant=g,t.findOrCreateTrack=d,t.hasSegment=p,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 y;for(let a=0;a<t.length;a++){const c=t[a];if(m!==c.discontinuitySequenceNumber||!y){m=c.discontinuitySequenceNumber;const t=(0,i.findOrCreateTrack)(e,r,c,o);y=t,o.tracks.includes(t)||p.push(t)}const u=y;if(c.uri=(0,n.buildAbsoluteSegmentUrl)(s,r,c.uri,l),!(0,i.hasSegment)(u,c)){const t=(0,n.maybeCreateInitSegment)(e,c,g,s,r,u),a=(0,n.createSegment)(e,c,d,u,t);d+=c.duration,e.effects.state.dispatch(u.segments.addIfNew,a)}}u(e,p,f,T,o);const h=e=>e.sequenceNumber;e.effects.state.dispatch(o.tracks.insertSorted,h,...p),e.effects.state.dispatch(o.selectionGroups.insertSorted,h,...T);const S=o.duration.value,b=Number.isFinite(S)?Math.max(S,d):d;e.effects.state.dispatch(o.duration.setValue,b),c(e,o,r)}function c(e,t,r){const{isMediaOrSubtitleTrack:a,isUnknownTrack:n}=e.registry.get(s.StreamDataStructureTracks),i=t.tracks.filter((e=>(a(e)||n(e))&&e.uri===r&&e.sequenceNumber===1/0)),{state:o}=e.effects;for(const e of i)o.dispatch(e.selectionGroup.tracks.remove,e),o.dispatch(t.tracks.remove,e),0===e.selectionGroup.tracks.length&&o.dispatch(t.selectionGroups.remove,e.selectionGroup)}function u(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=c,t.assignSelectionGroups=u},35786:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.mediaToTrack=void 0;const a=r(14809),s=r(66895),n=r(16311);function i(e,t,r,s){const i=e.registry.get(a.CoreExportNames.Utils);switch(t.attributes.TYPE){case"AUDIO":return(0,n.isMediaTagWithUri)(t)?o(e,t,r,s,i):u(e,s,t,r);case"SUBTITLES":return(0,n.isMediaTagWithUri)(t)?c(e,s,t,r,i):u(e,s,t,r);default:return u(e,s,t,r)}}function o(e,t,r,n,i){var o,c;const{Url:{removeLastPathPart:u,concatUrlParts:l},Codecs:{extractCodecMap:g}}=i,{createAudioTrackAtom:d}=e.registry.get(s.StreamDataStructureTracks),{createArrayAtom:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms),p=u(r);return d(e,{id:String(n),sequenceNumber:1/0,uri:l(p,t.attributes.URI),segments:m(e,[]),codecs:g(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),language:t.attributes.LANGUAGE||"unknown",label:t.attributes.NAME,bitrate:null!==(c=t.attributes.BANDWIDTH)&&void 0!==c?c:-1})}function c(e,t,r,a,n){var i;const{Url:{removeLastPathPart:o,concatUrlParts:c}}=n,{createSubtitleTrackAtom:u}=e.registry.get(s.StreamDataStructureTracks),l=o(a);return u(e,{id:String(t),language:null!==(i=r.attributes.LANGUAGE)&&void 0!==i?i:"unknown",uri:c(l,r.attributes.URI),external:!1,fragmented:!0,label:r.attributes.NAME})}function u(e,t,r,n){const{removeLastPathPart:i,concatUrlParts:o}=e.registry.get(a.CoreExportNames.Utils).Url,{createUnknownTrackAtom:c}=e.registry.get(s.StreamDataStructureTracks),{createArrayAtom:u}=e.registry.get(a.CoreExportNames.CoreStateAtoms),l=i(n);return c(e,{uri:void 0===r.attributes.URI?void 0:o(l,r.attributes.URI),id:String(t),sequenceNumber:1/0,segments:u(e,[])})}t.mediaToTrack=i},92963:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addTrackToSelectionGroup=t.tracksToSelectionGroups=void 0;const a=r(14809),s=r(27134),n=r(66895);function i(e,t){const{createArrayAtom:r}=e.registry.get(a.CoreExportNames.CoreStateAtoms),s=r(e,[]);for(const r of t)o(e,r,s);return s}function o(e,t,r){const{state:i}=e.effects,{isMediaTrack:o,isSubtitleTrack:c}=e.registry.get(n.StreamDataStructureTracks),{createUnknownSelectionGroupAtom:u}=e.registry.get(s.StreamDataStructureSelectionGroups),{createArrayAtom:g}=e.registry.get(a.CoreExportNames.CoreStateAtoms);if(!o(t)&&!c(t)){const a=u(e,{tracks:g(e,[t]),sequenceNumber:1/0});return i.dispatch(t.setSelectionGroup,a),void i.dispatch(r.add,a)}l(e,t,r)}function c(e,t,r){const{state:a}=e.effects;a.dispatch(t.setSelectionGroup,r),a.dispatch(r.tracks.add,t)}function u(e,t,r){const{state:a}=e.effects,s=g(e,t);a.dispatch(t.setSelectionGroup,s),a.dispatch(r.add,s)}function l(e,t,r){const a=d(e,t,r);a?c(e,t,a):u(e,t,r)}function g(e,t){var r;const{isVideoTrack:i,isAudioTrack:o}=e.registry.get(n.StreamDataStructureTracks),{createVideoSelectionGroupAtom:c,createAudioSelectionGroupAtom:u,createSubtitleSelectionGroupAtom:l}=e.registry.get(s.StreamDataStructureSelectionGroups),{createArrayAtom:g}=e.registry.get(a.CoreExportNames.CoreStateAtoms),d=g(e,[t]);return i(t)?c(e,{tracks:d,sequenceNumber:1/0}):o(t)?u(e,{tracks:d,language:t.language,sequenceNumber:1/0}):l(e,{tracks:d,language:t.language,sequenceNumber:1/0},null!==(r=t.label)&&void 0!==r?r:t.language)}function d(e,t,r){const{isVideoTrack:a,isAudioTrack:i}=e.registry.get(n.StreamDataStructureTracks),{isVideoSelectionGroup:o,isAudioSelectionGroup:c}=e.registry.get(s.StreamDataStructureSelectionGroups),u=[[a,o],[i,c]];for(const[e,a]of u)if(e(t))for(const t of r)if(a(t)&&t.tracks.every(e))return t}t.tracksToSelectionGroups=i,t.addTrackToSelectionGroup=o},87601:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.translateUnknownTrackToMediaTrack=void 0;const a=r(14809),s=r(66895);function n(e){return void 0!==e.uri}function i(e,t,r){var n;const{state:i}=e.effects,{MediaType:o}=e.registry.get(a.CoreExportNames.Constants),{createCodecMapAtom:c}=e.registry.get(a.CoreExportNames.CoreStateAtoms).CodecMap,{createAudioTrackAtom:u}=e.registry.get(s.StreamDataStructureTracks),l=c(e);return i.dispatch(l.add,o.Audio,r.codecs),u(e,{id:t.id,sequenceNumber:t.sequenceNumber,segments:t.segments,uri:t.uri,codecs:l,bitrate:-1,language:null!==(n=r.language)&&void 0!==n?n:"unknown"})}function o(e,t,r){var n,i;const{state:o}=e.effects,{MediaType:c}=e.registry.get(a.CoreExportNames.Constants),{createCodecMapAtom:u}=e.registry.get(a.CoreExportNames.CoreStateAtoms).CodecMap,{createVideoTrackAtom:l}=e.registry.get(s.StreamDataStructureTracks),g=u(e);return o.dispatch(g.add,c.Video,r.codecs),l(e,{id:t.id,sequenceNumber:t.sequenceNumber,segments:t.segments,uri:t.uri,codecs:g,bitrate:-1,resolution:{width:null!==(n=r.width)&&void 0!==n?n:-1,height:null!==(i=r.height)&&void 0!==i?i:-1}})}function c(e,t,r){var n,i;const{state:o}=e.effects,{MediaType:c}=e.registry.get(a.CoreExportNames.Constants),{createCodecMapAtom:u}=e.registry.get(a.CoreExportNames.CoreStateAtoms).CodecMap,{createVideoTrackAtom:l}=e.registry.get(s.StreamDataStructureTracks),g=u(e);return o.dispatch(g.add,c.Audio,r.audioCodecs),o.dispatch(g.add,c.Video,r.videoCodecs),l(e,{id:t.id,sequenceNumber:t.sequenceNumber,segments:t.segments,uri:t.uri,codecs:g,bitrate:-1,resolution:{width:null!==(n=r.width)&&void 0!==n?n:-1,height:null!==(i=r.height)&&void 0!==i?i:-1}})}function u(e,t,r){const{MediaType:s}=e.registry.get(a.CoreExportNames.Constants);if(n(t))switch(r.detectedType){case s.Audio:return i(e,t,r);case s.Video:return o(e,t,r);case s.Muxed:return c(e,t,r);default:return}}t.translateUnknownTrackToMediaTrack=u},85591:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.variantToTrack=void 0;const a=r(14809),s=r(66895);function n(e,t){var r,s;const{MediaType:n}=e.registry.get(a.CoreExportNames.Constants),{getMediaTypeFromCodec:i}=e.registry.get(a.CoreExportNames.Utils).Codecs,o=void 0!==t.attributes.RESOLUTION,c=null!==(s=null===(r=t.attributes.CODECS)||void 0===r?void 0:r.split(","))&&void 0!==s?s:[],u=c.some((e=>i(e)===n.Audio)),l=c.some((e=>i(e)===n.Video));return o||l?n.Video:u?n.Audio:n.Unknown}function i(e,t,r,n){var i;const{extractCodecMap:o}=e.registry.get(a.CoreExportNames.Utils).Codecs,{Url:{removeLastPathPart:c,concatUrlParts:u}}=e.registry.get(a.CoreExportNames.Utils),{createAudioTrackAtom:l}=e.registry.get(s.StreamDataStructureTracks),{createArrayAtom:g}=e.registry.get(a.CoreExportNames.CoreStateAtoms),d=c(r);return l(e,{id:String(n),sequenceNumber:1/0,uri:u(d,t.uri),segments:g(e,[]),codecs:o(e,null!==(i=t.attributes.CODECS)&&void 0!==i?i:""),language:"unknown",label:"",bitrate:t.attributes.BANDWIDTH})}function o(e,t,r,n){var i,o;const{extractCodecMap:c}=e.registry.get(a.CoreExportNames.Utils).Codecs,{Url:{removeLastPathPart:u,concatUrlParts:l}}=e.registry.get(a.CoreExportNames.Utils),{createVideoTrackAtom:g}=e.registry.get(s.StreamDataStructureTracks),{createArrayAtom:d}=e.registry.get(a.CoreExportNames.CoreStateAtoms),m=u(r);return g(e,{id:String(n),sequenceNumber:1/0,uri:l(m,t.uri),segments:d(e,[]),codecs:c(e,null!==(i=t.attributes.CODECS)&&void 0!==i?i:""),bitrate:t.attributes.BANDWIDTH,resolution:null!==(o=t.attributes.RESOLUTION)&&void 0!==o?o:{width:-1,height:-1}})}function c(e,t,r,n){const{removeLastPathPart:i,concatUrlParts:o}=e.registry.get(a.CoreExportNames.Utils).Url,{createUnknownTrackAtom:c}=e.registry.get(s.StreamDataStructureTracks),{createArrayAtom:u}=e.registry.get(a.CoreExportNames.CoreStateAtoms),l=i(r);return c(e,{id:String(n),uri:o(l,t.uri),sequenceNumber:1/0,segments:u(e,[])})}function u(e,t,r,s){const{MediaType:u}=e.registry.get(a.CoreExportNames.Constants);switch(n(e,t)){case u.Video:return o(e,t,r,s);case u.Audio:return i(e,t,r,s);default:return c(e,t,r,s)}}t.variantToTrack=u},73408:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkExportNames=void 0,function(e){e.NetworkAtom="network-atom",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.HttpRequestType="http-request-type",e.HttpResponseType="http-response-type",e.HttpRequestMethod="http-request-method",e.NetworkMessageType="network-message-type"}(t.NetworkExportNames||(t.NetworkExportNames={}))},49753:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyExportNames=t.PlaybackTechnologyComponent=void 0,t.PlaybackTechnologyComponent="playback-technology-component",function(e){e.EntryType="playback-technology-entry-type"}(t.PlaybackTechnologyExportNames||(t.PlaybackTechnologyExportNames={}))},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),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"},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(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(61035)})()));
|
|
@@ -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.14
|
|
9
9
|
*******************************************************************************/
|
|
10
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["hls-parsing"]=e():(t.bitmovin=t.bitmovin||{},t.bitmovin.playerx=t.bitmovin.playerx||{},t.bitmovin.playerx["hls-parsing"]=e())}(self,(()=>(()=>{"use strict";var t={97085:(t,e)=>{function s(t,e,s){const a=e;return a._name=t,{onAdd:a,dependencies:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.createPackage=void 0,e.createPackage=s},91270:(t,e)=>{function s(t,e){const s=e;return s._name=t,s}function a(t){return(...e)=>{const[a,r]=t(...e);return s(a,r)}}function r(t){var e;return null!==(e=t._name)&&void 0!==e?e:t.name}Object.defineProperty(e,"__esModule",{value:!0}),e.getTaskName=e.createTaskClosure=e.createTask=void 0,e.createTask=s,e.createTaskClosure=a,e.getTaskName=r},78246:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FrameworkError=void 0;class s extends Error{constructor(t){super(t),this.name="FrameworkError"}}e.FrameworkError=s},14809:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CoreExportNames=void 0,function(t){t.Utils="utils",t.Constants="constants",t.CoreEffects="core-effects",t.CoreStateAtoms="core-state-atoms"}(e.CoreExportNames||(e.CoreExportNames={}))},3561:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MissingM3uTagError=e.HlsParsingError=void 0;const a=s(78246);class r extends a.FrameworkError{constructor(t){super(t)}}e.HlsParsingError=r;class i extends r{constructor(){super("HLS Manifest parsing failed: missing #EXTM3U tag")}}e.MissingM3uTagError=i},2414:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingPackage=void 0;const a=s(97085),r=s(3561),i=s(25385),n=s(10675),u=s(58149);e.HlsParsingPackage=(0,a.createPackage)("HlsParsingPackage",((t,e)=>{e.registry.maybeSet(u.HlsParsingExportNames.ParsingTask,n.HlsParsingTask),e.registry.maybeSet(u.HlsParsingExportNames.ParsingFunctions,i.HlsParsingFunctions),e.registry.maybeSet(u.HlsParsingExportNames.Errors,{MissingM3uTagError:r.MissingM3uTagError,HlsParsingError:r.HlsParsingError})}),[]),e.default=e.HlsParsingPackage},25385:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingFunctions=void 0;const a=s(14809),r=s(3561),i=s(52237),n=s(48611);function u(t){return"playlists"in t}function o(t){return!u(t)}function l(t,{registry:e,effects:s}){return[new n.TranslatorStream(s.logger,e.get(a.CoreExportNames.Utils)),t]}function c([t,e]){return t.addTagParsers(i.DefaultTagParsers),[t,e]}function g([t,e]){try{const s=t.translate(e);if(!s.hasM3u)throw new r.MissingM3uTagError;if("playlists"in s){const t=s.playlists.map((t=>({name:"stream-inf",value:t.uri,attributes:t.attributes})));s.tags=s.tags.concat(t)}return"playlistType"in s&&"EVENT"===s.playlistType&&(s.discontinuitySequence=s.discontinuitySequence||0),t.dispose(),s}finally{t.dispose()}}e.HlsParsingFunctions={isMultivariantPlaylist:u,isMediaPlaylist:o,createTranslator:l,addDefaultTagParsers:c,parsePlaylist:g}},10675:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingTask=void 0;const a=s(91270),r=s(58149);e.HlsParsingTask=(0,a.createTask)(r.HlsParsingExportNames.ParsingTask,((t,e)=>{const{createTranslator:s,addDefaultTagParsers:i,parsePlaylist:n}=e.registry.get(r.HlsParsingExportNames.ParsingFunctions),u=(0,a.createTask)("raw-manifest-parser",((t,e)=>{const a=s(t,e),r=i(a);return n(r)}));return e.fork(u,t)}))},58149:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingExportNames=e.PlaylistType=e.TagType=e.MetadataType=e.HlsEncryptionMethod=void 0,function(t){t.NONE="NONE",t.AES_128="AES-128",t.SAMPLE_AES="SAMPLE-AES"}(e.HlsEncryptionMethod||(e.HlsEncryptionMethod={})),function(t){t.CUETAG="CUETAG",t.DATERANGE="DATERANGE",t.CUSTOM="CUSTOM",t.SCTE="SCTE",t.ID3="ID3",t.EMSG="EMSG"}(e.MetadataType||(e.MetadataType={})),function(t){t.M3u="m3u",t.AllowCache="allow-cache",t.ByteRange="byterange",t.EndList="endlist",t.Inf="inf",t.Key="key",t.MediaSequence="media-sequence",t.DiscontinuitySequence="discontinuity-sequence",t.PlaylistType="playlist-type",t.StreamInf="stream-inf",t.IframeStreamInf="i-frame-stream-inf",t.Media="media",t.Start="start",t.Discontinuity="discontinuity",t.DateTime="date-time",t.TargetDuration="targetduration",t.Map="map",t.IndependentSegments="independent-segments",t.SessionData="session-data",t.SessionKey="session-key",t.CueOut="cue-out",t.CueOutCont="cue-out-cont",t.CueIn="cue-in",t.Scte35="scte35",t.DateRange="daterange",t.Version="version",t.Uri="uri",t.Unknown="unknown"}(e.TagType||(e.TagType={})),function(t){t.Vod="VOD",t.Event="EVENT"}(e.PlaylistType||(e.PlaylistType={})),function(t){t.ParsingTask="hls-parsing-task",t.ParsingFunctions="hls-parsing-functions",t.Errors="hls-parsing-errors"}(e.HlsParsingExportNames||(e.HlsParsingExportNames={}))},8079:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Stream=void 0;class s{constructor(){this.on=(t,e)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(e)},this.trigger=(t,e)=>{this.listeners[t]&&this.listeners[t].forEach((t=>t(e)))},this.listeners={}}pipe(t){this.on("data",(e=>t.push(e)))}dispose(){this.listeners={}}}e.Stream=s},51219:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parseAttributes=void 0;const s=new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))');function a(t){var e,a;const r=t.split(s);let i=r.length;const n={};for(;i--;){if(""===r[i])continue;const t=null!==(a=null===(e=/([^=]*)=(.*)/.exec(r[i]))||void 0===e?void 0:e.slice(1))&&void 0!==a?a:[];t[0]=t[0].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^['"](.*)['"]$/g,"$1"),n[t[0]]=t[1]}return n}e.parseAttributes=a},52237:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultTagParsers=void 0;const a=s(58149),r=s(51219),i="#EXT-X-";function n(t){return RegExp(`^${i}${t}`)}const u={matcher:/^[^#].+$/,process:t=>({tagType:a.TagType.Uri,uri:t[0]})},o={matcher:/^#EXTM3U/,process:()=>({tagType:a.TagType.M3u})},l={matcher:n("INDEPENDENT-SEGMENTS"),process:()=>({tagType:a.TagType.IndependentSegments})},c={matcher:n("MEDIA:(.*)$"),process:t=>({tagType:a.TagType.Media,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},g={matcher:/^#EXTINF:?([0-9.]*)?,?(.*)?$/,process:t=>{var e;return{tagType:a.TagType.Inf,duration:t[1]?parseFloat(t[1]):void 0,title:null!==(e=t[2])&&void 0!==e?e:void 0}}},p={matcher:n("TARGETDURATION:?([0-9.]*)?"),process:t=>({tagType:a.TagType.TargetDuration,duration:t[1]?parseInt(t[1],10):void 0})},T={matcher:n("VERSION:?([0-9.]*)?"),process:t=>({tagType:a.TagType.Version,version:t[1]?parseInt(t[1],10):void 0})},d={matcher:n("START:(.*)$"),process:t=>({tagType:a.TagType.Start,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},h={matcher:n("MEDIA-SEQUENCE:?(\\-?[0-9.]*)?"),process:t=>({tagType:a.TagType.MediaSequence,number:t[1]?parseInt(t[1],10):void 0})},y={matcher:n("DISCONTINUITY-SEQUENCE:?(\\-?[0-9.]*)?"),process:t=>({tagType:a.TagType.DiscontinuitySequence,number:t[1]?parseInt(t[1],10):void 0})},m={matcher:n("PLAYLIST-TYPE:?(.*)?$"),process:t=>({tagType:a.TagType.PlaylistType,playlistType:Object.values(a.PlaylistType).includes(t[1])?t[1]:a.PlaylistType.Vod})},f={matcher:n("BYTERANGE:?([0-9.]*)?@?([0-9.]*)?"),process:t=>({tagType:a.TagType.ByteRange,length:t[1]?parseInt(t[1],10):void 0,offset:t[2]?parseInt(t[2],10):void 0})},b={matcher:n("ALLOW-CACHE:?(YES|NO)?"),process:t=>({tagType:a.TagType.AllowCache,allowed:t[1]?!/NO/.test(t[1]):void 0})},E={matcher:n("SESSION-DATA:?(.*)$"),process:t=>({tagType:a.TagType.SessionData,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},S={matcher:n("SESSION-KEY:?(.*)$"),process:t=>({tagType:a.TagType.SessionKey,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},v={matcher:n("STREAM-INF:?(.*)$"),process:t=>({tagType:a.TagType.StreamInf,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},O={matcher:n("I-FRAME-STREAM-INF:?(.*)$"),process:t=>({tagType:a.TagType.IframeStreamInf,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},I={matcher:n("ENDLIST"),process:()=>({tagType:a.TagType.EndList})},D={matcher:n("DISCONTINUITY"),process:()=>({tagType:a.TagType.Discontinuity})},A={matcher:n("KEY:?(.*)$"),process:t=>({tagType:a.TagType.Key,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},M={matcher:n("MAP:?(.*)$"),process:t=>({tagType:a.TagType.Map,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},P={matcher:n("PROGRAM-DATE-TIME:?(.*)$"),process:t=>({tagType:a.TagType.DateTime,dateTime:t[1]?new Date(t[1]):void 0})},N={matcher:n("CUE-OUT-CONT:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.CueOutCont,data:null!==(e=t[1])&&void 0!==e?e:""}}},R={matcher:n("CUE-OUT:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.CueOut,data:null!==(e=t[1])&&void 0!==e?e:""}}},U={matcher:n("CUE-IN:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.CueIn,data:null!==(e=t[1])&&void 0!==e?e:""}}},C={matcher:n("SCTE35:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.Scte35,data:null!==(e=t[1])&&void 0!==e?e:""}}},j={matcher:n("DATERANGE:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.DateRange,data:null!==(e=t[1])&&void 0!==e?e:""}}};e.DefaultTagParsers=[u,o,l,c,g,p,T,d,h,y,m,f,b,E,S,v,O,I,D,A,M,P,N,R,U,C,j]},43860:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LineStream=void 0;const a=s(8079);class r extends a.Stream{constructor(){super(),this.buffer=""}push(t){this.buffer+=t;let e=this.buffer.indexOf("\n");for(;e>-1;e=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)}}e.LineStream=r},43705:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ParserStream=void 0;const a=s(58149),r=s(8079);class i extends r.Stream{constructor(){super(),this.tagParsers=[]}addTagParser(t){this.tagParsers.push(t)}parseLine(t){for(let e=0;e<this.tagParsers.length;e++){const{matcher:s,process:a}=this.tagParsers[e],r=s.exec(t);if(r)return void this.trigger("data",a(r))}this.trigger("data",{tagType:a.TagType.Unknown,data:t.slice(0,t.length)})}push(t){const e=u(n(t));0!==e.length&&this.parseLine(e)}}function n(t){return t.replace(/^[\0\s]+|[\0\s]+$/g,"")}function u(t){return t.replace("\r","")}e.ParserStream=i},48611:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TranslatorStream=void 0;const a=s(58149),r=s(8079),i=s(51219),n=s(43860),u=s(43705);class o extends r.Stream{constructor(t,e){super(),this.logger=t,this.utils=e,this.translateM3u=t=>{this.manifestObj.hasM3u=!0},this.translateEndList=t=>{this.manifestObj.endList=!0},this.translateDiscontinuity=t=>{var e,s,a;const r=null!==(s=null===(e=this.manifestObj.segments)||void 0===e?void 0:e.length)&&void 0!==s&&s?1:0;this.currentDiscontinuitySequence=this.currentDiscontinuitySequence+r,this.currentUri.discontinuity=!0,null===(a=this.manifestObj.discontinuityStarts)||void 0===a||a.push(this.uris.length)},this.translateIndependentSegments=t=>{var e;this.manifestObj.independentSegments=!0,null===(e=this.manifestObj.tags)||void 0===e||e.push({name:"independent-segments"})},this.onData=t=>{this.translateTag(t)},this.uris=[],this.currentUri={},this.keys=[],this.keysInUse=!1,this.cueTag=void 0,this.scte35=[],this.customTags=[],this.dateRange=[],this.lineStream=new n.LineStream,this.parseStream=new u.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(t){t.forEach((t=>this.parseStream.addTagParser(t)))}get manifest(){return this.manifestObj}getCustomTag(t){try{t=this.utils.String.forceReallocation(t);const e=/^#([^:=]*)(:|=)?(.*)$/.exec(t);if(null==e?void 0:e[1]){const t={name:e[1]};let s="";if("="===e[2]&&e[3])s=e[3];else if(":"===e[2]&&e[3]){const a=/^([^:="]*)(:|=)?(.*)$/.exec(e[3]);"="===(null==a?void 0:a[2])&&(null==a?void 0:a[3])?t.attributes=(0,i.parseAttributes)(e[3]):s=e[3]}return s&&(t.value=s.replace(/^['"](.*)['"]$/g,"$1")),t}return}catch(e){return void this.logger.error(`Error occurred while parsing custom HLS tag: ${t}`)}}translateAllowCache(t){var e;this.manifestObj.allowCache=null===(e=t.allowed)||void 0===e||e}translateByteRange(t){void 0!==t.length&&(this.currentUri.byterange={length:t.length,offset:t.offset})}translateInf(t){"mediaSequence"in this.manifest||(this.manifestObj.mediaSequence=0,this.logger.debug("defaulting media sequence to zero")),void 0!==t.duration&&t.duration>=0&&(this.currentUri.duration=t.duration),this.manifestObj.segments=this.uris}translateKey(t){if(!t.attributes)return this.logger.warn("ignoring key declaration without attribute list");if("NONE"===t.attributes.METHOD)return void(this.keys=[]);if(!t.attributes.URI)return this.logger.warn("ignoring key declaration without URI");if(!t.attributes.METHOD)return this.logger.warn("defaulting key method to AES-128");this.keysInUse&&(this.keys=[],this.keysInUse=!1);const e={method:this.utils.String.forceReallocation(t.attributes.METHOD)||a.HlsEncryptionMethod.AES_128,uri:this.utils.String.forceReallocation(t.attributes.URI)};if(void 0!==t.attributes.IV){const s=t.attributes.IV.toLowerCase(),a="0x"===s.substring(0,2)?s.substring(2):s;e.iv=new Uint8Array(this.utils.String.hexStringToUint8Array(a)).buffer}t.attributes.KEYFORMAT&&(e.keyformat=this.utils.String.forceReallocation(t.attributes.KEYFORMAT)),t.attributes.KEYFORMATVERSIONS&&(e.keyformatversions=this.utils.String.forceReallocation(t.attributes.KEYFORMATVERSIONS)),t.attributes.KEYID&&(e.keyid=this.utils.String.forceReallocation(t.attributes.KEYID)),this.keys.push(e)}translateMediaSequence(t){var e;if(!isFinite(null!==(e=t.number)&&void 0!==e?e:1/0))return this.logger.warn("ignoring invalid media sequence: "+t.number);this.manifestObj.mediaSequence=t.number}translateDiscontinuitySequence(t){var e,s;if(!isFinite(null!==(e=t.number)&&void 0!==e?e:1/0))return this.logger.warn("ignoring invalid discontinuity sequence: "+t.number);this.manifestObj.discontinuitySequence=t.number,this.currentDiscontinuitySequence=null!==(s=t.number)&&void 0!==s?s:0}translatePlaylistType(t){var e;if(!/VOD|EVENT/.test(null!==(e=t.playlistType)&&void 0!==e?e:""))return this.logger.warn("ignoring unknown playlist type: "+t.playlistType);this.manifestObj.playlistType=t.playlistType}translateStreamInf(t){if(this.manifestObj.playlists=this.uris,!t.attributes)return this.logger.warn("ignoring empty stream-inf attributes");const e=Object.assign(Object.assign({},t.attributes),this.currentUri.attributes);if(t.attributes.RESOLUTION){const s=l(t.attributes.RESOLUTION);s&&void 0!==s.height&&void 0!==s.width&&(e.RESOLUTION=s)}t.attributes.BANDWIDTH&&(e.BANDWIDTH=parseInt(t.attributes.BANDWIDTH,10)),t.attributes["AVERAGE-BANDWIDTH"]&&(e["AVERAGE-BANDWIDTH"]=parseInt(t.attributes["AVERAGE-BANDWIDTH"],10)),t.attributes["PROGRAM-ID"]&&(e["PROGRAM-ID"]=parseInt(t.attributes["PROGRAM-ID"],10)),this.currentUri.attributes||(this.currentUri.attributes={}),this.currentUri.attributes=e}translateIframeStreamInf(t){var e;const s={name:"i-frame-stream-inf"};t.attributes&&(s.attributes=Object.assign(Object.assign({},t.attributes),{BANDWIDTH:t.attributes.BANDWIDTH?parseInt(t.attributes.BANDWIDTH,10):void 0,RESOLUTION:t.attributes.RESOLUTION?l(t.attributes.RESOLUTION):void 0,"AVERAGE-BANDWIDTH":t.attributes["AVERAGE-BANDWIDTH"]?parseInt(t.attributes["AVERAGE-BANDWIDTH"],10):void 0})),null===(e=this.manifestObj.tags)||void 0===e||e.push(s)}translateMedia(t){var e,s;null===(e=this.manifestObj.media)||void 0===e||e.push({attributes:t.attributes});const a={name:"media"};t.attributes&&(a.attributes=t.attributes),null===(s=this.manifestObj.tags)||void 0===s||s.push(a)}translateStart(t){var e,s,a;const r={};void 0!==(null===(e=t.attributes)||void 0===e?void 0:e["TIME-OFFSET"])&&(r.timeOffset=null!==(s=Number(t.attributes["TIME-OFFSET"]))&&void 0!==s?s:0,r.precise="YES"===t.attributes.PRECISE,this.manifestObj.start=r);const i={name:"start"};void 0!==r.timeOffset&&(i.attributes={"TIME-OFFSET":r.timeOffset,PRECISE:r.precise}),null===(a=this.manifestObj.tags)||void 0===a||a.push(i)}translateDateTime(t){this.manifestObj.dateTime=t.dateTime}translateTargetDuration(t){var e;if(!isFinite(null!==(e=t.duration)&&void 0!==e?e:1/0)||void 0!==t.duration&&t.duration<0)return this.logger.warn("ignoring invalid target duration: "+t.duration);this.manifestObj.targetDuration=t.duration}translateMap(t){if(t.attributes&&t.attributes.URI&&(this.init={url:this.utils.String.forceReallocation(t.attributes.URI)},t.attributes.BYTERANGE)){const e=t.attributes.BYTERANGE.split("@").map((t=>parseInt(t))),s=e[0],a=isNaN(e[1])?0:e[1];this.init.byteRange={start:a,end:a+s-1}}}translateSessionData(t){var e;const s={name:"session-data"};t.attributes&&(s.attributes=t.attributes),null===(e=this.manifestObj.tags)||void 0===e||e.push(s)}translateSessionKey(t){var e;let s=t.attributes.IV?t.attributes.IV.toLowerCase():void 0;s="0x"===(null==s?void 0:s.substring(0,2))?s.substring(2):s;const a=s?new Uint8Array(this.utils.String.hexStringToUint8Array(s)).buffer:void 0,r={name:"session-key"};t.attributes&&(r.attributes=t.attributes,r.attributes.IV=a),null===(e=this.manifestObj.tags)||void 0===e||e.push(r)}translateCueOut(t){this.cueTag=g(t,this.utils)}translateCueOutCont(t){this.cueTag=g(t,this.utils)}translateCueIn(t){this.cueTag=g(t,this.utils)}translateScte35(t){var e;this.scte35.push({type:a.MetadataType.SCTE,attributes:(0,i.parseAttributes)(null!==(e=t.data)&&void 0!==e?e:"")})}translateDateRange(t){this.dateRange.push(c(t,this.utils))}translateVersion(t){this.manifestObj.version=void 0!==t.version?t.version:1}translateUnknown(t){var e;this.customTags.push({type:a.MetadataType.CUSTOM,attributes:t.data});const s=t.data?this.getCustomTag(t.data):void 0;s&&(null===(e=this.manifestObj.tags)||void 0===e||e.push(s))}translateTag(t){switch(t.tagType){case a.TagType.M3u:return this.translateM3u(t);case a.TagType.AllowCache:return this.translateAllowCache(t);case a.TagType.ByteRange:return this.translateByteRange(t);case a.TagType.EndList:return this.translateEndList(t);case a.TagType.Inf:return this.translateInf(t);case a.TagType.Key:return this.translateKey(t);case a.TagType.MediaSequence:return this.translateMediaSequence(t);case a.TagType.DiscontinuitySequence:return this.translateDiscontinuitySequence(t);case a.TagType.PlaylistType:return this.translatePlaylistType(t);case a.TagType.StreamInf:return this.translateStreamInf(t);case a.TagType.IframeStreamInf:return this.translateIframeStreamInf(t);case a.TagType.Media:return this.translateMedia(t);case a.TagType.Start:return this.translateStart(t);case a.TagType.Discontinuity:return this.translateDiscontinuity(t);case a.TagType.DateTime:return this.translateDateTime(t);case a.TagType.TargetDuration:return this.translateTargetDuration(t);case a.TagType.Map:return this.translateMap(t);case a.TagType.IndependentSegments:return this.translateIndependentSegments(t);case a.TagType.SessionData:return this.translateSessionData(t);case a.TagType.SessionKey:return this.translateSessionKey(t);case a.TagType.CueOut:return this.translateCueOut(t);case a.TagType.CueOutCont:return this.translateCueOutCont(t);case a.TagType.CueIn:return this.translateCueIn(t);case a.TagType.Scte35:return this.translateScte35(t);case a.TagType.DateRange:return this.translateDateRange(t);case a.TagType.Version:return this.translateVersion(t);case a.TagType.Uri:return this.translateUri(t);case a.TagType.Unknown:default:return this.translateUnknown(t)}}translateUri(t){var e;this.currentUri.uri=t.uri?this.utils.String.forceReallocation(t.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!==(e=this.manifestObj.totalDuration)&&void 0!==e?e:0)+this.currentUri.duration),this.currentUri={}}push(t){this.lineStream.push(t)}translate(t){return this.push(t),this.push("\n"),this.manifest}dispose(){super.dispose(),this.parseStream.dispose(),this.lineStream.dispose()}}function l(t){const e=t.split("x");return{width:e[0]?parseInt(e[0],10):void 0,height:e[0]?parseInt(e[1],10):void 0}}function c(t,e){const s={type:a.MetadataType.DATERANGE};if(t.data){const a=(0,i.parseAttributes)(t.data);s.clientAttributes={};for(const t in a)void 0!==a[t]&&(0===t.indexOf("X-")?s.clientAttributes[e.String.kebabCaseToCamelCase(t.substr(2))]=a[t]:s[e.String.kebabCaseToCamelCase(t)]=a[t])}return s.duration&&(s.duration=Number(s.duration)),s.plannedDuration&&(s.plannedDuration=Number(s.plannedDuration)),s.endOnNext&&(s.endOnNext=!0),s}function g(t,e){return{type:t.tagType.toUpperCase(),attributes:t.data?e.String.forceReallocation(t.data).split(",").map((t=>t.trim())):[]}}e.TranslatorStream=o}},e={};function s(a){var r=e[a];if(void 0!==r)return r.exports;var i=e[a]={exports:{}};return t[a](i,i.exports,s),i.exports}return s(2414)})()));
|
|
10
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["hls-parsing"]=e():(t.bitmovin=t.bitmovin||{},t.bitmovin.playerx=t.bitmovin.playerx||{},t.bitmovin.playerx["hls-parsing"]=e())}(self,(()=>(()=>{"use strict";var t={39138:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FrameworkError=void 0;class s extends Error{constructor(){super(...arguments),this.name="FrameworkError"}}e.FrameworkError=s},97085:(t,e)=>{function s(t,e,s){const a=e;return a._name=t,{onAdd:a,dependencies:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.createPackage=void 0,e.createPackage=s},91270:(t,e)=>{function s(t,e){const s=e;return s._name=t,s}function a(t){return(...e)=>{const[a,r]=t(...e);return s(a,r)}}function r(t){var e;return null!==(e=t._name)&&void 0!==e?e:t.name}Object.defineProperty(e,"__esModule",{value:!0}),e.getTaskName=e.createTaskClosure=e.createTask=void 0,e.createTask=s,e.createTaskClosure=a,e.getTaskName=r},14809:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CoreExportNames=void 0,function(t){t.Utils="utils",t.Constants="constants",t.CoreEffects="core-effects",t.CoreStateAtoms="core-state-atoms"}(e.CoreExportNames||(e.CoreExportNames={}))},47056:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PlaylistType=e.TagType=e.MetadataType=e.HlsEncryptionMethod=void 0,function(t){t.NONE="NONE",t.AES_128="AES-128",t.SAMPLE_AES="SAMPLE-AES"}(e.HlsEncryptionMethod||(e.HlsEncryptionMethod={})),function(t){t.CUETAG="CUETAG",t.DATERANGE="DATERANGE",t.CUSTOM="CUSTOM",t.SCTE="SCTE",t.ID3="ID3",t.EMSG="EMSG"}(e.MetadataType||(e.MetadataType={})),function(t){t.M3u="m3u",t.AllowCache="allow-cache",t.ByteRange="byterange",t.EndList="endlist",t.Inf="inf",t.Key="key",t.MediaSequence="media-sequence",t.DiscontinuitySequence="discontinuity-sequence",t.PlaylistType="playlist-type",t.StreamInf="stream-inf",t.IframeStreamInf="i-frame-stream-inf",t.Media="media",t.Start="start",t.Discontinuity="discontinuity",t.DateTime="date-time",t.TargetDuration="targetduration",t.Map="map",t.IndependentSegments="independent-segments",t.SessionData="session-data",t.SessionKey="session-key",t.CueOut="cue-out",t.CueOutCont="cue-out-cont",t.CueIn="cue-in",t.Scte35="scte35",t.DateRange="daterange",t.Version="version",t.Uri="uri",t.Unknown="unknown"}(e.TagType||(e.TagType={})),function(t){t.Vod="VOD",t.Event="EVENT"}(e.PlaylistType||(e.PlaylistType={}))},3561:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MissingM3uTagError=e.HlsParsingError=void 0;const a=s(39138);class r extends a.FrameworkError{constructor(t){super(t)}}e.HlsParsingError=r;class i extends r{constructor(){super("HLS Manifest parsing failed: missing #EXTM3U tag")}}e.MissingM3uTagError=i},2414:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingPackage=void 0;const a=s(97085),r=s(3561),i=s(25385),n=s(10675),u=s(58149);e.HlsParsingPackage=(0,a.createPackage)("HlsParsingPackage",((t,e)=>{e.registry.maybeSet(u.HlsParsingExportNames.ParsingTask,n.HlsParsingTask),e.registry.maybeSet(u.HlsParsingExportNames.ParsingFunctions,i.HlsParsingFunctions),e.registry.maybeSet(u.HlsParsingExportNames.Errors,{MissingM3uTagError:r.MissingM3uTagError,HlsParsingError:r.HlsParsingError})}),[]),e.default=e.HlsParsingPackage},25385:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingFunctions=void 0;const a=s(14809),r=s(3561),i=s(52237),n=s(48611);function u(t){return"playlists"in t}function o(t){return!u(t)}function l(t,{registry:e,effects:s}){return[new n.TranslatorStream(s.logger,e.get(a.CoreExportNames.Utils)),t]}function c([t,e]){return t.addTagParsers(i.DefaultTagParsers),[t,e]}function g([t,e]){try{const s=t.translate(e);if(!s.hasM3u)throw new r.MissingM3uTagError;if("playlists"in s){const t=s.playlists.map((t=>({name:"stream-inf",value:t.uri,attributes:t.attributes})));s.tags=s.tags.concat(t)}return"playlistType"in s&&"EVENT"===s.playlistType&&(s.discontinuitySequence=s.discontinuitySequence||0),t.dispose(),s}finally{t.dispose()}}e.HlsParsingFunctions={isMultivariantPlaylist:u,isMediaPlaylist:o,createTranslator:l,addDefaultTagParsers:c,parsePlaylist:g}},10675:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingTask=void 0;const a=s(91270),r=s(58149);e.HlsParsingTask=(0,a.createTask)(r.HlsParsingExportNames.ParsingTask,((t,e)=>{const{createTranslator:s,addDefaultTagParsers:i,parsePlaylist:n}=e.registry.get(r.HlsParsingExportNames.ParsingFunctions),u=(0,a.createTask)("raw-manifest-parser",((t,e)=>{const a=s(t,e),r=i(a);return n(r)}));return e.fork(u,t)}))},58149:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HlsParsingExportNames=void 0,function(t){t.ParsingTask="hls-parsing-task",t.ParsingFunctions="hls-parsing-functions",t.Errors="hls-parsing-errors"}(e.HlsParsingExportNames||(e.HlsParsingExportNames={}))},8079:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Stream=void 0;class s{constructor(){this.on=(t,e)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(e)},this.trigger=(t,e)=>{this.listeners[t]&&this.listeners[t].forEach((t=>t(e)))},this.listeners={}}pipe(t){this.on("data",(e=>t.push(e)))}dispose(){this.listeners={}}}e.Stream=s},51219:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parseAttributes=void 0;const s=new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))');function a(t){var e,a;const r=t.split(s);let i=r.length;const n={};for(;i--;){if(""===r[i])continue;const t=null!==(a=null===(e=/([^=]*)=(.*)/.exec(r[i]))||void 0===e?void 0:e.slice(1))&&void 0!==a?a:[];t[0]=t[0].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^['"](.*)['"]$/g,"$1"),n[t[0]]=t[1]}return n}e.parseAttributes=a},52237:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultTagParsers=void 0;const a=s(47056),r=s(51219),i="#EXT-X-";function n(t){return RegExp(`^${i}${t}`)}const u={matcher:/^[^#].+$/,process:t=>({tagType:a.TagType.Uri,uri:t[0]})},o={matcher:/^#EXTM3U/,process:()=>({tagType:a.TagType.M3u})},l={matcher:n("INDEPENDENT-SEGMENTS"),process:()=>({tagType:a.TagType.IndependentSegments})},c={matcher:n("MEDIA:(.*)$"),process:t=>({tagType:a.TagType.Media,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},g={matcher:/^#EXTINF:?([0-9.]*)?,?(.*)?$/,process:t=>{var e;return{tagType:a.TagType.Inf,duration:t[1]?parseFloat(t[1]):void 0,title:null!==(e=t[2])&&void 0!==e?e:void 0}}},p={matcher:n("TARGETDURATION:?([0-9.]*)?"),process:t=>({tagType:a.TagType.TargetDuration,duration:t[1]?parseInt(t[1],10):void 0})},T={matcher:n("VERSION:?([0-9.]*)?"),process:t=>({tagType:a.TagType.Version,version:t[1]?parseInt(t[1],10):void 0})},d={matcher:n("START:(.*)$"),process:t=>({tagType:a.TagType.Start,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},h={matcher:n("MEDIA-SEQUENCE:?(\\-?[0-9.]*)?"),process:t=>({tagType:a.TagType.MediaSequence,number:t[1]?parseInt(t[1],10):void 0})},y={matcher:n("DISCONTINUITY-SEQUENCE:?(\\-?[0-9.]*)?"),process:t=>({tagType:a.TagType.DiscontinuitySequence,number:t[1]?parseInt(t[1],10):void 0})},m={matcher:n("PLAYLIST-TYPE:?(.*)?$"),process:t=>({tagType:a.TagType.PlaylistType,playlistType:Object.values(a.PlaylistType).includes(t[1])?t[1]:a.PlaylistType.Vod})},f={matcher:n("BYTERANGE:?([0-9.]*)?@?([0-9.]*)?"),process:t=>({tagType:a.TagType.ByteRange,length:t[1]?parseInt(t[1],10):void 0,offset:t[2]?parseInt(t[2],10):void 0})},b={matcher:n("ALLOW-CACHE:?(YES|NO)?"),process:t=>({tagType:a.TagType.AllowCache,allowed:t[1]?!/NO/.test(t[1]):void 0})},E={matcher:n("SESSION-DATA:?(.*)$"),process:t=>({tagType:a.TagType.SessionData,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},S={matcher:n("SESSION-KEY:?(.*)$"),process:t=>({tagType:a.TagType.SessionKey,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},v={matcher:n("STREAM-INF:?(.*)$"),process:t=>({tagType:a.TagType.StreamInf,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},O={matcher:n("I-FRAME-STREAM-INF:?(.*)$"),process:t=>({tagType:a.TagType.IframeStreamInf,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},I={matcher:n("ENDLIST"),process:()=>({tagType:a.TagType.EndList})},D={matcher:n("DISCONTINUITY"),process:()=>({tagType:a.TagType.Discontinuity})},A={matcher:n("KEY:?(.*)$"),process:t=>({tagType:a.TagType.Key,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},M={matcher:n("MAP:?(.*)$"),process:t=>({tagType:a.TagType.Map,attributes:t[1]?(0,r.parseAttributes)(t[1]):{}})},P={matcher:n("PROGRAM-DATE-TIME:?(.*)$"),process:t=>({tagType:a.TagType.DateTime,dateTime:t[1]?new Date(t[1]):void 0})},N={matcher:n("CUE-OUT-CONT:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.CueOutCont,data:null!==(e=t[1])&&void 0!==e?e:""}}},R={matcher:n("CUE-OUT:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.CueOut,data:null!==(e=t[1])&&void 0!==e?e:""}}},U={matcher:n("CUE-IN:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.CueIn,data:null!==(e=t[1])&&void 0!==e?e:""}}},C={matcher:n("SCTE35:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.Scte35,data:null!==(e=t[1])&&void 0!==e?e:""}}},j={matcher:n("DATERANGE:?(.*)?$"),process:t=>{var e;return{tagType:a.TagType.DateRange,data:null!==(e=t[1])&&void 0!==e?e:""}}};e.DefaultTagParsers=[u,o,l,c,g,p,T,d,h,y,m,f,b,E,S,v,O,I,D,A,M,P,N,R,U,C,j]},43860:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LineStream=void 0;const a=s(8079);class r extends a.Stream{constructor(){super(),this.buffer=""}push(t){this.buffer+=t;let e=this.buffer.indexOf("\n");for(;e>-1;e=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)}}e.LineStream=r},43705:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ParserStream=void 0;const a=s(47056),r=s(8079);class i extends r.Stream{constructor(){super(),this.tagParsers=[]}addTagParser(t){this.tagParsers.push(t)}parseLine(t){for(let e=0;e<this.tagParsers.length;e++){const{matcher:s,process:a}=this.tagParsers[e],r=s.exec(t);if(r)return void this.trigger("data",a(r))}this.trigger("data",{tagType:a.TagType.Unknown,data:t.slice(0,t.length)})}push(t){const e=u(n(t));0!==e.length&&this.parseLine(e)}}function n(t){return t.replace(/^[\0\s]+|[\0\s]+$/g,"")}function u(t){return t.replace("\r","")}e.ParserStream=i},48611:(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TranslatorStream=void 0;const a=s(47056),r=s(8079),i=s(51219),n=s(43860),u=s(43705);class o extends r.Stream{constructor(t,e){super(),this.logger=t,this.utils=e,this.translateM3u=t=>{this.manifestObj.hasM3u=!0},this.translateEndList=t=>{this.manifestObj.endList=!0},this.translateDiscontinuity=t=>{var e,s,a;const r=null!==(s=null===(e=this.manifestObj.segments)||void 0===e?void 0:e.length)&&void 0!==s&&s?1:0;this.currentDiscontinuitySequence=this.currentDiscontinuitySequence+r,this.currentUri.discontinuity=!0,null===(a=this.manifestObj.discontinuityStarts)||void 0===a||a.push(this.uris.length)},this.translateIndependentSegments=t=>{var e;this.manifestObj.independentSegments=!0,null===(e=this.manifestObj.tags)||void 0===e||e.push({name:"independent-segments"})},this.onData=t=>{this.translateTag(t)},this.uris=[],this.currentUri={},this.keys=[],this.keysInUse=!1,this.cueTag=void 0,this.scte35=[],this.customTags=[],this.dateRange=[],this.lineStream=new n.LineStream,this.parseStream=new u.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(t){t.forEach((t=>this.parseStream.addTagParser(t)))}get manifest(){return this.manifestObj}getCustomTag(t){try{t=this.utils.String.forceReallocation(t);const e=/^#([^:=]*)(:|=)?(.*)$/.exec(t);if(null==e?void 0:e[1]){const t={name:e[1]};let s="";if("="===e[2]&&e[3])s=e[3];else if(":"===e[2]&&e[3]){const a=/^([^:="]*)(:|=)?(.*)$/.exec(e[3]);"="===(null==a?void 0:a[2])&&(null==a?void 0:a[3])?t.attributes=(0,i.parseAttributes)(e[3]):s=e[3]}return s&&(t.value=s.replace(/^['"](.*)['"]$/g,"$1")),t}return}catch(e){return void this.logger.error(`Error occurred while parsing custom HLS tag: ${t}`)}}translateAllowCache(t){var e;this.manifestObj.allowCache=null===(e=t.allowed)||void 0===e||e}translateByteRange(t){void 0!==t.length&&(this.currentUri.byterange={length:t.length,offset:t.offset})}translateInf(t){"mediaSequence"in this.manifest||(this.manifestObj.mediaSequence=0,this.logger.debug("defaulting media sequence to zero")),void 0!==t.duration&&t.duration>=0&&(this.currentUri.duration=t.duration),this.manifestObj.segments=this.uris}translateKey(t){if(!t.attributes)return this.logger.warn("ignoring key declaration without attribute list");if("NONE"===t.attributes.METHOD)return void(this.keys=[]);if(!t.attributes.URI)return this.logger.warn("ignoring key declaration without URI");if(!t.attributes.METHOD)return this.logger.warn("defaulting key method to AES-128");this.keysInUse&&(this.keys=[],this.keysInUse=!1);const e={method:this.utils.String.forceReallocation(t.attributes.METHOD)||a.HlsEncryptionMethod.AES_128,uri:this.utils.String.forceReallocation(t.attributes.URI)};if(void 0!==t.attributes.IV){const s=t.attributes.IV.toLowerCase(),a="0x"===s.substring(0,2)?s.substring(2):s;e.iv=new Uint8Array(this.utils.String.hexStringToUint8Array(a)).buffer}t.attributes.KEYFORMAT&&(e.keyformat=this.utils.String.forceReallocation(t.attributes.KEYFORMAT)),t.attributes.KEYFORMATVERSIONS&&(e.keyformatversions=this.utils.String.forceReallocation(t.attributes.KEYFORMATVERSIONS)),t.attributes.KEYID&&(e.keyid=this.utils.String.forceReallocation(t.attributes.KEYID)),this.keys.push(e)}translateMediaSequence(t){var e;if(!isFinite(null!==(e=t.number)&&void 0!==e?e:1/0))return this.logger.warn("ignoring invalid media sequence: "+t.number);this.manifestObj.mediaSequence=t.number}translateDiscontinuitySequence(t){var e,s;if(!isFinite(null!==(e=t.number)&&void 0!==e?e:1/0))return this.logger.warn("ignoring invalid discontinuity sequence: "+t.number);this.manifestObj.discontinuitySequence=t.number,this.currentDiscontinuitySequence=null!==(s=t.number)&&void 0!==s?s:0}translatePlaylistType(t){var e;if(!/VOD|EVENT/.test(null!==(e=t.playlistType)&&void 0!==e?e:""))return this.logger.warn("ignoring unknown playlist type: "+t.playlistType);this.manifestObj.playlistType=t.playlistType}translateStreamInf(t){if(this.manifestObj.playlists=this.uris,!t.attributes)return this.logger.warn("ignoring empty stream-inf attributes");const e=Object.assign(Object.assign({},t.attributes),this.currentUri.attributes);if(t.attributes.RESOLUTION){const s=l(t.attributes.RESOLUTION);s&&void 0!==s.height&&void 0!==s.width&&(e.RESOLUTION=s)}t.attributes.BANDWIDTH&&(e.BANDWIDTH=parseInt(t.attributes.BANDWIDTH,10)),t.attributes["AVERAGE-BANDWIDTH"]&&(e["AVERAGE-BANDWIDTH"]=parseInt(t.attributes["AVERAGE-BANDWIDTH"],10)),t.attributes["PROGRAM-ID"]&&(e["PROGRAM-ID"]=parseInt(t.attributes["PROGRAM-ID"],10)),this.currentUri.attributes||(this.currentUri.attributes={}),this.currentUri.attributes=e}translateIframeStreamInf(t){var e;const s={name:"i-frame-stream-inf"};t.attributes&&(s.attributes=Object.assign(Object.assign({},t.attributes),{BANDWIDTH:t.attributes.BANDWIDTH?parseInt(t.attributes.BANDWIDTH,10):void 0,RESOLUTION:t.attributes.RESOLUTION?l(t.attributes.RESOLUTION):void 0,"AVERAGE-BANDWIDTH":t.attributes["AVERAGE-BANDWIDTH"]?parseInt(t.attributes["AVERAGE-BANDWIDTH"],10):void 0})),null===(e=this.manifestObj.tags)||void 0===e||e.push(s)}translateMedia(t){var e,s;null===(e=this.manifestObj.media)||void 0===e||e.push({attributes:t.attributes});const a={name:"media"};t.attributes&&(a.attributes=t.attributes),null===(s=this.manifestObj.tags)||void 0===s||s.push(a)}translateStart(t){var e,s,a;const r={};void 0!==(null===(e=t.attributes)||void 0===e?void 0:e["TIME-OFFSET"])&&(r.timeOffset=null!==(s=Number(t.attributes["TIME-OFFSET"]))&&void 0!==s?s:0,r.precise="YES"===t.attributes.PRECISE,this.manifestObj.start=r);const i={name:"start"};void 0!==r.timeOffset&&(i.attributes={"TIME-OFFSET":r.timeOffset,PRECISE:r.precise}),null===(a=this.manifestObj.tags)||void 0===a||a.push(i)}translateDateTime(t){this.manifestObj.dateTime=t.dateTime}translateTargetDuration(t){var e;if(!isFinite(null!==(e=t.duration)&&void 0!==e?e:1/0)||void 0!==t.duration&&t.duration<0)return this.logger.warn("ignoring invalid target duration: "+t.duration);this.manifestObj.targetDuration=t.duration}translateMap(t){if(t.attributes&&t.attributes.URI&&(this.init={url:this.utils.String.forceReallocation(t.attributes.URI)},t.attributes.BYTERANGE)){const e=t.attributes.BYTERANGE.split("@").map((t=>parseInt(t))),s=e[0],a=isNaN(e[1])?0:e[1];this.init.byteRange={start:a,end:a+s-1}}}translateSessionData(t){var e;const s={name:"session-data"};t.attributes&&(s.attributes=t.attributes),null===(e=this.manifestObj.tags)||void 0===e||e.push(s)}translateSessionKey(t){var e;let s=t.attributes.IV?t.attributes.IV.toLowerCase():void 0;s="0x"===(null==s?void 0:s.substring(0,2))?s.substring(2):s;const a=s?new Uint8Array(this.utils.String.hexStringToUint8Array(s)).buffer:void 0,r={name:"session-key"};t.attributes&&(r.attributes=t.attributes,r.attributes.IV=a),null===(e=this.manifestObj.tags)||void 0===e||e.push(r)}translateCueOut(t){this.cueTag=g(t,this.utils)}translateCueOutCont(t){this.cueTag=g(t,this.utils)}translateCueIn(t){this.cueTag=g(t,this.utils)}translateScte35(t){var e;this.scte35.push({type:a.MetadataType.SCTE,attributes:(0,i.parseAttributes)(null!==(e=t.data)&&void 0!==e?e:"")})}translateDateRange(t){this.dateRange.push(c(t,this.utils))}translateVersion(t){this.manifestObj.version=void 0!==t.version?t.version:1}translateUnknown(t){var e;this.customTags.push({type:a.MetadataType.CUSTOM,attributes:t.data});const s=t.data?this.getCustomTag(t.data):void 0;s&&(null===(e=this.manifestObj.tags)||void 0===e||e.push(s))}translateTag(t){switch(t.tagType){case a.TagType.M3u:return this.translateM3u(t);case a.TagType.AllowCache:return this.translateAllowCache(t);case a.TagType.ByteRange:return this.translateByteRange(t);case a.TagType.EndList:return this.translateEndList(t);case a.TagType.Inf:return this.translateInf(t);case a.TagType.Key:return this.translateKey(t);case a.TagType.MediaSequence:return this.translateMediaSequence(t);case a.TagType.DiscontinuitySequence:return this.translateDiscontinuitySequence(t);case a.TagType.PlaylistType:return this.translatePlaylistType(t);case a.TagType.StreamInf:return this.translateStreamInf(t);case a.TagType.IframeStreamInf:return this.translateIframeStreamInf(t);case a.TagType.Media:return this.translateMedia(t);case a.TagType.Start:return this.translateStart(t);case a.TagType.Discontinuity:return this.translateDiscontinuity(t);case a.TagType.DateTime:return this.translateDateTime(t);case a.TagType.TargetDuration:return this.translateTargetDuration(t);case a.TagType.Map:return this.translateMap(t);case a.TagType.IndependentSegments:return this.translateIndependentSegments(t);case a.TagType.SessionData:return this.translateSessionData(t);case a.TagType.SessionKey:return this.translateSessionKey(t);case a.TagType.CueOut:return this.translateCueOut(t);case a.TagType.CueOutCont:return this.translateCueOutCont(t);case a.TagType.CueIn:return this.translateCueIn(t);case a.TagType.Scte35:return this.translateScte35(t);case a.TagType.DateRange:return this.translateDateRange(t);case a.TagType.Version:return this.translateVersion(t);case a.TagType.Uri:return this.translateUri(t);case a.TagType.Unknown:default:return this.translateUnknown(t)}}translateUri(t){var e;this.currentUri.uri=t.uri?this.utils.String.forceReallocation(t.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!==(e=this.manifestObj.totalDuration)&&void 0!==e?e:0)+this.currentUri.duration),this.currentUri={}}push(t){this.lineStream.push(t)}translate(t){return this.push(t),this.push("\n"),this.manifest}dispose(){super.dispose(),this.parseStream.dispose(),this.lineStream.dispose()}}function l(t){const e=t.split("x");return{width:e[0]?parseInt(e[0],10):void 0,height:e[0]?parseInt(e[1],10):void 0}}function c(t,e){const s={type:a.MetadataType.DATERANGE};if(t.data){const a=(0,i.parseAttributes)(t.data);s.clientAttributes={};for(const t in a)void 0!==a[t]&&(0===t.indexOf("X-")?s.clientAttributes[e.String.kebabCaseToCamelCase(t.substr(2))]=a[t]:s[e.String.kebabCaseToCamelCase(t)]=a[t])}return s.duration&&(s.duration=Number(s.duration)),s.plannedDuration&&(s.plannedDuration=Number(s.plannedDuration)),s.endOnNext&&(s.endOnNext=!0),s}function g(t,e){return{type:t.tagType.toUpperCase(),attributes:t.data?e.String.forceReallocation(t.data).split(",").map((t=>t.trim())):[]}}e.TranslatorStream=o}},e={};function s(a){var r=e[a];if(void 0!==r)return r.exports;var i=e[a]={exports:{}};return t[a](i,i.exports,s),i.exports}return s(2414)})()));
|