@videojs/html 10.0.0-beta.14 → 10.0.0-beta.16

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 (301) hide show
  1. package/cdn/audio-minimal-ui.dev.js +4 -5
  2. package/cdn/audio-minimal-ui.js +1 -1
  3. package/cdn/audio-minimal.dev.js +7 -8
  4. package/cdn/audio-minimal.dev.js.map +1 -1
  5. package/cdn/audio-minimal.js +1 -1
  6. package/cdn/audio-minimal.js.map +1 -1
  7. package/cdn/audio-ui.dev.js +5 -5
  8. package/cdn/audio-ui.js +1 -1
  9. package/cdn/audio.dev.js +23 -7
  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 -3
  14. package/cdn/background.js +1 -1
  15. package/cdn/background.js.map +1 -1
  16. package/cdn/context-C-IpVHEt.js +14 -0
  17. package/cdn/context-C-IpVHEt.js.map +1 -0
  18. package/cdn/{context-BjrbhiSk.js → context-CvJ83xGk.js} +2 -83
  19. package/cdn/context-CvJ83xGk.js.map +1 -0
  20. package/cdn/create-player-B_oNyyb5.js +7 -0
  21. package/cdn/create-player-B_oNyyb5.js.map +1 -0
  22. package/cdn/{create-player-Cz5Y4DmL.js → create-player-DckZq-sE.js} +59 -1419
  23. package/cdn/create-player-DckZq-sE.js.map +1 -0
  24. package/cdn/{hls-DwNUcXDb.js → hls-CJCXZSGG.js} +43 -5
  25. package/cdn/hls-CJCXZSGG.js.map +1 -0
  26. package/cdn/{hls-A02jAc_G.js → hls-lPH0rWmB.js} +3 -3
  27. package/cdn/hls-lPH0rWmB.js.map +1 -0
  28. package/cdn/hotkey-B7OaweHa.js +154 -0
  29. package/cdn/hotkey-B7OaweHa.js.map +1 -0
  30. package/cdn/hotkey-BLEt77Z0.js +2 -0
  31. package/cdn/hotkey-BLEt77Z0.js.map +1 -0
  32. package/cdn/media/dash-video.dev.js +3 -4
  33. package/cdn/media/dash-video.dev.js.map +1 -1
  34. package/cdn/media/dash-video.js +2 -2
  35. package/cdn/media/hls-video.dev.js +4 -5
  36. package/cdn/media/hls-video.dev.js.map +1 -1
  37. package/cdn/media/hls-video.js +1 -1
  38. package/cdn/media/hls-video.js.map +1 -1
  39. package/cdn/media/mux-audio.dev.d.ts +1 -0
  40. package/cdn/media/mux-audio.dev.js +29 -0
  41. package/cdn/media/mux-audio.dev.js.map +1 -0
  42. package/cdn/media/mux-audio.js +2 -0
  43. package/cdn/media/mux-audio.js.map +1 -0
  44. package/cdn/media/mux-video.dev.js +5 -3099
  45. package/cdn/media/mux-video.dev.js.map +1 -1
  46. package/cdn/media/mux-video.js +1 -24
  47. package/cdn/media/mux-video.js.map +1 -1
  48. package/cdn/media/native-hls-video.dev.js +4 -4
  49. package/cdn/media/native-hls-video.js +1 -1
  50. package/cdn/media/simple-hls-video.dev.js +965 -680
  51. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  52. package/cdn/media/simple-hls-video.js +6 -6
  53. package/cdn/media/simple-hls-video.js.map +1 -1
  54. package/cdn/{media-attach-mixin-DfKkofgF.js → media-attach-mixin-CMH1ziXP.js} +2 -2
  55. package/cdn/{media-attach-mixin-DfKkofgF.js.map → media-attach-mixin-CMH1ziXP.js.map} +1 -1
  56. package/cdn/{media-attach-mixin-Dv2D43tb.js → media-attach-mixin-DUzmXEJ3.js} +2 -2
  57. package/cdn/{media-attach-mixin-Dv2D43tb.js.map → media-attach-mixin-DUzmXEJ3.js.map} +1 -1
  58. package/cdn/{media-props-mixin-CNJVvHAH.js → media-props-mixin-CZLZIhGT.js} +100 -9
  59. package/cdn/media-props-mixin-CZLZIhGT.js.map +1 -0
  60. package/cdn/media-props-mixin-DrjlZybt.js +47 -0
  61. package/cdn/media-props-mixin-DrjlZybt.js.map +1 -0
  62. package/cdn/{minimal-BUUGNZK7.js → minimal-D9Dw-L2P.js} +1 -1
  63. package/cdn/{minimal-BUUGNZK7.js.map → minimal-D9Dw-L2P.js.map} +1 -1
  64. package/cdn/{minimal-CJGOJ6pE.js → minimal-Dc5nNl_-.js} +1 -1
  65. package/cdn/{minimal-CJGOJ6pE.js.map → minimal-Dc5nNl_-.js.map} +1 -1
  66. package/cdn/mux-CBXn2z5k.js +3102 -0
  67. package/cdn/mux-CBXn2z5k.js.map +1 -0
  68. package/cdn/mux-DmGzBNIq.js +25 -0
  69. package/cdn/mux-DmGzBNIq.js.map +1 -0
  70. package/cdn/{native-hls-CPgjPTAQ.js → native-hls-BCOLtRUl.js} +2 -3
  71. package/cdn/{native-hls-CPgjPTAQ.js.map → native-hls-BCOLtRUl.js.map} +1 -1
  72. package/cdn/native-hls-BU8--1Kg.js +2 -0
  73. package/cdn/{native-hls-Db2TurPW.js.map → native-hls-BU8--1Kg.js.map} +1 -1
  74. package/cdn/player-DAmuLGE1.js +2 -0
  75. package/cdn/{player-DlGhe0FD.js.map → player-DAmuLGE1.js.map} +1 -1
  76. package/cdn/{player-XArb4DyB.js → player-Dbl1MUJ2.js} +3 -3
  77. package/cdn/{player-XArb4DyB.js.map → player-Dbl1MUJ2.js.map} +1 -1
  78. package/cdn/poster-B9COb7AR.js +2 -0
  79. package/cdn/poster-B9COb7AR.js.map +1 -0
  80. package/cdn/poster-qAhnKWea.js +480 -0
  81. package/cdn/poster-qAhnKWea.js.map +1 -0
  82. package/cdn/{skin-element-Dk_f7DE8.js → skin-element-DbmY-ske.js} +2 -2
  83. package/cdn/{skin-element-Dk_f7DE8.js.map → skin-element-DbmY-ske.js.map} +1 -1
  84. package/cdn/{skin-element-D40glySA.js → skin-element-ih3VrnYx.js} +2 -2
  85. package/cdn/{skin-element-D40glySA.js.map → skin-element-ih3VrnYx.js.map} +1 -1
  86. package/cdn/video-minimal-ui.dev.js +4 -5
  87. package/cdn/video-minimal-ui.js +1 -1
  88. package/cdn/video-minimal.dev.js +7 -8
  89. package/cdn/video-minimal.dev.js.map +1 -1
  90. package/cdn/video-minimal.js +1 -1
  91. package/cdn/video-minimal.js.map +1 -1
  92. package/cdn/video-ui.dev.js +5 -5
  93. package/cdn/video-ui.js +1 -1
  94. package/cdn/video.dev.js +26 -7
  95. package/cdn/video.dev.js.map +1 -1
  96. package/cdn/video.js +1 -1
  97. package/cdn/video.js.map +1 -1
  98. package/cdn/volume-slider-BbIc1N4U.js +8 -0
  99. package/cdn/volume-slider-BbIc1N4U.js.map +1 -0
  100. package/cdn/{volume-slider-CxGbFVVX.js → volume-slider-C6ek7oC9.js} +1855 -386
  101. package/cdn/volume-slider-C6ek7oC9.js.map +1 -0
  102. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  103. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  104. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  105. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  106. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  107. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  108. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  109. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  110. package/dist/default/define/audio/minimal-skin.css +23 -0
  111. package/dist/default/define/audio/skin.css +23 -0
  112. package/dist/default/define/audio/skin.js +1 -1
  113. package/dist/default/define/audio/skin.js.map +1 -1
  114. package/dist/default/define/audio/ui.js +1 -0
  115. package/dist/default/define/background/skin.js +1 -1
  116. package/dist/default/define/media/mux-audio.js +13 -0
  117. package/dist/default/define/media/mux-audio.js.map +1 -0
  118. package/dist/default/define/skin-element.js +1 -1
  119. package/dist/default/define/ui/hotkey.js +7 -0
  120. package/dist/default/define/ui/hotkey.js.map +1 -0
  121. package/dist/default/define/ui/slider.js +1 -1
  122. package/dist/default/define/ui/time-slider.js +1 -1
  123. package/dist/default/define/ui/volume-slider.js +1 -1
  124. package/dist/default/define/video/minimal-skin.css +23 -0
  125. package/dist/default/define/video/skin.css +23 -0
  126. package/dist/default/define/video/skin.js +1 -1
  127. package/dist/default/define/video/skin.js.map +1 -1
  128. package/dist/default/define/video/ui.js +1 -0
  129. package/dist/default/index.js +5 -1
  130. package/dist/default/media/container-element.js +16 -0
  131. package/dist/default/media/container-element.js.map +1 -1
  132. package/dist/default/media/mux-audio/index.js +18 -0
  133. package/dist/default/media/mux-audio/index.js.map +1 -0
  134. package/dist/default/player/context.js.map +1 -1
  135. package/dist/default/ui/alert-dialog/alert-dialog-element.js +1 -0
  136. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  137. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +1 -0
  138. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  139. package/dist/default/ui/captions-button/captions-button-element.js +1 -0
  140. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
  141. package/dist/default/ui/error-dialog/error-dialog-element.js +1 -0
  142. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -1
  143. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +1 -0
  144. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  145. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  146. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  147. package/dist/default/ui/hotkey/hotkey-element.js +81 -0
  148. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
  149. package/dist/default/ui/media-button-element.js +9 -1
  150. package/dist/default/ui/media-button-element.js.map +1 -1
  151. package/dist/default/ui/mute-button/mute-button-element.js +1 -0
  152. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  153. package/dist/default/ui/pip-button/pip-button-element.js +1 -0
  154. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  155. package/dist/default/ui/play-button/play-button-element.js +1 -0
  156. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  157. package/dist/default/ui/popover/popover-element.js +7 -55
  158. package/dist/default/ui/popover/popover-element.js.map +1 -1
  159. package/dist/default/ui/position-controller.js +76 -0
  160. package/dist/default/ui/position-controller.js.map +1 -0
  161. package/dist/default/ui/slider/slider-element.js +1 -1
  162. package/dist/default/ui/slider/slider-preview-element.js +1 -1
  163. package/dist/default/ui/time-slider/time-slider-element.js +5 -5
  164. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  165. package/dist/default/ui/tooltip/tooltip-element.js +8 -54
  166. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  167. package/dist/default/ui/volume-slider/volume-slider-element.js +1 -1
  168. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  169. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  170. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  171. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  172. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  173. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  174. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  175. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  176. package/dist/dev/define/audio/minimal-skin.css +23 -0
  177. package/dist/dev/define/audio/skin.css +23 -0
  178. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  179. package/dist/dev/define/audio/skin.js +16 -0
  180. package/dist/dev/define/audio/skin.js.map +1 -1
  181. package/dist/dev/define/audio/ui.js +1 -0
  182. package/dist/dev/define/background/skin.js +1 -1
  183. package/dist/dev/define/media/mux-audio.d.ts +14 -0
  184. package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
  185. package/dist/dev/define/media/mux-audio.js +13 -0
  186. package/dist/dev/define/media/mux-audio.js.map +1 -0
  187. package/dist/dev/define/skin-element.d.ts +1 -1
  188. package/dist/dev/define/skin-element.js +1 -1
  189. package/dist/dev/define/ui/hotkey.d.ts +9 -0
  190. package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
  191. package/dist/dev/define/ui/hotkey.js +7 -0
  192. package/dist/dev/define/ui/hotkey.js.map +1 -0
  193. package/dist/dev/define/ui/slider.js +1 -1
  194. package/dist/dev/define/ui/time-slider.js +1 -1
  195. package/dist/dev/define/ui/volume-slider.js +1 -1
  196. package/dist/dev/define/video/minimal-skin.css +23 -0
  197. package/dist/dev/define/video/skin.css +23 -0
  198. package/dist/dev/define/video/skin.d.ts.map +1 -1
  199. package/dist/dev/define/video/skin.js +19 -0
  200. package/dist/dev/define/video/skin.js.map +1 -1
  201. package/dist/dev/define/video/ui.js +1 -0
  202. package/dist/dev/index.d.ts +6 -2
  203. package/dist/dev/index.js +5 -1
  204. package/dist/dev/media/container-element.d.ts +3 -0
  205. package/dist/dev/media/container-element.d.ts.map +1 -1
  206. package/dist/dev/media/container-element.js +16 -0
  207. package/dist/dev/media/container-element.js.map +1 -1
  208. package/dist/dev/media/mux-audio/index.d.ts +11 -0
  209. package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
  210. package/dist/dev/media/mux-audio/index.js +18 -0
  211. package/dist/dev/media/mux-audio/index.js.map +1 -0
  212. package/dist/dev/player/context.d.ts +4 -2
  213. package/dist/dev/player/context.d.ts.map +1 -1
  214. package/dist/dev/player/context.js.map +1 -1
  215. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  216. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +1 -0
  217. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  218. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  219. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +1 -0
  220. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  221. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  222. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  223. package/dist/dev/ui/captions-button/captions-button-element.js +1 -0
  224. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
  225. package/dist/dev/ui/context-part-element.d.ts +1 -1
  226. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -1
  227. package/dist/dev/ui/error-dialog/error-dialog-element.js +1 -0
  228. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -1
  229. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
  230. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  231. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +1 -0
  232. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  233. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
  234. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
  235. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  236. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  237. package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
  238. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
  239. package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
  240. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
  241. package/dist/dev/ui/media-button-element.d.ts +2 -0
  242. package/dist/dev/ui/media-button-element.d.ts.map +1 -1
  243. package/dist/dev/ui/media-button-element.js +9 -1
  244. package/dist/dev/ui/media-button-element.js.map +1 -1
  245. package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
  246. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  247. package/dist/dev/ui/mute-button/mute-button-element.js +1 -0
  248. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  249. package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
  250. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  251. package/dist/dev/ui/pip-button/pip-button-element.js +1 -0
  252. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  253. package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
  254. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  255. package/dist/dev/ui/play-button/play-button-element.js +1 -0
  256. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  257. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  258. package/dist/dev/ui/popover/popover-element.js +7 -55
  259. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  260. package/dist/dev/ui/position-controller.js +76 -0
  261. package/dist/dev/ui/position-controller.js.map +1 -0
  262. package/dist/dev/ui/slider/slider-element.js +1 -1
  263. package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
  264. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
  265. package/dist/dev/ui/slider/slider-preview-element.js +1 -1
  266. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  267. package/dist/dev/ui/time-slider/time-slider-element.js +5 -5
  268. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  269. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  270. package/dist/dev/ui/tooltip/tooltip-element.js +8 -54
  271. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  272. package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -1
  273. package/package.json +8 -8
  274. package/cdn/context-BjrbhiSk.js.map +0 -1
  275. package/cdn/context-CdkhXQEw.js +0 -14
  276. package/cdn/context-CdkhXQEw.js.map +0 -1
  277. package/cdn/create-player-Cz5Y4DmL.js.map +0 -1
  278. package/cdn/create-player-DSGjDLpM.js +0 -7
  279. package/cdn/create-player-DSGjDLpM.js.map +0 -1
  280. package/cdn/delegate-B626t_Va.js +0 -2
  281. package/cdn/delegate-B626t_Va.js.map +0 -1
  282. package/cdn/delegate-BCw-LjP_.js +0 -56
  283. package/cdn/delegate-BCw-LjP_.js.map +0 -1
  284. package/cdn/hls-A02jAc_G.js.map +0 -1
  285. package/cdn/hls-DwNUcXDb.js.map +0 -1
  286. package/cdn/media-props-mixin-CNJVvHAH.js.map +0 -1
  287. package/cdn/media-props-mixin-CmboksUe.js +0 -47
  288. package/cdn/media-props-mixin-CmboksUe.js.map +0 -1
  289. package/cdn/native-hls-Db2TurPW.js +0 -2
  290. package/cdn/player-DlGhe0FD.js +0 -2
  291. package/cdn/poster-BUuGv2Va.js +0 -215
  292. package/cdn/poster-BUuGv2Va.js.map +0 -1
  293. package/cdn/poster-Crn2YX3_.js +0 -2
  294. package/cdn/poster-Crn2YX3_.js.map +0 -1
  295. package/cdn/volume-slider-BSbnD5gg.js +0 -8
  296. package/cdn/volume-slider-BSbnD5gg.js.map +0 -1
  297. package/cdn/volume-slider-CxGbFVVX.js.map +0 -1
  298. /package/cdn/{minimal-ui-BL9eBXck.js → minimal-ui-DXFwjywa.js} +0 -0
  299. /package/cdn/{minimal-ui-a1UOKF79.js → minimal-ui-jrmrxIOn.js} +0 -0
  300. /package/cdn/{ui-CFIgmrlA.js → ui-18UYtw8D.js} +0 -0
  301. /package/cdn/{ui-Ccp_LyCf.js → ui-8HVY3XSt.js} +0 -0
@@ -1,3103 +1,9 @@
1
- import { s as safeDefine } from "../context-BjrbhiSk.js";
2
- import { t as DelegateMixin } from "../delegate-BCw-LjP_.js";
3
- import { t as MediaAttachMixin } from "../media-attach-mixin-DfKkofgF.js";
4
- import { n as CustomVideoElement, t as MediaPropsMixin } from "../media-props-mixin-CNJVvHAH.js";
5
- import "../native-hls-CPgjPTAQ.js";
6
- import { n as HlsMediaDelegate, r as Hls } from "../hls-DwNUcXDb.js";
1
+ import { o as safeDefine } from "../context-CvJ83xGk.js";
2
+ import { t as MediaPropsMixin } from "../media-props-mixin-CZLZIhGT.js";
3
+ import { t as MediaAttachMixin } from "../media-attach-mixin-CMH1ziXP.js";
4
+ import "../hls-CJCXZSGG.js";
5
+ import { n as MuxCustomVideo, r as MuxMediaDelegate } from "../mux-CBXn2z5k.js";
7
6
 
8
- //#region ../core/dist/dev/dom/media/mux/env.js
9
- const getEnvPlayerVersion = () => {
10
- try {
11
- return "10.0.0-beta.14";
12
- } catch {}
13
- return "UNKNOWN";
14
- };
15
- const player_version = getEnvPlayerVersion();
16
- const getPlayerVersion = () => player_version;
17
-
18
- //#endregion
19
- //#region ../../node_modules/.pnpm/mux-embed@5.17.10/node_modules/mux-embed/dist/mux.mjs
20
- var ea = Object.create;
21
- var _t = Object.defineProperty;
22
- var ta = Object.getOwnPropertyDescriptor;
23
- var ra = Object.getOwnPropertyNames;
24
- var aa = Object.getPrototypeOf, ia = Object.prototype.hasOwnProperty;
25
- var ft = function(r, e) {
26
- return function() {
27
- return r && (e = r(r = 0)), e;
28
- };
29
- };
30
- var B = function(r, e) {
31
- return function() {
32
- return e || r((e = { exports: {} }).exports, e), e.exports;
33
- };
34
- };
35
- var na = function(r, e, t, i) {
36
- if (e && typeof e == "object" || typeof e == "function") for (var a = ra(e), n = 0, o = a.length, s; n < o; n++) s = a[n], !ia.call(r, s) && s !== t && _t(r, s, {
37
- get: function(u) {
38
- return e[u];
39
- }.bind(null, s),
40
- enumerable: !(i = ta(e, s)) || i.enumerable
41
- });
42
- return r;
43
- };
44
- var G = function(r, e, t) {
45
- return t = r != null ? ea(aa(r)) : {}, na(e || !r || !r.__esModule ? _t(t, "default", {
46
- value: r,
47
- enumerable: !0
48
- }) : t, r);
49
- };
50
- var Q = B(function(Zi, ht) {
51
- var xe;
52
- typeof window != "undefined" ? xe = window : typeof global != "undefined" ? xe = global : typeof self != "undefined" ? xe = self : xe = {};
53
- ht.exports = xe;
54
- });
55
- function U(r, e) {
56
- return e != null && typeof Symbol != "undefined" && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](r) : U(r, e);
57
- }
58
- var te = ft(function() {
59
- te();
60
- });
61
- function Ne(r) {
62
- "@swc/helpers - typeof";
63
- return r && typeof Symbol != "undefined" && r.constructor === Symbol ? "symbol" : typeof r;
64
- }
65
- var Qe = ft(function() {});
66
- var Ye = B(function(qs, cr) {
67
- var dr = Array.prototype.slice;
68
- cr.exports = Na;
69
- function Na(r, e) {
70
- for (("length" in r) || (r = [r]), r = dr.call(r); r.length;) {
71
- var t = r.shift(), i = e(t);
72
- if (i) return i;
73
- t.childNodes && t.childNodes.length && (r = dr.call(t.childNodes).concat(r));
74
- }
75
- }
76
- });
77
- var fr = B(function(Ps, _r) {
78
- te();
79
- _r.exports = ve;
80
- function ve(r, e) {
81
- if (!U(this, ve)) return new ve(r, e);
82
- this.data = r, this.nodeValue = r, this.length = r.length, this.ownerDocument = e || null;
83
- }
84
- ve.prototype.nodeType = 8;
85
- ve.prototype.nodeName = "#comment";
86
- ve.prototype.toString = function() {
87
- return "[object Comment]";
88
- };
89
- });
90
- var mr = B(function(Ls, pr) {
91
- te();
92
- pr.exports = ae;
93
- function ae(r, e) {
94
- if (!U(this, ae)) return new ae(r);
95
- this.data = r || "", this.length = this.data.length, this.ownerDocument = e || null;
96
- }
97
- ae.prototype.type = "DOMTextNode";
98
- ae.prototype.nodeType = 3;
99
- ae.prototype.nodeName = "#text";
100
- ae.prototype.toString = function() {
101
- return this.data;
102
- };
103
- ae.prototype.replaceData = function(e, t, i) {
104
- var a = this.data, n = a.substring(0, e), o = a.substring(e + t, a.length);
105
- this.data = n + i + o, this.length = this.data.length;
106
- };
107
- });
108
- var Xe = B(function(Is, vr) {
109
- vr.exports = Ca;
110
- function Ca(r) {
111
- var e = this, t = r.type;
112
- r.target || (r.target = e), e.listeners || (e.listeners = {});
113
- var i = e.listeners[t];
114
- if (i) return i.forEach(function(a) {
115
- r.currentTarget = e, typeof a == "function" ? a(r) : a.handleEvent(r);
116
- });
117
- e.parentNode && e.parentNode.dispatchEvent(r);
118
- }
119
- });
120
- var $e = B(function(Ns, hr) {
121
- hr.exports = Ma;
122
- function Ma(r, e) {
123
- var t = this;
124
- t.listeners || (t.listeners = {}), t.listeners[r] || (t.listeners[r] = []), t.listeners[r].indexOf(e) === -1 && t.listeners[r].push(e);
125
- }
126
- });
127
- var Ze = B(function(Cs, yr) {
128
- yr.exports = Ha;
129
- function Ha(r, e) {
130
- var t = this;
131
- if (t.listeners && t.listeners[r]) {
132
- var i = t.listeners[r], a = i.indexOf(e);
133
- a !== -1 && i.splice(a, 1);
134
- }
135
- }
136
- });
137
- var Tr = B(function(Hs, wr) {
138
- Qe();
139
- wr.exports = gr;
140
- var Ba = [
141
- "area",
142
- "base",
143
- "br",
144
- "col",
145
- "embed",
146
- "hr",
147
- "img",
148
- "input",
149
- "keygen",
150
- "link",
151
- "menuitem",
152
- "meta",
153
- "param",
154
- "source",
155
- "track",
156
- "wbr"
157
- ];
158
- function gr(r) {
159
- switch (r.nodeType) {
160
- case 3: return et(r.data);
161
- case 8: return "<!--" + r.data + "-->";
162
- default: return Ua(r);
163
- }
164
- }
165
- function Ua(r) {
166
- var e = [], t = r.tagName;
167
- return r.namespaceURI === "http://www.w3.org/1999/xhtml" && (t = t.toLowerCase()), e.push("<" + t + Wa(r) + ja(r)), Ba.indexOf(t) > -1 ? e.push(" />") : (e.push(">"), r.childNodes.length ? e.push.apply(e, r.childNodes.map(gr)) : r.textContent || r.innerText ? e.push(et(r.textContent || r.innerText)) : r.innerHTML && e.push(r.innerHTML), e.push("</" + t + ">")), e.join("");
168
- }
169
- function Fa(r, e) {
170
- var t = Ne(r[e]);
171
- return e === "style" && Object.keys(r.style).length > 0 ? !0 : r.hasOwnProperty(e) && (t === "string" || t === "boolean" || t === "number") && e !== "nodeName" && e !== "className" && e !== "tagName" && e !== "textContent" && e !== "innerText" && e !== "namespaceURI" && e !== "innerHTML";
172
- }
173
- function Va(r) {
174
- if (typeof r == "string") return r;
175
- var e = "";
176
- return Object.keys(r).forEach(function(t) {
177
- var i = r[t];
178
- t = t.replace(/[A-Z]/g, function(a) {
179
- return "-" + a.toLowerCase();
180
- }), e += t + ":" + i + ";";
181
- }), e;
182
- }
183
- function ja(r) {
184
- var e = r.dataset, t = [];
185
- for (var i in e) t.push({
186
- name: "data-" + i,
187
- value: e[i]
188
- });
189
- return t.length ? br(t) : "";
190
- }
191
- function br(r) {
192
- var e = [];
193
- return r.forEach(function(t) {
194
- var i = t.name, a = t.value;
195
- i === "style" && (a = Va(a)), e.push(i + "=\"" + Ga(a) + "\"");
196
- }), e.length ? " " + e.join(" ") : "";
197
- }
198
- function Wa(r) {
199
- var e = [];
200
- for (var t in r) Fa(r, t) && e.push({
201
- name: t,
202
- value: r[t]
203
- });
204
- for (var i in r._attributes) for (var a in r._attributes[i]) {
205
- var n = r._attributes[i][a], o = (n.prefix ? n.prefix + ":" : "") + a;
206
- e.push({
207
- name: o,
208
- value: n.value
209
- });
210
- }
211
- return r.className && e.push({
212
- name: "class",
213
- value: r.className
214
- }), e.length ? br(e) : "";
215
- }
216
- function et(r) {
217
- var e = "";
218
- return typeof r == "string" ? e = r : r && (e = r.toString()), e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
219
- }
220
- function Ga(r) {
221
- return et(r).replace(/"/g, "&quot;");
222
- }
223
- });
224
- var rt = B(function(Us, Er) {
225
- te();
226
- var tt = Ye(), Ja = Xe(), Qa = $e(), za = Ze(), Ka = Tr(), kr = "http://www.w3.org/1999/xhtml";
227
- Er.exports = I;
228
- function I(r, e, t) {
229
- if (!U(this, I)) return new I(r);
230
- var i = t === void 0 ? kr : t || null;
231
- this.tagName = i === kr ? String(r).toUpperCase() : r, this.nodeName = this.tagName, this.className = "", this.dataset = {}, this.childNodes = [], this.parentNode = null, this.style = {}, this.ownerDocument = e || null, this.namespaceURI = i, this._attributes = {}, this.tagName === "INPUT" && (this.type = "text");
232
- }
233
- I.prototype.type = "DOMElement";
234
- I.prototype.nodeType = 1;
235
- I.prototype.appendChild = function(e) {
236
- return e.parentNode && e.parentNode.removeChild(e), this.childNodes.push(e), e.parentNode = this, e;
237
- };
238
- I.prototype.replaceChild = function(e, t) {
239
- e.parentNode && e.parentNode.removeChild(e);
240
- var i = this.childNodes.indexOf(t);
241
- return t.parentNode = null, this.childNodes[i] = e, e.parentNode = this, t;
242
- };
243
- I.prototype.removeChild = function(e) {
244
- var t = this.childNodes.indexOf(e);
245
- return this.childNodes.splice(t, 1), e.parentNode = null, e;
246
- };
247
- I.prototype.insertBefore = function(e, t) {
248
- e.parentNode && e.parentNode.removeChild(e);
249
- var i = t == null ? -1 : this.childNodes.indexOf(t);
250
- return i > -1 ? this.childNodes.splice(i, 0, e) : this.childNodes.push(e), e.parentNode = this, e;
251
- };
252
- I.prototype.setAttributeNS = function(e, t, i) {
253
- var a = null, n = t, o = t.indexOf(":");
254
- if (o > -1 && (a = t.substr(0, o), n = t.substr(o + 1)), this.tagName === "INPUT" && t === "type") this.type = i;
255
- else {
256
- var s = this._attributes[e] || (this._attributes[e] = {});
257
- s[n] = {
258
- value: i,
259
- prefix: a
260
- };
261
- }
262
- };
263
- I.prototype.getAttributeNS = function(e, t) {
264
- var i = this._attributes[e], a = i && i[t] && i[t].value;
265
- return this.tagName === "INPUT" && t === "type" ? this.type : typeof a != "string" ? null : a;
266
- };
267
- I.prototype.removeAttributeNS = function(e, t) {
268
- var i = this._attributes[e];
269
- i && delete i[t];
270
- };
271
- I.prototype.hasAttributeNS = function(e, t) {
272
- var i = this._attributes[e];
273
- return !!i && t in i;
274
- };
275
- I.prototype.setAttribute = function(e, t) {
276
- return this.setAttributeNS(null, e, t);
277
- };
278
- I.prototype.getAttribute = function(e) {
279
- return this.getAttributeNS(null, e);
280
- };
281
- I.prototype.removeAttribute = function(e) {
282
- return this.removeAttributeNS(null, e);
283
- };
284
- I.prototype.hasAttribute = function(e) {
285
- return this.hasAttributeNS(null, e);
286
- };
287
- I.prototype.removeEventListener = za;
288
- I.prototype.addEventListener = Qa;
289
- I.prototype.dispatchEvent = Ja;
290
- I.prototype.focus = function() {};
291
- I.prototype.toString = function() {
292
- return Ka(this);
293
- };
294
- I.prototype.getElementsByClassName = function(e) {
295
- var t = e.split(" "), i = [];
296
- return tt(this, function(a) {
297
- if (a.nodeType === 1) {
298
- var o = (a.className || "").split(" ");
299
- t.every(function(s) {
300
- return o.indexOf(s) !== -1;
301
- }) && i.push(a);
302
- }
303
- }), i;
304
- };
305
- I.prototype.getElementsByTagName = function(e) {
306
- e = e.toLowerCase();
307
- var t = [];
308
- return tt(this.childNodes, function(i) {
309
- i.nodeType === 1 && (e === "*" || i.tagName.toLowerCase() === e) && t.push(i);
310
- }), t;
311
- };
312
- I.prototype.contains = function(e) {
313
- return tt(this, function(t) {
314
- return e === t;
315
- }) || !1;
316
- };
317
- });
318
- var Sr = B(function(Vs, xr) {
319
- te();
320
- var at = rt();
321
- xr.exports = K;
322
- function K(r) {
323
- if (!U(this, K)) return new K();
324
- this.childNodes = [], this.parentNode = null, this.ownerDocument = r || null;
325
- }
326
- K.prototype.type = "DocumentFragment";
327
- K.prototype.nodeType = 11;
328
- K.prototype.nodeName = "#document-fragment";
329
- K.prototype.appendChild = at.prototype.appendChild;
330
- K.prototype.replaceChild = at.prototype.replaceChild;
331
- K.prototype.removeChild = at.prototype.removeChild;
332
- K.prototype.toString = function() {
333
- return this.childNodes.map(function(e) {
334
- return String(e);
335
- }).join("");
336
- };
337
- });
338
- var Dr = B(function(js, Rr) {
339
- Rr.exports = it;
340
- function it(r) {}
341
- it.prototype.initEvent = function(e, t, i) {
342
- this.type = e, this.bubbles = t, this.cancelable = i;
343
- };
344
- it.prototype.preventDefault = function() {};
345
- });
346
- var Ar = B(function(Gs, qr) {
347
- te();
348
- var Ya = Ye(), Xa = fr(), $a = mr(), De = rt(), Za = Sr(), ei = Dr(), ti = Xe(), ri = $e(), ai = Ze();
349
- qr.exports = Ue;
350
- function Ue() {
351
- if (!U(this, Ue)) return new Ue();
352
- this.head = this.createElement("head"), this.body = this.createElement("body"), this.documentElement = this.createElement("html"), this.documentElement.appendChild(this.head), this.documentElement.appendChild(this.body), this.childNodes = [this.documentElement], this.nodeType = 9;
353
- }
354
- var j = Ue.prototype;
355
- j.createTextNode = function(e) {
356
- return new $a(e, this);
357
- };
358
- j.createElementNS = function(e, t) {
359
- var i = e === null ? null : String(e);
360
- return new De(t, this, i);
361
- };
362
- j.createElement = function(e) {
363
- return new De(e, this);
364
- };
365
- j.createDocumentFragment = function() {
366
- return new Za(this);
367
- };
368
- j.createEvent = function(e) {
369
- return new ei(e);
370
- };
371
- j.createComment = function(e) {
372
- return new Xa(e, this);
373
- };
374
- j.getElementById = function(e) {
375
- e = String(e);
376
- return Ya(this.childNodes, function(i) {
377
- if (String(i.id) === e) return i;
378
- }) || null;
379
- };
380
- j.getElementsByClassName = De.prototype.getElementsByClassName;
381
- j.getElementsByTagName = De.prototype.getElementsByTagName;
382
- j.contains = De.prototype.contains;
383
- j.removeEventListener = ai;
384
- j.addEventListener = ri;
385
- j.dispatchEvent = ti;
386
- });
387
- var Or = B(function(Js, Pr) {
388
- Pr.exports = new (Ar())();
389
- });
390
- var nt = B(function(Qs, Ir) {
391
- var Lr = typeof global != "undefined" ? global : typeof window != "undefined" ? window : {}, ni = Or(), qe;
392
- typeof document != "undefined" ? qe = document : (qe = Lr["__GLOBAL_DOCUMENT_CACHE@4"], qe || (qe = Lr["__GLOBAL_DOCUMENT_CACHE@4"] = ni));
393
- Ir.exports = qe;
394
- });
395
- function pt(r) {
396
- if (Array.isArray(r)) return r;
397
- }
398
- function mt(r, e) {
399
- var t = r == null ? null : typeof Symbol != "undefined" && r[Symbol.iterator] || r["@@iterator"];
400
- if (t != null) {
401
- var i = [], a = !0, n = !1, o, s;
402
- try {
403
- for (t = t.call(r); !(a = (o = t.next()).done) && (i.push(o.value), !(e && i.length === e)); a = !0);
404
- } catch (u) {
405
- n = !0, s = u;
406
- } finally {
407
- try {
408
- !a && t.return != null && t.return();
409
- } finally {
410
- if (n) throw s;
411
- }
412
- }
413
- return i;
414
- }
415
- }
416
- function vt() {
417
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
418
- }
419
- function Ee(r, e) {
420
- (e == null || e > r.length) && (e = r.length);
421
- for (var t = 0, i = new Array(e); t < e; t++) i[t] = r[t];
422
- return i;
423
- }
424
- function Pe(r, e) {
425
- if (r) {
426
- if (typeof r == "string") return Ee(r, e);
427
- var t = Object.prototype.toString.call(r).slice(8, -1);
428
- if (t === "Object" && r.constructor && (t = r.constructor.name), t === "Map" || t === "Set") return Array.from(t);
429
- if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Ee(r, e);
430
- }
431
- }
432
- function H(r, e) {
433
- return pt(r) || mt(r, e) || Pe(r, e) || vt();
434
- }
435
- var be = G(Q());
436
- var Je = G(Q());
437
- var yt = G(Q()), P = { now: function() {
438
- var r = yt.default.performance, e = r && r.timing, t = e && e.navigationStart, i = typeof t == "number" && typeof r.now == "function" ? t + r.now() : Date.now();
439
- return Math.round(i);
440
- } };
441
- var ee = function() {
442
- var e, t, i;
443
- if (typeof ((e = Je.default.crypto) === null || e === void 0 ? void 0 : e.getRandomValues) == "function") {
444
- i = new Uint8Array(32), Je.default.crypto.getRandomValues(i);
445
- for (var a = 0; a < 32; a++) i[a] = i[a] % 16;
446
- } else {
447
- i = [];
448
- for (var n = 0; n < 32; n++) i[n] = Math.random() * 16 | 0;
449
- }
450
- var o = 0;
451
- t = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(f) {
452
- var h = f === "x" ? i[o] : i[o] & 3 | 8;
453
- return o++, h.toString(16);
454
- });
455
- var s = P.now(), u = s == null ? void 0 : s.toString(16).substring(3);
456
- return u ? t.substring(0, 28) + u : t;
457
- }, Oe = function() {
458
- return ("000000" + (Math.random() * Math.pow(36, 6) << 0).toString(36)).slice(-6);
459
- };
460
- var J = function(e) {
461
- if (e && typeof e.nodeName != "undefined") return e.muxId || (e.muxId = Oe()), e.muxId;
462
- var t;
463
- try {
464
- t = document.querySelector(e);
465
- } catch (i) {}
466
- return t && !t.muxId && (t.muxId = e), (t == null ? void 0 : t.muxId) || e;
467
- }, se = function(e) {
468
- var t;
469
- e && typeof e.nodeName != "undefined" ? (t = e, e = J(t)) : t = document.querySelector(e);
470
- var i = t && t.nodeName ? t.nodeName.toLowerCase() : "";
471
- return [
472
- t,
473
- e,
474
- i
475
- ];
476
- };
477
- function gt(r) {
478
- if (Array.isArray(r)) return Ee(r);
479
- }
480
- function bt(r) {
481
- if (typeof Symbol != "undefined" && r[Symbol.iterator] != null || r["@@iterator"] != null) return Array.from(r);
482
- }
483
- function wt() {
484
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
485
- }
486
- function V(r) {
487
- return gt(r) || bt(r) || Pe(r) || wt();
488
- }
489
- var Y = {
490
- TRACE: 0,
491
- DEBUG: 1,
492
- INFO: 2,
493
- WARN: 3,
494
- ERROR: 4,
495
- SILENT: 5
496
- }, Tt = function(r) {
497
- var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 3, t, i, a, n, o, s = r ? [console, r] : [console], u = (t = console.trace).bind.apply(t, V(s)), f = (i = console.info).bind.apply(i, V(s)), h = (a = console.debug).bind.apply(a, V(s)), E = (n = console.warn).bind.apply(n, V(s)), y = (o = console.error).bind.apply(o, V(s)), c = e;
498
- return {
499
- trace: function() {
500
- for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
501
- if (!(c > Y.TRACE)) return u.apply(void 0, V(x));
502
- },
503
- debug: function() {
504
- for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
505
- if (!(c > Y.DEBUG)) return h.apply(void 0, V(x));
506
- },
507
- info: function() {
508
- for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
509
- if (!(c > Y.INFO)) return f.apply(void 0, V(x));
510
- },
511
- warn: function() {
512
- for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
513
- if (!(c > Y.WARN)) return E.apply(void 0, V(x));
514
- },
515
- error: function() {
516
- for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
517
- if (!(c > Y.ERROR)) return y.apply(void 0, V(x));
518
- },
519
- get level() {
520
- return c;
521
- },
522
- set level(p) {
523
- p !== this.level && (c = p != null ? p : e);
524
- }
525
- };
526
- };
527
- var q = Tt("[mux]");
528
- var Le = G(Q());
529
- function ce() {
530
- return (Le.default.doNotTrack || Le.default.navigator && Le.default.navigator.doNotTrack) === "1";
531
- }
532
- function b(r) {
533
- if (r === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
534
- return r;
535
- }
536
- te();
537
- function S(r, e) {
538
- if (!U(r, e)) throw new TypeError("Cannot call a class as a function");
539
- }
540
- function kt(r, e) {
541
- for (var t = 0; t < e.length; t++) {
542
- var i = e[t];
543
- i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(r, i.key, i);
544
- }
545
- }
546
- function N(r, e, t) {
547
- return e && kt(r.prototype, e), t && kt(r, t), r;
548
- }
549
- function l(r, e, t) {
550
- return e in r ? Object.defineProperty(r, e, {
551
- value: t,
552
- enumerable: !0,
553
- configurable: !0,
554
- writable: !0
555
- }) : r[e] = t, r;
556
- }
557
- function X(r) {
558
- return X = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {
559
- return t.__proto__ || Object.getPrototypeOf(t);
560
- }, X(r);
561
- }
562
- function Et(r, e) {
563
- for (; !Object.prototype.hasOwnProperty.call(r, e) && (r = X(r), r !== null););
564
- return r;
565
- }
566
- function Se(r, e, t) {
567
- return typeof Reflect != "undefined" && Reflect.get ? Se = Reflect.get : Se = function(a, n, o) {
568
- var s = Et(a, n);
569
- if (s) {
570
- var u = Object.getOwnPropertyDescriptor(s, n);
571
- return u.get ? u.get.call(o || a) : u.value;
572
- }
573
- }, Se(r, e, t || r);
574
- }
575
- function Ie(r, e) {
576
- return Ie = Object.setPrototypeOf || function(i, a) {
577
- return i.__proto__ = a, i;
578
- }, Ie(r, e);
579
- }
580
- function xt(r, e) {
581
- if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function");
582
- r.prototype = Object.create(e && e.prototype, { constructor: {
583
- value: r,
584
- writable: !0,
585
- configurable: !0
586
- } }), e && Ie(r, e);
587
- }
588
- function St(r, e) {
589
- if (r == null) return {};
590
- var t = {}, i = Object.keys(r), a, n;
591
- for (n = 0; n < i.length; n++) a = i[n], !(e.indexOf(a) >= 0) && (t[a] = r[a]);
592
- return t;
593
- }
594
- function Rt(r, e) {
595
- if (r == null) return {};
596
- var t = St(r, e), i, a;
597
- if (Object.getOwnPropertySymbols) {
598
- var n = Object.getOwnPropertySymbols(r);
599
- for (a = 0; a < n.length; a++) i = n[a], !(e.indexOf(i) >= 0) && Object.prototype.propertyIsEnumerable.call(r, i) && (t[i] = r[i]);
600
- }
601
- return t;
602
- }
603
- function Dt() {
604
- if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham) return !1;
605
- if (typeof Proxy == "function") return !0;
606
- try {
607
- return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})), !0;
608
- } catch (r) {
609
- return !1;
610
- }
611
- }
612
- Qe();
613
- function qt(r, e) {
614
- return e && (Ne(e) === "object" || typeof e == "function") ? e : b(r);
615
- }
616
- function At(r) {
617
- var e = Dt();
618
- return function() {
619
- var i = X(r), a;
620
- if (e) {
621
- var n = X(this).constructor;
622
- a = Reflect.construct(i, arguments, n);
623
- } else a = i.apply(this, arguments);
624
- return qt(this, a);
625
- };
626
- }
627
- var F = function(r) {
628
- return re(r)[0];
629
- };
630
- var re = function(r) {
631
- if (typeof r != "string" || r === "") return ["localhost"];
632
- var i = (r.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/) || [])[4], a;
633
- return i && (a = (i.match(/[^\.]+\.[^\.]+$/) || [])[0]), [i, a];
634
- };
635
- var Ce = G(Q()), _e = {
636
- exists: function() {
637
- var r = Ce.default.performance;
638
- return (r && r.timing) !== void 0;
639
- },
640
- domContentLoadedEventEnd: function() {
641
- var r = Ce.default.performance, e = r && r.timing;
642
- return e && e.domContentLoadedEventEnd;
643
- },
644
- navigationStart: function() {
645
- var r = Ce.default.performance, e = r && r.timing;
646
- return e && e.navigationStart;
647
- }
648
- };
649
- function O(r, e, t) {
650
- t = t === void 0 ? 1 : t, r[e] = r[e] || 0, r[e] += t;
651
- }
652
- function ue(r) {
653
- for (var e = 1; e < arguments.length; e++) {
654
- var t = arguments[e] != null ? arguments[e] : {}, i = Object.keys(t);
655
- typeof Object.getOwnPropertySymbols == "function" && (i = i.concat(Object.getOwnPropertySymbols(t).filter(function(a) {
656
- return Object.getOwnPropertyDescriptor(t, a).enumerable;
657
- }))), i.forEach(function(a) {
658
- l(r, a, t[a]);
659
- });
660
- }
661
- return r;
662
- }
663
- function ua(r, e) {
664
- var t = Object.keys(r);
665
- if (Object.getOwnPropertySymbols) {
666
- var i = Object.getOwnPropertySymbols(r);
667
- e && (i = i.filter(function(a) {
668
- return Object.getOwnPropertyDescriptor(r, a).enumerable;
669
- })), t.push.apply(t, i);
670
- }
671
- return t;
672
- }
673
- function fe(r, e) {
674
- return e = e != null ? e : {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(e)) : ua(Object(e)).forEach(function(t) {
675
- Object.defineProperty(r, t, Object.getOwnPropertyDescriptor(e, t));
676
- }), r;
677
- }
678
- var la = ["x-cdn", "content-type"], Pt = [
679
- "x-request-id",
680
- "cf-ray",
681
- "x-amz-cf-id",
682
- "x-akamai-request-id"
683
- ], da = la.concat(Pt);
684
- function pe(r) {
685
- r = r || "";
686
- var e = {};
687
- return r.trim().split(/[\r\n]+/).forEach(function(i) {
688
- if (i) {
689
- var a = i.split(": "), n = a.shift();
690
- n && (da.indexOf(n.toLowerCase()) >= 0 || n.toLowerCase().indexOf("x-litix-") === 0) && (e[n] = a.join(": "));
691
- }
692
- }), e;
693
- }
694
- function le(r) {
695
- if (r) {
696
- var e = Pt.find(function(t) {
697
- return r[t] !== void 0;
698
- });
699
- return e ? r[e] : void 0;
700
- }
701
- }
702
- var ca = function(r) {
703
- var e = {};
704
- for (var t in r) {
705
- var i = r[t];
706
- if (i["DATA-ID"].search("io.litix.data.") !== -1) {
707
- var n = i["DATA-ID"].replace("io.litix.data.", "");
708
- e[n] = i.VALUE;
709
- }
710
- }
711
- return e;
712
- }, Me = ca;
713
- var He = function(r) {
714
- if (!r) return {};
715
- var e = _e.navigationStart(), t = r.loading, i = t ? t.start : r.trequest, a = t ? t.first : r.tfirst, n = t ? t.end : r.tload;
716
- return {
717
- bytesLoaded: r.total,
718
- requestStart: Math.round(e + i),
719
- responseStart: Math.round(e + a),
720
- responseEnd: Math.round(e + n)
721
- };
722
- }, Re = function(r) {
723
- if (!(!r || typeof r.getAllResponseHeaders != "function")) return pe(r.getAllResponseHeaders());
724
- }, Ot = function(r, e, t) {
725
- arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
726
- var a = arguments.length > 4 ? arguments[4] : void 0, n = r.log, o = r.utils.secondsToMs, s = function(v) {
727
- var m = parseInt(a.version), _;
728
- return m === 1 && v.programDateTime !== null && (_ = v.programDateTime), m === 0 && v.pdt !== null && (_ = v.pdt), _;
729
- };
730
- if (!_e.exists()) {
731
- n.warn("performance timing not supported. Not tracking HLS.js.");
732
- return;
733
- }
734
- var u = function(v, m) {
735
- return r.emit(e, v, m);
736
- }, f = function(v, m) {
737
- var _ = m.levels, d = m.audioTracks, g = m.url, T = m.stats, k = m.networkDetails, D = m.sessionData, L = {}, C = {};
738
- _.forEach(function(W, oe) {
739
- L[oe] = {
740
- width: W.width,
741
- height: W.height,
742
- bitrate: W.bitrate,
743
- attrs: W.attrs
744
- };
745
- }), d.forEach(function(W, oe) {
746
- C[oe] = {
747
- name: W.name,
748
- language: W.lang,
749
- bitrate: W.bitrate
750
- };
751
- });
752
- var A = He(T), R = A.bytesLoaded, Z = A.requestStart, we = A.responseStart, Te = A.responseEnd;
753
- u("requestcompleted", fe(ue({}, Me(D)), {
754
- request_event_type: v,
755
- request_bytes_loaded: R,
756
- request_start: Z,
757
- request_response_start: we,
758
- request_response_end: Te,
759
- request_type: "manifest",
760
- request_hostname: F(g),
761
- request_response_headers: Re(k),
762
- request_rendition_lists: {
763
- media: L,
764
- audio: C,
765
- video: {}
766
- }
767
- }));
768
- };
769
- t.on(a.Events.MANIFEST_LOADED, f);
770
- var h = function(v, m) {
771
- var _ = m.details, d = m.level, g = m.networkDetails, T = m.stats, k = He(T), D = k.bytesLoaded, L = k.requestStart, C = k.responseStart, A = k.responseEnd, R = _.fragments[_.fragments.length - 1], Z = s(R) + o(R.duration);
772
- u("requestcompleted", {
773
- request_event_type: v,
774
- request_bytes_loaded: D,
775
- request_start: L,
776
- request_response_start: C,
777
- request_response_end: A,
778
- request_current_level: d,
779
- request_type: "manifest",
780
- request_hostname: F(_.url),
781
- request_response_headers: Re(g),
782
- video_holdback: _.holdBack && o(_.holdBack),
783
- video_part_holdback: _.partHoldBack && o(_.partHoldBack),
784
- video_part_target_duration: _.partTarget && o(_.partTarget),
785
- video_target_duration: _.targetduration && o(_.targetduration),
786
- video_source_is_live: _.live,
787
- player_manifest_newest_program_time: isNaN(Z) ? void 0 : Z
788
- });
789
- };
790
- t.on(a.Events.LEVEL_LOADED, h);
791
- var E = function(v, m) {
792
- var _ = m.details, d = m.networkDetails, g = m.stats, T = He(g), k = T.bytesLoaded, D = T.requestStart, L = T.responseStart, C = T.responseEnd;
793
- u("requestcompleted", {
794
- request_event_type: v,
795
- request_bytes_loaded: k,
796
- request_start: D,
797
- request_response_start: L,
798
- request_response_end: C,
799
- request_type: "manifest",
800
- request_hostname: F(_.url),
801
- request_response_headers: Re(d)
802
- });
803
- };
804
- t.on(a.Events.AUDIO_TRACK_LOADED, E);
805
- var y = function(v, m) {
806
- var _ = m.stats, d = m.networkDetails, g = m.frag;
807
- _ = _ || g.stats;
808
- var T = He(_), k = T.bytesLoaded, D = T.requestStart, L = T.responseStart, C = T.responseEnd, A = d ? Re(d) : void 0, R = {
809
- request_event_type: v,
810
- request_bytes_loaded: k,
811
- request_start: D,
812
- request_response_start: L,
813
- request_response_end: C,
814
- request_hostname: d ? F(d.responseURL) : void 0,
815
- request_id: A ? le(A) : void 0,
816
- request_response_headers: A,
817
- request_media_duration: g.duration,
818
- request_url: d == null ? void 0 : d.responseURL
819
- };
820
- g.type === "main" ? (R.request_type = "media", R.request_current_level = g.level, R.request_video_width = (t.levels[g.level] || {}).width, R.request_video_height = (t.levels[g.level] || {}).height, R.request_labeled_bitrate = (t.levels[g.level] || {}).bitrate) : R.request_type = g.type, u("requestcompleted", R);
821
- };
822
- t.on(a.Events.FRAG_LOADED, y);
823
- var c = function(v, m) {
824
- var _ = m.frag, d = _.start;
825
- u("fragmentchange", {
826
- currentFragmentPDT: s(_),
827
- currentFragmentStart: o(d)
828
- });
829
- };
830
- t.on(a.Events.FRAG_CHANGED, c);
831
- var p = function(v, m) {
832
- var _ = m.type, d = m.details, g = m.response, T = m.fatal, k = m.frag, D = m.networkDetails, L = (k == null ? void 0 : k.url) || m.url || "", C = D ? Re(D) : void 0;
833
- if ((d === a.ErrorDetails.MANIFEST_LOAD_ERROR || d === a.ErrorDetails.MANIFEST_LOAD_TIMEOUT || d === a.ErrorDetails.FRAG_LOAD_ERROR || d === a.ErrorDetails.FRAG_LOAD_TIMEOUT || d === a.ErrorDetails.LEVEL_LOAD_ERROR || d === a.ErrorDetails.LEVEL_LOAD_TIMEOUT || d === a.ErrorDetails.AUDIO_TRACK_LOAD_ERROR || d === a.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT || d === a.ErrorDetails.SUBTITLE_LOAD_ERROR || d === a.ErrorDetails.SUBTITLE_LOAD_TIMEOUT || d === a.ErrorDetails.KEY_LOAD_ERROR || d === a.ErrorDetails.KEY_LOAD_TIMEOUT) && u("requestfailed", {
834
- request_error: d,
835
- request_url: L,
836
- request_hostname: F(L),
837
- request_id: C ? le(C) : void 0,
838
- request_type: d === a.ErrorDetails.FRAG_LOAD_ERROR || d === a.ErrorDetails.FRAG_LOAD_TIMEOUT ? "media" : d === a.ErrorDetails.AUDIO_TRACK_LOAD_ERROR || d === a.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT ? "audio" : d === a.ErrorDetails.SUBTITLE_LOAD_ERROR || d === a.ErrorDetails.SUBTITLE_LOAD_TIMEOUT ? "subtitle" : d === a.ErrorDetails.KEY_LOAD_ERROR || d === a.ErrorDetails.KEY_LOAD_TIMEOUT ? "encryption" : "manifest",
839
- request_error_code: g == null ? void 0 : g.code,
840
- request_error_text: g == null ? void 0 : g.text
841
- }), T) {
842
- var A;
843
- u("error", {
844
- player_error_code: _,
845
- player_error_message: d,
846
- player_error_context: "".concat(L ? "url: ".concat(L, "\n") : "") + "".concat(g && (g.code || g.text) ? "response: ".concat(g.code, ", ").concat(g.text, "\n") : "") + "".concat(m.reason ? "failure reason: ".concat(m.reason, "\n") : "") + "".concat(m.level ? "level: ".concat(m.level, "\n") : "") + "".concat(m.parent ? "parent stream controller: ".concat(m.parent, "\n") : "") + "".concat(m.buffer ? "buffer length: ".concat(m.buffer, "\n") : "") + "".concat(m.error ? "error: ".concat(m.error, "\n") : "") + "".concat(m.event ? "event: ".concat(m.event, "\n") : "") + "".concat(m.err ? "error message: ".concat((A = m.err) === null || A === void 0 ? void 0 : A.message, "\n") : "")
847
- });
848
- }
849
- };
850
- t.on(a.Events.ERROR, p);
851
- var w = function(v, m) {
852
- var _ = m.frag, d = _ && _._url || "";
853
- u("requestcanceled", {
854
- request_event_type: v,
855
- request_url: d,
856
- request_type: "media",
857
- request_hostname: F(d)
858
- });
859
- };
860
- t.on(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, w);
861
- var x = function(v, m) {
862
- var _ = m.level, d = t.levels[_];
863
- if (d && d.attrs && d.attrs.BANDWIDTH) {
864
- var g = d.attrs.BANDWIDTH, T, k = parseFloat(d.attrs["FRAME-RATE"]);
865
- isNaN(k) || (T = k), g ? u("renditionchange", {
866
- video_source_fps: T,
867
- video_source_bitrate: g,
868
- video_source_width: d.width,
869
- video_source_height: d.height,
870
- video_source_rendition_name: d.name,
871
- video_source_codec: d == null ? void 0 : d.videoCodec
872
- }) : n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js");
873
- }
874
- };
875
- t.on(a.Events.LEVEL_SWITCHED, x), t._stopMuxMonitor = function() {
876
- t.off(a.Events.MANIFEST_LOADED, f), t.off(a.Events.LEVEL_LOADED, h), t.off(a.Events.AUDIO_TRACK_LOADED, E), t.off(a.Events.FRAG_LOADED, y), t.off(a.Events.FRAG_CHANGED, c), t.off(a.Events.ERROR, p), t.off(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, w), t.off(a.Events.LEVEL_SWITCHED, x), t.off(a.Events.DESTROYING, t._stopMuxMonitor), delete t._stopMuxMonitor;
877
- }, t.on(a.Events.DESTROYING, t._stopMuxMonitor);
878
- }, Lt = function(r) {
879
- r && typeof r._stopMuxMonitor == "function" && r._stopMuxMonitor();
880
- };
881
- var It = function(r, e) {
882
- if (!r || !r.requestEndDate) return {};
883
- var t = F(r.url), i = r.url, a = r.bytesLoaded, n = new Date(r.requestStartDate).getTime(), o = new Date(r.firstByteDate).getTime(), s = new Date(r.requestEndDate).getTime(), u = isNaN(r.duration) ? 0 : r.duration, f = typeof e.getMetricsFor == "function" ? e.getMetricsFor(r.mediaType).HttpList : e.getDashMetrics().getHttpRequests(r.mediaType), h;
884
- f.length > 0 && (h = pe(f[f.length - 1]._responseHeaders || ""));
885
- var E = h ? le(h) : void 0;
886
- return {
887
- requestStart: n,
888
- requestResponseStart: o,
889
- requestResponseEnd: s,
890
- requestBytesLoaded: a,
891
- requestResponseHeaders: h,
892
- requestMediaDuration: u,
893
- requestHostname: t,
894
- requestUrl: i,
895
- requestId: E
896
- };
897
- }, _a = function(r, e) {
898
- if (typeof e.getCurrentRepresentationForType == "function") {
899
- var t = e.getCurrentRepresentationForType(r);
900
- return t ? {
901
- currentLevel: t.absoluteIndex,
902
- renditionWidth: t.width || null,
903
- renditionHeight: t.height || null,
904
- renditionBitrate: t.bandwidth
905
- } : {};
906
- }
907
- var i = e.getQualityFor(r), a = e.getCurrentTrackFor(r).bitrateList;
908
- return a ? {
909
- currentLevel: i,
910
- renditionWidth: a[i].width || null,
911
- renditionHeight: a[i].height || null,
912
- renditionBitrate: a[i].bandwidth
913
- } : {};
914
- }, fa = function(r) {
915
- var e;
916
- return (e = r.match(/.*codecs\*?="(.*)"/)) === null || e === void 0 ? void 0 : e[1];
917
- }, pa = function(e) {
918
- try {
919
- var t, i;
920
- return (i = e.getVersion) === null || i === void 0 || (t = i.call(e)) === null || t === void 0 ? void 0 : t.split(".").map(function(n) {
921
- return parseInt(n);
922
- })[0];
923
- } catch (n) {
924
- return !1;
925
- }
926
- }, Nt = function(r, e, t) {
927
- arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
928
- var a = r.log;
929
- if (!t || !t.on) {
930
- a.warn("Invalid dash.js player reference. Monitoring blocked.");
931
- return;
932
- }
933
- var n = pa(t), o = function(_, d) {
934
- return r.emit(e, _, d);
935
- }, s = function(_) {
936
- var d = _.type, T = (_.data || {}).url;
937
- o("requestcompleted", {
938
- request_event_type: d,
939
- request_start: 0,
940
- request_response_start: 0,
941
- request_response_end: 0,
942
- request_bytes_loaded: -1,
943
- request_type: "manifest",
944
- request_hostname: F(T),
945
- request_url: T
946
- });
947
- };
948
- t.on("manifestLoaded", s);
949
- var u = {}, f = function(_) {
950
- if (typeof _.getRequests != "function") return null;
951
- var d = _.getRequests({ state: "executed" });
952
- return d.length === 0 ? null : d[d.length - 1];
953
- }, h = function(_) {
954
- var d = _.type, g = _.fragmentModel, T = _.chunk;
955
- E({
956
- type: d,
957
- request: f(g),
958
- chunk: T
959
- });
960
- }, E = function(_) {
961
- var d = _.type, g = _.chunk, T = _.request, D = (g || {}).mediaInfo || {}, L = D.type, C = D.bitrateList;
962
- C = C || [];
963
- var A = {};
964
- C.forEach(function(ke, z) {
965
- A[z] = {}, A[z].width = ke.width, A[z].height = ke.height, A[z].bitrate = ke.bandwidth, A[z].attrs = {};
966
- }), L === "video" ? u.video = A : L === "audio" ? u.audio = A : u.media = A;
967
- var R = It(T, t), Z = R.requestStart, we = R.requestResponseStart, Te = R.requestResponseEnd, W = R.requestResponseHeaders, oe = R.requestMediaDuration, je = R.requestHostname, We = R.requestUrl, Ge = R.requestId;
968
- o("requestcompleted", {
969
- request_event_type: d,
970
- request_start: Z,
971
- request_response_start: we,
972
- request_response_end: Te,
973
- request_bytes_loaded: -1,
974
- request_type: L + "_init",
975
- request_response_headers: W,
976
- request_hostname: je,
977
- request_id: Ge,
978
- request_url: We,
979
- request_media_duration: oe,
980
- request_rendition_lists: u
981
- });
982
- };
983
- n >= 4 ? t.on("initFragmentLoaded", E) : t.on("initFragmentLoaded", h);
984
- var y = function(_) {
985
- var d = _.type, g = _.fragmentModel, T = _.chunk;
986
- c({
987
- type: d,
988
- request: f(g),
989
- chunk: T
990
- });
991
- }, c = function(_) {
992
- var d = _.type, g = _.chunk, T = _.request, k = g || {}, D = k.mediaInfo, L = k.start, A = (D || {}).type, R = It(T, t), Z = R.requestStart, we = R.requestResponseStart, Te = R.requestResponseEnd, W = R.requestBytesLoaded, oe = R.requestResponseHeaders, je = R.requestMediaDuration, We = R.requestHostname, Ge = R.requestUrl, ke = R.requestId, z = _a(A, t), Yr = z.currentLevel, Xr = z.renditionWidth, $r = z.renditionHeight, Zr = z.renditionBitrate;
993
- o("requestcompleted", {
994
- request_event_type: d,
995
- request_start: Z,
996
- request_response_start: we,
997
- request_response_end: Te,
998
- request_bytes_loaded: W,
999
- request_type: A,
1000
- request_response_headers: oe,
1001
- request_hostname: We,
1002
- request_id: ke,
1003
- request_url: Ge,
1004
- request_media_start_time: L,
1005
- request_media_duration: je,
1006
- request_current_level: Yr,
1007
- request_labeled_bitrate: Zr,
1008
- request_video_width: Xr,
1009
- request_video_height: $r
1010
- });
1011
- };
1012
- n >= 4 ? t.on("mediaFragmentLoaded", c) : t.on("mediaFragmentLoaded", y);
1013
- var p = {
1014
- video: void 0,
1015
- audio: void 0,
1016
- totalBitrate: void 0
1017
- }, w = function() {
1018
- if (p.video && typeof p.video.bitrate == "number") {
1019
- if (!(p.video.width && p.video.height)) {
1020
- a.warn("have bitrate info for video but missing width/height");
1021
- return;
1022
- }
1023
- var _ = p.video.bitrate;
1024
- if (p.audio && typeof p.audio.bitrate == "number" && (_ += p.audio.bitrate), _ !== p.totalBitrate) return p.totalBitrate = _, {
1025
- video_source_bitrate: _,
1026
- video_source_height: p.video.height,
1027
- video_source_width: p.video.width,
1028
- video_source_codec: fa(p.video.codec)
1029
- };
1030
- }
1031
- }, x = function(_, d, g) {
1032
- var T = _.mediaType;
1033
- if (T === "audio" || T === "video") {
1034
- var k;
1035
- if (typeof t.getRepresentationsByType == "function") if (_.newRepresentation) k = {
1036
- bitrate: _.newRepresentation.bandwidth,
1037
- width: _.newRepresentation.width,
1038
- height: _.newRepresentation.height,
1039
- qualityIndex: _.newRepresentation.absoluteIndex
1040
- };
1041
- else {
1042
- var D = t.getRepresentationsByType(T);
1043
- if (D && typeof _.newQuality == "number") {
1044
- var L = D.find(function(A) {
1045
- return A.absoluteIndex === _.newQuality || A.index === _.newQuality;
1046
- });
1047
- L && (k = {
1048
- bitrate: L.bandwidth,
1049
- width: L.width,
1050
- height: L.height,
1051
- qualityIndex: _.newQuality
1052
- });
1053
- }
1054
- }
1055
- else {
1056
- if (typeof _.newQuality != "number") {
1057
- a.warn("missing evt.newQuality in qualityChangeRendered event", _);
1058
- return;
1059
- }
1060
- k = t.getBitrateInfoListFor(T).find(function(A) {
1061
- return A.qualityIndex === _.newQuality;
1062
- });
1063
- }
1064
- if (!(k && typeof k.bitrate == "number")) {
1065
- a.warn("missing bitrate info for ".concat(T));
1066
- return;
1067
- }
1068
- p[T] = fe(ue({}, k), { codec: t.getCurrentTrackFor(T).codec });
1069
- var C = w();
1070
- C && o("renditionchange", C);
1071
- }
1072
- };
1073
- t.on("qualityChangeRendered", x);
1074
- var v = function(_) {
1075
- var d = _.request, g = _.mediaType;
1076
- d = d || {}, o("requestcanceled", {
1077
- request_event_type: d.type + "_" + d.action,
1078
- request_url: d.url,
1079
- request_type: g,
1080
- request_hostname: F(d.url)
1081
- });
1082
- };
1083
- t.on("fragmentLoadingAbandoned", v);
1084
- var m = function(_) {
1085
- var d = _.error, g, T, k = (d == null || (g = d.data) === null || g === void 0 ? void 0 : g.request) || {}, D = (d == null || (T = d.data) === null || T === void 0 ? void 0 : T.response) || {};
1086
- (d == null ? void 0 : d.code) === 27 && o("requestfailed", {
1087
- request_error: k.type + "_" + k.action,
1088
- request_url: k.url,
1089
- request_hostname: F(k.url),
1090
- request_type: k.mediaType,
1091
- request_error_code: D.status,
1092
- request_error_text: D.statusText
1093
- });
1094
- var L = "".concat(k != null && k.url ? "url: ".concat(k.url, "\n") : "") + "".concat(D != null && D.status || D != null && D.statusText ? "response: ".concat(D == null ? void 0 : D.status, ", ").concat(D == null ? void 0 : D.statusText, "\n") : "");
1095
- o("error", {
1096
- player_error_code: d == null ? void 0 : d.code,
1097
- player_error_message: d == null ? void 0 : d.message,
1098
- player_error_context: L
1099
- });
1100
- };
1101
- t.on("error", m), t._stopMuxMonitor = function() {
1102
- t.off("manifestLoaded", s), t.off("initFragmentLoaded", E), t.off("mediaFragmentLoaded", c), t.off("qualityChangeRendered", x), t.off("error", m), t.off("fragmentLoadingAbandoned", v), delete t._stopMuxMonitor;
1103
- };
1104
- }, Ct = function(r) {
1105
- r && typeof r._stopMuxMonitor == "function" && r._stopMuxMonitor();
1106
- };
1107
- var Mt = 0, Ht = function() {
1108
- "use strict";
1109
- function r() {
1110
- S(this, r), l(this, "_listeners", void 0);
1111
- }
1112
- return N(r, [
1113
- {
1114
- key: "on",
1115
- value: function(t, i, a) {
1116
- return i._eventEmitterGuid = i._eventEmitterGuid || ++Mt, this._listeners = this._listeners || {}, this._listeners[t] = this._listeners[t] || [], a && (i = i.bind(a)), this._listeners[t].push(i), i;
1117
- }
1118
- },
1119
- {
1120
- key: "off",
1121
- value: function(t, i) {
1122
- var a = this._listeners && this._listeners[t];
1123
- a && a.forEach(function(n, o) {
1124
- n._eventEmitterGuid === i._eventEmitterGuid && a.splice(o, 1);
1125
- });
1126
- }
1127
- },
1128
- {
1129
- key: "one",
1130
- value: function(t, i, a) {
1131
- var n = this;
1132
- i._eventEmitterGuid = i._eventEmitterGuid || ++Mt;
1133
- var o = function() {
1134
- n.off(t, o), i.apply(a || this, arguments);
1135
- };
1136
- o._eventEmitterGuid = i._eventEmitterGuid, this.on(t, o);
1137
- }
1138
- },
1139
- {
1140
- key: "emit",
1141
- value: function(t, i) {
1142
- var a = this;
1143
- if (this._listeners) {
1144
- i = i || {};
1145
- var n = this._listeners["before" + t] || [], o = this._listeners["before*"] || [], s = this._listeners[t] || [], u = this._listeners["after" + t] || [], f = function(h, E) {
1146
- h = h.slice(), h.forEach(function(y) {
1147
- y.call(a, { type: t }, E);
1148
- });
1149
- };
1150
- f(n, i), f(o, i), f(s, i), f(u, i);
1151
- }
1152
- }
1153
- }
1154
- ]), r;
1155
- }();
1156
- var Be = G(Q()), Bt = function() {
1157
- "use strict";
1158
- function r(e) {
1159
- var t = this;
1160
- S(this, r), l(this, "_playbackHeartbeatInterval", void 0), l(this, "_playheadShouldBeProgressing", void 0), l(this, "pm", void 0), this.pm = e, this._playbackHeartbeatInterval = null, this._playheadShouldBeProgressing = !1, e.on("playing", function() {
1161
- t._playheadShouldBeProgressing = !0;
1162
- }), e.on("play", this._startPlaybackHeartbeatInterval.bind(this)), e.on("playing", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adbreakstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adplay", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adplaying", this._startPlaybackHeartbeatInterval.bind(this)), e.on("devicewake", this._startPlaybackHeartbeatInterval.bind(this)), e.on("viewstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("rebufferstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("pause", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("ended", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("viewend", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("error", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("aderror", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adpause", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adended", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adbreakend", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("seeked", function() {
1163
- e.data.player_is_paused ? t._stopPlaybackHeartbeatInterval() : t._startPlaybackHeartbeatInterval();
1164
- }), e.on("timeupdate", function() {
1165
- t._playbackHeartbeatInterval !== null && e.emit("playbackheartbeat");
1166
- }), e.on("devicesleep", function(i, a) {
1167
- t._playbackHeartbeatInterval !== null && (Be.default.clearInterval(t._playbackHeartbeatInterval), e.emit("playbackheartbeatend", { viewer_time: a.viewer_time }), t._playbackHeartbeatInterval = null);
1168
- });
1169
- }
1170
- return N(r, [{
1171
- key: "_startPlaybackHeartbeatInterval",
1172
- value: function() {
1173
- var t = this;
1174
- this._playbackHeartbeatInterval === null && (this.pm.emit("playbackheartbeat"), this._playbackHeartbeatInterval = Be.default.setInterval(function() {
1175
- t.pm.emit("playbackheartbeat");
1176
- }, this.pm.playbackHeartbeatTime));
1177
- }
1178
- }, {
1179
- key: "_stopPlaybackHeartbeatInterval",
1180
- value: function() {
1181
- this._playheadShouldBeProgressing = !1, this._playbackHeartbeatInterval !== null && (Be.default.clearInterval(this._playbackHeartbeatInterval), this.pm.emit("playbackheartbeatend"), this._playbackHeartbeatInterval = null);
1182
- }
1183
- }]), r;
1184
- }();
1185
- var Ut = function r(e) {
1186
- "use strict";
1187
- var t = this;
1188
- S(this, r), l(this, "viewErrored", void 0), e.on("viewinit", function() {
1189
- t.viewErrored = !1;
1190
- }), e.on("error", function(i, a) {
1191
- try {
1192
- var n = e.errorTranslator({
1193
- player_error_code: a.player_error_code,
1194
- player_error_message: a.player_error_message,
1195
- player_error_context: a.player_error_context,
1196
- player_error_severity: a.player_error_severity,
1197
- player_error_business_exception: a.player_error_business_exception
1198
- });
1199
- n && (e.data.player_error_code = n.player_error_code || a.player_error_code, e.data.player_error_message = n.player_error_message || a.player_error_message, e.data.player_error_context = n.player_error_context || a.player_error_context, e.data.player_error_severity = n.player_error_severity || a.player_error_severity, e.data.player_error_business_exception = n.player_error_business_exception || a.player_error_business_exception, t.viewErrored = !0);
1200
- } catch (o) {
1201
- e.mux.log.warn("Exception in error translator callback.", o), t.viewErrored = !0;
1202
- }
1203
- }), e.on("aftererror", function() {
1204
- var i, a, n, o, s;
1205
- (i = e.data) === null || i === void 0 || delete i.player_error_code, (a = e.data) === null || a === void 0 || delete a.player_error_message, (n = e.data) === null || n === void 0 || delete n.player_error_context, (o = e.data) === null || o === void 0 || delete o.player_error_severity, (s = e.data) === null || s === void 0 || delete s.player_error_business_exception;
1206
- });
1207
- };
1208
- var Ft = function() {
1209
- "use strict";
1210
- function r(e) {
1211
- S(this, r), l(this, "_watchTimeTrackerLastCheckedTime", void 0), l(this, "pm", void 0), this.pm = e, this._watchTimeTrackerLastCheckedTime = null, e.on("playbackheartbeat", this._updateWatchTime.bind(this)), e.on("playbackheartbeatend", this._clearWatchTimeState.bind(this));
1212
- }
1213
- return N(r, [{
1214
- key: "_updateWatchTime",
1215
- value: function(t, i) {
1216
- var a = i.viewer_time;
1217
- this._watchTimeTrackerLastCheckedTime === null && (this._watchTimeTrackerLastCheckedTime = a), O(this.pm.data, "view_watch_time", a - this._watchTimeTrackerLastCheckedTime), this._watchTimeTrackerLastCheckedTime = a;
1218
- }
1219
- }, {
1220
- key: "_clearWatchTimeState",
1221
- value: function(t, i) {
1222
- this._updateWatchTime(t, i), this._watchTimeTrackerLastCheckedTime = null;
1223
- }
1224
- }]), r;
1225
- }();
1226
- var Vt = function() {
1227
- "use strict";
1228
- function r(e) {
1229
- var t = this;
1230
- S(this, r), l(this, "_playbackTimeTrackerLastPlayheadPosition", void 0), l(this, "_lastTime", void 0), l(this, "_isAdPlaying", void 0), l(this, "_callbackUpdatePlaybackTime", void 0), l(this, "pm", void 0), this.pm = e, this._playbackTimeTrackerLastPlayheadPosition = -1, this._lastTime = P.now(), this._isAdPlaying = !1, this._callbackUpdatePlaybackTime = null, e.on("viewinit", function() {
1231
- t.pm.data.view_playing_time_ms_cumulative = 0;
1232
- });
1233
- var i = this._startPlaybackTimeTracking.bind(this);
1234
- e.on("playing", i), e.on("adplaying", i);
1235
- var a = function() {
1236
- t.pm.data.player_is_paused || i();
1237
- };
1238
- e.on("seeked", a), e.on("rebufferend", a);
1239
- var n = this._stopPlaybackTimeTracking.bind(this);
1240
- e.on("playbackheartbeatend", n), e.on("seeking", n), e.on("rebufferstart", n), e.on("adplaying", function() {
1241
- t._isAdPlaying = !0;
1242
- }), e.on("adended", function() {
1243
- t._isAdPlaying = !1;
1244
- }), e.on("adpause", function() {
1245
- t._isAdPlaying = !1;
1246
- }), e.on("adbreakstart", function() {
1247
- t._isAdPlaying = !1;
1248
- }), e.on("adbreakend", function() {
1249
- t._isAdPlaying = !1;
1250
- }), e.on("adplay", function() {
1251
- t._isAdPlaying = !1;
1252
- }), e.on("viewinit", function() {
1253
- t._playbackTimeTrackerLastPlayheadPosition = -1, t._lastTime = P.now(), t._isAdPlaying = !1, t._callbackUpdatePlaybackTime = null;
1254
- });
1255
- }
1256
- return N(r, [
1257
- {
1258
- key: "_startPlaybackTimeTracking",
1259
- value: function() {
1260
- this._callbackUpdatePlaybackTime === null && (this._callbackUpdatePlaybackTime = this._updatePlaybackTime.bind(this), this._playbackTimeTrackerLastPlayheadPosition = this.pm.data.player_playhead_time, this._lastTime = P.now(), this.pm.on("playbackheartbeat", this._callbackUpdatePlaybackTime));
1261
- }
1262
- },
1263
- {
1264
- key: "_stopPlaybackTimeTracking",
1265
- value: function() {
1266
- this._callbackUpdatePlaybackTime && (this._updatePlaybackTime(), this.pm.off("playbackheartbeat", this._callbackUpdatePlaybackTime), this._callbackUpdatePlaybackTime = null, this._playbackTimeTrackerLastPlayheadPosition = -1);
1267
- }
1268
- },
1269
- {
1270
- key: "_updatePlaybackTime",
1271
- value: function() {
1272
- var t = this.pm.data.player_playhead_time || 0, i = P.now(), a = i - this._lastTime, n = -1;
1273
- this._playbackTimeTrackerLastPlayheadPosition >= 0 && t > this._playbackTimeTrackerLastPlayheadPosition ? n = t - this._playbackTimeTrackerLastPlayheadPosition : this._isAdPlaying && (n = a), n > 0 && n <= 1e3 && O(this.pm.data, "view_content_playback_time", n), this._callbackUpdatePlaybackTime !== null && a > 0 && a <= 1e3 && (this._isAdPlaying && O(this.pm.data, "ad_playing_time_ms_cumulative", a), O(this.pm.data, "view_playing_time_ms_cumulative", a)), this._playbackTimeTrackerLastPlayheadPosition = t, this._lastTime = i;
1274
- }
1275
- }
1276
- ]), r;
1277
- }();
1278
- var jt = function() {
1279
- "use strict";
1280
- function r(e) {
1281
- S(this, r), l(this, "pm", void 0), this.pm = e;
1282
- var t = this._updatePlayheadTime.bind(this);
1283
- e.on("playbackheartbeat", t), e.on("playbackheartbeatend", t), e.on("timeupdate", t), e.on("destroy", function() {
1284
- e.off("timeupdate", t);
1285
- });
1286
- }
1287
- return N(r, [{
1288
- key: "_updateMaxPlayheadPosition",
1289
- value: function() {
1290
- this.pm.data.view_max_playhead_position = typeof this.pm.data.view_max_playhead_position == "undefined" ? this.pm.data.player_playhead_time : Math.max(this.pm.data.view_max_playhead_position, this.pm.data.player_playhead_time);
1291
- }
1292
- }, {
1293
- key: "_updatePlayheadTime",
1294
- value: function(t, i) {
1295
- var a = this, n = function() {
1296
- a.pm.currentFragmentPDT && a.pm.currentFragmentStart && (a.pm.data.player_program_time = a.pm.currentFragmentPDT + a.pm.data.player_playhead_time - a.pm.currentFragmentStart);
1297
- };
1298
- if (i && i.player_playhead_time) this.pm.data.player_playhead_time = i.player_playhead_time, n(), this._updateMaxPlayheadPosition();
1299
- else if (this.pm.getPlayheadTime) {
1300
- var o = this.pm.getPlayheadTime();
1301
- typeof o != "undefined" && (this.pm.data.player_playhead_time = o, n(), this._updateMaxPlayheadPosition());
1302
- }
1303
- }
1304
- }]), r;
1305
- }();
1306
- var Wt = 300 * 1e3, Gt = function r(e) {
1307
- "use strict";
1308
- if (S(this, r), !e.disableRebufferTracking) {
1309
- var t, i = function(n, o) {
1310
- a(o), t = void 0;
1311
- }, a = function(n) {
1312
- if (t) {
1313
- var o = n.viewer_time - t;
1314
- O(e.data, "view_rebuffer_duration", o), t = n.viewer_time, e.data.view_rebuffer_duration > Wt && (e.emit("viewend"), e.send("viewend"), e.mux.log.warn("Ending view after rebuffering for longer than ".concat(Wt, "ms, future events will be ignored unless a programchange or videochange occurs.")));
1315
- }
1316
- e.data.view_watch_time >= 0 && e.data.view_rebuffer_count > 0 && (e.data.view_rebuffer_frequency = e.data.view_rebuffer_count / e.data.view_watch_time, e.data.view_rebuffer_percentage = e.data.view_rebuffer_duration / e.data.view_watch_time);
1317
- };
1318
- e.on("playbackheartbeat", function(n, o) {
1319
- return a(o);
1320
- }), e.on("rebufferstart", function(n, o) {
1321
- t || (O(e.data, "view_rebuffer_count", 1), t = o.viewer_time, e.one("rebufferend", i));
1322
- }), e.on("viewinit", function() {
1323
- t = void 0, e.off("rebufferend", i);
1324
- });
1325
- }
1326
- };
1327
- var Jt = function() {
1328
- "use strict";
1329
- function r(e) {
1330
- var t = this;
1331
- S(this, r), l(this, "_lastCheckedTime", void 0), l(this, "_lastPlayheadTime", void 0), l(this, "_lastPlayheadTimeUpdatedTime", void 0), l(this, "_rebuffering", void 0), l(this, "pm", void 0), this.pm = e, !(e.disableRebufferTracking || e.disablePlayheadRebufferTracking) && (this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null, e.on("playbackheartbeat", this._checkIfRebuffering.bind(this)), e.on("playbackheartbeatend", this._cleanupRebufferTracker.bind(this)), e.on("seeking", function() {
1332
- t._cleanupRebufferTracker(null, { viewer_time: P.now() });
1333
- }));
1334
- }
1335
- return N(r, [
1336
- {
1337
- key: "_checkIfRebuffering",
1338
- value: function(t, i) {
1339
- if (this.pm.seekingTracker.isSeeking || this.pm.adTracker.isAdBreak || !this.pm.playbackHeartbeat._playheadShouldBeProgressing) {
1340
- this._cleanupRebufferTracker(t, i);
1341
- return;
1342
- }
1343
- if (this._lastCheckedTime === null) {
1344
- this._prepareRebufferTrackerState(i.viewer_time);
1345
- return;
1346
- }
1347
- if (this._lastPlayheadTime !== this.pm.data.player_playhead_time) {
1348
- this._cleanupRebufferTracker(t, i, !0);
1349
- return;
1350
- }
1351
- var a = i.viewer_time - this._lastPlayheadTimeUpdatedTime;
1352
- typeof this.pm.sustainedRebufferThreshold == "number" && a >= this.pm.sustainedRebufferThreshold && (this._rebuffering || (this._rebuffering = !0, this.pm.emit("rebufferstart", { viewer_time: this._lastPlayheadTimeUpdatedTime }))), this._lastCheckedTime = i.viewer_time;
1353
- }
1354
- },
1355
- {
1356
- key: "_clearRebufferTrackerState",
1357
- value: function() {
1358
- this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null;
1359
- }
1360
- },
1361
- {
1362
- key: "_prepareRebufferTrackerState",
1363
- value: function(t) {
1364
- this._lastCheckedTime = t, this._lastPlayheadTime = this.pm.data.player_playhead_time, this._lastPlayheadTimeUpdatedTime = t;
1365
- }
1366
- },
1367
- {
1368
- key: "_cleanupRebufferTracker",
1369
- value: function(t, i) {
1370
- var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
1371
- if (this._rebuffering) this._rebuffering = !1, this.pm.emit("rebufferend", { viewer_time: i.viewer_time });
1372
- else {
1373
- if (this._lastCheckedTime === null) return;
1374
- var n = this.pm.data.player_playhead_time - this._lastPlayheadTime, o = i.viewer_time - this._lastPlayheadTimeUpdatedTime;
1375
- typeof this.pm.minimumRebufferDuration == "number" && n > 0 && o - n > this.pm.minimumRebufferDuration && (this._lastCheckedTime = null, this.pm.emit("rebufferstart", { viewer_time: this._lastPlayheadTimeUpdatedTime }), this.pm.emit("rebufferend", { viewer_time: this._lastPlayheadTimeUpdatedTime + o - n }));
1376
- }
1377
- a ? this._prepareRebufferTrackerState(i.viewer_time) : this._clearRebufferTrackerState();
1378
- }
1379
- }
1380
- ]), r;
1381
- }();
1382
- var Qt = function() {
1383
- "use strict";
1384
- function r(e) {
1385
- var t = this;
1386
- S(this, r), l(this, "pm", void 0), this.pm = e, e.on("viewinit", function() {
1387
- var i = e.data, a = i.view_id;
1388
- if (!i.view_program_changed) {
1389
- var n = function(o, s) {
1390
- var u = s.viewer_time;
1391
- o.type === "playing" && typeof e.data.view_time_to_first_frame == "undefined" ? t.calculateTimeToFirstFrame(u || P.now(), a) : o.type === "adplaying" && (typeof e.data.view_time_to_first_frame == "undefined" || t._inPrerollPosition()) && t.calculateTimeToFirstFrame(u || P.now(), a);
1392
- };
1393
- e.one("playing", n), e.one("adplaying", n), e.one("viewend", function() {
1394
- e.off("playing", n), e.off("adplaying", n);
1395
- });
1396
- }
1397
- });
1398
- }
1399
- return N(r, [{
1400
- key: "_inPrerollPosition",
1401
- value: function() {
1402
- return typeof this.pm.data.view_content_playback_time == "undefined" || this.pm.data.view_content_playback_time <= 1e3;
1403
- }
1404
- }, {
1405
- key: "calculateTimeToFirstFrame",
1406
- value: function(t, i) {
1407
- i === this.pm.data.view_id && (this.pm.watchTimeTracker._updateWatchTime(null, { viewer_time: t }), this.pm.data.view_time_to_first_frame = this.pm.data.view_watch_time, (this.pm.data.player_autoplay_on || this.pm.data.video_is_autoplay) && this.pm.pageLoadInitTime && (this.pm.data.view_aggregate_startup_time = this.pm.data.view_start + this.pm.data.view_watch_time - this.pm.pageLoadInitTime));
1408
- }
1409
- }]), r;
1410
- }();
1411
- var zt = function r(e) {
1412
- "use strict";
1413
- var t = this;
1414
- S(this, r), l(this, "_lastPlayerHeight", void 0), l(this, "_lastPlayerWidth", void 0), l(this, "_lastPlayheadPosition", void 0), l(this, "_lastSourceHeight", void 0), l(this, "_lastSourceWidth", void 0), e.on("viewinit", function() {
1415
- t._lastPlayheadPosition = -1;
1416
- });
1417
- [
1418
- "pause",
1419
- "rebufferstart",
1420
- "seeking",
1421
- "error",
1422
- "adbreakstart",
1423
- "hb",
1424
- "renditionchange",
1425
- "orientationchange",
1426
- "viewend",
1427
- "playbackmodechange"
1428
- ].forEach(function(n) {
1429
- e.on(n, function() {
1430
- if (t._lastPlayheadPosition >= 0 && e.data.player_playhead_time >= 0 && t._lastPlayerWidth >= 0 && t._lastSourceWidth > 0 && t._lastPlayerHeight >= 0 && t._lastSourceHeight > 0) {
1431
- var o = e.data.player_playhead_time - t._lastPlayheadPosition;
1432
- if (o < 0) {
1433
- t._lastPlayheadPosition = -1;
1434
- return;
1435
- }
1436
- var s = Math.min(t._lastPlayerWidth / t._lastSourceWidth, t._lastPlayerHeight / t._lastSourceHeight), u = Math.max(0, s - 1), f = Math.max(0, 1 - s);
1437
- e.data.view_max_upscale_percentage = Math.max(e.data.view_max_upscale_percentage || 0, u), e.data.view_max_downscale_percentage = Math.max(e.data.view_max_downscale_percentage || 0, f), O(e.data, "view_total_content_playback_time", o), O(e.data, "view_total_upscaling", u * o), O(e.data, "view_total_downscaling", f * o);
1438
- }
1439
- t._lastPlayheadPosition = -1;
1440
- });
1441
- }), [
1442
- "playing",
1443
- "hb",
1444
- "renditionchange",
1445
- "orientationchange",
1446
- "playbackmodechange"
1447
- ].forEach(function(n) {
1448
- e.on(n, function() {
1449
- t._lastPlayheadPosition = e.data.player_playhead_time, t._lastPlayerWidth = e.data.player_width, t._lastPlayerHeight = e.data.player_height, t._lastSourceWidth = e.data.video_source_width, t._lastSourceHeight = e.data.video_source_height;
1450
- });
1451
- });
1452
- };
1453
- var xa = 2e3, Kt = function r(e) {
1454
- "use strict";
1455
- var t = this;
1456
- S(this, r), l(this, "isSeeking", void 0), this.isSeeking = !1;
1457
- var i = -1, a = function() {
1458
- var n = P.now(), o = (e.data.viewer_time || n) - (i || n);
1459
- O(e.data, "view_seek_duration", o), e.data.view_max_seek_time = Math.max(e.data.view_max_seek_time || 0, o), t.isSeeking = !1, i = -1;
1460
- };
1461
- e.on("seeking", function(n, o) {
1462
- if (Object.assign(e.data, o), t.isSeeking && o.viewer_time - i <= xa) {
1463
- i = o.viewer_time;
1464
- return;
1465
- }
1466
- t.isSeeking && a(), t.isSeeking = !0, i = o.viewer_time, O(e.data, "view_seek_count", 1), e.send("seeking");
1467
- }), e.on("seeked", function() {
1468
- a();
1469
- }), e.on("viewend", function() {
1470
- t.isSeeking && (a(), e.send("seeked")), t.isSeeking = !1, i = -1;
1471
- });
1472
- };
1473
- var Yt = function(e, t) {
1474
- e.push(t), e.sort(function(i, a) {
1475
- return i.viewer_time - a.viewer_time;
1476
- });
1477
- }, Ra = [
1478
- "adbreakstart",
1479
- "adrequest",
1480
- "adresponse",
1481
- "adplay",
1482
- "adplaying",
1483
- "adpause",
1484
- "adended",
1485
- "adbreakend",
1486
- "aderror",
1487
- "adclicked",
1488
- "adskipped"
1489
- ], Xt = function() {
1490
- "use strict";
1491
- function r(e) {
1492
- var t = this;
1493
- S(this, r), l(this, "_adHasPlayed", void 0), l(this, "_adRequests", void 0), l(this, "_adResponses", void 0), l(this, "_currentAdRequestNumber", void 0), l(this, "_currentAdResponseNumber", void 0), l(this, "_prerollPlayTime", void 0), l(this, "_wouldBeNewAdPlay", void 0), l(this, "isAdBreak", void 0), l(this, "pm", void 0), this.pm = e, e.on("viewinit", function() {
1494
- t.isAdBreak = !1, t._currentAdRequestNumber = 0, t._currentAdResponseNumber = 0, t._adRequests = [], t._adResponses = [], t._adHasPlayed = !1, t._wouldBeNewAdPlay = !0, t._prerollPlayTime = void 0;
1495
- }), Ra.forEach(function(a) {
1496
- return e.on(a, t._updateAdData.bind(t));
1497
- });
1498
- var i = function() {
1499
- t.isAdBreak = !1;
1500
- };
1501
- e.on("adbreakstart", function() {
1502
- t.isAdBreak = !0;
1503
- }), e.on("play", i), e.on("playing", i), e.on("viewend", i), e.on("adrequest", function(a, n) {
1504
- n = Object.assign({ ad_request_id: "generatedAdRequestId" + t._currentAdRequestNumber++ }, n), Yt(t._adRequests, n), O(e.data, "view_ad_request_count"), t.inPrerollPosition() && (e.data.view_preroll_requested = !0, t._adHasPlayed || O(e.data, "view_preroll_request_count"));
1505
- }), e.on("adresponse", function(a, n) {
1506
- n = Object.assign({ ad_request_id: "generatedAdRequestId" + t._currentAdResponseNumber++ }, n), Yt(t._adResponses, n);
1507
- var o = t.findAdRequest(n.ad_request_id);
1508
- o && O(e.data, "view_ad_request_time", Math.max(0, n.viewer_time - o.viewer_time));
1509
- }), e.on("adplay", function(a, n) {
1510
- t._adHasPlayed = !0, t._wouldBeNewAdPlay && (t._wouldBeNewAdPlay = !1, O(e.data, "view_ad_played_count")), t.inPrerollPosition() && !e.data.view_preroll_played && (e.data.view_preroll_played = !0, t._adRequests.length > 0 && (e.data.view_preroll_request_time = Math.max(0, n.viewer_time - t._adRequests[0].viewer_time)), e.data.view_start && (e.data.view_startup_preroll_request_time = Math.max(0, n.viewer_time - e.data.view_start)), t._prerollPlayTime = n.viewer_time);
1511
- }), e.on("adplaying", function(a, n) {
1512
- t.inPrerollPosition() && typeof e.data.view_preroll_load_time == "undefined" && typeof t._prerollPlayTime != "undefined" && (e.data.view_preroll_load_time = n.viewer_time - t._prerollPlayTime, e.data.view_startup_preroll_load_time = n.viewer_time - t._prerollPlayTime);
1513
- }), e.on("adclicked", function(a, n) {
1514
- t._wouldBeNewAdPlay || O(e.data, "view_ad_clicked_count");
1515
- }), e.on("adskipped", function(a, n) {
1516
- t._wouldBeNewAdPlay || O(e.data, "view_ad_skipped_count");
1517
- }), e.on("adended", function() {
1518
- t._wouldBeNewAdPlay = !0;
1519
- }), e.on("aderror", function() {
1520
- t._wouldBeNewAdPlay = !0;
1521
- });
1522
- }
1523
- return N(r, [
1524
- {
1525
- key: "inPrerollPosition",
1526
- value: function() {
1527
- return typeof this.pm.data.view_content_playback_time == "undefined" || this.pm.data.view_content_playback_time <= 1e3;
1528
- }
1529
- },
1530
- {
1531
- key: "findAdRequest",
1532
- value: function(t) {
1533
- for (var i = 0; i < this._adRequests.length; i++) if (this._adRequests[i].ad_request_id === t) return this._adRequests[i];
1534
- }
1535
- },
1536
- {
1537
- key: "_updateAdData",
1538
- value: function(t, i) {
1539
- if (this.inPrerollPosition()) {
1540
- if (!this.pm.data.view_preroll_ad_tag_hostname && i.ad_tag_url) {
1541
- var a = H(re(i.ad_tag_url), 2), n = a[0], o = a[1];
1542
- this.pm.data.view_preroll_ad_tag_domain = o, this.pm.data.view_preroll_ad_tag_hostname = n;
1543
- }
1544
- if (!this.pm.data.view_preroll_ad_asset_hostname && i.ad_asset_url) {
1545
- var s = H(re(i.ad_asset_url), 2), u = s[0], f = s[1];
1546
- this.pm.data.view_preroll_ad_asset_domain = f, this.pm.data.view_preroll_ad_asset_hostname = u;
1547
- }
1548
- this.pm.data.ad_type = "preroll";
1549
- }
1550
- this.pm.data.ad_asset_url = i == null ? void 0 : i.ad_asset_url, this.pm.data.ad_tag_url = i == null ? void 0 : i.ad_tag_url, this.pm.data.ad_creative_id = i == null ? void 0 : i.ad_creative_id, this.pm.data.ad_id = i == null ? void 0 : i.ad_id, this.pm.data.ad_universal_id = i == null ? void 0 : i.ad_universal_id, i != null && i.ad_type && (this.pm.data.ad_type = i == null ? void 0 : i.ad_type);
1551
- }
1552
- }
1553
- ]), r;
1554
- }();
1555
- var $t = function r(e) {
1556
- "use strict";
1557
- var t = this;
1558
- S(this, r), l(this, "lastWallClockTime", void 0);
1559
- var i = function() {
1560
- t.lastWallClockTime = P.now(), e.on("before*", a);
1561
- }, a = function(n) {
1562
- var o = P.now(), s = t.lastWallClockTime;
1563
- t.lastWallClockTime = o, o - s > 3e4 && (e.emit("devicesleep", { viewer_time: s }), Object.assign(e.data, { viewer_time: s }), e.send("devicesleep"), e.emit("devicewake", { viewer_time: o }), Object.assign(e.data, { viewer_time: o }), e.send("devicewake"));
1564
- };
1565
- e.one("playbackheartbeat", i), e.on("playbackheartbeatend", function() {
1566
- e.off("before*", a), e.one("playbackheartbeat", i);
1567
- });
1568
- };
1569
- var Fe = G(Q());
1570
- var ze = function(r) {
1571
- return r();
1572
- }(function() {
1573
- var r = function() {
1574
- for (var i = 0, a = {}; i < arguments.length; i++) {
1575
- var n = arguments[i];
1576
- for (var o in n) a[o] = n[o];
1577
- }
1578
- return a;
1579
- };
1580
- function e(t) {
1581
- function i(a, n, o) {
1582
- var s;
1583
- if (typeof document != "undefined") {
1584
- if (arguments.length > 1) {
1585
- if (o = r({ path: "/" }, i.defaults, o), typeof o.expires == "number") {
1586
- var u = /* @__PURE__ */ new Date();
1587
- u.setMilliseconds(u.getMilliseconds() + o.expires * 864e5), o.expires = u;
1588
- }
1589
- try {
1590
- s = JSON.stringify(n), /^[\{\[]/.test(s) && (n = s);
1591
- } catch (w) {}
1592
- return t.write ? n = t.write(n, a) : n = encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), a = encodeURIComponent(String(a)), a = a.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent), a = a.replace(/[\(\)]/g, escape), document.cookie = [
1593
- a,
1594
- "=",
1595
- n,
1596
- o.expires ? "; expires=" + o.expires.toUTCString() : "",
1597
- o.path ? "; path=" + o.path : "",
1598
- o.domain ? "; domain=" + o.domain : "",
1599
- o.secure ? "; secure" : ""
1600
- ].join("");
1601
- }
1602
- a || (s = {});
1603
- for (var f = document.cookie ? document.cookie.split("; ") : [], h = /(%[0-9A-Z]{2})+/g, E = 0; E < f.length; E++) {
1604
- var y = f[E].split("="), c = y.slice(1).join("=");
1605
- c.charAt(0) === "\"" && (c = c.slice(1, -1));
1606
- try {
1607
- var p = y[0].replace(h, decodeURIComponent);
1608
- if (c = t.read ? t.read(c, p) : t(c, p) || c.replace(h, decodeURIComponent), this.json) try {
1609
- c = JSON.parse(c);
1610
- } catch (w) {}
1611
- if (a === p) {
1612
- s = c;
1613
- break;
1614
- }
1615
- a || (s[p] = c);
1616
- } catch (w) {}
1617
- }
1618
- return s;
1619
- }
1620
- }
1621
- return i.set = i, i.get = function(a) {
1622
- return i.call(i, a);
1623
- }, i.getJSON = function() {
1624
- return i.apply({ json: !0 }, [].slice.call(arguments));
1625
- }, i.defaults = {}, i.remove = function(a, n) {
1626
- i(a, "", r(n, { expires: -1 }));
1627
- }, i.withConverter = e, i;
1628
- }
1629
- return e(function() {});
1630
- });
1631
- var Zt = "muxData", Aa = function(r) {
1632
- return Object.entries(r).map(function(e) {
1633
- var t = H(e, 2), i = t[0], a = t[1];
1634
- return "".concat(i, "=").concat(a);
1635
- }).join("&");
1636
- }, Pa = function(r) {
1637
- return r.split("&").reduce(function(e, t) {
1638
- var i = H(t.split("="), 2), a = i[0], n = i[1], o = +n;
1639
- return e[a] = n && o == n ? o : n, e;
1640
- }, {});
1641
- }, er = function() {
1642
- var e;
1643
- try {
1644
- e = Pa(ze.get(Zt) || "");
1645
- } catch (t) {
1646
- e = {};
1647
- }
1648
- return e;
1649
- }, tr = function(e) {
1650
- try {
1651
- ze.set(Zt, Aa(e), { expires: 365 });
1652
- } catch (t) {}
1653
- }, rr = function() {
1654
- var e = er();
1655
- return e.mux_viewer_id = e.mux_viewer_id || ee(), e.msn = e.msn || Math.random(), tr(e), {
1656
- mux_viewer_id: e.mux_viewer_id,
1657
- mux_sample_number: e.msn
1658
- };
1659
- }, ar = function() {
1660
- var e = er(), t = P.now();
1661
- return e.session_start && (e.sst = e.session_start, delete e.session_start), e.session_id && (e.sid = e.session_id, delete e.session_id), e.session_expires && (e.sex = e.session_expires, delete e.session_expires), (!e.sex || e.sex < t) && (e.sid = ee(), e.sst = t), e.sex = t + 1500 * 1e3, tr(e), {
1662
- session_id: e.sid,
1663
- session_start: e.sst,
1664
- session_expires: e.sex
1665
- };
1666
- };
1667
- function Ke(r, e) {
1668
- var t = e.beaconCollectionDomain, i = e.beaconDomain;
1669
- if (t) return "https://" + t;
1670
- r = r || "inferred";
1671
- var a = i || "litix.io";
1672
- return r.match(/^[a-z0-9]+$/) ? "https://" + r + "." + a : "https://img.litix.io/a.gif";
1673
- }
1674
- var ir = G(Q()), nr = function() {
1675
- var e;
1676
- switch (or()) {
1677
- case "cellular":
1678
- e = "cellular";
1679
- break;
1680
- case "ethernet":
1681
- e = "wired";
1682
- break;
1683
- case "wifi":
1684
- e = "wifi";
1685
- break;
1686
- case void 0: break;
1687
- default: e = "other";
1688
- }
1689
- return e;
1690
- }, or = function() {
1691
- var e = ir.default.navigator, t = e && (e.connection || e.mozConnection || e.webkitConnection);
1692
- return t && t.type;
1693
- };
1694
- nr.getConnectionFromAPI = or;
1695
- var sr = nr;
1696
- var La = lr({
1697
- a: "env",
1698
- b: "beacon",
1699
- c: "custom",
1700
- d: "ad",
1701
- e: "event",
1702
- f: "experiment",
1703
- i: "internal",
1704
- m: "mux",
1705
- n: "response",
1706
- p: "player",
1707
- q: "request",
1708
- r: "retry",
1709
- s: "session",
1710
- t: "timestamp",
1711
- u: "viewer",
1712
- v: "video",
1713
- w: "page",
1714
- x: "view",
1715
- y: "sub"
1716
- }), ur = lr({
1717
- ad: "ad",
1718
- af: "affiliate",
1719
- ag: "aggregate",
1720
- ap: "api",
1721
- al: "application",
1722
- ao: "audio",
1723
- ar: "architecture",
1724
- as: "asset",
1725
- au: "autoplay",
1726
- av: "average",
1727
- bi: "bitrate",
1728
- bn: "brand",
1729
- br: "break",
1730
- bw: "browser",
1731
- by: "bytes",
1732
- bz: "business",
1733
- ca: "cached",
1734
- cb: "cancel",
1735
- cc: "codec",
1736
- cd: "code",
1737
- cg: "category",
1738
- ch: "changed",
1739
- ci: "client",
1740
- ck: "clicked",
1741
- cl: "canceled",
1742
- cm: "cmcd",
1743
- cn: "config",
1744
- co: "count",
1745
- ce: "counter",
1746
- cp: "complete",
1747
- cq: "creator",
1748
- cr: "creative",
1749
- cs: "captions",
1750
- ct: "content",
1751
- cu: "current",
1752
- cv: "cumulative",
1753
- cx: "connection",
1754
- cz: "context",
1755
- da: "data",
1756
- dg: "downscaling",
1757
- dm: "domain",
1758
- dn: "cdn",
1759
- do: "downscale",
1760
- dr: "drm",
1761
- dp: "dropped",
1762
- du: "duration",
1763
- dv: "device",
1764
- dy: "dynamic",
1765
- eb: "enabled",
1766
- ec: "encoding",
1767
- ed: "edge",
1768
- en: "end",
1769
- eg: "engine",
1770
- em: "embed",
1771
- er: "error",
1772
- ep: "experiments",
1773
- es: "errorcode",
1774
- et: "errortext",
1775
- ee: "event",
1776
- ev: "events",
1777
- ex: "expires",
1778
- ez: "exception",
1779
- fa: "failed",
1780
- fi: "first",
1781
- fm: "family",
1782
- ft: "format",
1783
- fp: "fps",
1784
- fq: "frequency",
1785
- fr: "frame",
1786
- fs: "fullscreen",
1787
- ha: "has",
1788
- hb: "holdback",
1789
- he: "headers",
1790
- ho: "host",
1791
- hn: "hostname",
1792
- ht: "height",
1793
- id: "id",
1794
- ii: "init",
1795
- in: "instance",
1796
- ip: "ip",
1797
- is: "is",
1798
- ke: "key",
1799
- la: "language",
1800
- lb: "labeled",
1801
- le: "level",
1802
- li: "live",
1803
- ld: "loaded",
1804
- lo: "load",
1805
- ls: "lists",
1806
- lt: "latency",
1807
- ma: "max",
1808
- md: "media",
1809
- me: "message",
1810
- mf: "manifest",
1811
- mi: "mime",
1812
- ml: "midroll",
1813
- mm: "min",
1814
- mn: "manufacturer",
1815
- mo: "model",
1816
- mp: "mode",
1817
- ms: "ms",
1818
- mx: "mux",
1819
- ne: "newest",
1820
- nm: "name",
1821
- no: "number",
1822
- on: "on",
1823
- or: "origin",
1824
- os: "os",
1825
- pa: "paused",
1826
- pb: "playback",
1827
- pd: "producer",
1828
- pe: "percentage",
1829
- pf: "played",
1830
- pg: "program",
1831
- ph: "playhead",
1832
- pi: "plugin",
1833
- pl: "preroll",
1834
- pn: "playing",
1835
- po: "poster",
1836
- pp: "pip",
1837
- pr: "preload",
1838
- ps: "position",
1839
- pt: "part",
1840
- pv: "previous",
1841
- py: "property",
1842
- px: "pop",
1843
- pz: "plan",
1844
- ra: "rate",
1845
- rd: "requested",
1846
- re: "rebuffer",
1847
- rf: "rendition",
1848
- rg: "range",
1849
- rm: "remote",
1850
- ro: "ratio",
1851
- rp: "response",
1852
- rq: "request",
1853
- rs: "requests",
1854
- sa: "sample",
1855
- sd: "skipped",
1856
- se: "session",
1857
- sh: "shift",
1858
- sk: "seek",
1859
- sm: "stream",
1860
- so: "source",
1861
- sq: "sequence",
1862
- sr: "series",
1863
- ss: "status",
1864
- st: "start",
1865
- su: "startup",
1866
- sv: "server",
1867
- sw: "software",
1868
- sy: "severity",
1869
- ta: "tag",
1870
- tc: "tech",
1871
- te: "text",
1872
- tg: "target",
1873
- th: "throughput",
1874
- ti: "time",
1875
- tl: "total",
1876
- to: "to",
1877
- tt: "title",
1878
- ty: "type",
1879
- ug: "upscaling",
1880
- un: "universal",
1881
- up: "upscale",
1882
- ur: "url",
1883
- us: "user",
1884
- va: "variant",
1885
- vd: "viewed",
1886
- vi: "video",
1887
- ve: "version",
1888
- vw: "view",
1889
- vr: "viewer",
1890
- wd: "width",
1891
- wa: "watch",
1892
- wt: "waiting"
1893
- });
1894
- function lr(r) {
1895
- var e = {};
1896
- for (var t in r) r.hasOwnProperty(t) && (e[r[t]] = t);
1897
- return e;
1898
- }
1899
- function me(r) {
1900
- var e = {}, t = {};
1901
- return Object.keys(r).forEach(function(i) {
1902
- var a = !1;
1903
- if (r.hasOwnProperty(i) && r[i] !== void 0) {
1904
- var n = i.split("_"), o = n[0], s = La[o];
1905
- s || (q.info("Data key word `" + n[0] + "` not expected in " + i), s = o + "_"), n.splice(1).forEach(function(u) {
1906
- u === "url" && (a = !0), ur[u] ? s += ur[u] : Number.isInteger(Number(u)) ? s += u : (q.info("Data key word `" + u + "` not expected in " + i), s += "_" + u + "_");
1907
- }), a ? t[s] = r[i] : e[s] = r[i];
1908
- }
1909
- }), Object.assign(e, t);
1910
- }
1911
- var ie = G(Q()), Nr = G(nt());
1912
- var oi = {
1913
- maxBeaconSize: 300,
1914
- maxQueueLength: 3600,
1915
- baseTimeBetweenBeacons: 1e4,
1916
- maxPayloadKBSize: 500
1917
- }, si = 56 * 1024, ui = [
1918
- "hb",
1919
- "requestcompleted",
1920
- "requestfailed",
1921
- "requestcanceled"
1922
- ], li = "https://img.litix.io", $ = function(e) {
1923
- var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
1924
- this._beaconUrl = e || li, this._eventQueue = [], this._postInFlight = !1, this._resendAfterPost = !1, this._failureCount = 0, this._sendTimeout = !1, this._options = Object.assign({}, oi, t);
1925
- };
1926
- $.prototype.queueEvent = function(r, e) {
1927
- var t = Object.assign({}, e);
1928
- return this._eventQueue.length <= this._options.maxQueueLength || r === "eventrateexceeded" ? (this._eventQueue.push(t), this._sendTimeout || this._startBeaconSending(), this._eventQueue.length <= this._options.maxQueueLength) : !1;
1929
- };
1930
- $.prototype.flushEvents = function() {
1931
- if ((arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) && this._eventQueue.length === 1) {
1932
- this._eventQueue.pop();
1933
- return;
1934
- }
1935
- this._eventQueue.length && this._sendBeaconQueue(), this._startBeaconSending();
1936
- };
1937
- $.prototype.destroy = function() {
1938
- var r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
1939
- this.destroyed = !0, r ? this._clearBeaconQueue() : this.flushEvents(), ie.default.clearTimeout(this._sendTimeout);
1940
- };
1941
- $.prototype._clearBeaconQueue = function() {
1942
- var r = this._eventQueue.length > this._options.maxBeaconSize ? this._eventQueue.length - this._options.maxBeaconSize : 0, e = this._eventQueue.slice(r);
1943
- r > 0 && Object.assign(e[e.length - 1], me({ mux_view_message: "event queue truncated" }));
1944
- var t = this._createPayload(e);
1945
- Cr(this._beaconUrl, t, !0, function() {});
1946
- };
1947
- $.prototype._sendBeaconQueue = function() {
1948
- var r = this;
1949
- if (this._postInFlight) {
1950
- this._resendAfterPost = !0;
1951
- return;
1952
- }
1953
- var e = this._eventQueue.slice(0, this._options.maxBeaconSize);
1954
- this._eventQueue = this._eventQueue.slice(this._options.maxBeaconSize), this._postInFlight = !0;
1955
- var t = this._createPayload(e), i = P.now();
1956
- Cr(this._beaconUrl, t, !1, function(a, n) {
1957
- n ? (r._eventQueue = e.concat(r._eventQueue), r._failureCount += 1, q.info("Error sending beacon: " + n)) : r._failureCount = 0, r._roundTripTime = P.now() - i, r._postInFlight = !1, r._resendAfterPost && (r._resendAfterPost = !1, r._eventQueue.length > 0 && r._sendBeaconQueue());
1958
- });
1959
- };
1960
- $.prototype._getNextBeaconTime = function() {
1961
- if (!this._failureCount) return this._options.baseTimeBetweenBeacons;
1962
- var r = Math.pow(2, this._failureCount - 1);
1963
- return r = r * Math.random(), (1 + r) * this._options.baseTimeBetweenBeacons;
1964
- };
1965
- $.prototype._startBeaconSending = function() {
1966
- var r = this;
1967
- ie.default.clearTimeout(this._sendTimeout), !this.destroyed && (this._sendTimeout = ie.default.setTimeout(function() {
1968
- r._eventQueue.length && r._sendBeaconQueue(), r._startBeaconSending();
1969
- }, this._getNextBeaconTime()));
1970
- };
1971
- $.prototype._createPayload = function(r) {
1972
- var e = this, t = { transmission_timestamp: Math.round(P.now()) };
1973
- this._roundTripTime && (t.rtt_ms = Math.round(this._roundTripTime));
1974
- var i, a, n, o = function() {
1975
- i = JSON.stringify({
1976
- metadata: t,
1977
- events: a || r
1978
- }), n = i.length / 1024;
1979
- }, s = function() {
1980
- return n <= e._options.maxPayloadKBSize;
1981
- };
1982
- return o(), s() || (q.info("Payload size is too big (" + n + " kb). Removing unnecessary events."), a = r.filter(function(u) {
1983
- return ui.indexOf(u.e) === -1;
1984
- }), o()), s() || (q.info("Payload size still too big (" + n + " kb). Cropping fields.."), a.forEach(function(u) {
1985
- for (var f in u) {
1986
- var h = u[f], E = 50 * 1024;
1987
- typeof h == "string" && h.length > E && (u[f] = h.substring(0, E));
1988
- }
1989
- }), o()), i;
1990
- };
1991
- var di = typeof Nr.default.exitPictureInPicture == "function" ? function(r) {
1992
- return r.length <= si;
1993
- } : function(r) {
1994
- return !1;
1995
- }, Cr = function(r, e, t, i) {
1996
- if (t && navigator && navigator.sendBeacon && navigator.sendBeacon(r, e)) {
1997
- i();
1998
- return;
1999
- }
2000
- if (ie.default.fetch) {
2001
- ie.default.fetch(r, {
2002
- method: "POST",
2003
- body: e,
2004
- headers: { "Content-Type": "text/plain" },
2005
- keepalive: di(e)
2006
- }).then(function(n) {
2007
- return i(null, n.ok ? null : "Error");
2008
- }).catch(function(n) {
2009
- return i(null, n);
2010
- });
2011
- return;
2012
- }
2013
- if (ie.default.XMLHttpRequest) {
2014
- var a = new ie.default.XMLHttpRequest();
2015
- a.onreadystatechange = function() {
2016
- if (a.readyState === 4) return i(null, a.status !== 200 ? "error" : void 0);
2017
- }, a.open("POST", r), a.setRequestHeader("Content-Type", "text/plain"), a.send(e);
2018
- return;
2019
- }
2020
- i();
2021
- }, Mr = $;
2022
- var ci = [
2023
- "env_key",
2024
- "view_id",
2025
- "view_sequence_number",
2026
- "player_sequence_number",
2027
- "beacon_domain",
2028
- "player_playhead_time",
2029
- "viewer_time",
2030
- "mux_api_version",
2031
- "event",
2032
- "video_id",
2033
- "player_instance_id",
2034
- "player_error_code",
2035
- "player_error_message",
2036
- "player_error_context",
2037
- "player_error_severity",
2038
- "player_error_business_exception",
2039
- "view_playing_time_ms_cumulative",
2040
- "ad_playing_time_ms_cumulative"
2041
- ], _i = [
2042
- "adplay",
2043
- "adplaying",
2044
- "adpause",
2045
- "adfirstquartile",
2046
- "admidpoint",
2047
- "adthirdquartile",
2048
- "adended",
2049
- "adresponse",
2050
- "adrequest"
2051
- ], fi = [
2052
- "ad_id",
2053
- "ad_creative_id",
2054
- "ad_universal_id"
2055
- ], pi = [
2056
- "viewstart",
2057
- "error",
2058
- "ended",
2059
- "viewend"
2060
- ], mi = 600 * 1e3, Hr = function() {
2061
- "use strict";
2062
- function r(e, t) {
2063
- var i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
2064
- S(this, r);
2065
- var a, n, o, s, u, f, h, E, y, c, p, w;
2066
- l(this, "mux", void 0), l(this, "envKey", void 0), l(this, "options", void 0), l(this, "eventQueue", void 0), l(this, "sampleRate", void 0), l(this, "disableCookies", void 0), l(this, "respectDoNotTrack", void 0), l(this, "previousBeaconData", void 0), l(this, "lastEventTime", void 0), l(this, "rateLimited", void 0), l(this, "pageLevelData", void 0), l(this, "viewerData", void 0), this.mux = e, this.envKey = t, this.options = i, this.previousBeaconData = null, this.lastEventTime = 0, this.rateLimited = !1, this.eventQueue = new Mr(Ke(this.envKey, this.options));
2067
- var x;
2068
- this.sampleRate = (x = this.options.sampleRate) !== null && x !== void 0 ? x : 1;
2069
- var v;
2070
- this.disableCookies = (v = this.options.disableCookies) !== null && v !== void 0 ? v : !1;
2071
- var m;
2072
- this.respectDoNotTrack = (m = this.options.respectDoNotTrack) !== null && m !== void 0 ? m : !1, this.previousBeaconData = null, this.lastEventTime = 0, this.rateLimited = !1, this.pageLevelData = {
2073
- mux_api_version: this.mux.API_VERSION,
2074
- mux_embed: this.mux.NAME,
2075
- mux_embed_version: this.mux.VERSION,
2076
- viewer_application_name: (a = this.options.platform) === null || a === void 0 ? void 0 : a.name,
2077
- viewer_application_version: (n = this.options.platform) === null || n === void 0 ? void 0 : n.version,
2078
- viewer_application_engine: (o = this.options.platform) === null || o === void 0 ? void 0 : o.layout,
2079
- viewer_device_name: (s = this.options.platform) === null || s === void 0 ? void 0 : s.product,
2080
- viewer_device_category: "",
2081
- viewer_device_manufacturer: (u = this.options.platform) === null || u === void 0 ? void 0 : u.manufacturer,
2082
- viewer_os_family: (h = this.options.platform) === null || h === void 0 || (f = h.os) === null || f === void 0 ? void 0 : f.family,
2083
- viewer_os_architecture: (y = this.options.platform) === null || y === void 0 || (E = y.os) === null || E === void 0 ? void 0 : E.architecture,
2084
- viewer_os_version: (p = this.options.platform) === null || p === void 0 || (c = p.os) === null || c === void 0 ? void 0 : c.version,
2085
- viewer_connection_type: sr(),
2086
- page_url: Fe.default === null || Fe.default === void 0 || (w = Fe.default.location) === null || w === void 0 ? void 0 : w.href
2087
- }, this.viewerData = this.disableCookies ? {} : rr();
2088
- }
2089
- return N(r, [
2090
- {
2091
- key: "send",
2092
- value: function(t, i) {
2093
- if (!(!t || !(i != null && i.view_id))) {
2094
- if (this.respectDoNotTrack && ce()) return q.info("Not sending `" + t + "` because Do Not Track is enabled");
2095
- if (!i || typeof i != "object") return q.error("A data object was expected in send() but was not provided");
2096
- var a = this.disableCookies ? {} : ar(), n = fe(ue({}, this.pageLevelData, i, a, this.viewerData), {
2097
- event: t,
2098
- env_key: this.envKey
2099
- });
2100
- n.user_id && (n.viewer_user_id = n.user_id, delete n.user_id);
2101
- var o, s = ((o = n.mux_sample_number) !== null && o !== void 0 ? o : 0) >= this.sampleRate, f = me(this._deduplicateBeaconData(t, n));
2102
- if (this.lastEventTime = this.mux.utils.now(), s) return q.info("Not sending event due to sample rate restriction", t, n, f);
2103
- if (this.envKey || q.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL", t, n, f), !this.rateLimited) if (q.info("Sending event", t, n, f), this.rateLimited = !this.eventQueue.queueEvent(t, f), this.mux.WINDOW_UNLOADING && t === "viewend") this.eventQueue.destroy(!0);
2104
- else {
2105
- if (this.mux.WINDOW_HIDDEN && t === "hb") this.eventQueue.flushEvents(!0);
2106
- else if (pi.indexOf(t) >= 0) {
2107
- if (t === "error" && i.player_error_severity === "warning") return;
2108
- this.eventQueue.flushEvents();
2109
- }
2110
- if (this.rateLimited) return n.event = "eventrateexceeded", f = me(n), this.eventQueue.queueEvent(n.event, f), q.error("Beaconing disabled due to rate limit.");
2111
- }
2112
- }
2113
- }
2114
- },
2115
- {
2116
- key: "destroy",
2117
- value: function() {
2118
- this.eventQueue.destroy(!1);
2119
- }
2120
- },
2121
- {
2122
- key: "_deduplicateBeaconData",
2123
- value: function(t, i) {
2124
- var a = this, n = {}, o = i.view_id;
2125
- if (o === "-1" || t === "viewstart" || t === "viewend" || !this.previousBeaconData || this.mux.utils.now() - this.lastEventTime >= mi) n = ue({}, i), o && (this.previousBeaconData = n), o && t === "viewend" && (this.previousBeaconData = null);
2126
- else {
2127
- var s = t.indexOf("request") === 0;
2128
- Object.entries(i).forEach(function(u) {
2129
- var f = H(u, 2), h = f[0], E = f[1];
2130
- a.previousBeaconData && (E !== a.previousBeaconData[h] || ci.indexOf(h) > -1 || a.objectHasChanged(s, h, E, a.previousBeaconData[h]) || a.eventRequiresKey(t, h)) && (n[h] = E, a.previousBeaconData[h] = E);
2131
- });
2132
- }
2133
- return n;
2134
- }
2135
- },
2136
- {
2137
- key: "objectHasChanged",
2138
- value: function(t, i, a, n) {
2139
- return !t || i.indexOf("request_") !== 0 ? !1 : i === "request_response_headers" || typeof a != "object" || typeof n != "object" ? !0 : Object.keys(a || {}).length !== Object.keys(n || {}).length;
2140
- }
2141
- },
2142
- {
2143
- key: "eventRequiresKey",
2144
- value: function(t, i) {
2145
- return !!(t === "renditionchange" && i.indexOf("video_source_") === 0 || fi.includes(i) && _i.includes(t) || t === "playbackmodechange" && i.indexOf("player_playback_mode") === 0);
2146
- }
2147
- }
2148
- ]), r;
2149
- }();
2150
- var Br = function r(e) {
2151
- "use strict";
2152
- S(this, r);
2153
- var t = 0, i = 0, a = 0, n = 0, o = 0, s = 0, u = 0, f = function(y, c) {
2154
- var p = c.request_start, w = c.request_response_start, x = c.request_response_end, v = c.request_bytes_loaded;
2155
- n++;
2156
- var m, _;
2157
- if (w ? (m = w - (p != null ? p : 0), _ = (x != null ? x : 0) - w) : _ = (x != null ? x : 0) - (p != null ? p : 0), _ > 0 && v && v > 0) {
2158
- var d = v / _ * 8e3;
2159
- o++, i += v, a += _, e.data.view_min_request_throughput = Math.min(e.data.view_min_request_throughput || Infinity, d), e.data.view_average_request_throughput = i / a * 8e3, e.data.view_request_count = n, m > 0 && (t += m, e.data.view_max_request_latency = Math.max(e.data.view_max_request_latency || 0, m), e.data.view_average_request_latency = t / o);
2160
- }
2161
- }, h = function(y, c) {
2162
- n++, s++, e.data.view_request_count = n, e.data.view_request_failed_count = s;
2163
- }, E = function(y, c) {
2164
- n++, u++, e.data.view_request_count = n, e.data.view_request_canceled_count = u;
2165
- };
2166
- e.on("requestcompleted", f), e.on("requestfailed", h), e.on("requestcanceled", E);
2167
- };
2168
- var hi = 3600 * 1e3, Ur = function r(e) {
2169
- "use strict";
2170
- var t = this;
2171
- S(this, r), l(this, "_lastEventTime", void 0), e.on("before*", function(i, a) {
2172
- var n = a.viewer_time, o = P.now(), s = t._lastEventTime;
2173
- if (t._lastEventTime = o, s && o - s > hi) {
2174
- var u = Object.keys(e.data).reduce(function(h, E) {
2175
- return E.indexOf("video_") === 0 ? Object.assign(h, l({}, E, e.data[E])) : h;
2176
- }, {});
2177
- e.mux.log.info("Received event after at least an hour inactivity, creating a new view");
2178
- var f = e.playbackHeartbeat._playheadShouldBeProgressing;
2179
- e._resetView(Object.assign({ viewer_time: n }, u)), e.playbackHeartbeat._playheadShouldBeProgressing = f, e.playbackHeartbeat._playheadShouldBeProgressing && i.type !== "play" && i.type !== "adbreakstart" && (e.emit("play", { viewer_time: n }), i.type !== "playing" && e.emit("playing", { viewer_time: n }));
2180
- }
2181
- });
2182
- };
2183
- var gi = function r(e) {
2184
- "use strict";
2185
- S(this, r);
2186
- var t = function(u) {
2187
- var f = bi(u), h = wi(u);
2188
- if (f != null && !Fr(f, n) && o <= h) {
2189
- n = f, o = h;
2190
- var E = { video_cdn: f };
2191
- e.emit("cdnchange", E);
2192
- }
2193
- }, i = null, a = null, n = null, o = 0;
2194
- e.on("viewinit", function() {
2195
- i = null, a = null, n = null, o = 0;
2196
- }), e.on("beforecdnchange", function(s, u) {
2197
- var f = u == null ? void 0 : u.video_cdn;
2198
- f && (typeof u.video_previous_cdn == "undefined" || u.video_previous_cdn === null) && (Fr(f, a) ? u.video_previous_cdn = i != null ? i : void 0 : (u.video_previous_cdn = a != null ? a : void 0, i = a, a = f));
2199
- }), e.on("requestcompleted", function(s, u) {
2200
- t(u);
2201
- });
2202
- };
2203
- function Fr(r, e) {
2204
- return (r == null ? void 0 : r.toLowerCase()) === (e == null ? void 0 : e.toLowerCase());
2205
- }
2206
- function bi(r) {
2207
- var e;
2208
- return r != null && r.request_type && (r.request_type === "media" || r.request_type === "video") && !((e = r.request_response_headers) === null || e === void 0) && e["x-cdn"] ? r.request_response_headers["x-cdn"] : r != null && r.video_cdn ? r.video_cdn : null;
2209
- }
2210
- function wi(r) {
2211
- return r != null && r.request_start ? r.request_start : r != null && r.viewer_time ? r.viewer_time : Date.now();
2212
- }
2213
- var Vr = gi;
2214
- var Ti = function(r) {
2215
- try {
2216
- return JSON.parse(r), !0;
2217
- } catch (e) {
2218
- return !1;
2219
- }
2220
- }, jr = function r(e) {
2221
- "use strict";
2222
- var t = this;
2223
- S(this, r), l(this, "_emittingAutomaticEvent", !1), l(this, "_hasInitialized", !1), l(this, "_currentMode", "standard"), e.on("viewstart", function() {
2224
- t._hasInitialized || (t._hasInitialized = !0, t._currentMode = e.data.player_playback_mode || "standard", t._emittingAutomaticEvent = !0, e.emit("playbackmodechange", {
2225
- player_playback_mode: t._currentMode,
2226
- player_playback_mode_data: "{}"
2227
- }), t._emittingAutomaticEvent = !1);
2228
- }), e.on("viewend", function() {
2229
- t._hasInitialized = !1;
2230
- }), e.on("playbackmodechange", function(i, a) {
2231
- t._emittingAutomaticEvent || (a.player_playback_mode_data ? Ti(a.player_playback_mode_data) || (e.mux.log.warn("Invalid JSON string for player_playback_mode_data"), a.player_playback_mode_data = "{}") : a.player_playback_mode_data = "{}", e.data.player_playback_mode_data = a.player_playback_mode_data, e.data.player_playback_mode = a.player_playback_mode, t._currentMode = a.player_playback_mode);
2232
- });
2233
- };
2234
- var Wr = function() {
2235
- "use strict";
2236
- function r(e) {
2237
- S(this, r), l(this, "pm", void 0), l(this, "_currentRangeStart", void 0), l(this, "_lastPlayheadTime", void 0), this.pm = e, this._currentRangeStart = null, this._lastPlayheadTime = null, e.on("playbackheartbeat", this._updatePlaybackRange.bind(this)), e.on("playbackheartbeatend", this._endPlaybackRange.bind(this));
2238
- }
2239
- return N(r, [
2240
- {
2241
- key: "_updateLastRangeEnd",
2242
- value: function() {
2243
- var t = this.pm.data.video_playback_ranges;
2244
- if (t && t.length > 0) {
2245
- var i = this.pm.data.player_playhead_time || 0;
2246
- t[t.length - 1][1] = i;
2247
- }
2248
- }
2249
- },
2250
- {
2251
- key: "_updatePlaybackRange",
2252
- value: function() {
2253
- var t, i = this.pm.data.player_playhead_time || 0;
2254
- if (!(!this.pm.disableAdPlaybackRangeFiltering && !((t = this.pm.adTracker) === null || t === void 0) && t.isAdBreak && this._lastPlayheadTime !== null && i < this._lastPlayheadTime)) {
2255
- if (this._lastPlayheadTime !== null && this._currentRangeStart !== null) {
2256
- if (Math.abs(i - this._lastPlayheadTime) > 1e3) {
2257
- var n = this.pm.data.video_playback_ranges;
2258
- n && n.length > 0 && (n[n.length - 1][1] = this._lastPlayheadTime), this._currentRangeStart = null;
2259
- }
2260
- }
2261
- if (this._currentRangeStart === null) {
2262
- var o = this.pm.data.video_playback_ranges || [];
2263
- o.length > 0 && o[o.length - 1][1] === i ? this._currentRangeStart = o[o.length - 1][0] : (this._currentRangeStart = i, o.push([i, i])), this.pm.data.video_playback_ranges = o;
2264
- } else this._updateLastRangeEnd();
2265
- this._lastPlayheadTime = i;
2266
- }
2267
- }
2268
- },
2269
- {
2270
- key: "_endPlaybackRange",
2271
- value: function() {
2272
- this._currentRangeStart !== null && (this._updateLastRangeEnd(), this._currentRangeStart = null, this._lastPlayheadTime = null);
2273
- }
2274
- }
2275
- ]), r;
2276
- }();
2277
- var xi = [
2278
- "viewstart",
2279
- "ended",
2280
- "loadstart",
2281
- "pause",
2282
- "play",
2283
- "playing",
2284
- "ratechange",
2285
- "waiting",
2286
- "adplay",
2287
- "adpause",
2288
- "adended",
2289
- "aderror",
2290
- "adplaying",
2291
- "adrequest",
2292
- "adresponse",
2293
- "adbreakstart",
2294
- "adbreakend",
2295
- "adfirstquartile",
2296
- "admidpoint",
2297
- "adthirdquartile",
2298
- "rebufferstart",
2299
- "rebufferend",
2300
- "seeked",
2301
- "error",
2302
- "hb",
2303
- "requestcompleted",
2304
- "requestfailed",
2305
- "requestcanceled",
2306
- "renditionchange",
2307
- "cdnchange",
2308
- "playbackmodechange"
2309
- ], Si = new Set([
2310
- "requestcompleted",
2311
- "requestfailed",
2312
- "requestcanceled"
2313
- ]), Gr = function(r) {
2314
- "use strict";
2315
- xt(t, r);
2316
- var e = At(t);
2317
- function t(i, a, n) {
2318
- S(this, t);
2319
- var o = e.call(this);
2320
- l(b(o), "pageLoadEndTime", void 0), l(b(o), "pageLoadInitTime", void 0), l(b(o), "_destroyed", void 0), l(b(o), "_heartBeatTimeout", void 0), l(b(o), "adTracker", void 0), l(b(o), "dashjs", void 0), l(b(o), "data", void 0), l(b(o), "disablePlayheadRebufferTracking", void 0), l(b(o), "disableRebufferTracking", void 0), l(b(o), "disableAdPlaybackRangeFiltering", void 0), l(b(o), "errorTracker", void 0), l(b(o), "errorTranslator", void 0), l(b(o), "emitTranslator", void 0), l(b(o), "getAdData", void 0), l(b(o), "getPlayheadTime", void 0), l(b(o), "getStateData", void 0), l(b(o), "stateDataTranslator", void 0), l(b(o), "hlsjs", void 0), l(b(o), "id", void 0), l(b(o), "longResumeTracker", void 0), l(b(o), "minimumRebufferDuration", void 0), l(b(o), "mux", void 0), l(b(o), "playbackEventDispatcher", void 0), l(b(o), "playbackHeartbeat", void 0), l(b(o), "playbackHeartbeatTime", void 0), l(b(o), "playheadTime", void 0), l(b(o), "seekingTracker", void 0), l(b(o), "sustainedRebufferThreshold", void 0), l(b(o), "watchTimeTracker", void 0), l(b(o), "currentFragmentPDT", void 0), l(b(o), "currentFragmentStart", void 0), o.pageLoadInitTime = _e.navigationStart(), o.pageLoadEndTime = _e.domContentLoadedEventEnd();
2321
- o.mux = i, o.id = a, n != null && n.beaconDomain && o.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."), n = Object.assign({
2322
- debug: !1,
2323
- minimumRebufferDuration: 250,
2324
- sustainedRebufferThreshold: 1e3,
2325
- playbackHeartbeatTime: 25,
2326
- beaconDomain: "litix.io",
2327
- sampleRate: 1,
2328
- disableCookies: !1,
2329
- respectDoNotTrack: !1,
2330
- disableRebufferTracking: !1,
2331
- disablePlayheadRebufferTracking: !1,
2332
- disableAdPlaybackRangeFiltering: !1,
2333
- errorTranslator: function(y) {
2334
- return y;
2335
- },
2336
- emitTranslator: function() {
2337
- for (var y = arguments.length, c = new Array(y), p = 0; p < y; p++) c[p] = arguments[p];
2338
- return c;
2339
- },
2340
- stateDataTranslator: function(y) {
2341
- return y;
2342
- }
2343
- }, n), n.data = n.data || {}, n.data.property_key && (n.data.env_key = n.data.property_key, delete n.data.property_key), q.level = n.debug ? Y.DEBUG : Y.WARN, o.getPlayheadTime = n.getPlayheadTime, o.getStateData = n.getStateData || function() {
2344
- return {};
2345
- }, o.getAdData = n.getAdData || function() {}, o.minimumRebufferDuration = n.minimumRebufferDuration, o.sustainedRebufferThreshold = n.sustainedRebufferThreshold, o.playbackHeartbeatTime = n.playbackHeartbeatTime, o.disableRebufferTracking = n.disableRebufferTracking, o.disableRebufferTracking && o.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."), o.disablePlayheadRebufferTracking = n.disablePlayheadRebufferTracking, o.disableAdPlaybackRangeFiltering = n.disableAdPlaybackRangeFiltering, o.errorTranslator = n.errorTranslator, o.emitTranslator = n.emitTranslator, o.stateDataTranslator = n.stateDataTranslator, o.playbackEventDispatcher = new Hr(i, n.data.env_key, n), o.data = {
2346
- player_instance_id: ee(),
2347
- mux_sample_rate: n.sampleRate,
2348
- beacon_domain: n.beaconCollectionDomain || n.beaconDomain
2349
- }, o.data.view_sequence_number = 1, o.data.player_sequence_number = 1;
2350
- var u = function() {
2351
- typeof this.data.view_start == "undefined" && (this.data.view_start = this.mux.utils.now(), this.emit("viewstart"), this.emit("renditionchange"));
2352
- }.bind(b(o));
2353
- if (o.on("viewinit", function(y, c) {
2354
- this._resetVideoData(), this._resetViewData(), this._resetErrorData(), this._updateStateData(), Object.assign(this.data, c), this._initializeViewData(), this.one("play", u), this.one("adbreakstart", u);
2355
- }), o.on("videochange", function(y, c) {
2356
- this._resetView(c);
2357
- }), o.on("programchange", function(y, c) {
2358
- this.data.player_is_paused && this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."), this._resetView(Object.assign(c, { view_program_changed: !0 })), u(), this.emit("play"), this.emit("playing");
2359
- }), o.on("fragmentchange", function(y, c) {
2360
- this.currentFragmentPDT = c.currentFragmentPDT, this.currentFragmentStart = c.currentFragmentStart;
2361
- }), o.on("destroy", o.destroy), typeof window != "undefined" && typeof window.addEventListener == "function" && typeof window.removeEventListener == "function") {
2362
- var f = function() {
2363
- var y = typeof o.data.view_start != "undefined";
2364
- o.mux.WINDOW_HIDDEN = document.visibilityState === "hidden", y && o.mux.WINDOW_HIDDEN && (o.data.player_is_paused || o.emit("hb"));
2365
- };
2366
- window.addEventListener("visibilitychange", f, !1);
2367
- var h = function(y) {
2368
- y.persisted || o.destroy();
2369
- };
2370
- window.addEventListener("pagehide", h, !1), o.on("destroy", function() {
2371
- window.removeEventListener("visibilitychange", f), window.removeEventListener("pagehide", h);
2372
- });
2373
- }
2374
- o.on("playerready", function(y, c) {
2375
- Object.assign(this.data, c);
2376
- }), xi.forEach(function(y) {
2377
- o.on(y, function(c, p) {
2378
- y.indexOf("ad") !== 0 && this._updateStateData(), Object.assign(this.data, p), this._sanitizeData();
2379
- }), o.on("after" + y, function() {
2380
- (y !== "error" || this.errorTracker.viewErrored) && this.send(y);
2381
- });
2382
- }), o.on("viewend", function(y, c) {
2383
- Object.assign(o.data, c);
2384
- });
2385
- var E = function(c) {
2386
- var p = this.mux.utils.now();
2387
- this.data.player_init_time && (this.data.player_startup_time = p - this.data.player_init_time), this.pageLoadInitTime = this.data.page_load_init_time || this.pageLoadInitTime, this.pageLoadEndTime = this.data.page_load_end_time || this.pageLoadEndTime, !this.mux.PLAYER_TRACKED && this.pageLoadInitTime && (this.mux.PLAYER_TRACKED = !0, (this.data.player_init_time || this.pageLoadEndTime) && (this.data.page_load_time = Math.min(this.data.player_init_time || Infinity, this.pageLoadEndTime || Infinity) - this.pageLoadInitTime)), this.send("playerready"), delete this.data.player_startup_time, delete this.data.page_load_time;
2388
- };
2389
- return o.one("playerready", E), o.longResumeTracker = new Ur(b(o)), o.errorTracker = new Ut(b(o)), new $t(b(o)), o.seekingTracker = new Kt(b(o)), o.playheadTime = new jt(b(o)), o.playbackHeartbeat = new Bt(b(o)), new zt(b(o)), o.watchTimeTracker = new Ft(b(o)), new Vt(b(o)), new Wr(b(o)), o.adTracker = new Xt(b(o)), new Jt(b(o)), new Gt(b(o)), new Qt(b(o)), new Br(b(o)), new Vr(b(o)), new jr(b(o)), n.hlsjs && o.addHLSJS(n), n.dashjs && o.addDashJS(n), o.emit("viewinit", n.data), o;
2390
- }
2391
- return N(t, [
2392
- {
2393
- key: "emit",
2394
- value: function(a, n) {
2395
- var o, s = Object.assign({ viewer_time: this.mux.utils.now() }, n), u = [a, s];
2396
- if (this.emitTranslator) try {
2397
- u = this.emitTranslator(a, s);
2398
- } catch (f) {
2399
- this.mux.log.warn("Exception in emit translator callback.", f);
2400
- }
2401
- u != null && u.length && (o = Se(X(t.prototype), "emit", this)).call.apply(o, [this].concat(V(u)));
2402
- }
2403
- },
2404
- {
2405
- key: "destroy",
2406
- value: function() {
2407
- this._destroyed || (this._destroyed = !0, typeof this.data.view_start != "undefined" && (this.emit("viewend"), this.send("viewend")), this.playbackEventDispatcher.destroy(), this.removeHLSJS(), this.removeDashJS(), window.clearTimeout(this._heartBeatTimeout));
2408
- }
2409
- },
2410
- {
2411
- key: "send",
2412
- value: function(a) {
2413
- if (this.data.view_id) {
2414
- var n = Object.assign({}, this.data);
2415
- if (n.video_source_is_live === void 0 && (n.player_source_duration === Infinity || n.video_source_duration === Infinity ? n.video_source_is_live = !0 : (n.player_source_duration > 0 || n.video_source_duration > 0) && (n.video_source_is_live = !1)), n.video_source_is_live || [
2416
- "player_program_time",
2417
- "player_manifest_newest_program_time",
2418
- "player_live_edge_program_time",
2419
- "player_program_time",
2420
- "video_holdback",
2421
- "video_part_holdback",
2422
- "video_target_duration",
2423
- "video_part_target_duration"
2424
- ].forEach(function(h) {
2425
- n[h] = void 0;
2426
- }), n.video_source_url = n.video_source_url || n.player_source_url, n.video_source_url) {
2427
- var s = H(re(n.video_source_url), 2), u = s[0];
2428
- n.video_source_domain = s[1], n.video_source_hostname = u;
2429
- }
2430
- delete n.ad_request_id, n.video_playback_ranges && (n.video_playback_range = JSON.stringify(n.video_playback_ranges.filter(function(h) {
2431
- return h[0] !== h[1];
2432
- }).map(function(h) {
2433
- return "".concat(h[0], ":").concat(h[1]);
2434
- })), delete n.video_playback_ranges), this.playbackEventDispatcher.send(a, n), this.data.view_sequence_number++, this.data.player_sequence_number++, Si.has(a) || this._restartHeartBeat(), a === "viewend" && delete this.data.view_id;
2435
- }
2436
- }
2437
- },
2438
- {
2439
- key: "_resetView",
2440
- value: function(a) {
2441
- this.emit("viewend"), this.send("viewend"), this.emit("viewinit", a);
2442
- }
2443
- },
2444
- {
2445
- key: "_updateStateData",
2446
- value: function() {
2447
- var a, n = this.getStateData();
2448
- if (typeof this.stateDataTranslator == "function") try {
2449
- n = this.stateDataTranslator(n);
2450
- } catch (u) {
2451
- this.mux.log.warn("Exception in stateDataTranslator translator callback.", u);
2452
- }
2453
- if (!((a = this.data) === null || a === void 0) && a.video_cdn && n != null && n.video_cdn) {
2454
- n.video_cdn;
2455
- n = Rt(n, ["video_cdn"]);
2456
- }
2457
- Object.assign(this.data, n), this.playheadTime._updatePlayheadTime(), this._sanitizeData();
2458
- }
2459
- },
2460
- {
2461
- key: "_sanitizeData",
2462
- value: function() {
2463
- var a = this;
2464
- [
2465
- "player_width",
2466
- "player_height",
2467
- "video_source_width",
2468
- "video_source_height",
2469
- "player_playhead_time",
2470
- "video_source_bitrate"
2471
- ].forEach(function(s) {
2472
- var u = parseInt(a.data[s], 10);
2473
- a.data[s] = isNaN(u) ? void 0 : u;
2474
- });
2475
- ["player_source_url", "video_source_url"].forEach(function(s) {
2476
- if (a.data[s]) {
2477
- var u = a.data[s].toLowerCase();
2478
- (u.indexOf("data:") === 0 || u.indexOf("blob:") === 0) && (a.data[s] = "MSE style URL");
2479
- }
2480
- });
2481
- }
2482
- },
2483
- {
2484
- key: "_resetVideoData",
2485
- value: function() {
2486
- var a = this;
2487
- Object.keys(this.data).forEach(function(n) {
2488
- n.indexOf("video_") === 0 && delete a.data[n];
2489
- });
2490
- }
2491
- },
2492
- {
2493
- key: "_resetViewData",
2494
- value: function() {
2495
- var a = this;
2496
- Object.keys(this.data).forEach(function(n) {
2497
- n.indexOf("view_") === 0 && delete a.data[n];
2498
- }), this.data.view_sequence_number = 1;
2499
- }
2500
- },
2501
- {
2502
- key: "_resetErrorData",
2503
- value: function() {
2504
- delete this.data.player_error_code, delete this.data.player_error_message, delete this.data.player_error_context, delete this.data.player_error_severity, delete this.data.player_error_business_exception;
2505
- }
2506
- },
2507
- {
2508
- key: "_initializeViewData",
2509
- value: function() {
2510
- var a = this, n = this.data.view_id = ee(), o = function() {
2511
- n === a.data.view_id && O(a.data, "player_view_count", 1);
2512
- };
2513
- this.data.player_is_paused ? this.one("play", o) : o();
2514
- }
2515
- },
2516
- {
2517
- key: "_restartHeartBeat",
2518
- value: function() {
2519
- var a = this;
2520
- window.clearTimeout(this._heartBeatTimeout), this._heartBeatTimeout = window.setTimeout(function() {
2521
- a.data.player_is_paused || a.emit("hb");
2522
- }, 1e4);
2523
- }
2524
- },
2525
- {
2526
- key: "addHLSJS",
2527
- value: function(a) {
2528
- if (!a.hlsjs) {
2529
- this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");
2530
- return;
2531
- }
2532
- if (this.hlsjs) {
2533
- this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");
2534
- return;
2535
- }
2536
- this.hlsjs = a.hlsjs, Ot(this.mux, this.id, a.hlsjs, {}, a.Hls || window.Hls);
2537
- }
2538
- },
2539
- {
2540
- key: "removeHLSJS",
2541
- value: function() {
2542
- this.hlsjs && (Lt(this.hlsjs), this.hlsjs = void 0);
2543
- }
2544
- },
2545
- {
2546
- key: "addDashJS",
2547
- value: function(a) {
2548
- if (!a.dashjs) {
2549
- this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");
2550
- return;
2551
- }
2552
- if (this.dashjs) {
2553
- this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");
2554
- return;
2555
- }
2556
- this.dashjs = a.dashjs, Nt(this.mux, this.id, a.dashjs);
2557
- }
2558
- },
2559
- {
2560
- key: "removeDashJS",
2561
- value: function() {
2562
- this.dashjs && (Ct(this.dashjs), this.dashjs = void 0);
2563
- }
2564
- }
2565
- ]), t;
2566
- }(Ht);
2567
- var he = G(nt());
2568
- function Ae() {
2569
- return he.default && !!(he.default.fullscreenElement || he.default.webkitFullscreenElement || he.default.mozFullScreenElement || he.default.msFullscreenElement);
2570
- }
2571
- var Di = [
2572
- "loadstart",
2573
- "pause",
2574
- "play",
2575
- "playing",
2576
- "seeking",
2577
- "seeked",
2578
- "timeupdate",
2579
- "ratechange",
2580
- "stalled",
2581
- "waiting",
2582
- "error",
2583
- "ended"
2584
- ], qi = {
2585
- 1: "MEDIA_ERR_ABORTED",
2586
- 2: "MEDIA_ERR_NETWORK",
2587
- 3: "MEDIA_ERR_DECODE",
2588
- 4: "MEDIA_ERR_SRC_NOT_SUPPORTED"
2589
- };
2590
- function ot(r, e, t) {
2591
- var i = H(se(e), 3), a = i[0], n = i[1], o = i[2], s = r.log, u = r.utils.getComputedStyle, f = r.utils.secondsToMs, h = { automaticErrorTracking: !0 };
2592
- if (a) {
2593
- if (o !== "video" && o !== "audio") return s.error("The element of `" + n + "` was not a media element.");
2594
- } else return s.error("No element was found with the `" + n + "` query selector.");
2595
- a.mux && (a.mux.destroy(), delete a.mux, s.warn("Already monitoring this video element, replacing existing event listeners"));
2596
- t = Object.assign(h, t, {
2597
- getPlayheadTime: function() {
2598
- return f(a.currentTime);
2599
- },
2600
- getStateData: function() {
2601
- var p, w, x, v = ((p = (w = this).getPlayheadTime) === null || p === void 0 ? void 0 : p.call(w)) || f(a.currentTime), m = this.hlsjs && this.hlsjs.url, _ = this.dashjs && typeof this.dashjs.getSource == "function" && this.dashjs.getSource(), d = {
2602
- player_is_paused: a.paused,
2603
- player_width: parseInt(u(a, "width")),
2604
- player_height: parseInt(u(a, "height")),
2605
- player_autoplay_on: a.autoplay,
2606
- player_preload_on: a.preload,
2607
- player_language_code: a.lang,
2608
- player_is_fullscreen: Ae(),
2609
- video_poster_url: a.poster,
2610
- video_source_url: m || _ || a.currentSrc,
2611
- video_source_duration: f(a.duration),
2612
- video_source_height: a.videoHeight,
2613
- video_source_width: a.videoWidth,
2614
- view_dropped_frame_count: a == null || (x = a.getVideoPlaybackQuality) === null || x === void 0 ? void 0 : x.call(a).droppedVideoFrames
2615
- };
2616
- if (a.getStartDate && v > 0) {
2617
- var g = a.getStartDate();
2618
- if (g && typeof g.getTime == "function" && g.getTime()) {
2619
- var T = g.getTime();
2620
- if (d.player_program_time = T + v, a.seekable.length > 0) d.player_live_edge_program_time = T + a.seekable.end(a.seekable.length - 1);
2621
- }
2622
- }
2623
- return d;
2624
- }
2625
- }), t.data = Object.assign({
2626
- player_software: "HTML5 Video Element",
2627
- player_mux_plugin_name: "VideoElementMonitor",
2628
- player_mux_plugin_version: r.VERSION
2629
- }, t.data), a.mux = a.mux || {}, a.mux.deleted = !1, a.mux.emit = function(c, p) {
2630
- r.emit(n, c, p);
2631
- }, a.mux.updateData = function(c) {
2632
- a.mux.emit("hb", c);
2633
- };
2634
- var y = function() {
2635
- s.error("The monitor for this video element has already been destroyed.");
2636
- };
2637
- a.mux.destroy = function() {
2638
- Object.keys(a.mux.listeners).forEach(function(c) {
2639
- a.removeEventListener(c, a.mux.listeners[c], !1);
2640
- }), delete a.mux.listeners, a.mux.fullscreenChangeListener && (document.removeEventListener("fullscreenchange", a.mux.fullscreenChangeListener, !1), delete a.mux.fullscreenChangeListener), a.mux.destroy = y, a.mux.swapElement = y, a.mux.emit = y, a.mux.addHLSJS = y, a.mux.addDashJS = y, a.mux.removeHLSJS = y, a.mux.removeDashJS = y, a.mux.updateData = y, a.mux.setEmitTranslator = y, a.mux.setStateDataTranslator = y, a.mux.setGetPlayheadTime = y, a.mux.deleted = !0, r.emit(n, "destroy");
2641
- }, a.mux.swapElement = function(c) {
2642
- var p = H(se(c), 3), w = p[0], x = p[1], v = p[2];
2643
- if (w) {
2644
- if (v !== "video" && v !== "audio") return r.log.error("The element of `" + x + "` was not a media element.");
2645
- } else return r.log.error("No element was found with the `" + x + "` query selector.");
2646
- w.muxId = a.muxId, delete a.muxId, w.mux = w.mux || {}, w.mux.listeners = Object.assign({}, a.mux.listeners), delete a.mux.listeners, Object.keys(w.mux.listeners).forEach(function(m) {
2647
- a.removeEventListener(m, w.mux.listeners[m], !1), w.addEventListener(m, w.mux.listeners[m], !1);
2648
- }), w.mux.fullscreenChangeListener = a.mux.fullscreenChangeListener, delete a.mux.fullscreenChangeListener, w.mux.swapElement = a.mux.swapElement, w.mux.destroy = a.mux.destroy, delete a.mux, a = w;
2649
- }, a.mux.addHLSJS = function(c) {
2650
- r.addHLSJS(n, c);
2651
- }, a.mux.addDashJS = function(c) {
2652
- r.addDashJS(n, c);
2653
- }, a.mux.removeHLSJS = function() {
2654
- r.removeHLSJS(n);
2655
- }, a.mux.removeDashJS = function() {
2656
- r.removeDashJS(n);
2657
- }, a.mux.setEmitTranslator = function(c) {
2658
- r.setEmitTranslator(n, c);
2659
- }, a.mux.setStateDataTranslator = function(c) {
2660
- r.setStateDataTranslator(n, c);
2661
- }, a.mux.setGetPlayheadTime = function(c) {
2662
- c || (c = t.getPlayheadTime), r.setGetPlayheadTime(n, c);
2663
- }, r.init(n, t), r.emit(n, "playerready"), a.paused || (r.emit(n, "play"), a.readyState > 2 && r.emit(n, "playing")), a.mux.listeners = {}, Di.forEach(function(c) {
2664
- c === "error" && !t.automaticErrorTracking || (a.mux.listeners[c] = function() {
2665
- var p = {};
2666
- if (c === "error") {
2667
- if (!a.error || a.error.code === 1) return;
2668
- p.player_error_code = a.error.code, p.player_error_message = qi[a.error.code] || a.error.message;
2669
- }
2670
- r.emit(n, c, p);
2671
- }, a.addEventListener(c, a.mux.listeners[c], !1));
2672
- }), a.mux.listeners.enterpictureinpicture = function() {
2673
- r.emit(n, "playbackmodechange", {
2674
- player_playback_mode: "pip",
2675
- player_playback_mode_data: "{}"
2676
- });
2677
- }, a.mux.listeners.leavepictureinpicture = function() {
2678
- var c = Ae() ? "fullscreen" : "standard";
2679
- r.emit(n, "playbackmodechange", {
2680
- player_playback_mode: c,
2681
- player_playback_mode_data: "{}"
2682
- });
2683
- }, a.addEventListener("enterpictureinpicture", a.mux.listeners.enterpictureinpicture, !1), a.addEventListener("leavepictureinpicture", a.mux.listeners.leavepictureinpicture, !1), a.mux.fullscreenChangeListener = function() {
2684
- var c = Ae(), p = document.fullscreenElement;
2685
- if (c && (p === a || p != null && p.contains(a))) r.emit(n, "playbackmodechange", {
2686
- player_playback_mode: "fullscreen",
2687
- player_playback_mode_data: "{}"
2688
- });
2689
- else if (!c) {
2690
- var x = document.pictureInPictureElement === a ? "pip" : "standard";
2691
- r.emit(n, "playbackmodechange", {
2692
- player_playback_mode: x,
2693
- player_playback_mode_data: "{}"
2694
- });
2695
- }
2696
- }, document.addEventListener("fullscreenchange", a.mux.fullscreenChangeListener, !1);
2697
- }
2698
- function st(r, e, t, i) {
2699
- var a = i;
2700
- if (r && typeof r[e] == "function") try {
2701
- a = r[e].apply(r, t);
2702
- } catch (n) {
2703
- q.info("safeCall error", n);
2704
- }
2705
- return a;
2706
- }
2707
- var ge = G(Q()), ye;
2708
- ge.default && ge.default.WeakMap && (ye = /* @__PURE__ */ new WeakMap());
2709
- function ut(r, e) {
2710
- if (!r || !e || !ge.default || typeof ge.default.getComputedStyle != "function") return "";
2711
- var t;
2712
- return ye && ye.has(r) && (t = ye.get(r)), t || (t = ge.default.getComputedStyle(r, null), ye && ye.set(r, t)), t.getPropertyValue(e);
2713
- }
2714
- function lt(r) {
2715
- return Math.floor(r * 1e3);
2716
- }
2717
- var de = {
2718
- TARGET_DURATION: "#EXT-X-TARGETDURATION",
2719
- PART_INF: "#EXT-X-PART-INF",
2720
- SERVER_CONTROL: "#EXT-X-SERVER-CONTROL",
2721
- INF: "#EXTINF",
2722
- PROGRAM_DATE_TIME: "#EXT-X-PROGRAM-DATE-TIME",
2723
- VERSION: "#EXT-X-VERSION",
2724
- SESSION_DATA: "#EXT-X-SESSION-DATA"
2725
- }, Ve = function(e) {
2726
- return this.buffer = "", this.manifest = {
2727
- segments: [],
2728
- serverControl: {},
2729
- sessionData: {}
2730
- }, this.currentUri = {}, this.process(e), this.manifest;
2731
- };
2732
- Ve.prototype.process = function(r) {
2733
- var e;
2734
- for (this.buffer += r, e = this.buffer.indexOf("\n"); e > -1; e = this.buffer.indexOf("\n")) this.processLine(this.buffer.substring(0, e)), this.buffer = this.buffer.substring(e + 1);
2735
- };
2736
- Ve.prototype.processLine = function(r) {
2737
- var t = Li(r, r.indexOf(":")), i = t[0], a = t.length === 2 ? ct(t[1]) : void 0;
2738
- if (i[0] !== "#") this.currentUri.uri = i, this.manifest.segments.push(this.currentUri), this.manifest.targetDuration && !("duration" in this.currentUri) && (this.currentUri.duration = this.manifest.targetDuration), this.currentUri = {};
2739
- else switch (i) {
2740
- case de.TARGET_DURATION:
2741
- if (!isFinite(a) || a < 0) return;
2742
- this.manifest.targetDuration = a, this.setHoldBack();
2743
- break;
2744
- case de.PART_INF:
2745
- dt(this.manifest, t), this.manifest.partInf.partTarget && (this.manifest.partTargetDuration = this.manifest.partInf.partTarget), this.setHoldBack();
2746
- break;
2747
- case de.SERVER_CONTROL:
2748
- dt(this.manifest, t), this.setHoldBack();
2749
- break;
2750
- case de.INF:
2751
- a === 0 ? this.currentUri.duration = .01 : a > 0 && (this.currentUri.duration = a);
2752
- break;
2753
- case de.PROGRAM_DATE_TIME:
2754
- var n = a, o = new Date(n);
2755
- this.manifest.dateTimeString || (this.manifest.dateTimeString = n, this.manifest.dateTimeObject = o), this.currentUri.dateTimeString = n, this.currentUri.dateTimeObject = o;
2756
- break;
2757
- case de.VERSION:
2758
- dt(this.manifest, t);
2759
- break;
2760
- case de.SESSION_DATA:
2761
- var u = Me(Ii(t[1]));
2762
- Object.assign(this.manifest.sessionData, u);
2763
- }
2764
- };
2765
- Ve.prototype.setHoldBack = function() {
2766
- var r = this.manifest, e = r.serverControl, t = r.targetDuration, i = r.partTargetDuration;
2767
- if (e) {
2768
- var a = "holdBack", n = "partHoldBack", o = t && t * 3, s = i && i * 2;
2769
- t && !e.hasOwnProperty(a) && (e[a] = o), o && e[a] < o && (e[a] = o), i && !e.hasOwnProperty(n) && (e[n] = i * 3), i && e[n] < s && (e[n] = s);
2770
- }
2771
- };
2772
- var dt = function(r, e) {
2773
- var t = Jr(e[0].replace("#EXT-X-", "")), i;
2774
- Oi(e[1]) ? (i = {}, i = Object.assign(Pi(e[1]), i)) : i = ct(e[1]), r[t] = i;
2775
- }, Jr = function(r) {
2776
- return r.toLowerCase().replace(/-(\w)/g, function(e) {
2777
- return e[1].toUpperCase();
2778
- });
2779
- }, ct = function(r) {
2780
- if (r.toLowerCase() === "yes" || r.toLowerCase() === "no") return r.toLowerCase() === "yes";
2781
- var e = r.indexOf(":") !== -1 ? r : parseFloat(r);
2782
- return isNaN(e) ? r : e;
2783
- }, Ai = function(r) {
2784
- var e = {}, t = r.split("=");
2785
- if (t.length > 1) {
2786
- var i = Jr(t[0]);
2787
- e[i] = ct(t[1]);
2788
- }
2789
- return e;
2790
- }, Pi = function(r) {
2791
- for (var e = r.split(","), t = {}, i = 0; e.length > i; i++) {
2792
- var a = e[i], n = Ai(a);
2793
- t = Object.assign(n, t);
2794
- }
2795
- return t;
2796
- }, Oi = function(r) {
2797
- return r.indexOf("=") > -1;
2798
- }, Li = function(r, e) {
2799
- return e === -1 ? [r] : [r.substring(0, e), r.substring(e + 1)];
2800
- }, Ii = function(r) {
2801
- var e = {};
2802
- if (r) {
2803
- var t = r.search(",");
2804
- return [r.slice(0, t), r.slice(t + 1)].forEach(function(o, s) {
2805
- for (var u = o.replace(/['"]+/g, "").split("="), f = 0; f < u.length; f++) u[f] === "DATA-ID" && (e["DATA-ID"] = u[1 - f]), u[f] === "VALUE" && (e.VALUE = u[1 - f]);
2806
- }), { data: e };
2807
- }
2808
- }, Qr = Ve;
2809
- var zr = {
2810
- safeCall: st,
2811
- safeIncrement: O,
2812
- getComputedStyle: ut,
2813
- secondsToMs: lt,
2814
- assign: Object.assign,
2815
- headersStringToObject: pe,
2816
- cdnHeadersToRequestId: le,
2817
- extractHostnameAndDomain: re,
2818
- extractHostname: F,
2819
- manifestParser: Qr,
2820
- generateShortID: Oe,
2821
- generateUUID: ee,
2822
- now: P.now,
2823
- findMediaElement: se
2824
- };
2825
- var Kr = {
2826
- PLAYER_READY: "playerready",
2827
- VIEW_INIT: "viewinit",
2828
- VIDEO_CHANGE: "videochange",
2829
- PLAY: "play",
2830
- PAUSE: "pause",
2831
- PLAYING: "playing",
2832
- TIME_UPDATE: "timeupdate",
2833
- SEEKING: "seeking",
2834
- SEEKED: "seeked",
2835
- REBUFFER_START: "rebufferstart",
2836
- REBUFFER_END: "rebufferend",
2837
- ERROR: "error",
2838
- ENDED: "ended",
2839
- RENDITION_CHANGE: "renditionchange",
2840
- ORIENTATION_CHANGE: "orientationchange",
2841
- PLAYBACK_MODE_CHANGE: "playbackmodechange",
2842
- AD_REQUEST: "adrequest",
2843
- AD_RESPONSE: "adresponse",
2844
- AD_BREAK_START: "adbreakstart",
2845
- AD_PLAY: "adplay",
2846
- AD_PLAYING: "adplaying",
2847
- AD_PAUSE: "adpause",
2848
- AD_FIRST_QUARTILE: "adfirstquartile",
2849
- AD_MID_POINT: "admidpoint",
2850
- AD_THIRD_QUARTILE: "adthirdquartile",
2851
- AD_ENDED: "adended",
2852
- AD_BREAK_END: "adbreakend",
2853
- AD_ERROR: "aderror",
2854
- REQUEST_COMPLETED: "requestcompleted",
2855
- REQUEST_FAILED: "requestfailed",
2856
- REQUEST_CANCELLED: "requestcanceled",
2857
- HEARTBEAT: "hb",
2858
- DESTROY: "destroy"
2859
- };
2860
- var Mi = "mux-embed", Hi = "5.17.10", Bi = "2.1", M = {}, ne = function(e) {
2861
- var t = arguments;
2862
- typeof e == "string" ? ne.hasOwnProperty(e) ? be.default.setTimeout(function() {
2863
- t = Array.prototype.splice.call(t, 1), ne[e].apply(null, t);
2864
- }, 0) : q.warn("`" + e + "` is an unknown task") : typeof e == "function" ? be.default.setTimeout(function() {
2865
- e(ne);
2866
- }, 0) : q.warn("`" + e + "` is invalid.");
2867
- }, Ui = {
2868
- loaded: P.now(),
2869
- NAME: Mi,
2870
- VERSION: Hi,
2871
- API_VERSION: Bi,
2872
- PLAYER_TRACKED: !1,
2873
- monitor: function(e, t) {
2874
- return ot(ne, e, t);
2875
- },
2876
- destroyMonitor: function(e) {
2877
- var i = H(se(e), 1)[0];
2878
- i && i.mux && typeof i.mux.destroy == "function" ? i.mux.destroy() : q.error("A video element monitor for `" + e + "` has not been initialized via `mux.monitor`.");
2879
- },
2880
- addHLSJS: function(e, t) {
2881
- var i = J(e);
2882
- M[i] ? M[i].addHLSJS(t) : q.error("A monitor for `" + i + "` has not been initialized.");
2883
- },
2884
- addDashJS: function(e, t) {
2885
- var i = J(e);
2886
- M[i] ? M[i].addDashJS(t) : q.error("A monitor for `" + i + "` has not been initialized.");
2887
- },
2888
- removeHLSJS: function(e) {
2889
- var t = J(e);
2890
- M[t] ? M[t].removeHLSJS() : q.error("A monitor for `" + t + "` has not been initialized.");
2891
- },
2892
- removeDashJS: function(e) {
2893
- var t = J(e);
2894
- M[t] ? M[t].removeDashJS() : q.error("A monitor for `" + t + "` has not been initialized.");
2895
- },
2896
- init: function(e, t) {
2897
- ce() && t && t.respectDoNotTrack && q.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");
2898
- var i = J(e);
2899
- M[i] = new Gr(ne, i, t);
2900
- },
2901
- emit: function(e, t, i) {
2902
- var a = J(e);
2903
- M[a] ? (M[a].emit(t, i), t === "destroy" && delete M[a]) : q.error("A monitor for `" + a + "` has not been initialized.");
2904
- },
2905
- updateData: function(e, t) {
2906
- var i = J(e);
2907
- M[i] ? M[i].emit("hb", t) : q.error("A monitor for `" + i + "` has not been initialized.");
2908
- },
2909
- setEmitTranslator: function(e, t) {
2910
- var i = J(e);
2911
- M[i] ? M[i].emitTranslator = t : q.error("A monitor for `" + i + "` has not been initialized.");
2912
- },
2913
- setStateDataTranslator: function(e, t) {
2914
- var i = J(e);
2915
- M[i] ? M[i].stateDataTranslator = t : q.error("A monitor for `" + i + "` has not been initialized.");
2916
- },
2917
- setGetPlayheadTime: function(e, t) {
2918
- var i = J(e);
2919
- M[i] ? M[i].getPlayheadTime = t : q.error("A monitor for `" + i + "` has not been initialized.");
2920
- },
2921
- checkDoNotTrack: ce,
2922
- log: q,
2923
- utils: zr,
2924
- events: Kr,
2925
- WINDOW_HIDDEN: !1,
2926
- WINDOW_UNLOADING: !1
2927
- };
2928
- Object.assign(ne, Ui);
2929
- typeof be.default != "undefined" && typeof be.default.addEventListener == "function" && be.default.addEventListener("pagehide", function(r) {
2930
- r.persisted || (ne.WINDOW_UNLOADING = !0);
2931
- }, !1);
2932
- var jl = ne;
2933
- /*!
2934
- * JavaScript Cookie v2.1.3
2935
- * https://github.com/js-cookie/js-cookie
2936
- *
2937
- * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
2938
- * Released under the MIT license
2939
- */
2940
-
2941
- //#endregion
2942
- //#region ../core/dist/dev/dom/media/mux/index.js
2943
- const MUX_VIDEO_DOMAIN = "mux.com";
2944
- var MuxMediaDelegate = class extends HlsMediaDelegate {
2945
- static PLAYER_SOFTWARE_NAME = "";
2946
- #MuxDataSdk = jl;
2947
- #MuxDataSdkInitializedBefore = false;
2948
- #playbackId = null;
2949
- #customDomain = MUX_VIDEO_DOMAIN;
2950
- #beaconCollectionDomain;
2951
- #disableCookies = false;
2952
- #metadata;
2953
- #envKey;
2954
- #playerSoftwareName = this.constructor.PLAYER_SOFTWARE_NAME;
2955
- #playerSoftwareVersion = getPlayerVersion();
2956
- #playerInitTime = this.#generatePlayerInitTime();
2957
- get playbackId() {
2958
- return this.#playbackId;
2959
- }
2960
- set playbackId(value) {
2961
- if (this.#playbackId === value) return;
2962
- this.#playbackId = value;
2963
- this.#syncSrc();
2964
- }
2965
- get customDomain() {
2966
- return this.#customDomain;
2967
- }
2968
- set customDomain(value) {
2969
- const normalized = value || MUX_VIDEO_DOMAIN;
2970
- if (this.#customDomain === normalized) return;
2971
- this.#customDomain = normalized;
2972
- this.#syncSrc();
2973
- }
2974
- get MuxDataSdk() {
2975
- return this.#MuxDataSdk;
2976
- }
2977
- set MuxDataSdk(value) {
2978
- this.#MuxDataSdk = value;
2979
- }
2980
- get beaconCollectionDomain() {
2981
- return this.#beaconCollectionDomain;
2982
- }
2983
- set beaconCollectionDomain(value) {
2984
- this.#beaconCollectionDomain = value;
2985
- }
2986
- get disableCookies() {
2987
- return this.#disableCookies;
2988
- }
2989
- set disableCookies(value) {
2990
- this.#disableCookies = value;
2991
- }
2992
- get envKey() {
2993
- return this.#envKey;
2994
- }
2995
- set envKey(value) {
2996
- this.#envKey = value;
2997
- }
2998
- get playerSoftwareName() {
2999
- return this.#playerSoftwareName;
3000
- }
3001
- set playerSoftwareName(value) {
3002
- this.#playerSoftwareName = value;
3003
- }
3004
- get playerSoftwareVersion() {
3005
- return this.#playerSoftwareVersion;
3006
- }
3007
- set playerSoftwareVersion(value) {
3008
- this.#playerSoftwareVersion = value;
3009
- }
3010
- get playerInitTime() {
3011
- return this.#playerInitTime;
3012
- }
3013
- set playerInitTime(value) {
3014
- this.#playerInitTime = value;
3015
- }
3016
- get metadata() {
3017
- return this.#metadata;
3018
- }
3019
- set metadata(value) {
3020
- this.#metadata = value;
3021
- }
3022
- attach(target) {
3023
- super.attach(target);
3024
- if (this.#MuxDataSdkInitializedBefore) this.#initializeMuxDataSdk();
3025
- }
3026
- detach() {
3027
- if (this.target?.mux) {
3028
- this.target.mux.destroy();
3029
- delete this.target.mux;
3030
- }
3031
- super.detach();
3032
- }
3033
- load() {
3034
- super.load();
3035
- this.#initializeMuxDataSdk();
3036
- }
3037
- #syncSrc() {
3038
- this.src = this.#playbackId ? toSrc(this.#playbackId, this.#customDomain) : "";
3039
- }
3040
- #initializeMuxDataSdk() {
3041
- const target = this.target;
3042
- if (!this.MuxDataSdk || !target || target.mux && !target.mux.deleted) return;
3043
- this.#MuxDataSdkInitializedBefore = true;
3044
- const { debug, beaconCollectionDomain, disableCookies, engine: hlsjs, envKey: env_key, playerSoftwareName: player_software_name, playerSoftwareVersion: player_software_version, playerInitTime: player_init_time, metadata = {} } = this;
3045
- const { view_session_id = this.MuxDataSdk?.utils.generateUUID() } = metadata;
3046
- const video_id = toVideoId(this);
3047
- metadata.view_session_id = view_session_id;
3048
- metadata.video_id = video_id;
3049
- this.MuxDataSdk?.monitor(target, {
3050
- debug,
3051
- ...beaconCollectionDomain ? { beaconCollectionDomain } : {},
3052
- ...disableCookies ? { disableCookies } : {},
3053
- ...hlsjs ? { hlsjs } : {},
3054
- Hls,
3055
- data: {
3056
- ...env_key ? { env_key } : {},
3057
- ...player_software_name ? { player_software_name } : {},
3058
- ...player_software_name ? { player_software: player_software_name } : {},
3059
- ...player_software_version ? { player_software_version } : {},
3060
- ...player_init_time ? { player_init_time } : {},
3061
- ...metadata
3062
- }
3063
- });
3064
- }
3065
- #generatePlayerInitTime() {
3066
- if (!this.MuxDataSdk) return void 0;
3067
- return this.MuxDataSdk.utils.now();
3068
- }
3069
- };
3070
- function toSrc(playbackId, customDomain) {
3071
- return `https://stream.${customDomain}/${playbackId}.m3u8`;
3072
- }
3073
- function toVideoId(props) {
3074
- if (props.metadata?.video_id) return props.metadata.video_id;
3075
- if (!isMuxVideoSrc(props)) return props.src;
3076
- return toPlaybackIdFromParameterized(props.playbackId) ?? toPlaybackIdFromSrc(props.src) ?? props.src;
3077
- }
3078
- function toPlaybackIdFromParameterized(playbackId) {
3079
- if (!playbackId) return void 0;
3080
- const [id] = playbackId.split("?");
3081
- return id || void 0;
3082
- }
3083
- function toPlaybackIdFromSrc(src) {
3084
- if (!src || !src.startsWith("https://stream.")) return void 0;
3085
- const [playbackId] = new URL(src).pathname.slice(1).split(/\.m3u8|\//);
3086
- return playbackId || void 0;
3087
- }
3088
- function isMuxVideoSrc({ playbackId, src, customDomain }) {
3089
- if (playbackId) return true;
3090
- if (typeof src !== "string") return false;
3091
- const base = window?.location.href;
3092
- const hostname = new URL(src, base).hostname.toLocaleLowerCase();
3093
- return hostname.includes(MUX_VIDEO_DOMAIN) || !!customDomain && hostname.includes(customDomain.toLocaleLowerCase());
3094
- }
3095
- var MuxVideoDelegate = class extends MuxMediaDelegate {
3096
- static PLAYER_SOFTWARE_NAME = "mux-video";
3097
- };
3098
- var MuxCustomVideo = class extends DelegateMixin(CustomVideoElement, MuxVideoDelegate) {};
3099
-
3100
- //#endregion
3101
7
  //#region src/media/mux-video/index.ts
3102
8
  var MuxVideo = class extends MediaPropsMixin(MediaAttachMixin(MuxCustomVideo), MuxMediaDelegate) {
3103
9
  constructor() {