@videojs/html 10.0.0-beta.11 → 10.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (788) hide show
  1. package/cdn/abort-C7q_G_dT.js +2 -0
  2. package/cdn/abort-C7q_G_dT.js.map +1 -0
  3. package/cdn/abort-JT-ewLFq.js +22 -0
  4. package/cdn/abort-JT-ewLFq.js.map +1 -0
  5. package/cdn/audio-minimal.dev.js +23 -12
  6. package/cdn/audio-minimal.dev.js.map +1 -1
  7. package/cdn/audio-minimal.js +1 -1
  8. package/cdn/audio-minimal.js.map +1 -1
  9. package/cdn/audio.dev.js +72 -57
  10. package/cdn/audio.dev.js.map +1 -1
  11. package/cdn/audio.js +1 -1
  12. package/cdn/audio.js.map +1 -1
  13. package/cdn/background.dev.js +3 -4
  14. package/cdn/background.dev.js.map +1 -1
  15. package/cdn/background.js +1 -1
  16. package/cdn/background.js.map +1 -1
  17. package/cdn/{create-player-AcfnN3li.js → create-player-C2h3JeGl.js} +103 -19
  18. package/cdn/create-player-C2h3JeGl.js.map +1 -0
  19. package/cdn/create-player-i0Q36S9_.js +7 -0
  20. package/cdn/create-player-i0Q36S9_.js.map +1 -0
  21. package/cdn/{default-cLso8BHO.js → default-CKnlVEjQ.js} +1 -1
  22. package/cdn/{default-cLso8BHO.js.map → default-CKnlVEjQ.js.map} +1 -1
  23. package/cdn/{default-GgKND7a8.js → default-CnBlD9BM.js} +1 -1
  24. package/cdn/{default-GgKND7a8.js.map → default-CnBlD9BM.js.map} +1 -1
  25. package/cdn/{delegate-CzAcT1xm.js → delegate-AoR5Pt_6.js} +16 -3
  26. package/cdn/delegate-AoR5Pt_6.js.map +1 -0
  27. package/cdn/delegate-odoSeh7c.js +2 -0
  28. package/cdn/delegate-odoSeh7c.js.map +1 -0
  29. package/cdn/hls-CNDMNsEo.js +41 -0
  30. package/cdn/hls-CNDMNsEo.js.map +1 -0
  31. package/cdn/hls-DHwATYV2.js +28663 -0
  32. package/cdn/hls-DHwATYV2.js.map +1 -0
  33. package/cdn/{listen-YSH3Jfyk.js → listen-BkAEGXCe.js} +1 -1
  34. package/cdn/{listen-YSH3Jfyk.js.map → listen-BkAEGXCe.js.map} +1 -1
  35. package/cdn/{listen-4jqsRSKo.js → listen-UqQNdlqV.js} +1 -1
  36. package/cdn/{listen-4jqsRSKo.js.map → listen-UqQNdlqV.js.map} +1 -1
  37. package/cdn/media/dash-video.dev.js +10 -17
  38. package/cdn/media/dash-video.dev.js.map +1 -1
  39. package/cdn/media/dash-video.js +3 -3
  40. package/cdn/media/dash-video.js.map +1 -1
  41. package/cdn/media/hls-video.dev.js +5 -28336
  42. package/cdn/media/hls-video.dev.js.map +1 -1
  43. package/cdn/media/hls-video.js +1 -40
  44. package/cdn/media/hls-video.js.map +1 -1
  45. package/cdn/media/mux-video.dev.d.ts +1 -0
  46. package/cdn/media/mux-video.dev.js +3122 -0
  47. package/cdn/media/mux-video.dev.js.map +1 -0
  48. package/cdn/media/mux-video.js +25 -0
  49. package/cdn/media/mux-video.js.map +1 -0
  50. package/cdn/media/simple-hls-video.dev.js +2286 -2094
  51. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  52. package/cdn/media/simple-hls-video.js +58 -1
  53. package/cdn/media/simple-hls-video.js.map +1 -1
  54. package/cdn/media-attach-mixin-ByJOWMNT.js +2 -0
  55. package/cdn/{media-attach-mixin-D5_nfJpa.js.map → media-attach-mixin-ByJOWMNT.js.map} +1 -1
  56. package/cdn/{media-attach-mixin-U_KQB_9O.js → media-attach-mixin-CkU58gjb.js} +2 -2
  57. package/cdn/{media-attach-mixin-U_KQB_9O.js.map → media-attach-mixin-CkU58gjb.js.map} +1 -1
  58. package/cdn/{custom-media-element-DqevSVgS.js → media-props-mixin-BuVUebRp.js} +2 -2
  59. package/cdn/media-props-mixin-BuVUebRp.js.map +1 -0
  60. package/cdn/{custom-media-element-moFa3UZp.js → media-props-mixin-DxsM38Bx.js} +44 -2
  61. package/cdn/media-props-mixin-DxsM38Bx.js.map +1 -0
  62. package/cdn/{minimal-BJfleQcQ.js → minimal-CKMdOXWm.js} +1 -1
  63. package/cdn/{minimal-BJfleQcQ.js.map → minimal-CKMdOXWm.js.map} +1 -1
  64. package/cdn/{minimal-DBMdC_0I.js → minimal-fA2p2Jrn.js} +1 -1
  65. package/cdn/{minimal-DBMdC_0I.js.map → minimal-fA2p2Jrn.js.map} +1 -1
  66. package/cdn/{player-CvrOeLpy.js → player-BWRklsUx.js} +3 -3
  67. package/cdn/{player-CvrOeLpy.js.map → player-BWRklsUx.js.map} +1 -1
  68. package/cdn/player-DOTrw60d.js +2 -0
  69. package/cdn/{player-C46h14iP.js.map → player-DOTrw60d.js.map} +1 -1
  70. package/cdn/poster-CRi_NWaR.js +2 -0
  71. package/cdn/{poster-odJ4iwIv.js.map → poster-CRi_NWaR.js.map} +1 -1
  72. package/cdn/{poster-Olv5zDI_.js → poster-Ds1EOmmU.js} +4 -5
  73. package/cdn/{poster-Olv5zDI_.js.map → poster-Ds1EOmmU.js.map} +1 -1
  74. package/cdn/{context-Be8C5kVd.js → safe-define-Bw8JF08z.js} +22 -4
  75. package/cdn/safe-define-Bw8JF08z.js.map +1 -0
  76. package/cdn/safe-define-t0AGOouq.js +14 -0
  77. package/cdn/safe-define-t0AGOouq.js.map +1 -0
  78. package/cdn/shallow-equal-CaIo44Co.js +15 -0
  79. package/cdn/shallow-equal-CaIo44Co.js.map +1 -0
  80. package/cdn/shallow-equal-zo2IZwso.js +2 -0
  81. package/cdn/shallow-equal-zo2IZwso.js.map +1 -0
  82. package/cdn/video-minimal.dev.js +24 -13
  83. package/cdn/video-minimal.dev.js.map +1 -1
  84. package/cdn/video-minimal.js +1 -1
  85. package/cdn/video-minimal.js.map +1 -1
  86. package/cdn/video.dev.js +107 -92
  87. package/cdn/video.dev.js.map +1 -1
  88. package/cdn/video.js +1 -1
  89. package/cdn/video.js.map +1 -1
  90. package/cdn/volume-slider-C7rEWi11.js +9 -0
  91. package/cdn/volume-slider-C7rEWi11.js.map +1 -0
  92. package/cdn/{volume-slider-D7BOdSDF.js → volume-slider-Dz_ND_4U.js} +245 -14
  93. package/cdn/volume-slider-Dz_ND_4U.js.map +1 -0
  94. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
  95. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  96. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +2 -2
  97. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  98. package/dist/default/_virtual/inline-css_src/define/background/skin.js +1 -1
  99. package/dist/default/_virtual/inline-css_src/define/background/skin.js.map +1 -1
  100. package/dist/default/_virtual/inline-css_src/define/base.js +1 -1
  101. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -1
  102. package/dist/default/_virtual/inline-css_src/define/shared.js +1 -1
  103. package/dist/default/_virtual/inline-css_src/define/shared.js.map +1 -1
  104. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
  105. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  106. package/dist/default/_virtual/inline-css_src/define/video/skin.js +2 -2
  107. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  108. package/dist/default/define/audio/minimal-skin.css +81 -59
  109. package/dist/default/define/audio/minimal-skin.js +5 -4
  110. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  111. package/dist/default/define/audio/minimal-skin.tailwind.js +6 -5
  112. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  113. package/dist/default/define/audio/player.js +1 -2
  114. package/dist/default/define/audio/player.js.map +1 -1
  115. package/dist/default/define/audio/skin.css +54 -42
  116. package/dist/default/define/audio/skin.js +5 -4
  117. package/dist/default/define/audio/skin.js.map +1 -1
  118. package/dist/default/define/audio/skin.tailwind.js +7 -5
  119. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  120. package/dist/default/define/background/player.js +1 -2
  121. package/dist/default/define/background/player.js.map +1 -1
  122. package/dist/default/define/background/skin.js +1 -2
  123. package/dist/default/define/background/skin.js.map +1 -1
  124. package/dist/default/define/background/video.js +1 -2
  125. package/dist/default/define/media/background-video.js +1 -2
  126. package/dist/default/define/media/background-video.js.map +1 -1
  127. package/dist/default/define/media/container.js +1 -2
  128. package/dist/default/define/media/container.js.map +1 -1
  129. package/dist/default/define/media/dash-video.js +1 -2
  130. package/dist/default/define/media/dash-video.js.map +1 -1
  131. package/dist/default/define/media/hls-video.js +1 -2
  132. package/dist/default/define/media/hls-video.js.map +1 -1
  133. package/dist/default/define/media/mux-video.js +13 -0
  134. package/dist/default/define/media/mux-video.js.map +1 -0
  135. package/dist/default/define/media/native-hls-video.js +13 -0
  136. package/dist/default/define/media/native-hls-video.js.map +1 -0
  137. package/dist/default/define/media/simple-hls-video.js +3 -3
  138. package/dist/default/define/media/simple-hls-video.js.map +1 -1
  139. package/dist/default/define/safe-define.js +4 -2
  140. package/dist/default/define/safe-define.js.map +1 -1
  141. package/dist/default/define/skin-mixin.js +30 -11
  142. package/dist/default/define/skin-mixin.js.map +1 -1
  143. package/dist/default/define/ui/alert-dialog-close.js +1 -2
  144. package/dist/default/define/ui/alert-dialog-close.js.map +1 -1
  145. package/dist/default/define/ui/alert-dialog-description.js +1 -2
  146. package/dist/default/define/ui/alert-dialog-description.js.map +1 -1
  147. package/dist/default/define/ui/alert-dialog-title.js +1 -2
  148. package/dist/default/define/ui/alert-dialog-title.js.map +1 -1
  149. package/dist/default/define/ui/alert-dialog.js +1 -2
  150. package/dist/default/define/ui/alert-dialog.js.map +1 -1
  151. package/dist/default/define/ui/buffering-indicator.js +1 -2
  152. package/dist/default/define/ui/buffering-indicator.js.map +1 -1
  153. package/dist/default/define/ui/captions-button.js +3 -3
  154. package/dist/default/define/ui/captions-button.js.map +1 -1
  155. package/dist/default/define/ui/controls-group.js +1 -2
  156. package/dist/default/define/ui/controls-group.js.map +1 -1
  157. package/dist/default/define/ui/controls.js +1 -2
  158. package/dist/default/define/ui/controls.js.map +1 -1
  159. package/dist/default/define/ui/error-dialog.js +13 -0
  160. package/dist/default/define/ui/error-dialog.js.map +1 -0
  161. package/dist/default/define/ui/fullscreen-button.js +1 -2
  162. package/dist/default/define/ui/fullscreen-button.js.map +1 -1
  163. package/dist/default/define/ui/mute-button.js +1 -2
  164. package/dist/default/define/ui/mute-button.js.map +1 -1
  165. package/dist/default/define/ui/pip-button.js +1 -2
  166. package/dist/default/define/ui/pip-button.js.map +1 -1
  167. package/dist/default/define/ui/play-button.js +1 -2
  168. package/dist/default/define/ui/play-button.js.map +1 -1
  169. package/dist/default/define/ui/playback-rate-button.js +1 -2
  170. package/dist/default/define/ui/playback-rate-button.js.map +1 -1
  171. package/dist/default/define/ui/popover.js +1 -2
  172. package/dist/default/define/ui/popover.js.map +1 -1
  173. package/dist/default/define/ui/poster.js +1 -2
  174. package/dist/default/define/ui/poster.js.map +1 -1
  175. package/dist/default/define/ui/seek-button.js +1 -2
  176. package/dist/default/define/ui/seek-button.js.map +1 -1
  177. package/dist/default/define/ui/slider-buffer.js +1 -2
  178. package/dist/default/define/ui/slider-buffer.js.map +1 -1
  179. package/dist/default/define/ui/slider-fill.js +1 -2
  180. package/dist/default/define/ui/slider-fill.js.map +1 -1
  181. package/dist/default/define/ui/slider-thumb.js +1 -2
  182. package/dist/default/define/ui/slider-thumb.js.map +1 -1
  183. package/dist/default/define/ui/slider-thumbnail.js +1 -2
  184. package/dist/default/define/ui/slider-thumbnail.js.map +1 -1
  185. package/dist/default/define/ui/slider-track.js +1 -2
  186. package/dist/default/define/ui/slider-track.js.map +1 -1
  187. package/dist/default/define/ui/slider-value.js +1 -2
  188. package/dist/default/define/ui/slider-value.js.map +1 -1
  189. package/dist/default/define/ui/slider.js +1 -2
  190. package/dist/default/define/ui/slider.js.map +1 -1
  191. package/dist/default/define/ui/thumbnail.js +1 -2
  192. package/dist/default/define/ui/thumbnail.js.map +1 -1
  193. package/dist/default/define/ui/time-group.js +1 -2
  194. package/dist/default/define/ui/time-group.js.map +1 -1
  195. package/dist/default/define/ui/time-separator.js +1 -2
  196. package/dist/default/define/ui/time-separator.js.map +1 -1
  197. package/dist/default/define/ui/time-slider.js +1 -2
  198. package/dist/default/define/ui/time-slider.js.map +1 -1
  199. package/dist/default/define/ui/time.js +1 -2
  200. package/dist/default/define/ui/time.js.map +1 -1
  201. package/dist/default/define/ui/tooltip-group.js +1 -2
  202. package/dist/default/define/ui/tooltip-group.js.map +1 -1
  203. package/dist/default/define/ui/tooltip.js +1 -2
  204. package/dist/default/define/ui/tooltip.js.map +1 -1
  205. package/dist/default/define/ui/volume-slider.js +1 -2
  206. package/dist/default/define/ui/volume-slider.js.map +1 -1
  207. package/dist/default/define/video/minimal-skin.css +156 -75
  208. package/dist/default/define/video/minimal-skin.js +5 -4
  209. package/dist/default/define/video/minimal-skin.js.map +1 -1
  210. package/dist/default/define/video/minimal-skin.tailwind.js +6 -7
  211. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  212. package/dist/default/define/video/player.js +1 -2
  213. package/dist/default/define/video/player.js.map +1 -1
  214. package/dist/default/define/video/skin.css +114 -58
  215. package/dist/default/define/video/skin.js +5 -4
  216. package/dist/default/define/video/skin.js.map +1 -1
  217. package/dist/default/define/video/skin.tailwind.js +6 -6
  218. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  219. package/dist/default/icons/dist/render/default/index.js +1 -1
  220. package/dist/default/icons/dist/render/minimal/index.js +1 -1
  221. package/dist/default/index.js +3 -4
  222. package/dist/default/media/background-video/index.js +1 -2
  223. package/dist/default/media/background-video/index.js.map +1 -1
  224. package/dist/default/media/container-element.js +1 -2
  225. package/dist/default/media/container-element.js.map +1 -1
  226. package/dist/default/media/dash-video/index.js +4 -12
  227. package/dist/default/media/dash-video/index.js.map +1 -1
  228. package/dist/default/media/hls-video/index.js +4 -12
  229. package/dist/default/media/hls-video/index.js.map +1 -1
  230. package/dist/default/media/mux-video/index.js +18 -0
  231. package/dist/default/media/mux-video/index.js.map +1 -0
  232. package/dist/default/media/native-hls-video/index.js +18 -0
  233. package/dist/default/media/native-hls-video/index.js.map +1 -0
  234. package/dist/default/media/simple-hls-video/index.js +4 -12
  235. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  236. package/dist/default/player/context.js +1 -2
  237. package/dist/default/player/context.js.map +1 -1
  238. package/dist/default/player/create-player.js +1 -2
  239. package/dist/default/player/create-player.js.map +1 -1
  240. package/dist/default/player/player-controller.js +1 -2
  241. package/dist/default/player/player-controller.js.map +1 -1
  242. package/dist/default/presets/audio.js +1 -2
  243. package/dist/default/presets/background.js +1 -2
  244. package/dist/default/presets/video.js +1 -2
  245. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +14 -18
  246. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  247. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  248. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  249. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  250. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  251. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -4
  252. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  253. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
  254. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  255. package/dist/default/skins/dist/default/default/tailwind/components/error.js +2 -3
  256. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  257. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
  258. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  259. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  260. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  261. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  262. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  263. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -5
  264. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  265. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -2
  266. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  267. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +2 -3
  268. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  269. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
  270. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  271. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -2
  272. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  273. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
  274. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  275. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
  276. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  277. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  278. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  279. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +25 -20
  280. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  281. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +15 -16
  282. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  283. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  284. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  285. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  286. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  287. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +2 -3
  288. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  289. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  290. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  291. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +2 -3
  292. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  293. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  294. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  295. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  296. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  297. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +1 -1
  298. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  299. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +2 -3
  300. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  301. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -2
  302. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  303. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +2 -3
  304. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  305. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  306. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  307. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -2
  308. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  309. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  310. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  311. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  312. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  313. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +23 -18
  314. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  315. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +1 -1
  316. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  317. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js +1 -1
  318. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -1
  319. package/dist/default/store/container-mixin.js +1 -2
  320. package/dist/default/store/container-mixin.js.map +1 -1
  321. package/dist/default/store/media-attach-mixin.js +1 -2
  322. package/dist/default/store/media-attach-mixin.js.map +1 -1
  323. package/dist/default/store/provider-mixin.js +1 -2
  324. package/dist/default/store/provider-mixin.js.map +1 -1
  325. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  326. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  327. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  328. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  329. package/dist/default/ui/alert-dialog/alert-dialog-element.js +1 -2
  330. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  331. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  332. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  333. package/dist/default/ui/alert-dialog/context.js +2 -5
  334. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  335. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +1 -2
  336. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  337. package/dist/default/ui/captions-button/captions-button-element.js +1 -2
  338. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
  339. package/dist/default/ui/context-part-element.js +1 -2
  340. package/dist/default/ui/context-part-element.js.map +1 -1
  341. package/dist/default/ui/controls/context.js +2 -5
  342. package/dist/default/ui/controls/context.js.map +1 -1
  343. package/dist/default/ui/controls/controls-element.js +1 -2
  344. package/dist/default/ui/controls/controls-element.js.map +1 -1
  345. package/dist/default/ui/controls/controls-group-element.js +1 -2
  346. package/dist/default/ui/controls/controls-group-element.js.map +1 -1
  347. package/dist/default/ui/error-dialog/error-dialog-element.js +76 -0
  348. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -0
  349. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +1 -2
  350. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  351. package/dist/default/ui/media-button-element.js +1 -2
  352. package/dist/default/ui/media-button-element.js.map +1 -1
  353. package/dist/default/ui/media-element.js +1 -2
  354. package/dist/default/ui/media-element.js.map +1 -1
  355. package/dist/default/ui/media-ui-element.js +1 -2
  356. package/dist/default/ui/media-ui-element.js.map +1 -1
  357. package/dist/default/ui/mute-button/mute-button-element.js +1 -2
  358. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  359. package/dist/default/ui/pip-button/pip-button-element.js +1 -2
  360. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  361. package/dist/default/ui/play-button/play-button-element.js +1 -2
  362. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  363. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  364. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  365. package/dist/default/ui/popover/popover-element.js +1 -2
  366. package/dist/default/ui/popover/popover-element.js.map +1 -1
  367. package/dist/default/ui/poster/poster-element.js +1 -2
  368. package/dist/default/ui/poster/poster-element.js.map +1 -1
  369. package/dist/default/ui/seek-button/seek-button-element.js +1 -2
  370. package/dist/default/ui/seek-button/seek-button-element.js.map +1 -1
  371. package/dist/default/ui/slider/context.js +2 -5
  372. package/dist/default/ui/slider/context.js.map +1 -1
  373. package/dist/default/ui/slider/slider-buffer-element.js +1 -2
  374. package/dist/default/ui/slider/slider-buffer-element.js.map +1 -1
  375. package/dist/default/ui/slider/slider-element.js +1 -2
  376. package/dist/default/ui/slider/slider-element.js.map +1 -1
  377. package/dist/default/ui/slider/slider-fill-element.js +1 -2
  378. package/dist/default/ui/slider/slider-fill-element.js.map +1 -1
  379. package/dist/default/ui/slider/slider-preview-element.js +1 -2
  380. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  381. package/dist/default/ui/slider/slider-thumb-element.js +1 -2
  382. package/dist/default/ui/slider/slider-thumb-element.js.map +1 -1
  383. package/dist/default/ui/slider/slider-thumbnail-element.js +1 -2
  384. package/dist/default/ui/slider/slider-thumbnail-element.js.map +1 -1
  385. package/dist/default/ui/slider/slider-track-element.js +1 -2
  386. package/dist/default/ui/slider/slider-track-element.js.map +1 -1
  387. package/dist/default/ui/slider/slider-value-element.js +1 -2
  388. package/dist/default/ui/slider/slider-value-element.js.map +1 -1
  389. package/dist/default/ui/thumbnail/thumbnail-element.js +1 -2
  390. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  391. package/dist/default/ui/time/time-element.js +1 -2
  392. package/dist/default/ui/time/time-element.js.map +1 -1
  393. package/dist/default/ui/time/time-group-element.js +1 -2
  394. package/dist/default/ui/time/time-group-element.js.map +1 -1
  395. package/dist/default/ui/time/time-separator-element.js +1 -2
  396. package/dist/default/ui/time/time-separator-element.js.map +1 -1
  397. package/dist/default/ui/time-slider/time-slider-element.js +1 -2
  398. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  399. package/dist/default/ui/tooltip/context.js +2 -5
  400. package/dist/default/ui/tooltip/context.js.map +1 -1
  401. package/dist/default/ui/tooltip/tooltip-element.js +1 -2
  402. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  403. package/dist/default/ui/tooltip/tooltip-group-element.js +1 -2
  404. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  405. package/dist/default/ui/volume-slider/volume-slider-element.js +1 -2
  406. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  407. package/dist/default/utils/media-props-mixin.js +44 -0
  408. package/dist/default/utils/media-props-mixin.js.map +1 -0
  409. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
  410. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  411. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +2 -2
  412. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  413. package/dist/dev/_virtual/inline-css_src/define/background/skin.js +1 -1
  414. package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -1
  415. package/dist/dev/_virtual/inline-css_src/define/base.js +1 -1
  416. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -1
  417. package/dist/dev/_virtual/inline-css_src/define/shared.js +1 -1
  418. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -1
  419. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
  420. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  421. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +2 -2
  422. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  423. package/dist/dev/define/audio/minimal-skin.css +81 -59
  424. package/dist/dev/define/audio/minimal-skin.d.ts +2 -2
  425. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  426. package/dist/dev/define/audio/minimal-skin.js +20 -7
  427. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  428. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +1 -1
  429. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  430. package/dist/dev/define/audio/minimal-skin.tailwind.js +19 -6
  431. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  432. package/dist/dev/define/audio/player.js +1 -2
  433. package/dist/dev/define/audio/player.js.map +1 -1
  434. package/dist/dev/define/audio/skin.css +54 -42
  435. package/dist/dev/define/audio/skin.d.ts +2 -2
  436. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  437. package/dist/dev/define/audio/skin.js +69 -52
  438. package/dist/dev/define/audio/skin.js.map +1 -1
  439. package/dist/dev/define/audio/skin.tailwind.d.ts +1 -1
  440. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  441. package/dist/dev/define/audio/skin.tailwind.js +71 -53
  442. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  443. package/dist/dev/define/background/player.js +1 -2
  444. package/dist/dev/define/background/player.js.map +1 -1
  445. package/dist/dev/define/background/skin.js +1 -2
  446. package/dist/dev/define/background/skin.js.map +1 -1
  447. package/dist/dev/define/background/video.js +1 -2
  448. package/dist/dev/define/media/background-video.js +1 -2
  449. package/dist/dev/define/media/background-video.js.map +1 -1
  450. package/dist/dev/define/media/container.js +1 -2
  451. package/dist/dev/define/media/container.js.map +1 -1
  452. package/dist/dev/define/media/dash-video.js +1 -2
  453. package/dist/dev/define/media/dash-video.js.map +1 -1
  454. package/dist/dev/define/media/hls-video.js +1 -2
  455. package/dist/dev/define/media/hls-video.js.map +1 -1
  456. package/dist/dev/define/media/mux-video.d.ts +14 -0
  457. package/dist/dev/define/media/mux-video.d.ts.map +1 -0
  458. package/dist/dev/define/media/mux-video.js +13 -0
  459. package/dist/dev/define/media/mux-video.js.map +1 -0
  460. package/dist/dev/define/media/native-hls-video.d.ts +14 -0
  461. package/dist/dev/define/media/native-hls-video.d.ts.map +1 -0
  462. package/dist/dev/define/media/native-hls-video.js +13 -0
  463. package/dist/dev/define/media/native-hls-video.js.map +1 -0
  464. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -1
  465. package/dist/dev/define/media/simple-hls-video.js +3 -3
  466. package/dist/dev/define/media/simple-hls-video.js.map +1 -1
  467. package/dist/dev/define/safe-define.js +4 -2
  468. package/dist/dev/define/safe-define.js.map +1 -1
  469. package/dist/dev/define/skin-mixin.d.ts +4 -3
  470. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  471. package/dist/dev/define/skin-mixin.js +30 -11
  472. package/dist/dev/define/skin-mixin.js.map +1 -1
  473. package/dist/dev/define/ui/alert-dialog-close.js +1 -2
  474. package/dist/dev/define/ui/alert-dialog-close.js.map +1 -1
  475. package/dist/dev/define/ui/alert-dialog-description.js +1 -2
  476. package/dist/dev/define/ui/alert-dialog-description.js.map +1 -1
  477. package/dist/dev/define/ui/alert-dialog-title.js +1 -2
  478. package/dist/dev/define/ui/alert-dialog-title.js.map +1 -1
  479. package/dist/dev/define/ui/alert-dialog.js +1 -2
  480. package/dist/dev/define/ui/alert-dialog.js.map +1 -1
  481. package/dist/dev/define/ui/buffering-indicator.js +1 -2
  482. package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
  483. package/dist/dev/define/ui/captions-button.d.ts.map +1 -1
  484. package/dist/dev/define/ui/captions-button.js +3 -3
  485. package/dist/dev/define/ui/captions-button.js.map +1 -1
  486. package/dist/dev/define/ui/controls-group.js +1 -2
  487. package/dist/dev/define/ui/controls-group.js.map +1 -1
  488. package/dist/dev/define/ui/controls.js +1 -2
  489. package/dist/dev/define/ui/controls.js.map +1 -1
  490. package/dist/dev/define/ui/error-dialog.d.ts +9 -0
  491. package/dist/dev/define/ui/error-dialog.d.ts.map +1 -0
  492. package/dist/dev/define/ui/error-dialog.js +13 -0
  493. package/dist/dev/define/ui/error-dialog.js.map +1 -0
  494. package/dist/dev/define/ui/fullscreen-button.js +1 -2
  495. package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
  496. package/dist/dev/define/ui/mute-button.js +1 -2
  497. package/dist/dev/define/ui/mute-button.js.map +1 -1
  498. package/dist/dev/define/ui/pip-button.js +1 -2
  499. package/dist/dev/define/ui/pip-button.js.map +1 -1
  500. package/dist/dev/define/ui/play-button.js +1 -2
  501. package/dist/dev/define/ui/play-button.js.map +1 -1
  502. package/dist/dev/define/ui/playback-rate-button.js +1 -2
  503. package/dist/dev/define/ui/playback-rate-button.js.map +1 -1
  504. package/dist/dev/define/ui/popover.js +1 -2
  505. package/dist/dev/define/ui/popover.js.map +1 -1
  506. package/dist/dev/define/ui/poster.js +1 -2
  507. package/dist/dev/define/ui/poster.js.map +1 -1
  508. package/dist/dev/define/ui/seek-button.js +1 -2
  509. package/dist/dev/define/ui/seek-button.js.map +1 -1
  510. package/dist/dev/define/ui/slider-buffer.js +1 -2
  511. package/dist/dev/define/ui/slider-buffer.js.map +1 -1
  512. package/dist/dev/define/ui/slider-fill.js +1 -2
  513. package/dist/dev/define/ui/slider-fill.js.map +1 -1
  514. package/dist/dev/define/ui/slider-thumb.js +1 -2
  515. package/dist/dev/define/ui/slider-thumb.js.map +1 -1
  516. package/dist/dev/define/ui/slider-thumbnail.js +1 -2
  517. package/dist/dev/define/ui/slider-thumbnail.js.map +1 -1
  518. package/dist/dev/define/ui/slider-track.js +1 -2
  519. package/dist/dev/define/ui/slider-track.js.map +1 -1
  520. package/dist/dev/define/ui/slider-value.js +1 -2
  521. package/dist/dev/define/ui/slider-value.js.map +1 -1
  522. package/dist/dev/define/ui/slider.js +1 -2
  523. package/dist/dev/define/ui/slider.js.map +1 -1
  524. package/dist/dev/define/ui/thumbnail.js +1 -2
  525. package/dist/dev/define/ui/thumbnail.js.map +1 -1
  526. package/dist/dev/define/ui/time-group.js +1 -2
  527. package/dist/dev/define/ui/time-group.js.map +1 -1
  528. package/dist/dev/define/ui/time-separator.js +1 -2
  529. package/dist/dev/define/ui/time-separator.js.map +1 -1
  530. package/dist/dev/define/ui/time-slider.js +1 -2
  531. package/dist/dev/define/ui/time-slider.js.map +1 -1
  532. package/dist/dev/define/ui/time.js +1 -2
  533. package/dist/dev/define/ui/time.js.map +1 -1
  534. package/dist/dev/define/ui/tooltip-group.js +1 -2
  535. package/dist/dev/define/ui/tooltip-group.js.map +1 -1
  536. package/dist/dev/define/ui/tooltip.js +1 -2
  537. package/dist/dev/define/ui/tooltip.js.map +1 -1
  538. package/dist/dev/define/ui/volume-slider.js +1 -2
  539. package/dist/dev/define/ui/volume-slider.js.map +1 -1
  540. package/dist/dev/define/video/minimal-skin.css +156 -75
  541. package/dist/dev/define/video/minimal-skin.d.ts +2 -2
  542. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  543. package/dist/dev/define/video/minimal-skin.js +21 -8
  544. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  545. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +1 -1
  546. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  547. package/dist/dev/define/video/minimal-skin.tailwind.js +22 -11
  548. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  549. package/dist/dev/define/video/player.js +1 -2
  550. package/dist/dev/define/video/player.js.map +1 -1
  551. package/dist/dev/define/video/skin.css +114 -58
  552. package/dist/dev/define/video/skin.d.ts +2 -2
  553. package/dist/dev/define/video/skin.d.ts.map +1 -1
  554. package/dist/dev/define/video/skin.js +103 -86
  555. package/dist/dev/define/video/skin.js.map +1 -1
  556. package/dist/dev/define/video/skin.tailwind.d.ts +1 -1
  557. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  558. package/dist/dev/define/video/skin.tailwind.js +104 -88
  559. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  560. package/dist/dev/icons/dist/render/default/index.js +1 -1
  561. package/dist/dev/icons/dist/render/minimal/index.js +1 -1
  562. package/dist/dev/index.d.ts +3 -2
  563. package/dist/dev/index.js +3 -4
  564. package/dist/dev/media/background-video/index.js +1 -2
  565. package/dist/dev/media/background-video/index.js.map +1 -1
  566. package/dist/dev/media/container-element.js +1 -2
  567. package/dist/dev/media/container-element.js.map +1 -1
  568. package/dist/dev/media/dash-video/index.d.ts +0 -2
  569. package/dist/dev/media/dash-video/index.d.ts.map +1 -1
  570. package/dist/dev/media/dash-video/index.js +4 -12
  571. package/dist/dev/media/dash-video/index.js.map +1 -1
  572. package/dist/dev/media/hls-video/index.d.ts +0 -2
  573. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  574. package/dist/dev/media/hls-video/index.js +4 -12
  575. package/dist/dev/media/hls-video/index.js.map +1 -1
  576. package/dist/dev/media/mux-video/index.d.ts +11 -0
  577. package/dist/dev/media/mux-video/index.d.ts.map +1 -0
  578. package/dist/dev/media/mux-video/index.js +18 -0
  579. package/dist/dev/media/mux-video/index.js.map +1 -0
  580. package/dist/dev/media/native-hls-video/index.d.ts +11 -0
  581. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
  582. package/dist/dev/media/native-hls-video/index.js +18 -0
  583. package/dist/dev/media/native-hls-video/index.js.map +1 -0
  584. package/dist/dev/media/simple-hls-video/index.d.ts +0 -2
  585. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  586. package/dist/dev/media/simple-hls-video/index.js +4 -12
  587. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  588. package/dist/dev/player/context.js +1 -2
  589. package/dist/dev/player/context.js.map +1 -1
  590. package/dist/dev/player/create-player.js +1 -2
  591. package/dist/dev/player/create-player.js.map +1 -1
  592. package/dist/dev/player/player-controller.js +1 -2
  593. package/dist/dev/player/player-controller.js.map +1 -1
  594. package/dist/dev/presets/audio.js +1 -2
  595. package/dist/dev/presets/background.js +1 -2
  596. package/dist/dev/presets/video.js +1 -2
  597. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +14 -18
  598. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  599. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  600. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  601. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  602. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  603. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -4
  604. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  605. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
  606. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  607. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +2 -3
  608. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  609. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
  610. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  611. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  612. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  613. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  614. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  615. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -5
  616. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  617. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +1 -2
  618. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  619. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +2 -3
  620. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  621. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
  622. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  623. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -2
  624. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  625. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
  626. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  627. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
  628. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  629. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  630. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  631. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +25 -20
  632. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  633. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +15 -16
  634. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  635. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  636. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  637. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  638. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  639. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +2 -3
  640. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  641. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  642. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  643. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +2 -3
  644. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  645. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  646. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  647. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  648. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  649. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +1 -1
  650. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  651. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +2 -3
  652. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  653. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -2
  654. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  655. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +2 -3
  656. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  657. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  658. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  659. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -2
  660. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  661. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  662. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  663. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  664. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  665. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +23 -18
  666. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  667. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +1 -1
  668. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  669. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js +1 -1
  670. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -1
  671. package/dist/dev/store/container-mixin.js +1 -2
  672. package/dist/dev/store/container-mixin.js.map +1 -1
  673. package/dist/dev/store/media-attach-mixin.js +1 -2
  674. package/dist/dev/store/media-attach-mixin.js.map +1 -1
  675. package/dist/dev/store/provider-mixin.js +1 -2
  676. package/dist/dev/store/provider-mixin.js.map +1 -1
  677. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  678. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  679. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  680. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  681. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +1 -2
  682. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  683. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  684. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  685. package/dist/dev/ui/alert-dialog/context.js +2 -5
  686. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  687. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +1 -2
  688. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  689. package/dist/dev/ui/captions-button/captions-button-element.js +1 -2
  690. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
  691. package/dist/dev/ui/context-part-element.js +1 -2
  692. package/dist/dev/ui/context-part-element.js.map +1 -1
  693. package/dist/dev/ui/controls/context.js +2 -5
  694. package/dist/dev/ui/controls/context.js.map +1 -1
  695. package/dist/dev/ui/controls/controls-element.js +1 -2
  696. package/dist/dev/ui/controls/controls-element.js.map +1 -1
  697. package/dist/dev/ui/controls/controls-group-element.js +1 -2
  698. package/dist/dev/ui/controls/controls-group-element.js.map +1 -1
  699. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts +16 -0
  700. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -0
  701. package/dist/dev/ui/error-dialog/error-dialog-element.js +76 -0
  702. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -0
  703. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +1 -2
  704. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  705. package/dist/dev/ui/media-button-element.js +1 -2
  706. package/dist/dev/ui/media-button-element.js.map +1 -1
  707. package/dist/dev/ui/media-element.js +1 -2
  708. package/dist/dev/ui/media-element.js.map +1 -1
  709. package/dist/dev/ui/media-ui-element.js +1 -2
  710. package/dist/dev/ui/media-ui-element.js.map +1 -1
  711. package/dist/dev/ui/mute-button/mute-button-element.js +1 -2
  712. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  713. package/dist/dev/ui/pip-button/pip-button-element.js +1 -2
  714. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  715. package/dist/dev/ui/play-button/play-button-element.js +1 -2
  716. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  717. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  718. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  719. package/dist/dev/ui/popover/popover-element.js +1 -2
  720. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  721. package/dist/dev/ui/poster/poster-element.js +1 -2
  722. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  723. package/dist/dev/ui/seek-button/seek-button-element.js +1 -2
  724. package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -1
  725. package/dist/dev/ui/slider/context.js +2 -5
  726. package/dist/dev/ui/slider/context.js.map +1 -1
  727. package/dist/dev/ui/slider/slider-buffer-element.js +1 -2
  728. package/dist/dev/ui/slider/slider-buffer-element.js.map +1 -1
  729. package/dist/dev/ui/slider/slider-element.js +1 -2
  730. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  731. package/dist/dev/ui/slider/slider-fill-element.js +1 -2
  732. package/dist/dev/ui/slider/slider-fill-element.js.map +1 -1
  733. package/dist/dev/ui/slider/slider-preview-element.js +1 -2
  734. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  735. package/dist/dev/ui/slider/slider-thumb-element.js +1 -2
  736. package/dist/dev/ui/slider/slider-thumb-element.js.map +1 -1
  737. package/dist/dev/ui/slider/slider-thumbnail-element.js +1 -2
  738. package/dist/dev/ui/slider/slider-thumbnail-element.js.map +1 -1
  739. package/dist/dev/ui/slider/slider-track-element.js +1 -2
  740. package/dist/dev/ui/slider/slider-track-element.js.map +1 -1
  741. package/dist/dev/ui/slider/slider-value-element.js +1 -2
  742. package/dist/dev/ui/slider/slider-value-element.js.map +1 -1
  743. package/dist/dev/ui/thumbnail/thumbnail-element.js +1 -2
  744. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  745. package/dist/dev/ui/time/time-element.js +1 -2
  746. package/dist/dev/ui/time/time-element.js.map +1 -1
  747. package/dist/dev/ui/time/time-group-element.js +1 -2
  748. package/dist/dev/ui/time/time-group-element.js.map +1 -1
  749. package/dist/dev/ui/time/time-separator-element.js +1 -2
  750. package/dist/dev/ui/time/time-separator-element.js.map +1 -1
  751. package/dist/dev/ui/time-slider/time-slider-element.js +1 -2
  752. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  753. package/dist/dev/ui/tooltip/context.js +2 -5
  754. package/dist/dev/ui/tooltip/context.js.map +1 -1
  755. package/dist/dev/ui/tooltip/tooltip-element.js +1 -2
  756. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  757. package/dist/dev/ui/tooltip/tooltip-group-element.js +1 -2
  758. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  759. package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -2
  760. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  761. package/dist/dev/utils/media-props-mixin.js +44 -0
  762. package/dist/dev/utils/media-props-mixin.js.map +1 -0
  763. package/package.json +10 -10
  764. package/cdn/context-Be8C5kVd.js.map +0 -1
  765. package/cdn/context-CUBywtsB.js +0 -14
  766. package/cdn/context-CUBywtsB.js.map +0 -1
  767. package/cdn/create-player-AcfnN3li.js.map +0 -1
  768. package/cdn/create-player-s_qISCpw.js +0 -7
  769. package/cdn/create-player-s_qISCpw.js.map +0 -1
  770. package/cdn/custom-media-element-DqevSVgS.js.map +0 -1
  771. package/cdn/custom-media-element-moFa3UZp.js.map +0 -1
  772. package/cdn/delegate-CzAcT1xm.js.map +0 -1
  773. package/cdn/delegate-Uc-6tQDR.js +0 -2
  774. package/cdn/delegate-Uc-6tQDR.js.map +0 -1
  775. package/cdn/media-attach-mixin-D5_nfJpa.js +0 -2
  776. package/cdn/player-C46h14iP.js +0 -2
  777. package/cdn/poster-odJ4iwIv.js +0 -2
  778. package/cdn/predicate-BG-dj_kF.js +0 -26
  779. package/cdn/predicate-BG-dj_kF.js.map +0 -1
  780. package/cdn/predicate-Y9jDHLpX.js +0 -2
  781. package/cdn/predicate-Y9jDHLpX.js.map +0 -1
  782. package/cdn/safe-define-B8lHgj_K.js +0 -9
  783. package/cdn/safe-define-B8lHgj_K.js.map +0 -1
  784. package/cdn/safe-define-GrHW3P9e.js +0 -2
  785. package/cdn/safe-define-GrHW3P9e.js.map +0 -1
  786. package/cdn/volume-slider-D7BOdSDF.js.map +0 -1
  787. package/cdn/volume-slider-DPeFF5tt.js +0 -8
  788. package/cdn/volume-slider-DPeFF5tt.js.map +0 -1
@@ -1,2 +1,59 @@
1
- import{n as e}from"../predicate-Y9jDHLpX.js";import"../context-CUBywtsB.js";import{t}from"../listen-4jqsRSKo.js";import{t as n}from"../delegate-Uc-6tQDR.js";import{t as r}from"../media-attach-mixin-D5_nfJpa.js";import{t as i}from"../custom-media-element-DqevSVgS.js";const a=Symbol(`@videojs/spf/state`);function o(e,t){return Object.is(e,t)}var s=class{[a]=!0;#e;#t=null;#n=!1;#r;#i=new Set;#a=new Set;constructor(e,t){this.#e=typeof e==`object`&&e?{...e}:e,this.#r=t?.equalityFn??o}get current(){return this.#t??this.#e}patch(e){let t=this.#t??this.#e;if(typeof t!=`object`||!t){let n=e;Object.is(t,n)||(this.#t=n,this.#o());return}let n={...t},r=!1;for(let i in e){if(!Object.hasOwn(e,i))continue;let a=e[i];Object.is(t[i],a)||(n[i]=a,r=!0)}r&&(this.#t=n,this.#o())}subscribe(e,t,n){if(t===void 0){let t=e;return this.#i.add(t),t(this.current),()=>{this.#i.delete(t)}}let r=e,i=t,a={selector:r,listener:i,options:n??{}};return this.#a.add(a),i(r(this.current)),()=>{this.#a.delete(a)}}flush(){if(this.#t===null)return;let e=this.#e,t=this.#t;if(this.#t=null,this.#n=!1,!this.#r(e,t)){this.#e=t;for(let e of this.#i)e(this.#e);for(let t of this.#a){let n=t.selector(e),r=t.selector(this.#e);(t.options.equalityFn??Object.is)(n,r)||t.listener(r)}}}#o(){this.#n||(this.#n=!0,queueMicrotask(()=>this.flush()))}};function c(e,t){return new s(e,t)}function l(e){return Math.exp(Math.log(.5)/e)}function u(e,t,n,r){let i=l(r)**n;return t*(1-i)+i*e}function d(e,t,n){return t===0?0:e/(1-l(n)**t)}const f={fastHalfLife:2,slowHalfLife:5,minTotalBytes:128e3,minBytes:16e3,minDuration:5};function p(e,t,n,r=f){let i=e.bytesSampled+n;if(n<r.minBytes||t<r.minDuration)return{...e,bytesSampled:i};let a=8e3*n/t,o=t/1e3;return{fastEstimate:u(e.fastEstimate,a,o,r.fastHalfLife),fastTotalWeight:e.fastTotalWeight+o,slowEstimate:u(e.slowEstimate,a,o,r.slowHalfLife),slowTotalWeight:e.slowTotalWeight+o,bytesSampled:i}}function m(e,t,n=f){if(e.bytesSampled<n.minTotalBytes)return t;let r=d(e.fastEstimate,e.fastTotalWeight,n.fastHalfLife),i=d(e.slowEstimate,e.slowTotalWeight,n.slowHalfLife);return Math.min(r,i)}const h={bufferDuration:30};function ee(e,t,n=h){if(e.length===0)return 1/0;let r=t+n.bufferDuration,i=e.filter(e=>e.startTime>=r);return i.length===0?1/0:Math.min(...i.map(e=>e.startTime))}function g(e,t,n,r=h){if(e.length===0)return[];let i=n+r.bufferDuration,a=new Set(t.map(e=>e.startTime));return e.filter(e=>{let t=e.startTime+e.duration,r=e.startTime<i&&t>n,o=!a.has(e.startTime);return r&&o})}function _(e){return`segments`in e}function te(e){return e.duration!==void 0}const ne=2**17;var v=class{minChunkSize;#e;constructor(e,{minChunkSize:t=ne}={}){this.#e=e,this.minChunkSize=t}async*[Symbol.asyncIterator](){let e,t=this.#e.getReader();try{for(;;){let{done:n,value:r}=await t.read();if(n){e&&(yield e);break}e=e?re(e,r):r,e.length>=this.minChunkSize&&(yield e,e=void 0)}}finally{t.releaseLock()}}};function re(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}async function y(e,t){let n=new Headers(t?.headers);if(e.byteRange){let{start:t,end:r}=e.byteRange;n.set(`Range`,`bytes=${t}-${r}`)}let r=new Request(e.url,{method:`GET`,headers:n,...t});return fetch(r)}function b(e){return e.text()}function x(e){let t=t=>{let n=Array(e.length),r=Array(e.length).fill(!1),i=[];for(let a=0;a<e.length;a++){let o=e[a].subscribe(e=>{n[a]=e,r[a]=!0,r.every(e=>e)&&t([...n])});i.push(o)}return()=>{for(let e of i)e()}};return{subscribe(e,n,r){if(n===void 0)return t(e);let i=e,a=n,o=r?.equalityFn??Object.is,s,c=!1;return t(e=>{let t=i(e);(!c||!o(s,t))&&(s=t,c=!0,a(t))})}}}function S(e,t){return new URL(e,t).href}function ie(e){let t=new Map;for(let n of e.matchAll(/([A-Z0-9-]+)=(?:"([^"]*)"|([^,]*))/g)){let e=n[1],r=n[2]??n[3]??``;e&&t.set(e,r)}return t}function ae(e){let t=/^(\d+)x(\d+)$/.exec(e);return t?{width:Number.parseInt(t[1],10),height:Number.parseInt(t[2],10)}:null}function oe(e){let t=Number.parseFloat(e);if(!(Number.isNaN(t)||t<=0))return Math.abs(t-23.976)<.01?{frameRateNumerator:24e3,frameRateDenominator:1001}:Math.abs(t-29.97)<.01?{frameRateNumerator:3e4,frameRateDenominator:1001}:Math.abs(t-59.94)<.01?{frameRateNumerator:6e4,frameRateDenominator:1001}:(t%1,{frameRateNumerator:Math.round(t)})}function C(e){let t=e.split(`,`).map(e=>e.trim()),n={};for(let e of t)e.startsWith(`avc1.`)||e.startsWith(`hvc1.`)||e.startsWith(`hev1.`)?n.video=e:e.startsWith(`mp4a.`)&&(n.audio=e);return n}function se(e){let t=e.split(`,`)[0]??e,n=Number.parseFloat(t);return Number.isNaN(n)?0:n}function w(e,t){let n=/^(\d+)(?:@(\d+))?$/.exec(e);if(!n)return null;let r=Number.parseInt(n[1],10);if(Number.isNaN(r))return null;let i;if(n[2]!==void 0){if(i=Number.parseInt(n[2],10),Number.isNaN(i))return null}else if(t!==void 0)i=t;else return null;return{start:i,end:i+r-1}}function ce(e){let t=ie(e);return{get(e){return t.get(e)},getInt(e,n){let r=t.get(e);if(r===void 0)return n;let i=Number.parseInt(r,10);return Number.isNaN(i)?n:i},getFloat(e,n){let r=t.get(e);if(r===void 0)return n;let i=Number.parseFloat(r);return Number.isNaN(i)?n:i},getBool(e){return t.get(e)===`YES`},getResolution(e){let n=t.get(e);if(n)return ae(n)??void 0},getFrameRate(e){let n=t.get(e);if(n)return oe(n)}}}function T(e,t){let n=`#${t}:`;return e.startsWith(n)?ce(e.slice(n.length)):null}function le(e,t){let n=e.split(/\r?\n/),r=t.url,i=[],a,o,s=0,c,l=0,u=0,d;for(let e of n){let t=e.trim();if(!t||t.startsWith(`#`)&&!t.startsWith(`#EXT`)||t===`#EXTM3U`||t.startsWith(`#EXT-X-VERSION:`)||t.startsWith(`#EXT-X-TARGETDURATION:`)||t.startsWith(`#EXT-X-PLAYLIST-TYPE:`)||t.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let n=T(t,`EXT-X-MAP`);if(n){let e=n.get(`URI`);if(e){a=S(e,r);let t=n.get(`BYTERANGE`);t&&(o=w(t,0)??void 0)}continue}if(t.startsWith(`#EXTINF:`)){s=se(t.slice(8));continue}if(t.startsWith(`#EXT-X-BYTERANGE:`)){c=w(t.slice(17),d)??void 0;continue}if(t!==`#EXT-X-ENDLIST`&&!t.startsWith(`#`)&&s>0){let e={id:`segment-${u}`,url:S(t,r),duration:s,startTime:l};c?(e.byteRange=c,d=c.end+1):d=void 0,i.push(e),l+=s,u++,s=0,c=void 0}}let f=l,p=t.type===`text`&&!a?void 0:a?{url:a,...o?{byteRange:o}:{}}:{url:``};return{...t,startTime:0,duration:f,segments:i,initialization:p}}function E(){return`${Date.now()}-${Math.floor(Math.random()*1e6)}`}function ue(e,t){let n=t.url,r=e.split(/\r?\n/),i=[],a=[],o=[],s=null;for(let e of r){let t=e.trim();if(!t||t.startsWith(`#`)&&!t.startsWith(`#EXT`)||t===`#EXTM3U`||t.startsWith(`#EXT-X-VERSION:`)||t.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let r=T(t,`EXT-X-MEDIA`);if(r){let e=r.get(`TYPE`),t=r.get(`GROUP-ID`),i=r.get(`NAME`);if(e===`AUDIO`&&t&&i){let e=r.get(`URI`);a.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:e?S(e,n):void 0,default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`)})}if(e===`SUBTITLES`&&t&&i){let e=r.get(`URI`);e&&o.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:S(e,n),default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`),forced:r.getBool(`FORCED`)})}continue}let c=T(t,`EXT-X-STREAM-INF`);if(c){s={bandwidth:c.getInt(`BANDWIDTH`,0),resolution:c.getResolution(`RESOLUTION`),codecs:c.get(`CODECS`),frameRate:c.getFrameRate(`FRAME-RATE`),audioGroupId:c.get(`AUDIO`)};continue}!t.startsWith(`#`)&&s&&(i.push({...s,uri:S(t,n)}),s=null)}let c=[],l=[];for(let e of i){if(!e.codecs){c.push(e);continue}let t=C(e.codecs);e.codecs.split(`,`).length===1&&t.audio&&!t.video?l.push(e):c.push(e)}let u=c.map(e=>{let t=e.codecs?C(e.codecs):void 0,n={type:`video`,id:E(),url:e.uri,bandwidth:e.bandwidth,mimeType:`video/mp4`,codecs:[]};return e.resolution?.width!==void 0&&(n.width=e.resolution.width),e.resolution?.height!==void 0&&(n.height=e.resolution.height),t?.video&&(n.codecs=[t.video]),e.frameRate&&(n.frameRate=e.frameRate),e.audioGroupId&&(n.audioGroupId=e.audioGroupId),n}),d=l.map(e=>{let t=e.codecs?C(e.codecs):void 0;return{type:`audio`,id:E(),url:e.uri,bandwidth:e.bandwidth,mimeType:`audio/mp4`,codecs:t?.audio?[t.audio]:[],groupId:e.audioGroupId||`default`,name:`Default`,sampleRate:48e3,channels:2}}),f=[...a.map(e=>{let t;for(let n of i)if(n.audioGroupId===e.groupId&&n.codecs){let e=C(n.codecs);if(e.audio){t=[e.audio];break}}let n={type:`audio`,id:E(),url:e.uri??``,groupId:e.groupId,name:e.name,mimeType:`audio/mp4`,bandwidth:0,sampleRate:48e3,channels:2,codecs:[]};return e.language&&(n.language=e.language),t&&(n.codecs=t),e.default&&(n.default=e.default),e.autoselect&&(n.autoselect=e.autoselect),n}),...d],p=o.map(e=>{let t={type:`text`,id:E(),url:e.uri,groupId:e.groupId,label:e.name,kind:`subtitles`,mimeType:`text/vtt`,bandwidth:0};return e.language&&(t.language=e.language),e.default&&e.autoselect&&(t.default=!0),e.autoselect&&(t.autoselect=e.autoselect),e.forced&&(t.forced=e.forced),t}),m=[];if(u.length>0){let e={id:E(),type:`video`,tracks:u},t={id:E(),type:`video`,switchingSets:[e]};m.push(t)}if(f.length>0){let e={id:E(),type:`audio`,tracks:f},t={id:E(),type:`audio`,switchingSets:[e]};m.push(t)}if(p.length>0){let e={id:E(),type:`text`,tracks:p},t={id:E(),type:`text`,switchingSets:[e]};m.push(t)}return{id:E(),url:t.url,startTime:0,selectionSets:m}}const de={safetyMargin:.85};function fe(e,t,n=de){if(e.length===0)return;let r=e.slice().sort((e,t)=>e.bandwidth-t.bandwidth),i;for(let e of r)t>=e.bandwidth/n.safetyMargin&&(!i||e.bandwidth>i.bandwidth||e.bandwidth===i.bandwidth&&pe(e,i))&&(i=e);return i??r[0]}function pe(e,t){return(e.width??0)*(e.height??0)>(t.width??0)*(t.height??0)}const me={keepSegments:2};function he(e,t,n=me){if(e.length===0)return 0;let r=e.filter(e=>e.startTime<t);if(r.length===0)return 0;let i=r.length-n.keepSegments;return i<=0?0:i>=r.length?t:r[i].startTime}function D(){return typeof MediaSource<`u`}function O(){return typeof ManagedMediaSource<`u`}function ge(e={}){let{preferManaged:t=!1}=e;if(t&&O())return new ManagedMediaSource;if(D())return new MediaSource;throw Error(`MediaSource API is not supported`)}function _e(e,t){if(O()&&e instanceof ManagedMediaSource)return t.disableRemotePlayback=!0,t.srcObject=e,{url:``,detach:()=>{t.srcObject=null,t.load()}};let n=URL.createObjectURL(e);return t.src=n,{url:n,detach:()=>{t.removeAttribute(`src`),t.load(),URL.revokeObjectURL(n)}}}function ve(e,t){return new Promise((n,r)=>{if(e.readyState===`open`){n();return}if(t?.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=new AbortController,a={signal:i.signal};e.addEventListener(`sourceopen`,()=>{i.abort(),n()},a),t?.addEventListener(`abort`,()=>{i.abort(),r(new DOMException(`Aborted`,`AbortError`))},a)})}function k(e,t){if(e.readyState!==`open`)throw Error(`MediaSource is not open`);if(!ye(t))throw Error(`Codec not supported: ${t}`);return e.addSourceBuffer(t)}function ye(e){return D()?MediaSource.isTypeSupported(e):!1}const be=Symbol(`@videojs/event-stream`);function xe(){let e=new Set;return{[be]:!0,dispatch(t){let n=Array.from(e);for(let e of n)e(t)},subscribe(t){return e.add(t),()=>e.delete(t)}}}function Se(e){return e!==void 0&&`url`in e&&!(`id`in e)}function Ce(e){return Se(e.presentation)}function we(e,t){let{preload:n}=e;return[`auto`,`metadata`].includes(n)||t.type===`play`}function Te(e,t){return t.subscribe(t=>{if(e.current.preload!==void 0)return;let n=t.mediaElement?.preload||void 0;e.patch({preload:n})})}function Ee({state:e,events:t}){let n=!1,r=null,i=x([e,t]).subscribe(async([t,i])=>{if(!(!Ce(t)||!we(t,i)||n))try{n=!0,r=new AbortController;let{presentation:i}=t,a=ue(await b(await y(i,{signal:r.signal})),i);e.patch({presentation:a})}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;throw e}finally{n=!1,r=null}});return()=>{r?.abort(),i()}}const A={safetyMargin:.85,minUpgradeInterval:8e3,defaultBandwidth:5e6};function De(e){return(e.selectionSets?.find(e=>e.type===`video`))?.switchingSets[0]?.tracks??[]}function Oe({state:e},t={}){let n=t.safetyMargin??A.safetyMargin,r=t.minUpgradeInterval??A.minUpgradeInterval,i=t.defaultBandwidth??A.defaultBandwidth,a=Date.now(),o=!0;return e.subscribe(t=>{let{presentation:s,bandwidthState:c,selectedVideoTrackId:l,abrDisabled:u}=t;if(u===!0||!s||!c)return;let d=De(s);if(d.length===0)return;let f=o;o=!1;let p=fe(d,m(c,i),{safetyMargin:n});if(!p||p.id===l)return;let h=d.find(e=>e.id===l);if(!h||p.bandwidth>h.bandwidth){let e=Date.now();if(!f&&e-a<r)return;a=e}e.patch({selectedVideoTrackId:p.id})})}const j={video:`selectedVideoTrackId`,audio:`selectedAudioTrackId`,text:`selectedTextTrackId`};function M(e,t){let{presentation:n}=e;if(!n||!(`id`in n))return;let r=e[j[t]];return n.selectionSets.find(({type:e})=>e===t)?.switchingSets[0]?.tracks.find(({id:e})=>e===r)}function ke(e,t){let n=null,r=null,i=null,a=null,o=!1,s=!1,c=t=>{let n=new Set(e.snapshot.context.segments.filter(e=>!e.partial).map(e=>e.id));return t.filter(e=>n.has(e.id))},l=t=>{let{track:n,range:r}=t,i=e.snapshot.context,a=c(n.segments),o=r?.start??0,s=[];if(r){let e=ee(a,o);e<1/0&&s.push({type:`remove`,start:e,end:1/0});let t=he(a,o);t>0&&s.push({type:`remove`,start:0,end:t})}if(i.initTrackId!==n.id&&s.push({type:`append-init`,meta:{trackId:n.id},url:n.initialization.url,...n.initialization.byteRange!==void 0&&{byteRange:n.initialization.byteRange}}),r){let e=g(n.segments,a,o).filter(e=>{let t=i.segments.find(t=>Math.abs(t.startTime-e.startTime)<1e-4);return t?.partial||!t?.trackBandwidth||!n.bandwidth?!0:n.bandwidth>t.trackBandwidth});for(let t of e)s.push({type:`append-segment`,meta:{id:t.id,startTime:t.startTime,duration:t.duration,trackId:n.id,trackBandwidth:n.bandwidth},url:t.url,...t.byteRange!==void 0&&{byteRange:t.byteRange}})}return s},u=async o=>{let s=a.signal;try{if(o.type===`remove`){await e.send(o,s);return}if(o.type===`append-init`){if(r=o.meta.trackId,!s.aborted){let r=await t(o,{signal:s,minChunkSize:1/0}),i=n?.some(e=>e.type===`append-init`&&e.meta.trackId!==o.meta.trackId);if(!s.aborted||!i){let t=s.aborted?new AbortController().signal:s;await e.send({type:`append-init`,data:r,meta:o.meta},t)}}return}if(i=o.meta.id,!s.aborted){let n=await t(o,{signal:s});s.aborted||await e.send({type:`append-segment`,data:n,meta:o.meta},s)}}finally{r=null,i=null}},d=async e=>{o=!0,a=new AbortController;let t=e;for(;t.length>0&&!s;){let e=t[0];t=t.slice(1);try{await u(e)}catch(e){e instanceof Error&&e.name===`AbortError`||(console.error(`Unexpected error in segment loader:`,e),t=[])}if(n!==null)t=n,n=null,a=new AbortController;else if(a.signal.aborted)break}a=null,o=!1};return{send(e){if(s)return;let t=l(e);if(!o){if(t.length===0)return;d(t);return}i!==null&&t.some(e=>e.type===`append-segment`&&e.meta.id===i)||r!==null&&t.some(e=>e.type===`append-init`&&e.meta.trackId===r)?n=t.filter(e=>!(e.type===`append-segment`&&e.meta.id===i)&&!(e.type===`append-init`&&e.meta.trackId===r)):(n=t,a?.abort())},destroy(){s=!0,a?.abort()}}}const Ae={video:`videoBufferActor`,audio:`audioBufferActor`};function je(e,t){return async(n,r)=>{let{minChunkSize:i,...a}=r??{},o=await y(n,a);if(!o.body)throw Error(`Response has no body`);let s=o.body;return{[Symbol.asyncIterator]:async function*(){let n=performance.now();for await(let r of new v(s,...i===void 0?[]:[{minChunkSize:i}])){let i=performance.now()-n,a=p(e.current,i,r.byteLength);e.patch(a),e.flush(),t?.(a),yield r,n=performance.now()}}}}}async function Me(e,t){let{minChunkSize:n,...r}=t??{},i=await y(e,r);if(!i.body)throw Error(`Response has no body`);return new v(i.body,...n===void 0?[]:[{minChunkSize:n}])}function Ne([e,t],n){let{playbackInitiated:r,preload:i,currentTime:a}=t;return{playbackInitiated:r,preload:i,currentTime:a,track:M(t,n),segmentsCanLoad:e}}const N=(e,t)=>{if(e!=null)return t?.segments.find(({startTime:t,duration:n},r,i)=>e>=t&&(e<t+n||r===i.length-1))?.startTime};function Pe(e,t){return t.segmentsCanLoad?t.playbackInitiated?!e.playbackInitiated&&t.playbackInitiated&&e.preload!==`auto`?!1:!t.track||!_(t.track)?!0:e.track?.id!==t.track.id&&_(t.track)?!1:N(e.currentTime,t.track)===N(t.currentTime,t.track):t.preload===`none`?!0:t.preload===e.preload:!0}function P({state:e,owners:t},n){let{type:r}=n,i=Ae[r],a=e.current.bandwidthState,o=c(a??{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}),s=r===`video`?je(o,a===void 0?void 0:t=>{e.patch({bandwidthState:t}),e.flush()}):Me,l=c(void 0),u=t.subscribe(e=>e[i],e=>(e?l.patch(ke(e,s)):!e&&l.current&&(l.current.destroy(),l.patch(void 0)),()=>{l.current?.destroy(),l.patch(void 0)})),d=c(!1),f=x([e,l]).subscribe(([e,t])=>{let n=M(e,r),i=!!n&&_(n),a=!!t;d.patch(i&&a)}),p=x([d,e]).subscribe(([e,t])=>Ne([e,t],r),({preload:e,playbackInitiated:t,currentTime:n,track:r})=>{e===`auto`||t?l.current?.send({type:`load`,track:r,range:{start:n,end:n+h.bufferDuration}}):l.current?.send({type:`load`,track:r})},{equalityFn:Pe});return()=>{f(),p(),u()}}let F=null;function Fe(){return F||(F=document.createElement(`video`),F.muted=!0,F.preload=`none`,F.style.display=`none`,F.crossOrigin=`anonymous`),F}function Ie(e){let t=Fe(),n=document.createElement(`track`);return n.kind=`subtitles`,n.default=!0,new Promise((r,i)=>{let a=()=>{let e=[],t=n.track;if(t.cues)for(let n=0;n<t.cues.length;n++){let r=t.cues[n];r&&e.push(r)}s(),r(e)},o=()=>{s(),i(Error(`Failed to load VTT segment: ${e}`))},s=()=>{n.removeEventListener(`load`,a),n.removeEventListener(`error`,o),t.removeChild(n)};n.addEventListener(`load`,a),n.addEventListener(`error`,o),t.appendChild(n),n.src=e})}function Le(){F=null}function Re(e,t){let{cues:n}=t;if(!n)return!1;for(let t=0;t<n.length;t++){let r=n[t];if(r.startTime===e.startTime&&r.endTime===e.endTime&&r.text===e.text)return!0}return!1}const ze=async({segment:e},t)=>{let n=await Ie(e.url);for(let e of n)Re(e,t.textTrack)||t.textTrack.addCue(e)},Be=async({currentState:e},t)=>{let n=I(e);if(!n||!_(n))return;let{segments:r}=n;if(r.length===0)return;let i=n.id,a=new Set((e.textBufferState?.[i]?.segments??[]).map(e=>e.id)),o=g(r,r.filter(e=>a.has(e.id)),e.currentTime??0).filter(e=>!a.has(e.id));if(o.length!==0){for(let e of o){if(t.signal.aborted)break;try{await ze({segment:e},{textTrack:t.textTrack});let n=t.state.current.textBufferState??{},r=n[i]??{segments:[]};t.state.patch({textBufferState:{...n,[i]:{segments:[...r.segments,{id:e.id}]}}})}catch(e){if(e instanceof Error&&e.name===`AbortError`)break;console.error(`Failed to load VTT segment:`,e)}}t.textTrack.mode===`showing`&&t.textTrack.cues&&Array.from(t.textTrack.cues).forEach(e=>{t.textTrack.addCue(e)}),await new Promise(e=>requestAnimationFrame(e))}};function I(e){if(!e.presentation||!e.selectedTextTrackId)return;let t=e.presentation.selectionSets.find(e=>e.type===`text`);if(t?.switchingSets?.[0]?.tracks)return t.switchingSets[0].tracks.find(t=>t.id===e.selectedTextTrackId)}function L(e,t){let n=e.selectedTextTrackId;if(!(!n||!t.textTracks))return t.textTracks.get(n)?.track}function Ve(e,t){return!!e.selectedTextTrackId&&!!t.textTracks&&t.textTracks.has(e.selectedTextTrackId)}function He(e,t){if(!Ve(e,t))return!1;let n=I(e);return!(!n||!_(n)||n.segments.length===0||!L(e,t))}function Ue({state:e,owners:t}){let n=null,r=null,i,a=x([e,t]).subscribe(async([t,a])=>{if(t.selectedTextTrackId!==i&&(i=t.selectedTextTrackId,r?.abort(),n=null),n||!He(t,a))return;let o=L(t,a);o&&(r=new AbortController,n=Be({currentState:t},{signal:r.signal,textTrack:o,state:e}).finally(()=>{n=null}))});return()=>{r?.abort(),a()}}function We({state:e,owners:n}){let r,i=null,a=n.subscribe(n=>{let{mediaElement:a}=n;if(a===r||(i?.(),i=null,r=a,!a))return;e.patch({currentTime:a.currentTime});let o=()=>e.patch({currentTime:a.currentTime}),s=t(a,`timeupdate`,o),c=t(a,`seeking`,o);i=()=>{s(),c()}});return()=>{i?.(),a()}}function Ge({state:e,owners:n,events:r}){let i,a=null,o,s=e.subscribe(t=>{let n=t.presentation?.url;n!==o&&(o!==void 0&&e.patch({playbackInitiated:!1}),o=n)}),c=n.subscribe(n=>{let{mediaElement:o}=n;o!==i&&(a?.(),a=null,i=o,o&&(a=t(o,`play`,()=>{e.patch({playbackInitiated:!0}),r.dispatch({type:`play`})})))});return()=>{a?.(),s(),c()}}async function R(e,t,n){if(t instanceof ArrayBuffer)await z(e,t);else try{for await(let r of t){if(n?.aborted)throw n.reason??new DOMException(`Aborted`,`AbortError`);await z(e,r)}}catch(t){if(t instanceof DOMException&&t.name===`AbortError`&&!e.updating)try{e.abort()}catch{}throw t}}async function z(e,t){return e.updating&&await new Promise(t=>{let n=()=>{e.removeEventListener(`updateend`,n),t()};e.addEventListener(`updateend`,n)}),new Promise((n,r)=>{let i=()=>{o(),n()},a=e=>{o(),r(Error(`SourceBuffer append error: ${e.type}`))},o=()=>{e.removeEventListener(`updateend`,i),e.removeEventListener(`error`,a)};e.addEventListener(`updateend`,i),e.addEventListener(`error`,a);try{e.appendBuffer(t)}catch(e){o(),r(e)}})}async function Ke(e,t,n){return e.updating&&await new Promise(t=>{let n=()=>{e.removeEventListener(`updateend`,n),t()};e.addEventListener(`updateend`,n)}),new Promise((r,i)=>{let a=()=>{s(),r()},o=e=>{s(),i(Error(`SourceBuffer remove error: ${e.type}`))},s=()=>{e.removeEventListener(`updateend`,a),e.removeEventListener(`error`,o)};e.addEventListener(`updateend`,a),e.addEventListener(`error`,o);try{e.remove(t,n)}catch(e){s(),i(e)}})}function qe(e){return e.presentation?!!(e.selectedVideoTrackId||e.selectedAudioTrackId):!1}function Je(e){if(!qe(e))return!1;let{presentation:t}=e;if(t.duration!==void 0)return!1;let n=e.selectedVideoTrackId?M(e,`video`):void 0,r=e.selectedAudioTrackId?M(e,`audio`):void 0;return!!(n&&_(n)||r&&_(r))}function Ye(e){let t=e.selectedVideoTrackId?M(e,`video`):void 0;if(t&&_(t))return t.duration;let n=e.selectedAudioTrackId?M(e,`audio`):void 0;if(n&&_(n))return n.duration}function Xe({state:e}){return x([e]).subscribe(([t])=>{if(!Je(t))return;let n=Ye(t);if(n===void 0||!Number.isFinite(n))return;let{presentation:r}=t;e.patch({presentation:{...r,duration:n}})})}var B=class{id;#e;#t=new AbortController;#n;#r=`pending`;#i=void 0;#a=void 0;constructor(e,t){this.#e=e;let n=t?.id;this.id=typeof n==`function`?n():n??E(),this.#n=t?.signal?AbortSignal.any([this.#t.signal,t.signal]):this.#t.signal}get status(){return this.#r}get value(){return this.#i}get error(){return this.#a}async run(){this.#r=`running`;try{let e=await this.#e(this.#n);return this.#i=e,this.#r=`done`,e}catch(e){throw this.#a=e,this.#r=`error`,e}}abort(){this.#t.abort()}},Ze=class{#e=new Map;schedule(e){this.#e.has(e.id)||(this.#e.set(e.id,e),e.run().catch(e=>{if(!(e instanceof Error&&e.name===`AbortError`))throw e}).finally(()=>{this.#e.delete(e.id)}))}abortAll(){for(let e of this.#e.values())e.abort();this.#e.clear()}},Qe=class{#e=Promise.resolve();#t=new Set;#n=null;schedule(e){let t=e;this.#t.add(t);let n=this.#e.then(()=>(this.#t.delete(t),this.#n=t,e.run())).finally(()=>{this.#n=null});return this.#e=n.then(()=>{},()=>{}),n}abortAll(){for(let e of this.#t)e.abort();this.#t.clear(),this.#n?.abort()}destroy(){this.abortAll()}};function $e(e,t){let n=M(e,t.type);return n?!_(n):!1}function et(e,t){return!0}function tt(e,t){let n=t.id;return{...e,selectionSets:e.selectionSets.map(e=>({...e,switchingSets:e.switchingSets.map(e=>({...e,tracks:e.tracks.map(e=>e.id===n?t:e)}))}))}}function V({state:e,events:t},n){let r=new Ze,i=x([e,t]).subscribe(([t,i])=>{if(!$e(t,n)||!et(t,i))return;let a=M(t,n.type);if(!a)return;let o=a;r.schedule(new B(async t=>{let n=le(await b(await y(o,{signal:t})),o),r=e.current.presentation,i=tt(r,n);e.patch({presentation:i})},{id:a.id}))});return()=>{r.abortAll(),i()}}function nt(e,t){let n=e.selectionSets.find(e=>e.type===`text`);if(!n?.switchingSets?.[0]?.tracks.length)return;let r=n.switchingSets[0].tracks,i=t.includeForcedTracks?r:r.filter(e=>!e.forced);if(i.length===0)return;let{preferredSubtitleLanguage:a,enableDefaultTrack:o=!1}=t;if(a){let e=i.find(e=>e.language===a);if(e)return e.id}if(o){let e=i.find(e=>e.default===!0);if(e)return e.id}}function H(e,t){return!!e?.presentation?.selectionSets?.find(({type:e})=>e===t.type)?.switchingSets?.[0]?.tracks.length}function U(e,t){return!e[j[t.type]]}function rt({state:e},t={type:`video`}){let n=!1;return e.subscribe(async r=>{if(!(!H(r,t)||!U(r,t)||n))try{n=!0;let i=r.presentation?.selectionSets.find(({type:e})=>e===t.type)?.switchingSets[0]?.tracks[0]?.id;if(i){let n=j[t.type];e.patch({[n]:i})}}finally{n=!1}})}function it({state:e},t={type:`audio`}){let n=!1;return e.subscribe(async r=>{if(!(!H(r,t)||!U(r,t)||n))try{n=!0;let t=r.presentation?.selectionSets.find(({type:e})=>e===`audio`)?.switchingSets[0]?.tracks[0]?.id;t&&e.patch({selectedAudioTrackId:t})}finally{n=!1}})}function at({state:e},t={type:`text`}){let n=!1;return e.subscribe(async r=>{if(!(!H(r,t)||!U(r,t)||n))try{n=!0;let i=nt(r.presentation,t);i&&e.patch({selectedTextTrackId:i})}finally{n=!1}})}function W(e,t){if(e.length===0)return!0;let n=e[e.length-1];return n?t?.snapshot.context.segments.some(e=>e.id===n.id&&!e.partial)??!1:!1}function ot(e,t){let n=e.selectedVideoTrackId?M(e,`video`):void 0,r=e.selectedAudioTrackId?M(e,`audio`):void 0;return!(n&&!_(n)||r&&!_(r)||n&&_(n)&&!W(n.segments,t.videoBufferActor)||r&&_(r)&&!W(r.segments,t.audioBufferActor))}function st(e,t){return!!(t.mediaSource&&e.presentation)}function ct(e,t){if(!st(e,t))return!1;let{mediaSource:n,mediaElement:r}=t;if(n.readyState!==`open`||r&&r.readyState<HTMLMediaElement.HAVE_METADATA)return!1;let i=!!e.selectedVideoTrackId,a=!!e.selectedAudioTrackId;if(i&&!t.videoBuffer||a&&!t.audioBuffer||t.videoBufferActor?.snapshot.status===`updating`||t.audioBufferActor?.snapshot.status===`updating`||!ot(e,t))return!1;if(r){let t=i?M(e,`video`):void 0,n=a?M(e,`audio`):void 0,o=t&&_(t)?t:n&&_(n)?n:void 0;if(o&&o.segments.length>0){let e=o.segments[o.segments.length-1];if(r.currentTime<e.startTime)return!1}}return!0}function lt(e){let t=[e.videoBufferActor,e.audioBufferActor].filter(e=>e!==void 0&&e.snapshot.status===`updating`);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>{let n=e.subscribe(e=>{e.status!==`updating`&&(n(),t())})}))).then(()=>void 0)}function ut(e){let t=0;for(let n of[e.videoBuffer,e.audioBuffer])if(n&&n.buffered.length>0){let e=n.buffered.end(n.buffered.length-1);e>t&&(t=e)}return t}const dt=async({currentOwners:e},t)=>{let{mediaSource:n}=e;if(n.readyState===`ended`||(await lt(e),n.readyState!==`open`))return;let r=ut(e);r>0&&(n.duration=r),n.endOfStream(),await new Promise(e=>requestAnimationFrame(e))};function ft({state:e,owners:t}){let n=!1,r=!1,i=[],a=async()=>{if(r)return;let i=e.current,a=t.current;if(n){if(a.mediaSource?.readyState!==`open`)return;n=!1}if(ct(i,a)){n=!0;try{await dt({currentOwners:a},{})}catch(e){console.error(`Failed to call endOfStream:`,e)}}},o=t.subscribe(e=>{i.forEach(e=>e()),i.length=0;for(let t of[e.videoBufferActor,e.audioBufferActor]){if(!t)continue;let e=!0;i.push(t.subscribe(()=>{if(e){e=!1;return}a()}))}}),s=x([e,t]).subscribe(async()=>a());return()=>{r=!0,i.forEach(e=>e()),o(),s()}}function pt(t,n){return!e(n.mediaElement)&&!e(t.presentation?.url)}function mt(t,n){return e(n.mediaSource)}function ht({state:e,owners:t}){let n=!1,r=null,i=x([e,t]).subscribe(async([e,i])=>{if(!(!pt(e,i)||!mt(e,i)||n))try{n=!0,r=new AbortController;let e=ge({preferManaged:!0});_e(e,i.mediaElement),await ve(e,r.signal),t.patch({mediaSource:e})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;throw e}finally{n=!1}});return()=>{r?.abort(),i()}}var G=class extends Error{constructor(e){super(e),this.name=`SourceBufferActorError`}};function K(e){let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}function gt(e,{signal:t,getCtx:n,sourceBuffer:r}){return new B(async t=>{let i=n();return t.aborted?i:(await R(r,e.data),{...i,initTrackId:e.meta.trackId})},{signal:t})}function _t(e,{signal:t,getCtx:n,sourceBuffer:r,onPartialContext:i}){return new B(async t=>{let a=n();if(t.aborted)return a;let{meta:o}=e,s=a.segments.filter(e=>Math.abs(e.startTime-o.startTime)>=1e-4);return e.data instanceof ArrayBuffer||i({...a,segments:[...s,{id:o.id,startTime:o.startTime,duration:o.duration,trackId:o.trackId,...o.trackBandwidth!==void 0&&{trackBandwidth:o.trackBandwidth},partial:!0}],bufferedRanges:a.bufferedRanges}),await R(r,e.data,t),{...a,segments:[...s,{id:o.id,startTime:o.startTime,duration:o.duration,trackId:o.trackId,...o.trackBandwidth!==void 0&&{trackBandwidth:o.trackBandwidth}}],bufferedRanges:K(r.buffered)}},{signal:t})}function vt(e,{signal:t,getCtx:n,sourceBuffer:r}){return new B(async t=>{let i=n();if(t.aborted)return i;await Ke(r,e.start,e.end);let a=K(r.buffered),o=i.segments.filter(e=>{let t=e.startTime+e.duration/2;return a.some(e=>t>=e.start&&t<e.end)});return{...i,segments:o,bufferedRanges:a}},{signal:t})}const yt={"append-init":gt,"append-segment":_t,remove:vt};function q(e,t){let n=yt[e.type];return n(e,t)}function J(e,t){let n=c({status:`idle`,context:{segments:[],bufferedRanges:[],initTrackId:void 0,...t}}),r=new Qe;function i(e){let t=n.current.status===`destroyed`?`destroyed`:`idle`;n.patch({status:t,context:e}),n.flush()}function a(e){let t=n.current.status===`destroyed`?`destroyed`:`idle`;throw n.patch({status:t}),n.flush(),e}return{get snapshot(){return n.current},subscribe(e){return n.subscribe(e)},send(t,o){if(n.current.status!==`idle`)return Promise.reject(new G(`send() called while actor is ${n.current.status}`));n.patch({status:`updating`});let s=q(t,{signal:o,getCtx:()=>n.current.context,sourceBuffer:e,onPartialContext:e=>{n.patch({status:`updating`,context:e}),n.flush()}});return r.schedule(s).then(i).catch(a)},batch(t,o){if(n.current.status!==`idle`)return Promise.reject(new G(`batch() called while actor is ${n.current.status}`));if(t.length===0)return Promise.resolve();n.patch({status:`updating`});let s=n.current.context,c=e=>{n.patch({status:`updating`,context:e}),n.flush()};for(let n of t.slice(0,-1)){let t=q(n,{signal:o,getCtx:()=>s,sourceBuffer:e,onPartialContext:c});r.schedule(t).then(e=>{s=e})}let l=q(t[t.length-1],{signal:o,getCtx:()=>s,sourceBuffer:e,onPartialContext:c});return r.schedule(l).then(i).catch(a)},destroy(){n.patch({status:`destroyed`}),n.flush(),r.destroy()}}}function Y(e){let t=e.codecs?.join(`,`)??``;return`${e.mimeType}; codecs="${t}"`}function bt({state:e,owners:t}){let n=!1;return x([e,t]).subscribe(async([e,r])=>{if(n||!r.mediaSource)return;let i=!!e.selectedVideoTrackId,a=!!e.selectedAudioTrackId;if(!i&&!a)return;let o=i?M(e,`video`):null,s=a?M(e,`audio`):null;if(i&&(!o||!_(o)||!o.codecs?.length)||a&&(!s||!_(s)||!s.codecs?.length))return;n=!0;let c={};if(i&&o&&_(o)){let e=k(r.mediaSource,Y(o));c.videoBuffer=e,c.videoBufferActor=J(e)}if(a&&s&&_(s)){let e=k(r.mediaSource,Y(s));c.audioBuffer=e,c.audioBufferActor=J(e)}t.patch(c),await new Promise(e=>requestAnimationFrame(e))})}function X(e){if(!e?.selectionSets)return[];let t=e.selectionSets.find(e=>e.type===`text`);return t?.switchingSets?.[0]?.tracks?t.switchingSets[0].tracks:[]}function xt(e,t){return!!t.mediaElement&&!!X(e.presentation).length}function Z(e){return!e.textTracks}function St(e){let t=document.createElement(`track`);return t.id=e.id,t.kind=e.kind,t.label=e.label,e.language&&(t.srclang=e.language),e.default&&(t.default=!0),t.src=e.url,t}function Ct({state:e,owners:t}){let n=!1,r=[],i=x([e,t]).subscribe(([e,i])=>{if(n||!xt(e,i)||!Z(i))return;n=!0;let a=X(e.presentation);if(a.length===0)return;let o=new Map;for(let e of a){let t=St(e);i.mediaElement.appendChild(t),o.set(e.id,t),r.push(t)}t.patch({textTracks:o})});return()=>{for(let e of r)e.remove();r=[],i()}}function wt({state:e,owners:n}){let r,i=null,a=n.subscribe(n=>{let{mediaElement:a}=n;a===r||(i?.(),i=null,r=a,!a)||(i=t(a.textTracks,`change`,()=>{let t=Array.from(a.textTracks).find(e=>e.mode===`showing`&&(e.kind===`subtitles`||e.kind===`captions`))?.id||void 0,n=e.current;if(n.selectedTextTrackId!==t)if(t)e.patch({selectedTextTrackId:t});else{let t=n.selectedTextTrackId;if(t&&n.textBufferState?.[t]){let r={...n.textBufferState};delete r[t],e.patch({selectedTextTrackId:void 0,textBufferState:r})}else e.patch({selectedTextTrackId:void 0})}}))});return()=>{i?.(),a()}}function Tt(e){return!!e.textTracks&&e.textTracks.size>0}function Et({state:e,owners:t}){return x([e,t]).subscribe(([e,t])=>{if(!Tt(t))return;let n=e.selectedTextTrackId;for(let[e,r]of t.textTracks)e===n?r.track.mode=`showing`:r.track.mode=`hidden`})}function Dt(e,t){return!!(t.mediaSource&&e.presentation&&te(e.presentation))}function Ot(e){let t=0,n=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e!==void 0);for(let e of n){let{buffered:n}=e;if(n.length>0){let e=n.end(n.length-1);e>t&&(t=e)}}return t}function kt(e,t){if(!Dt(e,t))return!1;let{mediaSource:n}=t,{presentation:r}=e;if(n.readyState!==`open`)return!1;let i=r.duration;return!Number.isFinite(i)||Number.isNaN(i)||i<=0?!1:Number.isNaN(n.duration)}function At(e){let t=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e?.updating===!0);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>e.addEventListener(`updateend`,()=>t(),{once:!0})))).then(()=>void 0)}function jt({state:e,owners:t}){let n=!1,r=x([e,t]).subscribe(async([e,t])=>{if(!kt(e,t))return;let{mediaSource:r}=t;if(await At(t),n||r.readyState!==`open`)return;let i=e.presentation.duration,a=Ot(t);a>i&&(i=a),r.duration=i});return()=>{n=!0,r()}}function Q(e={}){let t=c({bandwidthState:{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}}),n=c({}),r=xe(),i=[Te(t,n),Ge({state:t,owners:n,events:r}),Ee({state:t,events:r}),rt({state:t,owners:n,events:r},{type:`video`,...e.initialBandwidth!==void 0&&{initialBandwidth:e.initialBandwidth}}),it({state:t,owners:n,events:r},{type:`audio`,...e.preferredAudioLanguage!==void 0&&{preferredAudioLanguage:e.preferredAudioLanguage}}),at({state:t,owners:n,events:r},{type:`text`,...e.preferredSubtitleLanguage!==void 0&&{preferredSubtitleLanguage:e.preferredSubtitleLanguage},...e.includeForcedTracks!==void 0&&{includeForcedTracks:e.includeForcedTracks},...e.enableDefaultTrack!==void 0&&{enableDefaultTrack:e.enableDefaultTrack}}),V({state:t,events:r},{type:`video`}),V({state:t,events:r},{type:`audio`}),V({state:t,events:r},{type:`text`}),Xe({state:t}),ht({state:t,owners:n}),jt({state:t,owners:n}),bt({state:t,owners:n}),We({state:t,owners:n}),Oe({state:t}),P({state:t,owners:n},{type:`video`}),P({state:t,owners:n},{type:`audio`}),ft({state:t,owners:n}),Ct({state:t,owners:n}),Et({state:t,owners:n}),wt({state:t,owners:n}),Ue({state:t,owners:n})];return r.dispatch({type:`@@INITIALIZE@@`}),{state:t,owners:n,events:r,destroy:()=>{i.forEach(e=>e()),Le()}}}var Mt=class{#e;#t;#n=``;#r=null;constructor(e={}){this.#t=e,this.#e=Q(e)}get engine(){return this.#e}attach(e){this.#e.owners.patch({mediaElement:e})}detach(){this.#i(),this.#e.owners.patch({mediaElement:void 0})}destroy(){this.#i(),this.#e.destroy()}get preload(){return this.#n}set preload(e){this.#n=e,e&&this.#e.state.patch({preload:e})}get src(){return this.#e.state.current.presentation?.url??``}set src(e){let t=this.#e.owners.current.mediaElement;this.#i(),this.#e.destroy(),this.#e=Q(this.#t),this.#n&&this.#e.state.patch({preload:this.#n}),t&&this.#e.owners.patch({mediaElement:t}),e&&this.#e.state.patch({presentation:{url:e}})}play(){let{mediaElement:e}=this.#e.owners.current;return e?(this.#e.state.patch({playbackInitiated:!0}),e.play().catch(t=>{if(this.src)return new Promise((t,n)=>{let r=()=>{this.#r=null,e.play().then(t,n)};this.#r=r,e.addEventListener(`loadstart`,r,{once:!0})});throw t})):Promise.reject(Error(`SpfMedia: no media element attached`))}#i(){if(!this.#r)return;let{mediaElement:e}=this.#e.owners.current;e?.removeEventListener(`loadstart`,this.#r),this.#r=null}},Nt=class extends n(i(globalThis.HTMLElement??class{},{tag:`video`}),Mt){},Pt=class extends r(Nt){static getTemplateHTML(e){let{src:t,...n}=e;return super.getTemplateHTML(n)}constructor(){super(),this.attach(this.target)}attributeChangedCallback(e,t,n){e!==`src`&&super.attributeChangedCallback(e,t,n),e===`src`&&t!==n&&(this.src=n??``),e===`preload`&&t!==n&&(this.preload=n??``)}},$=class extends Pt{static{this.tagName=`simple-hls-video`}};customElements.define($.tagName,$);
1
+ import{t as e}from"../abort-C7q_G_dT.js";import{t}from"../safe-define-t0AGOouq.js";import{t as n}from"../listen-UqQNdlqV.js";import{t as r}from"../delegate-odoSeh7c.js";import{t as i}from"../media-attach-mixin-ByJOWMNT.js";import{n as a,t as o}from"../media-props-mixin-BuVUebRp.js";function s(e){return Math.exp(Math.log(.5)/e)}function c(e,t,n,r){let i=s(r)**n;return t*(1-i)+i*e}function l(e,t,n){return t===0?0:e/(1-s(n)**t)}const u={fastHalfLife:2,slowHalfLife:5,minTotalBytes:128e3,minBytes:16e3,minDuration:5};function d(e,t,n,r=u){let i=e.bytesSampled+n;if(n<r.minBytes||t<r.minDuration)return{...e,bytesSampled:i};let a=8e3*n/t,o=t/1e3;return{fastEstimate:c(e.fastEstimate,a,o,r.fastHalfLife),fastTotalWeight:e.fastTotalWeight+o,slowEstimate:c(e.slowEstimate,a,o,r.slowHalfLife),slowTotalWeight:e.slowTotalWeight+o,bytesSampled:i}}function f(e,t,n=u){if(e.bytesSampled<n.minTotalBytes)return t;let r=l(e.fastEstimate,e.fastTotalWeight,n.fastHalfLife),i=l(e.slowEstimate,e.slowTotalWeight,n.slowHalfLife);return Math.min(r,i)}const p={bufferDuration:30};function m(e,t,n=p){if(e.length===0)return 1/0;let r=t+n.bufferDuration,i=e.filter(e=>e.startTime>=r);return i.length===0?1/0:Math.min(...i.map(e=>e.startTime))}function h(e,t,n,r=p){if(e.length===0)return[];let i=n+r.bufferDuration,a=new Set(t.map(e=>e.startTime));return e.filter(e=>{let t=e.startTime+e.duration,r=e.startTime<i&&t>n,o=!a.has(e.startTime);return r&&o})}var ee=Object.defineProperty,te=(e,t,n)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,g=(e,t,n)=>(te(e,typeof t==`symbol`?t:t+``,n),n),ne=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},_=(e,t)=>{if(Object(t)!==t)throw TypeError(`Cannot use the "in" operator on this value`);return e.has(t)},v=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},re=(e,t,n)=>(ne(e,t,`access private method`),n);
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ function ie(e,t){return Object.is(e,t)}
10
+ /**
11
+ * @license
12
+ * Copyright Google LLC All Rights Reserved.
13
+ *
14
+ * Use of this source code is governed by an MIT-style license that can be
15
+ * found in the LICENSE file at https://angular.io/license
16
+ */
17
+ let y=null,b=!1,x=1;const S=Symbol(`SIGNAL`);function C(e){let t=y;return y=e,t}function ae(){return y}function oe(){return b}const w={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function T(e){if(b)throw Error(typeof ngDevMode<`u`&&ngDevMode?`Assertion error: signal read during notification phase`:``);if(y===null)return;y.consumerOnSignalRead(e);let t=y.nextProducerIndex++;if(D(y),t<y.producerNode.length&&y.producerNode[t]!==e&&ge(y)){let e=y.producerNode[t];E(e,y.producerIndexOfThis[t])}y.producerNode[t]!==e&&(y.producerNode[t]=e,y.producerIndexOfThis[t]=ge(y)?he(e,y,t):0),y.producerLastReadVersion[t]=e.version}function se(){x++}function ce(e){if(!(!e.dirty&&e.lastCleanEpoch===x)){if(!e.producerMustRecompute(e)&&!me(e)){e.dirty=!1,e.lastCleanEpoch=x;return}e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=x}}function le(e){if(e.liveConsumerNode===void 0)return;let t=b;b=!0;try{for(let t of e.liveConsumerNode)t.dirty||de(t)}finally{b=t}}function ue(){return y?.consumerAllowSignalWrites!==!1}function de(e){var t;e.dirty=!0,le(e),(t=e.consumerMarkedDirty)==null||t.call(e.wrapper??e)}function fe(e){return e&&(e.nextProducerIndex=0),C(e)}function pe(e,t){if(C(t),!(!e||e.producerNode===void 0||e.producerIndexOfThis===void 0||e.producerLastReadVersion===void 0)){if(ge(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)E(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function me(e){D(e);for(let t=0;t<e.producerNode.length;t++){let n=e.producerNode[t],r=e.producerLastReadVersion[t];if(r!==n.version||(ce(n),r!==n.version))return!0}return!1}function he(e,t,n){var r;if(O(e),D(e),e.liveConsumerNode.length===0){(r=e.watched)==null||r.call(e.wrapper);for(let t=0;t<e.producerNode.length;t++)e.producerIndexOfThis[t]=he(e.producerNode[t],e,t)}return e.liveConsumerIndexOfThis.push(n),e.liveConsumerNode.push(t)-1}function E(e,t){var n;if(O(e),D(e),typeof ngDevMode<`u`&&ngDevMode&&t>=e.liveConsumerNode.length)throw Error(`Assertion error: active consumer index ${t} is out of bounds of ${e.liveConsumerNode.length} consumers)`);if(e.liveConsumerNode.length===1){(n=e.unwatched)==null||n.call(e.wrapper);for(let t=0;t<e.producerNode.length;t++)E(e.producerNode[t],e.producerIndexOfThis[t])}let r=e.liveConsumerNode.length-1;if(e.liveConsumerNode[t]=e.liveConsumerNode[r],e.liveConsumerIndexOfThis[t]=e.liveConsumerIndexOfThis[r],e.liveConsumerNode.length--,e.liveConsumerIndexOfThis.length--,t<e.liveConsumerNode.length){let n=e.liveConsumerIndexOfThis[t],r=e.liveConsumerNode[t];D(r),r.producerIndexOfThis[n]=t}}function ge(e){return e.consumerIsAlwaysLive||(e?.liveConsumerNode?.length??0)>0}function D(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function O(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}
18
+ /**
19
+ * @license
20
+ * Copyright Google LLC All Rights Reserved.
21
+ *
22
+ * Use of this source code is governed by an MIT-style license that can be
23
+ * found in the LICENSE file at https://angular.io/license
24
+ */
25
+ function _e(e){if(ce(e),T(e),e.value===j)throw e.error;return e.value}function ve(e){let t=Object.create(ye);t.computation=e;let n=()=>_e(t);return n[S]=t,n}const k=Symbol(`UNSET`),A=Symbol(`COMPUTING`),j=Symbol(`ERRORED`),ye={...w,value:k,dirty:!0,error:null,equal:ie,producerMustRecompute(e){return e.value===k||e.value===A},producerRecomputeValue(e){if(e.value===A)throw Error(`Detected cycle in computations.`);let t=e.value;e.value=A;let n=fe(e),r,i=!1;try{r=e.computation.call(e.wrapper),i=t!==k&&t!==j&&e.equal.call(e.wrapper,t,r)}catch(t){r=j,e.error=t}finally{pe(e,n)}if(i){e.value=t;return}e.value=r,e.version++}};
26
+ /**
27
+ * @license
28
+ * Copyright Google LLC All Rights Reserved.
29
+ *
30
+ * Use of this source code is governed by an MIT-style license that can be
31
+ * found in the LICENSE file at https://angular.io/license
32
+ */
33
+ function be(){throw Error()}let xe=be;function Se(){xe()}
34
+ /**
35
+ * @license
36
+ * Copyright Google LLC All Rights Reserved.
37
+ *
38
+ * Use of this source code is governed by an MIT-style license that can be
39
+ * found in the LICENSE file at https://angular.io/license
40
+ */
41
+ function Ce(e){let t=Object.create(Ee);t.value=e;let n=()=>(T(t),t.value);return n[S]=t,n}function we(){return T(this),this.value}function Te(e,t){ue()||Se(),e.equal.call(e.wrapper,e.value,t)||(e.value=t,De(e))}const Ee={...w,equal:ie,value:void 0};function De(e){e.version++,se(),le(e)}
42
+ /**
43
+ * @license
44
+ * Copyright 2024 Bloomberg Finance L.P.
45
+ *
46
+ * Licensed under the Apache License, Version 2.0 (the "License");
47
+ * you may not use this file except in compliance with the License.
48
+ * You may obtain a copy of the License at
49
+ *
50
+ * http://www.apache.org/licenses/LICENSE-2.0
51
+ *
52
+ * Unless required by applicable law or agreed to in writing, software
53
+ * distributed under the License is distributed on an "AS IS" BASIS,
54
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
55
+ * See the License for the specific language governing permissions and
56
+ * limitations under the License.
57
+ */
58
+ const M=Symbol(`node`);var N;(e=>{var t,n,r,i;class a{constructor(r,i={}){v(this,n),g(this,t);let a=Ce(r)[S];if(this[M]=a,a.wrapper=this,i){let t=i.equals;t&&(a.equal=t),a.watched=i[e.subtle.watched],a.unwatched=i[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw TypeError(`Wrong receiver type for Signal.State.prototype.get`);return we.call(this[M])}set(t){if(!(0,e.isState)(this))throw TypeError(`Wrong receiver type for Signal.State.prototype.set`);if(oe())throw Error(`Writes to signals not permitted during Watcher callback`);let n=this[M];Te(n,t)}}t=M,n=new WeakSet,e.isState=e=>typeof e==`object`&&_(n,e),e.State=a;class o{constructor(t,n){v(this,i),g(this,r);let a=ve(t)[S];if(a.consumerAllowSignalWrites=!0,this[M]=a,a.wrapper=this,n){let t=n.equals;t&&(a.equal=t),a.watched=n[e.subtle.watched],a.unwatched=n[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw TypeError(`Wrong receiver type for Signal.Computed.prototype.get`);return _e(this[M])}}r=M,i=new WeakSet,e.isComputed=e=>typeof e==`object`&&_(i,e),e.Computed=o,(t=>{var n,r,i,a;function o(e){let t,n=null;try{n=C(null),t=e()}finally{C(n)}return t}t.untrack=o;function s(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw TypeError(`Called introspectSources without a Computed or Watcher argument`);return t[M].producerNode?.map(e=>e.wrapper)??[]}t.introspectSources=s;function c(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw TypeError(`Called introspectSinks without a Signal argument`);return t[M].liveConsumerNode?.map(e=>e.wrapper)??[]}t.introspectSinks=c;function l(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw TypeError(`Called hasSinks without a Signal argument`);let n=t[M].liveConsumerNode;return n?n.length>0:!1}t.hasSinks=l;function u(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw TypeError(`Called hasSources without a Computed or Watcher argument`);let n=t[M].producerNode;return n?n.length>0:!1}t.hasSources=u;class d{constructor(e){v(this,r),v(this,i),g(this,n);let t=Object.create(w);t.wrapper=this,t.consumerMarkedDirty=e,t.consumerIsAlwaysLive=!0,t.consumerAllowSignalWrites=!1,t.producerNode=[],this[M]=t}watch(...t){if(!(0,e.isWatcher)(this))throw TypeError(`Called unwatch without Watcher receiver`);re(this,i,a).call(this,t);let n=this[M];n.dirty=!1;let r=C(n);for(let e of t)T(e[M]);C(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw TypeError(`Called unwatch without Watcher receiver`);re(this,i,a).call(this,t);let n=this[M];D(n);for(let e=n.producerNode.length-1;e>=0;e--)if(t.includes(n.producerNode[e].wrapper)){E(n.producerNode[e],n.producerIndexOfThis[e]);let t=n.producerNode.length-1;if(n.producerNode[e]=n.producerNode[t],n.producerIndexOfThis[e]=n.producerIndexOfThis[t],n.producerNode.length--,n.producerIndexOfThis.length--,n.nextProducerIndex--,e<n.producerNode.length){let t=n.producerIndexOfThis[e],r=n.producerNode[e];O(r),r.liveConsumerIndexOfThis[t]=e}}}getPending(){if(!(0,e.isWatcher)(this))throw TypeError(`Called getPending without Watcher receiver`);return this[M].producerNode.filter(e=>e.dirty).map(e=>e.wrapper)}}n=M,r=new WeakSet,i=new WeakSet,a=function(t){for(let n of t)if(!(0,e.isComputed)(n)&&!(0,e.isState)(n))throw TypeError(`Called watch/unwatch without a Computed or State argument`)},e.isWatcher=e=>_(r,e),t.Watcher=d;function f(){return ae()?.wrapper}t.currentComputed=f,t.watched=Symbol(`watched`),t.unwatched=Symbol(`unwatched`)})(e.subtle||={})})(N||={});const P=new Set,F=new N.subtle.Watcher(()=>{queueMicrotask(Oe)});function Oe(){for(let e of F.getPending())P.add(e);F.watch();for(let e of P)P.delete(e),e.get()}function I(e){let t,n=new N.Computed(()=>{typeof t==`function`&&t(),t=e()});return F.watch(n),n.get(),()=>{F.unwatch(n),typeof t==`function`&&t()}}const ke=N.subtle.untrack;function L(e,t){return new N.State(e,t)}function R(e,t){return new N.Computed(e,t)}function z(e,t){let n=ke(()=>e.get());e.set(typeof t==`function`?t(n):{...n,...t})}function B(e){return`segments`in e}function Ae(e){return e.duration!==void 0}const V={video:`selectedVideoTrackId`,audio:`selectedAudioTrackId`,text:`selectedTextTrackId`},je={video:`videoBuffer`,audio:`audioBuffer`};function H(e,t){let{presentation:n}=e;if(!n||!(`id`in n))return;let r=e[V[t]];return n.selectionSets.find(({type:e})=>e===t)?.switchingSets[0]?.tracks.find(({id:e})=>e===r)}const Me=2**17;var Ne=class{minChunkSize;#e;constructor(e,{minChunkSize:t=Me}={}){this.#e=e,this.minChunkSize=t}async*[Symbol.asyncIterator](){let e,t=this.#e.getReader();try{for(;;){let{done:n,value:r}=await t.read();if(n){e&&(yield e);break}e=e?Pe(e,r):r,e.length>=this.minChunkSize&&(yield e,e=void 0)}}finally{t.releaseLock()}}};function Pe(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}async function U(e,t){let n=new Headers(t?.headers);if(e.byteRange){let{start:t,end:r}=e.byteRange;n.set(`Range`,`bytes=${t}-${r}`)}let r=new Request(e.url,{method:`GET`,headers:n,...t});return fetch(r)}function Fe(e){return e.text()}const Ie={keepSegments:2};function Le(e,t,n=Ie){if(e.length===0)return 0;let r=e.filter(e=>e.startTime<t);if(r.length===0)return 0;let i=r.length-n.keepSegments;return i<=0?0:i>=r.length?t:r[i].startTime}function Re(e,t){let n=null,r=null,i=null,a=null,o=!1,s=!1,c=t=>{let n=new Set(e.snapshot.get().context.segments.filter(e=>!e.partial).map(e=>e.id));return t.filter(e=>n.has(e.id))},l=t=>{let{track:n,range:r}=t,i=e.snapshot.get().context,a=c(n.segments),o=r?.start??0,s=[];if(r){let e=m(a,o);e<1/0&&s.push({type:`remove`,start:e,end:1/0});let t=Le(a,o);t>0&&s.push({type:`remove`,start:0,end:t})}if(i.initTrackId!==n.id&&s.push({type:`append-init`,meta:{trackId:n.id},url:n.initialization.url,...n.initialization.byteRange!==void 0&&{byteRange:n.initialization.byteRange}}),r){let e=h(n.segments,a,o).filter(e=>{let t=i.segments.find(t=>Math.abs(t.startTime-e.startTime)<1e-4);return t?.partial||!t?.trackBandwidth||!n.bandwidth?!0:n.bandwidth>t.trackBandwidth});for(let t of e)s.push({type:`append-segment`,meta:{id:t.id,startTime:t.startTime,duration:t.duration,trackId:n.id,trackBandwidth:n.bandwidth},url:t.url,...t.byteRange!==void 0&&{byteRange:t.byteRange}})}return s},u=async o=>{let s=a.signal;try{if(o.type===`remove`){await e.send(o,s);return}if(o.type===`append-init`){if(r=o.meta.trackId,!s.aborted){let r=await t(o,{signal:s,minChunkSize:1/0}),i=n?.some(e=>e.type===`append-init`&&e.meta.trackId!==o.meta.trackId);if(!s.aborted||!i){let t=s.aborted?new AbortController().signal:s;await e.send({type:`append-init`,data:r,meta:o.meta},t)}}return}if(i=o.meta.id,!s.aborted){let n=await t(o,{signal:s});s.aborted||await e.send({type:`append-segment`,data:n,meta:o.meta},s)}}finally{r=null,i=null}},d=async e=>{o=!0,a=new AbortController;let t=e;for(;t.length>0&&!s;){let e=t[0];t=t.slice(1);try{await u(e)}catch(e){e instanceof Error&&e.name===`AbortError`||(console.error(`Unexpected error in segment loader:`,e),t=[])}if(n!==null)t=n,n=null,a=new AbortController;else if(a.signal.aborted)break}a=null,o=!1};return{send(e){if(s)return;let t=l(e);if(!o){if(t.length===0)return;d(t);return}i!==null&&t.some(e=>e.type===`append-segment`&&e.meta.id===i)||r!==null&&t.some(e=>e.type===`append-init`&&e.meta.trackId===r)?n=t.filter(e=>!(e.type===`append-segment`&&e.meta.id===i)&&!(e.type===`append-init`&&e.meta.trackId===r)):(n=t,a?.abort())},destroy(){s=!0,a?.abort()}}}const ze={video:`videoBufferActor`,audio:`audioBufferActor`};function Be(e,t){return async(n,r)=>{let{minChunkSize:i,...a}=r??{},o=await U(n,a);if(!o.body)throw Error(`Response has no body`);let s=o.body;return{[Symbol.asyncIterator]:async function*(){let n=performance.now();for await(let r of new Ne(s,...i===void 0?[]:[{minChunkSize:i}])){let i=performance.now()-n,a=d(e.get(),i,r.byteLength);e.set(a),t?.(a),yield r,n=performance.now()}}}}}async function Ve(e,t){let{minChunkSize:n,...r}=t??{},i=await U(e,r);if(!i.body)throw Error(`Response has no body`);return new Ne(i.body,...n===void 0?[]:[{minChunkSize:n}])}function He([e,t],n){let{playbackInitiated:r,preload:i,currentTime:a}=t;return{playbackInitiated:r,preload:i,currentTime:a,track:H(t,n),segmentsCanLoad:e}}const Ue=(e,t)=>{if(e!=null)return t?.segments.find(({startTime:t,duration:n},r,i)=>e>=t&&(e<t+n||r===i.length-1))?.startTime};function We(e,t){return t.segmentsCanLoad?t.playbackInitiated?!e.playbackInitiated&&t.playbackInitiated&&e.preload!==`auto`?!1:!t.track||!B(t.track)?!0:e.track?.id!==t.track.id&&B(t.track)?!1:Ue(e.currentTime,t.track)===Ue(t.currentTime,t.track):t.preload===`none`?!0:t.preload===e.preload:!0}function Ge({state:e,owners:t},n){let{type:r}=n,i=ze[r],a=e.get().bandwidthState,o=L(a??{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}),s=r===`video`?Be(o,a===void 0?void 0:t=>{e.set(Object.assign({},e.get(),{bandwidthState:t}))}):Ve,c=L(void 0),l=R(()=>t.get()[i]),u,d=I(()=>{let e=l.get();if(u&&=(u.destroy(),c.set(void 0),void 0),e){let t=Re(e,s);u=t,c.set(t)}}),f=R(()=>{let t=H(e.get(),r);return!!t&&B(t)&&!!c.get()}),m=R(()=>He([f.get(),e.get()],r)),h,ee=I(()=>{let e=m.get();if(h!==void 0&&We(h,e))return;let{preload:t,playbackInitiated:n,currentTime:r,track:i,segmentsCanLoad:a}=e;a&&(h=e,t===`auto`||n?c.get()?.send({type:`load`,track:i,range:{start:r,end:r+p.bufferDuration}}):c.get()?.send({type:`load`,track:i}))});return()=>{d(),ee(),u?.destroy()}}let W=null;function Ke(){return W||(W=document.createElement(`video`),W.muted=!0,W.preload=`none`,W.style.display=`none`,W.crossOrigin=`anonymous`),W}function qe(e){let t=Ke(),n=document.createElement(`track`);return n.kind=`subtitles`,n.default=!0,new Promise((r,i)=>{let a=()=>{let e=[],t=n.track;if(t.cues)for(let n=0;n<t.cues.length;n++){let r=t.cues[n];r&&e.push(r)}s(),r(e)},o=()=>{s(),i(Error(`Failed to load VTT segment: ${e}`))},s=()=>{n.removeEventListener(`load`,a),n.removeEventListener(`error`,o),t.removeChild(n)};n.addEventListener(`load`,a),n.addEventListener(`error`,o),t.appendChild(n),n.src=e})}function Je(){W=null}const Ye=[`startTime`,`endTime`,`text`];function Xe(e,t){return Array.prototype.some.call(t??[],t=>Ye.every(n=>t[n]===e[n]))}const Ze=async({segment:e},{textTrack:t})=>{(await qe(e.url)).forEach(e=>{Xe(e,t.cues)||t.addCue(e)})},Qe=async({currentState:e},t)=>{let n=$e(e);if(!n||!B(n))return;let{segments:r}=n;if(r.length===0)return;let i=n.id,a=new Set((e.textBufferState?.[i]?.segments??[]).map(e=>e.id)),o=h(r,r.filter(e=>a.has(e.id)),e.currentTime??0).filter(e=>!a.has(e.id));if(o.length!==0){for(let e of o){if(t.signal.aborted)break;try{await Ze({segment:e},{textTrack:t.textTrack});let n=t.state.get(),r=n.textBufferState??{},a=r[i]??{segments:[]};t.state.set({...n,textBufferState:{...r,[i]:{segments:[...a.segments,{id:e.id}]}}})}catch(e){if(e instanceof Error&&e.name===`AbortError`)break;console.error(`Failed to load VTT segment:`,e)}}t.textTrack.mode===`showing`&&t.textTrack.cues&&Array.from(t.textTrack.cues).forEach(e=>{t.textTrack.addCue(e)}),await new Promise(e=>requestAnimationFrame(e))}};function $e(e){if(!e.presentation||!e.selectedTextTrackId)return;let t=e.presentation.selectionSets.find(e=>e.type===`text`);if(t?.switchingSets?.[0]?.tracks)return t.switchingSets[0].tracks.find(t=>t.id===e.selectedTextTrackId)}function et(e,t){let n=e.selectedTextTrackId;if(!(!n||!t.textTracks))return t.textTracks.get(n)?.track}function tt(e,t){return!!e.selectedTextTrackId&&!!t.textTracks&&t.textTracks.has(e.selectedTextTrackId)}function nt(e,t){if(!tt(e,t))return!1;let n=$e(e);return!(!n||!B(n)||n.segments.length===0||!et(e,t))}function rt({state:e,owners:t}){let n=null,r=null,i,a=R(()=>e.get().selectedTextTrackId),o=I(()=>{let o=e.get(),s=t.get();if(a.get()!==i&&(i=a.get(),r?.abort(),n=null),n||!nt(o,s))return;let c=et(o,s);c&&(r=new AbortController,n=Qe({currentState:o},{signal:r.signal,textTrack:c,state:e}).finally(()=>{n=null}))});return()=>{r?.abort(),o()}}function it({state:e,owners:t}){let r,i=null,a=I(()=>{let{mediaElement:a}=t.get();if(a===r||(i?.(),i=null,r=a,!a))return;let o=()=>{z(e,{currentTime:a.currentTime})};o();let s=n(a,`timeupdate`,o),c=n(a,`seeking`,o);i=()=>{s(),c()}});return()=>{i?.(),a()}}function at({state:e,owners:t}){let r=R(()=>e.get().presentation?.url),i=R(()=>t.get().mediaElement),a=L(void 0),o,s,c=I(()=>{let e=r.get(),t=i.get();(e!==o&&o!==void 0||t!==s&&s!==void 0)&&a.set(!1),o=e,s=t}),l=I(()=>{let e=i.get();if(e)return n(e,`play`,()=>{a.set(!0)})}),u=I(()=>{let t=a.get();t!==void 0&&e.get().playbackInitiated!==t&&z(e,{playbackInitiated:t})});return()=>{c(),l(),u()}}async function ot(e,t,n){if(t instanceof ArrayBuffer)await st(e,t);else try{for await(let r of t){if(n?.aborted)throw n.reason??new DOMException(`Aborted`,`AbortError`);await st(e,r)}}catch(t){if(t instanceof DOMException&&t.name===`AbortError`&&!e.updating)try{e.abort()}catch{}throw t}}async function st(e,t){return e.updating&&await new Promise(t=>{let n=()=>{e.removeEventListener(`updateend`,n),t()};e.addEventListener(`updateend`,n)}),new Promise((n,r)=>{let i=()=>{o(),n()},a=e=>{o(),r(Error(`SourceBuffer append error: ${e.type}`))},o=()=>{e.removeEventListener(`updateend`,i),e.removeEventListener(`error`,a)};e.addEventListener(`updateend`,i),e.addEventListener(`error`,a);try{e.appendBuffer(t)}catch(e){o(),r(e)}})}async function ct(e,t,n){return e.updating&&await new Promise(t=>{let n=()=>{e.removeEventListener(`updateend`,n),t()};e.addEventListener(`updateend`,n)}),new Promise((r,i)=>{let a=()=>{s(),r()},o=e=>{s(),i(Error(`SourceBuffer remove error: ${e.type}`))},s=()=>{e.removeEventListener(`updateend`,a),e.removeEventListener(`error`,o)};e.addEventListener(`updateend`,a),e.addEventListener(`error`,o);try{e.remove(t,n)}catch(e){s(),i(e)}})}function lt(e){return e.presentation?!!(e.selectedVideoTrackId||e.selectedAudioTrackId):!1}function ut(e){if(!lt(e))return!1;let{presentation:t}=e;if(t.duration!==void 0)return!1;let n=e.selectedVideoTrackId?H(e,`video`):void 0,r=e.selectedAudioTrackId?H(e,`audio`):void 0;return!!(n&&B(n)||r&&B(r))}function dt(e){let t=e.selectedVideoTrackId?H(e,`video`):void 0;if(t&&B(t))return t.duration;let n=e.selectedAudioTrackId?H(e,`audio`):void 0;if(n&&B(n))return n.duration}function ft({state:e}){return I(()=>{let t=e.get();if(!ut(t))return;let n=dt(t);n===void 0||!Number.isFinite(n)||e.set({...t,presentation:{...t.presentation,duration:n}})})}const pt={safetyMargin:.85};function mt(e,t,n=pt){if(e.length===0)return;let r=e.slice().sort((e,t)=>e.bandwidth-t.bandwidth),i;for(let e of r)t>=e.bandwidth/n.safetyMargin&&(!i||e.bandwidth>i.bandwidth||e.bandwidth===i.bandwidth&&ht(e,i))&&(i=e);return i??r[0]}function ht(e,t){return(e.width??0)*(e.height??0)>(t.width??0)*(t.height??0)}const G={safetyMargin:.85,minUpgradeInterval:8e3,defaultBandwidth:5e6};function gt(e){return(e.selectionSets?.find(e=>e.type===`video`))?.switchingSets[0]?.tracks??[]}function _t({state:e},t={}){let n=t.safetyMargin??G.safetyMargin,r=t.minUpgradeInterval??G.minUpgradeInterval,i=t.defaultBandwidth??G.defaultBandwidth,a=Date.now(),o=!0;return I(()=>{let{presentation:t,bandwidthState:s,selectedVideoTrackId:c,abrDisabled:l}=e.get();if(l===!0||!t||!s)return;let u=gt(t);if(u.length===0)return;let d=o;o=!1;let p=mt(u,f(s,i),{safetyMargin:n});if(!p||p.id===c)return;let m=u.find(e=>e.id===c);if(!m||p.bandwidth>m.bandwidth){let e=Date.now();if(!d&&e-a<r)return;a=e}z(e,{selectedVideoTrackId:p.id})})}function K(){return`${Date.now()}-${Math.floor(Math.random()*1e6)}`}function vt(e){let t=new Map;for(let n of e.matchAll(/([A-Z0-9-]+)=(?:"([^"]*)"|([^,]*))/g)){let e=n[1],r=n[2]??n[3]??``;e&&t.set(e,r)}return t}function yt(e){let t=/^(\d+)x(\d+)$/.exec(e);return t?{width:Number.parseInt(t[1],10),height:Number.parseInt(t[2],10)}:null}function bt(e){let t=Number.parseFloat(e);if(!(Number.isNaN(t)||t<=0))return Math.abs(t-23.976)<.01?{frameRateNumerator:24e3,frameRateDenominator:1001}:Math.abs(t-29.97)<.01?{frameRateNumerator:3e4,frameRateDenominator:1001}:Math.abs(t-59.94)<.01?{frameRateNumerator:6e4,frameRateDenominator:1001}:(t%1,{frameRateNumerator:Math.round(t)})}function q(e){let t=e.split(`,`).map(e=>e.trim()),n={};for(let e of t)e.startsWith(`avc1.`)||e.startsWith(`hvc1.`)||e.startsWith(`hev1.`)?n.video=e:e.startsWith(`mp4a.`)&&(n.audio=e);return n}function xt(e){let t=e.split(`,`)[0]??e,n=Number.parseFloat(t);return Number.isNaN(n)?0:n}function St(e,t){let n=/^(\d+)(?:@(\d+))?$/.exec(e);if(!n)return null;let r=Number.parseInt(n[1],10);if(Number.isNaN(r))return null;let i;if(n[2]!==void 0){if(i=Number.parseInt(n[2],10),Number.isNaN(i))return null}else if(t!==void 0)i=t;else return null;return{start:i,end:i+r-1}}function Ct(e){let t=vt(e);return{get(e){return t.get(e)},getInt(e,n){let r=t.get(e);if(r===void 0)return n;let i=Number.parseInt(r,10);return Number.isNaN(i)?n:i},getFloat(e,n){let r=t.get(e);if(r===void 0)return n;let i=Number.parseFloat(r);return Number.isNaN(i)?n:i},getBool(e){return t.get(e)===`YES`},getResolution(e){let n=t.get(e);if(n)return yt(n)??void 0},getFrameRate(e){let n=t.get(e);if(n)return bt(n)}}}function J(e,t){let n=`#${t}:`;return e.startsWith(n)?Ct(e.slice(n.length)):null}function Y(e,t){return new URL(e,t).href}function wt(e,t){let n=t.url,r=e.split(/\r?\n/),i=[],a=[],o=[],s=null;for(let e of r){let t=e.trim();if(!t||t.startsWith(`#`)&&!t.startsWith(`#EXT`)||t===`#EXTM3U`||t.startsWith(`#EXT-X-VERSION:`)||t.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let r=J(t,`EXT-X-MEDIA`);if(r){let e=r.get(`TYPE`),t=r.get(`GROUP-ID`),i=r.get(`NAME`);if(e===`AUDIO`&&t&&i){let e=r.get(`URI`);a.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:e?Y(e,n):void 0,default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`)})}if(e===`SUBTITLES`&&t&&i){let e=r.get(`URI`);e&&o.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:Y(e,n),default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`),forced:r.getBool(`FORCED`)})}continue}let c=J(t,`EXT-X-STREAM-INF`);if(c){s={bandwidth:c.getInt(`BANDWIDTH`,0),resolution:c.getResolution(`RESOLUTION`),codecs:c.get(`CODECS`),frameRate:c.getFrameRate(`FRAME-RATE`),audioGroupId:c.get(`AUDIO`)};continue}!t.startsWith(`#`)&&s&&(i.push({...s,uri:Y(t,n)}),s=null)}let c=[],l=[];for(let e of i){if(!e.codecs){c.push(e);continue}let t=q(e.codecs);e.codecs.split(`,`).length===1&&t.audio&&!t.video?l.push(e):c.push(e)}let u=c.map(e=>{let t=e.codecs?q(e.codecs):void 0,n={type:`video`,id:K(),url:e.uri,bandwidth:e.bandwidth,mimeType:`video/mp4`,codecs:[]};return e.resolution?.width!==void 0&&(n.width=e.resolution.width),e.resolution?.height!==void 0&&(n.height=e.resolution.height),t?.video&&(n.codecs=[t.video]),e.frameRate&&(n.frameRate=e.frameRate),e.audioGroupId&&(n.audioGroupId=e.audioGroupId),n}),d=l.map(e=>{let t=e.codecs?q(e.codecs):void 0;return{type:`audio`,id:K(),url:e.uri,bandwidth:e.bandwidth,mimeType:`audio/mp4`,codecs:t?.audio?[t.audio]:[],groupId:e.audioGroupId||`default`,name:`Default`,sampleRate:48e3,channels:2}}),f=[...a.map(e=>{let t;for(let n of i)if(n.audioGroupId===e.groupId&&n.codecs){let e=q(n.codecs);if(e.audio){t=[e.audio];break}}let n={type:`audio`,id:K(),url:e.uri??``,groupId:e.groupId,name:e.name,mimeType:`audio/mp4`,bandwidth:0,sampleRate:48e3,channels:2,codecs:[]};return e.language&&(n.language=e.language),t&&(n.codecs=t),e.default&&(n.default=e.default),e.autoselect&&(n.autoselect=e.autoselect),n}),...d],p=o.map(e=>{let t={type:`text`,id:K(),url:e.uri,groupId:e.groupId,label:e.name,kind:`subtitles`,mimeType:`text/vtt`,bandwidth:0};return e.language&&(t.language=e.language),e.default&&e.autoselect&&(t.default=!0),e.autoselect&&(t.autoselect=e.autoselect),e.forced&&(t.forced=e.forced),t}),m=[];if(u.length>0){let e={id:K(),type:`video`,tracks:u},t={id:K(),type:`video`,switchingSets:[e]};m.push(t)}if(f.length>0){let e={id:K(),type:`audio`,tracks:f},t={id:K(),type:`audio`,switchingSets:[e]};m.push(t)}if(p.length>0){let e={id:K(),type:`text`,tracks:p},t={id:K(),type:`text`,switchingSets:[e]};m.push(t)}return{id:K(),url:t.url,startTime:0,selectionSets:m}}function Tt(e){return e!==void 0&&`url`in e&&!(`id`in e)}function Et(e){return Tt(e.presentation)}function Dt(e){let{preload:t,playbackInitiated:n}=e;return[`auto`,`metadata`].includes(t)||!!n}function Ot({state:e}){let t=R(()=>Et(e.get())),n=R(()=>Dt(e.get())),r=!1,i=null,a=I(()=>{if(!t.get()||!n.get()||r)return;let a=e.get().presentation;r=!0,i=new AbortController,U(a,{signal:i.signal}).then(e=>Fe(e)).then(t=>{z(e,{presentation:wt(t,a)})}).catch(e=>{if(!(e instanceof Error&&e.name===`AbortError`))throw e}).finally(()=>{r=!1,i=null})});return()=>{i?.abort(),a()}}function kt(e,t){let n=e.split(/\r?\n/),r=t.url,i=[],a,o,s=0,c,l=0,u=0,d;for(let e of n){let t=e.trim();if(!t||t.startsWith(`#`)&&!t.startsWith(`#EXT`)||t===`#EXTM3U`||t.startsWith(`#EXT-X-VERSION:`)||t.startsWith(`#EXT-X-TARGETDURATION:`)||t.startsWith(`#EXT-X-PLAYLIST-TYPE:`)||t.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let n=J(t,`EXT-X-MAP`);if(n){let e=n.get(`URI`);if(e){a=Y(e,r);let t=n.get(`BYTERANGE`);t&&(o=St(t,0)??void 0)}continue}if(t.startsWith(`#EXTINF:`)){s=xt(t.slice(8));continue}if(t.startsWith(`#EXT-X-BYTERANGE:`)){c=St(t.slice(17),d)??void 0;continue}if(t!==`#EXT-X-ENDLIST`&&!t.startsWith(`#`)&&s>0){let e={id:`segment-${u}`,url:Y(t,r),duration:s,startTime:l};c?(e.byteRange=c,d=c.end+1):d=void 0,i.push(e),l+=s,u++,s=0,c=void 0}}let f=l,p=t.type===`text`&&!a?void 0:a?{url:a,...o?{byteRange:o}:{}}:{url:``};return{...t,startTime:0,duration:f,segments:i,initialization:p}}var X=class{id;#e;#t=new AbortController;#n;#r=`pending`;#i=void 0;#a=void 0;constructor(t,n){this.#e=t;let r=n?.id;this.id=typeof r==`function`?r():r??K(),this.#n=n?.signal?e([this.#t.signal,n.signal]):this.#t.signal}get status(){return this.#r}get value(){return this.#i}get error(){return this.#a}async run(){this.#r=`running`;try{let e=await this.#e(this.#n);return this.#i=e,this.#r=`done`,e}catch(e){throw this.#a=e,this.#r=`error`,e}}abort(){this.#t.abort()}},At=class{#e=new Map;schedule(e){this.#e.has(e.id)||(this.#e.set(e.id,e),e.run().catch(e=>{if(!(e instanceof Error&&e.name===`AbortError`))throw e}).finally(()=>{this.#e.delete(e.id)}))}abortAll(){for(let e of this.#e.values())e.abort();this.#e.clear()}},jt=class{#e=Promise.resolve();#t=new Set;#n=null;schedule(e){let t=e;this.#t.add(t);let n=this.#e.then(()=>(this.#t.delete(t),this.#n=t,e.run())).finally(()=>{this.#n=null});return this.#e=n.then(()=>{},()=>{}),n}abortAll(){for(let e of this.#t)e.abort();this.#t.clear(),this.#n?.abort()}destroy(){this.abortAll()}};function Mt(e,t){let n=H(e,t.type);return n?!B(n):!1}function Nt(e,t){let n=t.id;return{...e,selectionSets:e.selectionSets.map(e=>({...e,switchingSets:e.switchingSets.map(e=>({...e,tracks:e.tracks.map(e=>e.id===n?t:e)}))}))}}function Z({state:e},t){let n=new At,r=I(()=>{let r=e.get();if(!Mt(r,t))return;let i=H(r,t.type);if(!i)return;let a=i;n.schedule(new X(async t=>{let n=kt(await Fe(await U(a,{signal:t})),a),r=e.get(),i=Nt(r.presentation,n);e.set({...r,presentation:i})},{id:i.id}))});return()=>{n.abortAll(),r()}}function Pt(e,t){let n=e.selectionSets.find(e=>e.type===`text`);if(!n?.switchingSets?.[0]?.tracks.length)return;let r=n.switchingSets[0].tracks,i=t.includeForcedTracks?r:r.filter(e=>!e.forced);if(i.length===0)return;let{preferredSubtitleLanguage:a,enableDefaultTrack:o=!1}=t;if(a){let e=i.find(e=>e.language===a);if(e)return e.id}if(o){let e=i.find(e=>e.default===!0);if(e)return e.id}}function Q(e,t){return!!e?.presentation?.selectionSets?.find(({type:e})=>e===t.type)?.switchingSets?.[0]?.tracks.length}function $(e,t){return!e[V[t.type]]}function Ft({state:e},t={type:`video`}){return I(()=>{let n=e.get();if(!Q(n,t)||!$(n,t))return;let r=n.presentation?.selectionSets.find(({type:e})=>e===t.type)?.switchingSets[0]?.tracks[0]?.id;r&&z(e,{[V[t.type]]:r})})}function It({state:e},t={type:`audio`}){return I(()=>{let n=e.get();if(!Q(n,t)||!$(n,t))return;let r=n.presentation?.selectionSets.find(({type:e})=>e===`audio`)?.switchingSets[0]?.tracks[0]?.id;r&&z(e,{selectedAudioTrackId:r})})}function Lt({state:e},t={type:`text`}){return I(()=>{let n=e.get();if(!Q(n,t)||!$(n,t))return;let r=Pt(n.presentation,t);r&&z(e,{selectedTextTrackId:r})})}function Rt({state:e,owners:t}){let n=R(()=>t.get().mediaElement);return I(()=>{if(e.get().preload!==void 0)return;let t=n.get()?.preload||void 0;t!==void 0&&z(e,{preload:t})})}function zt(e,t){if(e.length===0)return!0;let n=e[e.length-1];return n?t?.snapshot.get().context.segments.some(e=>e.id===n.id&&!e.partial)??!1:!1}function Bt(e,t){let n=e.selectedVideoTrackId?H(e,`video`):void 0,r=e.selectedAudioTrackId?H(e,`audio`):void 0;return!(n&&!B(n)||r&&!B(r)||n&&B(n)&&!zt(n.segments,t.videoBufferActor)||r&&B(r)&&!zt(r.segments,t.audioBufferActor))}function Vt(e,t){return!!(t.mediaSource&&e.presentation)}function Ht(e,t){if(!Vt(e,t))return!1;let{mediaElement:n}=t;if((t.mediaSourceReadyState?.get()??t.mediaSource?.readyState)!==`open`||n&&n.readyState<HTMLMediaElement.HAVE_METADATA)return!1;let r=!!e.selectedVideoTrackId,i=!!e.selectedAudioTrackId;if(r&&!t.videoBuffer||i&&!t.audioBuffer||t.videoBufferActor?.snapshot.get().status===`updating`||t.audioBufferActor?.snapshot.get().status===`updating`||!Bt(e,t))return!1;if(n){let t=r?H(e,`video`):void 0,a=i?H(e,`audio`):void 0,o=t&&B(t)?t:a&&B(a)?a:void 0;if(o&&o.segments.length>0){let e=o.segments[o.segments.length-1];if(n.currentTime<e.startTime)return!1}}return!0}function Ut(e){let t=[e.videoBufferActor,e.audioBufferActor].filter(e=>e!==void 0&&e.snapshot.get().status===`updating`);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>{let n,r=!1;n=I(()=>{e.snapshot.get().status!==`updating`&&(r||(r=!0,t()),queueMicrotask(()=>n?.()))})}))).then(()=>void 0)}function Wt(e){let t=0;for(let n of[e.videoBuffer,e.audioBuffer])if(n&&n.buffered.length>0){let e=n.buffered.end(n.buffered.length-1);e>t&&(t=e)}return t}const Gt=async({currentOwners:e},t)=>{let{mediaSource:n}=e;if(n.readyState===`ended`||(await Ut(e),n.readyState!==`open`))return;let r=Wt(e);r>0&&(n.duration=r),n.endOfStream(),await new Promise(e=>requestAnimationFrame(e))};function Kt({state:e,owners:t}){let n=R(()=>Ht(e.get(),t.get())),r=!1;return I(()=>{if(!n.get())return;let e=t.get();if(r){if((e.mediaSourceReadyState?.get()??e.mediaSource?.readyState)!==`open`)return;r=!1}r=!0,Gt({currentOwners:e},{}).catch(e=>console.error(`Failed to call endOfStream:`,e))})}function qt(){return typeof MediaSource<`u`}function Jt(){return typeof ManagedMediaSource<`u`}function Yt(e={}){let{preferManaged:t=!1}=e;if(t&&Jt())return new ManagedMediaSource;if(qt())return new MediaSource;throw Error(`MediaSource API is not supported`)}function Xt(e,t){if(Jt()&&e instanceof ManagedMediaSource)return t.disableRemotePlayback=!0,t.srcObject=e,{url:``,detach:()=>{t.srcObject=null,t.load()}};let n=URL.createObjectURL(e);return t.src=n,{url:n,detach:()=>{t.removeAttribute(`src`),t.load(),URL.revokeObjectURL(n)}}}function Zt(e,t){if(e.readyState!==`open`)throw Error(`MediaSource is not open`);if(!Qt(t))throw Error(`Codec not supported: ${t}`);return e.addSourceBuffer(t)}function Qt(e){return qt()?MediaSource.isTypeSupported(e):!1}function $t(e,t){let n=L(e.readyState),r=()=>n.set(e.readyState),i={signal:t};return e.addEventListener(`sourceopen`,r,i),e.addEventListener(`sourceended`,r,i),e.addEventListener(`sourceclose`,r,i),n}function en({state:e,owners:t}){let n=new AbortController,r=R(()=>t.get().mediaElement),i=R(()=>e.get().presentation?.url),a=R(()=>!!r.get()&&!!i.get()),o=R(()=>r.get()?.src),s=R(()=>t.get().mediaSource),c=R(()=>!o.get()),l=I(()=>{if(!a.get()||!c.get())return;let e=r.get(),{signal:i}=n,o=Yt({preferManaged:!0}),l=$t(o,i);Xt(o,e);let u=I(()=>{s.get()||l.get()!==`open`||t.set(Object.assign({},t.get(),{mediaSource:o,mediaSourceReadyState:l}))});return()=>{u()}});return()=>{n?.abort(),l()}}var tn=class extends Error{constructor(e){super(e),this.name=`SourceBufferActorError`}};function nn(e){let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}function rn(e,{signal:t,getCtx:n,sourceBuffer:r}){return new X(async t=>{let i=n();return t.aborted?i:(await ot(r,e.data),{...i,initTrackId:e.meta.trackId})},{signal:t})}function an(e,{signal:t,getCtx:n,sourceBuffer:r,onPartialContext:i}){return new X(async t=>{let a=n();if(t.aborted)return a;let{meta:o}=e,s=a.segments.filter(e=>Math.abs(e.startTime-o.startTime)>=1e-4);return e.data instanceof ArrayBuffer||i({...a,segments:[...s,{id:o.id,startTime:o.startTime,duration:o.duration,trackId:o.trackId,...o.trackBandwidth!==void 0&&{trackBandwidth:o.trackBandwidth},partial:!0}],bufferedRanges:a.bufferedRanges}),await ot(r,e.data,t),{...a,segments:[...s,{id:o.id,startTime:o.startTime,duration:o.duration,trackId:o.trackId,...o.trackBandwidth!==void 0&&{trackBandwidth:o.trackBandwidth}}],bufferedRanges:nn(r.buffered)}},{signal:t})}function on(e,{signal:t,getCtx:n,sourceBuffer:r}){return new X(async t=>{let i=n();if(t.aborted)return i;await ct(r,e.start,e.end);let a=nn(r.buffered),o=i.segments.filter(e=>{let t=e.startTime+e.duration/2;return a.some(e=>t>=e.start&&t<e.end)});return{...i,segments:o,bufferedRanges:a}},{signal:t})}const sn={"append-init":rn,"append-segment":an,remove:on};function cn(e,t){let n=sn[e.type];return n(e,t)}function ln(e,t){let n=L({status:`idle`,context:{segments:[],bufferedRanges:[],initTrackId:void 0,...t}}),r=new jt;function i(e){let t=n.get().status===`destroyed`?`destroyed`:`idle`;n.set({status:t,context:e})}function a(e){throw z(n,{status:n.get().status===`destroyed`?`destroyed`:`idle`}),e}return{get snapshot(){return n},send(t,o){if(n.get().status!==`idle`)return Promise.reject(new tn(`send() called while actor is ${n.get().status}`));z(n,{status:`updating`});let s=cn(t,{signal:o,getCtx:()=>n.get().context,sourceBuffer:e,onPartialContext:e=>{n.set({status:`updating`,context:e})}});return r.schedule(s).then(i).catch(a)},batch(t,o){if(n.get().status!==`idle`)return Promise.reject(new tn(`batch() called while actor is ${n.get().status}`));if(t.length===0)return Promise.resolve();z(n,{status:`updating`});let s=n.get().context,c=e=>{n.set({status:`updating`,context:e})};for(let n of t.slice(0,-1)){let t=cn(n,{signal:o,getCtx:()=>s,sourceBuffer:e,onPartialContext:c});r.schedule(t).then(e=>{s=e})}let l=cn(t[t.length-1],{signal:o,getCtx:()=>s,sourceBuffer:e,onPartialContext:c});return r.schedule(l).then(i).catch(a)},destroy(){z(n,{status:`destroyed`}),r.destroy()}}}const un={video:`videoBufferActor`,audio:`audioBufferActor`};function dn(e){let t=e.codecs?.join(`,`)??``;return`${e.mimeType}; codecs="${t}"`}function fn({state:e,owners:t}){let n=R(()=>{let{presentation:t}=e.get();return!t||!(`selectionSets`in t)?[]:t.selectionSets.map(({type:e})=>e).filter(e=>e===`video`||e===`audio`)}),r=R(()=>{let r=n.get();if(!t.get().mediaSource||r.length===0)return!1;let i=e.get();return r.every(e=>{let t=H(i,e);return t&&B(t)&&!!t.codecs?.length})}),i=R(()=>{let e=t.get();return n.get().every(t=>!e[je[t]])});return I(()=>{if(!r.get()||!i.get())return;let a=e.get(),o=t.get(),s={};for(let e of n.get()){let t=H(a,e),n=Zt(o.mediaSource,dn(t));s[je[e]]=n,s[un[e]]=ln(n)}z(t,s)})}function pn(e){let t=document.createElement(`track`);return t.id=e.id,t.kind=e.kind,t.label=e.label,e.language&&(t.srclang=e.language),e.default&&(t.default=!0),t.src=e.url,t}function mn({state:e,owners:t}){let n=R(()=>e.get().presentation?.selectionSets?.find(e=>e.type===`text`)?.switchingSets[0]?.tracks,{equals(e,t){return e===t?!0:typeof e!=typeof t||e?.length!==t?.length?!1:!!t&&t.every(t=>e?.some(e=>e.id===t.id))}}),r=R(()=>t.get().textTracks),i=R(()=>t.get().mediaElement),a=R(()=>!!i.get()&&n.get()?.length),o=R(()=>!r.get()),s=I(()=>{if(!a.get()||!o.get())return;let e=i.get(),r=n.get(),s=new Map;r.forEach(t=>{let n=pn(t);e.appendChild(n),s.set(t.id,n)}),s.size&&z(t,{textTracks:s})});return()=>{t.get().textTracks?.forEach(e=>e.remove()),s()}}function hn({state:e,owners:t}){let r=R(()=>t.get().mediaElement);return I(()=>{let t=r.get();if(t)return n(t.textTracks,`change`,()=>{let n=Array.from(t.textTracks).find(e=>e.mode===`showing`&&(e.kind===`subtitles`||e.kind===`captions`))?.id||void 0,r=e.get();if(r.selectedTextTrackId!==n)if(n)z(e,{selectedTextTrackId:n});else{let t=r.selectedTextTrackId;if(t&&r.textBufferState?.[t]){let n={...r.textBufferState};delete n[t],z(e,{selectedTextTrackId:void 0,textBufferState:n})}else z(e,{selectedTextTrackId:void 0})}})})}function gn({state:e,owners:t}){let n=R(()=>t.get().textTracks),r=R(()=>e.get().selectedTextTrackId),i=R(()=>!!n.get()?.size);return I(()=>{if(!i.get())return;let e=n.get(),t=r.get();for(let[n,r]of e)r.track.mode=n===t?`showing`:`hidden`})}function _n(e,t){return!!(t.mediaSource&&e.presentation&&Ae(e.presentation))}function vn(e){let t=0,n=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e!==void 0);for(let e of n){let{buffered:n}=e;if(n.length>0){let e=n.end(n.length-1);e>t&&(t=e)}}return t}function yn(e,t){if(!_n(e,t))return!1;let{mediaSource:n}=t,{presentation:r}=e;if((t.mediaSourceReadyState?.get()??t.mediaSource?.readyState)!==`open`)return!1;let i=r.duration;return!Number.isFinite(i)||Number.isNaN(i)||i<=0?!1:Number.isNaN(n.duration)}function bn(e){let t=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e?.updating===!0);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>e.addEventListener(`updateend`,()=>t(),{once:!0})))).then(()=>void 0)}function xn({state:e,owners:t}){let n=!1,r=!1,i=I(()=>{let i=e.get(),a=t.get();if(!yn(i,a)||r)return;let{mediaSource:o}=a;r=!0,bn(a).then(()=>{if(n||o.readyState!==`open`)return;let e=i.presentation.duration,t=vn(a);t>e&&(e=t),o.duration=e}).finally(()=>{r=!1})});return()=>{n=!0,i()}}function Sn(e={}){let t=L({bandwidthState:{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}}),n=L({}),r=[Rt({state:t,owners:n}),at({state:t,owners:n}),Ot({state:t}),Ft({state:t},{type:`video`,...e.initialBandwidth!==void 0&&{initialBandwidth:e.initialBandwidth}}),It({state:t},{type:`audio`,...e.preferredAudioLanguage!==void 0&&{preferredAudioLanguage:e.preferredAudioLanguage}}),Lt({state:t},{type:`text`,...e.preferredSubtitleLanguage!==void 0&&{preferredSubtitleLanguage:e.preferredSubtitleLanguage},...e.includeForcedTracks!==void 0&&{includeForcedTracks:e.includeForcedTracks},...e.enableDefaultTrack!==void 0&&{enableDefaultTrack:e.enableDefaultTrack}}),Z({state:t},{type:`video`}),Z({state:t},{type:`audio`}),Z({state:t},{type:`text`}),ft({state:t}),en({state:t,owners:n}),xn({state:t,owners:n}),fn({state:t,owners:n}),it({state:t,owners:n}),_t({state:t},e.initialBandwidth===void 0?{}:{defaultBandwidth:e.initialBandwidth}),Ge({state:t,owners:n},{type:`video`}),Ge({state:t,owners:n},{type:`audio`}),Kt({state:t,owners:n}),mn({state:t,owners:n}),gn({state:t,owners:n}),hn({state:t,owners:n}),rt({state:t,owners:n})];return{state:t,owners:n,destroy:()=>{r.forEach(e=>e()),Je()}}}var Cn=class{#e;#t;#n=``;#r=null;constructor(e={}){this.#t=e,this.#e=Sn(e)}get engine(){return this.#e}attach(e){z(this.#e.owners,{mediaElement:e})}detach(){this.#i(),z(this.#e.owners,{mediaElement:void 0})}destroy(){this.#i(),this.#e.destroy()}get preload(){return this.#n}set preload(e){this.#n=e,e&&z(this.#e.state,{preload:e})}get src(){return this.#e.state.get().presentation?.url??``}set src(e){let t=this.#e.owners.get().mediaElement;this.#i(),this.#e.destroy(),this.#e=Sn(this.#t),this.#n&&z(this.#e.state,{preload:this.#n}),t&&z(this.#e.owners,{mediaElement:t}),e&&z(this.#e.state,{presentation:{url:e}})}play(){let{mediaElement:e}=this.#e.owners.get();return e?(z(this.#e.state,{playbackInitiated:!0}),e.play().catch(t=>{if(this.src)return new Promise((t,n)=>{let r=()=>{this.#r=null,e.play().then(t,n)};this.#r=r,e.addEventListener(`loadstart`,r,{once:!0})});throw t})):Promise.reject(Error(`SpfMedia: no media element attached`))}#i(){if(!this.#r)return;let{mediaElement:e}=this.#e.owners.get();e?.removeEventListener(`loadstart`,this.#r),this.#r=null}},wn=class extends r(a,Cn){},Tn=class extends o(i(wn),Cn){constructor(){super(),this.attach(this.target)}};t(class extends Tn{static{this.tagName=`simple-hls-video`}});
2
59
  //# sourceMappingURL=simple-hls-video.js.map