@videojs/html 10.0.0-beta.27 → 10.0.0-beta.28

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 (393) hide show
  1. package/cdn/audio-headless.dev.js +1 -1
  2. package/cdn/audio-headless.js +1 -1
  3. package/cdn/audio-minimal-ui.dev.js +1 -1
  4. package/cdn/audio-minimal-ui.js +1 -1
  5. package/cdn/audio-minimal.dev.js +4 -4
  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-ui.dev.js +1 -1
  10. package/cdn/audio-ui.js +1 -1
  11. package/cdn/audio.dev.js +4 -4
  12. package/cdn/audio.dev.js.map +1 -1
  13. package/cdn/audio.js +1 -1
  14. package/cdn/audio.js.map +1 -1
  15. package/cdn/background-video-WKumpp49.js +59 -0
  16. package/cdn/background-video-WKumpp49.js.map +1 -0
  17. package/cdn/background-video-YHY_3-lX.js +2 -0
  18. package/cdn/background-video-YHY_3-lX.js.map +1 -0
  19. package/cdn/background.dev.js +3 -56
  20. package/cdn/background.dev.js.map +1 -1
  21. package/cdn/background.js +1 -1
  22. package/cdn/background.js.map +1 -1
  23. package/cdn/bn-CcLIScl6.js +108 -0
  24. package/cdn/bn-CcLIScl6.js.map +1 -0
  25. package/cdn/bn-KcCmQhYd.js +2 -0
  26. package/cdn/bn-KcCmQhYd.js.map +1 -0
  27. package/cdn/compounds-BEO1d3ZM.js +8 -0
  28. package/cdn/compounds-BEO1d3ZM.js.map +1 -0
  29. package/cdn/{compounds-CCvdpvge.js → compounds-nk9RJtBK.js} +8 -15
  30. package/cdn/compounds-nk9RJtBK.js.map +1 -0
  31. package/cdn/container-element-Dd0ZCdhK.js +14 -0
  32. package/cdn/container-element-Dd0ZCdhK.js.map +1 -0
  33. package/cdn/container-element-HHK_KZOE.js +376 -0
  34. package/cdn/container-element-HHK_KZOE.js.map +1 -0
  35. package/cdn/{create-player-BHFyOnWi.js → create-player-DK9WOywd.js} +19 -379
  36. package/cdn/create-player-DK9WOywd.js.map +1 -0
  37. package/cdn/create-player-hSdQMP5p.js +2 -0
  38. package/cdn/create-player-hSdQMP5p.js.map +1 -0
  39. package/cdn/embed-params-D2e8u0d4.js +2 -0
  40. package/cdn/embed-params-D2e8u0d4.js.map +1 -0
  41. package/cdn/embed-params-W6T88S8x.js +39 -0
  42. package/cdn/embed-params-W6T88S8x.js.map +1 -0
  43. package/cdn/{gesture-element-CG-Sx_5t.js → gesture-element-6Ld1YwIL.js} +3 -3
  44. package/cdn/{gesture-element-CG-Sx_5t.js.map → gesture-element-6Ld1YwIL.js.map} +1 -1
  45. package/cdn/gesture-element-BC48ucj9.js +2 -0
  46. package/cdn/{gesture-element-BNfMI8eh.js.map → gesture-element-BC48ucj9.js.map} +1 -1
  47. package/cdn/{hls-js-g1zdcyvE.js → hls-js-BEuVm0u9.js} +3 -2
  48. package/cdn/{hls-js-g1zdcyvE.js.map → hls-js-BEuVm0u9.js.map} +1 -1
  49. package/cdn/hls-js-C4P_b2tT.js +2 -0
  50. package/cdn/{hls-js-6lW7L4th.js.map → hls-js-C4P_b2tT.js.map} +1 -1
  51. package/cdn/hls-js-CATW7NBm.js +2 -0
  52. package/cdn/{hls-js-DCQzjzB5.js.map → hls-js-CATW7NBm.js.map} +1 -1
  53. package/cdn/{hls-js-Cwj8UBx9.js → hls-js-WCNy9MVh.js} +3 -2
  54. package/cdn/{hls-js-Cwj8UBx9.js.map → hls-js-WCNy9MVh.js.map} +1 -1
  55. package/cdn/i18n-CE4KxKuj.js +2 -0
  56. package/cdn/i18n-CE4KxKuj.js.map +1 -0
  57. package/cdn/{i18n-Mtlmj1AA.js → i18n-Ch4t6EjV.js} +2 -2
  58. package/cdn/{i18n-Mtlmj1AA.js.map → i18n-Ch4t6EjV.js.map} +1 -1
  59. package/cdn/i18n-Dc7WM2xd.js +2 -0
  60. package/cdn/{i18n-DfKGl5Rh.js.map → i18n-Dc7WM2xd.js.map} +1 -1
  61. package/cdn/i18n-DyF_NfCk.js +157 -0
  62. package/cdn/i18n-DyF_NfCk.js.map +1 -0
  63. package/cdn/i18n.dev.js +3 -152
  64. package/cdn/i18n.dev.js.map +1 -1
  65. package/cdn/i18n.js +1 -1
  66. package/cdn/i18n.js.map +1 -1
  67. package/cdn/{live-button-element-B_y-ZJBy.js → live-button-element-Bae44kBN.js} +5 -4
  68. package/cdn/live-button-element-Bae44kBN.js.map +1 -0
  69. package/cdn/live-button-element-DaHgnYdw.js +2 -0
  70. package/cdn/{live-button-element-CWfkQUoy.js.map → live-button-element-DaHgnYdw.js.map} +1 -1
  71. package/cdn/live-video-minimal.dev.js +8 -8
  72. package/cdn/live-video-minimal.dev.js.map +1 -1
  73. package/cdn/live-video-minimal.js +1 -1
  74. package/cdn/live-video-minimal.js.map +1 -1
  75. package/cdn/live-video.dev.js +9 -9
  76. package/cdn/live-video.dev.js.map +1 -1
  77. package/cdn/live-video.js +1 -1
  78. package/cdn/live-video.js.map +1 -1
  79. package/cdn/locales/bn.dev.js +1 -1
  80. package/cdn/locales/bn.js +1 -1
  81. package/cdn/media/background-video.dev.d.ts +1 -0
  82. package/cdn/media/background-video.dev.js +3 -0
  83. package/cdn/media/background-video.js +1 -0
  84. package/cdn/media/cloudflare-video.dev.d.ts +1 -0
  85. package/cdn/media/cloudflare-video.dev.js +668 -0
  86. package/cdn/media/cloudflare-video.dev.js.map +1 -0
  87. package/cdn/media/cloudflare-video.js +2 -0
  88. package/cdn/media/cloudflare-video.js.map +1 -0
  89. package/cdn/media/container.dev.d.ts +1 -0
  90. package/cdn/media/container.dev.js +8 -0
  91. package/cdn/media/container.dev.js.map +1 -0
  92. package/cdn/media/container.js +2 -0
  93. package/cdn/media/container.js.map +1 -0
  94. package/cdn/media/dash-video.dev.js +2 -1
  95. package/cdn/media/dash-video.js +2 -2
  96. package/cdn/media/dash-video.js.map +1 -1
  97. package/cdn/media/google-cast.dev.js +2 -31
  98. package/cdn/media/google-cast.dev.js.map +1 -1
  99. package/cdn/media/google-cast.js +3 -3
  100. package/cdn/media/google-cast.js.map +1 -1
  101. package/cdn/media/hls-audio.dev.js +1 -0
  102. package/cdn/media/hls-audio.js +1 -1
  103. package/cdn/media/hls-audio.js.map +1 -1
  104. package/cdn/media/hls-background-video.dev.js +2 -1
  105. package/cdn/media/hls-background-video.js +1 -1
  106. package/cdn/media/hls-background-video.js.map +1 -1
  107. package/cdn/media/hls-video.dev.js +2 -1
  108. package/cdn/media/hls-video.js +1 -1
  109. package/cdn/media/hls-video.js.map +1 -1
  110. package/cdn/media/hlsjs-video.dev.js +2 -1
  111. package/cdn/media/hlsjs-video.js +1 -1
  112. package/cdn/media/hlsjs-video.js.map +1 -1
  113. package/cdn/media/mux-audio/hls-js.dev.js +3 -1
  114. package/cdn/media/mux-audio/hls-js.js +1 -1
  115. package/cdn/media/mux-audio/spf.dev.js +1 -0
  116. package/cdn/media/mux-audio/spf.js +1 -1
  117. package/cdn/media/mux-audio/spf.js.map +1 -1
  118. package/cdn/media/mux-audio.dev.js +3 -1
  119. package/cdn/media/mux-audio.js +1 -1
  120. package/cdn/media/mux-background-video.dev.js +2 -1
  121. package/cdn/media/mux-background-video.js +1 -1
  122. package/cdn/media/mux-background-video.js.map +1 -1
  123. package/cdn/media/mux-data.dev.js +2 -1
  124. package/cdn/media/mux-data.dev.js.map +1 -1
  125. package/cdn/media/mux-data.js +2 -2
  126. package/cdn/media/mux-data.js.map +1 -1
  127. package/cdn/media/mux-video/hls-js.dev.js +3 -1
  128. package/cdn/media/mux-video/hls-js.js +1 -1
  129. package/cdn/media/mux-video/spf.dev.js +2 -1
  130. package/cdn/media/mux-video/spf.js +1 -1
  131. package/cdn/media/mux-video/spf.js.map +1 -1
  132. package/cdn/media/mux-video.dev.js +3 -1
  133. package/cdn/media/mux-video.js +1 -1
  134. package/cdn/media/native-hls-video.dev.js +1 -0
  135. package/cdn/media/native-hls-video.js +1 -1
  136. package/cdn/media/native-hls-video.js.map +1 -1
  137. package/cdn/media/spotify-audio.dev.d.ts +1 -0
  138. package/cdn/media/spotify-audio.dev.js +605 -0
  139. package/cdn/media/spotify-audio.dev.js.map +1 -0
  140. package/cdn/media/spotify-audio.js +2 -0
  141. package/cdn/media/spotify-audio.js.map +1 -0
  142. package/cdn/media/tiktok-video.dev.d.ts +1 -0
  143. package/cdn/media/tiktok-video.dev.js +636 -0
  144. package/cdn/media/tiktok-video.dev.js.map +1 -0
  145. package/cdn/media/tiktok-video.js +2 -0
  146. package/cdn/media/tiktok-video.js.map +1 -0
  147. package/cdn/media/twitch-video.dev.d.ts +1 -0
  148. package/cdn/media/twitch-video.dev.js +627 -0
  149. package/cdn/media/twitch-video.dev.js.map +1 -0
  150. package/cdn/media/twitch-video.js +2 -0
  151. package/cdn/media/twitch-video.js.map +1 -0
  152. package/cdn/media/vimeo-video.dev.d.ts +1 -0
  153. package/cdn/media/vimeo-video.dev.js +2989 -0
  154. package/cdn/media/vimeo-video.dev.js.map +1 -0
  155. package/cdn/media/vimeo-video.js +16 -0
  156. package/cdn/media/vimeo-video.js.map +1 -0
  157. package/cdn/media/youtube-video.dev.d.ts +1 -0
  158. package/cdn/media/youtube-video.dev.js +713 -0
  159. package/cdn/media/youtube-video.dev.js.map +1 -0
  160. package/cdn/media/youtube-video.js +2 -0
  161. package/cdn/media/youtube-video.js.map +1 -0
  162. package/cdn/{media-Cp3acYc8.js → media-BavrGKqa.js} +274 -5
  163. package/cdn/media-BavrGKqa.js.map +1 -0
  164. package/cdn/media-Bmablv4g.js +2 -0
  165. package/cdn/media-Bmablv4g.js.map +1 -0
  166. package/cdn/{media-B_gQXwri.js → media-COIe3uI5.js} +12 -3
  167. package/cdn/media-COIe3uI5.js.map +1 -0
  168. package/cdn/{media-CbWsJJhU.js → media-CPVSKLdk.js} +2 -2
  169. package/cdn/{media-CbWsJJhU.js.map → media-CPVSKLdk.js.map} +1 -1
  170. package/cdn/media-CanBm0Jh.js +41 -0
  171. package/cdn/media-CanBm0Jh.js.map +1 -0
  172. package/cdn/{media-Dq4zmIJa2.js → media-Dq4zmIJa.js} +1 -1
  173. package/cdn/media-Dq4zmIJa.js.map +1 -0
  174. package/cdn/{media-DRo3n8tM.js → media-oa3nyL2o.js} +3 -3
  175. package/cdn/{media-DRo3n8tM.js.map → media-oa3nyL2o.js.map} +1 -1
  176. package/cdn/media-played-ranges-CM2zeOGr.js +2 -0
  177. package/cdn/media-played-ranges-CM2zeOGr.js.map +1 -0
  178. package/cdn/media-played-ranges-Yd9acuMt.js +156 -0
  179. package/cdn/media-played-ranges-Yd9acuMt.js.map +1 -0
  180. package/cdn/{media-suYcjCG22.js → media-suYcjCG2.js} +1 -1
  181. package/cdn/media-suYcjCG2.js.map +1 -0
  182. package/cdn/minimal-ui-8iRZf_72.js +2 -0
  183. package/cdn/{minimal-ui-AFk6Ut5f.js.map → minimal-ui-8iRZf_72.js.map} +1 -1
  184. package/cdn/{minimal-ui--JsmpU2q.js → minimal-ui-BpHxIo4z.js} +5 -5
  185. package/cdn/{minimal-ui--JsmpU2q.js.map → minimal-ui-BpHxIo4z.js.map} +1 -1
  186. package/cdn/{minimal-ui-Bxcpf5Mb.js → minimal-ui-CRKvUmB8.js} +9 -9
  187. package/cdn/{minimal-ui-Bxcpf5Mb.js.map → minimal-ui-CRKvUmB8.js.map} +1 -1
  188. package/cdn/minimal-ui-Et2Wcn7r.js +2 -0
  189. package/cdn/{minimal-ui-BVKu9LWj.js.map → minimal-ui-Et2Wcn7r.js.map} +1 -1
  190. package/cdn/mixin-BqN0V06a.js +2 -0
  191. package/cdn/{mixin-DiB7dIef.js.map → mixin-BqN0V06a.js.map} +1 -1
  192. package/cdn/{mixin-CkNZwQXF.js → mixin-C193v40v.js} +67 -67
  193. package/cdn/mixin-C193v40v.js.map +1 -0
  194. package/cdn/noop-BxkeRIz9.js +6 -0
  195. package/cdn/noop-BxkeRIz9.js.map +1 -0
  196. package/cdn/noop-Ch0IHcOP.js +2 -0
  197. package/cdn/noop-Ch0IHcOP.js.map +1 -0
  198. package/cdn/{player-D4fdOLLk.js → player-B2oraRyD.js} +3 -2
  199. package/cdn/{player-D4fdOLLk.js.map → player-B2oraRyD.js.map} +1 -1
  200. package/cdn/player-BRQLp5bX.js +2 -0
  201. package/cdn/{player-srq1RGTj.js.map → player-BRQLp5bX.js.map} +1 -1
  202. package/cdn/player-BloX4l6F.js +2 -0
  203. package/cdn/{player-iIewo8Y9.js.map → player-BloX4l6F.js.map} +1 -1
  204. package/cdn/{player-B0qnepD5.js → player-CKTAtwit.js} +3 -2
  205. package/cdn/{player-B0qnepD5.js.map → player-CKTAtwit.js.map} +1 -1
  206. package/cdn/{player-C4ix6TQq.js → player-DM9rUXg-.js} +3 -2
  207. package/cdn/{player-C4ix6TQq.js.map → player-DM9rUXg-.js.map} +1 -1
  208. package/cdn/player-rCFqzWrA.js +2 -0
  209. package/cdn/{player-B0ccW5-n.js.map → player-rCFqzWrA.js.map} +1 -1
  210. package/cdn/{poster-element-BP1Ypgbf.js → poster-element-BGr1VQJB.js} +16 -4
  211. package/cdn/poster-element-BGr1VQJB.js.map +1 -0
  212. package/cdn/poster-element-DBmgOyep.js +2 -0
  213. package/cdn/poster-element-DBmgOyep.js.map +1 -0
  214. package/cdn/script-D3ZkiqwO.js +2 -0
  215. package/cdn/script-D3ZkiqwO.js.map +1 -0
  216. package/cdn/script-erPJaaTz.js +33 -0
  217. package/cdn/script-erPJaaTz.js.map +1 -0
  218. package/cdn/seek-button-element-FlgBVoGM.js +2 -0
  219. package/cdn/seek-button-element-FlgBVoGM.js.map +1 -0
  220. package/cdn/{seek-button-element-TErrbilI.js → seek-button-element-XMTLIxZj.js} +6 -5
  221. package/cdn/seek-button-element-XMTLIxZj.js.map +1 -0
  222. package/cdn/{skin-element-wPSb4AAs.js → skin-element-DL-Kqa5f.js} +2 -2
  223. package/cdn/{skin-element-wPSb4AAs.js.map → skin-element-DL-Kqa5f.js.map} +1 -1
  224. package/cdn/{skin-element-1_MG2zgS.js → skin-element-DNytI-uu.js} +2 -2
  225. package/cdn/{skin-element-1_MG2zgS.js.map → skin-element-DNytI-uu.js.map} +1 -1
  226. package/cdn/{text-element-DTB9_2HX.js → text-element-D88ArbZz.js} +3 -3
  227. package/cdn/{text-element-DTB9_2HX.js.map → text-element-D88ArbZz.js.map} +1 -1
  228. package/cdn/text-element-DeWBNKXb.js +2 -0
  229. package/cdn/{text-element-Bsyglab8.js.map → text-element-DeWBNKXb.js.map} +1 -1
  230. package/cdn/{time-slider-chapters-element-DPgaLdBt.js → time-slider-chapters-element-DJ0abZXI.js} +5 -4
  231. package/cdn/time-slider-chapters-element-DJ0abZXI.js.map +1 -0
  232. package/cdn/time-slider-chapters-element-DW8YyJn8.js +2 -0
  233. package/cdn/{time-slider-chapters-element-MdlcovBu.js.map → time-slider-chapters-element-DW8YyJn8.js.map} +1 -1
  234. package/cdn/{translate-text-DP0CzUCC.js → translate-text-BWvoW5-r.js} +2 -7
  235. package/cdn/translate-text-BWvoW5-r.js.map +1 -0
  236. package/cdn/translate-text-TzSgu_oe.js +2 -0
  237. package/cdn/translate-text-TzSgu_oe.js.map +1 -0
  238. package/cdn/{ui-D0AokGxw.js → ui-BU3_2gDQ.js} +8 -8
  239. package/cdn/{ui-D0AokGxw.js.map → ui-BU3_2gDQ.js.map} +1 -1
  240. package/cdn/{ui-p36Szn71.js → ui-BsaWWE4y.js} +10 -10
  241. package/cdn/{ui-p36Szn71.js.map → ui-BsaWWE4y.js.map} +1 -1
  242. package/cdn/ui-C0isALTQ.js +2 -0
  243. package/cdn/{ui-CecDxhTX.js.map → ui-C0isALTQ.js.map} +1 -1
  244. package/cdn/ui-DVpkE1MN.js +2 -0
  245. package/cdn/{ui-ChWM6Xz2.js.map → ui-DVpkE1MN.js.map} +1 -1
  246. package/cdn/video-headless.dev.js +1 -1
  247. package/cdn/video-headless.js +1 -1
  248. package/cdn/video-minimal-ui.dev.js +1 -1
  249. package/cdn/video-minimal-ui.js +1 -1
  250. package/cdn/video-minimal.dev.js +4 -4
  251. package/cdn/video-minimal.dev.js.map +1 -1
  252. package/cdn/video-minimal.js +1 -1
  253. package/cdn/video-minimal.js.map +1 -1
  254. package/cdn/video-ui.dev.js +1 -1
  255. package/cdn/video-ui.js +1 -1
  256. package/cdn/video.dev.js +5 -5
  257. package/cdn/video.dev.js.map +1 -1
  258. package/cdn/video.js +1 -1
  259. package/cdn/video.js.map +1 -1
  260. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  261. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  262. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  263. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  264. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  265. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  266. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  267. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  268. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  269. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  270. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  271. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  272. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  273. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  274. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  275. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  276. package/dist/default/define/audio/minimal-skin.css +16 -19
  277. package/dist/default/define/audio/skin.css +27 -30
  278. package/dist/default/define/live-audio/minimal-skin.css +16 -19
  279. package/dist/default/define/live-audio/skin.css +27 -30
  280. package/dist/default/define/live-video/minimal-skin.css +20 -19
  281. package/dist/default/define/live-video/skin.css +31 -30
  282. package/dist/default/define/video/minimal-skin.css +20 -19
  283. package/dist/default/define/video/skin.css +31 -30
  284. package/dist/default/media/tiktok-video/media.js +3 -2
  285. package/dist/default/media/tiktok-video/media.js.map +1 -1
  286. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +6 -6
  287. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  288. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  289. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  290. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +4 -4
  291. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  292. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -1
  293. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  294. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  295. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  296. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  297. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  298. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  299. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  300. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  301. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  302. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  303. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  304. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  305. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  306. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  307. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  308. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  309. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  310. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  311. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  312. package/dist/dev/define/audio/minimal-skin.css +16 -19
  313. package/dist/dev/define/audio/skin.css +27 -30
  314. package/dist/dev/define/live-audio/minimal-skin.css +16 -19
  315. package/dist/dev/define/live-audio/skin.css +27 -30
  316. package/dist/dev/define/live-video/minimal-skin.css +20 -19
  317. package/dist/dev/define/live-video/skin.css +31 -30
  318. package/dist/dev/define/video/minimal-skin.css +20 -19
  319. package/dist/dev/define/video/skin.css +31 -30
  320. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
  321. package/dist/dev/media/tiktok-video/media.js +10 -7
  322. package/dist/dev/media/tiktok-video/media.js.map +1 -1
  323. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js +6 -6
  324. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  325. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  326. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  327. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js +4 -4
  328. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  329. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -1
  330. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  331. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -1
  332. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  333. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  334. package/docs/README.md +1 -1
  335. package/docs/concepts/features.md +2 -2
  336. package/docs/concepts/media-sources.md +79 -1
  337. package/docs/concepts/skins.md +31 -30
  338. package/docs/how-to/build-your-own-component.md +1 -1
  339. package/docs/how-to/customize-skins.md +94 -98
  340. package/docs/how-to/migrate-from-media-chrome.md +359 -0
  341. package/docs/how-to/migrate-from-mux-player.md +535 -0
  342. package/docs/how-to/migrate-from-plyr.md +394 -0
  343. package/docs/how-to/migrate-from-video-js-8.md +594 -0
  344. package/docs/llms.txt +9 -0
  345. package/docs/reference/feature-volume.md +3 -1
  346. package/docs/reference/mute-button.md +34 -0
  347. package/docs/reference/volume-slider.md +1 -1
  348. package/package.json +10 -9
  349. package/cdn/bn-DdelKD_n.js +0 -108
  350. package/cdn/bn-DdelKD_n.js.map +0 -1
  351. package/cdn/bn-YS8ruMcO.js +0 -2
  352. package/cdn/bn-YS8ruMcO.js.map +0 -1
  353. package/cdn/compounds-CCvdpvge.js.map +0 -1
  354. package/cdn/compounds-CJ6SbYAh.js +0 -8
  355. package/cdn/compounds-CJ6SbYAh.js.map +0 -1
  356. package/cdn/create-player-BHFyOnWi.js.map +0 -1
  357. package/cdn/create-player-CbpxjDaZ.js +0 -14
  358. package/cdn/create-player-CbpxjDaZ.js.map +0 -1
  359. package/cdn/gesture-element-BNfMI8eh.js +0 -2
  360. package/cdn/hls-js-6lW7L4th.js +0 -2
  361. package/cdn/hls-js-DCQzjzB5.js +0 -2
  362. package/cdn/i18n-DfKGl5Rh.js +0 -2
  363. package/cdn/live-button-element-B_y-ZJBy.js.map +0 -1
  364. package/cdn/live-button-element-CWfkQUoy.js +0 -2
  365. package/cdn/media-5ODYtX1-.js +0 -2
  366. package/cdn/media-5ODYtX1-.js.map +0 -1
  367. package/cdn/media-B_gQXwri.js.map +0 -1
  368. package/cdn/media-CPWNSZFX.js +0 -41
  369. package/cdn/media-CPWNSZFX.js.map +0 -1
  370. package/cdn/media-Cp3acYc8.js.map +0 -1
  371. package/cdn/media-Dq4zmIJa2.js.map +0 -1
  372. package/cdn/media-suYcjCG22.js.map +0 -1
  373. package/cdn/minimal-ui-AFk6Ut5f.js +0 -2
  374. package/cdn/minimal-ui-BVKu9LWj.js +0 -2
  375. package/cdn/mixin-CkNZwQXF.js.map +0 -1
  376. package/cdn/mixin-DiB7dIef.js +0 -2
  377. package/cdn/player-B0ccW5-n.js +0 -2
  378. package/cdn/player-iIewo8Y9.js +0 -2
  379. package/cdn/player-srq1RGTj.js +0 -2
  380. package/cdn/poster-element-BP1Ypgbf.js.map +0 -1
  381. package/cdn/poster-element-S-rr412t.js +0 -2
  382. package/cdn/poster-element-S-rr412t.js.map +0 -1
  383. package/cdn/seek-button-element-DxLmm58Y.js +0 -2
  384. package/cdn/seek-button-element-DxLmm58Y.js.map +0 -1
  385. package/cdn/seek-button-element-TErrbilI.js.map +0 -1
  386. package/cdn/text-element-Bsyglab8.js +0 -2
  387. package/cdn/time-slider-chapters-element-DPgaLdBt.js.map +0 -1
  388. package/cdn/time-slider-chapters-element-MdlcovBu.js +0 -2
  389. package/cdn/translate-text-BPMWpzFm.js +0 -2
  390. package/cdn/translate-text-BPMWpzFm.js.map +0 -1
  391. package/cdn/translate-text-DP0CzUCC.js.map +0 -1
  392. package/cdn/ui-CecDxhTX.js +0 -2
  393. package/cdn/ui-ChWM6Xz2.js +0 -2
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./media-CanBm0Jh.js";import{a as t,i as n,n as r,o as i,r as a,s as o,t as s}from"./source-BjtVLlkW.js";function c(e){if(!e?.playbackId)return;let{playbackId:t,customDomain:n=s,drm:r}=e,{token:i}=r??{};if(!i||o(i)?.aud!==`d`)return;let c=a({token:i}),l=e=>`https://license.${n}/${e}/${t}${c}`;return{"com.apple.fps":{licenseUrl:l(`license/fairplay`),serverCertificateUrl:l(`appcert/fairplay`)},"com.widevine.alpha":{licenseUrl:l(`license/widevine`)},"com.microsoft.playready":{licenseUrl:l(`license/playready`)}}}const l={src:``,source:null};var u=class extends e{#e=l.source;get src(){return super.src}set src(e){if(super.src===e)return;let{type:t,preferPlayback:n,engine:r,maxAutoResolution:a,capRenditionToPlayerSize:o,minAutoResolution:s}=this.#e??{},c={...t&&{type:t},...n&&{preferPlayback:n},...r&&{engine:r},...a&&{maxAutoResolution:a},...o!==void 0&&{capRenditionToPlayerSize:o},...s&&{minAutoResolution:s},...i(e)??(e?{src:e}:null)};this.source=Object.keys(c).length>0?c:null}get source(){return this.#e}set source(e){let n=e??null;n!==this.#e&&(this.#e=n,super.source=n&&{...n,src:t(n)??n.src??``,...d(n)})}get contentData(){let e=r(this.source),t=n(this.source);return{...e&&{poster:e},...t&&{storyboard:t}}}};function d(e){let{token:t,...n}=e.drm??{},r={...c(e),...n};return{drm:Object.keys(r).length>0?r:void 0}}export{u as t};
2
+ //# sourceMappingURL=media-Bmablv4g.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-Bmablv4g.js","names":["#source"],"sources":["../../media/dist/default/dom/mux/drm.js","../../media/dist/default/dom/mux/media.js"],"sourcesContent":["import { MUX_VIDEO_DOMAIN, createMuxQuery } from \"./source/source.js\";\nimport { parseJwt } from \"@videojs/utils/jwt\";\n//#region src/dom/mux/drm.ts\n/**\n* Build the license servers a source describes, keyed by EME key system id —\n* `source.drm` as any other source would name it. Mux signs one license token\n* per playback ID and serves every system from a URL derived from it, so\n* `drm.token` is all a caller provides.\n*\n* Returns `undefined` when no license token is present, or when the token is\n* not scoped to DRM — an unsigned license request is always rejected, so there\n* is nothing useful to configure.\n*\n* Separate from `./source` because it is the one part of the Mux source an\n* engine that licenses differently — or, like SPF today, doesn't license at\n* all — has nothing to do with.\n*\n* @internal\n*/\nfunction createMuxDrmSystems(source) {\n\tif (!source?.playbackId) return void 0;\n\tconst { playbackId, customDomain = MUX_VIDEO_DOMAIN, drm } = source;\n\tconst { token } = drm ?? {};\n\tif (!token || parseJwt(token)?.aud !== \"d\") return void 0;\n\tconst query = createMuxQuery({ token });\n\tconst url = (path) => `https://license.${customDomain}/${path}/${playbackId}${query}`;\n\treturn {\n\t\t\"com.apple.fps\": {\n\t\t\tlicenseUrl: url(\"license/fairplay\"),\n\t\t\tserverCertificateUrl: url(\"appcert/fairplay\")\n\t\t},\n\t\t\"com.widevine.alpha\": { licenseUrl: url(\"license/widevine\") },\n\t\t\"com.microsoft.playready\": { licenseUrl: url(\"license/playready\") }\n\t};\n}\n//#endregion\nexport { createMuxDrmSystems };\n\n//# sourceMappingURL=drm.js.map","import { HlsJsMedia } from \"../hls-js/media.js\";\nimport { createMuxPosterURL, createMuxStoryboardURL, createMuxVideoURL, parseMuxVideoURL } from \"./source/source.js\";\nimport { createMuxDrmSystems } from \"./drm.js\";\n//#region src/dom/mux/media.ts\nconst muxMediaDefaultProps = {\n\tsrc: \"\",\n\tsource: null\n};\n/**\n* @fires sourcechange - Fired when `source` changes, either directly or by parsing a new `src`. Read `source` for the new value.\n*/\nvar MuxMedia = class extends HlsJsMedia {\n\t#source = muxMediaDefaultProps.source;\n\t/**\n\t* Media source URL. Setting a Mux stream URL\n\t* (`https://stream.mux.com/<playback-id>.m3u8?...`) extracts the playback ID\n\t* and query params into `source`; other URLs are kept as a plain `source.src`.\n\t*\n\t* Only playback options carry over. Mux identity comes from the URL, and the\n\t* signed `poster`, `storyboard`, and `drm` tokens are scoped to a playback ID,\n\t* so carrying them onto a different source would build rejected URLs.\n\t*/\n\tget src() {\n\t\treturn super.src;\n\t}\n\tset src(value) {\n\t\tif (super.src === value) return;\n\t\tconst { type, preferPlayback, engine, maxAutoResolution, capRenditionToPlayerSize, minAutoResolution } = this.#source ?? {};\n\t\tconst source = {\n\t\t\t...type && { type },\n\t\t\t...preferPlayback && { preferPlayback },\n\t\t\t...engine && { engine },\n\t\t\t...maxAutoResolution && { maxAutoResolution },\n\t\t\t...capRenditionToPlayerSize !== void 0 && { capRenditionToPlayerSize },\n\t\t\t...minAutoResolution && { minAutoResolution },\n\t\t\t...parseMuxVideoURL(value) ?? (value ? { src: value } : null)\n\t\t};\n\t\tthis.source = Object.keys(source).length > 0 ? source : null;\n\t}\n\t/**\n\t* Structured Mux source. Setting it derives `src` from the playback ID,\n\t* custom domain, and `playback` params (appended as `snake_case` query\n\t* params). A `playback.token` replaces all other params — signed URLs bake\n\t* them into the token. Engine options live under `engine`.\n\t*\n\t* A `drm.token` fills in `drm` itself: Mux's FairPlay, Widevine, and\n\t* PlayReady license servers for this playback ID, so protected media plays\n\t* whichever path the browser takes. License servers named alongside the token\n\t* win, key by key, for content Mux does not license.\n\t*\n\t* `playback.maxResolution` and `playback.minResolution` are server-side: they\n\t* decide which renditions Mux puts in the manifest at all. The inherited\n\t* `maxAutoResolution` and `minAutoResolution` only look like their pair —\n\t* those are client-side and bound which of the renditions that *do* arrive\n\t* adaptive selection reaches for. The two halves are independent.\n\t*/\n\tget source() {\n\t\treturn this.#source;\n\t}\n\tset source(value) {\n\t\tconst source = value ?? null;\n\t\tif (source === this.#source) return;\n\t\tthis.#source = source;\n\t\tsuper.source = source && {\n\t\t\t...source,\n\t\t\tsrc: createMuxVideoURL(source) ?? source.src ?? \"\",\n\t\t\t...withMuxDrm(source)\n\t\t};\n\t}\n\t/**\n\t* Image URLs `source` describes rather than plays: `poster` from its `poster`\n\t* params, `storyboard` from its `storyboard` params. A key is absent when the\n\t* URL can't be built — no playback ID, or signed playback without a matching\n\t* image token.\n\t*\n\t* Read-only and re-derived on read, so read it again after `sourcechange`.\n\t* Nothing here is applied for you, apart from the thumbnail track\n\t* `<mux-video>` adds from `storyboard` (and drops for live streams).\n\t*/\n\tget contentData() {\n\t\tconst poster = createMuxPosterURL(this.source);\n\t\tconst storyboard = createMuxStoryboardURL(this.source);\n\t\treturn {\n\t\t\t...poster && { poster },\n\t\t\t...storyboard && { storyboard }\n\t\t};\n\t}\n};\n/**\n* Resolve Mux's DRM authoring input into the license servers the HLS layer\n* licenses from. Which engine ends up playing is decided later, and both read\n* `drm`, so a signed Mux source plays either way.\n*\n* `token` is Mux's own input and stops here — it names no license server, and a\n* key system is what everything downstream expects to find. Servers the caller\n* named win, key by key, so their own licensing replaces the derived URLs.\n*/\nfunction withMuxDrm(source) {\n\tconst { token: _token, ...systems } = source.drm ?? {};\n\tconst drm = {\n\t\t...createMuxDrmSystems(source),\n\t\t...systems\n\t};\n\treturn { drm: Object.keys(drm).length > 0 ? drm : void 0 };\n}\n//#endregion\nexport { MuxMedia, muxMediaDefaultProps };\n\n//# sourceMappingURL=media.js.map"],"mappings":"2HAmBA,SAAS,EAAoB,EAAQ,CACpC,GAAI,CAAC,GAAQ,WAAY,OACzB,GAAM,CAAE,aAAY,eAAe,EAAkB,OAAQ,EACvD,CAAE,SAAU,GAAO,CAAC,EAC1B,GAAI,CAAC,GAAS,EAAS,CAAK,CAAC,EAAE,MAAQ,IAAK,OAC5C,IAAM,EAAQ,EAAe,CAAE,OAAM,CAAC,EAChC,EAAO,GAAS,mBAAmB,EAAa,GAAG,EAAK,GAAG,IAAa,IAC9E,MAAO,CACN,gBAAiB,CAChB,WAAY,EAAI,kBAAkB,EAClC,qBAAsB,EAAI,kBAAkB,CAC7C,EACA,qBAAsB,CAAE,WAAY,EAAI,kBAAkB,CAAE,EAC5D,0BAA2B,CAAE,WAAY,EAAI,mBAAmB,CAAE,CACnE,CACD,CC9BA,MAAM,EAAuB,CAC5B,IAAK,GACL,OAAQ,IACT,EAIA,IAAI,EAAW,cAAc,CAAW,CACvC,GAAU,EAAqB,OAU/B,IAAI,KAAM,CACT,OAAO,MAAM,GACd,CACA,IAAI,IAAI,EAAO,CACd,GAAI,MAAM,MAAQ,EAAO,OACzB,GAAM,CAAE,OAAM,iBAAgB,SAAQ,oBAAmB,2BAA0B,qBAAsB,KAAKA,IAAW,CAAC,EACpH,EAAS,CACd,GAAG,GAAQ,CAAE,MAAK,EAClB,GAAG,GAAkB,CAAE,gBAAe,EACtC,GAAG,GAAU,CAAE,QAAO,EACtB,GAAG,GAAqB,CAAE,mBAAkB,EAC5C,GAAG,IAA6B,IAAK,IAAK,CAAE,0BAAyB,EACrE,GAAG,GAAqB,CAAE,mBAAkB,EAC5C,GAAG,EAAiB,CAAK,IAAM,EAAQ,CAAE,IAAK,CAAM,EAAI,KACzD,EACA,KAAK,OAAS,OAAO,KAAK,CAAM,CAAC,CAAC,OAAS,EAAI,EAAS,IACzD,CAkBA,IAAI,QAAS,CACZ,OAAO,KAAKA,EACb,CACA,IAAI,OAAO,EAAO,CACjB,IAAM,EAAS,GAAS,KACpB,IAAW,KAAKA,KACpB,KAAKA,GAAU,EACf,MAAM,OAAS,GAAU,CACxB,GAAG,EACH,IAAK,EAAkB,CAAM,GAAK,EAAO,KAAO,GAChD,GAAG,EAAW,CAAM,CACrB,EACD,CAWA,IAAI,aAAc,CACjB,IAAM,EAAS,EAAmB,KAAK,MAAM,EACvC,EAAa,EAAuB,KAAK,MAAM,EACrD,MAAO,CACN,GAAG,GAAU,CAAE,QAAO,EACtB,GAAG,GAAc,CAAE,YAAW,CAC/B,CACD,CACD,EAUA,SAAS,EAAW,EAAQ,CAC3B,GAAM,CAAE,MAAO,EAAQ,GAAG,GAAY,EAAO,KAAO,CAAC,EAC/C,EAAM,CACX,GAAG,EAAoB,CAAM,EAC7B,GAAG,CACJ,EACA,MAAO,CAAE,IAAK,OAAO,KAAK,CAAG,CAAC,CAAC,OAAS,EAAI,EAAM,IAAK,EAAE,CAC1D"}
@@ -1,4 +1,4 @@
1
- import { t as HlsJsMedia } from "./media-Cp3acYc8.js";
1
+ import { t as HlsJsMedia } from "./media-BavrGKqa.js";
2
2
  import { a as createMuxVideoURL, i as createMuxStoryboardURL, n as createMuxPosterURL, o as parseMuxVideoURL, r as createMuxQuery, s as parseJwt, t as MUX_VIDEO_DOMAIN } from "./source-BWMOkdJ6.js";
3
3
 
4
4
  //#region ../media/dist/dev/dom/mux/drm.js
@@ -60,11 +60,14 @@ var MuxMedia = class extends HlsJsMedia {
60
60
  }
61
61
  set src(value) {
62
62
  if (super.src === value) return;
63
- const { type, preferPlayback, engine } = this.#source ?? {};
63
+ const { type, preferPlayback, engine, maxAutoResolution, capRenditionToPlayerSize, minAutoResolution } = this.#source ?? {};
64
64
  const source = {
65
65
  ...type && { type },
66
66
  ...preferPlayback && { preferPlayback },
67
67
  ...engine && { engine },
68
+ ...maxAutoResolution && { maxAutoResolution },
69
+ ...capRenditionToPlayerSize !== void 0 && { capRenditionToPlayerSize },
70
+ ...minAutoResolution && { minAutoResolution },
68
71
  ...parseMuxVideoURL(value) ?? (value ? { src: value } : null)
69
72
  };
70
73
  this.source = Object.keys(source).length > 0 ? source : null;
@@ -79,6 +82,12 @@ var MuxMedia = class extends HlsJsMedia {
79
82
  * PlayReady license servers for this playback ID, so protected media plays
80
83
  * whichever path the browser takes. License servers named alongside the token
81
84
  * win, key by key, for content Mux does not license.
85
+ *
86
+ * `playback.maxResolution` and `playback.minResolution` are server-side: they
87
+ * decide which renditions Mux puts in the manifest at all. The inherited
88
+ * `maxAutoResolution` and `minAutoResolution` only look like their pair —
89
+ * those are client-side and bound which of the renditions that *do* arrive
90
+ * adaptive selection reaches for. The two halves are independent.
82
91
  */
83
92
  get source() {
84
93
  return this.#source;
@@ -132,4 +141,4 @@ function withMuxDrm(source) {
132
141
 
133
142
  //#endregion
134
143
  export { MuxMedia as t };
135
- //# sourceMappingURL=media-B_gQXwri.js.map
144
+ //# sourceMappingURL=media-COIe3uI5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-COIe3uI5.js","names":["#source"],"sources":["../../media/dist/dev/dom/mux/drm.js","../../media/dist/dev/dom/mux/media.js"],"sourcesContent":["import { MUX_VIDEO_DOMAIN, createMuxQuery } from \"./source/source.js\";\nimport { parseJwt } from \"@videojs/utils/jwt\";\n//#region src/dom/mux/drm.ts\n/**\n* Build the license servers a source describes, keyed by EME key system id —\n* `source.drm` as any other source would name it. Mux signs one license token\n* per playback ID and serves every system from a URL derived from it, so\n* `drm.token` is all a caller provides.\n*\n* Returns `undefined` when no license token is present, or when the token is\n* not scoped to DRM — an unsigned license request is always rejected, so there\n* is nothing useful to configure.\n*\n* Separate from `./source` because it is the one part of the Mux source an\n* engine that licenses differently — or, like SPF today, doesn't license at\n* all — has nothing to do with.\n*\n* @internal\n*/\nfunction createMuxDrmSystems(source) {\n\tif (!source?.playbackId) return void 0;\n\tconst { playbackId, customDomain = MUX_VIDEO_DOMAIN, drm } = source;\n\tconst { token } = drm ?? {};\n\tif (!token || parseJwt(token)?.aud !== \"d\") return void 0;\n\tconst query = createMuxQuery({ token });\n\tconst url = (path) => `https://license.${customDomain}/${path}/${playbackId}${query}`;\n\treturn {\n\t\t\"com.apple.fps\": {\n\t\t\tlicenseUrl: url(\"license/fairplay\"),\n\t\t\tserverCertificateUrl: url(\"appcert/fairplay\")\n\t\t},\n\t\t\"com.widevine.alpha\": { licenseUrl: url(\"license/widevine\") },\n\t\t\"com.microsoft.playready\": { licenseUrl: url(\"license/playready\") }\n\t};\n}\n//#endregion\nexport { createMuxDrmSystems };\n\n//# sourceMappingURL=drm.js.map","import { HlsJsMedia } from \"../hls-js/media.js\";\nimport { createMuxPosterURL, createMuxStoryboardURL, createMuxVideoURL, parseMuxVideoURL } from \"./source/source.js\";\nimport { createMuxDrmSystems } from \"./drm.js\";\n//#region src/dom/mux/media.ts\nconst muxMediaDefaultProps = {\n\tsrc: \"\",\n\tsource: null\n};\n/**\n* @fires sourcechange - Fired when `source` changes, either directly or by parsing a new `src`. Read `source` for the new value.\n*/\nvar MuxMedia = class extends HlsJsMedia {\n\t#source = muxMediaDefaultProps.source;\n\t/**\n\t* Media source URL. Setting a Mux stream URL\n\t* (`https://stream.mux.com/<playback-id>.m3u8?...`) extracts the playback ID\n\t* and query params into `source`; other URLs are kept as a plain `source.src`.\n\t*\n\t* Only playback options carry over. Mux identity comes from the URL, and the\n\t* signed `poster`, `storyboard`, and `drm` tokens are scoped to a playback ID,\n\t* so carrying them onto a different source would build rejected URLs.\n\t*/\n\tget src() {\n\t\treturn super.src;\n\t}\n\tset src(value) {\n\t\tif (super.src === value) return;\n\t\tconst { type, preferPlayback, engine, maxAutoResolution, capRenditionToPlayerSize, minAutoResolution } = this.#source ?? {};\n\t\tconst source = {\n\t\t\t...type && { type },\n\t\t\t...preferPlayback && { preferPlayback },\n\t\t\t...engine && { engine },\n\t\t\t...maxAutoResolution && { maxAutoResolution },\n\t\t\t...capRenditionToPlayerSize !== void 0 && { capRenditionToPlayerSize },\n\t\t\t...minAutoResolution && { minAutoResolution },\n\t\t\t...parseMuxVideoURL(value) ?? (value ? { src: value } : null)\n\t\t};\n\t\tthis.source = Object.keys(source).length > 0 ? source : null;\n\t}\n\t/**\n\t* Structured Mux source. Setting it derives `src` from the playback ID,\n\t* custom domain, and `playback` params (appended as `snake_case` query\n\t* params). A `playback.token` replaces all other params — signed URLs bake\n\t* them into the token. Engine options live under `engine`.\n\t*\n\t* A `drm.token` fills in `drm` itself: Mux's FairPlay, Widevine, and\n\t* PlayReady license servers for this playback ID, so protected media plays\n\t* whichever path the browser takes. License servers named alongside the token\n\t* win, key by key, for content Mux does not license.\n\t*\n\t* `playback.maxResolution` and `playback.minResolution` are server-side: they\n\t* decide which renditions Mux puts in the manifest at all. The inherited\n\t* `maxAutoResolution` and `minAutoResolution` only look like their pair —\n\t* those are client-side and bound which of the renditions that *do* arrive\n\t* adaptive selection reaches for. The two halves are independent.\n\t*/\n\tget source() {\n\t\treturn this.#source;\n\t}\n\tset source(value) {\n\t\tconst source = value ?? null;\n\t\tif (source === this.#source) return;\n\t\tthis.#source = source;\n\t\tsuper.source = source && {\n\t\t\t...source,\n\t\t\tsrc: createMuxVideoURL(source) ?? source.src ?? \"\",\n\t\t\t...withMuxDrm(source)\n\t\t};\n\t}\n\t/**\n\t* Image URLs `source` describes rather than plays: `poster` from its `poster`\n\t* params, `storyboard` from its `storyboard` params. A key is absent when the\n\t* URL can't be built — no playback ID, or signed playback without a matching\n\t* image token.\n\t*\n\t* Read-only and re-derived on read, so read it again after `sourcechange`.\n\t* Nothing here is applied for you, apart from the thumbnail track\n\t* `<mux-video>` adds from `storyboard` (and drops for live streams).\n\t*/\n\tget contentData() {\n\t\tconst poster = createMuxPosterURL(this.source);\n\t\tconst storyboard = createMuxStoryboardURL(this.source);\n\t\treturn {\n\t\t\t...poster && { poster },\n\t\t\t...storyboard && { storyboard }\n\t\t};\n\t}\n};\n/**\n* Resolve Mux's DRM authoring input into the license servers the HLS layer\n* licenses from. Which engine ends up playing is decided later, and both read\n* `drm`, so a signed Mux source plays either way.\n*\n* `token` is Mux's own input and stops here — it names no license server, and a\n* key system is what everything downstream expects to find. Servers the caller\n* named win, key by key, so their own licensing replaces the derived URLs.\n*/\nfunction withMuxDrm(source) {\n\tconst { token: _token, ...systems } = source.drm ?? {};\n\tconst drm = {\n\t\t...createMuxDrmSystems(source),\n\t\t...systems\n\t};\n\treturn { drm: Object.keys(drm).length > 0 ? drm : void 0 };\n}\n//#endregion\nexport { MuxMedia, muxMediaDefaultProps };\n\n//# sourceMappingURL=media.js.map"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBA,SAAS,oBAAoB,QAAQ;CACpC,IAAI,CAAC,QAAQ,YAAY,OAAO,KAAK;CACrC,MAAM,EAAE,YAAY,eAAe,kBAAkB,QAAQ;CAC7D,MAAM,EAAE,UAAU,OAAO,CAAC;CAC1B,IAAI,CAAC,SAAS,SAAS,KAAK,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAK;CACxD,MAAM,QAAQ,eAAe,EAAE,MAAM,CAAC;CACtC,MAAM,OAAO,SAAS,mBAAmB,aAAa,GAAG,KAAK,GAAG,aAAa;CAC9E,OAAO;EACN,iBAAiB;GAChB,YAAY,IAAI,kBAAkB;GAClC,sBAAsB,IAAI,kBAAkB;EAC7C;EACA,sBAAsB,EAAE,YAAY,IAAI,kBAAkB,EAAE;EAC5D,2BAA2B,EAAE,YAAY,IAAI,mBAAmB,EAAE;CACnE;AACD;;;;AC9BA,MAAM,uBAAuB;CAC5B,KAAK;CACL,QAAQ;AACT;;;;AAIA,IAAI,WAAW,cAAc,WAAW;CACvC,UAAU,qBAAqB;;;;;;;;;;CAU/B,IAAI,MAAM;EACT,OAAO,MAAM;CACd;CACA,IAAI,IAAI,OAAO;EACd,IAAI,MAAM,QAAQ,OAAO;EACzB,MAAM,EAAE,MAAM,gBAAgB,QAAQ,mBAAmB,0BAA0B,sBAAsB,KAAKA,WAAW,CAAC;EAC1H,MAAM,SAAS;GACd,GAAG,QAAQ,EAAE,KAAK;GAClB,GAAG,kBAAkB,EAAE,eAAe;GACtC,GAAG,UAAU,EAAE,OAAO;GACtB,GAAG,qBAAqB,EAAE,kBAAkB;GAC5C,GAAG,6BAA6B,KAAK,KAAK,EAAE,yBAAyB;GACrE,GAAG,qBAAqB,EAAE,kBAAkB;GAC5C,GAAG,iBAAiB,KAAK,MAAM,QAAQ,EAAE,KAAK,MAAM,IAAI;EACzD;EACA,KAAK,SAAS,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,SAAS;CACzD;;;;;;;;;;;;;;;;;;CAkBA,IAAI,SAAS;EACZ,OAAO,KAAKA;CACb;CACA,IAAI,OAAO,OAAO;EACjB,MAAM,SAAS,SAAS;EACxB,IAAI,WAAW,KAAKA,SAAS;EAC7B,KAAKA,UAAU;EACf,MAAM,SAAS,UAAU;GACxB,GAAG;GACH,KAAK,kBAAkB,MAAM,KAAK,OAAO,OAAO;GAChD,GAAG,WAAW,MAAM;EACrB;CACD;;;;;;;;;;;CAWA,IAAI,cAAc;EACjB,MAAM,SAAS,mBAAmB,KAAK,MAAM;EAC7C,MAAM,aAAa,uBAAuB,KAAK,MAAM;EACrD,OAAO;GACN,GAAG,UAAU,EAAE,OAAO;GACtB,GAAG,cAAc,EAAE,WAAW;EAC/B;CACD;AACD;;;;;;;;;;AAUA,SAAS,WAAW,QAAQ;CAC3B,MAAM,EAAE,OAAO,QAAQ,GAAG,YAAY,OAAO,OAAO,CAAC;CACrD,MAAM,MAAM;EACX,GAAG,oBAAoB,MAAM;EAC7B,GAAG;CACJ;CACA,OAAO,EAAE,KAAK,OAAO,KAAK,GAAG,CAAC,CAAC,SAAS,IAAI,MAAM,KAAK,EAAE;AAC1D"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./listen-4VrUltMW.js";import{n as t}from"./text-track-CG8USvNG.js";import{$ as n,A as r,C as i,D as a,G as o,H as s,I as c,J as l,K as u,L as d,N as f,Q as p,R as ee,U as m,W as te,X as h,Y as g,Z as ne,at as _,b as re,c as ie,et as ae,f as oe,h as se,it as ce,j as le,k as ue,l as de,m as fe,nt as v,p as pe,q as y,rt as b,s as me,tt as x,u as he,v as ge,y as _e,z as ve}from"./select-tracks-xV1s28xD.js";import{t as S}from"./types-CtRpsVFF.js";import{C as ye,D as be,E as xe,S as Se,T as Ce,_ as we,a as C,b as w,c as T,d as E,f as D,g as O,h as k,i as Te,l as A,m as Ee,n as De,o as Oe,p as ke,r as Ae,s as je,t as Me,u as Ne,v as Pe,w as Fe,x as Ie,y as Le}from"./error-surface-DCT1m2p1.js";import{t as Re}from"./video-host-DIjP224l.js";import{t as ze}from"./mixin-DiB7dIef.js";function Be(e,t){return new Promise((n,r)=>{if(t?.aborted){r(t.reason);return}let i=()=>{clearTimeout(a),r(t?.reason)},a=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);t?.addEventListener(`abort`,i,{once:!0})})}function j(e){return`${y(e)?.mediaSequence??0}:${e.segments.length}`}function M(e){return y(e)?.targetDuration||6}function Ve(e,t){if(Number.isFinite(e.duration))return null;let n=M(e);return(!t||j(e)!==j(t)?n:n/2)*1e3}function He(e){return y(e)?.holdBack??3*M(e)}function N(e,t){if(!l(e)||!t)return 0;let n=s(e,t);return n&&g(n)?He(n):0}function P(e,t){if(!l(e)||!t)return null;let n=s(e,t);if(!n||!g(n)||n.segments.length===0||Number.isFinite(n.duration))return null;let{segments:r}=n,i=r[r.length-1];return{start:r[0].startTime,end:i.startTime+i.duration}}function F(e){return e.selectedVideoTrackId?.get()??e.selectedAudioTrackId?.get()}function I(e,t,n){if(!e||t===void 0)return null;let r=P(e,t);if(r)return r;for(let t of m(e,n)){let n=P(e,t.id);if(n)return n}return null}function L(e){let t=e.presentation.get(),n=I(t,e.selectedVideoTrackId?.get(),`video`),r=I(t,e.selectedAudioTrackId?.get(),`audio`);if(n&&r){let e=Math.max(n.start,r.start),t=Math.min(n.end,r.end);return e<t?{start:e,end:t}:null}return n??r}function R({state:e,config:t}){let n=L(e);if(!n)return null;let r=t?.resolveLiveLatency?.(e.presentation.get(),F(e))??0;return{...n,liveEdgeStart:Math.max(n.start,n.end-r)}}let z=null;function Ue(){return z||(z=document.createElement(`video`),z.muted=!0,z.preload=`none`,z.style.display=`none`,z.crossOrigin=`anonymous`),z}function We(e){let t=Ue(),n=document.createElement(`track`);return n.kind=`subtitles`,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.track.mode=`hidden`,n.src=e})}function Ge(e,t){let{snapshotSignal:n,getState:r,transition:i}=ne({value:`active`,context:e}),a=()=>b(()=>n.get().context),o=e=>ce(n,{context:e});return{get snapshot(){return n},send(e){if(r()===`destroyed`)return;let n=a(),i=t(n,e);i!==n&&o(i)},destroy(){r()!==`destroyed`&&i(`destroyed`)}}}function B(e,t){return t.some(t=>t.startTime===e.startTime&&t.endTime===e.endTime&&t.text===e.text)}function Ke(e){return Ge({loaded:{},segments:{}},(t,n)=>{if(n.type===`clear`)return{loaded:{},segments:{}};let{meta:r,cues:i}=n,{trackId:a,id:o,startTime:s,duration:c}=r,l=Array.from(e.textTracks).find(e=>e.id===a);if(!l)return t;let u=t.loaded[a]??[],d=t.segments[a]??[],f=i.filter(e=>!B(e,u)),p=d.some(e=>e.id===o);if(f.length===0&&p)return t;for(let e of f)l.addCue(e);return{...t,loaded:{...t.loaded,[a]:[...u,...f]},segments:p?t.segments:{...t.segments,[a]:[...d,{id:o,startTime:s,duration:c}]}}})}function qe(e,t,n={},r={state:{},context:{},config:{}}){let i={...te,...n.forwardBuffer},a={state:r.state,context:r.context,config:{...r.config,textTracksActor:e,resolveSegment:t}},s=(n.messagePipelines??Ne)(),c=t=>{let{track:n,range:r}=t;if(!r)return[];let a=n.id,s=v(e.snapshot).context.segments[a]??[];return o(n.segments,s,r.start,i).map(e=>({segment:e,trackId:a}))},l=(e,{getContext:t,setContext:n})=>new re(async r=>{if(r.aborted)return;let i={op:e};n({...t(),inFlightTrackId:e.trackId,inFlightSegmentId:e.segment.id});try{for(let e of s){if(r.aborted)return;await e(i,r,a)}}catch(e){console.error(`Failed to load text-track segment:`,e)}finally{n({...t(),inFlightTrackId:null,inFlightSegmentId:null})}}),u=(e,t)=>{for(let n of e)t.runner.schedule(l(n,t)).then(void 0,e=>{e instanceof Error&&e.name===`AbortError`||(console.error(`Unexpected error in text-track segment loader:`,e),t.runner.abortPending())})};return ge({runner:()=>new _e,initial:`idle`,context:{inFlightTrackId:null,inFlightSegmentId:null},states:{idle:{on:{load:(e,t)=>{let n=c(e);n.length!==0&&(t.transition(`loading`),u(n,t))}}},loading:{onSettled:`idle`,on:{load:(e,t)=>{let{context:n,runner:r}=t,i=c(e);n.inFlightTrackId!==null&&n.inFlightSegmentId!==null&&i.some(e=>e.trackId===n.inFlightTrackId&&e.segment.id===n.inFlightSegmentId)?(r.abortPending(),u(i.filter(e=>e.trackId!==n.inFlightTrackId||e.segment.id!==n.inFlightSegmentId),t)):(r.abortAll(),u(i,t))}}}}})}function Je({state:e,context:t,config:n}){return _(()=>{let r=t.mediaElement.get();if(!r)return;let i=Ke(r),a=qe(i,n.resolveTextTrackSegment,{forwardBuffer:n.forwardBuffer,messagePipelines:n.textMessagePipelines},{state:e,context:t,config:n});return t.textTracksActor.set(i),t.textTrackSegmentLoaderActor.set(a),()=>{i.destroy(),a.destroy(),t.textTracksActor.set(void 0),t.textTrackSegmentLoaderActor.set(void 0)}})}const Ye={stateKeys:[],contextKeys:[`mediaElement`,`textTracksActor`,`textTrackSegmentLoaderActor`],setup:Je};function Xe(e){return async t=>{let n=Date.now(),r=e(await t.run(),t.previous);return r===null?!1:(await Be(Math.max(0,r-(Date.now()-n)),t.signal),!0)}}const V=`track[data-src-track]`;function Ze(e,t){for(let n of t){let t=document.createElement(`track`);t.id=n.id,t.kind=n.kind,t.label=n.label,t.toggleAttribute(`data-src-track`,!0),n.language&&(t.srclang=n.language),e.appendChild(t)}}function Qe(e){let n=e.querySelectorAll(V);for(let e of n){let n=e.track;if(n.mode===`showing`&&t(n))return n}}function $e(e){let t=e.querySelectorAll(V);for(let e of t)e.remove()}function H(e,n){for(let r=0;r<e.length;r++){let i=e[r];t(i)&&(i.mode=i.id===n?`showing`:`disabled`)}}function et(e,t){return e&&t?`live`:`inactive`}function tt({state:t,context:n,config:r}){let i=x(()=>et(n.mediaElement.get(),R({state:t,config:r})));return h({initial:`inactive`,monitor:()=>i.get(),states:{inactive:{},live:{entry:()=>{let e=n.mediaElement.get(),{liveEdgeStart:i}=R({state:t,config:r});e.currentTime>=i||t.startPosition.set(i)},effects:()=>{let{start:i,liveEdgeStart:a}=R({state:t,config:r}),o=v(n.mediaElement),s=()=>{o.paused||o.currentTime<i-.1&&(o.currentTime=a)};return s(),e(o,`play`,s)}}}})}const nt={stateKeys:[`presentation`,`startPosition`],contextKeys:[`mediaElement`],setup:tt};function rt({state:e,context:t}){return _(()=>{let n=t.mediaSource.get(),r=L(e);!n||!r||n.setLiveSeekableRange(r.start,r.end)})}const it={stateKeys:[`presentation`],contextKeys:[`mediaSource`],setup:rt};function at(e,t){return!t||!e?`preconditions-unmet`:m(e,`text`).length>0?`sync-active`:`preconditions-unmet`}function ot(e,t){if(!e)return`off`;let n=t.find(t=>t.id===e)?.language;return n?{language:n}:{id:e}}function st({state:t,context:n,config:r}){let{addSubtitlesTracksToMedia:i,getShowingSubtitlesTrackFromMedia:a,removeAllSubtitlesTracksFromMedia:o}=r,s=x(()=>at(t.presentation.get(),n.mediaElement.get()));return h({initial:`preconditions-unmet`,monitor:()=>s.get(),states:{"preconditions-unmet":{},"sync-active":{entry:()=>{let r=n.mediaElement.get(),s=m(t.presentation.get(),`text`);i(r,s),H(r.textTracks,t.selectedTextTrackId.get());let c=!0,l=setTimeout(()=>{c=!1},0),u=e(r.textTracks,`change`,()=>{if(c){H(r.textTracks,t.selectedTextTrackId.get());return}let e=a(r)?.id||void 0;e!==t.selectedTextTrackId.get()&&t.userTextTrackSelection.set(ot(e,s))});return()=>{u(),clearTimeout(l),o(r),v(n.textTracksActor)?.send({type:`clear`})}},effects:()=>{H(v(n.mediaElement).textTracks,t.selectedTextTrackId.get())}}}})}const ct=ae({stateKeys:[`presentation`,`selectedTextTrackId`,`userTextTrackSelection`],contextKeys:[`mediaElement`,`textTracksActor`],setup:st}),lt=p([`userVideoTrackSelection`,`userAudioTrackSelection`,`userTextTrackSelection`,`disableRemotePlayback`]);function ut(e={}){let t=e.deriveStartMediaTime??Ie,o={...e,deriveStartMediaTime:t,attachMediaSource:f,canPlayTrack:e.canPlayTrack??w,reportUnsupportedTrackConditions:e.reportUnsupportedTrackConditions??je,resolveTextTrackSegment:e.resolveTextTrackSegment??We,textMessagePipelines:T,resolveDuration:e.resolveDuration??r,parsePresentation:e.parsePresentation??le,addSubtitlesTracksToMedia:e.addSubtitlesTracksToMedia??Ze,getShowingSubtitlesTrackFromMedia:e.getShowingSubtitlesTrackFromMedia??Qe,removeAllSubtitlesTracksFromMedia:e.removeAllSubtitlesTracksFromMedia??$e,videoMessagePipelines:A(`video`,t),audioMessagePipelines:A(`audio`,t),gateFirstParse:ye,resolveLiveLatency:N,reschedule:e.reschedule??Xe(Ve)};return n([Ee,Fe,he,Le,k,a,de,me,ie,ue,pe,oe,Se,se,fe,Pe,c,we,ke,E,D,ve,d,it,nt,i,O,ct,Ye,ee,lt],{config:o,initialState:{bandwidthState:{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}}})}const U={src:``,preload:``,disableRemotePlayback:!1,streamType:S.UNKNOWN};function dt(e,t){if(!l(e)||!t)return NaN;let n=s(e,t);if(!n||!g(n))return NaN;let r=y(n);return r?r.playlistType===`EVENT`?1/0:u(r)===`live`?0:NaN:NaN}const ft=new Set([xe,Ce]);function pt(e){class t extends e{static get alternativeMediaSuggestion(){}#e;#t;#n;#r=U.preload;#i=U.disableRemotePlayback;#a=U.streamType;#o=!1;#s=NaN;#c=null;#l=null;#u=new Set;#d;#f;#p=null;constructor(...e){super(...e);let{config:t}=e?.[0]??{};this.#t=t,this.#e=this.#b(),this.#d=_(()=>{let e=this.#n.state.presentation.get();this.#m(e?.streamType??S.UNKNOWN),this.#g(dt(e,F(this.#n.state))),this.#y(e)}),this.#f=_(()=>{let e=this.#n.state.errors.get();this.#_(Me(e,ft),e)})}get engine(){return this.#e}get error(){return this.#c}get streamType(){return this.#a}set streamType(e){if(e===S.UNKNOWN){this.#o=!1,this.#h(this.#n.state.presentation.get()?.streamType??S.UNKNOWN);return}this.#o=!0,this.#h(e)}get liveEdgeStart(){return R({state:this.#n.state,config:{resolveLiveLatency:N}})?.liveEdgeStart??NaN}get targetLiveWindow(){return this.#s}#m(e){this.#o||this.#h(e)}#h(e){this.#a!==e&&(this.#a=e,this.dispatchEvent?.(new Event(`streamtypechange`)))}#g(e){Object.is(this.#s,e)||(this.#s=e,this.dispatchEvent?.(new Event(`targetlivewindowchange`)))}#_(e,t){if(!e){this.#c=null,this.#l=null;return}if(this.#l===e.code)return;this.#l=e.code;let n=De(t);n&&console.error(this.#v(Oe),{conditions:t}),this.#c={code:n?be:e.code,message:e.message??``,...e.data===void 0?{}:{data:e.data}},this.dispatchEvent?.(new Event(`error`))}attach(e){super.attach?.(e),this.#n.context.mediaElement.set(e)}detach(){this.#x(),this.#n.context.mediaElement.set(void 0),super.detach?.()}destroy(){this.#x(),this.#d(),this.#f(),this.#e.destroy()}get preload(){return this.#r}set preload(e){this.#r=e,e&&this.#n.state.preload.set(e)}get disableRemotePlayback(){return this.#i}set disableRemotePlayback(e){this.#i=e,this.#n.state.disableRemotePlayback.set(e)}get src(){return this.#n.state.presentation.get()?.url??``}set src(e){e!==this.src&&(this.#x(),this.#n.state.presentation.set(e?{url:e}:void 0))}play(){let e=this.#n.context.mediaElement.get();return e?(this.#n.state.loadActivated.set(!0),e.play().catch(t=>{if(this.src)return new Promise((t,n)=>{let r=()=>{this.#p=null,e.play().then(t,n)};this.#p=r,e.addEventListener(`loadstart`,r,{once:!0})});throw t})):Promise.reject(Error(`HlsVideoMediaElement: no media element attached`))}#v(e){return Ae(e,this)}#y(e){if(!l(e)){this.#u.clear();return}let t=F(this.#n.state),n=t?s(e,t):void 0;if(!n||!g(n))return;let r=y(n);r&&(r.lowLatency&&!this.#u.has(`lowLatency`)&&(this.#u.add(`lowLatency`),console.warn(this.#v(C))),r.playlistType===`EVENT`&&!this.#u.has(`dvr`)&&(this.#u.add(`dvr`),console.warn(this.#v(Te))))}#b(){return ut({...this.#t,onSignalsReady:e=>{this.#n=e}})}#x(){this.#p&&=(this.#n.context.mediaElement.get()?.removeEventListener(`loadstart`,this.#p),null)}}return t}function mt(e){return e?K({tracks:m(e,`video`),keyFn:q}):[]}function ht(e){return e?K({tracks:m(e,`audio`),keyFn:J}):[]}function W(e,t){if(!e||!t)return;let n=s(e,t);return n?.type===`video`?n:void 0}function G(e,t){if(!e||!t)return;let n=s(e,t);return n?.type===`audio`?n:void 0}function gt(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function K({tracks:e,keyFn:t}){let n=[],r=[];for(let i of e){let e=t(i);!e||n.some(t=>gt(t,e))||(n.push(e),r.push(i))}return r}function q(e){return e?{width:e.width,height:e.height,bandwidth:e.bandwidth}:void 0}function J(e){return e?{language:e.language,name:e.name}:void 0}function Y(e,t){return!!t&&e.width===t.width&&e.height===t.height&&e.bandwidth===t.bandwidth}function X(e,t){return!!t&&(e.language??``)===(t.language??``)&&e.name===t.name}const _t=e=>e.frameRateNumerator/(e.frameRateDenominator??1),Z=e=>({width:e.width,height:e.height,bandwidth:e.bitrate}),Q=e=>({language:e.language,name:e.label}),$=(e,t)=>e.length===t.length&&e.every((e,n)=>e.id===t[n].id);function vt(e){class t extends e{#e=new AbortController;#t=!1;#n=[];#r=[];constructor(...e){super(...e);let{state:t}=this.engine,{signal:n}=this.#e,r=x(()=>mt(t.presentation.get()),{equals:$}),i=x(()=>ht(t.presentation.get()),{equals:$}),a=()=>{let e=r.get();if(this.#n=e,this.#o(),!e.length)return;let n=this.addVideoTrack(`main`);n.selected=!0;let i=b(()=>W(t.presentation.get(),t.selectedVideoTrackId.get()));for(let t of e){let e=n.addRendition(``,t.width,t.height,t.codecs.join(`,`),t.bandwidth,t.frameRate?_t(t.frameRate):void 0);e.id=t.id,e.active=Y(Z(e),i)}},o=()=>{let e=W(t.presentation.get(),t.selectedVideoTrackId.get());for(let t of this.videoRenditions)t.active=Y(Z(t),e)},s=()=>{let e=i.get();if(this.#r=e,this.#s(),!e.length)return;let n=b(()=>G(t.presentation.get(),t.selectedAudioTrackId.get()));for(let t of e){let e=this.addAudioTrack(t.default?`main`:`alternative`,t.name,t.language??``);e.id=t.id,e.enabled=X(Q(e),n)}},c=()=>{let e=G(t.presentation.get(),t.selectedAudioTrackId.get());for(let t of this.audioTracks)t.enabled=X(Q(t),e)},l=x(()=>t.presentation.get()?.url),u=[_(a),_(o),_(s),_(c),_(()=>{l.get(),t.userVideoTrackSelection.set(void 0),t.userAudioTrackSelection.set(void 0)})];this.videoRenditions.addEventListener(`change`,this.#i,{signal:n}),this.audioTracks.addEventListener(`change`,this.#a,{signal:n}),n.addEventListener(`abort`,()=>u.forEach(e=>e()),{once:!0})}destroy(){this.#t||(this.#t=!0,this.#e.abort(),this.#o(),this.#s(),super.destroy?.())}#i=()=>{let{userVideoTrackSelection:e}=this.engine.state,t=this.videoRenditions.selectedIndex,n=t<0?void 0:this.videoRenditions[t],r=this.#n.find(e=>e.id===n?.id);e.set(q(r))};#a=()=>{let{presentation:e,selectedAudioTrackId:t,userAudioTrackSelection:n}=this.engine.state,r=G(e.get(),t.get()),i=[...this.audioTracks].find(e=>X(Q(e),r)),a=[...this.audioTracks].filter(e=>e.enabled),o=a.find(e=>e!==i)??a[0];if(!o)return;for(let e of a)e!==o&&(e.enabled=!1);if(o===i)return;let s=this.#r.find(e=>e.id===o.id);n.set(J(s))};#o(){for(let e of[...this.videoTracks])this.removeVideoTrack(e)}#s(){for(let e of[...this.audioTracks])this.removeAudioTrack(e)}}return t}const yt=vt(ze(pt(Re)));var bt=class extends yt{};export{bt as t};
2
- //# sourceMappingURL=media-CbWsJJhU.js.map
1
+ import{t as e}from"./listen-4VrUltMW.js";import{n as t}from"./text-track-CG8USvNG.js";import{$ as n,A as r,C as i,D as a,G as o,H as s,I as c,J as l,K as u,L as d,N as f,Q as p,R as ee,U as m,W as te,X as h,Y as g,Z as ne,at as _,b as re,c as ie,et as ae,f as oe,h as se,it as ce,j as le,k as ue,l as de,m as fe,nt as v,p as pe,q as y,rt as b,s as me,tt as x,u as he,v as ge,y as _e,z as ve}from"./select-tracks-xV1s28xD.js";import{t as S}from"./types-CtRpsVFF.js";import{t as ye}from"./mixin-BqN0V06a.js";import{t as be}from"./video-host-DIjP224l.js";import{C as xe,D as Se,E as Ce,S as we,T as C,_ as w,a as T,b as E,c as D,d as O,f as k,g as Te,h as Ee,i as De,l as A,m as Oe,n as ke,o as Ae,p as je,r as Me,s as Ne,t as Pe,u as Fe,v as Ie,w as Le,x as Re,y as ze}from"./error-surface-DCT1m2p1.js";function Be(e,t){return new Promise((n,r)=>{if(t?.aborted){r(t.reason);return}let i=()=>{clearTimeout(a),r(t?.reason)},a=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);t?.addEventListener(`abort`,i,{once:!0})})}function j(e){return`${y(e)?.mediaSequence??0}:${e.segments.length}`}function M(e){return y(e)?.targetDuration||6}function Ve(e,t){if(Number.isFinite(e.duration))return null;let n=M(e);return(!t||j(e)!==j(t)?n:n/2)*1e3}function He(e){return y(e)?.holdBack??3*M(e)}function N(e,t){if(!l(e)||!t)return 0;let n=s(e,t);return n&&g(n)?He(n):0}function P(e,t){if(!l(e)||!t)return null;let n=s(e,t);if(!n||!g(n)||n.segments.length===0||Number.isFinite(n.duration))return null;let{segments:r}=n,i=r[r.length-1];return{start:r[0].startTime,end:i.startTime+i.duration}}function F(e){return e.selectedVideoTrackId?.get()??e.selectedAudioTrackId?.get()}function I(e,t,n){if(!e||t===void 0)return null;let r=P(e,t);if(r)return r;for(let t of m(e,n)){let n=P(e,t.id);if(n)return n}return null}function L(e){let t=e.presentation.get(),n=I(t,e.selectedVideoTrackId?.get(),`video`),r=I(t,e.selectedAudioTrackId?.get(),`audio`);if(n&&r){let e=Math.max(n.start,r.start),t=Math.min(n.end,r.end);return e<t?{start:e,end:t}:null}return n??r}function R({state:e,config:t}){let n=L(e);if(!n)return null;let r=t?.resolveLiveLatency?.(e.presentation.get(),F(e))??0;return{...n,liveEdgeStart:Math.max(n.start,n.end-r)}}let z=null;function Ue(){return z||(z=document.createElement(`video`),z.muted=!0,z.preload=`none`,z.style.display=`none`,z.crossOrigin=`anonymous`),z}function We(e){let t=Ue(),n=document.createElement(`track`);return n.kind=`subtitles`,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.track.mode=`hidden`,n.src=e})}function Ge(e,t){let{snapshotSignal:n,getState:r,transition:i}=ne({value:`active`,context:e}),a=()=>b(()=>n.get().context),o=e=>ce(n,{context:e});return{get snapshot(){return n},send(e){if(r()===`destroyed`)return;let n=a(),i=t(n,e);i!==n&&o(i)},destroy(){r()!==`destroyed`&&i(`destroyed`)}}}function B(e,t){return t.some(t=>t.startTime===e.startTime&&t.endTime===e.endTime&&t.text===e.text)}function Ke(e){return Ge({loaded:{},segments:{}},(t,n)=>{if(n.type===`clear`)return{loaded:{},segments:{}};let{meta:r,cues:i}=n,{trackId:a,id:o,startTime:s,duration:c}=r,l=Array.from(e.textTracks).find(e=>e.id===a);if(!l)return t;let u=t.loaded[a]??[],d=t.segments[a]??[],f=i.filter(e=>!B(e,u)),p=d.some(e=>e.id===o);if(f.length===0&&p)return t;for(let e of f)l.addCue(e);return{...t,loaded:{...t.loaded,[a]:[...u,...f]},segments:p?t.segments:{...t.segments,[a]:[...d,{id:o,startTime:s,duration:c}]}}})}function qe(e,t,n={},r={state:{},context:{},config:{}}){let i={...te,...n.forwardBuffer},a={state:r.state,context:r.context,config:{...r.config,textTracksActor:e,resolveSegment:t}},s=(n.messagePipelines??Fe)(),c=t=>{let{track:n,range:r}=t;if(!r)return[];let a=n.id,s=v(e.snapshot).context.segments[a]??[];return o(n.segments,s,r.start,i).map(e=>({segment:e,trackId:a}))},l=(e,{getContext:t,setContext:n})=>new re(async r=>{if(r.aborted)return;let i={op:e};n({...t(),inFlightTrackId:e.trackId,inFlightSegmentId:e.segment.id});try{for(let e of s){if(r.aborted)return;await e(i,r,a)}}catch(e){console.error(`Failed to load text-track segment:`,e)}finally{n({...t(),inFlightTrackId:null,inFlightSegmentId:null})}}),u=(e,t)=>{for(let n of e)t.runner.schedule(l(n,t)).then(void 0,e=>{e instanceof Error&&e.name===`AbortError`||(console.error(`Unexpected error in text-track segment loader:`,e),t.runner.abortPending())})};return ge({runner:()=>new _e,initial:`idle`,context:{inFlightTrackId:null,inFlightSegmentId:null},states:{idle:{on:{load:(e,t)=>{let n=c(e);n.length!==0&&(t.transition(`loading`),u(n,t))}}},loading:{onSettled:`idle`,on:{load:(e,t)=>{let{context:n,runner:r}=t,i=c(e);n.inFlightTrackId!==null&&n.inFlightSegmentId!==null&&i.some(e=>e.trackId===n.inFlightTrackId&&e.segment.id===n.inFlightSegmentId)?(r.abortPending(),u(i.filter(e=>e.trackId!==n.inFlightTrackId||e.segment.id!==n.inFlightSegmentId),t)):(r.abortAll(),u(i,t))}}}}})}function Je({state:e,context:t,config:n}){return _(()=>{let r=t.mediaElement.get();if(!r)return;let i=Ke(r),a=qe(i,n.resolveTextTrackSegment,{forwardBuffer:n.forwardBuffer,messagePipelines:n.textMessagePipelines},{state:e,context:t,config:n});return t.textTracksActor.set(i),t.textTrackSegmentLoaderActor.set(a),()=>{i.destroy(),a.destroy(),t.textTracksActor.set(void 0),t.textTrackSegmentLoaderActor.set(void 0)}})}const Ye={stateKeys:[],contextKeys:[`mediaElement`,`textTracksActor`,`textTrackSegmentLoaderActor`],setup:Je};function Xe(e){return async t=>{let n=Date.now(),r=e(await t.run(),t.previous);return r===null?!1:(await Be(Math.max(0,r-(Date.now()-n)),t.signal),!0)}}const V=`track[data-src-track]`;function Ze(e,t){for(let n of t){let t=document.createElement(`track`);t.id=n.id,t.kind=n.kind,t.label=n.label,t.toggleAttribute(`data-src-track`,!0),n.language&&(t.srclang=n.language),e.appendChild(t)}}function Qe(e){let n=e.querySelectorAll(V);for(let e of n){let n=e.track;if(n.mode===`showing`&&t(n))return n}}function $e(e){let t=e.querySelectorAll(V);for(let e of t)e.remove()}function H(e,n){for(let r=0;r<e.length;r++){let i=e[r];t(i)&&(i.mode=i.id===n?`showing`:`disabled`)}}function et(e,t){return e&&t?`live`:`inactive`}function tt({state:t,context:n,config:r}){let i=x(()=>et(n.mediaElement.get(),R({state:t,config:r})));return h({initial:`inactive`,monitor:()=>i.get(),states:{inactive:{},live:{entry:()=>{let e=n.mediaElement.get(),{liveEdgeStart:i}=R({state:t,config:r});e.currentTime>=i||t.startPosition.set(i)},effects:()=>{let{start:i,liveEdgeStart:a}=R({state:t,config:r}),o=v(n.mediaElement),s=()=>{o.paused||o.currentTime<i-.1&&(o.currentTime=a)};return s(),e(o,`play`,s)}}}})}const nt={stateKeys:[`presentation`,`startPosition`],contextKeys:[`mediaElement`],setup:tt};function rt({state:e,context:t}){return _(()=>{let n=t.mediaSource.get(),r=L(e);!n||!r||n.setLiveSeekableRange(r.start,r.end)})}const it={stateKeys:[`presentation`],contextKeys:[`mediaSource`],setup:rt};function at(e,t){return!t||!e?`preconditions-unmet`:m(e,`text`).length>0?`sync-active`:`preconditions-unmet`}function ot(e,t){if(!e)return`off`;let n=t.find(t=>t.id===e)?.language;return n?{language:n}:{id:e}}function st({state:t,context:n,config:r}){let{addSubtitlesTracksToMedia:i,getShowingSubtitlesTrackFromMedia:a,removeAllSubtitlesTracksFromMedia:o}=r,s=x(()=>at(t.presentation.get(),n.mediaElement.get()));return h({initial:`preconditions-unmet`,monitor:()=>s.get(),states:{"preconditions-unmet":{},"sync-active":{entry:()=>{let r=n.mediaElement.get(),s=m(t.presentation.get(),`text`);i(r,s),H(r.textTracks,t.selectedTextTrackId.get());let c=!0,l=setTimeout(()=>{c=!1},0),u=e(r.textTracks,`change`,()=>{if(c){H(r.textTracks,t.selectedTextTrackId.get());return}let e=a(r)?.id||void 0;e!==t.selectedTextTrackId.get()&&t.userTextTrackSelection.set(ot(e,s))});return()=>{u(),clearTimeout(l),o(r),v(n.textTracksActor)?.send({type:`clear`})}},effects:()=>{H(v(n.mediaElement).textTracks,t.selectedTextTrackId.get())}}}})}const ct=ae({stateKeys:[`presentation`,`selectedTextTrackId`,`userTextTrackSelection`],contextKeys:[`mediaElement`,`textTracksActor`],setup:st}),lt=p([`userVideoTrackSelection`,`userAudioTrackSelection`,`userTextTrackSelection`,`disableRemotePlayback`]);function ut(e={}){let t=e.deriveStartMediaTime??Re,o={...e,deriveStartMediaTime:t,attachMediaSource:f,canPlayTrack:e.canPlayTrack??E,reportUnsupportedTrackConditions:e.reportUnsupportedTrackConditions??Ne,resolveTextTrackSegment:e.resolveTextTrackSegment??We,textMessagePipelines:D,resolveDuration:e.resolveDuration??r,parsePresentation:e.parsePresentation??le,addSubtitlesTracksToMedia:e.addSubtitlesTracksToMedia??Ze,getShowingSubtitlesTrackFromMedia:e.getShowingSubtitlesTrackFromMedia??Qe,removeAllSubtitlesTracksFromMedia:e.removeAllSubtitlesTracksFromMedia??$e,videoMessagePipelines:A(`video`,t),audioMessagePipelines:A(`audio`,t),gateFirstParse:xe,resolveLiveLatency:N,reschedule:e.reschedule??Xe(Ve)};return n([Oe,Le,he,ze,Ee,a,de,me,ie,ue,pe,oe,we,se,fe,Ie,c,w,je,O,k,ve,d,it,nt,i,Te,ct,Ye,ee,lt],{config:o,initialState:{bandwidthState:{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}}})}const U={src:``,preload:``,disableRemotePlayback:!1,streamType:S.UNKNOWN};function dt(e,t){if(!l(e)||!t)return NaN;let n=s(e,t);if(!n||!g(n))return NaN;let r=y(n);return r?r.playlistType===`EVENT`?1/0:u(r)===`live`?0:NaN:NaN}const ft=new Set([Ce,C]);function pt(e){class t extends e{static get alternativeMediaSuggestion(){}#e;#t;#n;#r=U.preload;#i=U.disableRemotePlayback;#a=U.streamType;#o=!1;#s=NaN;#c=null;#l=null;#u=new Set;#d;#f;#p=null;constructor(...e){super(...e);let{config:t}=e?.[0]??{};this.#t=t,this.#e=this.#b(),this.#d=_(()=>{let e=this.#n.state.presentation.get();this.#m(e?.streamType??S.UNKNOWN),this.#g(dt(e,F(this.#n.state))),this.#y(e)}),this.#f=_(()=>{let e=this.#n.state.errors.get();this.#_(Pe(e,ft),e)})}get engine(){return this.#e}get error(){return this.#c}get streamType(){return this.#a}set streamType(e){if(e===S.UNKNOWN){this.#o=!1,this.#h(this.#n.state.presentation.get()?.streamType??S.UNKNOWN);return}this.#o=!0,this.#h(e)}get liveEdgeStart(){return R({state:this.#n.state,config:{resolveLiveLatency:N}})?.liveEdgeStart??NaN}get targetLiveWindow(){return this.#s}#m(e){this.#o||this.#h(e)}#h(e){this.#a!==e&&(this.#a=e,this.dispatchEvent?.(new Event(`streamtypechange`)))}#g(e){Object.is(this.#s,e)||(this.#s=e,this.dispatchEvent?.(new Event(`targetlivewindowchange`)))}#_(e,t){if(!e){this.#c=null,this.#l=null;return}if(this.#l===e.code)return;this.#l=e.code;let n=ke(t);n&&console.error(this.#v(Ae),{conditions:t}),this.#c={code:n?Se:e.code,message:e.message??``,...e.data===void 0?{}:{data:e.data}},this.dispatchEvent?.(new Event(`error`))}attach(e){super.attach?.(e),this.#n.context.mediaElement.set(e)}detach(){this.#x(),this.#n.context.mediaElement.set(void 0),super.detach?.()}destroy(){this.#x(),this.#d(),this.#f(),this.#e.destroy()}get preload(){return this.#r}set preload(e){this.#r=e,e&&this.#n.state.preload.set(e)}get disableRemotePlayback(){return this.#i}set disableRemotePlayback(e){this.#i=e,this.#n.state.disableRemotePlayback.set(e)}get src(){return this.#n.state.presentation.get()?.url??``}set src(e){e!==this.src&&(this.#x(),this.#n.state.presentation.set(e?{url:e}:void 0))}play(){let e=this.#n.context.mediaElement.get();return e?(this.#n.state.loadActivated.set(!0),e.play().catch(t=>{if(this.src)return new Promise((t,n)=>{let r=()=>{this.#p=null,e.play().then(t,n)};this.#p=r,e.addEventListener(`loadstart`,r,{once:!0})});throw t})):Promise.reject(Error(`HlsVideoMediaElement: no media element attached`))}#v(e){return Me(e,this)}#y(e){if(!l(e)){this.#u.clear();return}let t=F(this.#n.state),n=t?s(e,t):void 0;if(!n||!g(n))return;let r=y(n);r&&(r.lowLatency&&!this.#u.has(`lowLatency`)&&(this.#u.add(`lowLatency`),console.warn(this.#v(T))),r.playlistType===`EVENT`&&!this.#u.has(`dvr`)&&(this.#u.add(`dvr`),console.warn(this.#v(De))))}#b(){return ut({...this.#t,onSignalsReady:e=>{this.#n=e}})}#x(){this.#p&&=(this.#n.context.mediaElement.get()?.removeEventListener(`loadstart`,this.#p),null)}}return t}function mt(e){return e?K({tracks:m(e,`video`),keyFn:q}):[]}function ht(e){return e?K({tracks:m(e,`audio`),keyFn:J}):[]}function W(e,t){if(!e||!t)return;let n=s(e,t);return n?.type===`video`?n:void 0}function G(e,t){if(!e||!t)return;let n=s(e,t);return n?.type===`audio`?n:void 0}function gt(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function K({tracks:e,keyFn:t}){let n=[],r=[];for(let i of e){let e=t(i);!e||n.some(t=>gt(t,e))||(n.push(e),r.push(i))}return r}function q(e){return e?{width:e.width,height:e.height,bandwidth:e.bandwidth}:void 0}function J(e){return e?{language:e.language,name:e.name}:void 0}function Y(e,t){return!!t&&e.width===t.width&&e.height===t.height&&e.bandwidth===t.bandwidth}function X(e,t){return!!t&&(e.language??``)===(t.language??``)&&e.name===t.name}const _t=e=>e.frameRateNumerator/(e.frameRateDenominator??1),Z=e=>({width:e.width,height:e.height,bandwidth:e.bitrate}),Q=e=>({language:e.language,name:e.label}),$=(e,t)=>e.length===t.length&&e.every((e,n)=>e.id===t[n].id);function vt(e){class t extends e{#e=new AbortController;#t=!1;#n=[];#r=[];constructor(...e){super(...e);let{state:t}=this.engine,{signal:n}=this.#e,r=x(()=>mt(t.presentation.get()),{equals:$}),i=x(()=>ht(t.presentation.get()),{equals:$}),a=()=>{let e=r.get();if(this.#n=e,this.#o(),!e.length)return;let n=this.addVideoTrack(`main`);n.selected=!0;let i=b(()=>W(t.presentation.get(),t.selectedVideoTrackId.get()));for(let t of e){let e=n.addRendition(``,t.width,t.height,t.codecs.join(`,`),t.bandwidth,t.frameRate?_t(t.frameRate):void 0);e.id=t.id,e.active=Y(Z(e),i)}},o=()=>{let e=W(t.presentation.get(),t.selectedVideoTrackId.get());for(let t of this.videoRenditions)t.active=Y(Z(t),e)},s=()=>{let e=i.get();if(this.#r=e,this.#s(),!e.length)return;let n=b(()=>G(t.presentation.get(),t.selectedAudioTrackId.get()));for(let t of e){let e=this.addAudioTrack(t.default?`main`:`alternative`,t.name,t.language??``);e.id=t.id,e.enabled=X(Q(e),n)}},c=()=>{let e=G(t.presentation.get(),t.selectedAudioTrackId.get());for(let t of this.audioTracks)t.enabled=X(Q(t),e)},l=x(()=>t.presentation.get()?.url),u=[_(a),_(o),_(s),_(c),_(()=>{l.get(),t.userVideoTrackSelection.set(void 0),t.userAudioTrackSelection.set(void 0)})];this.videoRenditions.addEventListener(`change`,this.#i,{signal:n}),this.audioTracks.addEventListener(`change`,this.#a,{signal:n}),n.addEventListener(`abort`,()=>u.forEach(e=>e()),{once:!0})}destroy(){this.#t||(this.#t=!0,this.#e.abort(),this.#o(),this.#s(),super.destroy?.())}#i=()=>{let{userVideoTrackSelection:e}=this.engine.state,t=this.videoRenditions.selectedIndex,n=t<0?void 0:this.videoRenditions[t],r=this.#n.find(e=>e.id===n?.id);e.set(q(r))};#a=()=>{let{presentation:e,selectedAudioTrackId:t,userAudioTrackSelection:n}=this.engine.state,r=G(e.get(),t.get()),i=[...this.audioTracks].find(e=>X(Q(e),r)),a=[...this.audioTracks].filter(e=>e.enabled),o=a.find(e=>e!==i)??a[0];if(!o)return;for(let e of a)e!==o&&(e.enabled=!1);if(o===i)return;let s=this.#r.find(e=>e.id===o.id);n.set(J(s))};#o(){for(let e of[...this.videoTracks])this.removeVideoTrack(e)}#s(){for(let e of[...this.audioTracks])this.removeAudioTrack(e)}}return t}const yt=vt(ye(pt(be)));var bt=class extends yt{};export{bt as t};
2
+ //# sourceMappingURL=media-CPVSKLdk.js.map