@bitmovin/player-web-x 10.2.0-beta.2 → 10.2.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/bundles/playerx-bitmovin-v8-core.js +2 -2
  2. package/bundles/playerx-bitmovin-v8.js +2 -2
  3. package/bundles/playerx-core.js +2 -2
  4. package/bundles/playerx-dash.js +2 -2
  5. package/bundles/playerx-hls-ts-audio.js +2 -2
  6. package/bundles/playerx-hls.js +2 -2
  7. package/bundles/playerx-playback.js +2 -2
  8. package/bundles/playerx-tv.js +2 -2
  9. package/framework-types/registry/Registry.d.ts +3 -3
  10. package/package.json +1 -1
  11. package/packages/playerx-adaptation.package.js +2 -2
  12. package/packages/playerx-advertising-api.package.js +1 -1
  13. package/packages/playerx-advertising-base.package.js +1 -1
  14. package/packages/playerx-advertising-bitmovin.package.js +2 -2
  15. package/packages/playerx-analytics.package.js +1 -1
  16. package/packages/playerx-bitmovin-advertising-bundle.package.js +2 -2
  17. package/packages/playerx-bitmovin-source-api.package.js +1 -1
  18. package/packages/playerx-bitmovin-ui.package.js +1 -1
  19. package/packages/playerx-bitmovin-v8-core.package.js +1 -1
  20. package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
  21. package/packages/playerx-bitmovin-video-element-utils.package.js +1 -1
  22. package/packages/playerx-capabilities.package.js +1 -1
  23. package/packages/playerx-container-mp4.package.js +1 -1
  24. package/packages/playerx-container-ts.package.js +1 -1
  25. package/packages/playerx-core.package.js +2 -2
  26. package/packages/playerx-dash-manifest-technology.package.js +1 -1
  27. package/packages/playerx-dash-manifest.package.d.ts +1 -0
  28. package/packages/playerx-dash-manifest.package.js +2 -2
  29. package/packages/playerx-dash-parsing.package.js +1 -1
  30. package/packages/playerx-dash-translation.package.js +1 -1
  31. package/packages/playerx-dash.package.js +2 -2
  32. package/packages/playerx-data.package.js +2 -2
  33. package/packages/playerx-event-bus.package.js +1 -1
  34. package/packages/playerx-hls-manifest-technology.package.js +1 -1
  35. package/packages/playerx-hls-manifest.package.js +1 -1
  36. package/packages/playerx-hls-parsing.package.js +1 -1
  37. package/packages/playerx-hls-translation.package.js +1 -1
  38. package/packages/playerx-hls.package.js +1 -1
  39. package/packages/playerx-mse-playback.package.js +2 -2
  40. package/packages/playerx-mse-presentation.package.js +1 -1
  41. package/packages/playerx-native-playback.package.js +2 -2
  42. package/packages/playerx-native-presentation.package.js +1 -1
  43. package/packages/playerx-network.package.js +2 -2
  44. package/packages/playerx-no-adaptation.package.js +2 -2
  45. package/packages/playerx-playback-api.package.js +2 -2
  46. package/packages/playerx-playback-technology.package.js +1 -1
  47. package/packages/playerx-playback.package.js +2 -2
  48. package/packages/playerx-player-api.package.js +1 -1
  49. package/packages/playerx-segment-processing.package.js +2 -2
  50. package/packages/playerx-source.package.js +2 -2
  51. package/packages/playerx-sources-api.package.js +2 -2
  52. package/packages/playerx-stream-data-structure.package.js +1 -1
  53. package/packages/playerx-streaming.package.js +1 -1
  54. package/packages/playerx-subtitle-api.package.js +1 -1
  55. package/packages/playerx-subtitle-base.package.js +1 -1
  56. package/packages/playerx-subtitle-format-detection.package.js +1 -1
  57. package/packages/playerx-subtitle-native-renderer.package.js +1 -1
  58. package/packages/playerx-subtitles.package.js +1 -1
  59. package/packages/playerx-trick-play.package.js +1 -1
  60. package/packages/playerx-ts-transmuxer.package.js +1 -1
  61. package/packages/playerx-tv.package.js +1 -1
  62. package/packages/playerx-ui.package.js +2 -2
  63. package/packages/playerx-view-mode.package.js +1 -1
  64. package/packages/playerx-web-vtt.package.js +1 -1
  65. package/playerx-framework-utils.js +1 -1
  66. package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
  67. package/types/bundles/Dash.bundle.d.ts +2 -1
  68. package/types/bundles/Hls.bundle.d.ts +2 -3
  69. package/types/bundles/Tv.bundle.d.ts +1 -1
  70. package/types/packages/core/state/Symbols.d.ts +1 -0
  71. package/types/packages/core/state/Types.d.ts +2 -1
  72. package/types/packages/core/utils/RangesHelper.d.ts +2 -0
  73. package/types/packages/event-bus/Types.d.ts +3 -3
  74. package/types/packages/manifest/dash/DashManifest.package.d.ts +3 -0
  75. package/types/packages/playback/volume/TargetVolumeStateAtom.d.ts +10 -0
  76. package/types/packages/playback/volume/Types.d.ts +19 -0
  77. package/types/packages/playback-api/Types.d.ts +3 -1
  78. package/types/packages/playback-api/playback-api-events/Types.d.ts +4 -1
  79. package/types/packages/playback-api/playback-api-events/events/DurationChangedEvent.d.ts +6 -0
  80. package/types/packages/playback-api/playback-api-events/events/PlaybackEventMap.d.ts +14 -1
  81. package/types/packages/playback-api/playback-api-events/events/PlaybackRateChangedEvent.d.ts +6 -0
  82. package/types/packages/playback-api/playback-api-events/events/VolumeChangedEvent.d.ts +6 -0
  83. package/types/packages/playback-api/time-api/Types.d.ts +33 -0
  84. package/types/packages/playback-api/volume-api/Types.d.ts +19 -0
  85. package/types/packages/source/atoms/PlaybackAtom.d.ts +1 -0
  86. package/types/packages/sources-api/Types.d.ts +3 -0
  87. package/packages/playerx-mse-playback-technology.package.d.ts +0 -1
  88. package/packages/playerx-mse-playback-technology.package.js +0 -10
  89. package/packages/playerx-native-playback-technology.package.d.ts +0 -1
  90. package/packages/playerx-native-playback-technology.package.js +0 -10
  91. package/types/packages/presentation/mse/playback-technology/MsePlaybackTechnology.package.d.ts +0 -14
  92. package/types/packages/presentation/native/playback-technology/NativePlaybackTechnology.package.d.ts +0 -19
@@ -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.2
8
+ * Bitmovin Player X Version 10.2.0-beta.4
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["mse-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["mse-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const n=t;return n._name=e,{onAdd:n,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function n(e){return(...t)=>{const[n,o]=e(...t);return r(n,o)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},68668:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BundleExportNames=void 0,function(e){e.Logger="logger",e.PlayerConfig="player-config"}(t.BundleExportNames||(t.BundleExportNames={}))},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},47755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function n(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function a(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function s(e,t,r){let n=0,o=e.length;for(;n<o;){const a=n+o>>>1;r(e[a])<r(t)?n=a+1:o=a}return n}function i(e,t,...r){const n=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const n of r){const r=t(n),o=t(e[0]);if(t(e[e.length-1])<=r)e.push(n);else if(r<=o)e.unshift(n);else{const r=s(e,n,t);e.splice(r,0,n)}}return e.length!==n}function c(e,...t){let r=!1;for(const n of t){const t=e.indexOf(n);t<0||(r=!0,e.splice(t,1))}return r}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function d(e,t){if(r(e,t))return!1;const n=u(e);return t.forEach((t=>e.push(t))),n||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const f=(e,t=[])=>{const r={add:n,insert:a,insertSorted:i,remove:c,clear:u,set:d,addIfNew:o};return e.effects.state.create(t,r)};t.createArrayAtom=f},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},49753:(e,t)=>{var r;function n(e){return e.type===r.Manifest}function o(e){return e.type===r.Presentation}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyComponent=t.isPresentationEntry=t.isManifestEntry=t.PlaybackTechnologyEntryType=void 0,function(e){e.Presentation="presentation",e.Manifest="manifest"}(r=t.PlaybackTechnologyEntryType||(t.PlaybackTechnologyEntryType={})),t.isManifestEntry=n,t.isPresentationEntry=o,t.PlaybackTechnologyComponent="playback-technology-component"},37604:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackPackage=void 0;const n=r(97085),o=r(20585),a=r(55388);t.MsePlaybackPackage=(0,n.createPackage)("mse-playback-package",((e,t)=>{e.api.packages.add(a.default),e.api.packages.add(o.default)}),[]),t.default=t.MsePlaybackPackage},20585:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackTechnologyPackage=void 0;const n=r(97085),o=r(55225),a=r(14809),s=r(49753),i=r(42553);t.MsePlaybackTechnologyPackage=(0,n.createPackage)("mse-playback-technology-package",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:n}=t.registry.get(a.CoreExportNames.CoreEffects),c=t.using(r,n),u=c.registry.get(s.PlaybackTechnologyComponent),{PlaybackTechnology:d}=c.registry.get(a.CoreExportNames.Constants),f=c.registry.get(o.CapabilitiesExportNames.PlatformCapabilities),g={name:"mse-playback-tech",type:s.PlaybackTechnologyEntryType.Presentation,depends:[s.PlaybackTechnologyEntryType.Manifest],supported:(e,t)=>t===d.Mse&&f.mediaSourceSupported(),instantiate:i.MsePlaybackTechnologyTask},l=u.addTechnology(g);c.abortSignal.addEventListener("abort",l)}),[s.PlaybackTechnologyComponent,a.CoreExportNames.Constants,a.CoreExportNames.CoreStateAtoms,a.CoreExportNames.CoreEffects,o.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.MsePlaybackTechnologyPackage},42553:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackTechnologyTask=void 0;const n=r(91270),o=r(99309),a=r(55714);t.MsePlaybackTechnologyTask=(0,n.createTask)("mse-playback-tech-task",((e,t)=>{const r=(0,o.createMsePresentationStateAtom)(t,e);return t.registry.set(a.MsePresentationState,r),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(a.MsePresentationState)})),t.effects.loop(t.abortSignal)}))},55714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationState=void 0,t.MsePresentationState="mse-presentation-state"},99309:(e,t)=>{function r(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createMsePresentationStateAtom=void 0,t.createMsePresentationStateAtom=r},4399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(91270),o=r(14809),a=r(1146),s=r(7269),i=r(27134),c=r(88425),u=r(8747);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(s.SourceExportNames.SourceState),i=r.registry.get(a.DataExportNames.StreamTimeline),{mapSubscribe:c}=r.registry.get(o.CoreExportNames.Utils).State,u=f([e,t]),g=d(u);return r.effects.state.subscribe(r,n.playback.playhead,u),c(r,i,g),r.fork(u,i),r.effects.loop(r.abortSignal)}));const d=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),f=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!m(n)||g(n))return;const o=y(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function g(e){const t=e.registry.get(s.SourceExportNames.SourceState),r=e.registry.get(c.StreamingState),n=t.playback.playhead.position;return r.stream.duration.value<n||n<0}function l(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(c.StreamingState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function m(e){const{isMediaSelectionGroup:t}=e.registry.get(i.StreamDataStructureSelectionGroups),r=e.registry.get(a.DataExportNames.StreamTimeline),n=l(e);return r.length>0&&r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function p(e,t){return e>=t.start&&e<=t.end}function y(e,t){const r=e.registry.get(s.SourceExportNames.SourceState),n=e.registry.get(a.DataExportNames.StreamTimeline),{isEndInRange:i}=e.registry.get(o.CoreExportNames.Utils).Ranges,d=l(e);return n.find((n=>{const o=v(e,n);if(o.length!==d)return!1;return!!o.every((({mediaType:t,selectionGroup:n})=>{const o=e.registry.get(c.StreamingState),a=(0,u.getMediaTypeTargetRanges)(r,o,t);return p(a.start,n.timeRange)||i(a.end,n.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:s})=>{var i,d;const f=e.registry.get(c.StreamingState),g=(0,u.getMediaTypeTargetRanges)(r,f,o),l=b(e,n,o,g),m=null!==(d=null===(i=f.dataRanges.media[a])||void 0===i?void 0:i.ranges)&&void 0!==d?d:[],p=s.timeRange.end,y=m.length>0&&m.some((e=>e.start<=p&&p<=e.end)),v=S(e,l,a,t);return!y||!v}))}))}function S(e,t,r,n){var o,a;const s=e.registry.get(c.StreamingState),{dataRanges:i}=s,u=null!==(a=null===(o=i.media[r])||void 0===o?void 0:o.source[n])&&void 0!==a?a:[];return t.every((e=>u.includes(e)))}function b(e,t,r,n){const{isVideoSelectionGroup:a,isAudioSelectionGroup:s}=e.registry.get(i.StreamDataStructureSelectionGroups),{isEndInRange:c,isStartInRange:u}=e.registry.get(o.CoreExportNames.Utils).Ranges,d=e.registry.get(o.CoreExportNames.Constants).MediaType,f=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===d.Audio&&s(e)||r===d.Video&&a(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(u(t,n)||c(r,n))&&f.push(e)}return f}function v(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(i.StreamDataStructureSelectionGroups),a=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:a.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:a.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},16566:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(91270),o=r(68668);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let a=!1;const i=()=>{if(a)return;const t=r.registry.get(o.BundleExportNames.Logger),n=s(r,e);void 0!==n&&(t.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${n.toFixed(2)})`),e.currentTime=n)},c=()=>{a=!0},u=()=>{a=!1},d=()=>{a=!1};return n.subscribe(r,e,"waiting",i),n.subscribe(r,e,"seeking",c),n.subscribe(r,e,"seeked",u),n.subscribe(r,e,"playing",d),r.effects.loop(r.abortSignal)}]));const a=.1;function s(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),o=n.end(e);if(r>=t&&r<=o&&o-r<a&&e<n.length-1)return n.start(e+1)}}},11821:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const o=r(91270),a=r(14809),s=r(27134);function i(e){return e.tracks.some((e=>e.codecs.size>0))}function c(e){return void 0!==e.container.value}function u(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:s}=e.registry.get(a.CoreExportNames.Utils).State;return n((n=>{const a=(0,o.createTask)("segment-container-format-subscriber",((e,t)=>{r()&&(n(),i())})),i=s(e,t,a)}))}))}function d(e,t){return n(this,void 0,void 0,(function*(){return u(e,t.container,(()=>c(t)))}))}function f(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return u(e,r,(()=>void 0!==r.get(t)))}))}function g(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,a=[],s=r((r=>{for(const s of t.tracks){const c=(0,o.createTask)("codec-subscriber",((e,n)=>{i(t)&&r()}));a.push(n.subscribe(e,s.codecs,c))}}));return s.finally((()=>a.forEach((e=>e())))).catch((()=>{})),s}))}function l(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(s.StreamDataStructureSelectionGroups),{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap)r(o)&&(i(o)||(yield g(e,o)),c(o)||(yield d(e,o)),void 0===n.get(o)&&(yield f(e,o)))}))}t.awaitMediaInfo=l},55388:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationPackage=void 0;const o=r(97085),a=r(68668),s=r(55225),i=r(14809),c=r(1146),u=r(30158),d=r(7269),f=r(78622),g=r(88425),l=r(55714),m=r(17090),p=r(53434),y=r(76410),S=r(79284),b=r(95994),v=r(36912);t.MsePresentationPackage=(0,o.createPackage)("mse-presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(i.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:o}=t.registry.get(i.CoreExportNames.CoreEffects),a=t.using(r,n),s=a.using(o("segmentDataCache",new Map)).using(o("containerFormatMap",e(a)));s.registry.maybeSet(b.MsePresentationExportNames.SelectContainerFormat,y.SelectContainerFormatTask);const{state:c}=s.effects,u=s.registry.get(d.SourceExportNames.SourceState),f=(0,v.VideoElementSubscriber)((0,p.createPresentationStateAtom)(s),(0,m.createActiveSectionAtom)(s));(0,S.startPresentationSegmentProcessing)(s),c.subscribe(s,u.video,f)}))),[a.BundleExportNames.Logger,i.CoreExportNames.Utils,i.CoreExportNames.Constants,d.SourceExportNames.SourceState,c.DataExportNames.StreamTimeline,i.CoreExportNames.CoreStateAtoms,i.CoreExportNames.CoreEffects,s.CapabilitiesExportNames.PlatformCapabilities,u.SegmentProcessingExportNames.SegmentProcessingComponent,u.SegmentProcessingExportNames.SegmentProcessorErrors,l.MsePresentationState,...f.StreamDataStructureExportNames,g.StreamingState]),t.default=t.MsePresentationPackage},4304:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(91270),a=r(68668),s=r(14809),i=r(7269),c=r(27134),u=r(66895),d=r(88425),f=r(11821),g=r(71185),l=r(61820),m=r(99569),p=r(8747);function y(e,t,r){const{MediaType:n}=e.registry.get(s.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:i}=e.registry.get(s.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=i(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===i(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function S(e,t,r,n,o){const{equals:a}=e.registry.get(s.CoreExportNames.Utils).Arrays;return t.find((([t,s,i])=>{const c=r===s,u=a(o,i),d=y(e,n,t);return c&&u&&d}))}function b(e,t,r){if(t.length!==r.length)return!0;for(let n=0;n<t.length;n++){const[o,a,s]=t[n];if(void 0===S(e,r,a,o,s))return!0}return!1}function v(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function h(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function E(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,a,s]of r){const r=(0,p.getMatchingBuffer)(e,t.buffers,a,s);if(void 0===r)return!1;const i=S(e,n,a,o,s);if(void 0===i)return!1;const[c,u,d]=i;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function T(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,a]of t){const t=(0,p.getMatchingBuffer)(e,r.buffers,o,a);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function k(e,t,r,o){return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),{waitFor:i}=e.registry.get(s.CoreExportNames.Utils).State;t&&(n.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield v(e,t,o),n.debug("End of buffer reached, recreating MSE...")),yield null==t?void 0:t.dispose(),t=(0,g.createRenderer)(e);const c=i(e,t.onOpen);n.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,o.load(),yield c;for(const[e,n,o]of r)t.addBuffer(e,n,o);const u=e.registry.get(d.StreamingState).stream;return yield t.setDuration(u.duration.value),t}))}function x(e,t,r,o,s,c){return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),u=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return n.log(`Creating MSE for ${c}`),yield k(e,void 0,c,s);const d=h(t);return b(e,d,c)?E(e,t,d,c)?(n.log(`Changing MSE buffer types for ${c}`),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),u),yield T(e,c,t)):(n.log(`Re-creating MSE for ${c}`),yield k(e,t,c,s)):(n.log(`Re-using MSE for ${c}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),u),t)}))}class M extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=M;class P extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function C(e,t){const{MediaType:r}=e.registry.get(s.CoreExportNames.Constants),{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:o}=e.registry.get(u.StreamDataStructureTracks),a=Array.from(t.streamSequenceMap.keys()).filter(n).flatMap((e=>e.tracks)).filter(o);for(const e of a){const t=Array.from(e.codecs.keys()),n=t.includes(r.Muxed),o=t.includes(r.Audio),a=t.includes(r.Video);if(n||o&&a)return!0}return!1}function w(e,t){const r=C(e,t),n=[],{containerFormatMap:o}=e.effects.store,{isMediaSelectionGroup:a}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:s}=e.registry.get(u.StreamDataStructureTracks);for(const[e]of t.streamSequenceMap){if(!a(e))continue;const t=o.get(e);if(void 0===t)throw new Error("Container format is unexpectedly undefined");let i,c=-1/0;for(const t of e.tracks){if(!s(t))continue;const{bitrate:e,codecs:r}=t;e>c&&r.size>0&&(c=e,i=r)}if(void 0===i)throw new Error("Could not determine codec to create buffers with");if(r)for(const[e,r]of i)n.push([r,t,[e]]);else{const e=Array.from(i.keys()),r=Array.from(i.values()).flat();n.push([r,t,e])}}return n}t.SegmentCacheMissError=P;const N=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{const n=r.registry.get(a.BundleExportNames.Logger);try{if(0===e.buffered.length)return void n.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}n.verbose(t)}catch(t){n.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),_=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:s,loop:c}=o.effects,u=o.registry.get(a.BundleExportNames.Logger),{activeRenderer:g,dataRangeIds:p}=e,y=o.registry.get(i.SourceExportNames.SourceState),S=o.registry.get(d.StreamingState).stream,b=y.playback.playhead;yield(0,f.awaitMediaInfo)(o,r);const v=w(o,r);u.log("Preparing playback of section with buffers",v),s.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(b.setPosition,t.currentTime)})),s.subscribe(o,t,"seeking",(()=>n.dispatch(b.setPosition,t.currentTime)));const h=yield x(o,g,p,r,t,v);return h.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,N(e)))),n.dispatch(e.setActiveRenderer,h),n.subscribe(o,S.duration,_(h)),n.subscribe(o,b,(0,l.BufferClearingTask)(h,r,p)),o.fork(m.SegmentAppendage,{renderer:h,section:r,dataRangeIds:p,video:t}).catch((()=>{})),c(o.abortSignal)}))]))},95994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.MsePresentationExportNames||(t.MsePresentationExportNames={}))},8747:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(14809);function o(e,t,r){const n=e.playback.playhead.position;return{start:n,end:n+t.bufferConfig[r].forwardDuration}}function a(e,t,r){const n=e.playback.playhead.position,o=t.bufferConfig[r];return{start:Math.max(0,n-o.backwardDuration),end:n+o.forwardDuration}}function s(e,t,r,o){const{equals:a}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>a(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=a,t.getMatchingBuffer=s},3014:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.removeChild(e.firstChild);e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},36912:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(91270),o=r(68668),a=r(88425),s=r(4399),i=r(16566),c=r(4304),u=r(3014);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:d,registry:f,effects:g,abortSignal:l}=n,{state:m,loop:p,abortable:y}=g,S=f.get(o.BundleExportNames.Logger);if(void 0===r.element)return S.log("Cannot set up presentation task - no video element"),y((e=>e()));const b=r.element,v=(0,c.ActiveSectionSubscriber)(e,b);return S.log("Setting up presentation task..."),(0,u.resetVideoSource)(b,S),m.subscribe(n,t,v),void 0!==t.section&&d(v,t),d((0,i.GapHandlingTask)(b),e),d(s.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:s}=n.effects;if(n.registry.has(a.StreamingState)){const t=n.registry.get(a.StreamingState),{dataRanges:r}=t;for(const t in r.media)for(const n of Object.values(e.dataRangeIds))s.dispatch(r.deleteSource,t,n)}return s.dispatch(e.setActiveRenderer,void 0),void 0!==r&&b.src===r&&(0,u.resetVideoSource)(b,n.registry.get(o.BundleExportNames.Logger)),!1})),p(l)}]))},17090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},53434:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},88070:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(91270),a=r(14809);function s(e){const{createTransient:t}=e.registry.get(a.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const i=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:a},s)=>n(void 0,void 0,void 0,(function*(){if(void 0===a)return;const n=t.queue;n.push(a);try{yield e.fork(r,a.slice(),o)}catch(e){}finally{const r=n.indexOf(a);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(s(e),{}),a=i(e,o,t,r);return n.subscribe(e,o.appendSegments,a),o}t.createSegmentAppendageQueueAtom=c},33983:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(14809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,a=o(e);return t.set(r,a),a}function a(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=a},15865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},71185:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(68668),a=r(55225),s=r(14809),i=r(32776),c=r(22782),u=r(34175),d=r(50907);function f(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(s.CoreExportNames.Utils).State,a={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(a.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(a.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(a.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(a.onError.trigger,new Error(JSON.stringify(e))))),a}function g(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function l(e,t,r,n,a,s,i){const d=(0,c.generateMimeTypeString)(e,i,s,a);e.registry.get(o.BundleExportNames.Logger).debug(`Adding source buffer of type "${d}"`);const f=t.addSourceBuffer(d),g=(0,u.createSourceBufferActionQueue)(e,f),l=(0,c.createRendererBufferAtom)(e,a,i,s,!1,f),p=m(e,l,f);n.set(l,[f,g,p]),e.effects.state.dispatch(r.add,l)}function m(e,t,r){const{events:n,state:o}=e.effects,a=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>a.forEach((e=>e()))}function p(e,t,r,n,o,s){const{typeSupported:i}=e.registry.get(a.CapabilitiesExportNames.PlatformCapabilities),u=g(r,n)[0],d=(0,c.generateMimeTypeString)(e,n.mediaTypes,s,o);return"function"==typeof u.changeType&&i(d)}function y(e,t,r,n,o,a){const[s,i]=g(r,n),u=(0,c.generateMimeTypeString)(e,n.mediaTypes,a,o),d=e=>e.changeType(u);return i.execute(d)}function S(e,t,r,o,a){return n(this,void 0,void 0,(function*(){const[n,s]=g(r,a),i=e=>t.removeSourceBuffer(e);yield s.execute(i),r.delete(a),e.effects.state.dispatch(o.remove,a)}))}function b(e,t,r,n,a){const s=e.registry.get(o.BundleExportNames.Logger),[i,c]=g(r,n),u=e=>{e.timestampOffset=a};return s.log(`Setting timestamp offset to ${a.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,a),c.execute(u)}function v(e,t,r,n,o){const[a,s]=g(r,n),i=e=>e.appendBuffer(o.data.buffer);return s.execute(i)}function h(e,t,r,n,o,a){if(o>=a)return e.effects.abortable((e=>e()));const[s,i]=g(r,n),c=e=>e.remove(o,a);return i.execute(c)}function E(e,t,r){e.readyState===d.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function T(e,t,r,n){if(t.readyState===d.MediaSourceReadyState.Open){const e=[n,t.duration].filter((e=>!isNaN(e))),o=()=>{t.duration=Math.max(...e)};return r.execute(o)}return e.registry.get(o.BundleExportNames.Logger).log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function k(e,t,r){const n=e.registry.get(o.BundleExportNames.Logger);if(t.readyState===d.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function x(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.registry.get(o.BundleExportNames.Logger).debug("Could not determine buffered ranges for source buffer:",t)}return r}function M(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,x(e,r));return o}function P(e){return e.readyState}function C(e,t,r){const n=Array.from(r.entries());if(t.readyState===d.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[a]]]=n;return b(e,t,r,o,a.timestampOffset)}function w(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function N(e){const{createArrayAtom:t}=e.registry.get(s.CoreExportNames.CoreStateAtoms);let r=e;const n=new MediaSource,a=URL.createObjectURL(n),c=f(r,n),u=new Map,d=t(r,[]),g=(0,i.createRendererActionQueue)(r,u);return Object.assign(Object.assign({},c),{sourceUrl:a,buffers:d,addBuffer:l.bind(void 0,r,n,d,u),canChangeBuffer:p.bind(void 0,r,n,u),changeBuffer:y.bind(void 0,r,n,u),removeBuffer:S.bind(void 0,r,n,u,d),setTimestampOffset:b.bind(void 0,r,n,u),getBufferedRanges:M.bind(void 0,r,n,g,u),appendData:v.bind(void 0,r,n,u),removeData:h.bind(void 0,r,n,u),setSeekableRange:E.bind(void 0,n),setDuration:T.bind(void 0,r,n,g),getState:P.bind(void 0,n),close:k.bind(void 0,r,n,g),reopen:C.bind(void 0,r,n,u),dispose:w.bind(void 0,r,n,u,d),bind:e=>{const t=e.registry.get(o.BundleExportNames.Logger),n=Array.from(u.keys());t.debug("Binding renderer to new context..."),r=e,g.bind(r);for(let t=0;t<n.length;t++){const o=n[t],a=u.get(o);if(!a)continue;const[s,i,c]=a;c(),i.bind(r),a[2]=m(e,o,s)}}})}t.createRenderer=N},32776:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,a){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(a,n)}finally{t.executing=!1,o(e,t,r,a).catch((()=>{}))}else t.executing=!1}))}const a=(0,r(91270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:a,events:i}=o;let c=()=>{},u=()=>{};const d=a(((e,t)=>{u=e,c=t})),f=[c],[g,l]=t,m=i.subscribe(r,n,"abort",(()=>{f.forEach((e=>e(n.reason)))}));d.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=s(r,e,d,f);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),l()}finally{m()}}))]));function s(e,t,r,o){const a=[],s=[];for(const[i,[c,u]]of t){let t=()=>{};const i=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));i.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));a.push(i),s.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:a,sourceBufferActionAbortables:s}}function i(e,t){const r=[],n={executing:!1},s=a(t);return{execute:t=>{const{abortable:a}=e.effects;let i=()=>{},c=()=>{};const u=a(((e,t)=>{i=e,c=t}));return r.push([t,i,c]),o(e,n,r,s).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=i},22782:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(47755),o=r(14809),a=r(24693);function s(e,t,r,a,s){const{createTransient:i}=e.registry.get(o.CoreExportNames.Utils).State;return{onUpdateStart:i(e),onUpdate:i(e),onUpdateEnd:i(e),onError:i(e),onAbort:i(e),codecs:(0,n.createArrayAtom)(e,t),containerFormat:a,mediaTypes:(0,n.createArrayAtom)(e,r),encrypted:s,mimeType:u(e,r,a,t),timestampOffset:0,initSegment:void 0}}function i(e,t,r){const{MediaType:n}=e.registry.get(o.CoreExportNames.Constants),{ContainerFormat:s}=e.registry.get(a.StreamDataStructureSegments);return t===s.TS?n.Video:r}function c(e,t){return r=>`${i(e,t,r)}/${t}`}function u(e,t,r,n){return`${t.map(c(e,r)).join(";")};codecs="${n.join(",")}"`}function d(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function f(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function g(e,t,r,n,o){const{state:a}=e.effects,s=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),i=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!i||!s)&&(t.mimeType=u(e,n,o,r),t.containerFormat=o,a.dispatch(t.codecs.set,r),a.dispatch(t.mediaTypes.set,n),!0)}function l(e,t,r,n,a,i){const{deriveFrom:c}=e.registry.get(o.CoreExportNames.Utils).State,u=s(e,t,r,n,a);return c(u,"buffered",(()=>i.buffered)),e.effects.state.create(u,{setTimestampOffset:d,setInitSegment:f,updateType:g.bind(void 0,e)})}t.generateMimeTypeString=u,t.createRendererBufferAtom=l},34175:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(91270),a=r(15865),s=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new a.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new a.SourceBufferActionFailedError(e))))):n()}))}));function i(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof a.SourceBufferActionAbortedError))}finally{t.executing=!1,i(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}const c=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,i]=t;let c=()=>{};try{yield r.fork(s,e,(()=>!0)).catch((()=>{}));const t=n(e,r);c=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(s,e),c(),o()}catch(e){c();i(e instanceof Error?e:e instanceof Event?new a.SourceBufferActionFailedError(e):new Error(""))}}))]));function u(e,t){const r=[],n={executing:!1},o=c(t);let s=()=>{};const u=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},d=()=>{s(),s=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{u(new a.SourceBufferActionAbortedError)}))};return d(),{execute(t){const{abortable:a}=e.effects;let s=()=>{},c=()=>{};const u=a(((e,t)=>{s=e,c=t}));return u.catch((()=>{})),r.push([t,s,c]),i(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,d()},abort(e){u(new a.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=u},50907:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferEvent=t.MediaSourceEvent=t.MediaSourceReadyState=void 0,function(e){e.Closed="closed",e.Open="open",e.Ended="ended"}(t.MediaSourceReadyState||(t.MediaSourceReadyState={})),function(e){e.Error="error",e.SourceOpen="sourceopen",e.SourceClose="sourceopen",e.WebkitSourceOpen="webkitsourceopen"}(t.MediaSourceEvent||(t.MediaSourceEvent={})),function(e){e.UpdateStart="updatestart",e.Update="update",e.UpdateEnd="updateend",e.Error="error",e.Abort="abort"}(t.SourceBufferEvent||(t.SourceBufferEvent={}))},61820:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(91270),a=r(68668),s=r(14809),i=r(7269),c=r(24693),u=r(27134),d=r(66895),f=r(88425),g=r(50907),l=r(8747),m=r(5670);function p(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==g.MediaSourceReadyState.Open)return;const n=yield t.getBufferedRanges(),a=[];for(const[r,o]of n){const n=y(e,r),s=[],i=o.filter((e=>e.start>n.end));S(e,o,{start:0,end:n.start})&&(a.push({start:0,end:n.start}),s.push(t.removeData(r,0,n.start))),i.length>0&&(a.push({start:i[0].start,end:1/0}),s.push(t.removeData(r,i[0].start,1/0))),yield Promise.all(s)}b(e,t.buffers,r,o),h(e,t.buffers)}))}function y(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(f.StreamingState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,l.getTargetBufferRange)(r,n,e))).reduce(((e,t)=>({start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)})),{start:1/0,end:-1/0})}function S(e,t,r){const{overlaps:n}=e.registry.get(s.CoreExportNames.Utils).Ranges;let o=!1;for(let e=0;e<t.length;e++){o=n({start:t[e].start,end:t[e].end},r)||o}return o}function b(e,t,r,n){var o,s;const i=e.registry.get(f.StreamingState),{dataRanges:d}=i,{isMediaSelectionGroup:g}=e.registry.get(u.StreamDataStructureSelectionGroups),{resetData:l}=e.registry.get(c.StreamDataStructureSegments),p=e.registry.get(a.BundleExportNames.Logger),{state:y}=e.effects;for(const[a]of r.streamSequenceMap){if(!g(a))continue;const r=null!==(s=null===(o=d.media[a.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==s?s:[];for(const o of[...r])v(e,o,t)||(y.dispatch(d.removeSegment,a.mediaId,n.buffered,o),(0,m.removeSegmentFromStreamTimeline)(e,o),l(o,e,p))}}function v(e,t,r){const{getTimeRange:n}=e.registry.get(c.StreamDataStructureSegments),{overlaps:o,isFullyIncluded:a}=e.registry.get(s.CoreExportNames.Utils).Ranges,u=n(t),d=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(u.end>=d.position?o(u,r):a(u,r))return!0}}return!1}function h(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{overlaps:o}=e.registry.get(s.CoreExportNames.Utils).Ranges,a=e.registry.get(i.SourceExportNames.SourceState),u=e.registry.get(f.StreamingState),{isDataOrSelfInitSegment:g,isDataSegment:p,getTimeRange:S}=e.registry.get(c.StreamDataStructureSegments),{isMediaTrack:b}=e.registry.get(d.StreamDataStructureTracks),h=new Map;for(const r of t)h.set(r,y(e,r));const E=new Set,T=[];for(const s of n){if(!b(s.track))continue;if(!g(s)){T.push(s);continue}const n=o(Array.from(s.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,l.getTargetBufferRange)(a,u,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),S(s));v(e,s,t)||n?p(s)&&E.add(s.initSegment):(r.delete(s),(0,m.removeSegmentFromStreamTimeline)(e,s))}for(const e of T)E.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,s)=>n(void 0,void 0,void 0,(function*(){const n=s.registry.get(a.BundleExportNames.Logger);try{n.debug("Clearing buffers"),yield p(s,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},99569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(91270),o=r(14809),a=r(88070),s=r(4304),i=r(5670),c=r(60149);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:d}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:f}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof s.EncodedPlaybackTimeUnknownError||e instanceof d||e instanceof s.SegmentCacheMissError||e instanceof f,l=(0,a.createSegmentAppendageQueueAtom)(u,(0,i.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:l,dataRangeIds:t})}))},5670:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(91270),a=r(68668),s=r(14809),i=r(1146),c=r(7269),u=r(24693),d=r(94503),f=r(66895),g=r(88425),l=r(50907),m=r(4304),p=r(8747),y=r(87436),S=r(61820),b=r(63927);function v(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function h(e,t,r){const{state:n}=e.effects,o=e.registry.get(g.StreamingState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function E(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,y.maybeAppendInitSegment)(e,o,r),yield(0,y.appendSegment)(e,o,r),w(e,o),h(e,t,o)}))}function T(e,t){const{isMediaTrack:r}=e.registry.get(f.StreamDataStructureTracks),n=e.registry.get(c.SourceExportNames.SourceState),o=e.registry.get(g.StreamingState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const a={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,p.getTargetBufferRange)(n,o,e);a.start=Math.min(a.start,t),a.end=Math.max(a.end,r)}return a}function k(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(u.StreamDataStructureSegments),{overlaps:a}=e.registry.get(s.CoreExportNames.Utils).Ranges;for(const s of t){const t=T(e,s),i=void 0!==(null===(r=n.segmentDataCache.get(s))||void 0===r?void 0:r.error),c=a(t,o(s));!i&&c||N(e,s)}}function x(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===l.MediaSourceReadyState.Open)return;const r=e.registry.get(g.StreamingState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function M(e,t,r,n){var o,a;const s=r.currentTime,i=e.registry.get(g.StreamingState),{dataRanges:c}=i;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1];if(r.length>0&&(u=!0),t){const{parsedPlaybackTime:r,parsedDuration:n}=t.segmentTiming,o=r+n;if(e.timeRange.end>o)return!1}for(const e of r){if(e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration<s)continue;if(!(null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[]).includes(e))return!1}}return u}function P(e,t){const r=e.registry.get(g.StreamingState).stream,{Type:n}=e.registry.get(d.StreamDataStructureStream);if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function C(e,t,r,n,o){const a=M(e,t,n,o),s=P(e,t);a&&s&&r.close()}function w(e,t){const{state:r}=e.effects,n=e.registry.get(g.StreamingState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:s}=e.registry.get(f.StreamDataStructureTracks);o!==a&&s(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function N(e,t){const r=e.registry.get(i.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,a=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(a){const e=a.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function _(e){return Array.from(e.streamSequenceMap.keys())}function A(e,t){return _(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function D(e,t,r,n){const o=e.registry.get(c.SourceExportNames.SourceState).playback.playhead,s=[],i=t.currentTime,u=r.getBufferedRanges(),d=e.registry.get(a.BundleExportNames.Logger);if(A(n,i)&&i>=o.position)return;for(const[{mimeType:e},t]of u){let r;for(const{start:e,end:n}of t)if(n>i){r={start:e,end:n};break}if(void 0===r)return void d.debug(`Not setting current time yet - "${e}" buffer is empty`);s.push(r)}let f=s[0];for(const{start:e,end:t}of s)f={start:Math.max(f.start,e),end:Math.min(f.end,t)};if(f.start>=f.end)d.debug("Not setting current time yet - buffers don't overlap");else if(o.position>=f.start&&o.position<=f.end)d.log(`Setting currentTime to saved playhead position (${i.toFixed(2)} → ${o.position.toFixed(2)})`),t.currentTime=o.position;else if(i<f.start){const e=f.start;d.log(`Setting currentTime to start of buffer (${i.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function O(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.registry.get(a.BundleExportNames.Logger),s=e.registry.get(g.StreamingState),{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks),{getReadableSegmentName:c}=e.registry.get(u.StreamDataStructureSegments);yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!i(t.track))return;yield R(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:a,timestampOffset:u}=t.segmentTiming;if(u===-1/0){const e=c(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const d=a+u;n!==d&&r.dispatch(s.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:d,actualTime:n})})))))}))}function R(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:a,store:s}=e.effects,i=s.segmentDataCache.get(t);if(void 0===i)throw new m.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(i.closed)throw new m.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const s=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(f(),n(new m.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{f(),n(new m.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(f(),t(e))})),d=[a.subscribe(e,r,u),a.subscribe(e,i,s),a.subscribe(e,i.cleared,c)],f=()=>d.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(a,s)=>n(void 0,void 0,void 0,(function*(){a=[...a];const n=s.registry.get(c.SourceExportNames.SourceState),i=s.registry.get(g.StreamingState),{state:u}=s.effects;for(const e of a)u.dispatch(i.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield x(s,e),yield(0,b.maybeUpdateTimestampOffset)(s,e,a),yield O(s,a),yield Promise.all(a.map((r=>E(s,t,e,r)))),D(s,o,e,r),C(s,r,e,o,t),yield s.fork((0,S.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw k(s,a),e}finally{v(s);for(const e of a)u.dispatch(i.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=N,t.waitForEncodedPlaybackTime=R},60149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(91270),o=r(14809),a=r(7269),s=r(24693),i=r(27134),c=r(88425),u=r(8747);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:s}=n.effects,{playback:{playhead:i}}=n.registry.get(a.SourceExportNames.SourceState),c=d(t,e,r);s.subscribe(n,r.consumed,c),s.subscribe(n,i,c),s.subscribe(n,e.streamSequenceMap,c);for(const[t,r]of e.streamSequenceMap)s.subscribe(n,r,c);return n.fork(c,i),o(n.abortSignal)}));const d=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,o)=>{const{areSegmentsOverlapping:a}=o.registry.get(s.StreamDataStructureSegments);let i=g(o,e,t);i=f(i,r),i.length>=1&&!a(i)&&i.splice(1,i.length-1),i.length<1||o.effects.state.dispatch(r.appendSegments.trigger,i)}]));function f(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function g(e,t,r){var n,d,f,g;const l=e.registry.get(a.SourceExportNames.SourceState),m=e.registry.get(c.StreamingState),{dataRanges:p}=m,y=[],{isMediaSelectionGroup:S,getMediaType:b}=e.registry.get(i.StreamDataStructureSelectionGroups),{overlaps:v}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:h}=e.registry.get(s.StreamDataStructureSegments);for(const[o,a]of r.streamSequenceMap){if(!S(o))continue;const r=b(e,o),s=(0,u.getMediaTypeTargetRanges)(l,m,r),i=null!==(d=null===(n=p.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==d?d:[],c=null!==(g=null===(f=p.media[o.mediaId])||void 0===f?void 0:f.source[t.appending])&&void 0!==g?g:[];for(let t=0;t<a.length;t++){const r=a[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,u=n+o,d=i.includes(r),f=c.includes(r),g=h(r,a[t+1]),l=void 0!==g&&u===g.start,m=n>=s.start&&n<s.end,p=u>s.start&&u<=s.end,S=e.effects.store.segmentDataCache.has(r);if((m||p||(s.start===u||void 0!==g&&v(s,g))&&l)&&!d&&!f&&S){y.push(r);break}}}return y.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),y}},63927:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(68668),a=r(14809),s=r(24693),i=r(5670);function c(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield u(e,t))}))}function u(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,a=e.registry.get(o.BundleExportNames.Logger),s=g(t),c=new Map;yield Promise.all(s.map((t=>n(this,void 0,void 0,(function*(){yield(0,i.waitForEncodedPlaybackTime)(e,t),c.set(t.track,d(e,t))})))));const u=Array.from(c.values()),f=Math.max(...u);if(void 0!==f){a.debug(`Determined timestampOffset to be (${f})`);for(const[e]of c)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,f)}}else a.debug(`Could not determine timestamp offset (${u})`)}))}function d(e,t){const r=f(e,t);if(void 0!==r)return r;{const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}}function f(e,t){var r;const n=t.track,o=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:i}=e.registry.get(s.StreamDataStructureSegments),{overlaps:c}=e.registry.get(a.CoreExportNames.Utils).Ranges,u=i(t);for(const e of o){const t=e.segments.find((e=>c(i(e),u))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function g(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0!==n){const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:a}=r.segmentTiming;a<o&&t.set(e,r)}else t.set(e,r)}return Array.from(t.values())}t.maybeUpdateTimestampOffset=c},87436:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const a=r(68668),s=r(24693),i=r(4304),c=r(8747);function u(e,t,r){var a,i,u,f;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(s.StreamDataStructureSegments);if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var l,m=!0,p=o(g);l=yield p.next(),!(a=l.done);){f=l.value,m=!1;try{const n=f,o=(0,c.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield d(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{m=!0}}}catch(e){i={error:e}}finally{try{m||a||!(u=p.return)||(yield u.call(p))}finally{if(i)throw i.error}}}))}function d(e,t,r){var u,d,f,g,l,m,p,y;return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),{isDataOrSelfInitSegment:S}=e.registry.get(s.StreamDataStructureSegments);n.debug("Appending",t.url);const b=e.effects.store.segmentDataCache.get(t);if(!b)throw new i.SegmentCacheMissError;try{for(var v,h=!0,E=o(b);v=yield E.next(),!(u=v.done);){g=v.value,h=!1;try{const a=g,s=(0,c.getMatchingBuffer)(e,r.buffers,a.containerFormat,a.mediaTypes);if(!s){n.log(`Can't append "${a.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}S(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(s,t.segmentTiming.timestampOffset));try{for(var T,k=!0,x=(m=void 0,o(a.fragments));T=yield x.next(),!(l=T.done);){y=T.value,k=!1;try{const e=y;yield r.appendData(s,e)}finally{k=!0}}}catch(e){m={error:e}}finally{try{k||l||!(p=x.return)||(yield p.call(x))}finally{if(m)throw m.error}}}finally{h=!0}}}catch(e){d={error:e}}finally{try{h||u||!(f=E.return)||(yield f.call(E))}finally{if(d)throw d.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=u,t.appendSegment=d},10899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;const n=r(68668);class o extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function a(e,t,r){return void 0!==r?`"${e}" codecs don't match between track (${t}) and segment (${r})`:`Segment doesn't contain "${e}" codec, but track does`}function s(e,t,r){const o=t.split(".")[0],s=r.find((e=>o===e.split(".")[0])),i=e.registry.get(n.BundleExportNames.Logger);s?t!==s&&i.log(`Codecs don't match between track and segment (${t}, ${s})`):i.warn(a(t))}function i(e,t,r,i){var c;const u=e.registry.get(n.BundleExportNames.Logger),[d,f]=null!==(c=i.find((([e])=>e===t)))&&void 0!==c?c:[];if(!f)throw new o(t);if(r.length===f.length)for(const t of r)s(e,t,f);else u.warn(a(t,r,f))}function c(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)i(e,n,o,r)}t.verifyCodecs=c},76410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(91270),o=r(55225),a=r(24693);function s(e){const{ContainerFormat:t}=e.registry.get(a.StreamDataStructureSegments),{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:a}=e.effects,{containerFormatMap:i}=o,c=s(e),u=t.filter((e=>c.includes(e)))[0],d=r.selectionGroup;return a.dispatch(i.add,d,u),u}]))},79284:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(91270),a=r(14809),s=r(1146),i=r(69104),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{subscribeAndRun:r}=t.registry.get(a.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(a.CoreExportNames.Utils).State;for(const[n,o]of e)r(t,o,i.SegmentDataStreamSubscriber);return t.effects.loop(t.abortSignal)}))));function d(e){const t=e.registry.get(s.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(a.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=d},69104:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(91270),a=r(14809),s=r(30158),i=r(24693),c=r(33983),u=r(76410),d=r(42269);function f(e,t,r){const{createTransient:n}=e.registry.get(a.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,u.SelectContainerFormatTask)(e)}}function g(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,c.getOrCreateOutputStream)(e,r,t),i=f(e,t,o),u=e.registry.get(s.SegmentProcessingExportNames.SegmentProcessingComponent),g=(0,d.subscribeToTransients)(e,i),{DataStreamClearedError:l,DataStreamClosedError:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(a.CoreExportNames.CoreStateAtoms).Queue,y=e=>[m,l,p].some((t=>e instanceof t));try{yield e.fork(u.process,i,y)}catch(e){const a=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,a),r.delete(t),!y(a))throw a}finally{g()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(i.StreamDataStructureSegments),n=r(e)?[e,e.initSegment]:[e];yield Promise.all(n.map((e=>g(t,e))))}))))},42269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(91270),o=r(68668),a=r(24693),s=r(66895),i=r(10899);function c(e,{value:t},r){if(void 0===t)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:n}=r.registry.get(s.StreamDataStructureTracks),{track:a}=e;if(!n(a))return;const c=[],u=Object.keys(t);for(const e of u)c.push([e,t[e]]);if(0===a.codecs.size){r.registry.get(o.BundleExportNames.Logger).log("Parsed codecs from segment",c),r.effects.state.dispatch(a.codecs.setAll,c)}else(0,i.verifyCodecs)(r,a,c)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(a.StreamDataStructureSegments),{state:o}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:s,dataParsed:i}=e.segmentTiming;o.dispatch(i,t.value,s)}function d(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(a.StreamDataStructureSegments),{state:o}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:s,encodedDuration:i,dataParsed:c}=e.segmentTiming;-1===s&&o.dispatch(c,i,t.value)}function f(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",c.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",u.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",d.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=f},30158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessorType=t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={})),function(e){e.Decryptor="decryptor",e.Parser="parser",e.Preprocessor="preprocessor",e.Transmuxer="transmuxer",e.Postprocessor="postprocessor"}(t.SegmentProcessorType||(t.SegmentProcessorType={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const n=r(24693),o=r(27134),a=r(94503),s=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[n.StreamDataStructureSegments,o.StreamDataStructureSelectionGroups,s.StreamDataStructureTracks,a.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r(37604)})()));
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["mse-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["mse-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const n=t;return n._name=e,{onAdd:n,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function n(e){return(...t)=>{const[n,o]=e(...t);return r(n,o)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},68668:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BundleExportNames=void 0,function(e){e.Logger="logger",e.PlayerConfig="player-config"}(t.BundleExportNames||(t.BundleExportNames={}))},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},47755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function n(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function a(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function s(e,t,r){let n=0,o=e.length;for(;n<o;){const a=n+o>>>1;r(e[a])<r(t)?n=a+1:o=a}return n}function i(e,t,...r){const n=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const n of r){const r=t(n),o=t(e[0]);if(t(e[e.length-1])<=r)e.push(n);else if(r<=o)e.unshift(n);else{const r=s(e,n,t);e.splice(r,0,n)}}return e.length!==n}function c(e,...t){let r=!1;for(const n of t){const t=e.indexOf(n);t<0||(r=!0,e.splice(t,1))}return r}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function d(e,t){if(r(e,t))return!1;const n=u(e);return t.forEach((t=>e.push(t))),n||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const f=(e,t=[])=>{const r={add:n,insert:a,insertSorted:i,remove:c,clear:u,set:d,addIfNew:o};return e.effects.state.create(t,r)};t.createArrayAtom=f},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},49753:(e,t)=>{var r;function n(e){return e.type===r.Manifest}function o(e){return e.type===r.Presentation}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyComponent=t.isPresentationEntry=t.isManifestEntry=t.PlaybackTechnologyEntryType=void 0,function(e){e.Presentation="presentation",e.Manifest="manifest"}(r=t.PlaybackTechnologyEntryType||(t.PlaybackTechnologyEntryType={})),t.isManifestEntry=n,t.isPresentationEntry=o,t.PlaybackTechnologyComponent="playback-technology-component"},37604:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackPackage=void 0;const n=r(97085),o=r(61087),a=r(55388);t.MsePlaybackPackage=(0,n.createPackage)("mse-playback-package",((e,t)=>{e.api.packages.add(a.default),e.api.packages.add(o.default)}),[]),t.default=t.MsePlaybackPackage},61087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackTechnologyPackage=void 0;const n=r(97085),o=r(55225),a=r(14809),s=r(49753),i=r(42553);t.MsePlaybackTechnologyPackage=(0,n.createPackage)("mse-playback-technology-package",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:n}=t.registry.get(a.CoreExportNames.CoreEffects),c=t.using(r,n),u=c.registry.get(s.PlaybackTechnologyComponent),{PlaybackTechnology:d}=c.registry.get(a.CoreExportNames.Constants),f=c.registry.get(o.CapabilitiesExportNames.PlatformCapabilities),g={name:"mse-playback-tech",type:s.PlaybackTechnologyEntryType.Presentation,depends:[s.PlaybackTechnologyEntryType.Manifest],supported:(e,t)=>t===d.Mse&&f.mediaSourceSupported(),instantiate:i.MsePlaybackTechnologyTask},l=u.addTechnology(g);c.abortSignal.addEventListener("abort",l)}),[s.PlaybackTechnologyComponent,a.CoreExportNames.Constants,a.CoreExportNames.CoreStateAtoms,a.CoreExportNames.CoreEffects,o.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.MsePlaybackTechnologyPackage},42553:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePlaybackTechnologyTask=void 0;const n=r(91270),o=r(99309),a=r(55714);t.MsePlaybackTechnologyTask=(0,n.createTask)("mse-playback-tech-task",((e,t)=>{const r=(0,o.createMsePresentationStateAtom)(t,e);return t.registry.set(a.MsePresentationState,r),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(a.MsePresentationState)})),t.effects.loop(t.abortSignal)}))},55714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationState=void 0,t.MsePresentationState="mse-presentation-state"},99309:(e,t)=>{function r(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createMsePresentationStateAtom=void 0,t.createMsePresentationStateAtom=r},4399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(91270),o=r(14809),a=r(1146),s=r(7269),i=r(27134),c=r(88425),u=r(8747);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(s.SourceExportNames.SourceState),i=r.registry.get(a.DataExportNames.StreamTimeline),{mapSubscribe:c}=r.registry.get(o.CoreExportNames.Utils).State,u=f([e,t]),g=d(u);return r.effects.state.subscribe(r,n.playback.playhead,u),c(r,i,g),r.fork(u,i),r.effects.loop(r.abortSignal)}));const d=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),f=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!m(n)||g(n))return;const o=y(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function g(e){const t=e.registry.get(s.SourceExportNames.SourceState),r=e.registry.get(c.StreamingState),n=t.playback.playhead.position;return r.stream.duration.value<n||n<0}function l(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(c.StreamingState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function m(e){const{isMediaSelectionGroup:t}=e.registry.get(i.StreamDataStructureSelectionGroups),r=e.registry.get(a.DataExportNames.StreamTimeline),n=l(e);return r.length>0&&r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function p(e,t){return e>=t.start&&e<=t.end}function y(e,t){const r=e.registry.get(s.SourceExportNames.SourceState),n=e.registry.get(a.DataExportNames.StreamTimeline),{isEndInRange:i}=e.registry.get(o.CoreExportNames.Utils).Ranges,d=l(e);return n.find((n=>{const o=v(e,n);if(o.length!==d)return!1;return!!o.every((({mediaType:t,selectionGroup:n})=>{const o=e.registry.get(c.StreamingState),a=(0,u.getMediaTypeTargetRanges)(r,o,t);return p(a.start,n.timeRange)||i(a.end,n.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:s})=>{var i,d;const f=e.registry.get(c.StreamingState),g=(0,u.getMediaTypeTargetRanges)(r,f,o),l=b(e,n,o,g),m=null!==(d=null===(i=f.dataRanges.media[a])||void 0===i?void 0:i.ranges)&&void 0!==d?d:[],p=s.timeRange.end,y=m.length>0&&m.some((e=>e.start<=p&&p<=e.end)),v=S(e,l,a,t);return!y||!v}))}))}function S(e,t,r,n){var o,a;const s=e.registry.get(c.StreamingState),{dataRanges:i}=s,u=null!==(a=null===(o=i.media[r])||void 0===o?void 0:o.source[n])&&void 0!==a?a:[];return t.every((e=>u.includes(e)))}function b(e,t,r,n){const{isVideoSelectionGroup:a,isAudioSelectionGroup:s}=e.registry.get(i.StreamDataStructureSelectionGroups),{isEndInRange:c,isStartInRange:u}=e.registry.get(o.CoreExportNames.Utils).Ranges,d=e.registry.get(o.CoreExportNames.Constants).MediaType,f=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===d.Audio&&s(e)||r===d.Video&&a(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(u(t,n)||c(r,n))&&f.push(e)}return f}function v(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(i.StreamDataStructureSelectionGroups),a=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:a.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:a.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},16566:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(91270),o=r(68668);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let a=!1;const i=()=>{if(a)return;const t=r.registry.get(o.BundleExportNames.Logger),n=s(r,e);void 0!==n&&(t.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${n.toFixed(2)})`),e.currentTime=n)},c=()=>{a=!0},u=()=>{a=!1},d=()=>{a=!1};return n.subscribe(r,e,"waiting",i),n.subscribe(r,e,"seeking",c),n.subscribe(r,e,"seeked",u),n.subscribe(r,e,"playing",d),r.effects.loop(r.abortSignal)}]));const a=.1;function s(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),o=n.end(e);if(r>=t&&r<=o&&o-r<a&&e<n.length-1)return n.start(e+1)}}},11821:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const o=r(91270),a=r(14809),s=r(27134);function i(e){return e.tracks.some((e=>e.codecs.size>0))}function c(e){return void 0!==e.container.value}function u(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:s}=e.registry.get(a.CoreExportNames.Utils).State;return n((n=>{const a=(0,o.createTask)("segment-container-format-subscriber",((e,t)=>{r()&&(n(),i())})),i=s(e,t,a)}))}))}function d(e,t){return n(this,void 0,void 0,(function*(){return u(e,t.container,(()=>c(t)))}))}function f(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return u(e,r,(()=>void 0!==r.get(t)))}))}function g(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,a=[],s=r((r=>{for(const s of t.tracks){const c=(0,o.createTask)("codec-subscriber",((e,n)=>{i(t)&&r()}));a.push(n.subscribe(e,s.codecs,c))}}));return s.finally((()=>a.forEach((e=>e())))).catch((()=>{})),s}))}function l(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(s.StreamDataStructureSelectionGroups),{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap)r(o)&&(i(o)||(yield g(e,o)),c(o)||(yield d(e,o)),void 0===n.get(o)&&(yield f(e,o)))}))}t.awaitMediaInfo=l},55388:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationPackage=void 0;const o=r(97085),a=r(68668),s=r(55225),i=r(14809),c=r(1146),u=r(30158),d=r(7269),f=r(78622),g=r(88425),l=r(55714),m=r(17090),p=r(53434),y=r(76410),S=r(79284),b=r(95994),v=r(36912);t.MsePresentationPackage=(0,o.createPackage)("mse-presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(i.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:o}=t.registry.get(i.CoreExportNames.CoreEffects),a=t.using(r,n),s=a.using(o("segmentDataCache",new Map)).using(o("containerFormatMap",e(a)));s.registry.maybeSet(b.MsePresentationExportNames.SelectContainerFormat,y.SelectContainerFormatTask);const{state:c}=s.effects,u=s.registry.get(d.SourceExportNames.SourceState),f=(0,v.VideoElementSubscriber)((0,p.createPresentationStateAtom)(s),(0,m.createActiveSectionAtom)(s));(0,S.startPresentationSegmentProcessing)(s),c.subscribe(s,u.video,f)}))),[a.BundleExportNames.Logger,i.CoreExportNames.Utils,i.CoreExportNames.Constants,d.SourceExportNames.SourceState,c.DataExportNames.StreamTimeline,i.CoreExportNames.CoreStateAtoms,i.CoreExportNames.CoreEffects,s.CapabilitiesExportNames.PlatformCapabilities,u.SegmentProcessingExportNames.SegmentProcessingComponent,u.SegmentProcessingExportNames.SegmentProcessorErrors,l.MsePresentationState,...f.StreamDataStructureExportNames,g.StreamingState]),t.default=t.MsePresentationPackage},4304:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(91270),a=r(68668),s=r(14809),i=r(7269),c=r(27134),u=r(66895),d=r(88425),f=r(11821),g=r(71185),l=r(61820),m=r(99569),p=r(8747);function y(e,t,r){const{MediaType:n}=e.registry.get(s.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:i}=e.registry.get(s.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=i(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===i(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function S(e,t,r,n,o){const{equals:a}=e.registry.get(s.CoreExportNames.Utils).Arrays;return t.find((([t,s,i])=>{const c=r===s,u=a(o,i),d=y(e,n,t);return c&&u&&d}))}function b(e,t,r){if(t.length!==r.length)return!0;for(let n=0;n<t.length;n++){const[o,a,s]=t[n];if(void 0===S(e,r,a,o,s))return!0}return!1}function v(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function h(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function E(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,a,s]of r){const r=(0,p.getMatchingBuffer)(e,t.buffers,a,s);if(void 0===r)return!1;const i=S(e,n,a,o,s);if(void 0===i)return!1;const[c,u,d]=i;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function T(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,a]of t){const t=(0,p.getMatchingBuffer)(e,r.buffers,o,a);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function k(e,t,r,o){return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),{waitFor:i}=e.registry.get(s.CoreExportNames.Utils).State;t&&(n.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield v(e,t,o),n.debug("End of buffer reached, recreating MSE...")),yield null==t?void 0:t.dispose(),t=(0,g.createRenderer)(e);const c=i(e,t.onOpen);n.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,o.load(),yield c;for(const[e,n,o]of r)t.addBuffer(e,n,o);const u=e.registry.get(d.StreamingState).stream;return yield t.setDuration(u.duration.value),t}))}function x(e,t,r,o,s,c){return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),u=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return n.log(`Creating MSE for ${c}`),yield k(e,void 0,c,s);const d=h(t);return b(e,d,c)?E(e,t,d,c)?(n.log(`Changing MSE buffer types for ${c}`),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),u),yield T(e,c,t)):(n.log(`Re-creating MSE for ${c}`),yield k(e,t,c,s)):(n.log(`Re-using MSE for ${c}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),u),t)}))}class M extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=M;class P extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function C(e,t){const{MediaType:r}=e.registry.get(s.CoreExportNames.Constants),{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:o}=e.registry.get(u.StreamDataStructureTracks),a=Array.from(t.streamSequenceMap.keys()).filter(n).flatMap((e=>e.tracks)).filter(o);for(const e of a){const t=Array.from(e.codecs.keys()),n=t.includes(r.Muxed),o=t.includes(r.Audio),a=t.includes(r.Video);if(n||o&&a)return!0}return!1}function w(e,t){const r=C(e,t),n=[],{containerFormatMap:o}=e.effects.store,{isMediaSelectionGroup:a}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:s}=e.registry.get(u.StreamDataStructureTracks);for(const[e]of t.streamSequenceMap){if(!a(e))continue;const t=o.get(e);if(void 0===t)throw new Error("Container format is unexpectedly undefined");let i,c=-1/0;for(const t of e.tracks){if(!s(t))continue;const{bitrate:e,codecs:r}=t;e>c&&r.size>0&&(c=e,i=r)}if(void 0===i)throw new Error("Could not determine codec to create buffers with");if(r)for(const[e,r]of i)n.push([r,t,[e]]);else{const e=Array.from(i.keys()),r=Array.from(i.values()).flat();n.push([r,t,e])}}return n}t.SegmentCacheMissError=P;const N=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{const n=r.registry.get(a.BundleExportNames.Logger);try{if(0===e.buffered.length)return void n.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}n.verbose(t)}catch(t){n.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),_=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:s,loop:c}=o.effects,u=o.registry.get(a.BundleExportNames.Logger),{activeRenderer:g,dataRangeIds:p}=e,y=o.registry.get(i.SourceExportNames.SourceState),S=o.registry.get(d.StreamingState).stream,b=y.playback.playhead;yield(0,f.awaitMediaInfo)(o,r);const v=w(o,r);u.log("Preparing playback of section with buffers",v),s.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(b.setPosition,t.currentTime)})),s.subscribe(o,t,"seeking",(()=>n.dispatch(b.setPosition,t.currentTime)));const h=yield x(o,g,p,r,t,v);return h.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,N(e)))),n.dispatch(e.setActiveRenderer,h),n.subscribe(o,S.duration,_(h)),n.subscribe(o,b,(0,l.BufferClearingTask)(h,r,p)),o.fork(m.SegmentAppendage,{renderer:h,section:r,dataRangeIds:p,video:t}).catch((()=>{})),c(o.abortSignal)}))]))},95994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.MsePresentationExportNames||(t.MsePresentationExportNames={}))},8747:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(14809);function o(e,t,r){const n=e.playback.playhead.position;return{start:n,end:n+t.bufferConfig[r].forwardDuration}}function a(e,t,r){const n=e.playback.playhead.position,o=t.bufferConfig[r];return{start:Math.max(0,n-o.backwardDuration),end:n+o.forwardDuration}}function s(e,t,r,o){const{equals:a}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>a(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=a,t.getMatchingBuffer=s},3014:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.removeChild(e.firstChild);e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},36912:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(91270),o=r(68668),a=r(88425),s=r(4399),i=r(16566),c=r(4304),u=r(3014);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:d,registry:f,effects:g,abortSignal:l}=n,{state:m,loop:p,abortable:y}=g,S=f.get(o.BundleExportNames.Logger);if(void 0===r.element)return S.log("Cannot set up presentation task - no video element"),y((e=>e()));const b=r.element,v=(0,c.ActiveSectionSubscriber)(e,b);return S.log("Setting up presentation task..."),(0,u.resetVideoSource)(b,S),m.subscribe(n,t,v),void 0!==t.section&&d(v,t),d((0,i.GapHandlingTask)(b),e),d(s.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:s}=n.effects;if(n.registry.has(a.StreamingState)){const t=n.registry.get(a.StreamingState),{dataRanges:r}=t;for(const t in r.media)for(const n of Object.values(e.dataRangeIds))s.dispatch(r.deleteSource,t,n)}return s.dispatch(e.setActiveRenderer,void 0),void 0!==r&&b.src===r&&(0,u.resetVideoSource)(b,n.registry.get(o.BundleExportNames.Logger)),!1})),p(l)}]))},17090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},53434:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},88070:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(91270),a=r(14809);function s(e){const{createTransient:t}=e.registry.get(a.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const i=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:a},s)=>n(void 0,void 0,void 0,(function*(){if(void 0===a)return;const n=t.queue;n.push(a);try{yield e.fork(r,a.slice(),o)}catch(e){}finally{const r=n.indexOf(a);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(s(e),{}),a=i(e,o,t,r);return n.subscribe(e,o.appendSegments,a),o}t.createSegmentAppendageQueueAtom=c},33983:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(14809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,a=o(e);return t.set(r,a),a}function a(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=a},15865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},71185:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(68668),a=r(55225),s=r(14809),i=r(32776),c=r(22782),u=r(34175),d=r(50907);function f(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(s.CoreExportNames.Utils).State,a={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(a.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(a.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(a.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(a.onError.trigger,new Error(JSON.stringify(e))))),a}function g(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function l(e,t,r,n,a,s,i){const d=(0,c.generateMimeTypeString)(e,i,s,a);e.registry.get(o.BundleExportNames.Logger).debug(`Adding source buffer of type "${d}"`);const f=t.addSourceBuffer(d),g=(0,u.createSourceBufferActionQueue)(e,f),l=(0,c.createRendererBufferAtom)(e,a,i,s,!1,f),p=m(e,l,f);n.set(l,[f,g,p]),e.effects.state.dispatch(r.add,l)}function m(e,t,r){const{events:n,state:o}=e.effects,a=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>a.forEach((e=>e()))}function p(e,t,r,n,o,s){const{typeSupported:i}=e.registry.get(a.CapabilitiesExportNames.PlatformCapabilities),u=g(r,n)[0],d=(0,c.generateMimeTypeString)(e,n.mediaTypes,s,o);return"function"==typeof u.changeType&&i(d)}function y(e,t,r,n,o,a){const[s,i]=g(r,n),u=(0,c.generateMimeTypeString)(e,n.mediaTypes,a,o),d=e=>e.changeType(u);return i.execute(d)}function S(e,t,r,o,a){return n(this,void 0,void 0,(function*(){const[n,s]=g(r,a),i=e=>t.removeSourceBuffer(e);yield s.execute(i),r.delete(a),e.effects.state.dispatch(o.remove,a)}))}function b(e,t,r,n,a){const s=e.registry.get(o.BundleExportNames.Logger),[i,c]=g(r,n),u=e=>{e.timestampOffset=a};return s.log(`Setting timestamp offset to ${a.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,a),c.execute(u)}function v(e,t,r,n,o){const[a,s]=g(r,n),i=e=>e.appendBuffer(o.data.buffer);return s.execute(i)}function h(e,t,r,n,o,a){if(o>=a)return e.effects.abortable((e=>e()));const[s,i]=g(r,n),c=e=>e.remove(o,a);return i.execute(c)}function E(e,t,r){e.readyState===d.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function T(e,t,r,n){if(t.readyState===d.MediaSourceReadyState.Open){const e=[n,t.duration].filter((e=>!isNaN(e))),o=()=>{t.duration=Math.max(...e)};return r.execute(o)}return e.registry.get(o.BundleExportNames.Logger).log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function k(e,t,r){const n=e.registry.get(o.BundleExportNames.Logger);if(t.readyState===d.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function x(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.registry.get(o.BundleExportNames.Logger).debug("Could not determine buffered ranges for source buffer:",t)}return r}function M(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,x(e,r));return o}function P(e){return e.readyState}function C(e,t,r){const n=Array.from(r.entries());if(t.readyState===d.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[a]]]=n;return b(e,t,r,o,a.timestampOffset)}function w(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function N(e){const{createArrayAtom:t}=e.registry.get(s.CoreExportNames.CoreStateAtoms);let r=e;const n=new MediaSource,a=URL.createObjectURL(n),c=f(r,n),u=new Map,d=t(r,[]),g=(0,i.createRendererActionQueue)(r,u);return Object.assign(Object.assign({},c),{sourceUrl:a,buffers:d,addBuffer:l.bind(void 0,r,n,d,u),canChangeBuffer:p.bind(void 0,r,n,u),changeBuffer:y.bind(void 0,r,n,u),removeBuffer:S.bind(void 0,r,n,u,d),setTimestampOffset:b.bind(void 0,r,n,u),getBufferedRanges:M.bind(void 0,r,n,g,u),appendData:v.bind(void 0,r,n,u),removeData:h.bind(void 0,r,n,u),setSeekableRange:E.bind(void 0,n),setDuration:T.bind(void 0,r,n,g),getState:P.bind(void 0,n),close:k.bind(void 0,r,n,g),reopen:C.bind(void 0,r,n,u),dispose:w.bind(void 0,r,n,u,d),bind:e=>{const t=e.registry.get(o.BundleExportNames.Logger),n=Array.from(u.keys());t.debug("Binding renderer to new context..."),r=e,g.bind(r);for(let t=0;t<n.length;t++){const o=n[t],a=u.get(o);if(!a)continue;const[s,i,c]=a;c(),i.bind(r),a[2]=m(e,o,s)}}})}t.createRenderer=N},32776:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,a){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(a,n)}finally{t.executing=!1,o(e,t,r,a).catch((()=>{}))}else t.executing=!1}))}const a=(0,r(91270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:a,events:i}=o;let c=()=>{},u=()=>{};const d=a(((e,t)=>{u=e,c=t})),f=[c],[g,l]=t,m=i.subscribe(r,n,"abort",(()=>{f.forEach((e=>e(n.reason)))}));d.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=s(r,e,d,f);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),l()}finally{m()}}))]));function s(e,t,r,o){const a=[],s=[];for(const[i,[c,u]]of t){let t=()=>{};const i=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));i.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));a.push(i),s.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:a,sourceBufferActionAbortables:s}}function i(e,t){const r=[],n={executing:!1},s=a(t);return{execute:t=>{const{abortable:a}=e.effects;let i=()=>{},c=()=>{};const u=a(((e,t)=>{i=e,c=t}));return r.push([t,i,c]),o(e,n,r,s).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=i},22782:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(47755),o=r(14809),a=r(24693);function s(e,t,r,a,s){const{createTransient:i}=e.registry.get(o.CoreExportNames.Utils).State;return{onUpdateStart:i(e),onUpdate:i(e),onUpdateEnd:i(e),onError:i(e),onAbort:i(e),codecs:(0,n.createArrayAtom)(e,t),containerFormat:a,mediaTypes:(0,n.createArrayAtom)(e,r),encrypted:s,mimeType:u(e,r,a,t),timestampOffset:0,initSegment:void 0}}function i(e,t,r){const{MediaType:n}=e.registry.get(o.CoreExportNames.Constants),{ContainerFormat:s}=e.registry.get(a.StreamDataStructureSegments);return t===s.TS?n.Video:r}function c(e,t){return r=>`${i(e,t,r)}/${t}`}function u(e,t,r,n){return`${t.map(c(e,r)).join(";")};codecs="${n.join(",")}"`}function d(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function f(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function g(e,t,r,n,o){const{state:a}=e.effects,s=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),i=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!i||!s)&&(t.mimeType=u(e,n,o,r),t.containerFormat=o,a.dispatch(t.codecs.set,r),a.dispatch(t.mediaTypes.set,n),!0)}function l(e,t,r,n,a,i){const{deriveFrom:c}=e.registry.get(o.CoreExportNames.Utils).State,u=s(e,t,r,n,a);return c(u,"buffered",(()=>i.buffered)),e.effects.state.create(u,{setTimestampOffset:d,setInitSegment:f,updateType:g.bind(void 0,e)})}t.generateMimeTypeString=u,t.createRendererBufferAtom=l},34175:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(91270),a=r(15865),s=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new a.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new a.SourceBufferActionFailedError(e))))):n()}))}));function i(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof a.SourceBufferActionAbortedError))}finally{t.executing=!1,i(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}const c=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,i]=t;let c=()=>{};try{yield r.fork(s,e,(()=>!0)).catch((()=>{}));const t=n(e,r);c=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(s,e),c(),o()}catch(e){c();i(e instanceof Error?e:e instanceof Event?new a.SourceBufferActionFailedError(e):new Error(""))}}))]));function u(e,t){const r=[],n={executing:!1},o=c(t);let s=()=>{};const u=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},d=()=>{s(),s=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{u(new a.SourceBufferActionAbortedError)}))};return d(),{execute(t){const{abortable:a}=e.effects;let s=()=>{},c=()=>{};const u=a(((e,t)=>{s=e,c=t}));return u.catch((()=>{})),r.push([t,s,c]),i(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,d()},abort(e){u(new a.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=u},50907:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferEvent=t.MediaSourceEvent=t.MediaSourceReadyState=void 0,function(e){e.Closed="closed",e.Open="open",e.Ended="ended"}(t.MediaSourceReadyState||(t.MediaSourceReadyState={})),function(e){e.Error="error",e.SourceOpen="sourceopen",e.SourceClose="sourceopen",e.WebkitSourceOpen="webkitsourceopen"}(t.MediaSourceEvent||(t.MediaSourceEvent={})),function(e){e.UpdateStart="updatestart",e.Update="update",e.UpdateEnd="updateend",e.Error="error",e.Abort="abort"}(t.SourceBufferEvent||(t.SourceBufferEvent={}))},61820:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(91270),a=r(68668),s=r(14809),i=r(7269),c=r(24693),u=r(27134),d=r(66895),f=r(88425),g=r(50907),l=r(8747),m=r(5670);function p(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==g.MediaSourceReadyState.Open)return;const n=yield t.getBufferedRanges(),a=[];for(const[r,o]of n){const n=y(e,r),s=[],i=o.filter((e=>e.start>n.end));S(e,o,{start:0,end:n.start})&&(a.push({start:0,end:n.start}),s.push(t.removeData(r,0,n.start))),i.length>0&&(a.push({start:i[0].start,end:1/0}),s.push(t.removeData(r,i[0].start,1/0))),yield Promise.all(s)}b(e,t.buffers,r,o),h(e,t.buffers)}))}function y(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(f.StreamingState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,l.getTargetBufferRange)(r,n,e))).reduce(((e,t)=>({start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)})),{start:1/0,end:-1/0})}function S(e,t,r){const{overlaps:n}=e.registry.get(s.CoreExportNames.Utils).Ranges;let o=!1;for(let e=0;e<t.length;e++){o=n({start:t[e].start,end:t[e].end},r)||o}return o}function b(e,t,r,n){var o,s;const i=e.registry.get(f.StreamingState),{dataRanges:d}=i,{isMediaSelectionGroup:g}=e.registry.get(u.StreamDataStructureSelectionGroups),{resetData:l}=e.registry.get(c.StreamDataStructureSegments),p=e.registry.get(a.BundleExportNames.Logger),{state:y}=e.effects;for(const[a]of r.streamSequenceMap){if(!g(a))continue;const r=null!==(s=null===(o=d.media[a.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==s?s:[];for(const o of[...r])v(e,o,t)||(y.dispatch(d.removeSegment,a.mediaId,n.buffered,o),(0,m.removeSegmentFromStreamTimeline)(e,o),l(o,e,p))}}function v(e,t,r){const{getTimeRange:n}=e.registry.get(c.StreamDataStructureSegments),{overlaps:o,isFullyIncluded:a}=e.registry.get(s.CoreExportNames.Utils).Ranges,u=n(t),d=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(u.end>=d.position?o(u,r):a(u,r))return!0}}return!1}function h(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{overlaps:o}=e.registry.get(s.CoreExportNames.Utils).Ranges,a=e.registry.get(i.SourceExportNames.SourceState),u=e.registry.get(f.StreamingState),{isDataOrSelfInitSegment:g,isDataSegment:p,getTimeRange:S}=e.registry.get(c.StreamDataStructureSegments),{isMediaTrack:b}=e.registry.get(d.StreamDataStructureTracks),h=new Map;for(const r of t)h.set(r,y(e,r));const E=new Set,T=[];for(const s of n){if(!b(s.track))continue;if(!g(s)){T.push(s);continue}const n=o(Array.from(s.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,l.getTargetBufferRange)(a,u,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),S(s));v(e,s,t)||n?p(s)&&E.add(s.initSegment):(r.delete(s),(0,m.removeSegmentFromStreamTimeline)(e,s))}for(const e of T)E.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,s)=>n(void 0,void 0,void 0,(function*(){const n=s.registry.get(a.BundleExportNames.Logger);try{n.debug("Clearing buffers"),yield p(s,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},99569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(91270),o=r(14809),a=r(88070),s=r(4304),i=r(5670),c=r(60149);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:d}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:f}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof s.EncodedPlaybackTimeUnknownError||e instanceof d||e instanceof s.SegmentCacheMissError||e instanceof f,l=(0,a.createSegmentAppendageQueueAtom)(u,(0,i.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:l,dataRangeIds:t})}))},5670:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(91270),a=r(68668),s=r(14809),i=r(1146),c=r(7269),u=r(24693),d=r(94503),f=r(66895),g=r(88425),l=r(50907),m=r(4304),p=r(8747),y=r(87436),S=r(61820),b=r(63927);function v(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function h(e,t,r){const{state:n}=e.effects,o=e.registry.get(g.StreamingState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function E(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,y.maybeAppendInitSegment)(e,o,r),yield(0,y.appendSegment)(e,o,r),w(e,o),h(e,t,o)}))}function T(e,t){const{isMediaTrack:r}=e.registry.get(f.StreamDataStructureTracks),n=e.registry.get(c.SourceExportNames.SourceState),o=e.registry.get(g.StreamingState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const a={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,p.getTargetBufferRange)(n,o,e);a.start=Math.min(a.start,t),a.end=Math.max(a.end,r)}return a}function k(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(u.StreamDataStructureSegments),{overlaps:a}=e.registry.get(s.CoreExportNames.Utils).Ranges;for(const s of t){const t=T(e,s),i=void 0!==(null===(r=n.segmentDataCache.get(s))||void 0===r?void 0:r.error),c=a(t,o(s));!i&&c||N(e,s)}}function x(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===l.MediaSourceReadyState.Open)return;const r=e.registry.get(g.StreamingState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function M(e,t,r,n){var o,a;const s=r.currentTime,i=e.registry.get(g.StreamingState),{dataRanges:c}=i;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1];if(r.length>0&&(u=!0),t){const{parsedPlaybackTime:r,parsedDuration:n}=t.segmentTiming,o=r+n;if(e.timeRange.end>o)return!1}for(const e of r){if(e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration<s)continue;if(!(null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[]).includes(e))return!1}}return u}function P(e,t){const r=e.registry.get(g.StreamingState).stream,{Type:n}=e.registry.get(d.StreamDataStructureStream);if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function C(e,t,r,n,o){const a=M(e,t,n,o),s=P(e,t);a&&s&&r.close()}function w(e,t){const{state:r}=e.effects,n=e.registry.get(g.StreamingState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:s}=e.registry.get(f.StreamDataStructureTracks);o!==a&&s(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function N(e,t){const r=e.registry.get(i.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,a=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(a){const e=a.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function _(e){return Array.from(e.streamSequenceMap.keys())}function A(e,t){return _(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function D(e,t,r,n){const o=e.registry.get(c.SourceExportNames.SourceState).playback.playhead,s=[],i=t.currentTime,u=r.getBufferedRanges(),d=e.registry.get(a.BundleExportNames.Logger);if(A(n,i)&&i>=o.position)return;for(const[{mimeType:e},t]of u){let r;for(const{start:e,end:n}of t)if(n>i){r={start:e,end:n};break}if(void 0===r)return void d.debug(`Not setting current time yet - "${e}" buffer is empty`);s.push(r)}let f=s[0];for(const{start:e,end:t}of s)f={start:Math.max(f.start,e),end:Math.min(f.end,t)};if(f.start>=f.end)d.debug("Not setting current time yet - buffers don't overlap");else if(o.position>=f.start&&o.position<=f.end)d.log(`Setting currentTime to saved playhead position (${i.toFixed(2)} → ${o.position.toFixed(2)})`),t.currentTime=o.position;else if(i<f.start){const e=f.start;d.log(`Setting currentTime to start of buffer (${i.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function O(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.registry.get(a.BundleExportNames.Logger),s=e.registry.get(g.StreamingState),{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks),{getReadableSegmentName:c}=e.registry.get(u.StreamDataStructureSegments);yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!i(t.track))return;yield R(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:a,timestampOffset:u}=t.segmentTiming;if(u===-1/0){const e=c(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const d=a+u;n!==d&&r.dispatch(s.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:d,actualTime:n})})))))}))}function R(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:a,store:s}=e.effects,i=s.segmentDataCache.get(t);if(void 0===i)throw new m.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(i.closed)throw new m.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const s=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(f(),n(new m.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{f(),n(new m.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(f(),t(e))})),d=[a.subscribe(e,r,u),a.subscribe(e,i,s),a.subscribe(e,i.cleared,c)],f=()=>d.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(a,s)=>n(void 0,void 0,void 0,(function*(){a=[...a];const n=s.registry.get(c.SourceExportNames.SourceState),i=s.registry.get(g.StreamingState),{state:u}=s.effects;for(const e of a)u.dispatch(i.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield x(s,e),yield(0,b.maybeUpdateTimestampOffset)(s,e,a),yield O(s,a),yield Promise.all(a.map((r=>E(s,t,e,r)))),D(s,o,e,r),C(s,r,e,o,t),yield s.fork((0,S.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw k(s,a),e}finally{v(s);for(const e of a)u.dispatch(i.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=N,t.waitForEncodedPlaybackTime=R},60149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(91270),o=r(14809),a=r(7269),s=r(24693),i=r(27134),c=r(88425),u=r(8747);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:s}=n.effects,{playback:{playhead:i}}=n.registry.get(a.SourceExportNames.SourceState),c=d(t,e,r);s.subscribe(n,r.consumed,c),s.subscribe(n,i,c),s.subscribe(n,e.streamSequenceMap,c);for(const[t,r]of e.streamSequenceMap)s.subscribe(n,r,c);return n.fork(c,i),o(n.abortSignal)}));const d=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,o)=>{const{areSegmentsOverlapping:a}=o.registry.get(s.StreamDataStructureSegments);let i=g(o,e,t);i=f(i,r),i.length>=1&&!a(i)&&i.splice(1,i.length-1),i.length<1||o.effects.state.dispatch(r.appendSegments.trigger,i)}]));function f(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function g(e,t,r){var n,d,f,g;const l=e.registry.get(a.SourceExportNames.SourceState),m=e.registry.get(c.StreamingState),{dataRanges:p}=m,y=[],{isMediaSelectionGroup:S,getMediaType:b}=e.registry.get(i.StreamDataStructureSelectionGroups),{overlaps:v}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:h}=e.registry.get(s.StreamDataStructureSegments);for(const[o,a]of r.streamSequenceMap){if(!S(o))continue;const r=b(e,o),s=(0,u.getMediaTypeTargetRanges)(l,m,r),i=null!==(d=null===(n=p.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==d?d:[],c=null!==(g=null===(f=p.media[o.mediaId])||void 0===f?void 0:f.source[t.appending])&&void 0!==g?g:[];for(let t=0;t<a.length;t++){const r=a[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,u=n+o,d=i.includes(r),f=c.includes(r),g=h(r,a[t+1]),l=void 0!==g&&u===g.start,m=n>=s.start&&n<s.end,p=u>s.start&&u<=s.end,S=e.effects.store.segmentDataCache.has(r);if((m||p||(s.start===u||void 0!==g&&v(s,g))&&l)&&!d&&!f&&S){y.push(r);break}}}return y.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),y}},63927:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(68668),a=r(14809),s=r(24693),i=r(5670);function c(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield u(e,t))}))}function u(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,a=e.registry.get(o.BundleExportNames.Logger),s=g(t),c=new Map;yield Promise.all(s.map((t=>n(this,void 0,void 0,(function*(){yield(0,i.waitForEncodedPlaybackTime)(e,t),c.set(t.track,d(e,t))})))));const u=Array.from(c.values()),f=Math.max(...u);if(void 0!==f){a.debug(`Determined timestampOffset to be (${f})`);for(const[e]of c)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,f)}}else a.debug(`Could not determine timestamp offset (${u})`)}))}function d(e,t){const r=f(e,t);if(void 0!==r)return r;{const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}}function f(e,t){var r;const n=t.track,o=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:i}=e.registry.get(s.StreamDataStructureSegments),{overlaps:c}=e.registry.get(a.CoreExportNames.Utils).Ranges,u=i(t);for(const e of o){const t=e.segments.find((e=>c(i(e),u))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function g(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0!==n){const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:a}=r.segmentTiming;a<o&&t.set(e,r)}else t.set(e,r)}return Array.from(t.values())}t.maybeUpdateTimestampOffset=c},87436:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const a=r(68668),s=r(24693),i=r(4304),c=r(8747);function u(e,t,r){var a,i,u,f;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(s.StreamDataStructureSegments);if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var l,m=!0,p=o(g);l=yield p.next(),!(a=l.done);){f=l.value,m=!1;try{const n=f,o=(0,c.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield d(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{m=!0}}}catch(e){i={error:e}}finally{try{m||a||!(u=p.return)||(yield u.call(p))}finally{if(i)throw i.error}}}))}function d(e,t,r){var u,d,f,g,l,m,p,y;return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),{isDataOrSelfInitSegment:S}=e.registry.get(s.StreamDataStructureSegments);n.debug("Appending",t.url);const b=e.effects.store.segmentDataCache.get(t);if(!b)throw new i.SegmentCacheMissError;try{for(var v,h=!0,E=o(b);v=yield E.next(),!(u=v.done);){g=v.value,h=!1;try{const a=g,s=(0,c.getMatchingBuffer)(e,r.buffers,a.containerFormat,a.mediaTypes);if(!s){n.log(`Can't append "${a.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}S(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(s,t.segmentTiming.timestampOffset));try{for(var T,k=!0,x=(m=void 0,o(a.fragments));T=yield x.next(),!(l=T.done);){y=T.value,k=!1;try{const e=y;yield r.appendData(s,e)}finally{k=!0}}}catch(e){m={error:e}}finally{try{k||l||!(p=x.return)||(yield p.call(x))}finally{if(m)throw m.error}}}finally{h=!0}}}catch(e){d={error:e}}finally{try{h||u||!(f=E.return)||(yield f.call(E))}finally{if(d)throw d.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=u,t.appendSegment=d},10899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;const n=r(68668);class o extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function a(e,t,r){return void 0!==r?`"${e}" codecs don't match between track (${t}) and segment (${r})`:`Segment doesn't contain "${e}" codec, but track does`}function s(e,t,r){const o=t.split(".")[0],s=r.find((e=>o===e.split(".")[0])),i=e.registry.get(n.BundleExportNames.Logger);s?t!==s&&i.log(`Codecs don't match between track and segment (${t}, ${s})`):i.warn(a(t))}function i(e,t,r,i){var c;const u=e.registry.get(n.BundleExportNames.Logger),[d,f]=null!==(c=i.find((([e])=>e===t)))&&void 0!==c?c:[];if(!f)throw new o(t);if(r.length===f.length)for(const t of r)s(e,t,f);else u.warn(a(t,r,f))}function c(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)i(e,n,o,r)}t.verifyCodecs=c},76410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(91270),o=r(55225),a=r(24693);function s(e){const{ContainerFormat:t}=e.registry.get(a.StreamDataStructureSegments),{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:a}=e.effects,{containerFormatMap:i}=o,c=s(e),u=t.filter((e=>c.includes(e)))[0],d=r.selectionGroup;return a.dispatch(i.add,d,u),u}]))},79284:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(91270),a=r(14809),s=r(1146),i=r(69104),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{subscribeAndRun:r}=t.registry.get(a.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(a.CoreExportNames.Utils).State;for(const[n,o]of e)r(t,o,i.SegmentDataStreamSubscriber);return t.effects.loop(t.abortSignal)}))));function d(e){const t=e.registry.get(s.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(a.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=d},69104:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(s,i)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(91270),a=r(14809),s=r(30158),i=r(24693),c=r(33983),u=r(76410),d=r(42269);function f(e,t,r){const{createTransient:n}=e.registry.get(a.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,u.SelectContainerFormatTask)(e)}}function g(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,c.getOrCreateOutputStream)(e,r,t),i=f(e,t,o),u=e.registry.get(s.SegmentProcessingExportNames.SegmentProcessingComponent),g=(0,d.subscribeToTransients)(e,i),{DataStreamClearedError:l,DataStreamClosedError:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(a.CoreExportNames.CoreStateAtoms).Queue,y=e=>[m,l,p].some((t=>e instanceof t));try{yield e.fork(u.process,i,y)}catch(e){const a=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,a),r.delete(t),!y(a))throw a}finally{g()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(i.StreamDataStructureSegments),n=r(e)?[e,e.initSegment]:[e];yield Promise.all(n.map((e=>g(t,e))))}))))},42269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(91270),o=r(68668),a=r(24693),s=r(66895),i=r(10899);function c(e,{value:t},r){if(void 0===t)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:n}=r.registry.get(s.StreamDataStructureTracks),{track:a}=e;if(!n(a))return;const c=[],u=Object.keys(t);for(const e of u)c.push([e,t[e]]);if(0===a.codecs.size){r.registry.get(o.BundleExportNames.Logger).log("Parsed codecs from segment",c),r.effects.state.dispatch(a.codecs.setAll,c)}else(0,i.verifyCodecs)(r,a,c)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(a.StreamDataStructureSegments),{state:o}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:s,dataParsed:i}=e.segmentTiming;o.dispatch(i,t.value,s)}function d(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(a.StreamDataStructureSegments),{state:o}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:s,encodedDuration:i,dataParsed:c}=e.segmentTiming;-1===s&&o.dispatch(c,i,t.value)}function f(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",c.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",u.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",d.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=f},30158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessorType=t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={})),function(e){e.Decryptor="decryptor",e.Parser="parser",e.Preprocessor="preprocessor",e.Transmuxer="transmuxer",e.Postprocessor="postprocessor"}(t.SegmentProcessorType||(t.SegmentProcessorType={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const n=r(24693),o=r(27134),a=r(94503),s=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[n.StreamDataStructureSegments,o.StreamDataStructureSelectionGroups,s.StreamDataStructureTracks,a.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r(37604)})()));
@@ -5,6 +5,6 @@
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.2.0-beta.2
8
+ * Bitmovin Player X Version 10.2.0-beta.4
9
9
  *******************************************************************************/
10
10
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["mse-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["mse-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const n=t;return n._name=e,{onAdd:n,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function n(e){return(...t)=>{const[n,o]=e(...t);return r(n,o)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},68668:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BundleExportNames=void 0,function(e){e.Logger="logger",e.PlayerConfig="player-config"}(t.BundleExportNames||(t.BundleExportNames={}))},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},47755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function n(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function a(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function i(e,t,r){let n=0,o=e.length;for(;n<o;){const a=n+o>>>1;r(e[a])<r(t)?n=a+1:o=a}return n}function s(e,t,...r){const n=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const n of r){const r=t(n),o=t(e[0]);if(t(e[e.length-1])<=r)e.push(n);else if(r<=o)e.unshift(n);else{const r=i(e,n,t);e.splice(r,0,n)}}return e.length!==n}function c(e,...t){let r=!1;for(const n of t){const t=e.indexOf(n);t<0||(r=!0,e.splice(t,1))}return r}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function d(e,t){if(r(e,t))return!1;const n=u(e);return t.forEach((t=>e.push(t))),n||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const f=(e,t=[])=>{const r={add:n,insert:a,insertSorted:s,remove:c,clear:u,set:d,addIfNew:o};return e.effects.state.create(t,r)};t.createArrayAtom=f},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},55714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationState=void 0,t.MsePresentationState="mse-presentation-state"},4399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(91270),o=r(14809),a=r(1146),i=r(7269),s=r(27134),c=r(88425),u=r(8747);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(i.SourceExportNames.SourceState),s=r.registry.get(a.DataExportNames.StreamTimeline),{mapSubscribe:c}=r.registry.get(o.CoreExportNames.Utils).State,u=f([e,t]),g=d(u);return r.effects.state.subscribe(r,n.playback.playhead,u),c(r,s,g),r.fork(u,s),r.effects.loop(r.abortSignal)}));const d=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),f=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!l(n)||g(n))return;const o=S(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function g(e){const t=e.registry.get(i.SourceExportNames.SourceState),r=e.registry.get(c.StreamingState),n=t.playback.playhead.position;return r.stream.duration.value<n||n<0}function m(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(c.StreamingState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function l(e){const{isMediaSelectionGroup:t}=e.registry.get(s.StreamDataStructureSelectionGroups),r=e.registry.get(a.DataExportNames.StreamTimeline),n=m(e);return r.length>0&&r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function p(e,t){return e>=t.start&&e<=t.end}function S(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(a.DataExportNames.StreamTimeline),{isEndInRange:s}=e.registry.get(o.CoreExportNames.Utils).Ranges,d=m(e);return n.find((n=>{const o=v(e,n);if(o.length!==d)return!1;return!!o.every((({mediaType:t,selectionGroup:n})=>{const o=e.registry.get(c.StreamingState),a=(0,u.getMediaTypeTargetRanges)(r,o,t);return p(a.start,n.timeRange)||s(a.end,n.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:i})=>{var s,d;const f=e.registry.get(c.StreamingState),g=(0,u.getMediaTypeTargetRanges)(r,f,o),m=b(e,n,o,g),l=null!==(d=null===(s=f.dataRanges.media[a])||void 0===s?void 0:s.ranges)&&void 0!==d?d:[],p=i.timeRange.end,S=l.length>0&&l.some((e=>e.start<=p&&p<=e.end)),v=y(e,m,a,t);return!S||!v}))}))}function y(e,t,r,n){var o,a;const i=e.registry.get(c.StreamingState),{dataRanges:s}=i,u=null!==(a=null===(o=s.media[r])||void 0===o?void 0:o.source[n])&&void 0!==a?a:[];return t.every((e=>u.includes(e)))}function b(e,t,r,n){const{isVideoSelectionGroup:a,isAudioSelectionGroup:i}=e.registry.get(s.StreamDataStructureSelectionGroups),{isEndInRange:c,isStartInRange:u}=e.registry.get(o.CoreExportNames.Utils).Ranges,d=e.registry.get(o.CoreExportNames.Constants).MediaType,f=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===d.Audio&&i(e)||r===d.Video&&a(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(u(t,n)||c(r,n))&&f.push(e)}return f}function v(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(s.StreamDataStructureSelectionGroups),a=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:a.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:a.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},16566:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(91270),o=r(68668);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let a=!1;const s=()=>{if(a)return;const t=r.registry.get(o.BundleExportNames.Logger),n=i(r,e);void 0!==n&&(t.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${n.toFixed(2)})`),e.currentTime=n)},c=()=>{a=!0},u=()=>{a=!1},d=()=>{a=!1};return n.subscribe(r,e,"waiting",s),n.subscribe(r,e,"seeking",c),n.subscribe(r,e,"seeked",u),n.subscribe(r,e,"playing",d),r.effects.loop(r.abortSignal)}]));const a=.1;function i(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),o=n.end(e);if(r>=t&&r<=o&&o-r<a&&e<n.length-1)return n.start(e+1)}}},11821:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const o=r(91270),a=r(14809),i=r(27134);function s(e){return e.tracks.some((e=>e.codecs.size>0))}function c(e){return void 0!==e.container.value}function u(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:i}=e.registry.get(a.CoreExportNames.Utils).State;return n((n=>{const a=(0,o.createTask)("segment-container-format-subscriber",((e,t)=>{r()&&(n(),s())})),s=i(e,t,a)}))}))}function d(e,t){return n(this,void 0,void 0,(function*(){return u(e,t.container,(()=>c(t)))}))}function f(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return u(e,r,(()=>void 0!==r.get(t)))}))}function g(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,a=[],i=r((r=>{for(const i of t.tracks){const c=(0,o.createTask)("codec-subscriber",((e,n)=>{s(t)&&r()}));a.push(n.subscribe(e,i.codecs,c))}}));return i.finally((()=>a.forEach((e=>e())))).catch((()=>{})),i}))}function m(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(i.StreamDataStructureSelectionGroups),{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap)r(o)&&(s(o)||(yield g(e,o)),c(o)||(yield d(e,o)),void 0===n.get(o)&&(yield f(e,o)))}))}t.awaitMediaInfo=m},55388:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationPackage=void 0;const o=r(97085),a=r(68668),i=r(55225),s=r(14809),c=r(1146),u=r(30158),d=r(7269),f=r(78622),g=r(88425),m=r(55714),l=r(17090),p=r(53434),S=r(76410),y=r(79284),b=r(95994),v=r(36912);t.MsePresentationPackage=(0,o.createPackage)("mse-presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(s.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:o}=t.registry.get(s.CoreExportNames.CoreEffects),a=t.using(r,n),i=a.using(o("segmentDataCache",new Map)).using(o("containerFormatMap",e(a)));i.registry.maybeSet(b.MsePresentationExportNames.SelectContainerFormat,S.SelectContainerFormatTask);const{state:c}=i.effects,u=i.registry.get(d.SourceExportNames.SourceState),f=(0,v.VideoElementSubscriber)((0,p.createPresentationStateAtom)(i),(0,l.createActiveSectionAtom)(i));(0,y.startPresentationSegmentProcessing)(i),c.subscribe(i,u.video,f)}))),[a.BundleExportNames.Logger,s.CoreExportNames.Utils,s.CoreExportNames.Constants,d.SourceExportNames.SourceState,c.DataExportNames.StreamTimeline,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,i.CapabilitiesExportNames.PlatformCapabilities,u.SegmentProcessingExportNames.SegmentProcessingComponent,u.SegmentProcessingExportNames.SegmentProcessorErrors,m.MsePresentationState,...f.StreamDataStructureExportNames,g.StreamingState]),t.default=t.MsePresentationPackage},4304:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(91270),a=r(68668),i=r(14809),s=r(7269),c=r(27134),u=r(66895),d=r(88425),f=r(11821),g=r(71185),m=r(61820),l=r(99569),p=r(8747);function S(e,t,r){const{MediaType:n}=e.registry.get(i.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:s}=e.registry.get(i.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=s(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===s(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function y(e,t,r,n,o){const{equals:a}=e.registry.get(i.CoreExportNames.Utils).Arrays;return t.find((([t,i,s])=>{const c=r===i,u=a(o,s),d=S(e,n,t);return c&&u&&d}))}function b(e,t,r){if(t.length!==r.length)return!0;for(let n=0;n<t.length;n++){const[o,a,i]=t[n];if(void 0===y(e,r,a,o,i))return!0}return!1}function v(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function h(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function E(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,a,i]of r){const r=(0,p.getMatchingBuffer)(e,t.buffers,a,i);if(void 0===r)return!1;const s=y(e,n,a,o,i);if(void 0===s)return!1;const[c,u,d]=s;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function T(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,a]of t){const t=(0,p.getMatchingBuffer)(e,r.buffers,o,a);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function x(e,t,r,o){return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),{waitFor:s}=e.registry.get(i.CoreExportNames.Utils).State;t&&(n.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield v(e,t,o),n.debug("End of buffer reached, recreating MSE...")),yield null==t?void 0:t.dispose(),t=(0,g.createRenderer)(e);const c=s(e,t.onOpen);n.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,o.load(),yield c;for(const[e,n,o]of r)t.addBuffer(e,n,o);const u=e.registry.get(d.StreamingState).stream;return yield t.setDuration(u.duration.value),t}))}function k(e,t,r,o,i,c){return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),u=e.registry.get(s.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return n.log(`Creating MSE for ${c}`),yield x(e,void 0,c,i);const d=h(t);return b(e,d,c)?E(e,t,d,c)?(n.log(`Changing MSE buffer types for ${c}`),t.bind(e),yield e.fork((0,m.BufferClearingTask)(t,o,r),u),yield T(e,c,t)):(n.log(`Re-creating MSE for ${c}`),yield x(e,t,c,i)):(n.log(`Re-using MSE for ${c}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,m.BufferClearingTask)(t,o,r),u),t)}))}class M extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=M;class C extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function P(e,t){const{MediaType:r}=e.registry.get(i.CoreExportNames.Constants),{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:o}=e.registry.get(u.StreamDataStructureTracks),a=Array.from(t.streamSequenceMap.keys()).filter(n).flatMap((e=>e.tracks)).filter(o);for(const e of a){const t=Array.from(e.codecs.keys()),n=t.includes(r.Muxed),o=t.includes(r.Audio),a=t.includes(r.Video);if(n||o&&a)return!0}return!1}function w(e,t){const r=P(e,t),n=[],{containerFormatMap:o}=e.effects.store,{isMediaSelectionGroup:a}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:i}=e.registry.get(u.StreamDataStructureTracks);for(const[e]of t.streamSequenceMap){if(!a(e))continue;const t=o.get(e);if(void 0===t)throw new Error("Container format is unexpectedly undefined");let s,c=-1/0;for(const t of e.tracks){if(!i(t))continue;const{bitrate:e,codecs:r}=t;e>c&&r.size>0&&(c=e,s=r)}if(void 0===s)throw new Error("Could not determine codec to create buffers with");if(r)for(const[e,r]of s)n.push([r,t,[e]]);else{const e=Array.from(s.keys()),r=Array.from(s.values()).flat();n.push([r,t,e])}}return n}t.SegmentCacheMissError=C;const N=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{const n=r.registry.get(a.BundleExportNames.Logger);try{if(0===e.buffered.length)return void n.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}n.verbose(t)}catch(t){n.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),A=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:i,loop:c}=o.effects,u=o.registry.get(a.BundleExportNames.Logger),{activeRenderer:g,dataRangeIds:p}=e,S=o.registry.get(s.SourceExportNames.SourceState),y=o.registry.get(d.StreamingState).stream,b=S.playback.playhead;yield(0,f.awaitMediaInfo)(o,r);const v=w(o,r);u.log("Preparing playback of section with buffers",v),i.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(b.setPosition,t.currentTime)})),i.subscribe(o,t,"seeking",(()=>n.dispatch(b.setPosition,t.currentTime)));const h=yield k(o,g,p,r,t,v);return h.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,N(e)))),n.dispatch(e.setActiveRenderer,h),n.subscribe(o,y.duration,A(h)),n.subscribe(o,b,(0,m.BufferClearingTask)(h,r,p)),o.fork(l.SegmentAppendage,{renderer:h,section:r,dataRangeIds:p,video:t}).catch((()=>{})),c(o.abortSignal)}))]))},95994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.MsePresentationExportNames||(t.MsePresentationExportNames={}))},8747:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(14809);function o(e,t,r){const n=e.playback.playhead.position;return{start:n,end:n+t.bufferConfig[r].forwardDuration}}function a(e,t,r){const n=e.playback.playhead.position,o=t.bufferConfig[r];return{start:Math.max(0,n-o.backwardDuration),end:n+o.forwardDuration}}function i(e,t,r,o){const{equals:a}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>a(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=a,t.getMatchingBuffer=i},3014:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.removeChild(e.firstChild);e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},36912:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(91270),o=r(68668),a=r(88425),i=r(4399),s=r(16566),c=r(4304),u=r(3014);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:d,registry:f,effects:g,abortSignal:m}=n,{state:l,loop:p,abortable:S}=g,y=f.get(o.BundleExportNames.Logger);if(void 0===r.element)return y.log("Cannot set up presentation task - no video element"),S((e=>e()));const b=r.element,v=(0,c.ActiveSectionSubscriber)(e,b);return y.log("Setting up presentation task..."),(0,u.resetVideoSource)(b,y),l.subscribe(n,t,v),void 0!==t.section&&d(v,t),d((0,s.GapHandlingTask)(b),e),d(i.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:i}=n.effects;if(n.registry.has(a.StreamingState)){const t=n.registry.get(a.StreamingState),{dataRanges:r}=t;for(const t in r.media)for(const n of Object.values(e.dataRangeIds))i.dispatch(r.deleteSource,t,n)}return i.dispatch(e.setActiveRenderer,void 0),void 0!==r&&b.src===r&&(0,u.resetVideoSource)(b,n.registry.get(o.BundleExportNames.Logger)),!1})),p(m)}]))},17090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},53434:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},88070:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(91270),a=r(14809);function i(e){const{createTransient:t}=e.registry.get(a.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const s=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:a},i)=>n(void 0,void 0,void 0,(function*(){if(void 0===a)return;const n=t.queue;n.push(a);try{yield e.fork(r,a.slice(),o)}catch(e){}finally{const r=n.indexOf(a);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(i(e),{}),a=s(e,o,t,r);return n.subscribe(e,o.appendSegments,a),o}t.createSegmentAppendageQueueAtom=c},33983:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(14809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,a=o(e);return t.set(r,a),a}function a(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=a},15865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},71185:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(68668),a=r(55225),i=r(14809),s=r(32776),c=r(22782),u=r(34175),d=r(50907);function f(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(i.CoreExportNames.Utils).State,a={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(a.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(a.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(a.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(a.onError.trigger,new Error(JSON.stringify(e))))),a}function g(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function m(e,t,r,n,a,i,s){const d=(0,c.generateMimeTypeString)(e,s,i,a);e.registry.get(o.BundleExportNames.Logger).debug(`Adding source buffer of type "${d}"`);const f=t.addSourceBuffer(d),g=(0,u.createSourceBufferActionQueue)(e,f),m=(0,c.createRendererBufferAtom)(e,a,s,i,!1,f),p=l(e,m,f);n.set(m,[f,g,p]),e.effects.state.dispatch(r.add,m)}function l(e,t,r){const{events:n,state:o}=e.effects,a=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>a.forEach((e=>e()))}function p(e,t,r,n,o,i){const{typeSupported:s}=e.registry.get(a.CapabilitiesExportNames.PlatformCapabilities),u=g(r,n)[0],d=(0,c.generateMimeTypeString)(e,n.mediaTypes,i,o);return"function"==typeof u.changeType&&s(d)}function S(e,t,r,n,o,a){const[i,s]=g(r,n),u=(0,c.generateMimeTypeString)(e,n.mediaTypes,a,o),d=e=>e.changeType(u);return s.execute(d)}function y(e,t,r,o,a){return n(this,void 0,void 0,(function*(){const[n,i]=g(r,a),s=e=>t.removeSourceBuffer(e);yield i.execute(s),r.delete(a),e.effects.state.dispatch(o.remove,a)}))}function b(e,t,r,n,a){const i=e.registry.get(o.BundleExportNames.Logger),[s,c]=g(r,n),u=e=>{e.timestampOffset=a};return i.log(`Setting timestamp offset to ${a.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,a),c.execute(u)}function v(e,t,r,n,o){const[a,i]=g(r,n),s=e=>e.appendBuffer(o.data.buffer);return i.execute(s)}function h(e,t,r,n,o,a){if(o>=a)return e.effects.abortable((e=>e()));const[i,s]=g(r,n),c=e=>e.remove(o,a);return s.execute(c)}function E(e,t,r){e.readyState===d.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function T(e,t,r,n){if(t.readyState===d.MediaSourceReadyState.Open){const e=[n,t.duration].filter((e=>!isNaN(e))),o=()=>{t.duration=Math.max(...e)};return r.execute(o)}return e.registry.get(o.BundleExportNames.Logger).log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function x(e,t,r){const n=e.registry.get(o.BundleExportNames.Logger);if(t.readyState===d.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function k(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.registry.get(o.BundleExportNames.Logger).debug("Could not determine buffered ranges for source buffer:",t)}return r}function M(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,k(e,r));return o}function C(e){return e.readyState}function P(e,t,r){const n=Array.from(r.entries());if(t.readyState===d.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[a]]]=n;return b(e,t,r,o,a.timestampOffset)}function w(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function N(e){const{createArrayAtom:t}=e.registry.get(i.CoreExportNames.CoreStateAtoms);let r=e;const n=new MediaSource,a=URL.createObjectURL(n),c=f(r,n),u=new Map,d=t(r,[]),g=(0,s.createRendererActionQueue)(r,u);return Object.assign(Object.assign({},c),{sourceUrl:a,buffers:d,addBuffer:m.bind(void 0,r,n,d,u),canChangeBuffer:p.bind(void 0,r,n,u),changeBuffer:S.bind(void 0,r,n,u),removeBuffer:y.bind(void 0,r,n,u,d),setTimestampOffset:b.bind(void 0,r,n,u),getBufferedRanges:M.bind(void 0,r,n,g,u),appendData:v.bind(void 0,r,n,u),removeData:h.bind(void 0,r,n,u),setSeekableRange:E.bind(void 0,n),setDuration:T.bind(void 0,r,n,g),getState:C.bind(void 0,n),close:x.bind(void 0,r,n,g),reopen:P.bind(void 0,r,n,u),dispose:w.bind(void 0,r,n,u,d),bind:e=>{const t=e.registry.get(o.BundleExportNames.Logger),n=Array.from(u.keys());t.debug("Binding renderer to new context..."),r=e,g.bind(r);for(let t=0;t<n.length;t++){const o=n[t],a=u.get(o);if(!a)continue;const[i,s,c]=a;c(),s.bind(r),a[2]=l(e,o,i)}}})}t.createRenderer=N},32776:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,a){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(a,n)}finally{t.executing=!1,o(e,t,r,a).catch((()=>{}))}else t.executing=!1}))}const a=(0,r(91270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:a,events:s}=o;let c=()=>{},u=()=>{};const d=a(((e,t)=>{u=e,c=t})),f=[c],[g,m]=t,l=s.subscribe(r,n,"abort",(()=>{f.forEach((e=>e(n.reason)))}));d.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=i(r,e,d,f);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),m()}finally{l()}}))]));function i(e,t,r,o){const a=[],i=[];for(const[s,[c,u]]of t){let t=()=>{};const s=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));s.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));a.push(s),i.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:a,sourceBufferActionAbortables:i}}function s(e,t){const r=[],n={executing:!1},i=a(t);return{execute:t=>{const{abortable:a}=e.effects;let s=()=>{},c=()=>{};const u=a(((e,t)=>{s=e,c=t}));return r.push([t,s,c]),o(e,n,r,i).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=s},22782:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(47755),o=r(14809),a=r(24693);function i(e,t,r,a,i){const{createTransient:s}=e.registry.get(o.CoreExportNames.Utils).State;return{onUpdateStart:s(e),onUpdate:s(e),onUpdateEnd:s(e),onError:s(e),onAbort:s(e),codecs:(0,n.createArrayAtom)(e,t),containerFormat:a,mediaTypes:(0,n.createArrayAtom)(e,r),encrypted:i,mimeType:u(e,r,a,t),timestampOffset:0,initSegment:void 0}}function s(e,t,r){const{MediaType:n}=e.registry.get(o.CoreExportNames.Constants),{ContainerFormat:i}=e.registry.get(a.StreamDataStructureSegments);return t===i.TS?n.Video:r}function c(e,t){return r=>`${s(e,t,r)}/${t}`}function u(e,t,r,n){return`${t.map(c(e,r)).join(";")};codecs="${n.join(",")}"`}function d(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function f(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function g(e,t,r,n,o){const{state:a}=e.effects,i=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),s=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!s||!i)&&(t.mimeType=u(e,n,o,r),t.containerFormat=o,a.dispatch(t.codecs.set,r),a.dispatch(t.mediaTypes.set,n),!0)}function m(e,t,r,n,a,s){const{deriveFrom:c}=e.registry.get(o.CoreExportNames.Utils).State,u=i(e,t,r,n,a);return c(u,"buffered",(()=>s.buffered)),e.effects.state.create(u,{setTimestampOffset:d,setInitSegment:f,updateType:g.bind(void 0,e)})}t.generateMimeTypeString=u,t.createRendererBufferAtom=m},34175:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(91270),a=r(15865),i=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new a.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new a.SourceBufferActionFailedError(e))))):n()}))}));function s(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof a.SourceBufferActionAbortedError))}finally{t.executing=!1,s(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}const c=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,s]=t;let c=()=>{};try{yield r.fork(i,e,(()=>!0)).catch((()=>{}));const t=n(e,r);c=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(i,e),c(),o()}catch(e){c();s(e instanceof Error?e:e instanceof Event?new a.SourceBufferActionFailedError(e):new Error(""))}}))]));function u(e,t){const r=[],n={executing:!1},o=c(t);let i=()=>{};const u=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},d=()=>{i(),i=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{u(new a.SourceBufferActionAbortedError)}))};return d(),{execute(t){const{abortable:a}=e.effects;let i=()=>{},c=()=>{};const u=a(((e,t)=>{i=e,c=t}));return u.catch((()=>{})),r.push([t,i,c]),s(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,d()},abort(e){u(new a.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=u},50907:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferEvent=t.MediaSourceEvent=t.MediaSourceReadyState=void 0,function(e){e.Closed="closed",e.Open="open",e.Ended="ended"}(t.MediaSourceReadyState||(t.MediaSourceReadyState={})),function(e){e.Error="error",e.SourceOpen="sourceopen",e.SourceClose="sourceopen",e.WebkitSourceOpen="webkitsourceopen"}(t.MediaSourceEvent||(t.MediaSourceEvent={})),function(e){e.UpdateStart="updatestart",e.Update="update",e.UpdateEnd="updateend",e.Error="error",e.Abort="abort"}(t.SourceBufferEvent||(t.SourceBufferEvent={}))},61820:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(91270),a=r(68668),i=r(14809),s=r(7269),c=r(24693),u=r(27134),d=r(66895),f=r(88425),g=r(50907),m=r(8747),l=r(5670);function p(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==g.MediaSourceReadyState.Open)return;const n=yield t.getBufferedRanges(),a=[];for(const[r,o]of n){const n=S(e,r),i=[],s=o.filter((e=>e.start>n.end));y(e,o,{start:0,end:n.start})&&(a.push({start:0,end:n.start}),i.push(t.removeData(r,0,n.start))),s.length>0&&(a.push({start:s[0].start,end:1/0}),i.push(t.removeData(r,s[0].start,1/0))),yield Promise.all(i)}b(e,t.buffers,r,o),h(e,t.buffers)}))}function S(e,t){const r=e.registry.get(s.SourceExportNames.SourceState),n=e.registry.get(f.StreamingState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,m.getTargetBufferRange)(r,n,e))).reduce(((e,t)=>({start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)})),{start:1/0,end:-1/0})}function y(e,t,r){const{overlaps:n}=e.registry.get(i.CoreExportNames.Utils).Ranges;let o=!1;for(let e=0;e<t.length;e++){o=n({start:t[e].start,end:t[e].end},r)||o}return o}function b(e,t,r,n){var o,i;const s=e.registry.get(f.StreamingState),{dataRanges:d}=s,{isMediaSelectionGroup:g}=e.registry.get(u.StreamDataStructureSelectionGroups),{resetData:m}=e.registry.get(c.StreamDataStructureSegments),p=e.registry.get(a.BundleExportNames.Logger),{state:S}=e.effects;for(const[a]of r.streamSequenceMap){if(!g(a))continue;const r=null!==(i=null===(o=d.media[a.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==i?i:[];for(const o of[...r])v(e,o,t)||(S.dispatch(d.removeSegment,a.mediaId,n.buffered,o),(0,l.removeSegmentFromStreamTimeline)(e,o),m(o,e,p))}}function v(e,t,r){const{getTimeRange:n}=e.registry.get(c.StreamDataStructureSegments),{overlaps:o,isFullyIncluded:a}=e.registry.get(i.CoreExportNames.Utils).Ranges,u=n(t),d=e.registry.get(s.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(u.end>=d.position?o(u,r):a(u,r))return!0}}return!1}function h(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{overlaps:o}=e.registry.get(i.CoreExportNames.Utils).Ranges,a=e.registry.get(s.SourceExportNames.SourceState),u=e.registry.get(f.StreamingState),{isDataOrSelfInitSegment:g,isDataSegment:p,getTimeRange:y}=e.registry.get(c.StreamDataStructureSegments),{isMediaTrack:b}=e.registry.get(d.StreamDataStructureTracks),h=new Map;for(const r of t)h.set(r,S(e,r));const E=new Set,T=[];for(const i of n){if(!b(i.track))continue;if(!g(i)){T.push(i);continue}const n=o(Array.from(i.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,m.getTargetBufferRange)(a,u,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),y(i));v(e,i,t)||n?p(i)&&E.add(i.initSegment):(r.delete(i),(0,l.removeSegmentFromStreamTimeline)(e,i))}for(const e of T)E.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,i)=>n(void 0,void 0,void 0,(function*(){const n=i.registry.get(a.BundleExportNames.Logger);try{n.debug("Clearing buffers"),yield p(i,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},99569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(91270),o=r(14809),a=r(88070),i=r(4304),s=r(5670),c=r(60149);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:d}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:f}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof i.EncodedPlaybackTimeUnknownError||e instanceof d||e instanceof i.SegmentCacheMissError||e instanceof f,m=(0,a.createSegmentAppendageQueueAtom)(u,(0,s.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:m,dataRangeIds:t})}))},5670:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(91270),a=r(68668),i=r(14809),s=r(1146),c=r(7269),u=r(24693),d=r(94503),f=r(66895),g=r(88425),m=r(50907),l=r(4304),p=r(8747),S=r(87436),y=r(61820),b=r(63927);function v(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function h(e,t,r){const{state:n}=e.effects,o=e.registry.get(g.StreamingState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function E(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,S.maybeAppendInitSegment)(e,o,r),yield(0,S.appendSegment)(e,o,r),w(e,o),h(e,t,o)}))}function T(e,t){const{isMediaTrack:r}=e.registry.get(f.StreamDataStructureTracks),n=e.registry.get(c.SourceExportNames.SourceState),o=e.registry.get(g.StreamingState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const a={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,p.getTargetBufferRange)(n,o,e);a.start=Math.min(a.start,t),a.end=Math.max(a.end,r)}return a}function x(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(u.StreamDataStructureSegments),{overlaps:a}=e.registry.get(i.CoreExportNames.Utils).Ranges;for(const i of t){const t=T(e,i),s=void 0!==(null===(r=n.segmentDataCache.get(i))||void 0===r?void 0:r.error),c=a(t,o(i));!s&&c||N(e,i)}}function k(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===m.MediaSourceReadyState.Open)return;const r=e.registry.get(g.StreamingState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function M(e,t,r,n){var o,a;const i=r.currentTime,s=e.registry.get(g.StreamingState),{dataRanges:c}=s;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1];if(r.length>0&&(u=!0),t){const{parsedPlaybackTime:r,parsedDuration:n}=t.segmentTiming,o=r+n;if(e.timeRange.end>o)return!1}for(const e of r){if(e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration<i)continue;if(!(null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[]).includes(e))return!1}}return u}function C(e,t){const r=e.registry.get(g.StreamingState).stream,{Type:n}=e.registry.get(d.StreamDataStructureStream);if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function P(e,t,r,n,o){const a=M(e,t,n,o),i=C(e,t);a&&i&&r.close()}function w(e,t){const{state:r}=e.effects,n=e.registry.get(g.StreamingState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks);o!==a&&i(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function N(e,t){const r=e.registry.get(s.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,a=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(a){const e=a.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function A(e){return Array.from(e.streamSequenceMap.keys())}function _(e,t){return A(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function D(e,t,r,n){const o=e.registry.get(c.SourceExportNames.SourceState).playback.playhead,i=[],s=t.currentTime,u=r.getBufferedRanges(),d=e.registry.get(a.BundleExportNames.Logger);if(_(n,s)&&s>=o.position)return;for(const[{mimeType:e},t]of u){let r;for(const{start:e,end:n}of t)if(n>s){r={start:e,end:n};break}if(void 0===r)return void d.debug(`Not setting current time yet - "${e}" buffer is empty`);i.push(r)}let f=i[0];for(const{start:e,end:t}of i)f={start:Math.max(f.start,e),end:Math.min(f.end,t)};if(f.start>=f.end)d.debug("Not setting current time yet - buffers don't overlap");else if(o.position>=f.start&&o.position<=f.end)d.log(`Setting currentTime to saved playhead position (${s.toFixed(2)} → ${o.position.toFixed(2)})`),t.currentTime=o.position;else if(s<f.start){const e=f.start;d.log(`Setting currentTime to start of buffer (${s.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function O(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.registry.get(a.BundleExportNames.Logger),i=e.registry.get(g.StreamingState),{isMediaTrack:s}=e.registry.get(f.StreamDataStructureTracks),{getReadableSegmentName:c}=e.registry.get(u.StreamDataStructureSegments);yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!s(t.track))return;yield R(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:a,timestampOffset:u}=t.segmentTiming;if(u===-1/0){const e=c(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const d=a+u;n!==d&&r.dispatch(i.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:d,actualTime:n})})))))}))}function R(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:a,store:i}=e.effects,s=i.segmentDataCache.get(t);if(void 0===s)throw new l.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(s.closed)throw new l.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const i=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(f(),n(new l.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{f(),n(new l.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(f(),t(e))})),d=[a.subscribe(e,r,u),a.subscribe(e,s,i),a.subscribe(e,s.cleared,c)],f=()=>d.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(a,i)=>n(void 0,void 0,void 0,(function*(){a=[...a];const n=i.registry.get(c.SourceExportNames.SourceState),s=i.registry.get(g.StreamingState),{state:u}=i.effects;for(const e of a)u.dispatch(s.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield k(i,e),yield(0,b.maybeUpdateTimestampOffset)(i,e,a),yield O(i,a),yield Promise.all(a.map((r=>E(i,t,e,r)))),D(i,o,e,r),P(i,r,e,o,t),yield i.fork((0,y.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw x(i,a),e}finally{v(i);for(const e of a)u.dispatch(s.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=N,t.waitForEncodedPlaybackTime=R},60149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(91270),o=r(14809),a=r(7269),i=r(24693),s=r(27134),c=r(88425),u=r(8747);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:i}=n.effects,{playback:{playhead:s}}=n.registry.get(a.SourceExportNames.SourceState),c=d(t,e,r);i.subscribe(n,r.consumed,c),i.subscribe(n,s,c),i.subscribe(n,e.streamSequenceMap,c);for(const[t,r]of e.streamSequenceMap)i.subscribe(n,r,c);return n.fork(c,s),o(n.abortSignal)}));const d=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,o)=>{const{areSegmentsOverlapping:a}=o.registry.get(i.StreamDataStructureSegments);let s=g(o,e,t);s=f(s,r),s.length>=1&&!a(s)&&s.splice(1,s.length-1),s.length<1||o.effects.state.dispatch(r.appendSegments.trigger,s)}]));function f(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function g(e,t,r){var n,d,f,g;const m=e.registry.get(a.SourceExportNames.SourceState),l=e.registry.get(c.StreamingState),{dataRanges:p}=l,S=[],{isMediaSelectionGroup:y,getMediaType:b}=e.registry.get(s.StreamDataStructureSelectionGroups),{overlaps:v}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:h}=e.registry.get(i.StreamDataStructureSegments);for(const[o,a]of r.streamSequenceMap){if(!y(o))continue;const r=b(e,o),i=(0,u.getMediaTypeTargetRanges)(m,l,r),s=null!==(d=null===(n=p.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==d?d:[],c=null!==(g=null===(f=p.media[o.mediaId])||void 0===f?void 0:f.source[t.appending])&&void 0!==g?g:[];for(let t=0;t<a.length;t++){const r=a[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,u=n+o,d=s.includes(r),f=c.includes(r),g=h(r,a[t+1]),m=void 0!==g&&u===g.start,l=n>=i.start&&n<i.end,p=u>i.start&&u<=i.end,y=e.effects.store.segmentDataCache.has(r);if((l||p||(i.start===u||void 0!==g&&v(i,g))&&m)&&!d&&!f&&y){S.push(r);break}}}return S.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),S}},63927:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(68668),a=r(14809),i=r(24693),s=r(5670);function c(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield u(e,t))}))}function u(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,a=e.registry.get(o.BundleExportNames.Logger),i=g(t),c=new Map;yield Promise.all(i.map((t=>n(this,void 0,void 0,(function*(){yield(0,s.waitForEncodedPlaybackTime)(e,t),c.set(t.track,d(e,t))})))));const u=Array.from(c.values()),f=Math.max(...u);if(void 0!==f){a.debug(`Determined timestampOffset to be (${f})`);for(const[e]of c)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,f)}}else a.debug(`Could not determine timestamp offset (${u})`)}))}function d(e,t){const r=f(e,t);if(void 0!==r)return r;{const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}}function f(e,t){var r;const n=t.track,o=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:s}=e.registry.get(i.StreamDataStructureSegments),{overlaps:c}=e.registry.get(a.CoreExportNames.Utils).Ranges,u=s(t);for(const e of o){const t=e.segments.find((e=>c(s(e),u))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function g(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0!==n){const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:a}=r.segmentTiming;a<o&&t.set(e,r)}else t.set(e,r)}return Array.from(t.values())}t.maybeUpdateTimestampOffset=c},87436:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const a=r(68668),i=r(24693),s=r(4304),c=r(8747);function u(e,t,r){var a,s,u,f;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(i.StreamDataStructureSegments);if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var m,l=!0,p=o(g);m=yield p.next(),!(a=m.done);){f=m.value,l=!1;try{const n=f,o=(0,c.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield d(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{l=!0}}}catch(e){s={error:e}}finally{try{l||a||!(u=p.return)||(yield u.call(p))}finally{if(s)throw s.error}}}))}function d(e,t,r){var u,d,f,g,m,l,p,S;return n(this,void 0,void 0,(function*(){const n=e.registry.get(a.BundleExportNames.Logger),{isDataOrSelfInitSegment:y}=e.registry.get(i.StreamDataStructureSegments);n.debug("Appending",t.url);const b=e.effects.store.segmentDataCache.get(t);if(!b)throw new s.SegmentCacheMissError;try{for(var v,h=!0,E=o(b);v=yield E.next(),!(u=v.done);){g=v.value,h=!1;try{const a=g,i=(0,c.getMatchingBuffer)(e,r.buffers,a.containerFormat,a.mediaTypes);if(!i){n.log(`Can't append "${a.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}y(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(i,t.segmentTiming.timestampOffset));try{for(var T,x=!0,k=(l=void 0,o(a.fragments));T=yield k.next(),!(m=T.done);){S=T.value,x=!1;try{const e=S;yield r.appendData(i,e)}finally{x=!0}}}catch(e){l={error:e}}finally{try{x||m||!(p=k.return)||(yield p.call(k))}finally{if(l)throw l.error}}}finally{h=!0}}}catch(e){d={error:e}}finally{try{h||u||!(f=E.return)||(yield f.call(E))}finally{if(d)throw d.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=u,t.appendSegment=d},10899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;const n=r(68668);class o extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function a(e,t,r){return void 0!==r?`"${e}" codecs don't match between track (${t}) and segment (${r})`:`Segment doesn't contain "${e}" codec, but track does`}function i(e,t,r){const o=t.split(".")[0],i=r.find((e=>o===e.split(".")[0])),s=e.registry.get(n.BundleExportNames.Logger);i?t!==i&&s.log(`Codecs don't match between track and segment (${t}, ${i})`):s.warn(a(t))}function s(e,t,r,s){var c;const u=e.registry.get(n.BundleExportNames.Logger),[d,f]=null!==(c=s.find((([e])=>e===t)))&&void 0!==c?c:[];if(!f)throw new o(t);if(r.length===f.length)for(const t of r)i(e,t,f);else u.warn(a(t,r,f))}function c(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)s(e,n,o,r)}t.verifyCodecs=c},76410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(91270),o=r(55225),a=r(24693);function i(e){const{ContainerFormat:t}=e.registry.get(a.StreamDataStructureSegments),{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:a}=e.effects,{containerFormatMap:s}=o,c=i(e),u=t.filter((e=>c.includes(e)))[0],d=r.selectionGroup;return a.dispatch(s.add,d,u),u}]))},79284:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(91270),a=r(14809),i=r(1146),s=r(69104),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{subscribeAndRun:r}=t.registry.get(a.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(a.CoreExportNames.Utils).State;for(const[n,o]of e)r(t,o,s.SegmentDataStreamSubscriber);return t.effects.loop(t.abortSignal)}))));function d(e){const t=e.registry.get(i.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(a.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=d},69104:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(91270),a=r(14809),i=r(30158),s=r(24693),c=r(33983),u=r(76410),d=r(42269);function f(e,t,r){const{createTransient:n}=e.registry.get(a.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,u.SelectContainerFormatTask)(e)}}function g(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,c.getOrCreateOutputStream)(e,r,t),s=f(e,t,o),u=e.registry.get(i.SegmentProcessingExportNames.SegmentProcessingComponent),g=(0,d.subscribeToTransients)(e,s),{DataStreamClearedError:m,DataStreamClosedError:l}=e.registry.get(a.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(a.CoreExportNames.CoreStateAtoms).Queue,S=e=>[l,m,p].some((t=>e instanceof t));try{yield e.fork(u.process,s,S)}catch(e){const a=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,a),r.delete(t),!S(a))throw a}finally{g()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(s.StreamDataStructureSegments),n=r(e)?[e,e.initSegment]:[e];yield Promise.all(n.map((e=>g(t,e))))}))))},42269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(91270),o=r(68668),a=r(24693),i=r(66895),s=r(10899);function c(e,{value:t},r){if(void 0===t)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:n}=r.registry.get(i.StreamDataStructureTracks),{track:a}=e;if(!n(a))return;const c=[],u=Object.keys(t);for(const e of u)c.push([e,t[e]]);if(0===a.codecs.size){r.registry.get(o.BundleExportNames.Logger).log("Parsed codecs from segment",c),r.effects.state.dispatch(a.codecs.setAll,c)}else(0,s.verifyCodecs)(r,a,c)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(a.StreamDataStructureSegments),{state:o}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:i,dataParsed:s}=e.segmentTiming;o.dispatch(s,t.value,i)}function d(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(a.StreamDataStructureSegments),{state:o}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:i,encodedDuration:s,dataParsed:c}=e.segmentTiming;-1===i&&o.dispatch(c,s,t.value)}function f(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",c.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",u.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",d.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=f},30158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessorType=t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={})),function(e){e.Decryptor="decryptor",e.Parser="parser",e.Preprocessor="preprocessor",e.Transmuxer="transmuxer",e.Postprocessor="postprocessor"}(t.SegmentProcessorType||(t.SegmentProcessorType={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const n=r(24693),o=r(27134),a=r(94503),i=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[n.StreamDataStructureSegments,o.StreamDataStructureSelectionGroups,i.StreamDataStructureTracks,a.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r(55388)})()));
@@ -5,6 +5,6 @@
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.2.0-beta.2
8
+ * Bitmovin Player X Version 10.2.0-beta.4
9
9
  *******************************************************************************/
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function a(e,t,a){const o=t;return o._name=e,{onAdd:o,dependencies:a}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=a},91270:(e,t)=>{function a(e,t){const a=t;return a._name=e,a}function o(e){return(...t)=>{const[o,r]=e(...t);return a(o,r)}}function r(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=a,t.createTaskClosure=o,t.getTaskName=r},68668:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BundleExportNames=void 0,function(e){e.Logger="logger",e.PlayerConfig="player-config"}(t.BundleExportNames||(t.BundleExportNames={}))},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},25320:(e,t)=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.LoadControl=t.PlaybackTechnology=t.ResourceType=t.ContentType=t.Version=t.MediaTypeValues=t.Codec=t.SubtitleFormatType=t.MediaType=void 0,function(e){e.Audio="audio",e.Video="video",e.Muxed="muxed",e.Subtitle="subtitle",e.Thumbnail="thumbnail",e.Unknown="unknown"}(a=t.MediaType||(t.MediaType={})),function(e){e.WebVTT="webvtt",e.Unknown="unknown"}(t.SubtitleFormatType||(t.SubtitleFormatType={})),function(e){e.Mp4a="mp4a",e.AVC="avc1",e.HEVC="hvc1",e.ADTS="adts",e.Unknown="unknown"}(t.Codec||(t.Codec={})),t.MediaTypeValues=Object.values(a),t.Version="10.2.0-beta.2",function(e){e.Content="content",e.Advertisement="advertisement"}(t.ContentType||(t.ContentType={})),function(e){e.Hls="hls",e.Dash="dash",e.Progressive="progressive"}(t.ResourceType||(t.ResourceType={})),function(e){e.Mse="mse",e.WebRtc="webrtc",e.WebCodecs="webcodecs",e.Native="native"}(t.PlaybackTechnology||(t.PlaybackTechnology={})),function(e){e[e.Nothing=0]="Nothing",e[e.Metadata=1]="Metadata",e[e.Data=2]="Data"}(t.LoadControl||(t.LoadControl={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},49753:(e,t)=>{var a;function o(e){return e.type===a.Manifest}function r(e){return e.type===a.Presentation}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyComponent=t.isPresentationEntry=t.isManifestEntry=t.PlaybackTechnologyEntryType=void 0,function(e){e.Presentation="presentation",e.Manifest="manifest"}(a=t.PlaybackTechnologyEntryType||(t.PlaybackTechnologyEntryType={})),t.isManifestEntry=o,t.isPresentationEntry=r,t.PlaybackTechnologyComponent="playback-technology-component"},72296:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackPackage=void 0;const o=a(97085),r=a(43086),n=a(74447);t.NativePlaybackPackage=(0,o.createPackage)("native-playback-package",((e,t)=>{e.api.packages.add(n.default),e.api.packages.add(r.default)}),[]),t.default=t.NativePlaybackPackage},43086:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyPackage=t.isNativeSupported=void 0;const o=a(97085),r=a(55225),n=a(25320),i=a(14809),s=a(49753),c=a(59263);function l(e,t,a){return a===n.PlaybackTechnology.Native&&(e.type===n.ResourceType.Hls&&t.hlsSupported()||e.type===n.ResourceType.Progressive&&t.progressiveSupported())}t.isNativeSupported=l,t.NativePlaybackTechnologyPackage=(0,o.createPackage)("native-playback-technology-package",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(i.CoreExportNames.CoreEffects),n=t.using(a,o),u=n.registry.get(s.PlaybackTechnologyComponent),p=n.registry.get(r.CapabilitiesExportNames.PlatformCapabilities),d={name:"native-playback-tech",type:s.PlaybackTechnologyEntryType.Presentation,depends:[],supported:(e,t)=>l(e,p,t),instantiate:c.NativePlaybackTechnologyTask},y=u.addTechnology(d);n.abortSignal.addEventListener("abort",y)}),[s.PlaybackTechnologyComponent,i.CoreExportNames.Constants,i.CoreExportNames.CoreStateAtoms,i.CoreExportNames.CoreEffects,r.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.NativePlaybackTechnologyPackage},59263:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyTask=void 0;const o=a(91270),r=a(43379),n=a(54472);t.NativePlaybackTechnologyTask=(0,o.createTask)("native-playback-tech-task",((e,t)=>{const a=(0,r.createNativePresentationStateAtom)(t,e);return t.registry.set(n.NativePresentationState,a),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(n.NativePresentationState)})),t.effects.loop(t.abortSignal)}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},43379:(e,t)=>{function a(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createNativePresentationStateAtom=void 0,t.createNativePresentationStateAtom=a},74447:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=a(97085),r=a(68668),n=a(14809),i=a(7269),s=a(54472),c=a(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(n.CoreExportNames.CoreEffects),r=t.using(a,o),{state:s}=r.effects,l=r.registry.get(i.SourceExportNames.SourceState),u=(0,c.VideoElementNativeSubscriber)();s.subscribe(r,l.video,u)}),[r.BundleExportNames.Logger,n.CoreExportNames.Utils,n.CoreExportNames.Constants,i.SourceExportNames.SourceState,n.CoreExportNames.CoreStateAtoms,n.CoreExportNames.CoreEffects,s.NativePresentationState]),t.default=t.NativePresentationPackage},67418:(e,t)=>{function a(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.removeChild(e.firstChild);e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=a},41586:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=a(91270),r=a(68668),n=a(14809),i=a(7269),s=a(54472),c=a(67418);function l(e,t){const a=document.createElement("source");return a.src=e,t&&(a.type=t),a}const u=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,a)=>{const{state:o}=a.effects,r=a.registry.get(i.SourceExportNames.SourceState);isFinite(e.duration)&&o.dispatch(r.playback.duration.setValue,e.duration),o.dispatch(r.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native-video-element-subscriber",(e,t)=>{const{registry:a,effects:o,abortSignal:i}=t,{loop:p,abortable:d,events:y}=o,v=a.get(r.BundleExportNames.Logger),f=a.get(s.NativePresentationState),{ResourceType:b}=a.get(n.CoreExportNames.Constants);if(void 0===e.element)return v.log("Cannot set up native presentation task - no video element"),d((e=>e()));const m=e.element,g=f.resource;if((0,c.resetVideoSource)(m,v),void 0===g)throw new Error("No native-compatible resource found");if(v.log(`Setting native video source: ${g.url}`),g.type===b.Hls){const e=l(g.url);m.appendChild(e),m.load()}else m.src=g.url,m.load();return y.subscribe(t,m,"timeupdate",u(m)),p(i)}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function a(o){var r=t[o];if(void 0!==r)return r.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,a),n.exports}return a(72296)})()));
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function a(e,t,a){const o=t;return o._name=e,{onAdd:o,dependencies:a}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=a},91270:(e,t)=>{function a(e,t){const a=t;return a._name=e,a}function o(e){return(...t)=>{const[o,r]=e(...t);return a(o,r)}}function r(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=a,t.createTaskClosure=o,t.getTaskName=r},68668:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BundleExportNames=void 0,function(e){e.Logger="logger",e.PlayerConfig="player-config"}(t.BundleExportNames||(t.BundleExportNames={}))},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},25320:(e,t)=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.LoadControl=t.PlaybackTechnology=t.ResourceType=t.ContentType=t.Version=t.MediaTypeValues=t.Codec=t.SubtitleFormatType=t.MediaType=void 0,function(e){e.Audio="audio",e.Video="video",e.Muxed="muxed",e.Subtitle="subtitle",e.Thumbnail="thumbnail",e.Unknown="unknown"}(a=t.MediaType||(t.MediaType={})),function(e){e.WebVTT="webvtt",e.Unknown="unknown"}(t.SubtitleFormatType||(t.SubtitleFormatType={})),function(e){e.Mp4a="mp4a",e.AVC="avc1",e.HEVC="hvc1",e.ADTS="adts",e.Unknown="unknown"}(t.Codec||(t.Codec={})),t.MediaTypeValues=Object.values(a),t.Version="10.2.0-beta.4",function(e){e.Content="content",e.Advertisement="advertisement"}(t.ContentType||(t.ContentType={})),function(e){e.Hls="hls",e.Dash="dash",e.Progressive="progressive"}(t.ResourceType||(t.ResourceType={})),function(e){e.Mse="mse",e.WebRtc="webrtc",e.WebCodecs="webcodecs",e.Native="native"}(t.PlaybackTechnology||(t.PlaybackTechnology={})),function(e){e[e.Nothing=0]="Nothing",e[e.Metadata=1]="Metadata",e[e.Data=2]="Data"}(t.LoadControl||(t.LoadControl={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},49753:(e,t)=>{var a;function o(e){return e.type===a.Manifest}function r(e){return e.type===a.Presentation}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyComponent=t.isPresentationEntry=t.isManifestEntry=t.PlaybackTechnologyEntryType=void 0,function(e){e.Presentation="presentation",e.Manifest="manifest"}(a=t.PlaybackTechnologyEntryType||(t.PlaybackTechnologyEntryType={})),t.isManifestEntry=o,t.isPresentationEntry=r,t.PlaybackTechnologyComponent="playback-technology-component"},72296:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackPackage=void 0;const o=a(97085),r=a(12858),n=a(74447);t.NativePlaybackPackage=(0,o.createPackage)("native-playback-package",((e,t)=>{e.api.packages.add(n.default),e.api.packages.add(r.default)}),[]),t.default=t.NativePlaybackPackage},12858:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyPackage=t.isNativeSupported=void 0;const o=a(97085),r=a(55225),n=a(25320),i=a(14809),s=a(49753),c=a(59263);function l(e,t,a){return a===n.PlaybackTechnology.Native&&(e.type===n.ResourceType.Hls&&t.hlsSupported()||e.type===n.ResourceType.Progressive&&t.progressiveSupported())}t.isNativeSupported=l,t.NativePlaybackTechnologyPackage=(0,o.createPackage)("native-playback-technology-package",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(i.CoreExportNames.CoreEffects),n=t.using(a,o),u=n.registry.get(s.PlaybackTechnologyComponent),p=n.registry.get(r.CapabilitiesExportNames.PlatformCapabilities),d={name:"native-playback-tech",type:s.PlaybackTechnologyEntryType.Presentation,depends:[],supported:(e,t)=>l(e,p,t),instantiate:c.NativePlaybackTechnologyTask},y=u.addTechnology(d);n.abortSignal.addEventListener("abort",y)}),[s.PlaybackTechnologyComponent,i.CoreExportNames.Constants,i.CoreExportNames.CoreStateAtoms,i.CoreExportNames.CoreEffects,r.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.NativePlaybackTechnologyPackage},59263:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyTask=void 0;const o=a(91270),r=a(43379),n=a(54472);t.NativePlaybackTechnologyTask=(0,o.createTask)("native-playback-tech-task",((e,t)=>{const a=(0,r.createNativePresentationStateAtom)(t,e);return t.registry.set(n.NativePresentationState,a),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(n.NativePresentationState)})),t.effects.loop(t.abortSignal)}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},43379:(e,t)=>{function a(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createNativePresentationStateAtom=void 0,t.createNativePresentationStateAtom=a},74447:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=a(97085),r=a(68668),n=a(14809),i=a(7269),s=a(54472),c=a(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(n.CoreExportNames.CoreEffects),r=t.using(a,o),{state:s}=r.effects,l=r.registry.get(i.SourceExportNames.SourceState),u=(0,c.VideoElementNativeSubscriber)();s.subscribe(r,l.video,u)}),[r.BundleExportNames.Logger,n.CoreExportNames.Utils,n.CoreExportNames.Constants,i.SourceExportNames.SourceState,n.CoreExportNames.CoreStateAtoms,n.CoreExportNames.CoreEffects,s.NativePresentationState]),t.default=t.NativePresentationPackage},67418:(e,t)=>{function a(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.removeChild(e.firstChild);e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=a},41586:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=a(91270),r=a(68668),n=a(14809),i=a(7269),s=a(54472),c=a(67418);function l(e,t){const a=document.createElement("source");return a.src=e,t&&(a.type=t),a}const u=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,a)=>{const{state:o}=a.effects,r=a.registry.get(i.SourceExportNames.SourceState);isFinite(e.duration)&&o.dispatch(r.playback.duration.setValue,e.duration),o.dispatch(r.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native-video-element-subscriber",(e,t)=>{const{registry:a,effects:o,abortSignal:i}=t,{loop:p,abortable:d,events:y}=o,v=a.get(r.BundleExportNames.Logger),f=a.get(s.NativePresentationState),{ResourceType:b}=a.get(n.CoreExportNames.Constants);if(void 0===e.element)return v.log("Cannot set up native presentation task - no video element"),d((e=>e()));const m=e.element,g=f.resource;if((0,c.resetVideoSource)(m,v),void 0===g)throw new Error("No native-compatible resource found");if(v.log(`Setting native video source: ${g.url}`),g.type===b.Hls){const e=l(g.url);m.appendChild(e),m.load()}else m.src=g.url,m.load();return y.subscribe(t,m,"timeupdate",u(m)),p(i)}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function a(o){var r=t[o];if(void 0!==r)return r.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,a),n.exports}return a(72296)})()));
@@ -5,6 +5,6 @@
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.2.0-beta.2
8
+ * Bitmovin Player X Version 10.2.0-beta.4
9
9
  *******************************************************************************/
10
10
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const o=t;return o._name=e,{onAdd:o,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function o(e){return(...t)=>{const[o,a]=e(...t);return r(o,a)}}function a(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=o,t.getTaskName=a},68668:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BundleExportNames=void 0,function(e){e.Logger="logger",e.PlayerConfig="player-config"}(t.BundleExportNames||(t.BundleExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},74447:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=r(97085),a=r(68668),s=r(14809),n=r(7269),i=r(54472),c=r(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:o}=t.registry.get(s.CoreExportNames.CoreEffects),a=t.using(r,o),{state:i}=a.effects,u=a.registry.get(n.SourceExportNames.SourceState),d=(0,c.VideoElementNativeSubscriber)();i.subscribe(a,u.video,d)}),[a.BundleExportNames.Logger,s.CoreExportNames.Utils,s.CoreExportNames.Constants,n.SourceExportNames.SourceState,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,i.NativePresentationState]),t.default=t.NativePresentationPackage},67418:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.removeChild(e.firstChild);e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},41586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=r(91270),a=r(68668),s=r(14809),n=r(7269),i=r(54472),c=r(67418);function u(e,t){const r=document.createElement("source");return r.src=e,t&&(r.type=t),r}const d=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,r)=>{const{state:o}=r.effects,a=r.registry.get(n.SourceExportNames.SourceState);isFinite(e.duration)&&o.dispatch(a.playback.duration.setValue,e.duration),o.dispatch(a.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native-video-element-subscriber",(e,t)=>{const{registry:r,effects:o,abortSignal:n}=t,{loop:l,abortable:p,events:f}=o,v=r.get(a.BundleExportNames.Logger),m=r.get(i.NativePresentationState),{ResourceType:b}=r.get(s.CoreExportNames.Constants);if(void 0===e.element)return v.log("Cannot set up native presentation task - no video element"),p((e=>e()));const g=e.element,S=m.resource;if((0,c.resetVideoSource)(g,v),void 0===S)throw new Error("No native-compatible resource found");if(v.log(`Setting native video source: ${S.url}`),S.type===b.Hls){const e=u(S.url);g.appendChild(e),g.load()}else g.src=S.url,g.load();return f.subscribe(t,g,"timeupdate",d(g)),l(n)}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function r(o){var a=t[o];if(void 0!==a)return a.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}return r(74447)})()));