@tarojs/components 3.5.7-alpha.6 → 3.6.0-canary.0

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 (853) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/helper-db78e01a.js +2 -0
  3. package/dist/cjs/helper-db78e01a.js.map +1 -0
  4. package/dist/cjs/index-47a1959e.js +2 -0
  5. package/dist/cjs/index-47a1959e.js.map +1 -0
  6. package/dist/cjs/{index-7c61bee9.js → index-9174e0b1.js} +477 -234
  7. package/dist/cjs/index-9174e0b1.js.map +1 -0
  8. package/dist/cjs/index-f9d21cc5.js +2 -0
  9. package/dist/cjs/index-f9d21cc5.js.map +1 -0
  10. package/dist/cjs/index.cjs.js +2 -0
  11. package/dist/cjs/index.cjs.js.map +1 -0
  12. package/dist/cjs/intersection-observer-dc4cfcef.js +2 -0
  13. package/dist/cjs/intersection-observer-dc4cfcef.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +5 -3
  15. package/dist/cjs/loader.cjs.js.map +1 -0
  16. package/dist/cjs/taro-ad-core.cjs.entry.js +4 -2
  17. package/dist/cjs/taro-ad-core.cjs.entry.js.map +1 -0
  18. package/dist/cjs/taro-ad-custom-core.cjs.entry.js +4 -2
  19. package/dist/cjs/taro-ad-custom-core.cjs.entry.js.map +1 -0
  20. package/dist/cjs/taro-audio-core.cjs.entry.js +5 -2
  21. package/dist/cjs/taro-audio-core.cjs.entry.js.map +1 -0
  22. package/dist/cjs/taro-block-core.cjs.entry.js +4 -2
  23. package/dist/cjs/taro-block-core.cjs.entry.js.map +1 -0
  24. package/dist/cjs/taro-button-core.cjs.entry.js +7 -2
  25. package/dist/cjs/taro-button-core.cjs.entry.js.map +1 -0
  26. package/dist/cjs/taro-camera-core.cjs.entry.js +4 -2
  27. package/dist/cjs/taro-camera-core.cjs.entry.js.map +1 -0
  28. package/dist/cjs/taro-canvas-core.cjs.entry.js +6 -3
  29. package/dist/cjs/taro-canvas-core.cjs.entry.js.map +1 -0
  30. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +14 -8
  31. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js.map +1 -0
  32. package/dist/cjs/taro-components.cjs.js +5 -3
  33. package/dist/cjs/taro-components.cjs.js.map +1 -0
  34. package/dist/cjs/taro-cover-image-core.cjs.entry.js +5 -2
  35. package/dist/cjs/taro-cover-image-core.cjs.entry.js.map +1 -0
  36. package/dist/cjs/taro-cover-view-core.cjs.entry.js +7 -3
  37. package/dist/cjs/taro-cover-view-core.cjs.entry.js.map +1 -0
  38. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +4 -2
  39. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js.map +1 -0
  40. package/dist/cjs/taro-editor-core.cjs.entry.js +4 -2
  41. package/dist/cjs/taro-editor-core.cjs.entry.js.map +1 -0
  42. package/dist/cjs/taro-form-core.cjs.entry.js +5 -2
  43. package/dist/cjs/taro-form-core.cjs.entry.js.map +1 -0
  44. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js +4 -2
  45. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js.map +1 -0
  46. package/dist/cjs/taro-icon-core.cjs.entry.js +6 -2
  47. package/dist/cjs/taro-icon-core.cjs.entry.js.map +1 -0
  48. package/dist/cjs/taro-image-core.cjs.entry.js +5 -2
  49. package/dist/cjs/taro-image-core.cjs.entry.js.map +1 -0
  50. package/dist/cjs/taro-input-core.cjs.entry.js +18 -10
  51. package/dist/cjs/taro-input-core.cjs.entry.js.map +1 -0
  52. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js +4 -2
  53. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js.map +1 -0
  54. package/dist/cjs/taro-label-core.cjs.entry.js +5 -2
  55. package/dist/cjs/taro-label-core.cjs.entry.js.map +1 -0
  56. package/dist/cjs/taro-live-player-core.cjs.entry.js +4 -2
  57. package/dist/cjs/taro-live-player-core.cjs.entry.js.map +1 -0
  58. package/dist/cjs/taro-live-pusher-core.cjs.entry.js +4 -2
  59. package/dist/cjs/taro-live-pusher-core.cjs.entry.js.map +1 -0
  60. package/dist/cjs/taro-map-core.cjs.entry.js +4 -2
  61. package/dist/cjs/taro-map-core.cjs.entry.js.map +1 -0
  62. package/dist/cjs/taro-match-media-core.cjs.entry.js +4 -2
  63. package/dist/cjs/taro-match-media-core.cjs.entry.js.map +1 -0
  64. package/dist/cjs/{taro-movable-view-core.cjs.entry.js → taro-movable-area-core_2.cjs.entry.js} +187 -97
  65. package/dist/cjs/taro-movable-area-core_2.cjs.entry.js.map +1 -0
  66. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js +4 -2
  67. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js.map +1 -0
  68. package/dist/cjs/taro-navigator-core.cjs.entry.js +6 -2
  69. package/dist/cjs/taro-navigator-core.cjs.entry.js.map +1 -0
  70. package/dist/cjs/taro-official-account-core.cjs.entry.js +4 -2
  71. package/dist/cjs/taro-official-account-core.cjs.entry.js.map +1 -0
  72. package/dist/cjs/taro-open-data-core.cjs.entry.js +4 -2
  73. package/dist/cjs/taro-open-data-core.cjs.entry.js.map +1 -0
  74. package/dist/cjs/taro-page-container-core.cjs.entry.js +4 -2
  75. package/dist/cjs/taro-page-container-core.cjs.entry.js.map +1 -0
  76. package/dist/cjs/taro-page-meta-core.cjs.entry.js +4 -2
  77. package/dist/cjs/taro-page-meta-core.cjs.entry.js.map +1 -0
  78. package/dist/cjs/taro-picker-core_2.cjs.entry.js +31 -15
  79. package/dist/cjs/taro-picker-core_2.cjs.entry.js.map +1 -0
  80. package/dist/cjs/{taro-picker-view-core.cjs.entry.js → taro-picker-view-column-core_2.cjs.entry.js} +101 -6
  81. package/dist/cjs/taro-picker-view-column-core_2.cjs.entry.js.map +1 -0
  82. package/dist/cjs/taro-progress-core.cjs.entry.js +7 -5
  83. package/dist/cjs/taro-progress-core.cjs.entry.js.map +1 -0
  84. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js +10 -8
  85. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js.map +1 -0
  86. package/dist/cjs/taro-radio-core_2.cjs.entry.js +15 -9
  87. package/dist/cjs/taro-radio-core_2.cjs.entry.js.map +1 -0
  88. package/dist/cjs/taro-rich-text-core.cjs.entry.js +5 -2
  89. package/dist/cjs/taro-rich-text-core.cjs.entry.js.map +1 -0
  90. package/dist/cjs/taro-root-portal-core.cjs.entry.js +4 -2
  91. package/dist/cjs/taro-root-portal-core.cjs.entry.js.map +1 -0
  92. package/dist/cjs/taro-scroll-view-core.cjs.entry.js +28 -22
  93. package/dist/cjs/taro-scroll-view-core.cjs.entry.js.map +1 -0
  94. package/dist/cjs/taro-share-element-core.cjs.entry.js +4 -2
  95. package/dist/cjs/taro-share-element-core.cjs.entry.js.map +1 -0
  96. package/dist/cjs/taro-slider-core.cjs.entry.js +23 -19
  97. package/dist/cjs/taro-slider-core.cjs.entry.js.map +1 -0
  98. package/dist/cjs/taro-slot-core.cjs.entry.js +4 -7
  99. package/dist/cjs/taro-slot-core.cjs.entry.js.map +1 -0
  100. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +25 -56
  101. package/dist/cjs/taro-swiper-core_2.cjs.entry.js.map +1 -0
  102. package/dist/cjs/taro-switch-core.cjs.entry.js +12 -8
  103. package/dist/cjs/taro-switch-core.cjs.entry.js.map +1 -0
  104. package/dist/cjs/taro-tabbar.cjs.entry.js +12 -4
  105. package/dist/cjs/taro-tabbar.cjs.entry.js.map +1 -0
  106. package/dist/cjs/taro-text-core.cjs.entry.js +4 -2
  107. package/dist/cjs/taro-text-core.cjs.entry.js.map +1 -0
  108. package/dist/cjs/taro-textarea-core.cjs.entry.js +13 -8
  109. package/dist/cjs/taro-textarea-core.cjs.entry.js.map +1 -0
  110. package/dist/cjs/taro-video-control_3.cjs.entry.js +142 -260
  111. package/dist/cjs/taro-video-control_3.cjs.entry.js.map +1 -0
  112. package/dist/cjs/taro-view-core.cjs.entry.js +7 -3
  113. package/dist/cjs/taro-view-core.cjs.entry.js.map +1 -0
  114. package/dist/cjs/taro-voip-room-core.cjs.entry.js +4 -2
  115. package/dist/cjs/taro-voip-room-core.cjs.entry.js.map +1 -0
  116. package/dist/cjs/taro-web-view-core.cjs.entry.js +5 -2
  117. package/dist/cjs/taro-web-view-core.cjs.entry.js.map +1 -0
  118. package/dist/collection/collection-manifest.json +16 -4
  119. package/dist/collection/components/ad/ad.js +2 -1
  120. package/dist/collection/components/ad/ad.js.map +1 -0
  121. package/dist/collection/components/ad-custom/ad-custom.js +2 -1
  122. package/dist/collection/components/ad-custom/ad-custom.js.map +1 -0
  123. package/dist/collection/components/audio/audio.js +199 -190
  124. package/dist/collection/components/audio/audio.js.map +1 -0
  125. package/dist/collection/components/block/block.js +2 -2
  126. package/dist/collection/components/block/block.js.map +1 -0
  127. package/dist/collection/components/button/button.js +224 -211
  128. package/dist/collection/components/button/button.js.map +1 -0
  129. package/dist/collection/components/camera/camera.js +2 -1
  130. package/dist/collection/components/camera/camera.js.map +1 -0
  131. package/dist/collection/components/canvas/canvas.js +67 -58
  132. package/dist/collection/components/canvas/canvas.js.map +1 -0
  133. package/dist/collection/components/checkbox/checkbox-group.js +50 -42
  134. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -0
  135. package/dist/collection/components/checkbox/checkbox.js +174 -161
  136. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  137. package/dist/collection/components/cover-image/cover-image.js +81 -72
  138. package/dist/collection/components/cover-image/cover-image.js.map +1 -0
  139. package/dist/collection/components/cover-view/cover-view.js +131 -118
  140. package/dist/collection/components/cover-view/cover-view.js.map +1 -0
  141. package/dist/collection/components/custom-wrapper/custom-wrapper.js +2 -2
  142. package/dist/collection/components/custom-wrapper/custom-wrapper.js.map +1 -0
  143. package/dist/collection/components/editor/editor.js +2 -1
  144. package/dist/collection/components/editor/editor.js.map +1 -0
  145. package/dist/collection/components/form/form.js +48 -40
  146. package/dist/collection/components/form/form.js.map +1 -0
  147. package/dist/collection/components/functional-page-navigator/functional-page-navigator.js +2 -1
  148. package/dist/collection/components/functional-page-navigator/functional-page-navigator.js.map +1 -0
  149. package/dist/collection/components/icon/icon.js +61 -56
  150. package/dist/collection/components/icon/icon.js.map +1 -0
  151. package/dist/collection/components/image/image.js +123 -111
  152. package/dist/collection/components/image/image.js.map +1 -0
  153. package/dist/collection/components/input/input.js +310 -293
  154. package/dist/collection/components/input/input.js.map +1 -0
  155. package/dist/collection/components/keyboard-accessory/keyboard-accessory.js +2 -1
  156. package/dist/collection/components/keyboard-accessory/keyboard-accessory.js.map +1 -0
  157. package/dist/collection/components/label/label.js +27 -22
  158. package/dist/collection/components/label/label.js.map +1 -0
  159. package/dist/collection/components/live-player/live-player.js +2 -1
  160. package/dist/collection/components/live-player/live-player.js.map +1 -0
  161. package/dist/collection/components/live-pusher/live-pusher.js +2 -1
  162. package/dist/collection/components/live-pusher/live-pusher.js.map +1 -0
  163. package/dist/collection/components/map/map.js +2 -1
  164. package/dist/collection/components/map/map.js.map +1 -0
  165. package/dist/collection/components/match-media/match-media.js +2 -1
  166. package/dist/collection/components/match-media/match-media.js.map +1 -0
  167. package/dist/collection/components/movable-area/movable-area.js +34 -26
  168. package/dist/collection/components/movable-area/movable-area.js.map +1 -0
  169. package/dist/collection/components/movable-area/movable-view.js +415 -457
  170. package/dist/collection/components/movable-area/movable-view.js.map +1 -0
  171. package/dist/collection/components/navigation-bar/navigation-bar.js +2 -1
  172. package/dist/collection/components/navigation-bar/navigation-bar.js.map +1 -0
  173. package/dist/collection/components/navigator/navigator.js +158 -145
  174. package/dist/collection/components/navigator/navigator.js.map +1 -0
  175. package/dist/collection/components/official-account/official-account.js +2 -1
  176. package/dist/collection/components/official-account/official-account.js.map +1 -0
  177. package/dist/collection/components/open-data/open-data.js +2 -1
  178. package/dist/collection/components/open-data/open-data.js.map +1 -0
  179. package/dist/collection/components/page-container/page-container.js +2 -1
  180. package/dist/collection/components/page-container/page-container.js.map +1 -0
  181. package/dist/collection/components/page-meta/page-meta.js +2 -1
  182. package/dist/collection/components/page-meta/page-meta.js.map +1 -0
  183. package/dist/collection/components/picker/constant.js +1 -0
  184. package/dist/collection/components/picker/constant.js.map +1 -0
  185. package/dist/collection/components/picker/picker-group.js +194 -179
  186. package/dist/collection/components/picker/picker-group.js.map +1 -0
  187. package/dist/collection/components/picker/picker.js +261 -257
  188. package/dist/collection/components/picker/picker.js.map +1 -0
  189. package/dist/collection/components/picker/utils.js +1 -0
  190. package/dist/collection/components/picker/utils.js.map +1 -0
  191. package/dist/collection/components/picker-view/picker-view-column.js +158 -147
  192. package/dist/collection/components/picker-view/picker-view-column.js.map +1 -0
  193. package/dist/collection/components/picker-view/picker-view.js +171 -159
  194. package/dist/collection/components/picker-view/picker-view.js.map +1 -0
  195. package/dist/collection/components/progress/progress.js +153 -157
  196. package/dist/collection/components/progress/progress.js.map +1 -0
  197. package/dist/collection/components/pull-to-refresh/pull-to-refresh.js +121 -114
  198. package/dist/collection/components/pull-to-refresh/pull-to-refresh.js.map +1 -0
  199. package/dist/collection/components/radio/radio-group.js +50 -43
  200. package/dist/collection/components/radio/radio-group.js.map +1 -0
  201. package/dist/collection/components/radio/radio.js +152 -144
  202. package/dist/collection/components/radio/radio.js.map +1 -0
  203. package/dist/collection/components/rich-text/rich-text.js +27 -23
  204. package/dist/collection/components/rich-text/rich-text.js.map +1 -0
  205. package/dist/collection/components/root-portal/root-portal.js +2 -1
  206. package/dist/collection/components/root-portal/root-portal.js.map +1 -0
  207. package/dist/collection/components/scroll-view/scroll-view.js +242 -220
  208. package/dist/collection/components/scroll-view/scroll-view.js.map +1 -0
  209. package/dist/collection/components/share-element/share-element.js +2 -1
  210. package/dist/collection/components/share-element/share-element.js.map +1 -0
  211. package/dist/collection/components/slider/slider.js +267 -263
  212. package/dist/collection/components/slider/slider.js.map +1 -0
  213. package/dist/collection/components/slot/slot.js +2 -5
  214. package/dist/collection/components/slot/slot.js.map +1 -0
  215. package/dist/collection/components/swiper/swiper-item.js +26 -21
  216. package/dist/collection/components/swiper/swiper-item.js.map +1 -0
  217. package/dist/collection/components/swiper/swiper.js +325 -352
  218. package/dist/collection/components/swiper/swiper.js.map +1 -0
  219. package/dist/collection/components/switch/switch.js +153 -139
  220. package/dist/collection/components/switch/switch.js.map +1 -0
  221. package/dist/collection/components/tabbar/tabbar-item.js +2 -6
  222. package/dist/collection/components/tabbar/tabbar-item.js.map +1 -0
  223. package/dist/collection/components/tabbar/tabbar.js +86 -70
  224. package/dist/collection/components/tabbar/tabbar.js.map +1 -0
  225. package/dist/collection/components/text/text.js +35 -30
  226. package/dist/collection/components/text/text.js.map +1 -0
  227. package/dist/collection/components/textarea/textarea.js +239 -226
  228. package/dist/collection/components/textarea/textarea.js.map +1 -0
  229. package/dist/collection/components/video/utils.js +1 -0
  230. package/dist/collection/components/video/utils.js.map +1 -0
  231. package/dist/collection/components/video/video-control.js +274 -286
  232. package/dist/collection/components/video/video-control.js.map +1 -0
  233. package/dist/collection/components/video/video-danmu.js +111 -118
  234. package/dist/collection/components/video/video-danmu.js.map +1 -0
  235. package/dist/collection/components/video/video.js +740 -810
  236. package/dist/collection/components/video/video.js.map +1 -0
  237. package/dist/collection/components/view/view.js +131 -118
  238. package/dist/collection/components/view/view.js.map +1 -0
  239. package/dist/collection/components/voip-room/voip-room.js +2 -1
  240. package/dist/collection/components/voip-room/voip-room.js.map +1 -0
  241. package/dist/collection/components/web-view/web-view.js +68 -57
  242. package/dist/collection/components/web-view/web-view.js.map +1 -0
  243. package/dist/collection/index.js +1 -0
  244. package/dist/collection/index.js.map +1 -0
  245. package/dist/collection/utils/helper.js +1 -0
  246. package/dist/collection/utils/helper.js.map +1 -0
  247. package/dist/collection/utils/index.js +1 -0
  248. package/dist/collection/utils/index.js.map +1 -0
  249. package/dist/collection/utils/style.js +1 -0
  250. package/dist/collection/utils/style.js.map +1 -0
  251. package/dist/collection/utils/url.js +1 -0
  252. package/dist/collection/utils/url.js.map +1 -0
  253. package/dist/esm/helper-3d0ecf0f.js +2 -0
  254. package/dist/esm/helper-3d0ecf0f.js.map +1 -0
  255. package/dist/esm/index-1d8e8acd.js +2 -0
  256. package/dist/esm/index-1d8e8acd.js.map +1 -0
  257. package/dist/esm/{index-8809c729.js → index-5d881caf.js} +477 -234
  258. package/dist/esm/index-5d881caf.js.map +1 -0
  259. package/dist/esm/index-cad8203e.js +2 -0
  260. package/dist/esm/index-cad8203e.js.map +1 -0
  261. package/dist/esm/index.js +2 -0
  262. package/dist/esm/index.js.map +1 -0
  263. package/dist/esm/intersection-observer-8e4c7135.js +2 -0
  264. package/dist/esm/intersection-observer-8e4c7135.js.map +1 -0
  265. package/dist/esm/loader.js +5 -3
  266. package/dist/esm/loader.js.map +1 -0
  267. package/dist/esm/polyfills/css-shim.js +1 -1
  268. package/dist/esm/taro-ad-core.entry.js +4 -2
  269. package/dist/esm/taro-ad-core.entry.js.map +1 -0
  270. package/dist/esm/taro-ad-custom-core.entry.js +4 -2
  271. package/dist/esm/taro-ad-custom-core.entry.js.map +1 -0
  272. package/dist/esm/taro-audio-core.entry.js +5 -2
  273. package/dist/esm/taro-audio-core.entry.js.map +1 -0
  274. package/dist/esm/taro-block-core.entry.js +4 -2
  275. package/dist/esm/taro-block-core.entry.js.map +1 -0
  276. package/dist/esm/taro-button-core.entry.js +7 -2
  277. package/dist/esm/taro-button-core.entry.js.map +1 -0
  278. package/dist/esm/taro-camera-core.entry.js +4 -2
  279. package/dist/esm/taro-camera-core.entry.js.map +1 -0
  280. package/dist/esm/taro-canvas-core.entry.js +6 -3
  281. package/dist/esm/taro-canvas-core.entry.js.map +1 -0
  282. package/dist/esm/taro-checkbox-core_2.entry.js +14 -8
  283. package/dist/esm/taro-checkbox-core_2.entry.js.map +1 -0
  284. package/dist/esm/taro-components.js +5 -3
  285. package/dist/esm/taro-components.js.map +1 -0
  286. package/dist/esm/taro-cover-image-core.entry.js +5 -2
  287. package/dist/esm/taro-cover-image-core.entry.js.map +1 -0
  288. package/dist/esm/taro-cover-view-core.entry.js +7 -3
  289. package/dist/esm/taro-cover-view-core.entry.js.map +1 -0
  290. package/dist/esm/taro-custom-wrapper-core.entry.js +4 -2
  291. package/dist/esm/taro-custom-wrapper-core.entry.js.map +1 -0
  292. package/dist/esm/taro-editor-core.entry.js +4 -2
  293. package/dist/esm/taro-editor-core.entry.js.map +1 -0
  294. package/dist/esm/taro-form-core.entry.js +5 -2
  295. package/dist/esm/taro-form-core.entry.js.map +1 -0
  296. package/dist/esm/taro-functional-page-navigator-core.entry.js +4 -2
  297. package/dist/esm/taro-functional-page-navigator-core.entry.js.map +1 -0
  298. package/dist/esm/taro-icon-core.entry.js +6 -2
  299. package/dist/esm/taro-icon-core.entry.js.map +1 -0
  300. package/dist/esm/taro-image-core.entry.js +5 -2
  301. package/dist/esm/taro-image-core.entry.js.map +1 -0
  302. package/dist/esm/taro-input-core.entry.js +18 -10
  303. package/dist/esm/taro-input-core.entry.js.map +1 -0
  304. package/dist/esm/taro-keyboard-accessory-core.entry.js +4 -2
  305. package/dist/esm/taro-keyboard-accessory-core.entry.js.map +1 -0
  306. package/dist/esm/taro-label-core.entry.js +5 -2
  307. package/dist/esm/taro-label-core.entry.js.map +1 -0
  308. package/dist/esm/taro-live-player-core.entry.js +4 -2
  309. package/dist/esm/taro-live-player-core.entry.js.map +1 -0
  310. package/dist/esm/taro-live-pusher-core.entry.js +4 -2
  311. package/dist/esm/taro-live-pusher-core.entry.js.map +1 -0
  312. package/dist/esm/taro-map-core.entry.js +4 -2
  313. package/dist/esm/taro-map-core.entry.js.map +1 -0
  314. package/dist/esm/taro-match-media-core.entry.js +4 -2
  315. package/dist/esm/taro-match-media-core.entry.js.map +1 -0
  316. package/dist/esm/{taro-movable-view-core.entry.js → taro-movable-area-core_2.entry.js} +187 -98
  317. package/dist/esm/taro-movable-area-core_2.entry.js.map +1 -0
  318. package/dist/esm/taro-navigation-bar-core.entry.js +4 -2
  319. package/dist/esm/taro-navigation-bar-core.entry.js.map +1 -0
  320. package/dist/esm/taro-navigator-core.entry.js +6 -2
  321. package/dist/esm/taro-navigator-core.entry.js.map +1 -0
  322. package/dist/esm/taro-official-account-core.entry.js +4 -2
  323. package/dist/esm/taro-official-account-core.entry.js.map +1 -0
  324. package/dist/esm/taro-open-data-core.entry.js +4 -2
  325. package/dist/esm/taro-open-data-core.entry.js.map +1 -0
  326. package/dist/esm/taro-page-container-core.entry.js +4 -2
  327. package/dist/esm/taro-page-container-core.entry.js.map +1 -0
  328. package/dist/esm/taro-page-meta-core.entry.js +4 -2
  329. package/dist/esm/taro-page-meta-core.entry.js.map +1 -0
  330. package/dist/esm/taro-picker-core_2.entry.js +31 -15
  331. package/dist/esm/taro-picker-core_2.entry.js.map +1 -0
  332. package/dist/esm/{taro-picker-view-core.entry.js → taro-picker-view-column-core_2.entry.js} +97 -3
  333. package/dist/esm/taro-picker-view-column-core_2.entry.js.map +1 -0
  334. package/dist/esm/taro-progress-core.entry.js +7 -5
  335. package/dist/esm/taro-progress-core.entry.js.map +1 -0
  336. package/dist/esm/taro-pull-to-refresh.entry.js +10 -8
  337. package/dist/esm/taro-pull-to-refresh.entry.js.map +1 -0
  338. package/dist/esm/taro-radio-core_2.entry.js +15 -9
  339. package/dist/esm/taro-radio-core_2.entry.js.map +1 -0
  340. package/dist/esm/taro-rich-text-core.entry.js +5 -2
  341. package/dist/esm/taro-rich-text-core.entry.js.map +1 -0
  342. package/dist/esm/taro-root-portal-core.entry.js +4 -2
  343. package/dist/esm/taro-root-portal-core.entry.js.map +1 -0
  344. package/dist/esm/taro-scroll-view-core.entry.js +28 -22
  345. package/dist/esm/taro-scroll-view-core.entry.js.map +1 -0
  346. package/dist/esm/taro-share-element-core.entry.js +4 -2
  347. package/dist/esm/taro-share-element-core.entry.js.map +1 -0
  348. package/dist/esm/taro-slider-core.entry.js +23 -19
  349. package/dist/esm/taro-slider-core.entry.js.map +1 -0
  350. package/dist/esm/taro-slot-core.entry.js +4 -7
  351. package/dist/esm/taro-slot-core.entry.js.map +1 -0
  352. package/dist/esm/taro-swiper-core_2.entry.js +25 -56
  353. package/dist/esm/taro-swiper-core_2.entry.js.map +1 -0
  354. package/dist/esm/taro-switch-core.entry.js +12 -8
  355. package/dist/esm/taro-switch-core.entry.js.map +1 -0
  356. package/dist/esm/taro-tabbar.entry.js +12 -4
  357. package/dist/esm/taro-tabbar.entry.js.map +1 -0
  358. package/dist/esm/taro-text-core.entry.js +4 -2
  359. package/dist/esm/taro-text-core.entry.js.map +1 -0
  360. package/dist/esm/taro-textarea-core.entry.js +13 -8
  361. package/dist/esm/taro-textarea-core.entry.js.map +1 -0
  362. package/dist/esm/taro-video-control_3.entry.js +142 -260
  363. package/dist/esm/taro-video-control_3.entry.js.map +1 -0
  364. package/dist/esm/taro-view-core.entry.js +7 -3
  365. package/dist/esm/taro-view-core.entry.js.map +1 -0
  366. package/dist/esm/taro-voip-room-core.entry.js +4 -2
  367. package/dist/esm/taro-voip-room-core.entry.js.map +1 -0
  368. package/dist/esm/taro-web-view-core.entry.js +5 -2
  369. package/dist/esm/taro-web-view-core.entry.js.map +1 -0
  370. package/dist/esm-es5/helper-3d0ecf0f.js +2 -1
  371. package/dist/esm-es5/helper-3d0ecf0f.js.map +1 -0
  372. package/dist/esm-es5/index-1d8e8acd.js +2 -1
  373. package/dist/esm-es5/index-1d8e8acd.js.map +1 -0
  374. package/dist/esm-es5/index-5d881caf.js +3 -0
  375. package/dist/esm-es5/index-5d881caf.js.map +1 -0
  376. package/dist/esm-es5/index-cad8203e.js +2 -1
  377. package/dist/esm-es5/index-cad8203e.js.map +1 -0
  378. package/dist/esm-es5/index.js +2 -0
  379. package/dist/esm-es5/index.js.map +1 -0
  380. package/dist/esm-es5/intersection-observer-8e4c7135.js +2 -1
  381. package/dist/esm-es5/intersection-observer-8e4c7135.js.map +1 -0
  382. package/dist/esm-es5/loader.js +2 -1
  383. package/dist/esm-es5/loader.js.map +1 -0
  384. package/dist/esm-es5/taro-ad-core.entry.js +2 -1
  385. package/dist/esm-es5/taro-ad-core.entry.js.map +1 -0
  386. package/dist/esm-es5/taro-ad-custom-core.entry.js +2 -1
  387. package/dist/esm-es5/taro-ad-custom-core.entry.js.map +1 -0
  388. package/dist/esm-es5/taro-audio-core.entry.js +2 -1
  389. package/dist/esm-es5/taro-audio-core.entry.js.map +1 -0
  390. package/dist/esm-es5/taro-block-core.entry.js +2 -1
  391. package/dist/esm-es5/taro-block-core.entry.js.map +1 -0
  392. package/dist/esm-es5/taro-button-core.entry.js +2 -1
  393. package/dist/esm-es5/taro-button-core.entry.js.map +1 -0
  394. package/dist/esm-es5/taro-camera-core.entry.js +2 -1
  395. package/dist/esm-es5/taro-camera-core.entry.js.map +1 -0
  396. package/dist/esm-es5/taro-canvas-core.entry.js +2 -1
  397. package/dist/esm-es5/taro-canvas-core.entry.js.map +1 -0
  398. package/dist/esm-es5/taro-checkbox-core_2.entry.js +2 -1
  399. package/dist/esm-es5/taro-checkbox-core_2.entry.js.map +1 -0
  400. package/dist/esm-es5/taro-components.js +2 -1
  401. package/dist/esm-es5/taro-components.js.map +1 -0
  402. package/dist/esm-es5/taro-cover-image-core.entry.js +2 -1
  403. package/dist/esm-es5/taro-cover-image-core.entry.js.map +1 -0
  404. package/dist/esm-es5/taro-cover-view-core.entry.js +2 -1
  405. package/dist/esm-es5/taro-cover-view-core.entry.js.map +1 -0
  406. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +2 -1
  407. package/dist/esm-es5/taro-custom-wrapper-core.entry.js.map +1 -0
  408. package/dist/esm-es5/taro-editor-core.entry.js +2 -1
  409. package/dist/esm-es5/taro-editor-core.entry.js.map +1 -0
  410. package/dist/esm-es5/taro-form-core.entry.js +2 -1
  411. package/dist/esm-es5/taro-form-core.entry.js.map +1 -0
  412. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +2 -1
  413. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js.map +1 -0
  414. package/dist/esm-es5/taro-icon-core.entry.js +2 -1
  415. package/dist/esm-es5/taro-icon-core.entry.js.map +1 -0
  416. package/dist/esm-es5/taro-image-core.entry.js +2 -1
  417. package/dist/esm-es5/taro-image-core.entry.js.map +1 -0
  418. package/dist/esm-es5/taro-input-core.entry.js +2 -1
  419. package/dist/esm-es5/taro-input-core.entry.js.map +1 -0
  420. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +2 -1
  421. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js.map +1 -0
  422. package/dist/esm-es5/taro-label-core.entry.js +2 -1
  423. package/dist/esm-es5/taro-label-core.entry.js.map +1 -0
  424. package/dist/esm-es5/taro-live-player-core.entry.js +2 -1
  425. package/dist/esm-es5/taro-live-player-core.entry.js.map +1 -0
  426. package/dist/esm-es5/taro-live-pusher-core.entry.js +2 -1
  427. package/dist/esm-es5/taro-live-pusher-core.entry.js.map +1 -0
  428. package/dist/esm-es5/taro-map-core.entry.js +2 -1
  429. package/dist/esm-es5/taro-map-core.entry.js.map +1 -0
  430. package/dist/esm-es5/taro-match-media-core.entry.js +2 -1
  431. package/dist/esm-es5/taro-match-media-core.entry.js.map +1 -0
  432. package/dist/esm-es5/taro-movable-area-core_2.entry.js +2 -0
  433. package/dist/esm-es5/taro-movable-area-core_2.entry.js.map +1 -0
  434. package/dist/esm-es5/taro-navigation-bar-core.entry.js +2 -1
  435. package/dist/esm-es5/taro-navigation-bar-core.entry.js.map +1 -0
  436. package/dist/esm-es5/taro-navigator-core.entry.js +2 -1
  437. package/dist/esm-es5/taro-navigator-core.entry.js.map +1 -0
  438. package/dist/esm-es5/taro-official-account-core.entry.js +2 -1
  439. package/dist/esm-es5/taro-official-account-core.entry.js.map +1 -0
  440. package/dist/esm-es5/taro-open-data-core.entry.js +2 -1
  441. package/dist/esm-es5/taro-open-data-core.entry.js.map +1 -0
  442. package/dist/esm-es5/taro-page-container-core.entry.js +2 -1
  443. package/dist/esm-es5/taro-page-container-core.entry.js.map +1 -0
  444. package/dist/esm-es5/taro-page-meta-core.entry.js +2 -1
  445. package/dist/esm-es5/taro-page-meta-core.entry.js.map +1 -0
  446. package/dist/esm-es5/taro-picker-core_2.entry.js +2 -1
  447. package/dist/esm-es5/taro-picker-core_2.entry.js.map +1 -0
  448. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +2 -0
  449. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js.map +1 -0
  450. package/dist/esm-es5/taro-progress-core.entry.js +2 -1
  451. package/dist/esm-es5/taro-progress-core.entry.js.map +1 -0
  452. package/dist/esm-es5/taro-pull-to-refresh.entry.js +2 -1
  453. package/dist/esm-es5/taro-pull-to-refresh.entry.js.map +1 -0
  454. package/dist/esm-es5/taro-radio-core_2.entry.js +2 -1
  455. package/dist/esm-es5/taro-radio-core_2.entry.js.map +1 -0
  456. package/dist/esm-es5/taro-rich-text-core.entry.js +2 -1
  457. package/dist/esm-es5/taro-rich-text-core.entry.js.map +1 -0
  458. package/dist/esm-es5/taro-root-portal-core.entry.js +2 -1
  459. package/dist/esm-es5/taro-root-portal-core.entry.js.map +1 -0
  460. package/dist/esm-es5/taro-scroll-view-core.entry.js +2 -1
  461. package/dist/esm-es5/taro-scroll-view-core.entry.js.map +1 -0
  462. package/dist/esm-es5/taro-share-element-core.entry.js +2 -1
  463. package/dist/esm-es5/taro-share-element-core.entry.js.map +1 -0
  464. package/dist/esm-es5/taro-slider-core.entry.js +2 -1
  465. package/dist/esm-es5/taro-slider-core.entry.js.map +1 -0
  466. package/dist/esm-es5/taro-slot-core.entry.js +2 -1
  467. package/dist/esm-es5/taro-slot-core.entry.js.map +1 -0
  468. package/dist/esm-es5/taro-swiper-core_2.entry.js +2 -1
  469. package/dist/esm-es5/taro-swiper-core_2.entry.js.map +1 -0
  470. package/dist/esm-es5/taro-switch-core.entry.js +2 -1
  471. package/dist/esm-es5/taro-switch-core.entry.js.map +1 -0
  472. package/dist/esm-es5/taro-tabbar.entry.js +2 -1
  473. package/dist/esm-es5/taro-tabbar.entry.js.map +1 -0
  474. package/dist/esm-es5/taro-text-core.entry.js +2 -1
  475. package/dist/esm-es5/taro-text-core.entry.js.map +1 -0
  476. package/dist/esm-es5/taro-textarea-core.entry.js +2 -1
  477. package/dist/esm-es5/taro-textarea-core.entry.js.map +1 -0
  478. package/dist/esm-es5/taro-video-control_3.entry.js +56 -55
  479. package/dist/esm-es5/taro-video-control_3.entry.js.map +1 -0
  480. package/dist/esm-es5/taro-view-core.entry.js +2 -1
  481. package/dist/esm-es5/taro-view-core.entry.js.map +1 -0
  482. package/dist/esm-es5/taro-voip-room-core.entry.js +2 -1
  483. package/dist/esm-es5/taro-voip-room-core.entry.js.map +1 -0
  484. package/dist/esm-es5/taro-web-view-core.entry.js +2 -1
  485. package/dist/esm-es5/taro-web-view-core.entry.js.map +1 -0
  486. package/{dist-h5/react/components → dist/react/component-lib}/index.js +1 -1
  487. package/{dist-h5/react/components → dist/react/component-lib}/input.js +5 -5
  488. package/{dist-h5/react/utils → dist/react/component-lib}/reactify-wc.js +10 -20
  489. package/dist/react/components.js +65 -0
  490. package/dist/react/helper.js +13 -0
  491. package/{dist-h5 → dist}/react/index.js +0 -0
  492. package/dist/react/react-component-lib/index.js +2 -0
  493. package/dist/react/react-component-lib/interfaces.js +1 -0
  494. package/dist/react/react-component-lib/utils/attachProps.js +107 -0
  495. package/dist/react/react-component-lib/utils/case.js +10 -0
  496. package/dist/react/react-component-lib/utils/dev.js +12 -0
  497. package/dist/taro-components/index.esm.js +2 -0
  498. package/dist/taro-components/index.esm.js.map +1 -0
  499. package/dist/taro-components/p-001ef419.system.entry.js +2 -0
  500. package/dist/taro-components/p-001ef419.system.entry.js.map +1 -0
  501. package/dist/taro-components/{p-a94524c9.system.entry.js → p-057159bc.system.entry.js} +2 -1
  502. package/dist/taro-components/p-057159bc.system.entry.js.map +1 -0
  503. package/dist/taro-components/p-07281375.entry.js +2 -0
  504. package/dist/taro-components/p-07281375.entry.js.map +1 -0
  505. package/dist/taro-components/p-0a896bc7.entry.js +2 -0
  506. package/dist/taro-components/p-0a896bc7.entry.js.map +1 -0
  507. package/dist/taro-components/p-0b38e6c7.system.entry.js +2 -0
  508. package/dist/taro-components/p-0b38e6c7.system.entry.js.map +1 -0
  509. package/dist/taro-components/p-0d36ef6b.entry.js +2 -0
  510. package/dist/taro-components/p-0d36ef6b.entry.js.map +1 -0
  511. package/dist/taro-components/{p-f81a74bb.system.entry.js → p-0dfbdfdb.system.entry.js} +82 -81
  512. package/dist/taro-components/p-0dfbdfdb.system.entry.js.map +1 -0
  513. package/dist/taro-components/p-0ee6a068.entry.js +2 -0
  514. package/dist/taro-components/p-0ee6a068.entry.js.map +1 -0
  515. package/dist/taro-components/p-12e4b019.entry.js +2 -0
  516. package/dist/taro-components/p-12e4b019.entry.js.map +1 -0
  517. package/dist/taro-components/p-15dced71.system.entry.js +2 -0
  518. package/dist/taro-components/p-15dced71.system.entry.js.map +1 -0
  519. package/dist/taro-components/p-15e45ed6.system.js +2 -1
  520. package/dist/taro-components/p-15e45ed6.system.js.map +1 -0
  521. package/dist/taro-components/p-17657dca.entry.js +2 -0
  522. package/dist/taro-components/p-17657dca.entry.js.map +1 -0
  523. package/dist/taro-components/p-1b2556e2.system.entry.js +2 -0
  524. package/dist/taro-components/p-1b2556e2.system.entry.js.map +1 -0
  525. package/dist/taro-components/p-1b64d2a2.entry.js +2 -0
  526. package/dist/taro-components/p-1b64d2a2.entry.js.map +1 -0
  527. package/dist/taro-components/p-1bd3d09b.system.entry.js +2 -0
  528. package/dist/taro-components/p-1bd3d09b.system.entry.js.map +1 -0
  529. package/dist/taro-components/p-1cb76199.entry.js +2 -0
  530. package/dist/taro-components/p-1cb76199.entry.js.map +1 -0
  531. package/dist/taro-components/p-1e436d5b.entry.js +2 -0
  532. package/dist/taro-components/p-1e436d5b.entry.js.map +1 -0
  533. package/dist/taro-components/p-2096bc5f.entry.js +2 -0
  534. package/dist/taro-components/p-2096bc5f.entry.js.map +1 -0
  535. package/dist/taro-components/p-20ec6387.entry.js +2 -0
  536. package/dist/taro-components/p-20ec6387.entry.js.map +1 -0
  537. package/dist/taro-components/{p-c5fd5c7f.system.entry.js → p-21b77a13.system.entry.js} +2 -1
  538. package/dist/taro-components/p-21b77a13.system.entry.js.map +1 -0
  539. package/dist/taro-components/p-2243a376.entry.js +2 -0
  540. package/dist/taro-components/p-2243a376.entry.js.map +1 -0
  541. package/dist/taro-components/p-22f9f9fa.entry.js +2 -0
  542. package/dist/taro-components/p-22f9f9fa.entry.js.map +1 -0
  543. package/dist/taro-components/p-2915c2dd.entry.js +2 -0
  544. package/dist/taro-components/p-2915c2dd.entry.js.map +1 -0
  545. package/dist/taro-components/p-29f04296.entry.js +2 -0
  546. package/dist/taro-components/p-29f04296.entry.js.map +1 -0
  547. package/dist/taro-components/{p-3e11c8cc.system.entry.js → p-301a8b85.system.entry.js} +2 -1
  548. package/dist/taro-components/p-301a8b85.system.entry.js.map +1 -0
  549. package/dist/taro-components/p-3b1d2d37.system.js +2 -1
  550. package/dist/taro-components/p-3b1d2d37.system.js.map +1 -0
  551. package/dist/taro-components/p-3b9a1125.entry.js +2 -0
  552. package/dist/taro-components/p-3b9a1125.entry.js.map +1 -0
  553. package/dist/taro-components/p-3c256e0e.entry.js +2 -0
  554. package/dist/taro-components/p-3c256e0e.entry.js.map +1 -0
  555. package/dist/taro-components/p-3e6b29c6.entry.js +2 -0
  556. package/dist/taro-components/p-3e6b29c6.entry.js.map +1 -0
  557. package/dist/taro-components/{p-a63fbc50.system.entry.js → p-439a3349.system.entry.js} +2 -1
  558. package/dist/taro-components/p-439a3349.system.entry.js.map +1 -0
  559. package/dist/taro-components/{p-d075934f.system.entry.js → p-45b6ea0c.system.entry.js} +2 -1
  560. package/dist/taro-components/p-45b6ea0c.system.entry.js.map +1 -0
  561. package/dist/taro-components/p-49a6cae4.system.entry.js +2 -0
  562. package/dist/taro-components/p-49a6cae4.system.entry.js.map +1 -0
  563. package/dist/taro-components/p-4b05e003.entry.js +2 -0
  564. package/dist/taro-components/p-4b05e003.entry.js.map +1 -0
  565. package/dist/taro-components/{p-692d986d.system.entry.js → p-4b27df71.system.entry.js} +2 -1
  566. package/dist/taro-components/p-4b27df71.system.entry.js.map +1 -0
  567. package/dist/taro-components/{p-f7c80795.system.entry.js → p-4fbb8b4c.system.entry.js} +2 -1
  568. package/dist/taro-components/p-4fbb8b4c.system.entry.js.map +1 -0
  569. package/dist/taro-components/p-50ea2036.system.js +2 -1
  570. package/dist/taro-components/p-50ea2036.system.js.map +1 -0
  571. package/dist/taro-components/p-51de23e4.entry.js +366 -0
  572. package/dist/taro-components/p-51de23e4.entry.js.map +1 -0
  573. package/dist/taro-components/p-55519002.entry.js +2 -0
  574. package/dist/taro-components/p-55519002.entry.js.map +1 -0
  575. package/dist/taro-components/p-559bb98a.system.entry.js +2 -0
  576. package/dist/taro-components/p-559bb98a.system.entry.js.map +1 -0
  577. package/dist/taro-components/p-570222e2.entry.js +2 -0
  578. package/dist/taro-components/p-570222e2.entry.js.map +1 -0
  579. package/dist/taro-components/p-5746d7ce.js +2 -1
  580. package/dist/taro-components/p-5746d7ce.js.map +1 -0
  581. package/dist/taro-components/{p-6ad59489.system.entry.js → p-580a72d1.system.entry.js} +2 -1
  582. package/dist/taro-components/p-580a72d1.system.entry.js.map +1 -0
  583. package/dist/taro-components/{p-93eed5d7.system.entry.js → p-59418be7.system.entry.js} +2 -1
  584. package/dist/taro-components/p-59418be7.system.entry.js.map +1 -0
  585. package/dist/taro-components/p-59e02aca.system.entry.js +2 -0
  586. package/dist/taro-components/p-59e02aca.system.entry.js.map +1 -0
  587. package/dist/taro-components/p-5bfefd19.js +3 -0
  588. package/dist/taro-components/p-5bfefd19.js.map +1 -0
  589. package/dist/taro-components/p-61f225ef.system.js +2 -1
  590. package/dist/taro-components/p-61f225ef.system.js.map +1 -0
  591. package/dist/taro-components/p-663d1bb9.system.js +2 -1
  592. package/dist/taro-components/p-663d1bb9.system.js.map +1 -0
  593. package/dist/taro-components/p-6a96da58.js +2 -1
  594. package/dist/taro-components/p-6a96da58.js.map +1 -0
  595. package/dist/taro-components/p-6af8be19.entry.js +2 -0
  596. package/dist/taro-components/p-6af8be19.entry.js.map +1 -0
  597. package/dist/taro-components/p-6ea2995b.entry.js +2 -0
  598. package/dist/taro-components/p-6ea2995b.entry.js.map +1 -0
  599. package/dist/taro-components/p-6f8af69f.entry.js +2 -0
  600. package/dist/taro-components/p-6f8af69f.entry.js.map +1 -0
  601. package/dist/taro-components/{p-f4ea8a56.system.entry.js → p-701b0286.system.entry.js} +2 -1
  602. package/dist/taro-components/p-701b0286.system.entry.js.map +1 -0
  603. package/dist/taro-components/p-72f327e1.js +2 -1
  604. package/dist/taro-components/p-72f327e1.js.map +1 -0
  605. package/dist/taro-components/p-72f626ab.system.entry.js +2 -0
  606. package/dist/taro-components/p-72f626ab.system.entry.js.map +1 -0
  607. package/dist/taro-components/p-76724e58.js +3 -2
  608. package/dist/taro-components/p-76724e58.js.map +1 -0
  609. package/dist/taro-components/{p-13f0b11f.system.entry.js → p-79e9322e.system.entry.js} +2 -1
  610. package/dist/taro-components/p-79e9322e.system.entry.js.map +1 -0
  611. package/dist/taro-components/p-7baff0b4.entry.js +2 -0
  612. package/dist/taro-components/p-7baff0b4.entry.js.map +1 -0
  613. package/dist/taro-components/p-8231e748.entry.js +2 -0
  614. package/dist/taro-components/p-8231e748.entry.js.map +1 -0
  615. package/dist/taro-components/p-825f8dec.system.entry.js +2 -0
  616. package/dist/taro-components/p-825f8dec.system.entry.js.map +1 -0
  617. package/dist/taro-components/{p-07294134.system.entry.js → p-8a3620a6.system.entry.js} +2 -1
  618. package/dist/taro-components/p-8a3620a6.system.entry.js.map +1 -0
  619. package/dist/taro-components/p-8a8f286f.system.js +3 -0
  620. package/dist/taro-components/p-8a8f286f.system.js.map +1 -0
  621. package/dist/taro-components/{p-7e960ac3.system.entry.js → p-8bec95d4.system.entry.js} +2 -1
  622. package/dist/taro-components/p-8bec95d4.system.entry.js.map +1 -0
  623. package/dist/taro-components/{p-e671c8c5.system.entry.js → p-8c8fe164.system.entry.js} +2 -1
  624. package/dist/taro-components/p-8c8fe164.system.entry.js.map +1 -0
  625. package/dist/taro-components/p-8e3c923b.entry.js +2 -0
  626. package/dist/taro-components/p-8e3c923b.entry.js.map +1 -0
  627. package/dist/taro-components/p-93cc7adc.entry.js +2 -0
  628. package/dist/taro-components/p-93cc7adc.entry.js.map +1 -0
  629. package/dist/taro-components/p-946c0799.system.entry.js +2 -0
  630. package/dist/taro-components/p-946c0799.system.entry.js.map +1 -0
  631. package/dist/taro-components/p-96a784f1.entry.js +2 -0
  632. package/dist/taro-components/p-96a784f1.entry.js.map +1 -0
  633. package/dist/taro-components/p-99bbe34a.system.entry.js +2 -0
  634. package/dist/taro-components/p-99bbe34a.system.entry.js.map +1 -0
  635. package/dist/taro-components/{p-075458e5.system.entry.js → p-9f1ca602.system.entry.js} +2 -1
  636. package/dist/taro-components/p-9f1ca602.system.entry.js.map +1 -0
  637. package/dist/taro-components/p-a1ace8c7.system.entry.js +2 -0
  638. package/dist/taro-components/p-a1ace8c7.system.entry.js.map +1 -0
  639. package/dist/taro-components/p-a29509fa.system.entry.js +2 -0
  640. package/dist/taro-components/p-a29509fa.system.entry.js.map +1 -0
  641. package/dist/taro-components/p-a29e3051.entry.js +2 -0
  642. package/dist/taro-components/p-a29e3051.entry.js.map +1 -0
  643. package/dist/taro-components/{p-d4da725f.system.entry.js → p-a6f2dc54.system.entry.js} +2 -1
  644. package/dist/taro-components/p-a6f2dc54.system.entry.js.map +1 -0
  645. package/dist/taro-components/p-ab105c26.entry.js +2 -0
  646. package/dist/taro-components/p-ab105c26.entry.js.map +1 -0
  647. package/dist/taro-components/{p-c93bb915.system.entry.js → p-b04a56bd.system.entry.js} +2 -1
  648. package/dist/taro-components/p-b04a56bd.system.entry.js.map +1 -0
  649. package/dist/taro-components/p-b10cb428.entry.js +2 -0
  650. package/dist/taro-components/p-b10cb428.entry.js.map +1 -0
  651. package/dist/taro-components/{p-d6662ab3.system.entry.js → p-b500c116.system.entry.js} +2 -1
  652. package/dist/taro-components/p-b500c116.system.entry.js.map +1 -0
  653. package/dist/taro-components/p-b832f4e8.entry.js +2 -0
  654. package/dist/taro-components/p-b832f4e8.entry.js.map +1 -0
  655. package/dist/taro-components/p-b90926cc.entry.js +2 -0
  656. package/dist/taro-components/p-b90926cc.entry.js.map +1 -0
  657. package/dist/taro-components/p-ba743573.entry.js +2 -0
  658. package/dist/taro-components/p-ba743573.entry.js.map +1 -0
  659. package/dist/taro-components/p-be3f5ac0.entry.js +2 -0
  660. package/dist/taro-components/p-be3f5ac0.entry.js.map +1 -0
  661. package/dist/taro-components/p-beea63a7.entry.js +2 -0
  662. package/dist/taro-components/p-beea63a7.entry.js.map +1 -0
  663. package/dist/taro-components/{p-b7681c76.system.entry.js → p-c0e3c822.system.entry.js} +2 -1
  664. package/dist/taro-components/p-c0e3c822.system.entry.js.map +1 -0
  665. package/dist/taro-components/p-c3acf0ea.system.entry.js +2 -0
  666. package/dist/taro-components/p-c3acf0ea.system.entry.js.map +1 -0
  667. package/dist/taro-components/p-c3bb8fa6.entry.js +2 -0
  668. package/dist/taro-components/p-c3bb8fa6.entry.js.map +1 -0
  669. package/dist/taro-components/{p-733cc64a.system.entry.js → p-c4cf58af.system.entry.js} +2 -1
  670. package/dist/taro-components/p-c4cf58af.system.entry.js.map +1 -0
  671. package/dist/taro-components/{p-b11aaf69.system.entry.js → p-c5c331bf.system.entry.js} +2 -1
  672. package/dist/taro-components/p-c5c331bf.system.entry.js.map +1 -0
  673. package/dist/taro-components/p-ca64c7d4.system.entry.js +2 -0
  674. package/dist/taro-components/p-ca64c7d4.system.entry.js.map +1 -0
  675. package/dist/taro-components/p-cb17d8bd.system.js +2 -0
  676. package/dist/taro-components/p-cb17d8bd.system.js.map +1 -0
  677. package/dist/taro-components/{p-fc9f4fd7.system.entry.js → p-cbe2436d.system.entry.js} +2 -1
  678. package/dist/taro-components/p-cbe2436d.system.entry.js.map +1 -0
  679. package/dist/taro-components/p-cc506879.entry.js +2 -0
  680. package/dist/taro-components/p-cc506879.entry.js.map +1 -0
  681. package/dist/taro-components/p-cd6a7eea.entry.js +2 -0
  682. package/dist/taro-components/p-cd6a7eea.entry.js.map +1 -0
  683. package/dist/taro-components/p-d4b6f19e.system.entry.js +2 -0
  684. package/dist/taro-components/p-d4b6f19e.system.entry.js.map +1 -0
  685. package/dist/taro-components/p-d5579efa.system.entry.js +2 -0
  686. package/dist/taro-components/p-d5579efa.system.entry.js.map +1 -0
  687. package/dist/taro-components/p-d619f198.system.entry.js +2 -0
  688. package/dist/taro-components/p-d619f198.system.entry.js.map +1 -0
  689. package/dist/taro-components/p-d7ab3e23.system.entry.js +2 -0
  690. package/dist/taro-components/p-d7ab3e23.system.entry.js.map +1 -0
  691. package/dist/taro-components/p-d7f4b10f.entry.js +2 -0
  692. package/dist/taro-components/p-d7f4b10f.entry.js.map +1 -0
  693. package/dist/taro-components/p-d85b216d.entry.js +2 -0
  694. package/dist/taro-components/p-d85b216d.entry.js.map +1 -0
  695. package/dist/taro-components/p-dc75145c.system.entry.js +2 -0
  696. package/dist/taro-components/p-dc75145c.system.entry.js.map +1 -0
  697. package/dist/taro-components/p-de762042.entry.js +2 -0
  698. package/dist/taro-components/p-de762042.entry.js.map +1 -0
  699. package/dist/taro-components/p-df862d0c.entry.js +2 -0
  700. package/dist/taro-components/p-df862d0c.entry.js.map +1 -0
  701. package/dist/taro-components/p-e0d6b00b.entry.js +2 -0
  702. package/dist/taro-components/p-e0d6b00b.entry.js.map +1 -0
  703. package/dist/taro-components/p-e25653b4.system.entry.js +2 -0
  704. package/dist/taro-components/p-e25653b4.system.entry.js.map +1 -0
  705. package/dist/taro-components/p-e528e0ff.system.entry.js +2 -0
  706. package/dist/taro-components/p-e528e0ff.system.entry.js.map +1 -0
  707. package/dist/taro-components/p-e59f999e.entry.js +2 -0
  708. package/dist/taro-components/p-e59f999e.entry.js.map +1 -0
  709. package/dist/taro-components/p-e7239faa.system.entry.js +2 -0
  710. package/dist/taro-components/p-e7239faa.system.entry.js.map +1 -0
  711. package/dist/taro-components/p-e98c07c3.system.entry.js +2 -0
  712. package/dist/taro-components/p-e98c07c3.system.entry.js.map +1 -0
  713. package/dist/taro-components/p-e9abe3e2.entry.js +2 -0
  714. package/dist/taro-components/p-e9abe3e2.entry.js.map +1 -0
  715. package/dist/taro-components/{p-8e2b048e.system.entry.js → p-f0d0160d.system.entry.js} +2 -1
  716. package/dist/taro-components/p-f0d0160d.system.entry.js.map +1 -0
  717. package/dist/taro-components/p-f273ee4e.entry.js +2 -0
  718. package/dist/taro-components/p-f273ee4e.entry.js.map +1 -0
  719. package/dist/taro-components/{p-f2803c2e.system.entry.js → p-f2c75971.system.entry.js} +2 -1
  720. package/dist/taro-components/p-f2c75971.system.entry.js.map +1 -0
  721. package/dist/taro-components/p-fc1fe388.entry.js +2 -0
  722. package/dist/taro-components/p-fc1fe388.entry.js.map +1 -0
  723. package/dist/taro-components/taro-components.esm.js +2 -1
  724. package/dist/taro-components/taro-components.esm.js.map +1 -0
  725. package/dist/taro-components/taro-components.js +2 -1
  726. package/dist/types/components/input/input.d.ts +1 -1
  727. package/dist/types/components/movable-area/movable-view.d.ts +3 -3
  728. package/dist/types/components/progress/progress.d.ts +1 -1
  729. package/dist/types/components/radio/radio.d.ts +2 -2
  730. package/dist/types/components/scroll-view/scroll-view.d.ts +1 -1
  731. package/dist/types/components/slot/slot.d.ts +0 -1
  732. package/dist/types/components/video/utils.d.ts +1 -1
  733. package/dist/types/components.d.ts +176 -68
  734. package/dist/types/stencil-public-runtime.d.ts +20 -4
  735. package/{dist-h5/vue/components/index.js → dist/vue2/component-lib/components.js} +0 -0
  736. package/{dist-h5/vue → dist/vue2/component-lib}/createComponent.js +0 -0
  737. package/{dist-h5/vue → dist/vue2/component-lib}/createFormsComponent.js +0 -0
  738. package/{dist-h5/vue/components → dist/vue2/component-lib}/icon.js +2 -2
  739. package/{dist-h5/vue/components → dist/vue2/component-lib}/image.js +2 -2
  740. package/{dist-h5/vue → dist/vue2/component-lib}/index.js +4 -3
  741. package/{dist-h5/vue → dist/vue2/component-lib}/mixins/listeners.js +0 -0
  742. package/{dist-h5/vue → dist/vue2/component-lib}/mixins/refs.js +0 -0
  743. package/{dist-h5/vue/components → dist/vue2/component-lib}/picker.js +2 -2
  744. package/{dist-h5/vue/components → dist/vue2/component-lib}/scroll-view.js +2 -2
  745. package/{dist-h5/vue/components → dist/vue2/component-lib}/text.js +2 -2
  746. package/dist/vue2/components.js +479 -0
  747. package/dist/vue2/index.js +26 -0
  748. package/dist/vue2/vue-component-lib/utils.js +45 -0
  749. package/{dist-h5/vue3 → dist/vue3/component-lib}/createComponent.js +1 -1
  750. package/{dist-h5/vue3 → dist/vue3/component-lib}/createFormsComponent.js +0 -0
  751. package/{dist-h5/vue3 → dist/vue3/component-lib}/forwardRef.js +0 -0
  752. package/{dist-h5/vue3/components → dist/vue3/component-lib}/icon.js +2 -2
  753. package/{dist-h5/vue3/components → dist/vue3/component-lib}/image.js +2 -2
  754. package/{dist-h5/vue3/components → dist/vue3/component-lib}/index.js +2 -2
  755. package/{dist-h5/vue3/components → dist/vue3/component-lib}/scroll-view.js +2 -2
  756. package/{dist-h5/vue3/components → dist/vue3/component-lib}/text.js +2 -2
  757. package/dist/vue3/components.js +64 -0
  758. package/{dist-h5 → dist}/vue3/index.js +0 -0
  759. package/dist/vue3/vue-component-lib/utils.js +201 -0
  760. package/loader/package.json +1 -0
  761. package/package.json +23 -22
  762. package/types/Input.d.ts +3 -1
  763. package/dist/cjs/taro-movable-area-core.cjs.entry.js +0 -157
  764. package/dist/cjs/taro-picker-view-column-core.cjs.entry.js +0 -95
  765. package/dist/esm/taro-movable-area-core.entry.js +0 -153
  766. package/dist/esm/taro-picker-view-column-core.entry.js +0 -91
  767. package/dist/esm-es5/index-8809c729.js +0 -1
  768. package/dist/esm-es5/taro-movable-area-core.entry.js +0 -1
  769. package/dist/esm-es5/taro-movable-view-core.entry.js +0 -1
  770. package/dist/esm-es5/taro-picker-view-column-core.entry.js +0 -1
  771. package/dist/esm-es5/taro-picker-view-core.entry.js +0 -1
  772. package/dist/taro-components/p-028e2728.entry.js +0 -1
  773. package/dist/taro-components/p-0380841f.system.js +0 -1
  774. package/dist/taro-components/p-059912fd.js +0 -1
  775. package/dist/taro-components/p-06178a0c.entry.js +0 -1
  776. package/dist/taro-components/p-06e6864b.system.entry.js +0 -1
  777. package/dist/taro-components/p-10c47df8.system.entry.js +0 -1
  778. package/dist/taro-components/p-232ebfae.system.entry.js +0 -1
  779. package/dist/taro-components/p-25df0ce9.entry.js +0 -1
  780. package/dist/taro-components/p-27126803.system.entry.js +0 -1
  781. package/dist/taro-components/p-275d883f.system.entry.js +0 -1
  782. package/dist/taro-components/p-27c80869.system.entry.js +0 -1
  783. package/dist/taro-components/p-2ec47545.entry.js +0 -1
  784. package/dist/taro-components/p-3255f11f.system.entry.js +0 -1
  785. package/dist/taro-components/p-362998cf.entry.js +0 -1
  786. package/dist/taro-components/p-3744e978.entry.js +0 -365
  787. package/dist/taro-components/p-3c6090fd.entry.js +0 -1
  788. package/dist/taro-components/p-42630f45.entry.js +0 -1
  789. package/dist/taro-components/p-44398c17.system.entry.js +0 -1
  790. package/dist/taro-components/p-44cbb351.system.js +0 -1
  791. package/dist/taro-components/p-4ada10aa.entry.js +0 -1
  792. package/dist/taro-components/p-4cf436f9.entry.js +0 -1
  793. package/dist/taro-components/p-4d826fb7.entry.js +0 -1
  794. package/dist/taro-components/p-55266a1f.entry.js +0 -1
  795. package/dist/taro-components/p-56c86512.entry.js +0 -1
  796. package/dist/taro-components/p-5733124c.entry.js +0 -1
  797. package/dist/taro-components/p-57a2a441.entry.js +0 -1
  798. package/dist/taro-components/p-59d93770.entry.js +0 -1
  799. package/dist/taro-components/p-5a2305e7.entry.js +0 -1
  800. package/dist/taro-components/p-5a374cb9.entry.js +0 -1
  801. package/dist/taro-components/p-5c87902f.system.entry.js +0 -1
  802. package/dist/taro-components/p-5e223bab.system.entry.js +0 -1
  803. package/dist/taro-components/p-5f18259d.system.entry.js +0 -1
  804. package/dist/taro-components/p-62fc514e.entry.js +0 -1
  805. package/dist/taro-components/p-63a0c6b0.entry.js +0 -1
  806. package/dist/taro-components/p-64447f5a.system.entry.js +0 -1
  807. package/dist/taro-components/p-67222d90.system.entry.js +0 -1
  808. package/dist/taro-components/p-6800ac6f.entry.js +0 -1
  809. package/dist/taro-components/p-6aa557f0.entry.js +0 -1
  810. package/dist/taro-components/p-72f858e4.entry.js +0 -1
  811. package/dist/taro-components/p-7374537f.entry.js +0 -1
  812. package/dist/taro-components/p-7407013d.entry.js +0 -1
  813. package/dist/taro-components/p-7d329ab0.entry.js +0 -1
  814. package/dist/taro-components/p-7f93fa08.entry.js +0 -1
  815. package/dist/taro-components/p-82661d45.system.entry.js +0 -1
  816. package/dist/taro-components/p-8475421b.system.entry.js +0 -1
  817. package/dist/taro-components/p-8788dc46.system.entry.js +0 -1
  818. package/dist/taro-components/p-886571e5.entry.js +0 -1
  819. package/dist/taro-components/p-888fac99.entry.js +0 -1
  820. package/dist/taro-components/p-8aea3de3.entry.js +0 -1
  821. package/dist/taro-components/p-8c8be53b.entry.js +0 -1
  822. package/dist/taro-components/p-8cf86f31.system.entry.js +0 -1
  823. package/dist/taro-components/p-9234cc1d.entry.js +0 -1
  824. package/dist/taro-components/p-92699438.entry.js +0 -1
  825. package/dist/taro-components/p-9a0e70b1.entry.js +0 -1
  826. package/dist/taro-components/p-9afbb423.system.entry.js +0 -1
  827. package/dist/taro-components/p-9b39a940.entry.js +0 -1
  828. package/dist/taro-components/p-9e1572c5.system.entry.js +0 -1
  829. package/dist/taro-components/p-ab1256fe.entry.js +0 -1
  830. package/dist/taro-components/p-ad6ad7e3.system.entry.js +0 -1
  831. package/dist/taro-components/p-afbcd093.entry.js +0 -1
  832. package/dist/taro-components/p-b1ae9401.entry.js +0 -1
  833. package/dist/taro-components/p-b2800ccd.entry.js +0 -1
  834. package/dist/taro-components/p-b3b677fc.entry.js +0 -1
  835. package/dist/taro-components/p-b3d961f9.system.entry.js +0 -1
  836. package/dist/taro-components/p-b60820b4.entry.js +0 -1
  837. package/dist/taro-components/p-b7639674.entry.js +0 -1
  838. package/dist/taro-components/p-b7ac0b7f.system.entry.js +0 -1
  839. package/dist/taro-components/p-b9903f15.system.entry.js +0 -1
  840. package/dist/taro-components/p-bd706d39.entry.js +0 -1
  841. package/dist/taro-components/p-c92bafb6.system.entry.js +0 -1
  842. package/dist/taro-components/p-cf048af9.entry.js +0 -1
  843. package/dist/taro-components/p-d5f3080c.entry.js +0 -1
  844. package/dist/taro-components/p-df3b544a.system.entry.js +0 -1
  845. package/dist/taro-components/p-dff55efd.entry.js +0 -1
  846. package/dist/taro-components/p-eec00033.entry.js +0 -1
  847. package/dist/taro-components/p-eeed74e3.system.entry.js +0 -1
  848. package/dist/taro-components/p-ef006b23.entry.js +0 -1
  849. package/dist/taro-components/p-f5f1c3b7.system.entry.js +0 -1
  850. package/dist/taro-components/p-fa2a9bab.entry.js +0 -1
  851. package/dist/taro-components/p-fec6ac36.entry.js +0 -1
  852. package/dist/taro-components/p-ff84986d.entry.js +0 -1
  853. package/dist/taro-components/p-ffefd74f.entry.js +0 -1
@@ -1,44 +1,44 @@
1
- var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,a,n,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(e){return function(t){return l([e,t])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(r)try{if(i=1,a&&(n=s[0]&2?a["return"]:s[0]?a["throw"]||((n=a["return"])&&n.call(a),0):a.next)&&!(n=n.call(a,s[1])).done)return n;if(a=0,n)s=[s[0]&2,n.value];switch(s[0]){case 0:case 1:n=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;a=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(n=r.trys,n=n.length>0&&n[n.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!n||s[1]>n[0]&&s[1]<n[3])){r.label=s[1];break}if(s[0]===6&&r.label<n[1]){r.label=n[1];n=s;break}if(n&&r.label<n[2]){r.label=n[2];r.ops.push(s);break}if(n[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e];a=0}finally{i=n=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t){for(var r=0,i=t.length,a=e.length;r<i;r++,a++)e[a]=t[r];return e};import{r as registerInstance,h,H as Host,g as getElement,c as createEvent}from"./index-8809c729.js";import{a as createCommonjsModule,b as commonjsGlobal,g as getDefaultExportFromCjs,c as classnames}from"./index-1d8e8acd.js";import{t as throttle}from"./index-cad8203e.js";var formatTime=function(e){if(!e)return"";var t=Math.round(e%60);var r=Math.round((e-t)/60);return(r<10?"0"+r:r)+":"+(t<10?"0"+t:t)};var calcDist=function(e,t){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2))};var normalizeNumber=function(e){return Math.max(-1,Math.min(e,1))};var scene="default";var screenFn=function(){var e;var t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];var r=["webkitEnterFullscreen","webkitExitFullscreen","webkitCurrentFullScreenElement","webkitSupportsFullscreen","fullscreenchange","fullscreenerror"];var i=0;var a=t.length;var n={};for(;i<a;i++){e=t[i];if(e&&e[1]in document){for(i=0;i<e.length;i++){n[t[0][i]]=e[i]}return n}}if(!n[t[0][0]]){scene="iOS";for(i=0;i<r.length;i++){n[t[0][i]]=r[i]}}return n}();var isHls=function(e){return/\.(m3u8)($|\?)/i.test(e)};var __awaiter$2=undefined&&undefined.__awaiter||function(e,t,r,i){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function o(e){try{l(i["throw"](e))}catch(e){n(e)}}function l(e){e.done?r(e.value):a(e.value).then(s,o)}l((i=i.apply(e,t||[])).next())}))};var VideoControl=function(){function e(e){var t=this;registerInstance(this,e);this.visible=false;this.isDraggingProgressBall=false;this.percentage=0;this.progressDimensions={left:0,width:0};this.calcPercentage=function(e){var r=e-t.progressDimensions.left;r=Math.max(r,0);r=Math.min(r,t.progressDimensions.width);return r/t.progressDimensions.width};this.onDragProgressBallStart=function(){t.isDraggingProgressBall=true;t.hideControlsTimer&&clearTimeout(t.hideControlsTimer)};this.onClickProgress=function(e){e.stopPropagation();var r=t.calcPercentage(e.pageX);t.seekFunc(r*t.duration);t.toggleVisibility(true)}}e.prototype.onDocumentTouchMove=function(e){if(!this.isDraggingProgressBall)return;var t=e.touches[0].pageX;this.percentage=this.calcPercentage(t);this.setProgressBall(this.percentage);this.setCurrentTime(this.percentage*this.duration)};e.prototype.onDocumentTouchEnd=function(){if(!this.isDraggingProgressBall)return;this.isDraggingProgressBall=false;this.seekFunc(this.percentage*this.duration);this.toggleVisibility(true)};e.prototype.setProgressBall=function(e){return __awaiter$2(this,void 0,void 0,(function(){return __generator(this,(function(t){if(this.progressBallRef){this.progressBallRef.style.left=e*100+"%"}return[2]}))}))};e.prototype.toggleVisibility=function(e){return __awaiter$2(this,void 0,void 0,(function(){var t;var r=this;return __generator(this,(function(i){t=e===undefined?!this.visible:e;if(t){this.hideControlsTimer&&clearTimeout(this.hideControlsTimer);if(this.isPlaying){this.hideControlsTimer=setTimeout((function(){r.toggleVisibility(false)}),2e3)}this.el.style.visibility="visible"}else{this.el.style.visibility="hidden"}this.visible=!!t;return[2]}))}))};e.prototype.getIsDraggingProgressBall=function(){return __awaiter$2(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.isDraggingProgressBall]}))}))};e.prototype.setCurrentTime=function(e){return __awaiter$2(this,void 0,void 0,(function(){return __generator(this,(function(t){this.currentTimeRef.innerHTML=formatTime(e);return[2]}))}))};e.prototype.render=function(){var e=this;var t=this,r=t.controls,i=t.currentTime,a=t.duration,n=t.isPlaying,s=t.pauseFunc,o=t.playFunc,l=t.showPlayBtn,u=t.showProgress;var f=formatTime(a);var c;if(!l){c=null}else if(n){c=h("div",{class:"taro-video-control-button taro-video-control-button-pause",onClick:s})}else{c=h("div",{class:"taro-video-control-button taro-video-control-button-play",onClick:o})}return h(Host,{class:"taro-video-bar taro-video-bar-full"},r&&h("div",{class:"taro-video-controls"},c,u&&h("div",{class:"taro-video-current-time",ref:function(t){return e.currentTimeRef=t}},formatTime(i)),u&&h("div",{class:"taro-video-progress-container",onClick:this.onClickProgress},h("div",{class:"taro-video-progress",ref:function(t){if(!t)return;var r=t.getBoundingClientRect();e.progressDimensions.left=r.left;e.progressDimensions.width=r.width}},h("div",{class:"taro-video-progress-buffered",style:{width:"100%"}}),h("div",{class:"taro-video-ball",ref:function(t){return e.progressBallRef=t},onTouchStart:this.onDragProgressBallStart,style:{left:(f?this.currentTime/a*100:0)+"%"}},h("div",{class:"taro-video-inner"})))),u&&h("div",{class:"taro-video-duration"},f)),h("slot",null))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();var hls=createCommonjsModule((function(e,t){typeof window!=="undefined"&&function t(r,i){e.exports=i()}(commonjsGlobal,(function(){return function(e){var t={};function r(i){if(t[i]){return t[i].exports}var a=t[i]={i:i,l:false,exports:{}};e[i].call(a.exports,a,a.exports,r);a.l=true;return a.exports}r.m=e;r.c=t;r.d=function(e,t,i){if(!r.o(e,t)){Object.defineProperty(e,t,{enumerable:true,get:i})}};r.r=function(e){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})};r.t=function(e,t){if(t&1)e=r(e);if(t&8)return e;if(t&4&&typeof e==="object"&&e&&e.__esModule)return e;var i=Object.create(null);r.r(i);Object.defineProperty(i,"default",{enumerable:true,value:e});if(t&2&&typeof e!="string")for(var a in e)r.d(i,a,function(t){return e[t]}.bind(null,a));return i};r.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};r.d(t,"a",t);return t};r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.p="/dist/";return r(r.s="./src/hls.ts")}({"./node_modules/eventemitter3/index.js":
1
+ var __awaiter=this&&this.__awaiter||function(e,t,r,i){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function o(e){try{l(i["throw"](e))}catch(e){n(e)}}function l(e){e.done?r(e.value):a(e.value).then(s,o)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,a,n,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(e){return function(t){return l([e,t])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(r)try{if(i=1,a&&(n=s[0]&2?a["return"]:s[0]?a["throw"]||((n=a["return"])&&n.call(a),0):a.next)&&!(n=n.call(a,s[1])).done)return n;if(a=0,n)s=[s[0]&2,n.value];switch(s[0]){case 0:case 1:n=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;a=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(n=r.trys,n=n.length>0&&n[n.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!n||s[1]>n[0]&&s[1]<n[3])){r.label=s[1];break}if(s[0]===6&&r.label<n[1]){r.label=n[1];n=s;break}if(n&&r.label<n[2]){r.label=n[2];r.ops.push(s);break}if(n[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e];a=0}finally{i=n=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var i=0,a=t.length,n;i<a;i++){if(n||!(i in t)){if(!n)n=Array.prototype.slice.call(t,0,i);n[i]=t[i]}}return e.concat(n||Array.prototype.slice.call(t))};import{r as registerInstance,h,H as Host,g as getElement,c as createEvent}from"./index-5d881caf.js";import{a as createCommonjsModule,b as commonjsGlobal,g as getDefaultExportFromCjs,c as classnames}from"./index-1d8e8acd.js";import{t as throttle}from"./index-cad8203e.js";var formatTime=function(e){if(!e)return"";var t=Math.round(e%60);var r=Math.round((e-t)/60);return"".concat(r<10?"0".concat(r):r,":").concat(t<10?"0".concat(t):t)};var calcDist=function(e,t){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2))};var normalizeNumber=function(e){return Math.max(-1,Math.min(e,1))};var scene="default";var screenFn=function(){var e;var t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];var r=["webkitEnterFullscreen","webkitExitFullscreen","webkitCurrentFullScreenElement","webkitSupportsFullscreen","fullscreenchange","fullscreenerror"];var i=0;var a=t.length;var n={};for(;i<a;i++){e=t[i];if(e&&e[1]in document){for(i=0;i<e.length;i++){n[t[0][i]]=e[i]}return n}}if(!n[t[0][0]]){scene="iOS";for(i=0;i<r.length;i++){n[t[0][i]]=r[i]}}return n}();var isHls=function(e){return/\.(m3u8)($|\?)/i.test(e)};var VideoControl=function(){function e(e){var t=this;registerInstance(this,e);this.visible=false;this.isDraggingProgressBall=false;this.percentage=0;this.progressDimensions={left:0,width:0};this.calcPercentage=function(e){var r=e-t.progressDimensions.left;r=Math.max(r,0);r=Math.min(r,t.progressDimensions.width);return r/t.progressDimensions.width};this.onDragProgressBallStart=function(){t.isDraggingProgressBall=true;t.hideControlsTimer&&clearTimeout(t.hideControlsTimer)};this.onClickProgress=function(e){e.stopPropagation();var r=t.calcPercentage(e.pageX);t.seekFunc(r*t.duration);t.toggleVisibility(true)};this.controls=undefined;this.currentTime=undefined;this.duration=undefined;this.isPlaying=undefined;this.pauseFunc=undefined;this.playFunc=undefined;this.seekFunc=undefined;this.showPlayBtn=undefined;this.showProgress=undefined}e.prototype.onDocumentTouchMove=function(e){if(!this.isDraggingProgressBall)return;var t=e.touches[0].pageX;this.percentage=this.calcPercentage(t);this.setProgressBall(this.percentage);this.setCurrentTime(this.percentage*this.duration)};e.prototype.onDocumentTouchEnd=function(){if(!this.isDraggingProgressBall)return;this.isDraggingProgressBall=false;this.seekFunc(this.percentage*this.duration);this.toggleVisibility(true)};e.prototype.setProgressBall=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(this.progressBallRef){this.progressBallRef.style.left="".concat(e*100,"%")}return[2]}))}))};e.prototype.toggleVisibility=function(e){return __awaiter(this,void 0,void 0,(function(){var t;var r=this;return __generator(this,(function(i){t=e===undefined?!this.visible:e;if(t){this.hideControlsTimer&&clearTimeout(this.hideControlsTimer);if(this.isPlaying){this.hideControlsTimer=setTimeout((function(){r.toggleVisibility(false)}),2e3)}this.el.style.visibility="visible"}else{this.el.style.visibility="hidden"}this.visible=!!t;return[2]}))}))};e.prototype.getIsDraggingProgressBall=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.isDraggingProgressBall]}))}))};e.prototype.setCurrentTime=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.currentTimeRef.innerHTML=formatTime(e);return[2]}))}))};e.prototype.render=function(){var e=this;var t=this,r=t.controls,i=t.currentTime,a=t.duration,n=t.isPlaying,s=t.pauseFunc,o=t.playFunc,l=t.showPlayBtn,u=t.showProgress;var f=formatTime(a);var d;if(!l){d=null}else if(n){d=h("div",{class:"taro-video-control-button taro-video-control-button-pause",onClick:s})}else{d=h("div",{class:"taro-video-control-button taro-video-control-button-play",onClick:o})}return h(Host,{class:"taro-video-bar taro-video-bar-full"},r&&h("div",{class:"taro-video-controls"},d,u&&h("div",{class:"taro-video-current-time",ref:function(t){return e.currentTimeRef=t}},formatTime(i)),u&&h("div",{class:"taro-video-progress-container",onClick:this.onClickProgress},h("div",{class:"taro-video-progress",ref:function(t){if(!t)return;var r=t.getBoundingClientRect();e.progressDimensions.left=r.left;e.progressDimensions.width=r.width}},h("div",{class:"taro-video-progress-buffered",style:{width:"100%"}}),h("div",{class:"taro-video-ball",ref:function(t){return e.progressBallRef=t},onTouchStart:this.onDragProgressBallStart,style:{left:"".concat(f?this.currentTime/a*100:0,"%")}},h("div",{class:"taro-video-inner"})))),u&&h("div",{class:"taro-video-duration"},f)),h("slot",null))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();var hls=createCommonjsModule((function(e,t){typeof window!=="undefined"&&function t(r,i){e.exports=i()}(commonjsGlobal,(function(){return function(e){var t={};function r(i){if(t[i]){return t[i].exports}var a=t[i]={i:i,l:false,exports:{}};e[i].call(a.exports,a,a.exports,r);a.l=true;return a.exports}r.m=e;r.c=t;r.d=function(e,t,i){if(!r.o(e,t)){Object.defineProperty(e,t,{enumerable:true,get:i})}};r.r=function(e){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})};r.t=function(e,t){if(t&1)e=r(e);if(t&8)return e;if(t&4&&typeof e==="object"&&e&&e.__esModule)return e;var i=Object.create(null);r.r(i);Object.defineProperty(i,"default",{enumerable:true,value:e});if(t&2&&typeof e!="string")for(var a in e)r.d(i,a,function(t){return e[t]}.bind(null,a));return i};r.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};r.d(t,"a",t);return t};r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.p="/dist/";return r(r.s="./src/hls.ts")}({"./node_modules/eventemitter3/index.js":
2
2
  /*!*********************************************!*\
3
3
  !*** ./node_modules/eventemitter3/index.js ***!
4
4
  \*********************************************/
5
- /*! no static exports found */function(e,t,r){var i=Object.prototype.hasOwnProperty,a="~";function n(){}if(Object.create){n.prototype=Object.create(null);if(!(new n).__proto__)a=false}function s(e,t,r){this.fn=e;this.context=t;this.once=r||false}function o(e,t,r,i,n){if(typeof r!=="function"){throw new TypeError("The listener must be a function")}var o=new s(r,i||e,n),l=a?a+t:t;if(!e._events[l])e._events[l]=o,e._eventsCount++;else if(!e._events[l].fn)e._events[l].push(o);else e._events[l]=[e._events[l],o];return e}function l(e,t){if(--e._eventsCount===0)e._events=new n;else delete e._events[t]}function u(){this._events=new n;this._eventsCount=0}u.prototype.eventNames=function e(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events){if(i.call(r,n))t.push(a?n.slice(1):n)}if(Object.getOwnPropertySymbols){return t.concat(Object.getOwnPropertySymbols(r))}return t};u.prototype.listeners=function e(t){var r=a?a+t:t,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n<s;n++){o[n]=i[n].fn}return o};u.prototype.listenerCount=function e(t){var r=a?a+t:t,i=this._events[r];if(!i)return 0;if(i.fn)return 1;return i.length};u.prototype.emit=function e(t,r,i,n,s,o){var l=a?a+t:t;if(!this._events[l])return false;var u=this._events[l],f=arguments.length,c,d;if(u.fn){if(u.once)this.removeListener(t,u.fn,undefined,true);switch(f){case 1:return u.fn.call(u.context),true;case 2:return u.fn.call(u.context,r),true;case 3:return u.fn.call(u.context,r,i),true;case 4:return u.fn.call(u.context,r,i,n),true;case 5:return u.fn.call(u.context,r,i,n,s),true;case 6:return u.fn.call(u.context,r,i,n,s,o),true}for(d=1,c=new Array(f-1);d<f;d++){c[d-1]=arguments[d]}u.fn.apply(u.context,c)}else{var h=u.length,v;for(d=0;d<h;d++){if(u[d].once)this.removeListener(t,u[d].fn,undefined,true);switch(f){case 1:u[d].fn.call(u[d].context);break;case 2:u[d].fn.call(u[d].context,r);break;case 3:u[d].fn.call(u[d].context,r,i);break;case 4:u[d].fn.call(u[d].context,r,i,n);break;default:if(!c)for(v=1,c=new Array(f-1);v<f;v++){c[v-1]=arguments[v]}u[d].fn.apply(u[d].context,c)}}}return true};u.prototype.on=function e(t,r,i){return o(this,t,r,i,false)};u.prototype.once=function e(t,r,i){return o(this,t,r,i,true)};u.prototype.removeListener=function e(t,r,i,n){var s=a?a+t:t;if(!this._events[s])return this;if(!r){l(this,s);return this}var o=this._events[s];if(o.fn){if(o.fn===r&&(!n||o.once)&&(!i||o.context===i)){l(this,s)}}else{for(var u=0,f=[],c=o.length;u<c;u++){if(o[u].fn!==r||n&&!o[u].once||i&&o[u].context!==i){f.push(o[u])}}if(f.length)this._events[s]=f.length===1?f[0]:f;else l(this,s)}return this};u.prototype.removeAllListeners=function e(t){var r;if(t){r=a?a+t:t;if(this._events[r])l(this,r)}else{this._events=new n;this._eventsCount=0}return this};u.prototype.off=u.prototype.removeListener;u.prototype.addListener=u.prototype.on;u.prefixed=a;u.EventEmitter=u;{e.exports=u}},"./node_modules/url-toolkit/src/url-toolkit.js":
5
+ /*! no static exports found */function(e,t,r){var i=Object.prototype.hasOwnProperty,a="~";function n(){}if(Object.create){n.prototype=Object.create(null);if(!(new n).__proto__)a=false}function s(e,t,r){this.fn=e;this.context=t;this.once=r||false}function o(e,t,r,i,n){if(typeof r!=="function"){throw new TypeError("The listener must be a function")}var o=new s(r,i||e,n),l=a?a+t:t;if(!e._events[l])e._events[l]=o,e._eventsCount++;else if(!e._events[l].fn)e._events[l].push(o);else e._events[l]=[e._events[l],o];return e}function l(e,t){if(--e._eventsCount===0)e._events=new n;else delete e._events[t]}function u(){this._events=new n;this._eventsCount=0}u.prototype.eventNames=function e(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events){if(i.call(r,n))t.push(a?n.slice(1):n)}if(Object.getOwnPropertySymbols){return t.concat(Object.getOwnPropertySymbols(r))}return t};u.prototype.listeners=function e(t){var r=a?a+t:t,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n<s;n++){o[n]=i[n].fn}return o};u.prototype.listenerCount=function e(t){var r=a?a+t:t,i=this._events[r];if(!i)return 0;if(i.fn)return 1;return i.length};u.prototype.emit=function e(t,r,i,n,s,o){var l=a?a+t:t;if(!this._events[l])return false;var u=this._events[l],f=arguments.length,d,c;if(u.fn){if(u.once)this.removeListener(t,u.fn,undefined,true);switch(f){case 1:return u.fn.call(u.context),true;case 2:return u.fn.call(u.context,r),true;case 3:return u.fn.call(u.context,r,i),true;case 4:return u.fn.call(u.context,r,i,n),true;case 5:return u.fn.call(u.context,r,i,n,s),true;case 6:return u.fn.call(u.context,r,i,n,s,o),true}for(c=1,d=new Array(f-1);c<f;c++){d[c-1]=arguments[c]}u.fn.apply(u.context,d)}else{var h=u.length,v;for(c=0;c<h;c++){if(u[c].once)this.removeListener(t,u[c].fn,undefined,true);switch(f){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,r);break;case 3:u[c].fn.call(u[c].context,r,i);break;case 4:u[c].fn.call(u[c].context,r,i,n);break;default:if(!d)for(v=1,d=new Array(f-1);v<f;v++){d[v-1]=arguments[v]}u[c].fn.apply(u[c].context,d)}}}return true};u.prototype.on=function e(t,r,i){return o(this,t,r,i,false)};u.prototype.once=function e(t,r,i){return o(this,t,r,i,true)};u.prototype.removeListener=function e(t,r,i,n){var s=a?a+t:t;if(!this._events[s])return this;if(!r){l(this,s);return this}var o=this._events[s];if(o.fn){if(o.fn===r&&(!n||o.once)&&(!i||o.context===i)){l(this,s)}}else{for(var u=0,f=[],d=o.length;u<d;u++){if(o[u].fn!==r||n&&!o[u].once||i&&o[u].context!==i){f.push(o[u])}}if(f.length)this._events[s]=f.length===1?f[0]:f;else l(this,s)}return this};u.prototype.removeAllListeners=function e(t){var r;if(t){r=a?a+t:t;if(this._events[r])l(this,r)}else{this._events=new n;this._eventsCount=0}return this};u.prototype.off=u.prototype.removeListener;u.prototype.addListener=u.prototype.on;u.prefixed=a;u.EventEmitter=u;{e.exports=u}},"./node_modules/url-toolkit/src/url-toolkit.js":
6
6
  /*!*****************************************************!*\
7
7
  !*** ./node_modules/url-toolkit/src/url-toolkit.js ***!
8
8
  \*****************************************************/
9
- /*! no static exports found */function(e,t,r){(function(t){var r=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/?#]*\/)*[^;?#]*)?(;[^?#]*)?(\?[^#]*)?(#[^]*)?$/;var i=/^([^\/?#]*)([^]*)$/;var a=/(?:\/|^)\.(?=\/)/g;var n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g;var s={buildAbsoluteURL:function(e,t,r){r=r||{};e=e.trim();t=t.trim();if(!t){if(!r.alwaysNormalize){return e}var a=s.parseURL(e);if(!a){throw new Error("Error trying to parse base URL.")}a.path=s.normalizePath(a.path);return s.buildURLFromParts(a)}var n=s.parseURL(t);if(!n){throw new Error("Error trying to parse relative URL.")}if(n.scheme){if(!r.alwaysNormalize){return t}n.path=s.normalizePath(n.path);return s.buildURLFromParts(n)}var o=s.parseURL(e);if(!o){throw new Error("Error trying to parse base URL.")}if(!o.netLoc&&o.path&&o.path[0]!=="/"){var l=i.exec(o.path);o.netLoc=l[1];o.path=l[2]}if(o.netLoc&&!o.path){o.path="/"}var u={scheme:o.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc){u.netLoc=o.netLoc;if(n.path[0]!=="/"){if(!n.path){u.path=o.path;if(!n.params){u.params=o.params;if(!n.query){u.query=o.query}}}else{var f=o.path;var c=f.substring(0,f.lastIndexOf("/")+1)+n.path;u.path=s.normalizePath(c)}}}if(u.path===null){u.path=r.alwaysNormalize?s.normalizePath(n.path):n.path}return s.buildURLFromParts(u)},parseURL:function(e){var t=r.exec(e);if(!t){return null}return{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}},normalizePath:function(e){e=e.split("").reverse().join("").replace(a,"");while(e.length!==(e=e.replace(n,"")).length){}return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};e.exports=s})()},"./node_modules/webworkify-webpack/index.js":
9
+ /*! no static exports found */function(e,t,r){(function(t){var r=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/?#]*\/)*[^;?#]*)?(;[^?#]*)?(\?[^#]*)?(#[^]*)?$/;var i=/^([^\/?#]*)([^]*)$/;var a=/(?:\/|^)\.(?=\/)/g;var n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g;var s={buildAbsoluteURL:function(e,t,r){r=r||{};e=e.trim();t=t.trim();if(!t){if(!r.alwaysNormalize){return e}var a=s.parseURL(e);if(!a){throw new Error("Error trying to parse base URL.")}a.path=s.normalizePath(a.path);return s.buildURLFromParts(a)}var n=s.parseURL(t);if(!n){throw new Error("Error trying to parse relative URL.")}if(n.scheme){if(!r.alwaysNormalize){return t}n.path=s.normalizePath(n.path);return s.buildURLFromParts(n)}var o=s.parseURL(e);if(!o){throw new Error("Error trying to parse base URL.")}if(!o.netLoc&&o.path&&o.path[0]!=="/"){var l=i.exec(o.path);o.netLoc=l[1];o.path=l[2]}if(o.netLoc&&!o.path){o.path="/"}var u={scheme:o.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc){u.netLoc=o.netLoc;if(n.path[0]!=="/"){if(!n.path){u.path=o.path;if(!n.params){u.params=o.params;if(!n.query){u.query=o.query}}}else{var f=o.path;var d=f.substring(0,f.lastIndexOf("/")+1)+n.path;u.path=s.normalizePath(d)}}}if(u.path===null){u.path=r.alwaysNormalize?s.normalizePath(n.path):n.path}return s.buildURLFromParts(u)},parseURL:function(e){var t=r.exec(e);if(!t){return null}return{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}},normalizePath:function(e){e=e.split("").reverse().join("").replace(a,"");while(e.length!==(e=e.replace(n,"")).length){}return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};e.exports=s})()},"./node_modules/webworkify-webpack/index.js":
10
10
  /*!**************************************************!*\
11
11
  !*** ./node_modules/webworkify-webpack/index.js ***!
12
12
  \**************************************************/
13
- /*! no static exports found */function(e,t,r){function i(e){var t={};function r(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:false,exports:{}};e[i].call(a.exports,a,a.exports,r);a.l=true;return a.exports}r.m=e;r.c=t;r.i=function(e){return e};r.d=function(e,t,i){if(!r.o(e,t)){Object.defineProperty(e,t,{configurable:false,enumerable:true,get:i})}};r.r=function(e){Object.defineProperty(e,"__esModule",{value:true})};r.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};r.d(t,"a",t);return t};r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.p="/";r.oe=function(e){console.error(e);throw e};var i=r(r.s=ENTRY_MODULE);return i.default||i}var a="[\\.|\\-|\\+|\\w|/|@]+";var n="\\(\\s*(/\\*.*?\\*/)?\\s*.*?("+a+").*?\\)";function s(e){return(e+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function o(e){return!isNaN(1*e)}function l(e,t,i){var l={};l[i]=[];var u=t.toString();var f=u.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!f)return l;var c=f[1];var d=new RegExp("(\\\\n|\\W)"+s(c)+n,"g");var h;while(h=d.exec(u)){if(h[3]==="dll-reference")continue;l[i].push(h[3])}d=new RegExp("\\("+s(c)+'\\("(dll-reference\\s('+a+'))"\\)\\)'+n,"g");while(h=d.exec(u)){if(!e[h[2]]){l[i].push(h[1]);e[h[2]]=r(h[1]).m}l[h[2]]=l[h[2]]||[];l[h[2]].push(h[4])}var v=Object.keys(l);for(var g=0;g<v.length;g++){for(var p=0;p<l[v[g]].length;p++){if(o(l[v[g]][p])){l[v[g]][p]=1*l[v[g]][p]}}}return l}function u(e){var t=Object.keys(e);return t.reduce((function(t,r){return t||e[r].length>0}),false)}function f(e,t){var r={main:[t]};var i={main:[]};var a={main:{}};while(u(r)){var n=Object.keys(r);for(var s=0;s<n.length;s++){var o=n[s];var f=r[o];var c=f.pop();a[o]=a[o]||{};if(a[o][c]||!e[o][c])continue;a[o][c]=true;i[o]=i[o]||[];i[o].push(c);var d=l(e,e[o][c],o);var h=Object.keys(d);for(var v=0;v<h.length;v++){r[h[v]]=r[h[v]]||[];r[h[v]]=r[h[v]].concat(d[h[v]])}}}return i}e.exports=function(e,t){t=t||{};var a={main:r.m};var n=t.all?{main:Object.keys(a.main)}:f(a,e);var s="";Object.keys(n).filter((function(e){return e!=="main"})).forEach((function(e){var t=0;while(n[e][t]){t++}n[e].push(t);a[e][t]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })";s=s+"var "+e+" = ("+i.toString().replace("ENTRY_MODULE",JSON.stringify(t))+")({"+n[e].map((function(t){return""+JSON.stringify(t)+": "+a[e][t].toString()})).join(",")+"});\n"}));s=s+"new (("+i.toString().replace("ENTRY_MODULE",JSON.stringify(e))+")({"+n.main.map((function(e){return""+JSON.stringify(e)+": "+a.main[e].toString()})).join(",")+"}))(self);";var o=new window.Blob([s],{type:"text/javascript"});if(t.bare){return o}var l=window.URL||window.webkitURL||window.mozURL||window.msURL;var u=l.createObjectURL(o);var c=new window.Worker(u);c.objectURL=u;return c}},"./src/config.ts":
13
+ /*! no static exports found */function(e,t,r){function i(e){var t={};function r(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:false,exports:{}};e[i].call(a.exports,a,a.exports,r);a.l=true;return a.exports}r.m=e;r.c=t;r.i=function(e){return e};r.d=function(e,t,i){if(!r.o(e,t)){Object.defineProperty(e,t,{configurable:false,enumerable:true,get:i})}};r.r=function(e){Object.defineProperty(e,"__esModule",{value:true})};r.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};r.d(t,"a",t);return t};r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.p="/";r.oe=function(e){console.error(e);throw e};var i=r(r.s=ENTRY_MODULE);return i.default||i}var a="[\\.|\\-|\\+|\\w|/|@]+";var n="\\(\\s*(/\\*.*?\\*/)?\\s*.*?("+a+").*?\\)";function s(e){return(e+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function o(e){return!isNaN(1*e)}function l(e,t,i){var l={};l[i]=[];var u=t.toString();var f=u.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!f)return l;var d=f[1];var c=new RegExp("(\\\\n|\\W)"+s(d)+n,"g");var h;while(h=c.exec(u)){if(h[3]==="dll-reference")continue;l[i].push(h[3])}c=new RegExp("\\("+s(d)+'\\("(dll-reference\\s('+a+'))"\\)\\)'+n,"g");while(h=c.exec(u)){if(!e[h[2]]){l[i].push(h[1]);e[h[2]]=r(h[1]).m}l[h[2]]=l[h[2]]||[];l[h[2]].push(h[4])}var v=Object.keys(l);for(var g=0;g<v.length;g++){for(var p=0;p<l[v[g]].length;p++){if(o(l[v[g]][p])){l[v[g]][p]=1*l[v[g]][p]}}}return l}function u(e){var t=Object.keys(e);return t.reduce((function(t,r){return t||e[r].length>0}),false)}function f(e,t){var r={main:[t]};var i={main:[]};var a={main:{}};while(u(r)){var n=Object.keys(r);for(var s=0;s<n.length;s++){var o=n[s];var f=r[o];var d=f.pop();a[o]=a[o]||{};if(a[o][d]||!e[o][d])continue;a[o][d]=true;i[o]=i[o]||[];i[o].push(d);var c=l(e,e[o][d],o);var h=Object.keys(c);for(var v=0;v<h.length;v++){r[h[v]]=r[h[v]]||[];r[h[v]]=r[h[v]].concat(c[h[v]])}}}return i}e.exports=function(e,t){t=t||{};var a={main:r.m};var n=t.all?{main:Object.keys(a.main)}:f(a,e);var s="";Object.keys(n).filter((function(e){return e!=="main"})).forEach((function(e){var t=0;while(n[e][t]){t++}n[e].push(t);a[e][t]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })";s=s+"var "+e+" = ("+i.toString().replace("ENTRY_MODULE",JSON.stringify(t))+")({"+n[e].map((function(t){return""+JSON.stringify(t)+": "+a[e][t].toString()})).join(",")+"});\n"}));s=s+"new (("+i.toString().replace("ENTRY_MODULE",JSON.stringify(e))+")({"+n.main.map((function(e){return""+JSON.stringify(e)+": "+a.main[e].toString()})).join(",")+"}))(self);";var o=new window.Blob([s],{type:"text/javascript"});if(t.bare){return o}var l=window.URL||window.webkitURL||window.mozURL||window.msURL;var u=l.createObjectURL(o);var d=new window.Worker(u);d.objectURL=u;return d}},"./src/config.ts":
14
14
  /*!***********************!*\
15
15
  !*** ./src/config.ts ***!
16
16
  \***********************/
17
- /*! exports provided: hlsDefaultConfig, mergeConfig, enableStreamingMode */function(e,t,r){r.r(t);r.d(t,"hlsDefaultConfig",(function(){return A}));r.d(t,"mergeConfig",(function(){return D}));r.d(t,"enableStreamingMode",(function(){return k}));var i=r(/*! ./controller/abr-controller */"./src/controller/abr-controller.ts");var a=r(/*! ./controller/audio-stream-controller */"./src/controller/audio-stream-controller.ts");var n=r(/*! ./controller/audio-track-controller */"./src/controller/audio-track-controller.ts");var s=r(/*! ./controller/subtitle-stream-controller */"./src/controller/subtitle-stream-controller.ts");var o=r(/*! ./controller/subtitle-track-controller */"./src/controller/subtitle-track-controller.ts");var l=r(/*! ./controller/buffer-controller */"./src/controller/buffer-controller.ts");var u=r(/*! ./controller/timeline-controller */"./src/controller/timeline-controller.ts");var f=r(/*! ./controller/cap-level-controller */"./src/controller/cap-level-controller.ts");var c=r(/*! ./controller/fps-controller */"./src/controller/fps-controller.ts");var d=r(/*! ./controller/eme-controller */"./src/controller/eme-controller.ts");var h=r(/*! ./controller/cmcd-controller */"./src/controller/cmcd-controller.ts");var v=r(/*! ./utils/xhr-loader */"./src/utils/xhr-loader.ts");var g=r(/*! ./utils/fetch-loader */"./src/utils/fetch-loader.ts");var p=r(/*! ./utils/cues */"./src/utils/cues.ts");var m=r(/*! ./utils/mediakeys-helper */"./src/utils/mediakeys-helper.ts");var y=r(/*! ./utils/logger */"./src/utils/logger.ts");function E(){E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return E.apply(this,arguments)}function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);if(t){i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))}r.push.apply(r,i)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){T(Object(r),true).forEach((function(t){S(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function S(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var A=b(b({autoStartLoad:true,startPosition:-1,defaultAudioCodec:undefined,debug:false,capLevelOnFPSDrop:false,capLevelToPlayerSize:false,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:Infinity,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:Infinity,liveSyncDuration:undefined,liveMaxLatencyDuration:undefined,maxLiveSyncPlaybackRate:1,liveDurationInfinity:false,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:true,enableSoftwareAES:true,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,startLevel:undefined,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3,startFragPrefetch:false,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:v["default"],fLoader:undefined,pLoader:undefined,xhrSetup:undefined,licenseXhrSetup:undefined,licenseResponseCallback:undefined,abrController:i["default"],bufferController:l["default"],capLevelController:f["default"],fpsController:c["default"],stretchShortVideoTrack:false,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:true,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:false,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:false,widevineLicenseUrl:undefined,drmSystemOptions:{},requestMediaKeySystemAccessFunc:m["requestMediaKeySystemAccess"],testBandwidth:true,progressive:false,lowLatencyMode:true,cmcd:undefined},L()),{},{subtitleStreamController:s["SubtitleStreamController"],subtitleTrackController:o["default"],timelineController:u["TimelineController"],audioStreamController:a["default"],audioTrackController:n["default"],emeController:d["default"],cmcdController:h["default"]});function L(){return{cueHandler:p["default"],enableCEA708Captions:true,enableWebVTT:true,enableIMSC1:true,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:true}}function D(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration)){throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration")}if(t.liveMaxLatencyDurationCount!==undefined&&(t.liveSyncDurationCount===undefined||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount)){throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"')}if(t.liveMaxLatencyDuration!==undefined&&(t.liveSyncDuration===undefined||t.liveMaxLatencyDuration<=t.liveSyncDuration)){throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"')}return E({},e,t)}function k(e){var t=e.loader;if(t!==g["default"]&&t!==v["default"]){y["logger"].log("[config]: Custom loader detected, cannot enable progressive streaming");e.progressive=false}else{var r=Object(g["fetchSupported"])();if(r){e.loader=g["default"];e.progressive=true;e.enableSoftwareAES=true;y["logger"].log("[config]: Progressive streaming enabled, using FetchLoader")}}}},"./src/controller/abr-controller.ts":
17
+ /*! exports provided: hlsDefaultConfig, mergeConfig, enableStreamingMode */function(e,t,r){r.r(t);r.d(t,"hlsDefaultConfig",(function(){return A}));r.d(t,"mergeConfig",(function(){return D}));r.d(t,"enableStreamingMode",(function(){return k}));var i=r(/*! ./controller/abr-controller */"./src/controller/abr-controller.ts");var a=r(/*! ./controller/audio-stream-controller */"./src/controller/audio-stream-controller.ts");var n=r(/*! ./controller/audio-track-controller */"./src/controller/audio-track-controller.ts");var s=r(/*! ./controller/subtitle-stream-controller */"./src/controller/subtitle-stream-controller.ts");var o=r(/*! ./controller/subtitle-track-controller */"./src/controller/subtitle-track-controller.ts");var l=r(/*! ./controller/buffer-controller */"./src/controller/buffer-controller.ts");var u=r(/*! ./controller/timeline-controller */"./src/controller/timeline-controller.ts");var f=r(/*! ./controller/cap-level-controller */"./src/controller/cap-level-controller.ts");var d=r(/*! ./controller/fps-controller */"./src/controller/fps-controller.ts");var c=r(/*! ./controller/eme-controller */"./src/controller/eme-controller.ts");var h=r(/*! ./controller/cmcd-controller */"./src/controller/cmcd-controller.ts");var v=r(/*! ./utils/xhr-loader */"./src/utils/xhr-loader.ts");var g=r(/*! ./utils/fetch-loader */"./src/utils/fetch-loader.ts");var p=r(/*! ./utils/cues */"./src/utils/cues.ts");var m=r(/*! ./utils/mediakeys-helper */"./src/utils/mediakeys-helper.ts");var y=r(/*! ./utils/logger */"./src/utils/logger.ts");function E(){E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return E.apply(this,arguments)}function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);if(t){i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))}r.push.apply(r,i)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){T(Object(r),true).forEach((function(t){S(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function S(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var A=b(b({autoStartLoad:true,startPosition:-1,defaultAudioCodec:undefined,debug:false,capLevelOnFPSDrop:false,capLevelToPlayerSize:false,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:Infinity,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:Infinity,liveSyncDuration:undefined,liveMaxLatencyDuration:undefined,maxLiveSyncPlaybackRate:1,liveDurationInfinity:false,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:true,enableSoftwareAES:true,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,startLevel:undefined,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3,startFragPrefetch:false,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:v["default"],fLoader:undefined,pLoader:undefined,xhrSetup:undefined,licenseXhrSetup:undefined,licenseResponseCallback:undefined,abrController:i["default"],bufferController:l["default"],capLevelController:f["default"],fpsController:d["default"],stretchShortVideoTrack:false,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:true,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:false,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:false,widevineLicenseUrl:undefined,drmSystemOptions:{},requestMediaKeySystemAccessFunc:m["requestMediaKeySystemAccess"],testBandwidth:true,progressive:false,lowLatencyMode:true,cmcd:undefined},L()),{},{subtitleStreamController:s["SubtitleStreamController"],subtitleTrackController:o["default"],timelineController:u["TimelineController"],audioStreamController:a["default"],audioTrackController:n["default"],emeController:c["default"],cmcdController:h["default"]});function L(){return{cueHandler:p["default"],enableCEA708Captions:true,enableWebVTT:true,enableIMSC1:true,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:true}}function D(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration)){throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration")}if(t.liveMaxLatencyDurationCount!==undefined&&(t.liveSyncDurationCount===undefined||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount)){throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"')}if(t.liveMaxLatencyDuration!==undefined&&(t.liveSyncDuration===undefined||t.liveMaxLatencyDuration<=t.liveSyncDuration)){throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"')}return E({},e,t)}function k(e){var t=e.loader;if(t!==g["default"]&&t!==v["default"]){y["logger"].log("[config]: Custom loader detected, cannot enable progressive streaming");e.progressive=false}else{var r=Object(g["fetchSupported"])();if(r){e.loader=g["default"];e.progressive=true;e.enableSoftwareAES=true;y["logger"].log("[config]: Progressive streaming enabled, using FetchLoader")}}}},"./src/controller/abr-controller.ts":
18
18
  /*!******************************************!*\
19
19
  !*** ./src/controller/abr-controller.ts ***!
20
20
  \******************************************/
21
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../utils/ewma-bandwidth-estimator */"./src/utils/ewma-bandwidth-estimator.ts");var n=r(/*! ../events */"./src/events.ts");var s=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=r(/*! ../types/loader */"./src/types/loader.ts");var u=r(/*! ../utils/logger */"./src/utils/logger.ts");function f(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function c(e,t,r){if(t)f(e.prototype,t);if(r)f(e,r);return e}var d=function(){function e(e){this.hls=void 0;this.lastLoadedFragLevel=0;this._nextAutoLevel=-1;this.timer=void 0;this.onCheck=this._abandonRulesCheck.bind(this);this.fragCurrent=null;this.partCurrent=null;this.bitrateTestDelay=0;this.bwEstimator=void 0;this.hls=e;var t=e.config;this.bwEstimator=new a["default"](t.abrEwmaSlowVoD,t.abrEwmaFastVoD,t.abrEwmaDefaultEstimate);this.registerListeners()}var t=e.prototype;t.registerListeners=function e(){var t=this.hls;t.on(n["Events"].FRAG_LOADING,this.onFragLoading,this);t.on(n["Events"].FRAG_LOADED,this.onFragLoaded,this);t.on(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.on(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(n["Events"].ERROR,this.onError,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(n["Events"].FRAG_LOADING,this.onFragLoading,this);t.off(n["Events"].FRAG_LOADED,this.onFragLoaded,this);t.off(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.off(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(n["Events"].ERROR,this.onError,this)};t.destroy=function e(){this.unregisterListeners();this.clearTimer();this.hls=this.onCheck=null;this.fragCurrent=this.partCurrent=null};t.onFragLoading=function e(t,r){var i=r.frag;if(i.type===l["PlaylistLevelType"].MAIN){if(!this.timer){var a;this.fragCurrent=i;this.partCurrent=(a=r.part)!=null?a:null;this.timer=self.setInterval(this.onCheck,100)}}};t.onLevelLoaded=function e(t,r){var i=this.hls.config;if(r.details.live){this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive)}else{this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}};t._abandonRulesCheck=function e(){var t=this.fragCurrent,r=this.partCurrent,a=this.hls;var o=a.autoLevelEnabled,l=a.config,f=a.media;if(!t||!f){return}var c=r?r.stats:t.stats;var d=r?r.duration:t.duration;if(c.aborted){u["logger"].warn("frag loader destroy or aborted, disarm abandonRules");this.clearTimer();this._nextAutoLevel=-1;return}if(!o||f.paused||!f.playbackRate||!f.readyState){return}var h=performance.now()-c.loading.start;var v=Math.abs(f.playbackRate);if(h<=500*d/v){return}var g=a.levels,p=a.minAutoLevel;var m=g[t.level];var y=c.total||Math.max(c.loaded,Math.round(d*m.maxBitrate/8));var E=Math.max(1,c.bwEstimate?c.bwEstimate/8:c.loaded*1e3/h);var T=(y-c.loaded)/E;var b=f.currentTime;var S=(s["BufferHelper"].bufferInfo(f,b,l.maxBufferHole).end-b)/v;if(S>=2*d/v||T<=S){return}var A=Number.POSITIVE_INFINITY;var L;for(L=t.level-1;L>p;L--){var D=g[L].maxBitrate;A=d*D/(8*.8*E);if(A<S){break}}if(A>=T){return}var k=this.bwEstimator.getEstimate();u["logger"].warn("Fragment "+t.sn+(r?" part "+r.index:"")+" of level "+t.level+" is loading too slowly and will cause an underbuffer; aborting and switching to level "+L+"\n Current BW estimate: "+(Object(i["isFiniteNumber"])(k)?(k/1024).toFixed(3):"Unknown")+" Kb/s\n Estimated load time for current fragment: "+T.toFixed(3)+" s\n Estimated load time for the next fragment: "+A.toFixed(3)+" s\n Time to underbuffer: "+S.toFixed(3)+" s");a.nextLoadLevel=L;this.bwEstimator.sample(h,c.loaded);this.clearTimer();if(t.loader){this.fragCurrent=this.partCurrent=null;t.loader.abort()}a.trigger(n["Events"].FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:c})};t.onFragLoaded=function e(t,r){var a=r.frag,s=r.part;if(a.type===l["PlaylistLevelType"].MAIN&&Object(i["isFiniteNumber"])(a.sn)){var o=s?s.stats:a.stats;var u=s?s.duration:a.duration;this.clearTimer();this.lastLoadedFragLevel=a.level;this._nextAutoLevel=-1;if(this.hls.config.abrMaxWithRealBitrate){var f=this.hls.levels[a.level];var c=(f.loaded?f.loaded.bytes:0)+o.loaded;var d=(f.loaded?f.loaded.duration:0)+u;f.loaded={bytes:c,duration:d};f.realBitrate=Math.round(8*c/d)}if(a.bitrateTest){var h={stats:o,frag:a,part:s,id:a.type};this.onFragBuffered(n["Events"].FRAG_BUFFERED,h);a.bitrateTest=false}}};t.onFragBuffered=function e(t,r){var i=r.frag,a=r.part;var n=a?a.stats:i.stats;if(n.aborted){return}if(i.type!==l["PlaylistLevelType"].MAIN||i.sn==="initSegment"){return}var s=n.parsing.end-n.loading.start;this.bwEstimator.sample(s,n.loaded);n.bwEstimate=this.bwEstimator.getEstimate();if(i.bitrateTest){this.bitrateTestDelay=s/1e3}else{this.bitrateTestDelay=0}};t.onError=function e(t,r){switch(r.details){case o["ErrorDetails"].FRAG_LOAD_ERROR:case o["ErrorDetails"].FRAG_LOAD_TIMEOUT:this.clearTimer();break}};t.clearTimer=function e(){self.clearInterval(this.timer);this.timer=undefined};t.getNextABRAutoLevel=function e(){var t=this.fragCurrent,r=this.partCurrent,i=this.hls;var a=i.maxAutoLevel,n=i.config,o=i.minAutoLevel,l=i.media;var f=r?r.duration:t?t.duration:0;var c=l?l.currentTime:0;var d=l&&l.playbackRate!==0?Math.abs(l.playbackRate):1;var h=this.bwEstimator?this.bwEstimator.getEstimate():n.abrEwmaDefaultEstimate;var v=(s["BufferHelper"].bufferInfo(l,c,n.maxBufferHole).end-c)/d;var g=this.findBestLevel(h,o,a,v,n.abrBandWidthFactor,n.abrBandWidthUpFactor);if(g>=0){return g}u["logger"].trace((v?"rebuffering expected":"buffer is empty")+", finding optimal quality level");var p=f?Math.min(f,n.maxStarvationDelay):n.maxStarvationDelay;var m=n.abrBandWidthFactor;var y=n.abrBandWidthUpFactor;if(!v){var E=this.bitrateTestDelay;if(E){var T=f?Math.min(f,n.maxLoadingDelay):n.maxLoadingDelay;p=T-E;u["logger"].trace("bitrate test took "+Math.round(1e3*E)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*p)+" ms");m=y=1}}g=this.findBestLevel(h,o,a,v+p,m,y);return Math.max(g,0)};t.findBestLevel=function e(t,r,i,a,n,s){var o;var l=this.fragCurrent,f=this.partCurrent,c=this.lastLoadedFragLevel;var d=this.hls.levels;var h=d[c];var v=!!(h!==null&&h!==void 0&&(o=h.details)!==null&&o!==void 0&&o.live);var g=h===null||h===void 0?void 0:h.codecSet;var p=f?f.duration:l?l.duration:0;for(var m=i;m>=r;m--){var y=d[m];if(!y||g&&y.codecSet!==g){continue}var E=y.details;var T=(f?E===null||E===void 0?void 0:E.partTarget:E===null||E===void 0?void 0:E.averagetargetduration)||p;var b=void 0;if(m<=c){b=n*t}else{b=s*t}var S=d[m].maxBitrate;var A=S*T/b;u["logger"].trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+m+"/"+Math.round(b)+"/"+S+"/"+T+"/"+a+"/"+A);if(b>S&&(!A||v&&!this.bitrateTestDelay||A<a)){return m}}return-1};c(e,[{key:"nextAutoLevel",get:function e(){var t=this._nextAutoLevel;var r=this.bwEstimator;if(t!==-1&&(!r||!r.canEstimate())){return t}var i=this.getNextABRAutoLevel();if(t!==-1){i=Math.min(t,i)}return i},set:function e(t){this._nextAutoLevel=t}}]);return e}();t["default"]=d},"./src/controller/audio-stream-controller.ts":
21
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../utils/ewma-bandwidth-estimator */"./src/utils/ewma-bandwidth-estimator.ts");var n=r(/*! ../events */"./src/events.ts");var s=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=r(/*! ../types/loader */"./src/types/loader.ts");var u=r(/*! ../utils/logger */"./src/utils/logger.ts");function f(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function d(e,t,r){if(t)f(e.prototype,t);if(r)f(e,r);return e}var c=function(){function e(e){this.hls=void 0;this.lastLoadedFragLevel=0;this._nextAutoLevel=-1;this.timer=void 0;this.onCheck=this._abandonRulesCheck.bind(this);this.fragCurrent=null;this.partCurrent=null;this.bitrateTestDelay=0;this.bwEstimator=void 0;this.hls=e;var t=e.config;this.bwEstimator=new a["default"](t.abrEwmaSlowVoD,t.abrEwmaFastVoD,t.abrEwmaDefaultEstimate);this.registerListeners()}var t=e.prototype;t.registerListeners=function e(){var t=this.hls;t.on(n["Events"].FRAG_LOADING,this.onFragLoading,this);t.on(n["Events"].FRAG_LOADED,this.onFragLoaded,this);t.on(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.on(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(n["Events"].ERROR,this.onError,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(n["Events"].FRAG_LOADING,this.onFragLoading,this);t.off(n["Events"].FRAG_LOADED,this.onFragLoaded,this);t.off(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.off(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(n["Events"].ERROR,this.onError,this)};t.destroy=function e(){this.unregisterListeners();this.clearTimer();this.hls=this.onCheck=null;this.fragCurrent=this.partCurrent=null};t.onFragLoading=function e(t,r){var i=r.frag;if(i.type===l["PlaylistLevelType"].MAIN){if(!this.timer){var a;this.fragCurrent=i;this.partCurrent=(a=r.part)!=null?a:null;this.timer=self.setInterval(this.onCheck,100)}}};t.onLevelLoaded=function e(t,r){var i=this.hls.config;if(r.details.live){this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive)}else{this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}};t._abandonRulesCheck=function e(){var t=this.fragCurrent,r=this.partCurrent,a=this.hls;var o=a.autoLevelEnabled,l=a.config,f=a.media;if(!t||!f){return}var d=r?r.stats:t.stats;var c=r?r.duration:t.duration;if(d.aborted){u["logger"].warn("frag loader destroy or aborted, disarm abandonRules");this.clearTimer();this._nextAutoLevel=-1;return}if(!o||f.paused||!f.playbackRate||!f.readyState){return}var h=performance.now()-d.loading.start;var v=Math.abs(f.playbackRate);if(h<=500*c/v){return}var g=a.levels,p=a.minAutoLevel;var m=g[t.level];var y=d.total||Math.max(d.loaded,Math.round(c*m.maxBitrate/8));var E=Math.max(1,d.bwEstimate?d.bwEstimate/8:d.loaded*1e3/h);var T=(y-d.loaded)/E;var b=f.currentTime;var S=(s["BufferHelper"].bufferInfo(f,b,l.maxBufferHole).end-b)/v;if(S>=2*c/v||T<=S){return}var A=Number.POSITIVE_INFINITY;var L;for(L=t.level-1;L>p;L--){var D=g[L].maxBitrate;A=c*D/(8*.8*E);if(A<S){break}}if(A>=T){return}var k=this.bwEstimator.getEstimate();u["logger"].warn("Fragment "+t.sn+(r?" part "+r.index:"")+" of level "+t.level+" is loading too slowly and will cause an underbuffer; aborting and switching to level "+L+"\n Current BW estimate: "+(Object(i["isFiniteNumber"])(k)?(k/1024).toFixed(3):"Unknown")+" Kb/s\n Estimated load time for current fragment: "+T.toFixed(3)+" s\n Estimated load time for the next fragment: "+A.toFixed(3)+" s\n Time to underbuffer: "+S.toFixed(3)+" s");a.nextLoadLevel=L;this.bwEstimator.sample(h,d.loaded);this.clearTimer();if(t.loader){this.fragCurrent=this.partCurrent=null;t.loader.abort()}a.trigger(n["Events"].FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:d})};t.onFragLoaded=function e(t,r){var a=r.frag,s=r.part;if(a.type===l["PlaylistLevelType"].MAIN&&Object(i["isFiniteNumber"])(a.sn)){var o=s?s.stats:a.stats;var u=s?s.duration:a.duration;this.clearTimer();this.lastLoadedFragLevel=a.level;this._nextAutoLevel=-1;if(this.hls.config.abrMaxWithRealBitrate){var f=this.hls.levels[a.level];var d=(f.loaded?f.loaded.bytes:0)+o.loaded;var c=(f.loaded?f.loaded.duration:0)+u;f.loaded={bytes:d,duration:c};f.realBitrate=Math.round(8*d/c)}if(a.bitrateTest){var h={stats:o,frag:a,part:s,id:a.type};this.onFragBuffered(n["Events"].FRAG_BUFFERED,h);a.bitrateTest=false}}};t.onFragBuffered=function e(t,r){var i=r.frag,a=r.part;var n=a?a.stats:i.stats;if(n.aborted){return}if(i.type!==l["PlaylistLevelType"].MAIN||i.sn==="initSegment"){return}var s=n.parsing.end-n.loading.start;this.bwEstimator.sample(s,n.loaded);n.bwEstimate=this.bwEstimator.getEstimate();if(i.bitrateTest){this.bitrateTestDelay=s/1e3}else{this.bitrateTestDelay=0}};t.onError=function e(t,r){switch(r.details){case o["ErrorDetails"].FRAG_LOAD_ERROR:case o["ErrorDetails"].FRAG_LOAD_TIMEOUT:this.clearTimer();break}};t.clearTimer=function e(){self.clearInterval(this.timer);this.timer=undefined};t.getNextABRAutoLevel=function e(){var t=this.fragCurrent,r=this.partCurrent,i=this.hls;var a=i.maxAutoLevel,n=i.config,o=i.minAutoLevel,l=i.media;var f=r?r.duration:t?t.duration:0;var d=l?l.currentTime:0;var c=l&&l.playbackRate!==0?Math.abs(l.playbackRate):1;var h=this.bwEstimator?this.bwEstimator.getEstimate():n.abrEwmaDefaultEstimate;var v=(s["BufferHelper"].bufferInfo(l,d,n.maxBufferHole).end-d)/c;var g=this.findBestLevel(h,o,a,v,n.abrBandWidthFactor,n.abrBandWidthUpFactor);if(g>=0){return g}u["logger"].trace((v?"rebuffering expected":"buffer is empty")+", finding optimal quality level");var p=f?Math.min(f,n.maxStarvationDelay):n.maxStarvationDelay;var m=n.abrBandWidthFactor;var y=n.abrBandWidthUpFactor;if(!v){var E=this.bitrateTestDelay;if(E){var T=f?Math.min(f,n.maxLoadingDelay):n.maxLoadingDelay;p=T-E;u["logger"].trace("bitrate test took "+Math.round(1e3*E)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*p)+" ms");m=y=1}}g=this.findBestLevel(h,o,a,v+p,m,y);return Math.max(g,0)};t.findBestLevel=function e(t,r,i,a,n,s){var o;var l=this.fragCurrent,f=this.partCurrent,d=this.lastLoadedFragLevel;var c=this.hls.levels;var h=c[d];var v=!!(h!==null&&h!==void 0&&(o=h.details)!==null&&o!==void 0&&o.live);var g=h===null||h===void 0?void 0:h.codecSet;var p=f?f.duration:l?l.duration:0;for(var m=i;m>=r;m--){var y=c[m];if(!y||g&&y.codecSet!==g){continue}var E=y.details;var T=(f?E===null||E===void 0?void 0:E.partTarget:E===null||E===void 0?void 0:E.averagetargetduration)||p;var b=void 0;if(m<=d){b=n*t}else{b=s*t}var S=c[m].maxBitrate;var A=S*T/b;u["logger"].trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+m+"/"+Math.round(b)+"/"+S+"/"+T+"/"+a+"/"+A);if(b>S&&(!A||v&&!this.bitrateTestDelay||A<a)){return m}}return-1};d(e,[{key:"nextAutoLevel",get:function e(){var t=this._nextAutoLevel;var r=this.bwEstimator;if(t!==-1&&(!r||!r.canEstimate())){return t}var i=this.getNextABRAutoLevel();if(t!==-1){i=Math.min(t,i)}return i},set:function e(t){this._nextAutoLevel=t}}]);return e}();t["default"]=c},"./src/controller/audio-stream-controller.ts":
22
22
  /*!***************************************************!*\
23
23
  !*** ./src/controller/audio-stream-controller.ts ***!
24
24
  \***************************************************/
25
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./base-stream-controller */"./src/controller/base-stream-controller.ts");var n=r(/*! ../events */"./src/events.ts");var s=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var o=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var l=r(/*! ../types/level */"./src/types/level.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var c=r(/*! ../demux/chunk-cache */"./src/demux/chunk-cache.ts");var d=r(/*! ../demux/transmuxer-interface */"./src/demux/transmuxer-interface.ts");var h=r(/*! ../types/transmuxer */"./src/types/transmuxer.ts");var v=r(/*! ./fragment-finders */"./src/controller/fragment-finders.ts");var g=r(/*! ../utils/discontinuities */"./src/utils/discontinuities.ts");var p=r(/*! ../errors */"./src/errors.ts");var m=r(/*! ../utils/logger */"./src/utils/logger.ts");function y(){y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return y.apply(this,arguments)}function E(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;T(e,t)}function T(e,t){T=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return T(e,t)}var b=100;var S=function(e){E(t,e);function t(t,r){var i;i=e.call(this,t,r,"[audio-stream-controller]")||this;i.videoBuffer=null;i.videoTrackCC=-1;i.waitingVideoCC=-1;i.audioSwitch=false;i.trackId=-1;i.waitingData=null;i.mainDetails=null;i.bufferFlushed=false;i._registerListeners();return i}var r=t.prototype;r.onHandlerDestroying=function e(){this._unregisterListeners();this.mainDetails=null};r._registerListeners=function e(){var t=this.hls;t.on(n["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(n["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(n["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(n["Events"].AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this);t.on(n["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.on(n["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.on(n["Events"].ERROR,this.onError,this);t.on(n["Events"].BUFFER_RESET,this.onBufferReset,this);t.on(n["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.on(n["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.on(n["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);t.on(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(n["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(n["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(n["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(n["Events"].AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this);t.off(n["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.off(n["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.off(n["Events"].ERROR,this.onError,this);t.off(n["Events"].BUFFER_RESET,this.onBufferReset,this);t.off(n["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.off(n["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.off(n["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);t.off(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r.onInitPtsFound=function e(t,r){var i=r.frag,n=r.id,s=r.initPTS;if(n==="main"){var o=i.cc;this.initPTS[i.cc]=s;this.log("InitPTS for cc: "+o+" found from main: "+s);this.videoTrackCC=o;if(this.state===a["State"].WAITING_INIT_PTS){this.tick()}}};r.startLoad=function e(t){if(!this.levels){this.startPosition=t;this.state=a["State"].STOPPED;return}var r=this.lastCurrentTime;this.stopLoad();this.setInterval(b);this.fragLoadError=0;if(r>0&&t===-1){this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3));this.state=a["State"].IDLE}else{this.loadedmetadata=false;this.state=a["State"].WAITING_TRACK}this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t;this.tick()};r.doTick=function t(){switch(this.state){case a["State"].IDLE:this.doTickIdle();break;case a["State"].WAITING_TRACK:{var r;var i=this.levels,n=this.trackId;var o=i===null||i===void 0?void 0:(r=i[n])===null||r===void 0?void 0:r.details;if(o){if(this.waitForCdnTuneIn(o)){break}this.state=a["State"].WAITING_INIT_PTS}break}case a["State"].FRAG_LOADING_WAITING_RETRY:{var l;var u=performance.now();var f=this.retryDate;if(!f||u>=f||(l=this.media)!==null&&l!==void 0&&l.seeking){this.log("RetryDate reached, switch back to IDLE state");this.state=a["State"].IDLE}break}case a["State"].WAITING_INIT_PTS:{var c=this.waitingData;if(c){var d=c.frag,h=c.part,g=c.cache,p=c.complete;if(this.initPTS[d.cc]!==undefined){this.waitingData=null;this.waitingVideoCC=-1;this.state=a["State"].FRAG_LOADING;var y=g.flush();var E={frag:d,part:h,payload:y,networkDetails:null};this._handleFragmentLoadProgress(E);if(p){e.prototype._handleFragmentLoadComplete.call(this,E)}}else if(this.videoTrackCC!==this.waitingVideoCC){m["logger"].log("Waiting fragment cc ("+d.cc+") cancelled because video is at cc "+this.videoTrackCC);this.clearWaitingFragment()}else{var T=this.getLoadPosition();var b=s["BufferHelper"].bufferInfo(this.mediaBuffer,T,this.config.maxBufferHole);var S=Object(v["fragmentWithinToleranceTest"])(b.end,this.config.maxFragLookUpTolerance,d);if(S<0){m["logger"].log("Waiting fragment cc ("+d.cc+") @ "+d.start+" cancelled because another fragment at "+b.end+" is needed");this.clearWaitingFragment()}}}else{this.state=a["State"].IDLE}}}this.onTickEnd()};r.clearWaitingFragment=function e(){var t=this.waitingData;if(t){this.fragmentTracker.removeFragment(t.frag);this.waitingData=null;this.waitingVideoCC=-1;this.state=a["State"].IDLE}};r.onTickEnd=function e(){var t=this.media;if(!t||!t.readyState){return}var r=this.mediaBuffer?this.mediaBuffer:t;var i=r.buffered;if(!this.loadedmetadata&&i.length){this.loadedmetadata=true}this.lastCurrentTime=t.currentTime};r.doTickIdle=function e(){var t,r;var i=this.hls,s=this.levels,o=this.media,l=this.trackId;var c=i.config;if(!s||!s[l]){return}if(!o&&(this.startFragRequested||!c.startFragPrefetch)){return}var d=s[l];var h=d.details;if(!h||h.live&&this.levelLastLoaded!==l||this.waitForCdnTuneIn(h)){this.state=a["State"].WAITING_TRACK;return}if(this.bufferFlushed){this.bufferFlushed=false;this.afterBufferFlushed(this.mediaBuffer?this.mediaBuffer:this.media,f["ElementaryStreamTypes"].AUDIO,u["PlaylistLevelType"].AUDIO)}var v=this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,u["PlaylistLevelType"].AUDIO);if(v===null){return}var g=v.len;var p=this.getMaxBufferLength();var m=this.audioSwitch;if(g>=p&&!m){return}if(!m&&this._streamEnded(v,h)){i.trigger(n["Events"].BUFFER_EOS,{type:"audio"});this.state=a["State"].ENDED;return}var y=h.fragments;var E=y[0].start;var T=v.end;if(m){var b=this.getLoadPosition();T=b;if(h.PTSKnown&&b<E){if(v.end>E||v.nextStart){this.log("Alt audio track ahead of main track, seek to start of alt audio track");o.currentTime=E+.05}}}var S=this.getNextFragment(T,h);if(!S){this.bufferFlushed=true;return}if(((t=S.decryptdata)===null||t===void 0?void 0:t.keyFormat)==="identity"&&!((r=S.decryptdata)!==null&&r!==void 0&&r.key)){this.loadKey(S,h)}else{this.loadFragment(S,h,T)}};r.getMaxBufferLength=function t(){var r=e.prototype.getMaxBufferLength.call(this);var i=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,u["PlaylistLevelType"].MAIN);if(i===null){return r}return Math.max(r,i.len)};r.onMediaDetaching=function t(){this.videoBuffer=null;e.prototype.onMediaDetaching.call(this)};r.onAudioTracksUpdated=function e(t,r){var i=r.audioTracks;this.resetTransmuxer();this.levels=i.map((function(e){return new l["Level"](e)}))};r.onAudioTrackSwitching=function e(t,r){var i=!!r.url;this.trackId=r.id;var n=this.fragCurrent;if(n!==null&&n!==void 0&&n.loader){n.loader.abort()}this.fragCurrent=null;this.clearWaitingFragment();if(!i){this.resetTransmuxer()}else{this.setInterval(b)}if(i){this.audioSwitch=true;this.state=a["State"].IDLE}else{this.state=a["State"].STOPPED}this.tick()};r.onManifestLoading=function e(){this.mainDetails=null;this.fragmentTracker.removeAllFragments();this.startPosition=this.lastCurrentTime=0;this.bufferFlushed=false};r.onLevelLoaded=function e(t,r){this.mainDetails=r.details};r.onAudioTrackLoaded=function e(t,r){var i;var n=this.levels;var s=r.details,o=r.id;if(!n){this.warn("Audio tracks were reset while loading level "+o);return}this.log("Track "+o+" loaded ["+s.startSN+","+s.endSN+"],duration:"+s.totalduration);var l=n[o];var u=0;if(s.live||(i=l.details)!==null&&i!==void 0&&i.live){var f=this.mainDetails;if(!s.fragments[0]){s.deltaUpdateFailed=true}if(s.deltaUpdateFailed||!f){return}if(!l.details&&s.hasProgramDateTime&&f.hasProgramDateTime){Object(g["alignMediaPlaylistByPDT"])(s,f);u=s.fragments[0].start}else{u=this.alignPlaylists(s,l.details)}}l.details=s;this.levelLastLoaded=o;if(!this.startFragRequested&&(this.mainDetails||!s.live)){this.setStartPosition(l.details,u)}if(this.state===a["State"].WAITING_TRACK&&!this.waitForCdnTuneIn(s)){this.state=a["State"].IDLE}this.tick()};r._handleFragmentLoadProgress=function e(t){var r;var i=t.frag,n=t.part,s=t.payload;var o=this.config,l=this.trackId,f=this.levels;if(!f){this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered");return}var v=f[l];console.assert(v,"Audio track is defined on fragment load progress");var g=v.details;console.assert(g,"Audio track details are defined on fragment load progress");var p=o.defaultAudioCodec||v.audioCodec||"mp4a.40.2";var y=this.transmuxer;if(!y){y=this.transmuxer=new d["default"](this.hls,u["PlaylistLevelType"].AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this))}var E=this.initPTS[i.cc];var T=(r=i.initSegment)===null||r===void 0?void 0:r.data;if(E!==undefined){var b=false;var S=n?n.index:-1;var A=S!==-1;var L=new h["ChunkMetadata"](i.level,i.sn,i.stats.chunkCount,s.byteLength,S,A);y.push(s,T,p,"",i,n,g.totalduration,b,L,E)}else{m["logger"].log("Unknown video PTS for cc "+i.cc+", waiting for video PTS before demuxing audio frag "+i.sn+" of ["+g.startSN+" ,"+g.endSN+"],track "+l);var D=this.waitingData=this.waitingData||{frag:i,part:n,cache:new c["default"],complete:false},k=D.cache;k.push(new Uint8Array(s));this.waitingVideoCC=this.videoTrackCC;this.state=a["State"].WAITING_INIT_PTS}};r._handleFragmentLoadComplete=function t(r){if(this.waitingData){this.waitingData.complete=true;return}e.prototype._handleFragmentLoadComplete.call(this,r)};r.onBufferReset=function e(){this.mediaBuffer=this.videoBuffer=null;this.loadedmetadata=false};r.onBufferCreated=function e(t,r){var i=r.tracks.audio;if(i){this.mediaBuffer=i.buffer}if(r.tracks.video){this.videoBuffer=r.tracks.video.buffer}};r.onFragBuffered=function e(t,r){var i=r.frag,a=r.part;if(i.type!==u["PlaylistLevelType"].AUDIO){return}if(this.fragContextChanged(i)){this.warn("Fragment "+i.sn+(a?" p: "+a.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+this.audioSwitch);return}if(i.sn!=="initSegment"){this.fragPrevious=i;if(this.audioSwitch){this.audioSwitch=false;this.hls.trigger(n["Events"].AUDIO_TRACK_SWITCHED,{id:this.trackId})}}this.fragBufferedComplete(i,a)};r.onError=function t(r,i){switch(i.details){case p["ErrorDetails"].FRAG_LOAD_ERROR:case p["ErrorDetails"].FRAG_LOAD_TIMEOUT:case p["ErrorDetails"].KEY_LOAD_ERROR:case p["ErrorDetails"].KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(u["PlaylistLevelType"].AUDIO,i);break;case p["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR:case p["ErrorDetails"].AUDIO_TRACK_LOAD_TIMEOUT:if(this.state!==a["State"].ERROR&&this.state!==a["State"].STOPPED){this.state=i.fatal?a["State"].ERROR:a["State"].IDLE;this.warn(i.details+" while loading frag, switching to "+this.state+" state")}break;case p["ErrorDetails"].BUFFER_FULL_ERROR:if(i.parent==="audio"&&(this.state===a["State"].PARSING||this.state===a["State"].PARSED)){var n=true;var s=this.getFwdBufferInfo(this.mediaBuffer,u["PlaylistLevelType"].AUDIO);if(s&&s.len>.5){n=!this.reduceMaxBufferLength(s.len)}if(n){this.warn("Buffer full error also media.currentTime is not buffered, flush audio buffer");this.fragCurrent=null;e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio")}this.resetLoadingState()}break}};r.onBufferFlushed=function e(t,r){var i=r.type;if(i===f["ElementaryStreamTypes"].AUDIO){this.bufferFlushed=true}};r._handleTransmuxComplete=function e(t){var r;var i="audio";var s=this.hls;var o=t.remuxResult,l=t.chunkMeta;var u=this.getCurrentContext(l);if(!u){this.warn("The loading context changed while buffering fragment "+l.sn+" of level "+l.level+". This chunk will not be buffered.");this.resetLiveStartWhenNotLoaded(l.level);return}var c=u.frag,d=u.part;var h=o.audio,v=o.text,g=o.id3,p=o.initSegment;if(this.fragContextChanged(c)){return}this.state=a["State"].PARSING;if(this.audioSwitch&&h){this.completeAudioSwitch()}if(p!==null&&p!==void 0&&p.tracks){this._bufferInitSegment(p.tracks,c,l);s.trigger(n["Events"].FRAG_PARSING_INIT_SEGMENT,{frag:c,id:i,tracks:p.tracks})}if(h){var m=h.startPTS,E=h.endPTS,T=h.startDTS,b=h.endDTS;if(d){d.elementaryStreams[f["ElementaryStreamTypes"].AUDIO]={startPTS:m,endPTS:E,startDTS:T,endDTS:b}}c.setElementaryStreamInfo(f["ElementaryStreamTypes"].AUDIO,m,E,T,b);this.bufferFragmentData(h,c,d,l)}if(g!==null&&g!==void 0&&(r=g.samples)!==null&&r!==void 0&&r.length){var S=y({frag:c,id:i},g);s.trigger(n["Events"].FRAG_PARSING_METADATA,S)}if(v){var A=y({frag:c,id:i},v);s.trigger(n["Events"].FRAG_PARSING_USERDATA,A)}};r._bufferInitSegment=function e(t,r,i){if(this.state!==a["State"].PARSING){return}if(t.video){delete t.video}var s=t.audio;if(!s){return}s.levelCodec=s.codec;s.id="audio";this.log("Init audio buffer, container:"+s.container+", codecs[parsed]=["+s.codec+"]");this.hls.trigger(n["Events"].BUFFER_CODECS,t);var o=s.initSegment;if(o!==null&&o!==void 0&&o.byteLength){var l={type:"audio",frag:r,part:null,chunkMeta:i,parent:r.type,data:o};this.hls.trigger(n["Events"].BUFFER_APPENDING,l)}this.tick()};r.loadFragment=function t(r,n,s){var l=this.fragmentTracker.getState(r);this.fragCurrent=r;if(this.audioSwitch||l===o["FragmentState"].NOT_LOADED||l===o["FragmentState"].PARTIAL){if(r.sn==="initSegment"){this._loadInitSegment(r)}else if(n.live&&!Object(i["isFiniteNumber"])(this.initPTS[r.cc])){this.log("Waiting for video PTS in continuity counter "+r.cc+" of live stream before loading audio fragment "+r.sn+" of level "+this.trackId);this.state=a["State"].WAITING_INIT_PTS}else{this.startFragRequested=true;e.prototype.loadFragment.call(this,r,n,s)}}};r.completeAudioSwitch=function t(){var r=this.hls,i=this.media,a=this.trackId;if(i){this.log("Switching audio track : flushing all audio");e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio")}this.audioSwitch=false;r.trigger(n["Events"].AUDIO_TRACK_SWITCHED,{id:a})};return t}(a["default"]);t["default"]=S},"./src/controller/audio-track-controller.ts":
25
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./base-stream-controller */"./src/controller/base-stream-controller.ts");var n=r(/*! ../events */"./src/events.ts");var s=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var o=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var l=r(/*! ../types/level */"./src/types/level.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var d=r(/*! ../demux/chunk-cache */"./src/demux/chunk-cache.ts");var c=r(/*! ../demux/transmuxer-interface */"./src/demux/transmuxer-interface.ts");var h=r(/*! ../types/transmuxer */"./src/types/transmuxer.ts");var v=r(/*! ./fragment-finders */"./src/controller/fragment-finders.ts");var g=r(/*! ../utils/discontinuities */"./src/utils/discontinuities.ts");var p=r(/*! ../errors */"./src/errors.ts");var m=r(/*! ../utils/logger */"./src/utils/logger.ts");function y(){y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return y.apply(this,arguments)}function E(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;T(e,t)}function T(e,t){T=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return T(e,t)}var b=100;var S=function(e){E(t,e);function t(t,r){var i;i=e.call(this,t,r,"[audio-stream-controller]")||this;i.videoBuffer=null;i.videoTrackCC=-1;i.waitingVideoCC=-1;i.audioSwitch=false;i.trackId=-1;i.waitingData=null;i.mainDetails=null;i.bufferFlushed=false;i._registerListeners();return i}var r=t.prototype;r.onHandlerDestroying=function e(){this._unregisterListeners();this.mainDetails=null};r._registerListeners=function e(){var t=this.hls;t.on(n["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(n["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(n["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(n["Events"].AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this);t.on(n["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.on(n["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.on(n["Events"].ERROR,this.onError,this);t.on(n["Events"].BUFFER_RESET,this.onBufferReset,this);t.on(n["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.on(n["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.on(n["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);t.on(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(n["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(n["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(n["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(n["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(n["Events"].AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this);t.off(n["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.off(n["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.off(n["Events"].ERROR,this.onError,this);t.off(n["Events"].BUFFER_RESET,this.onBufferReset,this);t.off(n["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.off(n["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.off(n["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);t.off(n["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r.onInitPtsFound=function e(t,r){var i=r.frag,n=r.id,s=r.initPTS;if(n==="main"){var o=i.cc;this.initPTS[i.cc]=s;this.log("InitPTS for cc: "+o+" found from main: "+s);this.videoTrackCC=o;if(this.state===a["State"].WAITING_INIT_PTS){this.tick()}}};r.startLoad=function e(t){if(!this.levels){this.startPosition=t;this.state=a["State"].STOPPED;return}var r=this.lastCurrentTime;this.stopLoad();this.setInterval(b);this.fragLoadError=0;if(r>0&&t===-1){this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3));this.state=a["State"].IDLE}else{this.loadedmetadata=false;this.state=a["State"].WAITING_TRACK}this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t;this.tick()};r.doTick=function t(){switch(this.state){case a["State"].IDLE:this.doTickIdle();break;case a["State"].WAITING_TRACK:{var r;var i=this.levels,n=this.trackId;var o=i===null||i===void 0?void 0:(r=i[n])===null||r===void 0?void 0:r.details;if(o){if(this.waitForCdnTuneIn(o)){break}this.state=a["State"].WAITING_INIT_PTS}break}case a["State"].FRAG_LOADING_WAITING_RETRY:{var l;var u=performance.now();var f=this.retryDate;if(!f||u>=f||(l=this.media)!==null&&l!==void 0&&l.seeking){this.log("RetryDate reached, switch back to IDLE state");this.state=a["State"].IDLE}break}case a["State"].WAITING_INIT_PTS:{var d=this.waitingData;if(d){var c=d.frag,h=d.part,g=d.cache,p=d.complete;if(this.initPTS[c.cc]!==undefined){this.waitingData=null;this.waitingVideoCC=-1;this.state=a["State"].FRAG_LOADING;var y=g.flush();var E={frag:c,part:h,payload:y,networkDetails:null};this._handleFragmentLoadProgress(E);if(p){e.prototype._handleFragmentLoadComplete.call(this,E)}}else if(this.videoTrackCC!==this.waitingVideoCC){m["logger"].log("Waiting fragment cc ("+c.cc+") cancelled because video is at cc "+this.videoTrackCC);this.clearWaitingFragment()}else{var T=this.getLoadPosition();var b=s["BufferHelper"].bufferInfo(this.mediaBuffer,T,this.config.maxBufferHole);var S=Object(v["fragmentWithinToleranceTest"])(b.end,this.config.maxFragLookUpTolerance,c);if(S<0){m["logger"].log("Waiting fragment cc ("+c.cc+") @ "+c.start+" cancelled because another fragment at "+b.end+" is needed");this.clearWaitingFragment()}}}else{this.state=a["State"].IDLE}}}this.onTickEnd()};r.clearWaitingFragment=function e(){var t=this.waitingData;if(t){this.fragmentTracker.removeFragment(t.frag);this.waitingData=null;this.waitingVideoCC=-1;this.state=a["State"].IDLE}};r.onTickEnd=function e(){var t=this.media;if(!t||!t.readyState){return}var r=this.mediaBuffer?this.mediaBuffer:t;var i=r.buffered;if(!this.loadedmetadata&&i.length){this.loadedmetadata=true}this.lastCurrentTime=t.currentTime};r.doTickIdle=function e(){var t,r;var i=this.hls,s=this.levels,o=this.media,l=this.trackId;var d=i.config;if(!s||!s[l]){return}if(!o&&(this.startFragRequested||!d.startFragPrefetch)){return}var c=s[l];var h=c.details;if(!h||h.live&&this.levelLastLoaded!==l||this.waitForCdnTuneIn(h)){this.state=a["State"].WAITING_TRACK;return}if(this.bufferFlushed){this.bufferFlushed=false;this.afterBufferFlushed(this.mediaBuffer?this.mediaBuffer:this.media,f["ElementaryStreamTypes"].AUDIO,u["PlaylistLevelType"].AUDIO)}var v=this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,u["PlaylistLevelType"].AUDIO);if(v===null){return}var g=v.len;var p=this.getMaxBufferLength();var m=this.audioSwitch;if(g>=p&&!m){return}if(!m&&this._streamEnded(v,h)){i.trigger(n["Events"].BUFFER_EOS,{type:"audio"});this.state=a["State"].ENDED;return}var y=h.fragments;var E=y[0].start;var T=v.end;if(m){var b=this.getLoadPosition();T=b;if(h.PTSKnown&&b<E){if(v.end>E||v.nextStart){this.log("Alt audio track ahead of main track, seek to start of alt audio track");o.currentTime=E+.05}}}var S=this.getNextFragment(T,h);if(!S){this.bufferFlushed=true;return}if(((t=S.decryptdata)===null||t===void 0?void 0:t.keyFormat)==="identity"&&!((r=S.decryptdata)!==null&&r!==void 0&&r.key)){this.loadKey(S,h)}else{this.loadFragment(S,h,T)}};r.getMaxBufferLength=function t(){var r=e.prototype.getMaxBufferLength.call(this);var i=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,u["PlaylistLevelType"].MAIN);if(i===null){return r}return Math.max(r,i.len)};r.onMediaDetaching=function t(){this.videoBuffer=null;e.prototype.onMediaDetaching.call(this)};r.onAudioTracksUpdated=function e(t,r){var i=r.audioTracks;this.resetTransmuxer();this.levels=i.map((function(e){return new l["Level"](e)}))};r.onAudioTrackSwitching=function e(t,r){var i=!!r.url;this.trackId=r.id;var n=this.fragCurrent;if(n!==null&&n!==void 0&&n.loader){n.loader.abort()}this.fragCurrent=null;this.clearWaitingFragment();if(!i){this.resetTransmuxer()}else{this.setInterval(b)}if(i){this.audioSwitch=true;this.state=a["State"].IDLE}else{this.state=a["State"].STOPPED}this.tick()};r.onManifestLoading=function e(){this.mainDetails=null;this.fragmentTracker.removeAllFragments();this.startPosition=this.lastCurrentTime=0;this.bufferFlushed=false};r.onLevelLoaded=function e(t,r){this.mainDetails=r.details};r.onAudioTrackLoaded=function e(t,r){var i;var n=this.levels;var s=r.details,o=r.id;if(!n){this.warn("Audio tracks were reset while loading level "+o);return}this.log("Track "+o+" loaded ["+s.startSN+","+s.endSN+"],duration:"+s.totalduration);var l=n[o];var u=0;if(s.live||(i=l.details)!==null&&i!==void 0&&i.live){var f=this.mainDetails;if(!s.fragments[0]){s.deltaUpdateFailed=true}if(s.deltaUpdateFailed||!f){return}if(!l.details&&s.hasProgramDateTime&&f.hasProgramDateTime){Object(g["alignMediaPlaylistByPDT"])(s,f);u=s.fragments[0].start}else{u=this.alignPlaylists(s,l.details)}}l.details=s;this.levelLastLoaded=o;if(!this.startFragRequested&&(this.mainDetails||!s.live)){this.setStartPosition(l.details,u)}if(this.state===a["State"].WAITING_TRACK&&!this.waitForCdnTuneIn(s)){this.state=a["State"].IDLE}this.tick()};r._handleFragmentLoadProgress=function e(t){var r;var i=t.frag,n=t.part,s=t.payload;var o=this.config,l=this.trackId,f=this.levels;if(!f){this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered");return}var v=f[l];console.assert(v,"Audio track is defined on fragment load progress");var g=v.details;console.assert(g,"Audio track details are defined on fragment load progress");var p=o.defaultAudioCodec||v.audioCodec||"mp4a.40.2";var y=this.transmuxer;if(!y){y=this.transmuxer=new c["default"](this.hls,u["PlaylistLevelType"].AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this))}var E=this.initPTS[i.cc];var T=(r=i.initSegment)===null||r===void 0?void 0:r.data;if(E!==undefined){var b=false;var S=n?n.index:-1;var A=S!==-1;var L=new h["ChunkMetadata"](i.level,i.sn,i.stats.chunkCount,s.byteLength,S,A);y.push(s,T,p,"",i,n,g.totalduration,b,L,E)}else{m["logger"].log("Unknown video PTS for cc "+i.cc+", waiting for video PTS before demuxing audio frag "+i.sn+" of ["+g.startSN+" ,"+g.endSN+"],track "+l);var D=this.waitingData=this.waitingData||{frag:i,part:n,cache:new d["default"],complete:false},k=D.cache;k.push(new Uint8Array(s));this.waitingVideoCC=this.videoTrackCC;this.state=a["State"].WAITING_INIT_PTS}};r._handleFragmentLoadComplete=function t(r){if(this.waitingData){this.waitingData.complete=true;return}e.prototype._handleFragmentLoadComplete.call(this,r)};r.onBufferReset=function e(){this.mediaBuffer=this.videoBuffer=null;this.loadedmetadata=false};r.onBufferCreated=function e(t,r){var i=r.tracks.audio;if(i){this.mediaBuffer=i.buffer}if(r.tracks.video){this.videoBuffer=r.tracks.video.buffer}};r.onFragBuffered=function e(t,r){var i=r.frag,a=r.part;if(i.type!==u["PlaylistLevelType"].AUDIO){return}if(this.fragContextChanged(i)){this.warn("Fragment "+i.sn+(a?" p: "+a.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+this.audioSwitch);return}if(i.sn!=="initSegment"){this.fragPrevious=i;if(this.audioSwitch){this.audioSwitch=false;this.hls.trigger(n["Events"].AUDIO_TRACK_SWITCHED,{id:this.trackId})}}this.fragBufferedComplete(i,a)};r.onError=function t(r,i){switch(i.details){case p["ErrorDetails"].FRAG_LOAD_ERROR:case p["ErrorDetails"].FRAG_LOAD_TIMEOUT:case p["ErrorDetails"].KEY_LOAD_ERROR:case p["ErrorDetails"].KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(u["PlaylistLevelType"].AUDIO,i);break;case p["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR:case p["ErrorDetails"].AUDIO_TRACK_LOAD_TIMEOUT:if(this.state!==a["State"].ERROR&&this.state!==a["State"].STOPPED){this.state=i.fatal?a["State"].ERROR:a["State"].IDLE;this.warn(i.details+" while loading frag, switching to "+this.state+" state")}break;case p["ErrorDetails"].BUFFER_FULL_ERROR:if(i.parent==="audio"&&(this.state===a["State"].PARSING||this.state===a["State"].PARSED)){var n=true;var s=this.getFwdBufferInfo(this.mediaBuffer,u["PlaylistLevelType"].AUDIO);if(s&&s.len>.5){n=!this.reduceMaxBufferLength(s.len)}if(n){this.warn("Buffer full error also media.currentTime is not buffered, flush audio buffer");this.fragCurrent=null;e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio")}this.resetLoadingState()}break}};r.onBufferFlushed=function e(t,r){var i=r.type;if(i===f["ElementaryStreamTypes"].AUDIO){this.bufferFlushed=true}};r._handleTransmuxComplete=function e(t){var r;var i="audio";var s=this.hls;var o=t.remuxResult,l=t.chunkMeta;var u=this.getCurrentContext(l);if(!u){this.warn("The loading context changed while buffering fragment "+l.sn+" of level "+l.level+". This chunk will not be buffered.");this.resetLiveStartWhenNotLoaded(l.level);return}var d=u.frag,c=u.part;var h=o.audio,v=o.text,g=o.id3,p=o.initSegment;if(this.fragContextChanged(d)){return}this.state=a["State"].PARSING;if(this.audioSwitch&&h){this.completeAudioSwitch()}if(p!==null&&p!==void 0&&p.tracks){this._bufferInitSegment(p.tracks,d,l);s.trigger(n["Events"].FRAG_PARSING_INIT_SEGMENT,{frag:d,id:i,tracks:p.tracks})}if(h){var m=h.startPTS,E=h.endPTS,T=h.startDTS,b=h.endDTS;if(c){c.elementaryStreams[f["ElementaryStreamTypes"].AUDIO]={startPTS:m,endPTS:E,startDTS:T,endDTS:b}}d.setElementaryStreamInfo(f["ElementaryStreamTypes"].AUDIO,m,E,T,b);this.bufferFragmentData(h,d,c,l)}if(g!==null&&g!==void 0&&(r=g.samples)!==null&&r!==void 0&&r.length){var S=y({frag:d,id:i},g);s.trigger(n["Events"].FRAG_PARSING_METADATA,S)}if(v){var A=y({frag:d,id:i},v);s.trigger(n["Events"].FRAG_PARSING_USERDATA,A)}};r._bufferInitSegment=function e(t,r,i){if(this.state!==a["State"].PARSING){return}if(t.video){delete t.video}var s=t.audio;if(!s){return}s.levelCodec=s.codec;s.id="audio";this.log("Init audio buffer, container:"+s.container+", codecs[parsed]=["+s.codec+"]");this.hls.trigger(n["Events"].BUFFER_CODECS,t);var o=s.initSegment;if(o!==null&&o!==void 0&&o.byteLength){var l={type:"audio",frag:r,part:null,chunkMeta:i,parent:r.type,data:o};this.hls.trigger(n["Events"].BUFFER_APPENDING,l)}this.tick()};r.loadFragment=function t(r,n,s){var l=this.fragmentTracker.getState(r);this.fragCurrent=r;if(this.audioSwitch||l===o["FragmentState"].NOT_LOADED||l===o["FragmentState"].PARTIAL){if(r.sn==="initSegment"){this._loadInitSegment(r)}else if(n.live&&!Object(i["isFiniteNumber"])(this.initPTS[r.cc])){this.log("Waiting for video PTS in continuity counter "+r.cc+" of live stream before loading audio fragment "+r.sn+" of level "+this.trackId);this.state=a["State"].WAITING_INIT_PTS}else{this.startFragRequested=true;e.prototype.loadFragment.call(this,r,n,s)}}};r.completeAudioSwitch=function t(){var r=this.hls,i=this.media,a=this.trackId;if(i){this.log("Switching audio track : flushing all audio");e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio")}this.audioSwitch=false;r.trigger(n["Events"].AUDIO_TRACK_SWITCHED,{id:a})};return t}(a["default"]);t["default"]=S},"./src/controller/audio-track-controller.ts":
26
26
  /*!**************************************************!*\
27
27
  !*** ./src/controller/audio-track-controller.ts ***!
28
28
  \**************************************************/
29
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ./base-playlist-controller */"./src/controller/base-playlist-controller.ts");var s=r(/*! ../types/loader */"./src/types/loader.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}function u(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;f(e,t)}function f(e,t){f=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return f(e,t)}var c=function(e){u(t,e);function t(t){var r;r=e.call(this,t,"[audio-track-controller]")||this;r.tracks=[];r.groupId=null;r.tracksInGroup=[];r.trackId=-1;r.trackName="";r.selectDefaultTrack=true;r.registerListeners();return r}var r=t.prototype;r.registerListeners=function e(){var t=this.hls;t.on(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.on(i["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.on(i["Events"].ERROR,this.onError,this)};r.unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.off(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.off(i["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.off(i["Events"].ERROR,this.onError,this)};r.destroy=function t(){this.unregisterListeners();this.tracks.length=0;this.tracksInGroup.length=0;e.prototype.destroy.call(this)};r.onManifestLoading=function e(){this.tracks=[];this.groupId=null;this.tracksInGroup=[];this.trackId=-1;this.trackName="";this.selectDefaultTrack=true};r.onManifestParsed=function e(t,r){this.tracks=r.audioTracks||[]};r.onAudioTrackLoaded=function e(t,r){var i=r.id,a=r.details;var n=this.tracksInGroup[i];if(!n){this.warn("Invalid audio track id "+i);return}var s=n.details;n.details=r.details;this.log("audioTrack "+i+" loaded ["+a.startSN+"-"+a.endSN+"]");if(i===this.trackId){this.retryCount=0;this.playlistLoaded(i,r,s)}};r.onLevelLoading=function e(t,r){this.switchLevel(r.level)};r.onLevelSwitching=function e(t,r){this.switchLevel(r.level)};r.switchLevel=function e(t){var r=this.hls.levels[t];if(!(r!==null&&r!==void 0&&r.audioGroupIds)){return}var a=r.audioGroupIds[r.urlId];if(this.groupId!==a){this.groupId=a;var n=this.tracks.filter((function(e){return!a||e.groupId===a}));if(this.selectDefaultTrack&&!n.some((function(e){return e.default}))){this.selectDefaultTrack=false}this.tracksInGroup=n;var s={audioTracks:n};this.log("Updating audio tracks, "+n.length+' track(s) found in "'+a+'" group-id');this.hls.trigger(i["Events"].AUDIO_TRACKS_UPDATED,s);this.selectInitialTrack()}};r.onError=function t(r,i){e.prototype.onError.call(this,r,i);if(i.fatal||!i.context){return}if(i.context.type===s["PlaylistContextType"].AUDIO_TRACK&&i.context.id===this.trackId&&i.context.groupId===this.groupId){this.retryLoadingOrFail(i)}};r.setAudioTrack=function e(t){var r=this.tracksInGroup;if(t<0||t>=r.length){this.warn("Invalid id passed to audio-track controller");return}this.clearTimer();var a=r[this.trackId];this.log("Now switching to audio-track index "+t);var n=r[t];var s=n.id,o=n.groupId,l=o===void 0?"":o,u=n.name,f=n.type,c=n.url;this.trackId=t;this.trackName=u;this.selectDefaultTrack=false;this.hls.trigger(i["Events"].AUDIO_TRACK_SWITCHING,{id:s,groupId:l,name:u,type:f,url:c});if(n.details&&!n.details.live){return}var d=this.switchParams(n.url,a===null||a===void 0?void 0:a.details);this.loadPlaylist(d)};r.selectInitialTrack=function e(){var t=this.tracksInGroup;console.assert(t.length,"Initial audio track should be selected when tracks are known");var r=this.trackName;var n=this.findTrackId(r)||this.findTrackId();if(n!==-1){this.setAudioTrack(n)}else{this.warn("No track found for running audio group-ID: "+this.groupId);this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR,fatal:true})}};r.findTrackId=function e(t){var r=this.tracksInGroup;for(var i=0;i<r.length;i++){var a=r[i];if(!this.selectDefaultTrack||a.default){if(!t||t===a.name){return a.id}}}return-1};r.loadPlaylist=function e(t){var r=this.tracksInGroup[this.trackId];if(this.shouldLoadTrack(r)){var a=r.id;var n=r.groupId;var s=r.url;if(t){try{s=t.addDirectives(s)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}}this.log("loading audio-track playlist for id: "+a);this.clearTimer();this.hls.trigger(i["Events"].AUDIO_TRACK_LOADING,{url:s,id:a,groupId:n,deliveryDirectives:t||null})}};l(t,[{key:"audioTracks",get:function e(){return this.tracksInGroup}},{key:"audioTrack",get:function e(){return this.trackId},set:function e(t){this.selectDefaultTrack=false;this.setAudioTrack(t)}}]);return t}(n["default"]);t["default"]=c},"./src/controller/base-playlist-controller.ts":
29
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ./base-playlist-controller */"./src/controller/base-playlist-controller.ts");var s=r(/*! ../types/loader */"./src/types/loader.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}function u(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;f(e,t)}function f(e,t){f=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return f(e,t)}var d=function(e){u(t,e);function t(t){var r;r=e.call(this,t,"[audio-track-controller]")||this;r.tracks=[];r.groupId=null;r.tracksInGroup=[];r.trackId=-1;r.trackName="";r.selectDefaultTrack=true;r.registerListeners();return r}var r=t.prototype;r.registerListeners=function e(){var t=this.hls;t.on(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.on(i["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.on(i["Events"].ERROR,this.onError,this)};r.unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.off(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.off(i["Events"].AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this);t.off(i["Events"].ERROR,this.onError,this)};r.destroy=function t(){this.unregisterListeners();this.tracks.length=0;this.tracksInGroup.length=0;e.prototype.destroy.call(this)};r.onManifestLoading=function e(){this.tracks=[];this.groupId=null;this.tracksInGroup=[];this.trackId=-1;this.trackName="";this.selectDefaultTrack=true};r.onManifestParsed=function e(t,r){this.tracks=r.audioTracks||[]};r.onAudioTrackLoaded=function e(t,r){var i=r.id,a=r.details;var n=this.tracksInGroup[i];if(!n){this.warn("Invalid audio track id "+i);return}var s=n.details;n.details=r.details;this.log("audioTrack "+i+" loaded ["+a.startSN+"-"+a.endSN+"]");if(i===this.trackId){this.retryCount=0;this.playlistLoaded(i,r,s)}};r.onLevelLoading=function e(t,r){this.switchLevel(r.level)};r.onLevelSwitching=function e(t,r){this.switchLevel(r.level)};r.switchLevel=function e(t){var r=this.hls.levels[t];if(!(r!==null&&r!==void 0&&r.audioGroupIds)){return}var a=r.audioGroupIds[r.urlId];if(this.groupId!==a){this.groupId=a;var n=this.tracks.filter((function(e){return!a||e.groupId===a}));if(this.selectDefaultTrack&&!n.some((function(e){return e.default}))){this.selectDefaultTrack=false}this.tracksInGroup=n;var s={audioTracks:n};this.log("Updating audio tracks, "+n.length+' track(s) found in "'+a+'" group-id');this.hls.trigger(i["Events"].AUDIO_TRACKS_UPDATED,s);this.selectInitialTrack()}};r.onError=function t(r,i){e.prototype.onError.call(this,r,i);if(i.fatal||!i.context){return}if(i.context.type===s["PlaylistContextType"].AUDIO_TRACK&&i.context.id===this.trackId&&i.context.groupId===this.groupId){this.retryLoadingOrFail(i)}};r.setAudioTrack=function e(t){var r=this.tracksInGroup;if(t<0||t>=r.length){this.warn("Invalid id passed to audio-track controller");return}this.clearTimer();var a=r[this.trackId];this.log("Now switching to audio-track index "+t);var n=r[t];var s=n.id,o=n.groupId,l=o===void 0?"":o,u=n.name,f=n.type,d=n.url;this.trackId=t;this.trackName=u;this.selectDefaultTrack=false;this.hls.trigger(i["Events"].AUDIO_TRACK_SWITCHING,{id:s,groupId:l,name:u,type:f,url:d});if(n.details&&!n.details.live){return}var c=this.switchParams(n.url,a===null||a===void 0?void 0:a.details);this.loadPlaylist(c)};r.selectInitialTrack=function e(){var t=this.tracksInGroup;console.assert(t.length,"Initial audio track should be selected when tracks are known");var r=this.trackName;var n=this.findTrackId(r)||this.findTrackId();if(n!==-1){this.setAudioTrack(n)}else{this.warn("No track found for running audio group-ID: "+this.groupId);this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR,fatal:true})}};r.findTrackId=function e(t){var r=this.tracksInGroup;for(var i=0;i<r.length;i++){var a=r[i];if(!this.selectDefaultTrack||a.default){if(!t||t===a.name){return a.id}}}return-1};r.loadPlaylist=function e(t){var r=this.tracksInGroup[this.trackId];if(this.shouldLoadTrack(r)){var a=r.id;var n=r.groupId;var s=r.url;if(t){try{s=t.addDirectives(s)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}}this.log("loading audio-track playlist for id: "+a);this.clearTimer();this.hls.trigger(i["Events"].AUDIO_TRACK_LOADING,{url:s,id:a,groupId:n,deliveryDirectives:t||null})}};l(t,[{key:"audioTracks",get:function e(){return this.tracksInGroup}},{key:"audioTrack",get:function e(){return this.trackId},set:function e(t){this.selectDefaultTrack=false;this.setAudioTrack(t)}}]);return t}(n["default"]);t["default"]=d},"./src/controller/base-playlist-controller.ts":
30
30
  /*!****************************************************!*\
31
31
  !*** ./src/controller/base-playlist-controller.ts ***!
32
32
  \****************************************************/
33
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return l}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../types/level */"./src/types/level.ts");var n=r(/*! ./level-helper */"./src/controller/level-helper.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=function(){function e(e,t){this.hls=void 0;this.timer=-1;this.canLoad=false;this.retryCount=0;this.log=void 0;this.warn=void 0;this.log=s["logger"].log.bind(s["logger"],t+":");this.warn=s["logger"].warn.bind(s["logger"],t+":");this.hls=e}var t=e.prototype;t.destroy=function e(){this.clearTimer();this.hls=this.log=this.warn=null};t.onError=function e(t,r){if(r.fatal&&r.type===o["ErrorTypes"].NETWORK_ERROR){this.clearTimer()}};t.clearTimer=function e(){clearTimeout(this.timer);this.timer=-1};t.startLoad=function e(){this.canLoad=true;this.retryCount=0;this.loadPlaylist()};t.stopLoad=function e(){this.canLoad=false;this.clearTimer()};t.switchParams=function e(t,r){var n=r===null||r===void 0?void 0:r.renditionReports;if(n){for(var s=0;s<n.length;s++){var o=n[s];var l=""+o.URI;if(l===t.substr(-l.length)){var u=parseInt(o["LAST-MSN"]);var f=parseInt(o["LAST-PART"]);if(r&&this.hls.config.lowLatencyMode){var c=Math.min(r.age-r.partTarget,r.targetduration);if(f!==undefined&&c>r.partTarget){f+=1}}if(Object(i["isFiniteNumber"])(u)){return new a["HlsUrlParameters"](u,Object(i["isFiniteNumber"])(f)?f:undefined,a["HlsSkip"].No)}}}}};t.loadPlaylist=function e(t){};t.shouldLoadTrack=function e(t){return this.canLoad&&t&&!!t.url&&(!t.details||t.details.live)};t.playlistLoaded=function e(t,r,i){var a=this;var s=r.details,o=r.stats;var l=o.loading.end?Math.max(0,self.performance.now()-o.loading.end):0;s.advancedDateTime=Date.now()-l;if(s.live||i!==null&&i!==void 0&&i.live){s.reloaded(i);if(i){this.log("live playlist "+t+" "+(s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:"MISSED"))}if(i&&s.fragments.length>0){Object(n["mergeDetails"])(i,s)}if(!this.canLoad||!s.live){return}var u;var f=undefined;var c=undefined;if(s.canBlockReload&&s.endSN&&s.advanced){var d=this.hls.config.lowLatencyMode;var h=s.lastPartSn;var v=s.endSN;var g=s.lastPartIndex;var p=g!==-1;var m=h===v;var y=d?0:g;if(p){f=m?v+1:h;c=m?y:g+1}else{f=v+1}var E=s.age;var T=E+s.ageHeader;var b=Math.min(T-s.partTarget,s.targetduration*1.5);if(b>0){if(i&&b>i.tuneInGoal){this.warn("CDN Tune-in goal increased from: "+i.tuneInGoal+" to: "+b+" with playlist age: "+s.age);b=0}else{var S=Math.floor(b/s.targetduration);f+=S;if(c!==undefined){var A=Math.round(b%s.targetduration/s.partTarget);c+=A}this.log("CDN Tune-in age: "+s.ageHeader+"s last advanced "+E.toFixed(2)+"s goal: "+b+" skip sn "+S+" to part "+c)}s.tuneInGoal=b}u=this.getDeliveryDirectives(s,r.deliveryDirectives,f,c);if(d||!m){this.loadPlaylist(u);return}}else{u=this.getDeliveryDirectives(s,r.deliveryDirectives,f,c)}var L=Object(n["computeReloadInterval"])(s,o);if(f!==undefined&&s.canBlockReload){L-=s.partTarget||1}this.log("reload live playlist "+t+" in "+Math.round(L)+" ms");this.timer=self.setTimeout((function(){return a.loadPlaylist(u)}),L)}else{this.clearTimer()}};t.getDeliveryDirectives=function e(t,r,i,n){var s=Object(a["getSkipValue"])(t,i);if(r!==null&&r!==void 0&&r.skip&&t.deltaUpdateFailed){i=r.msn;n=r.part;s=a["HlsSkip"].No}return new a["HlsUrlParameters"](i,n,s)};t.retryLoadingOrFail=function e(t){var r=this;var i=this.hls.config;var a=this.retryCount<i.levelLoadingMaxRetry;if(a){var n;this.retryCount++;if(t.details.indexOf("LoadTimeOut")>-1&&(n=t.context)!==null&&n!==void 0&&n.deliveryDirectives){this.warn("retry playlist loading #"+this.retryCount+' after "'+t.details+'"');this.loadPlaylist()}else{var s=Math.min(Math.pow(2,this.retryCount)*i.levelLoadingRetryDelay,i.levelLoadingMaxRetryTimeout);this.timer=self.setTimeout((function(){return r.loadPlaylist()}),s);this.warn("retry playlist loading #"+this.retryCount+" in "+s+' ms after "'+t.details+'"')}}else{this.warn('cannot recover from error "'+t.details+'"');this.clearTimer();t.fatal=true}return a};return e}()},"./src/controller/base-stream-controller.ts":
33
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return l}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../types/level */"./src/types/level.ts");var n=r(/*! ./level-helper */"./src/controller/level-helper.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=function(){function e(e,t){this.hls=void 0;this.timer=-1;this.canLoad=false;this.retryCount=0;this.log=void 0;this.warn=void 0;this.log=s["logger"].log.bind(s["logger"],t+":");this.warn=s["logger"].warn.bind(s["logger"],t+":");this.hls=e}var t=e.prototype;t.destroy=function e(){this.clearTimer();this.hls=this.log=this.warn=null};t.onError=function e(t,r){if(r.fatal&&r.type===o["ErrorTypes"].NETWORK_ERROR){this.clearTimer()}};t.clearTimer=function e(){clearTimeout(this.timer);this.timer=-1};t.startLoad=function e(){this.canLoad=true;this.retryCount=0;this.loadPlaylist()};t.stopLoad=function e(){this.canLoad=false;this.clearTimer()};t.switchParams=function e(t,r){var n=r===null||r===void 0?void 0:r.renditionReports;if(n){for(var s=0;s<n.length;s++){var o=n[s];var l=""+o.URI;if(l===t.substr(-l.length)){var u=parseInt(o["LAST-MSN"]);var f=parseInt(o["LAST-PART"]);if(r&&this.hls.config.lowLatencyMode){var d=Math.min(r.age-r.partTarget,r.targetduration);if(f!==undefined&&d>r.partTarget){f+=1}}if(Object(i["isFiniteNumber"])(u)){return new a["HlsUrlParameters"](u,Object(i["isFiniteNumber"])(f)?f:undefined,a["HlsSkip"].No)}}}}};t.loadPlaylist=function e(t){};t.shouldLoadTrack=function e(t){return this.canLoad&&t&&!!t.url&&(!t.details||t.details.live)};t.playlistLoaded=function e(t,r,i){var a=this;var s=r.details,o=r.stats;var l=o.loading.end?Math.max(0,self.performance.now()-o.loading.end):0;s.advancedDateTime=Date.now()-l;if(s.live||i!==null&&i!==void 0&&i.live){s.reloaded(i);if(i){this.log("live playlist "+t+" "+(s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:"MISSED"))}if(i&&s.fragments.length>0){Object(n["mergeDetails"])(i,s)}if(!this.canLoad||!s.live){return}var u;var f=undefined;var d=undefined;if(s.canBlockReload&&s.endSN&&s.advanced){var c=this.hls.config.lowLatencyMode;var h=s.lastPartSn;var v=s.endSN;var g=s.lastPartIndex;var p=g!==-1;var m=h===v;var y=c?0:g;if(p){f=m?v+1:h;d=m?y:g+1}else{f=v+1}var E=s.age;var T=E+s.ageHeader;var b=Math.min(T-s.partTarget,s.targetduration*1.5);if(b>0){if(i&&b>i.tuneInGoal){this.warn("CDN Tune-in goal increased from: "+i.tuneInGoal+" to: "+b+" with playlist age: "+s.age);b=0}else{var S=Math.floor(b/s.targetduration);f+=S;if(d!==undefined){var A=Math.round(b%s.targetduration/s.partTarget);d+=A}this.log("CDN Tune-in age: "+s.ageHeader+"s last advanced "+E.toFixed(2)+"s goal: "+b+" skip sn "+S+" to part "+d)}s.tuneInGoal=b}u=this.getDeliveryDirectives(s,r.deliveryDirectives,f,d);if(c||!m){this.loadPlaylist(u);return}}else{u=this.getDeliveryDirectives(s,r.deliveryDirectives,f,d)}var L=Object(n["computeReloadInterval"])(s,o);if(f!==undefined&&s.canBlockReload){L-=s.partTarget||1}this.log("reload live playlist "+t+" in "+Math.round(L)+" ms");this.timer=self.setTimeout((function(){return a.loadPlaylist(u)}),L)}else{this.clearTimer()}};t.getDeliveryDirectives=function e(t,r,i,n){var s=Object(a["getSkipValue"])(t,i);if(r!==null&&r!==void 0&&r.skip&&t.deltaUpdateFailed){i=r.msn;n=r.part;s=a["HlsSkip"].No}return new a["HlsUrlParameters"](i,n,s)};t.retryLoadingOrFail=function e(t){var r=this;var i=this.hls.config;var a=this.retryCount<i.levelLoadingMaxRetry;if(a){var n;this.retryCount++;if(t.details.indexOf("LoadTimeOut")>-1&&(n=t.context)!==null&&n!==void 0&&n.deliveryDirectives){this.warn("retry playlist loading #"+this.retryCount+' after "'+t.details+'"');this.loadPlaylist()}else{var s=Math.min(Math.pow(2,this.retryCount)*i.levelLoadingRetryDelay,i.levelLoadingMaxRetryTimeout);this.timer=self.setTimeout((function(){return r.loadPlaylist()}),s);this.warn("retry playlist loading #"+this.retryCount+" in "+s+' ms after "'+t.details+'"')}}else{this.warn('cannot recover from error "'+t.details+'"');this.clearTimer();t.fatal=true}return a};return e}()},"./src/controller/base-stream-controller.ts":
34
34
  /*!**************************************************!*\
35
35
  !*** ./src/controller/base-stream-controller.ts ***!
36
36
  \**************************************************/
37
- /*! exports provided: State, default */function(e,t,r){r.r(t);r.d(t,"State",(function(){return L}));r.d(t,"default",(function(){return D}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../task-loop */"./src/task-loop.ts");var n=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var s=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var o=r(/*! ../utils/logger */"./src/utils/logger.ts");var l=r(/*! ../events */"./src/events.ts");var u=r(/*! ../errors */"./src/errors.ts");var f=r(/*! ../types/transmuxer */"./src/types/transmuxer.ts");var c=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var d=r(/*! ../utils/discontinuities */"./src/utils/discontinuities.ts");var h=r(/*! ./fragment-finders */"./src/controller/fragment-finders.ts");var v=r(/*! ./level-helper */"./src/controller/level-helper.ts");var g=r(/*! ../loader/fragment-loader */"./src/loader/fragment-loader.ts");var p=r(/*! ../crypt/decrypter */"./src/crypt/decrypter.ts");var m=r(/*! ../utils/time-ranges */"./src/utils/time-ranges.ts");var y=r(/*! ../types/loader */"./src/types/loader.ts");function E(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function T(e,t,r){if(t)E(e.prototype,t);if(r)E(e,r);return e}function b(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function S(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;A(e,t)}function A(e,t){A=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return A(e,t)}var L={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",BACKTRACKING:"BACKTRACKING",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};var D=function(e){S(t,e);function t(t,r,i){var a;a=e.call(this)||this;a.hls=void 0;a.fragPrevious=null;a.fragCurrent=null;a.fragmentTracker=void 0;a.transmuxer=null;a._state=L.STOPPED;a.media=void 0;a.mediaBuffer=void 0;a.config=void 0;a.bitrateTest=false;a.lastCurrentTime=0;a.nextLoadPosition=0;a.startPosition=0;a.loadedmetadata=false;a.fragLoadError=0;a.retryDate=0;a.levels=null;a.fragmentLoader=void 0;a.levelLastLoaded=null;a.startFragRequested=false;a.decrypter=void 0;a.initPTS=[];a.onvseeking=null;a.onvended=null;a.logPrefix="";a.log=void 0;a.warn=void 0;a.logPrefix=i;a.log=o["logger"].log.bind(o["logger"],i+":");a.warn=o["logger"].warn.bind(o["logger"],i+":");a.hls=t;a.fragmentLoader=new g["default"](t.config);a.fragmentTracker=r;a.config=t.config;a.decrypter=new p["default"](t,t.config);t.on(l["Events"].KEY_LOADED,a.onKeyLoaded,b(a));return a}var r=t.prototype;r.doTick=function e(){this.onTickEnd()};r.onTickEnd=function e(){};r.startLoad=function e(t){};r.stopLoad=function e(){this.fragmentLoader.abort();var t=this.fragCurrent;if(t){this.fragmentTracker.removeFragment(t)}this.resetTransmuxer();this.fragCurrent=null;this.fragPrevious=null;this.clearInterval();this.clearNextTick();this.state=L.STOPPED};r._streamEnded=function e(t,r){var i=this.fragCurrent,a=this.fragmentTracker;if(!r.live&&i&&i.sn>=r.endSN&&!t.nextStart){var o=r.partList;if(o!==null&&o!==void 0&&o.length){var l=o[o.length-1];var u=s["BufferHelper"].isBuffered(this.media,l.start+l.duration/2);return u}var f=a.getState(i);return f===n["FragmentState"].PARTIAL||f===n["FragmentState"].OK}return false};r.onMediaAttached=function e(t,r){var i=this.media=this.mediaBuffer=r.media;this.onvseeking=this.onMediaSeeking.bind(this);this.onvended=this.onMediaEnded.bind(this);i.addEventListener("seeking",this.onvseeking);i.addEventListener("ended",this.onvended);var a=this.config;if(this.levels&&a.autoStartLoad&&this.state===L.STOPPED){this.startLoad(a.startPosition)}};r.onMediaDetaching=function e(){var t=this.media;if(t!==null&&t!==void 0&&t.ended){this.log("MSE detaching and video ended, reset startPosition");this.startPosition=this.lastCurrentTime=0}if(t){t.removeEventListener("seeking",this.onvseeking);t.removeEventListener("ended",this.onvended);this.onvseeking=this.onvended=null}this.media=this.mediaBuffer=null;this.loadedmetadata=false;this.fragmentTracker.removeAllFragments();this.stopLoad()};r.onMediaSeeking=function e(){var t=this.config,r=this.fragCurrent,a=this.media,n=this.mediaBuffer,o=this.state;var l=a?a.currentTime:0;var u=s["BufferHelper"].bufferInfo(n||a,l,t.maxBufferHole);this.log("media seeking to "+(Object(i["isFiniteNumber"])(l)?l.toFixed(3):l)+", state: "+o);if(o===L.ENDED){this.resetLoadingState()}else if(r&&!u.len){var f=t.maxFragLookUpTolerance;var c=r.start-f;var d=r.start+r.duration+f;var h=l>d;if(l<c||h){if(h&&r.loader){this.log("seeking outside of buffer while fragment load in progress, cancel fragment load");r.loader.abort()}this.resetLoadingState()}}if(a){this.lastCurrentTime=l}if(!this.loadedmetadata&&!u.len){this.nextLoadPosition=this.startPosition=l}this.tickImmediate()};r.onMediaEnded=function e(){this.startPosition=this.lastCurrentTime=0};r.onKeyLoaded=function e(t,r){if(this.state!==L.KEY_LOADING||r.frag!==this.fragCurrent||!this.levels){return}this.state=L.IDLE;var i=this.levels[r.frag.level].details;if(i){this.loadFragment(r.frag,i,r.frag.start)}};r.onHandlerDestroying=function t(){this.stopLoad();e.prototype.onHandlerDestroying.call(this)};r.onHandlerDestroyed=function t(){this.state=L.STOPPED;this.hls.off(l["Events"].KEY_LOADED,this.onKeyLoaded,this);if(this.fragmentLoader){this.fragmentLoader.destroy()}if(this.decrypter){this.decrypter.destroy()}this.hls=this.log=this.warn=this.decrypter=this.fragmentLoader=this.fragmentTracker=null;e.prototype.onHandlerDestroyed.call(this)};r.loadKey=function e(t,r){this.log("Loading key for "+t.sn+" of ["+r.startSN+"-"+r.endSN+"], "+(this.logPrefix==="[stream-controller]"?"level":"track")+" "+t.level);this.state=L.KEY_LOADING;this.fragCurrent=t;this.hls.trigger(l["Events"].KEY_LOADING,{frag:t})};r.loadFragment=function e(t,r,i){this._loadFragForPlayback(t,r,i)};r._loadFragForPlayback=function e(t,r,i){var a=this;var n=function e(r){if(a.fragContextChanged(t)){a.warn("Fragment "+t.sn+(r.part?" p: "+r.part.index:"")+" of level "+t.level+" was dropped during download.");a.fragmentTracker.removeFragment(t);return}t.stats.chunkCount++;a._handleFragmentLoadProgress(r)};this._doFragLoad(t,r,i,n).then((function(e){if(!e){return}a.fragLoadError=0;var r=a.state;if(a.fragContextChanged(t)){if(r===L.FRAG_LOADING||r===L.BACKTRACKING||!a.fragCurrent&&r===L.PARSING){a.fragmentTracker.removeFragment(t);a.state=L.IDLE}return}if("payload"in e){a.log("Loaded fragment "+t.sn+" of level "+t.level);a.hls.trigger(l["Events"].FRAG_LOADED,e);if(a.state===L.BACKTRACKING){a.fragmentTracker.backtrack(t,e);a.resetFragmentLoading(t);return}}a._handleFragmentLoadComplete(e)})).catch((function(e){a.warn(e);a.resetFragmentLoading(t)}))};r.flushMainBuffer=function e(t,r,i){if(i===void 0){i=null}if(!(t-r)){return}var a={startOffset:t,endOffset:r,type:i};this.fragLoadError=0;this.hls.trigger(l["Events"].BUFFER_FLUSHING,a)};r._loadInitSegment=function e(t){var r=this;this._doFragLoad(t).then((function(e){if(!e||r.fragContextChanged(t)||!r.levels){throw new Error("init load aborted")}return e})).then((function(e){var i=r.hls;var a=e.payload;var n=t.decryptdata;if(a&&a.byteLength>0&&n&&n.key&&n.iv&&n.method==="AES-128"){var s=self.performance.now();return r.decrypter.webCryptoDecrypt(new Uint8Array(a),n.key.buffer,n.iv.buffer).then((function(r){var a=self.performance.now();i.trigger(l["Events"].FRAG_DECRYPTED,{frag:t,payload:r,stats:{tstart:s,tdecrypt:a}});e.payload=r;return e}))}return e})).then((function(e){var i=r.fragCurrent,a=r.hls,n=r.levels;if(!n){throw new Error("init load aborted, missing levels")}var s=n[t.level].details;console.assert(s,"Level details are defined when init segment is loaded");var o=t.stats;r.state=L.IDLE;r.fragLoadError=0;t.data=new Uint8Array(e.payload);o.parsing.start=o.buffering.start=self.performance.now();o.parsing.end=o.buffering.end=self.performance.now();if(e.frag===i){a.trigger(l["Events"].FRAG_BUFFERED,{stats:o,frag:i,part:null,id:t.type})}r.tick()})).catch((function(e){r.warn(e);r.resetFragmentLoading(t)}))};r.fragContextChanged=function e(t){var r=this.fragCurrent;return!t||!r||t.level!==r.level||t.sn!==r.sn||t.urlId!==r.urlId};r.fragBufferedComplete=function e(t,r){var i=this.mediaBuffer?this.mediaBuffer:this.media;this.log("Buffered "+t.type+" sn: "+t.sn+(r?" part: "+r.index:"")+" of "+(this.logPrefix==="[stream-controller]"?"level":"track")+" "+t.level+" "+m["default"].toString(s["BufferHelper"].getBuffered(i)));this.state=L.IDLE;this.tick()};r._handleFragmentLoadComplete=function e(t){var r=this.transmuxer;if(!r){return}var i=t.frag,a=t.part,n=t.partsLoaded;var s=!n||n.length===0||n.some((function(e){return!e}));var o=new f["ChunkMetadata"](i.level,i.sn,i.stats.chunkCount+1,0,a?a.index:-1,!s);r.flush(o)};r._handleFragmentLoadProgress=function e(t){};r._doFragLoad=function e(t,r,a,n){var s=this;if(a===void 0){a=null}if(!this.levels){throw new Error("frag load aborted, missing levels")}a=Math.max(t.start,a||0);if(this.config.lowLatencyMode&&r){var o=r.partList;if(o&&n){if(a>t.end&&r.fragmentHint){t=r.fragmentHint}var u=this.getNextPart(o,t,a);if(u>-1){var f=o[u];this.log("Loading part sn: "+t.sn+" p: "+f.index+" cc: "+t.cc+" of playlist ["+r.startSN+"-"+r.endSN+"] parts [0-"+u+"-"+(o.length-1)+"] "+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(a.toFixed(3)));this.nextLoadPosition=f.start+f.duration;this.state=L.FRAG_LOADING;this.hls.trigger(l["Events"].FRAG_LOADING,{frag:t,part:o[u],targetBufferTime:a});return this.doFragPartsLoad(t,o,u,n).catch((function(e){return s.handleFragLoadError(e)}))}else if(!t.url||this.loadedEndOfParts(o,a)){return Promise.resolve(null)}}}this.log("Loading fragment "+t.sn+" cc: "+t.cc+" "+(r?"of ["+r.startSN+"-"+r.endSN+"] ":"")+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(a.toFixed(3)));if(Object(i["isFiniteNumber"])(t.sn)&&!this.bitrateTest){this.nextLoadPosition=t.start+t.duration}this.state=L.FRAG_LOADING;this.hls.trigger(l["Events"].FRAG_LOADING,{frag:t,targetBufferTime:a});return this.fragmentLoader.load(t,n).catch((function(e){return s.handleFragLoadError(e)}))};r.doFragPartsLoad=function e(t,r,i,a){var n=this;return new Promise((function(e,s){var o=[];var u=function i(u){var f=r[u];n.fragmentLoader.loadPart(t,f,a).then((function(a){o[f.index]=a;var s=a.part;n.hls.trigger(l["Events"].FRAG_LOADED,a);var c=r[u+1];if(c&&c.fragment===t){i(u+1)}else{return e({frag:t,part:s,partsLoaded:o})}})).catch(s)};u(i)}))};r.handleFragLoadError=function e(t){var r=t.data;if(r&&r.details===u["ErrorDetails"].INTERNAL_ABORTED){this.handleFragLoadAborted(r.frag,r.part)}else{this.hls.trigger(l["Events"].ERROR,r)}return null};r._handleTransmuxerFlush=function e(t){var r=this.getCurrentContext(t);if(!r||this.state!==L.PARSING){if(!this.fragCurrent){this.state=L.IDLE}return}var i=r.frag,a=r.part,n=r.level;var s=self.performance.now();i.stats.parsing.end=s;if(a){a.stats.parsing.end=s}this.updateLevelTiming(i,a,n,t.partial)};r.getCurrentContext=function e(t){var r=this.levels;var i=t.level,a=t.sn,n=t.part;if(!r||!r[i]){this.warn("Levels object was unset while buffering fragment "+a+" of level "+i+". The current chunk will not be buffered.");return null}var s=r[i];var o=n>-1?Object(v["getPartWith"])(s,a,n):null;var l=o?o.fragment:Object(v["getFragmentWithSN"])(s,a,this.fragCurrent);if(!l){return null}return{frag:l,part:o,level:s}};r.bufferFragmentData=function e(t,r,i,a){if(!t||this.state!==L.PARSING){return}var n=t.data1,s=t.data2;var o=n;if(n&&s){o=Object(c["appendUint8Array"])(n,s)}if(!o||!o.length){return}var u={type:t.type,frag:r,part:i,chunkMeta:a,parent:r.type,data:o};this.hls.trigger(l["Events"].BUFFER_APPENDING,u);if(t.dropped&&t.independent&&!i){this.flushBufferGap(r)}};r.flushBufferGap=function e(t){var r=this.media;if(!r){return}if(!s["BufferHelper"].isBuffered(r,r.currentTime)){this.flushMainBuffer(0,t.start);return}var i=r.currentTime;var a=s["BufferHelper"].bufferInfo(r,i,0);var n=t.duration;var o=Math.min(this.config.maxFragLookUpTolerance*2,n*.25);var l=Math.max(Math.min(t.start-o,a.end-o),i+o);if(t.start-l>o){this.flushMainBuffer(l,t.start)}};r.getFwdBufferInfo=function e(t,r){var a=this.config;var n=this.getLoadPosition();if(!Object(i["isFiniteNumber"])(n)){return null}var o=s["BufferHelper"].bufferInfo(t,n,a.maxBufferHole);if(o.len===0&&o.nextStart!==undefined){var l=this.fragmentTracker.getBufferedFrag(n,r);if(l&&o.nextStart<l.end){return s["BufferHelper"].bufferInfo(t,n,Math.max(o.nextStart,a.maxBufferHole))}}return o};r.getMaxBufferLength=function e(t){var r=this.config;var i;if(t){i=Math.max(8*r.maxBufferSize/t,r.maxBufferLength)}else{i=r.maxBufferLength}return Math.min(i,r.maxMaxBufferLength)};r.reduceMaxBufferLength=function e(t){var r=this.config;var i=t||r.maxBufferLength;if(r.maxMaxBufferLength>=i){r.maxMaxBufferLength/=2;this.warn("Reduce max buffer length to "+r.maxMaxBufferLength+"s");return true}return false};r.getNextFragment=function e(t,r){var i,a;var n=r.fragments;var s=n.length;if(!s){return null}var o=this.config;var l=n[0].start;var u;if(r.live){var f=o.initialLiveManifestSize;if(s<f){this.warn("Not enough fragments to start playback (have: "+s+", need: "+f+")");return null}if(!r.PTSKnown&&!this.startFragRequested&&this.startPosition===-1){u=this.getInitialLiveFragment(r,n);this.startPosition=u?this.hls.liveSyncPosition||u.start:t}}else if(t<=l){u=n[0]}if(!u){var c=o.lowLatencyMode?r.partEnd:r.fragmentEnd;u=this.getFragmentAtPosition(t,c,r)}if((i=u)!==null&&i!==void 0&&i.initSegment&&!((a=u)!==null&&a!==void 0&&a.initSegment.data)&&!this.bitrateTest){u=u.initSegment}return u};r.getNextPart=function e(t,r,i){var a=-1;var n=false;var s=true;for(var o=0,l=t.length;o<l;o++){var u=t[o];s=s&&!u.independent;if(a>-1&&i<u.start){break}var f=u.loaded;if(!f&&(n||u.independent||s)&&u.fragment===r){a=o}n=f}return a};r.loadedEndOfParts=function e(t,r){var i=t[t.length-1];return i&&r>i.start&&i.loaded};r.getInitialLiveFragment=function e(t,r){var i=this.fragPrevious;var a=null;if(i){if(t.hasProgramDateTime){this.log("Live playlist, switching playlist, load frag with same PDT: "+i.programDateTime);a=Object(h["findFragmentByPDT"])(r,i.endProgramDateTime,this.config.maxFragLookUpTolerance)}if(!a){var n=i.sn+1;if(n>=t.startSN&&n<=t.endSN){var s=r[n-t.startSN];if(i.cc===s.cc){a=s;this.log("Live playlist, switching playlist, load frag with next SN: "+a.sn)}}if(!a){a=Object(h["findFragWithCC"])(r,i.cc);if(a){this.log("Live playlist, switching playlist, load frag with same CC: "+a.sn)}}}}else{var o=this.hls.liveSyncPosition;if(o!==null){a=this.getFragmentAtPosition(o,this.bitrateTest?t.fragmentEnd:t.edge,t)}}return a};r.getFragmentAtPosition=function e(t,r,i){var a=this.config,s=this.fragPrevious;var o=i.fragments,l=i.endSN;var u=i.fragmentHint;var f=a.maxFragLookUpTolerance;var c=!!(a.lowLatencyMode&&i.partList&&u);if(c&&u&&!this.bitrateTest){o=o.concat(u);l=u.sn}var d;if(t<r){var v=t>r-f?0:f;d=Object(h["findFragmentByPTS"])(s,o,t,v)}else{d=o[o.length-1]}if(d){var g=d.sn-i.startSN;var p=s&&d.level===s.level;var m=o[g+1];var y=this.fragmentTracker.getState(d);if(y===n["FragmentState"].BACKTRACKED){d=null;var E=g;while(o[E]&&this.fragmentTracker.getState(o[E])===n["FragmentState"].BACKTRACKED){if(!s){d=o[--E]}else{d=o[E--]}}if(!d){d=m}}else if(s&&d.sn===s.sn&&!c){if(p){if(d.sn<l&&this.fragmentTracker.getState(m)!==n["FragmentState"].OK){this.log("SN "+d.sn+" just loaded, load next one: "+m.sn);d=m}else{d=null}}}}return d};r.synchronizeToLiveEdge=function e(t){var r=this.config,i=this.media;if(!i){return}var a=this.hls.liveSyncPosition;var n=i.currentTime;var s=t.fragments[0].start;var o=t.edge;var l=n>=s-r.maxFragLookUpTolerance&&n<=o;if(a!==null&&i.duration>a&&(n<a||!l)){var u=r.liveMaxLatencyDuration!==undefined?r.liveMaxLatencyDuration:r.liveMaxLatencyDurationCount*t.targetduration;if(!l&&i.readyState<4||n<o-u){if(!this.loadedmetadata){this.nextLoadPosition=a}if(i.readyState){this.warn("Playback: "+n.toFixed(3)+" is located too far from the end of live sliding playlist: "+o+", reset currentTime to : "+a.toFixed(3));i.currentTime=a}}}};r.alignPlaylists=function e(t,r){var a=this.levels,n=this.levelLastLoaded,s=this.fragPrevious;var o=n!==null?a[n]:null;var l=t.fragments.length;if(!l){this.warn("No fragments in live playlist");return 0}var u=t.fragments[0].start;var f=!r;var c=t.alignedSliding&&Object(i["isFiniteNumber"])(u);if(f||!c&&!u){Object(d["alignStream"])(s,o,t);var h=t.fragments[0].start;this.log("Live playlist sliding: "+h.toFixed(2)+" start-sn: "+(r?r.startSN:"na")+"->"+t.startSN+" prev-sn: "+(s?s.sn:"na")+" fragments: "+l);return h}return u};r.waitForCdnTuneIn=function e(t){var r=3;return t.live&&t.canBlockReload&&t.tuneInGoal>Math.max(t.partHoldBack,t.partTarget*r)};r.setStartPosition=function e(t,r){var a=this.startPosition;if(a<r){a=-1}if(a===-1||this.lastCurrentTime===-1){var n=t.startTimeOffset;if(Object(i["isFiniteNumber"])(n)){a=r+n;if(n<0){a+=t.totalduration}a=Math.min(Math.max(r,a),r+t.totalduration);this.log("Start time offset "+n+" found in playlist, adjust startPosition to "+a);this.startPosition=a}else if(t.live){a=this.hls.liveSyncPosition||r}else{this.startPosition=a=0}this.lastCurrentTime=a}this.nextLoadPosition=a};r.getLoadPosition=function e(){var t=this.media;var r=0;if(this.loadedmetadata&&t){r=t.currentTime}else if(this.nextLoadPosition){r=this.nextLoadPosition}return r};r.handleFragLoadAborted=function e(t,r){if(this.transmuxer&&t.sn!=="initSegment"&&t.stats.aborted){this.warn("Fragment "+t.sn+(r?" part"+r.index:"")+" of level "+t.level+" was aborted");this.resetFragmentLoading(t)}};r.resetFragmentLoading=function e(t){if(!this.fragCurrent||!this.fragContextChanged(t)){this.state=L.IDLE}};r.onFragmentOrKeyLoadError=function e(t,r){if(r.fatal){return}var i=r.frag;if(!i||i.type!==t){return}var a=this.fragCurrent;console.assert(a&&i.sn===a.sn&&i.level===a.level&&i.urlId===a.urlId,"Frag load error must match current frag to retry");var n=this.config;if(this.fragLoadError+1<=n.fragLoadingMaxRetry){if(this.resetLiveStartWhenNotLoaded(i.level)){return}var s=Math.min(Math.pow(2,this.fragLoadError)*n.fragLoadingRetryDelay,n.fragLoadingMaxRetryTimeout);this.warn("Fragment "+i.sn+" of "+t+" "+i.level+" failed to load, retrying in "+s+"ms");this.retryDate=self.performance.now()+s;this.fragLoadError++;this.state=L.FRAG_LOADING_WAITING_RETRY}else if(r.levelRetry){if(t===y["PlaylistLevelType"].AUDIO){this.fragCurrent=null}this.fragLoadError=0;this.state=L.IDLE}else{o["logger"].error(r.details+" reaches max retry, redispatch as fatal ...");r.fatal=true;this.hls.stopLoad();this.state=L.ERROR}};r.afterBufferFlushed=function e(t,r,i){if(!t){return}var a=s["BufferHelper"].getBuffered(t);this.fragmentTracker.detectEvictedFragments(r,a,i);if(this.state===L.ENDED){this.resetLoadingState()}};r.resetLoadingState=function e(){this.fragCurrent=null;this.fragPrevious=null;this.state=L.IDLE};r.resetLiveStartWhenNotLoaded=function e(t){if(!this.loadedmetadata){this.startFragRequested=false;var r=this.levels?this.levels[t].details:null;if(r!==null&&r!==void 0&&r.live){this.startPosition=-1;this.setStartPosition(r,0);this.resetLoadingState();return true}this.nextLoadPosition=this.startPosition}return false};r.updateLevelTiming=function e(t,r,i,a){var n=this;var s=i.details;console.assert(!!s,"level.details must be defined");var o=Object.keys(t.elementaryStreams).reduce((function(e,r){var o=t.elementaryStreams[r];if(o){var u=o.endPTS-o.startPTS;if(u<=0){n.warn("Could not parse fragment "+t.sn+" "+r+" duration reliably ("+u+") resetting transmuxer to fallback to playlist timing");n.resetTransmuxer();return e||false}var f=a?0:Object(v["updateFragPTSDTS"])(s,t,o.startPTS,o.endPTS,o.startDTS,o.endDTS);n.hls.trigger(l["Events"].LEVEL_PTS_UPDATED,{details:s,level:i,drift:f,type:r,frag:t,start:o.startPTS,end:o.endPTS});return true}return e}),false);if(o){this.state=L.PARSED;this.hls.trigger(l["Events"].FRAG_PARSED,{frag:t,part:r})}else{this.resetLoadingState()}};r.resetTransmuxer=function e(){if(this.transmuxer){this.transmuxer.destroy();this.transmuxer=null}};T(t,[{key:"state",get:function e(){return this._state},set:function e(t){var r=this._state;if(r!==t){this._state=t;this.log(r+"->"+t)}}}]);return t}(a["default"])},"./src/controller/buffer-controller.ts":
37
+ /*! exports provided: State, default */function(e,t,r){r.r(t);r.d(t,"State",(function(){return L}));r.d(t,"default",(function(){return D}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../task-loop */"./src/task-loop.ts");var n=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var s=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var o=r(/*! ../utils/logger */"./src/utils/logger.ts");var l=r(/*! ../events */"./src/events.ts");var u=r(/*! ../errors */"./src/errors.ts");var f=r(/*! ../types/transmuxer */"./src/types/transmuxer.ts");var d=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var c=r(/*! ../utils/discontinuities */"./src/utils/discontinuities.ts");var h=r(/*! ./fragment-finders */"./src/controller/fragment-finders.ts");var v=r(/*! ./level-helper */"./src/controller/level-helper.ts");var g=r(/*! ../loader/fragment-loader */"./src/loader/fragment-loader.ts");var p=r(/*! ../crypt/decrypter */"./src/crypt/decrypter.ts");var m=r(/*! ../utils/time-ranges */"./src/utils/time-ranges.ts");var y=r(/*! ../types/loader */"./src/types/loader.ts");function E(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function T(e,t,r){if(t)E(e.prototype,t);if(r)E(e,r);return e}function b(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function S(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;A(e,t)}function A(e,t){A=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return A(e,t)}var L={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",BACKTRACKING:"BACKTRACKING",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};var D=function(e){S(t,e);function t(t,r,i){var a;a=e.call(this)||this;a.hls=void 0;a.fragPrevious=null;a.fragCurrent=null;a.fragmentTracker=void 0;a.transmuxer=null;a._state=L.STOPPED;a.media=void 0;a.mediaBuffer=void 0;a.config=void 0;a.bitrateTest=false;a.lastCurrentTime=0;a.nextLoadPosition=0;a.startPosition=0;a.loadedmetadata=false;a.fragLoadError=0;a.retryDate=0;a.levels=null;a.fragmentLoader=void 0;a.levelLastLoaded=null;a.startFragRequested=false;a.decrypter=void 0;a.initPTS=[];a.onvseeking=null;a.onvended=null;a.logPrefix="";a.log=void 0;a.warn=void 0;a.logPrefix=i;a.log=o["logger"].log.bind(o["logger"],i+":");a.warn=o["logger"].warn.bind(o["logger"],i+":");a.hls=t;a.fragmentLoader=new g["default"](t.config);a.fragmentTracker=r;a.config=t.config;a.decrypter=new p["default"](t,t.config);t.on(l["Events"].KEY_LOADED,a.onKeyLoaded,b(a));return a}var r=t.prototype;r.doTick=function e(){this.onTickEnd()};r.onTickEnd=function e(){};r.startLoad=function e(t){};r.stopLoad=function e(){this.fragmentLoader.abort();var t=this.fragCurrent;if(t){this.fragmentTracker.removeFragment(t)}this.resetTransmuxer();this.fragCurrent=null;this.fragPrevious=null;this.clearInterval();this.clearNextTick();this.state=L.STOPPED};r._streamEnded=function e(t,r){var i=this.fragCurrent,a=this.fragmentTracker;if(!r.live&&i&&i.sn>=r.endSN&&!t.nextStart){var o=r.partList;if(o!==null&&o!==void 0&&o.length){var l=o[o.length-1];var u=s["BufferHelper"].isBuffered(this.media,l.start+l.duration/2);return u}var f=a.getState(i);return f===n["FragmentState"].PARTIAL||f===n["FragmentState"].OK}return false};r.onMediaAttached=function e(t,r){var i=this.media=this.mediaBuffer=r.media;this.onvseeking=this.onMediaSeeking.bind(this);this.onvended=this.onMediaEnded.bind(this);i.addEventListener("seeking",this.onvseeking);i.addEventListener("ended",this.onvended);var a=this.config;if(this.levels&&a.autoStartLoad&&this.state===L.STOPPED){this.startLoad(a.startPosition)}};r.onMediaDetaching=function e(){var t=this.media;if(t!==null&&t!==void 0&&t.ended){this.log("MSE detaching and video ended, reset startPosition");this.startPosition=this.lastCurrentTime=0}if(t){t.removeEventListener("seeking",this.onvseeking);t.removeEventListener("ended",this.onvended);this.onvseeking=this.onvended=null}this.media=this.mediaBuffer=null;this.loadedmetadata=false;this.fragmentTracker.removeAllFragments();this.stopLoad()};r.onMediaSeeking=function e(){var t=this.config,r=this.fragCurrent,a=this.media,n=this.mediaBuffer,o=this.state;var l=a?a.currentTime:0;var u=s["BufferHelper"].bufferInfo(n||a,l,t.maxBufferHole);this.log("media seeking to "+(Object(i["isFiniteNumber"])(l)?l.toFixed(3):l)+", state: "+o);if(o===L.ENDED){this.resetLoadingState()}else if(r&&!u.len){var f=t.maxFragLookUpTolerance;var d=r.start-f;var c=r.start+r.duration+f;var h=l>c;if(l<d||h){if(h&&r.loader){this.log("seeking outside of buffer while fragment load in progress, cancel fragment load");r.loader.abort()}this.resetLoadingState()}}if(a){this.lastCurrentTime=l}if(!this.loadedmetadata&&!u.len){this.nextLoadPosition=this.startPosition=l}this.tickImmediate()};r.onMediaEnded=function e(){this.startPosition=this.lastCurrentTime=0};r.onKeyLoaded=function e(t,r){if(this.state!==L.KEY_LOADING||r.frag!==this.fragCurrent||!this.levels){return}this.state=L.IDLE;var i=this.levels[r.frag.level].details;if(i){this.loadFragment(r.frag,i,r.frag.start)}};r.onHandlerDestroying=function t(){this.stopLoad();e.prototype.onHandlerDestroying.call(this)};r.onHandlerDestroyed=function t(){this.state=L.STOPPED;this.hls.off(l["Events"].KEY_LOADED,this.onKeyLoaded,this);if(this.fragmentLoader){this.fragmentLoader.destroy()}if(this.decrypter){this.decrypter.destroy()}this.hls=this.log=this.warn=this.decrypter=this.fragmentLoader=this.fragmentTracker=null;e.prototype.onHandlerDestroyed.call(this)};r.loadKey=function e(t,r){this.log("Loading key for "+t.sn+" of ["+r.startSN+"-"+r.endSN+"], "+(this.logPrefix==="[stream-controller]"?"level":"track")+" "+t.level);this.state=L.KEY_LOADING;this.fragCurrent=t;this.hls.trigger(l["Events"].KEY_LOADING,{frag:t})};r.loadFragment=function e(t,r,i){this._loadFragForPlayback(t,r,i)};r._loadFragForPlayback=function e(t,r,i){var a=this;var n=function e(r){if(a.fragContextChanged(t)){a.warn("Fragment "+t.sn+(r.part?" p: "+r.part.index:"")+" of level "+t.level+" was dropped during download.");a.fragmentTracker.removeFragment(t);return}t.stats.chunkCount++;a._handleFragmentLoadProgress(r)};this._doFragLoad(t,r,i,n).then((function(e){if(!e){return}a.fragLoadError=0;var r=a.state;if(a.fragContextChanged(t)){if(r===L.FRAG_LOADING||r===L.BACKTRACKING||!a.fragCurrent&&r===L.PARSING){a.fragmentTracker.removeFragment(t);a.state=L.IDLE}return}if("payload"in e){a.log("Loaded fragment "+t.sn+" of level "+t.level);a.hls.trigger(l["Events"].FRAG_LOADED,e);if(a.state===L.BACKTRACKING){a.fragmentTracker.backtrack(t,e);a.resetFragmentLoading(t);return}}a._handleFragmentLoadComplete(e)})).catch((function(e){a.warn(e);a.resetFragmentLoading(t)}))};r.flushMainBuffer=function e(t,r,i){if(i===void 0){i=null}if(!(t-r)){return}var a={startOffset:t,endOffset:r,type:i};this.fragLoadError=0;this.hls.trigger(l["Events"].BUFFER_FLUSHING,a)};r._loadInitSegment=function e(t){var r=this;this._doFragLoad(t).then((function(e){if(!e||r.fragContextChanged(t)||!r.levels){throw new Error("init load aborted")}return e})).then((function(e){var i=r.hls;var a=e.payload;var n=t.decryptdata;if(a&&a.byteLength>0&&n&&n.key&&n.iv&&n.method==="AES-128"){var s=self.performance.now();return r.decrypter.webCryptoDecrypt(new Uint8Array(a),n.key.buffer,n.iv.buffer).then((function(r){var a=self.performance.now();i.trigger(l["Events"].FRAG_DECRYPTED,{frag:t,payload:r,stats:{tstart:s,tdecrypt:a}});e.payload=r;return e}))}return e})).then((function(e){var i=r.fragCurrent,a=r.hls,n=r.levels;if(!n){throw new Error("init load aborted, missing levels")}var s=n[t.level].details;console.assert(s,"Level details are defined when init segment is loaded");var o=t.stats;r.state=L.IDLE;r.fragLoadError=0;t.data=new Uint8Array(e.payload);o.parsing.start=o.buffering.start=self.performance.now();o.parsing.end=o.buffering.end=self.performance.now();if(e.frag===i){a.trigger(l["Events"].FRAG_BUFFERED,{stats:o,frag:i,part:null,id:t.type})}r.tick()})).catch((function(e){r.warn(e);r.resetFragmentLoading(t)}))};r.fragContextChanged=function e(t){var r=this.fragCurrent;return!t||!r||t.level!==r.level||t.sn!==r.sn||t.urlId!==r.urlId};r.fragBufferedComplete=function e(t,r){var i=this.mediaBuffer?this.mediaBuffer:this.media;this.log("Buffered "+t.type+" sn: "+t.sn+(r?" part: "+r.index:"")+" of "+(this.logPrefix==="[stream-controller]"?"level":"track")+" "+t.level+" "+m["default"].toString(s["BufferHelper"].getBuffered(i)));this.state=L.IDLE;this.tick()};r._handleFragmentLoadComplete=function e(t){var r=this.transmuxer;if(!r){return}var i=t.frag,a=t.part,n=t.partsLoaded;var s=!n||n.length===0||n.some((function(e){return!e}));var o=new f["ChunkMetadata"](i.level,i.sn,i.stats.chunkCount+1,0,a?a.index:-1,!s);r.flush(o)};r._handleFragmentLoadProgress=function e(t){};r._doFragLoad=function e(t,r,a,n){var s=this;if(a===void 0){a=null}if(!this.levels){throw new Error("frag load aborted, missing levels")}a=Math.max(t.start,a||0);if(this.config.lowLatencyMode&&r){var o=r.partList;if(o&&n){if(a>t.end&&r.fragmentHint){t=r.fragmentHint}var u=this.getNextPart(o,t,a);if(u>-1){var f=o[u];this.log("Loading part sn: "+t.sn+" p: "+f.index+" cc: "+t.cc+" of playlist ["+r.startSN+"-"+r.endSN+"] parts [0-"+u+"-"+(o.length-1)+"] "+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(a.toFixed(3)));this.nextLoadPosition=f.start+f.duration;this.state=L.FRAG_LOADING;this.hls.trigger(l["Events"].FRAG_LOADING,{frag:t,part:o[u],targetBufferTime:a});return this.doFragPartsLoad(t,o,u,n).catch((function(e){return s.handleFragLoadError(e)}))}else if(!t.url||this.loadedEndOfParts(o,a)){return Promise.resolve(null)}}}this.log("Loading fragment "+t.sn+" cc: "+t.cc+" "+(r?"of ["+r.startSN+"-"+r.endSN+"] ":"")+(this.logPrefix==="[stream-controller]"?"level":"track")+": "+t.level+", target: "+parseFloat(a.toFixed(3)));if(Object(i["isFiniteNumber"])(t.sn)&&!this.bitrateTest){this.nextLoadPosition=t.start+t.duration}this.state=L.FRAG_LOADING;this.hls.trigger(l["Events"].FRAG_LOADING,{frag:t,targetBufferTime:a});return this.fragmentLoader.load(t,n).catch((function(e){return s.handleFragLoadError(e)}))};r.doFragPartsLoad=function e(t,r,i,a){var n=this;return new Promise((function(e,s){var o=[];var u=function i(u){var f=r[u];n.fragmentLoader.loadPart(t,f,a).then((function(a){o[f.index]=a;var s=a.part;n.hls.trigger(l["Events"].FRAG_LOADED,a);var d=r[u+1];if(d&&d.fragment===t){i(u+1)}else{return e({frag:t,part:s,partsLoaded:o})}})).catch(s)};u(i)}))};r.handleFragLoadError=function e(t){var r=t.data;if(r&&r.details===u["ErrorDetails"].INTERNAL_ABORTED){this.handleFragLoadAborted(r.frag,r.part)}else{this.hls.trigger(l["Events"].ERROR,r)}return null};r._handleTransmuxerFlush=function e(t){var r=this.getCurrentContext(t);if(!r||this.state!==L.PARSING){if(!this.fragCurrent){this.state=L.IDLE}return}var i=r.frag,a=r.part,n=r.level;var s=self.performance.now();i.stats.parsing.end=s;if(a){a.stats.parsing.end=s}this.updateLevelTiming(i,a,n,t.partial)};r.getCurrentContext=function e(t){var r=this.levels;var i=t.level,a=t.sn,n=t.part;if(!r||!r[i]){this.warn("Levels object was unset while buffering fragment "+a+" of level "+i+". The current chunk will not be buffered.");return null}var s=r[i];var o=n>-1?Object(v["getPartWith"])(s,a,n):null;var l=o?o.fragment:Object(v["getFragmentWithSN"])(s,a,this.fragCurrent);if(!l){return null}return{frag:l,part:o,level:s}};r.bufferFragmentData=function e(t,r,i,a){if(!t||this.state!==L.PARSING){return}var n=t.data1,s=t.data2;var o=n;if(n&&s){o=Object(d["appendUint8Array"])(n,s)}if(!o||!o.length){return}var u={type:t.type,frag:r,part:i,chunkMeta:a,parent:r.type,data:o};this.hls.trigger(l["Events"].BUFFER_APPENDING,u);if(t.dropped&&t.independent&&!i){this.flushBufferGap(r)}};r.flushBufferGap=function e(t){var r=this.media;if(!r){return}if(!s["BufferHelper"].isBuffered(r,r.currentTime)){this.flushMainBuffer(0,t.start);return}var i=r.currentTime;var a=s["BufferHelper"].bufferInfo(r,i,0);var n=t.duration;var o=Math.min(this.config.maxFragLookUpTolerance*2,n*.25);var l=Math.max(Math.min(t.start-o,a.end-o),i+o);if(t.start-l>o){this.flushMainBuffer(l,t.start)}};r.getFwdBufferInfo=function e(t,r){var a=this.config;var n=this.getLoadPosition();if(!Object(i["isFiniteNumber"])(n)){return null}var o=s["BufferHelper"].bufferInfo(t,n,a.maxBufferHole);if(o.len===0&&o.nextStart!==undefined){var l=this.fragmentTracker.getBufferedFrag(n,r);if(l&&o.nextStart<l.end){return s["BufferHelper"].bufferInfo(t,n,Math.max(o.nextStart,a.maxBufferHole))}}return o};r.getMaxBufferLength=function e(t){var r=this.config;var i;if(t){i=Math.max(8*r.maxBufferSize/t,r.maxBufferLength)}else{i=r.maxBufferLength}return Math.min(i,r.maxMaxBufferLength)};r.reduceMaxBufferLength=function e(t){var r=this.config;var i=t||r.maxBufferLength;if(r.maxMaxBufferLength>=i){r.maxMaxBufferLength/=2;this.warn("Reduce max buffer length to "+r.maxMaxBufferLength+"s");return true}return false};r.getNextFragment=function e(t,r){var i,a;var n=r.fragments;var s=n.length;if(!s){return null}var o=this.config;var l=n[0].start;var u;if(r.live){var f=o.initialLiveManifestSize;if(s<f){this.warn("Not enough fragments to start playback (have: "+s+", need: "+f+")");return null}if(!r.PTSKnown&&!this.startFragRequested&&this.startPosition===-1){u=this.getInitialLiveFragment(r,n);this.startPosition=u?this.hls.liveSyncPosition||u.start:t}}else if(t<=l){u=n[0]}if(!u){var d=o.lowLatencyMode?r.partEnd:r.fragmentEnd;u=this.getFragmentAtPosition(t,d,r)}if((i=u)!==null&&i!==void 0&&i.initSegment&&!((a=u)!==null&&a!==void 0&&a.initSegment.data)&&!this.bitrateTest){u=u.initSegment}return u};r.getNextPart=function e(t,r,i){var a=-1;var n=false;var s=true;for(var o=0,l=t.length;o<l;o++){var u=t[o];s=s&&!u.independent;if(a>-1&&i<u.start){break}var f=u.loaded;if(!f&&(n||u.independent||s)&&u.fragment===r){a=o}n=f}return a};r.loadedEndOfParts=function e(t,r){var i=t[t.length-1];return i&&r>i.start&&i.loaded};r.getInitialLiveFragment=function e(t,r){var i=this.fragPrevious;var a=null;if(i){if(t.hasProgramDateTime){this.log("Live playlist, switching playlist, load frag with same PDT: "+i.programDateTime);a=Object(h["findFragmentByPDT"])(r,i.endProgramDateTime,this.config.maxFragLookUpTolerance)}if(!a){var n=i.sn+1;if(n>=t.startSN&&n<=t.endSN){var s=r[n-t.startSN];if(i.cc===s.cc){a=s;this.log("Live playlist, switching playlist, load frag with next SN: "+a.sn)}}if(!a){a=Object(h["findFragWithCC"])(r,i.cc);if(a){this.log("Live playlist, switching playlist, load frag with same CC: "+a.sn)}}}}else{var o=this.hls.liveSyncPosition;if(o!==null){a=this.getFragmentAtPosition(o,this.bitrateTest?t.fragmentEnd:t.edge,t)}}return a};r.getFragmentAtPosition=function e(t,r,i){var a=this.config,s=this.fragPrevious;var o=i.fragments,l=i.endSN;var u=i.fragmentHint;var f=a.maxFragLookUpTolerance;var d=!!(a.lowLatencyMode&&i.partList&&u);if(d&&u&&!this.bitrateTest){o=o.concat(u);l=u.sn}var c;if(t<r){var v=t>r-f?0:f;c=Object(h["findFragmentByPTS"])(s,o,t,v)}else{c=o[o.length-1]}if(c){var g=c.sn-i.startSN;var p=s&&c.level===s.level;var m=o[g+1];var y=this.fragmentTracker.getState(c);if(y===n["FragmentState"].BACKTRACKED){c=null;var E=g;while(o[E]&&this.fragmentTracker.getState(o[E])===n["FragmentState"].BACKTRACKED){if(!s){c=o[--E]}else{c=o[E--]}}if(!c){c=m}}else if(s&&c.sn===s.sn&&!d){if(p){if(c.sn<l&&this.fragmentTracker.getState(m)!==n["FragmentState"].OK){this.log("SN "+c.sn+" just loaded, load next one: "+m.sn);c=m}else{c=null}}}}return c};r.synchronizeToLiveEdge=function e(t){var r=this.config,i=this.media;if(!i){return}var a=this.hls.liveSyncPosition;var n=i.currentTime;var s=t.fragments[0].start;var o=t.edge;var l=n>=s-r.maxFragLookUpTolerance&&n<=o;if(a!==null&&i.duration>a&&(n<a||!l)){var u=r.liveMaxLatencyDuration!==undefined?r.liveMaxLatencyDuration:r.liveMaxLatencyDurationCount*t.targetduration;if(!l&&i.readyState<4||n<o-u){if(!this.loadedmetadata){this.nextLoadPosition=a}if(i.readyState){this.warn("Playback: "+n.toFixed(3)+" is located too far from the end of live sliding playlist: "+o+", reset currentTime to : "+a.toFixed(3));i.currentTime=a}}}};r.alignPlaylists=function e(t,r){var a=this.levels,n=this.levelLastLoaded,s=this.fragPrevious;var o=n!==null?a[n]:null;var l=t.fragments.length;if(!l){this.warn("No fragments in live playlist");return 0}var u=t.fragments[0].start;var f=!r;var d=t.alignedSliding&&Object(i["isFiniteNumber"])(u);if(f||!d&&!u){Object(c["alignStream"])(s,o,t);var h=t.fragments[0].start;this.log("Live playlist sliding: "+h.toFixed(2)+" start-sn: "+(r?r.startSN:"na")+"->"+t.startSN+" prev-sn: "+(s?s.sn:"na")+" fragments: "+l);return h}return u};r.waitForCdnTuneIn=function e(t){var r=3;return t.live&&t.canBlockReload&&t.tuneInGoal>Math.max(t.partHoldBack,t.partTarget*r)};r.setStartPosition=function e(t,r){var a=this.startPosition;if(a<r){a=-1}if(a===-1||this.lastCurrentTime===-1){var n=t.startTimeOffset;if(Object(i["isFiniteNumber"])(n)){a=r+n;if(n<0){a+=t.totalduration}a=Math.min(Math.max(r,a),r+t.totalduration);this.log("Start time offset "+n+" found in playlist, adjust startPosition to "+a);this.startPosition=a}else if(t.live){a=this.hls.liveSyncPosition||r}else{this.startPosition=a=0}this.lastCurrentTime=a}this.nextLoadPosition=a};r.getLoadPosition=function e(){var t=this.media;var r=0;if(this.loadedmetadata&&t){r=t.currentTime}else if(this.nextLoadPosition){r=this.nextLoadPosition}return r};r.handleFragLoadAborted=function e(t,r){if(this.transmuxer&&t.sn!=="initSegment"&&t.stats.aborted){this.warn("Fragment "+t.sn+(r?" part"+r.index:"")+" of level "+t.level+" was aborted");this.resetFragmentLoading(t)}};r.resetFragmentLoading=function e(t){if(!this.fragCurrent||!this.fragContextChanged(t)){this.state=L.IDLE}};r.onFragmentOrKeyLoadError=function e(t,r){if(r.fatal){return}var i=r.frag;if(!i||i.type!==t){return}var a=this.fragCurrent;console.assert(a&&i.sn===a.sn&&i.level===a.level&&i.urlId===a.urlId,"Frag load error must match current frag to retry");var n=this.config;if(this.fragLoadError+1<=n.fragLoadingMaxRetry){if(this.resetLiveStartWhenNotLoaded(i.level)){return}var s=Math.min(Math.pow(2,this.fragLoadError)*n.fragLoadingRetryDelay,n.fragLoadingMaxRetryTimeout);this.warn("Fragment "+i.sn+" of "+t+" "+i.level+" failed to load, retrying in "+s+"ms");this.retryDate=self.performance.now()+s;this.fragLoadError++;this.state=L.FRAG_LOADING_WAITING_RETRY}else if(r.levelRetry){if(t===y["PlaylistLevelType"].AUDIO){this.fragCurrent=null}this.fragLoadError=0;this.state=L.IDLE}else{o["logger"].error(r.details+" reaches max retry, redispatch as fatal ...");r.fatal=true;this.hls.stopLoad();this.state=L.ERROR}};r.afterBufferFlushed=function e(t,r,i){if(!t){return}var a=s["BufferHelper"].getBuffered(t);this.fragmentTracker.detectEvictedFragments(r,a,i);if(this.state===L.ENDED){this.resetLoadingState()}};r.resetLoadingState=function e(){this.fragCurrent=null;this.fragPrevious=null;this.state=L.IDLE};r.resetLiveStartWhenNotLoaded=function e(t){if(!this.loadedmetadata){this.startFragRequested=false;var r=this.levels?this.levels[t].details:null;if(r!==null&&r!==void 0&&r.live){this.startPosition=-1;this.setStartPosition(r,0);this.resetLoadingState();return true}this.nextLoadPosition=this.startPosition}return false};r.updateLevelTiming=function e(t,r,i,a){var n=this;var s=i.details;console.assert(!!s,"level.details must be defined");var o=Object.keys(t.elementaryStreams).reduce((function(e,r){var o=t.elementaryStreams[r];if(o){var u=o.endPTS-o.startPTS;if(u<=0){n.warn("Could not parse fragment "+t.sn+" "+r+" duration reliably ("+u+") resetting transmuxer to fallback to playlist timing");n.resetTransmuxer();return e||false}var f=a?0:Object(v["updateFragPTSDTS"])(s,t,o.startPTS,o.endPTS,o.startDTS,o.endDTS);n.hls.trigger(l["Events"].LEVEL_PTS_UPDATED,{details:s,level:i,drift:f,type:r,frag:t,start:o.startPTS,end:o.endPTS});return true}return e}),false);if(o){this.state=L.PARSED;this.hls.trigger(l["Events"].FRAG_PARSED,{frag:t,part:r})}else{this.resetLoadingState()}};r.resetTransmuxer=function e(){if(this.transmuxer){this.transmuxer.destroy();this.transmuxer=null}};T(t,[{key:"state",get:function e(){return this._state},set:function e(t){var r=this._state;if(r!==t){this._state=t;this.log(r+"->"+t)}}}]);return t}(a["default"])},"./src/controller/buffer-controller.ts":
38
38
  /*!*********************************************!*\
39
39
  !*** ./src/controller/buffer-controller.ts ***!
40
40
  \*********************************************/
41
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return h}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! ../errors */"./src/errors.ts");var o=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var l=r(/*! ../utils/mediasource-helper */"./src/utils/mediasource-helper.ts");var u=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var f=r(/*! ./buffer-operation-queue */"./src/controller/buffer-operation-queue.ts");var c=Object(l["getMediaSource"])();var d=/([ha]vc.)(?:\.[^.,]+)+/;var h=function(){function e(e){var t=this;this.details=null;this._objectUrl=null;this.operationQueue=void 0;this.listeners=void 0;this.hls=void 0;this.bufferCodecEventsExpected=0;this._bufferCodecEventsTotal=0;this.media=null;this.mediaSource=null;this.appendError=0;this.tracks={};this.pendingTracks={};this.sourceBuffer=void 0;this._onMediaSourceOpen=function(){var e=t.hls,r=t.media,i=t.mediaSource;n["logger"].log("[buffer-controller]: Media source opened");if(r){t.updateMediaElementDuration();e.trigger(a["Events"].MEDIA_ATTACHED,{media:r})}if(i){i.removeEventListener("sourceopen",t._onMediaSourceOpen)}t.checkPendingTracks()};this._onMediaSourceClose=function(){n["logger"].log("[buffer-controller]: Media source closed")};this._onMediaSourceEnded=function(){n["logger"].log("[buffer-controller]: Media source ended")};this.hls=e;this._initSourceBuffer();this.registerListeners()}var t=e.prototype;t.hasSourceTypes=function e(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0};t.destroy=function e(){this.unregisterListeners();this.details=null};t.registerListeners=function e(){var t=this.hls;t.on(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);t.on(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(a["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(a["Events"].BUFFER_RESET,this.onBufferReset,this);t.on(a["Events"].BUFFER_APPENDING,this.onBufferAppending,this);t.on(a["Events"].BUFFER_CODECS,this.onBufferCodecs,this);t.on(a["Events"].BUFFER_EOS,this.onBufferEos,this);t.on(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this);t.on(a["Events"].LEVEL_UPDATED,this.onLevelUpdated,this);t.on(a["Events"].FRAG_PARSED,this.onFragParsed,this);t.on(a["Events"].FRAG_CHANGED,this.onFragChanged,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);t.off(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(a["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(a["Events"].BUFFER_RESET,this.onBufferReset,this);t.off(a["Events"].BUFFER_APPENDING,this.onBufferAppending,this);t.off(a["Events"].BUFFER_CODECS,this.onBufferCodecs,this);t.off(a["Events"].BUFFER_EOS,this.onBufferEos,this);t.off(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this);t.off(a["Events"].LEVEL_UPDATED,this.onLevelUpdated,this);t.off(a["Events"].FRAG_PARSED,this.onFragParsed,this);t.off(a["Events"].FRAG_CHANGED,this.onFragChanged,this)};t._initSourceBuffer=function e(){this.sourceBuffer={};this.operationQueue=new f["default"](this.sourceBuffer);this.listeners={audio:[],video:[],audiovideo:[]}};t.onManifestParsed=function e(t,r){var i=2;if(r.audio&&!r.video||!r.altAudio){i=1}this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=i;this.details=null;n["logger"].log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")};t.onMediaAttaching=function e(t,r){var i=this.media=r.media;if(i&&c){var a=this.mediaSource=new c;a.addEventListener("sourceopen",this._onMediaSourceOpen);a.addEventListener("sourceended",this._onMediaSourceEnded);a.addEventListener("sourceclose",this._onMediaSourceClose);i.src=self.URL.createObjectURL(a);this._objectUrl=i.src}};t.onMediaDetaching=function e(){var t=this.media,r=this.mediaSource,i=this._objectUrl;if(r){n["logger"].log("[buffer-controller]: media source detaching");if(r.readyState==="open"){try{r.endOfStream()}catch(e){n["logger"].warn("[buffer-controller]: onMediaDetaching: "+e.message+" while calling endOfStream")}}this.onBufferReset();r.removeEventListener("sourceopen",this._onMediaSourceOpen);r.removeEventListener("sourceended",this._onMediaSourceEnded);r.removeEventListener("sourceclose",this._onMediaSourceClose);if(t){if(i){self.URL.revokeObjectURL(i)}if(t.src===i){t.removeAttribute("src");t.load()}else{n["logger"].warn("[buffer-controller]: media.src was changed by a third party - skip cleanup")}}this.mediaSource=null;this.media=null;this._objectUrl=null;this.bufferCodecEventsExpected=this._bufferCodecEventsTotal;this.pendingTracks={};this.tracks={}}this.hls.trigger(a["Events"].MEDIA_DETACHED,undefined)};t.onBufferReset=function e(){var t=this;this.getSourceBufferTypes().forEach((function(e){var r=t.sourceBuffer[e];try{if(r){t.removeBufferListeners(e);if(t.mediaSource){t.mediaSource.removeSourceBuffer(r)}t.sourceBuffer[e]=undefined}}catch(t){n["logger"].warn("[buffer-controller]: Failed to reset the "+e+" buffer",t)}}));this._initSourceBuffer()};t.onBufferCodecs=function e(t,r){var i=this;var a=this.getSourceBufferTypes().length;Object.keys(r).forEach((function(e){if(a){var t=i.tracks[e];if(t&&typeof t.buffer.changeType==="function"){var n=r[e],s=n.codec,o=n.levelCodec,l=n.container;var u=(t.levelCodec||t.codec).replace(d,"$1");var f=(o||s).replace(d,"$1");if(u!==f){var c=l+";codecs="+(o||s);i.appendChangeType(e,c)}}}else{i.pendingTracks[e]=r[e]}}));if(a){return}this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0);if(this.mediaSource&&this.mediaSource.readyState==="open"){this.checkPendingTracks()}};t.appendChangeType=function e(t,r){var i=this;var a=this.operationQueue;var s={execute:function e(){var s=i.sourceBuffer[t];if(s){n["logger"].log("[buffer-controller]: changing "+t+" sourceBuffer type to "+r);s.changeType(r)}a.shiftAndExecuteNext(t)},onStart:function e(){},onComplete:function e(){},onError:function e(r){n["logger"].warn("[buffer-controller]: Failed to change "+t+" SourceBuffer type",r)}};a.append(s,t)};t.onBufferAppending=function e(t,r){var i=this;var l=this.hls,u=this.operationQueue,f=this.tracks;var c=r.data,d=r.type,h=r.frag,v=r.part,g=r.chunkMeta;var p=g.buffering[d];var m=self.performance.now();p.start=m;var y=h.stats.buffering;var E=v?v.stats.buffering:null;if(y.start===0){y.start=m}if(E&&E.start===0){E.start=m}var T=f.audio;var b=d==="audio"&&g.id===1&&(T===null||T===void 0?void 0:T.container)==="audio/mpeg";var S={execute:function e(){p.executeStart=self.performance.now();if(b){var t=i.sourceBuffer[d];if(t){var r=h.start-t.timestampOffset;if(Math.abs(r)>=.1){n["logger"].log("[buffer-controller]: Updating audio SourceBuffer timestampOffset to "+h.start+" (delta: "+r+") sn: "+h.sn+")");t.timestampOffset=h.start}}}i.appendExecutor(c,d)},onStart:function e(){},onComplete:function e(){var t=self.performance.now();p.executeEnd=p.end=t;if(y.first===0){y.first=t}if(E&&E.first===0){E.first=t}var r=i.sourceBuffer;var n={};for(var s in r){n[s]=o["BufferHelper"].getBuffered(r[s])}i.appendError=0;i.hls.trigger(a["Events"].BUFFER_APPENDED,{type:d,frag:h,part:v,chunkMeta:g,parent:h.type,timeRanges:n})},onError:function e(t){n["logger"].error("[buffer-controller]: Error encountered while trying to append to the "+d+" SourceBuffer",t);var r={type:s["ErrorTypes"].MEDIA_ERROR,parent:h.type,details:s["ErrorDetails"].BUFFER_APPEND_ERROR,err:t,fatal:false};if(t.code===DOMException.QUOTA_EXCEEDED_ERR){r.details=s["ErrorDetails"].BUFFER_FULL_ERROR}else{i.appendError++;r.details=s["ErrorDetails"].BUFFER_APPEND_ERROR;if(i.appendError>l.config.appendErrorMaxRetry){n["logger"].error("[buffer-controller]: Failed "+l.config.appendErrorMaxRetry+" times to append segment in sourceBuffer");r.fatal=true}}l.trigger(a["Events"].ERROR,r)}};u.append(S,d)};t.onBufferFlushing=function e(t,r){var i=this;var s=this.operationQueue;var o=function e(t){return{execute:i.removeExecutor.bind(i,t,r.startOffset,r.endOffset),onStart:function e(){},onComplete:function e(){i.hls.trigger(a["Events"].BUFFER_FLUSHED,{type:t})},onError:function e(r){n["logger"].warn("[buffer-controller]: Failed to remove from "+t+" SourceBuffer",r)}}};if(r.type){s.append(o(r.type),r.type)}else{this.getSourceBufferTypes().forEach((function(e){s.append(o(e),e)}))}};t.onFragParsed=function e(t,r){var i=this;var s=r.frag,o=r.part;var l=[];var f=o?o.elementaryStreams:s.elementaryStreams;if(f[u["ElementaryStreamTypes"].AUDIOVIDEO]){l.push("audiovideo")}else{if(f[u["ElementaryStreamTypes"].AUDIO]){l.push("audio")}if(f[u["ElementaryStreamTypes"].VIDEO]){l.push("video")}}var c=function e(){var t=self.performance.now();s.stats.buffering.end=t;if(o){o.stats.buffering.end=t}var r=o?o.stats:s.stats;i.hls.trigger(a["Events"].FRAG_BUFFERED,{frag:s,part:o,stats:r,id:s.type})};if(l.length===0){n["logger"].warn("Fragments must have at least one ElementaryStreamType set. type: "+s.type+" level: "+s.level+" sn: "+s.sn)}this.blockBuffers(c,l)};t.onFragChanged=function e(t,r){this.flushBackBuffer()};t.onBufferEos=function e(t,r){var i=this;var a=this.getSourceBufferTypes().reduce((function(e,t){var a=i.sourceBuffer[t];if(!r.type||r.type===t){if(a&&!a.ended){a.ended=true;n["logger"].log("[buffer-controller]: "+t+" sourceBuffer now EOS")}}return e&&!!(!a||a.ended)}),true);if(a){this.blockBuffers((function(){var e=i.mediaSource;if(!e||e.readyState!=="open"){return}e.endOfStream()}))}};t.onLevelUpdated=function e(t,r){var i=r.details;if(!i.fragments.length){return}this.details=i;if(this.getSourceBufferTypes().length){this.blockBuffers(this.updateMediaElementDuration.bind(this))}else{this.updateMediaElementDuration()}};t.flushBackBuffer=function e(){var t=this.hls,r=this.details,n=this.media,s=this.sourceBuffer;if(!n||r===null){return}var l=this.getSourceBufferTypes();if(!l.length){return}var u=r.live&&t.config.liveBackBufferLength!==null?t.config.liveBackBufferLength:t.config.backBufferLength;if(!Object(i["isFiniteNumber"])(u)||u<0){return}var f=n.currentTime;var c=r.levelTargetDuration;var d=Math.max(u,c);var h=Math.floor(f/c)*c-d;l.forEach((function(e){var i=s[e];if(i){var n=o["BufferHelper"].getBuffered(i);if(n.length>0&&h>n.start(0)){t.trigger(a["Events"].BACK_BUFFER_REACHED,{bufferEnd:h});if(r.live){t.trigger(a["Events"].LIVE_BACK_BUFFER_REACHED,{bufferEnd:h})}t.trigger(a["Events"].BUFFER_FLUSHING,{startOffset:0,endOffset:h,type:e})}}}))};t.updateMediaElementDuration=function e(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open"){return}var t=this.details,r=this.hls,a=this.media,s=this.mediaSource;var o=t.fragments[0].start+t.totalduration;var l=a.duration;var u=Object(i["isFiniteNumber"])(s.duration)?s.duration:0;if(t.live&&r.config.liveDurationInfinity){n["logger"].log("[buffer-controller]: Media Source duration is set to Infinity");s.duration=Infinity;this.updateSeekableRange(t)}else if(o>u&&o>l||!Object(i["isFiniteNumber"])(l)){n["logger"].log("[buffer-controller]: Updating Media Source duration to "+o.toFixed(3));s.duration=o}};t.updateSeekableRange=function e(t){var r=this.mediaSource;var i=t.fragments;var a=i.length;if(a&&t.live&&r!==null&&r!==void 0&&r.setLiveSeekableRange){var n=Math.max(0,i[0].start);var s=Math.max(n,n+t.totalduration);r.setLiveSeekableRange(n,s)}};t.checkPendingTracks=function e(){var t=this.bufferCodecEventsExpected,r=this.operationQueue,i=this.pendingTracks;var n=Object.keys(i).length;if(n&&!t||n===2){this.createSourceBuffers(i);this.pendingTracks={};var o=this.getSourceBufferTypes();if(o.length===0){this.hls.trigger(a["Events"].ERROR,{type:s["ErrorTypes"].MEDIA_ERROR,details:s["ErrorDetails"].BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:true,reason:"could not create source buffer for media codec(s)"});return}o.forEach((function(e){r.executeNext(e)}))}};t.createSourceBuffers=function e(t){var r=this.sourceBuffer,i=this.mediaSource;if(!i){throw Error("createSourceBuffers called when mediaSource was null")}var o=0;for(var l in t){if(!r[l]){var u=t[l];if(!u){throw Error("source buffer exists for track "+l+", however track does not")}var f=u.levelCodec||u.codec;var c=u.container+";codecs="+f;n["logger"].log("[buffer-controller]: creating sourceBuffer("+c+")");try{var d=r[l]=i.addSourceBuffer(c);var h=l;this.addBufferListener(h,"updatestart",this._onSBUpdateStart);this.addBufferListener(h,"updateend",this._onSBUpdateEnd);this.addBufferListener(h,"error",this._onSBUpdateError);this.tracks[l]={buffer:d,codec:f,container:u.container,levelCodec:u.levelCodec,id:u.id};o++}catch(e){n["logger"].error("[buffer-controller]: error while trying to add sourceBuffer: "+e.message);this.hls.trigger(a["Events"].ERROR,{type:s["ErrorTypes"].MEDIA_ERROR,details:s["ErrorDetails"].BUFFER_ADD_CODEC_ERROR,fatal:false,error:e,mimeType:c})}}}if(o){this.hls.trigger(a["Events"].BUFFER_CREATED,{tracks:this.tracks})}};t._onSBUpdateStart=function e(t){var r=this.operationQueue;var i=r.current(t);i.onStart()};t._onSBUpdateEnd=function e(t){var r=this.operationQueue;var i=r.current(t);i.onComplete();r.shiftAndExecuteNext(t)};t._onSBUpdateError=function e(t,r){n["logger"].error("[buffer-controller]: "+t+" SourceBuffer error",r);this.hls.trigger(a["Events"].ERROR,{type:s["ErrorTypes"].MEDIA_ERROR,details:s["ErrorDetails"].BUFFER_APPENDING_ERROR,fatal:false});var i=this.operationQueue.current(t);if(i){i.onError(r)}};t.removeExecutor=function e(t,r,a){var s=this.media,o=this.mediaSource,l=this.operationQueue,u=this.sourceBuffer;var f=u[t];if(!s||!o||!f){n["logger"].warn("[buffer-controller]: Attempting to remove from the "+t+" SourceBuffer, but it does not exist");l.shiftAndExecuteNext(t);return}var c=Object(i["isFiniteNumber"])(s.duration)?s.duration:Infinity;var d=Object(i["isFiniteNumber"])(o.duration)?o.duration:Infinity;var h=Math.max(0,r);var v=Math.min(a,c,d);if(v>h){n["logger"].log("[buffer-controller]: Removing ["+h+","+v+"] from the "+t+" SourceBuffer");console.assert(!f.updating,t+" sourceBuffer must not be updating");f.remove(h,v)}else{l.shiftAndExecuteNext(t)}};t.appendExecutor=function e(t,r){var i=this.operationQueue,a=this.sourceBuffer;var s=a[r];if(!s){n["logger"].warn("[buffer-controller]: Attempting to append to the "+r+" SourceBuffer, but it does not exist");i.shiftAndExecuteNext(r);return}s.ended=false;console.assert(!s.updating,r+" sourceBuffer must not be updating");s.appendBuffer(t)};t.blockBuffers=function e(t,r){var i=this;if(r===void 0){r=this.getSourceBufferTypes()}if(!r.length){n["logger"].log("[buffer-controller]: Blocking operation requested, but no SourceBuffers exist");return}var a=this.operationQueue;var s=r.map((function(e){return a.appendBlocker(e)}));Promise.all(s).then((function(){t();r.forEach((function(e){var t=i.sourceBuffer[e];if(!t||!t.updating){a.shiftAndExecuteNext(e)}}))}))};t.getSourceBufferTypes=function e(){return Object.keys(this.sourceBuffer)};t.addBufferListener=function e(t,r,i){var a=this.sourceBuffer[t];if(!a){return}var n=i.bind(this,t);this.listeners[t].push({event:r,listener:n});a.addEventListener(r,n)};t.removeBufferListeners=function e(t){var r=this.sourceBuffer[t];if(!r){return}this.listeners[t].forEach((function(e){r.removeEventListener(e.event,e.listener)}))};return e}()},"./src/controller/buffer-operation-queue.ts":
41
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return h}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! ../errors */"./src/errors.ts");var o=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var l=r(/*! ../utils/mediasource-helper */"./src/utils/mediasource-helper.ts");var u=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var f=r(/*! ./buffer-operation-queue */"./src/controller/buffer-operation-queue.ts");var d=Object(l["getMediaSource"])();var c=/([ha]vc.)(?:\.[^.,]+)+/;var h=function(){function e(e){var t=this;this.details=null;this._objectUrl=null;this.operationQueue=void 0;this.listeners=void 0;this.hls=void 0;this.bufferCodecEventsExpected=0;this._bufferCodecEventsTotal=0;this.media=null;this.mediaSource=null;this.appendError=0;this.tracks={};this.pendingTracks={};this.sourceBuffer=void 0;this._onMediaSourceOpen=function(){var e=t.hls,r=t.media,i=t.mediaSource;n["logger"].log("[buffer-controller]: Media source opened");if(r){t.updateMediaElementDuration();e.trigger(a["Events"].MEDIA_ATTACHED,{media:r})}if(i){i.removeEventListener("sourceopen",t._onMediaSourceOpen)}t.checkPendingTracks()};this._onMediaSourceClose=function(){n["logger"].log("[buffer-controller]: Media source closed")};this._onMediaSourceEnded=function(){n["logger"].log("[buffer-controller]: Media source ended")};this.hls=e;this._initSourceBuffer();this.registerListeners()}var t=e.prototype;t.hasSourceTypes=function e(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0};t.destroy=function e(){this.unregisterListeners();this.details=null};t.registerListeners=function e(){var t=this.hls;t.on(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);t.on(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(a["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(a["Events"].BUFFER_RESET,this.onBufferReset,this);t.on(a["Events"].BUFFER_APPENDING,this.onBufferAppending,this);t.on(a["Events"].BUFFER_CODECS,this.onBufferCodecs,this);t.on(a["Events"].BUFFER_EOS,this.onBufferEos,this);t.on(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this);t.on(a["Events"].LEVEL_UPDATED,this.onLevelUpdated,this);t.on(a["Events"].FRAG_PARSED,this.onFragParsed,this);t.on(a["Events"].FRAG_CHANGED,this.onFragChanged,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);t.off(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(a["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(a["Events"].BUFFER_RESET,this.onBufferReset,this);t.off(a["Events"].BUFFER_APPENDING,this.onBufferAppending,this);t.off(a["Events"].BUFFER_CODECS,this.onBufferCodecs,this);t.off(a["Events"].BUFFER_EOS,this.onBufferEos,this);t.off(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this);t.off(a["Events"].LEVEL_UPDATED,this.onLevelUpdated,this);t.off(a["Events"].FRAG_PARSED,this.onFragParsed,this);t.off(a["Events"].FRAG_CHANGED,this.onFragChanged,this)};t._initSourceBuffer=function e(){this.sourceBuffer={};this.operationQueue=new f["default"](this.sourceBuffer);this.listeners={audio:[],video:[],audiovideo:[]}};t.onManifestParsed=function e(t,r){var i=2;if(r.audio&&!r.video||!r.altAudio){i=1}this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=i;this.details=null;n["logger"].log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")};t.onMediaAttaching=function e(t,r){var i=this.media=r.media;if(i&&d){var a=this.mediaSource=new d;a.addEventListener("sourceopen",this._onMediaSourceOpen);a.addEventListener("sourceended",this._onMediaSourceEnded);a.addEventListener("sourceclose",this._onMediaSourceClose);i.src=self.URL.createObjectURL(a);this._objectUrl=i.src}};t.onMediaDetaching=function e(){var t=this.media,r=this.mediaSource,i=this._objectUrl;if(r){n["logger"].log("[buffer-controller]: media source detaching");if(r.readyState==="open"){try{r.endOfStream()}catch(e){n["logger"].warn("[buffer-controller]: onMediaDetaching: "+e.message+" while calling endOfStream")}}this.onBufferReset();r.removeEventListener("sourceopen",this._onMediaSourceOpen);r.removeEventListener("sourceended",this._onMediaSourceEnded);r.removeEventListener("sourceclose",this._onMediaSourceClose);if(t){if(i){self.URL.revokeObjectURL(i)}if(t.src===i){t.removeAttribute("src");t.load()}else{n["logger"].warn("[buffer-controller]: media.src was changed by a third party - skip cleanup")}}this.mediaSource=null;this.media=null;this._objectUrl=null;this.bufferCodecEventsExpected=this._bufferCodecEventsTotal;this.pendingTracks={};this.tracks={}}this.hls.trigger(a["Events"].MEDIA_DETACHED,undefined)};t.onBufferReset=function e(){var t=this;this.getSourceBufferTypes().forEach((function(e){var r=t.sourceBuffer[e];try{if(r){t.removeBufferListeners(e);if(t.mediaSource){t.mediaSource.removeSourceBuffer(r)}t.sourceBuffer[e]=undefined}}catch(t){n["logger"].warn("[buffer-controller]: Failed to reset the "+e+" buffer",t)}}));this._initSourceBuffer()};t.onBufferCodecs=function e(t,r){var i=this;var a=this.getSourceBufferTypes().length;Object.keys(r).forEach((function(e){if(a){var t=i.tracks[e];if(t&&typeof t.buffer.changeType==="function"){var n=r[e],s=n.codec,o=n.levelCodec,l=n.container;var u=(t.levelCodec||t.codec).replace(c,"$1");var f=(o||s).replace(c,"$1");if(u!==f){var d=l+";codecs="+(o||s);i.appendChangeType(e,d)}}}else{i.pendingTracks[e]=r[e]}}));if(a){return}this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0);if(this.mediaSource&&this.mediaSource.readyState==="open"){this.checkPendingTracks()}};t.appendChangeType=function e(t,r){var i=this;var a=this.operationQueue;var s={execute:function e(){var s=i.sourceBuffer[t];if(s){n["logger"].log("[buffer-controller]: changing "+t+" sourceBuffer type to "+r);s.changeType(r)}a.shiftAndExecuteNext(t)},onStart:function e(){},onComplete:function e(){},onError:function e(r){n["logger"].warn("[buffer-controller]: Failed to change "+t+" SourceBuffer type",r)}};a.append(s,t)};t.onBufferAppending=function e(t,r){var i=this;var l=this.hls,u=this.operationQueue,f=this.tracks;var d=r.data,c=r.type,h=r.frag,v=r.part,g=r.chunkMeta;var p=g.buffering[c];var m=self.performance.now();p.start=m;var y=h.stats.buffering;var E=v?v.stats.buffering:null;if(y.start===0){y.start=m}if(E&&E.start===0){E.start=m}var T=f.audio;var b=c==="audio"&&g.id===1&&(T===null||T===void 0?void 0:T.container)==="audio/mpeg";var S={execute:function e(){p.executeStart=self.performance.now();if(b){var t=i.sourceBuffer[c];if(t){var r=h.start-t.timestampOffset;if(Math.abs(r)>=.1){n["logger"].log("[buffer-controller]: Updating audio SourceBuffer timestampOffset to "+h.start+" (delta: "+r+") sn: "+h.sn+")");t.timestampOffset=h.start}}}i.appendExecutor(d,c)},onStart:function e(){},onComplete:function e(){var t=self.performance.now();p.executeEnd=p.end=t;if(y.first===0){y.first=t}if(E&&E.first===0){E.first=t}var r=i.sourceBuffer;var n={};for(var s in r){n[s]=o["BufferHelper"].getBuffered(r[s])}i.appendError=0;i.hls.trigger(a["Events"].BUFFER_APPENDED,{type:c,frag:h,part:v,chunkMeta:g,parent:h.type,timeRanges:n})},onError:function e(t){n["logger"].error("[buffer-controller]: Error encountered while trying to append to the "+c+" SourceBuffer",t);var r={type:s["ErrorTypes"].MEDIA_ERROR,parent:h.type,details:s["ErrorDetails"].BUFFER_APPEND_ERROR,err:t,fatal:false};if(t.code===DOMException.QUOTA_EXCEEDED_ERR){r.details=s["ErrorDetails"].BUFFER_FULL_ERROR}else{i.appendError++;r.details=s["ErrorDetails"].BUFFER_APPEND_ERROR;if(i.appendError>l.config.appendErrorMaxRetry){n["logger"].error("[buffer-controller]: Failed "+l.config.appendErrorMaxRetry+" times to append segment in sourceBuffer");r.fatal=true}}l.trigger(a["Events"].ERROR,r)}};u.append(S,c)};t.onBufferFlushing=function e(t,r){var i=this;var s=this.operationQueue;var o=function e(t){return{execute:i.removeExecutor.bind(i,t,r.startOffset,r.endOffset),onStart:function e(){},onComplete:function e(){i.hls.trigger(a["Events"].BUFFER_FLUSHED,{type:t})},onError:function e(r){n["logger"].warn("[buffer-controller]: Failed to remove from "+t+" SourceBuffer",r)}}};if(r.type){s.append(o(r.type),r.type)}else{this.getSourceBufferTypes().forEach((function(e){s.append(o(e),e)}))}};t.onFragParsed=function e(t,r){var i=this;var s=r.frag,o=r.part;var l=[];var f=o?o.elementaryStreams:s.elementaryStreams;if(f[u["ElementaryStreamTypes"].AUDIOVIDEO]){l.push("audiovideo")}else{if(f[u["ElementaryStreamTypes"].AUDIO]){l.push("audio")}if(f[u["ElementaryStreamTypes"].VIDEO]){l.push("video")}}var d=function e(){var t=self.performance.now();s.stats.buffering.end=t;if(o){o.stats.buffering.end=t}var r=o?o.stats:s.stats;i.hls.trigger(a["Events"].FRAG_BUFFERED,{frag:s,part:o,stats:r,id:s.type})};if(l.length===0){n["logger"].warn("Fragments must have at least one ElementaryStreamType set. type: "+s.type+" level: "+s.level+" sn: "+s.sn)}this.blockBuffers(d,l)};t.onFragChanged=function e(t,r){this.flushBackBuffer()};t.onBufferEos=function e(t,r){var i=this;var a=this.getSourceBufferTypes().reduce((function(e,t){var a=i.sourceBuffer[t];if(!r.type||r.type===t){if(a&&!a.ended){a.ended=true;n["logger"].log("[buffer-controller]: "+t+" sourceBuffer now EOS")}}return e&&!!(!a||a.ended)}),true);if(a){this.blockBuffers((function(){var e=i.mediaSource;if(!e||e.readyState!=="open"){return}e.endOfStream()}))}};t.onLevelUpdated=function e(t,r){var i=r.details;if(!i.fragments.length){return}this.details=i;if(this.getSourceBufferTypes().length){this.blockBuffers(this.updateMediaElementDuration.bind(this))}else{this.updateMediaElementDuration()}};t.flushBackBuffer=function e(){var t=this.hls,r=this.details,n=this.media,s=this.sourceBuffer;if(!n||r===null){return}var l=this.getSourceBufferTypes();if(!l.length){return}var u=r.live&&t.config.liveBackBufferLength!==null?t.config.liveBackBufferLength:t.config.backBufferLength;if(!Object(i["isFiniteNumber"])(u)||u<0){return}var f=n.currentTime;var d=r.levelTargetDuration;var c=Math.max(u,d);var h=Math.floor(f/d)*d-c;l.forEach((function(e){var i=s[e];if(i){var n=o["BufferHelper"].getBuffered(i);if(n.length>0&&h>n.start(0)){t.trigger(a["Events"].BACK_BUFFER_REACHED,{bufferEnd:h});if(r.live){t.trigger(a["Events"].LIVE_BACK_BUFFER_REACHED,{bufferEnd:h})}t.trigger(a["Events"].BUFFER_FLUSHING,{startOffset:0,endOffset:h,type:e})}}}))};t.updateMediaElementDuration=function e(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open"){return}var t=this.details,r=this.hls,a=this.media,s=this.mediaSource;var o=t.fragments[0].start+t.totalduration;var l=a.duration;var u=Object(i["isFiniteNumber"])(s.duration)?s.duration:0;if(t.live&&r.config.liveDurationInfinity){n["logger"].log("[buffer-controller]: Media Source duration is set to Infinity");s.duration=Infinity;this.updateSeekableRange(t)}else if(o>u&&o>l||!Object(i["isFiniteNumber"])(l)){n["logger"].log("[buffer-controller]: Updating Media Source duration to "+o.toFixed(3));s.duration=o}};t.updateSeekableRange=function e(t){var r=this.mediaSource;var i=t.fragments;var a=i.length;if(a&&t.live&&r!==null&&r!==void 0&&r.setLiveSeekableRange){var n=Math.max(0,i[0].start);var s=Math.max(n,n+t.totalduration);r.setLiveSeekableRange(n,s)}};t.checkPendingTracks=function e(){var t=this.bufferCodecEventsExpected,r=this.operationQueue,i=this.pendingTracks;var n=Object.keys(i).length;if(n&&!t||n===2){this.createSourceBuffers(i);this.pendingTracks={};var o=this.getSourceBufferTypes();if(o.length===0){this.hls.trigger(a["Events"].ERROR,{type:s["ErrorTypes"].MEDIA_ERROR,details:s["ErrorDetails"].BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:true,reason:"could not create source buffer for media codec(s)"});return}o.forEach((function(e){r.executeNext(e)}))}};t.createSourceBuffers=function e(t){var r=this.sourceBuffer,i=this.mediaSource;if(!i){throw Error("createSourceBuffers called when mediaSource was null")}var o=0;for(var l in t){if(!r[l]){var u=t[l];if(!u){throw Error("source buffer exists for track "+l+", however track does not")}var f=u.levelCodec||u.codec;var d=u.container+";codecs="+f;n["logger"].log("[buffer-controller]: creating sourceBuffer("+d+")");try{var c=r[l]=i.addSourceBuffer(d);var h=l;this.addBufferListener(h,"updatestart",this._onSBUpdateStart);this.addBufferListener(h,"updateend",this._onSBUpdateEnd);this.addBufferListener(h,"error",this._onSBUpdateError);this.tracks[l]={buffer:c,codec:f,container:u.container,levelCodec:u.levelCodec,id:u.id};o++}catch(e){n["logger"].error("[buffer-controller]: error while trying to add sourceBuffer: "+e.message);this.hls.trigger(a["Events"].ERROR,{type:s["ErrorTypes"].MEDIA_ERROR,details:s["ErrorDetails"].BUFFER_ADD_CODEC_ERROR,fatal:false,error:e,mimeType:d})}}}if(o){this.hls.trigger(a["Events"].BUFFER_CREATED,{tracks:this.tracks})}};t._onSBUpdateStart=function e(t){var r=this.operationQueue;var i=r.current(t);i.onStart()};t._onSBUpdateEnd=function e(t){var r=this.operationQueue;var i=r.current(t);i.onComplete();r.shiftAndExecuteNext(t)};t._onSBUpdateError=function e(t,r){n["logger"].error("[buffer-controller]: "+t+" SourceBuffer error",r);this.hls.trigger(a["Events"].ERROR,{type:s["ErrorTypes"].MEDIA_ERROR,details:s["ErrorDetails"].BUFFER_APPENDING_ERROR,fatal:false});var i=this.operationQueue.current(t);if(i){i.onError(r)}};t.removeExecutor=function e(t,r,a){var s=this.media,o=this.mediaSource,l=this.operationQueue,u=this.sourceBuffer;var f=u[t];if(!s||!o||!f){n["logger"].warn("[buffer-controller]: Attempting to remove from the "+t+" SourceBuffer, but it does not exist");l.shiftAndExecuteNext(t);return}var d=Object(i["isFiniteNumber"])(s.duration)?s.duration:Infinity;var c=Object(i["isFiniteNumber"])(o.duration)?o.duration:Infinity;var h=Math.max(0,r);var v=Math.min(a,d,c);if(v>h){n["logger"].log("[buffer-controller]: Removing ["+h+","+v+"] from the "+t+" SourceBuffer");console.assert(!f.updating,t+" sourceBuffer must not be updating");f.remove(h,v)}else{l.shiftAndExecuteNext(t)}};t.appendExecutor=function e(t,r){var i=this.operationQueue,a=this.sourceBuffer;var s=a[r];if(!s){n["logger"].warn("[buffer-controller]: Attempting to append to the "+r+" SourceBuffer, but it does not exist");i.shiftAndExecuteNext(r);return}s.ended=false;console.assert(!s.updating,r+" sourceBuffer must not be updating");s.appendBuffer(t)};t.blockBuffers=function e(t,r){var i=this;if(r===void 0){r=this.getSourceBufferTypes()}if(!r.length){n["logger"].log("[buffer-controller]: Blocking operation requested, but no SourceBuffers exist");return}var a=this.operationQueue;var s=r.map((function(e){return a.appendBlocker(e)}));Promise.all(s).then((function(){t();r.forEach((function(e){var t=i.sourceBuffer[e];if(!t||!t.updating){a.shiftAndExecuteNext(e)}}))}))};t.getSourceBufferTypes=function e(){return Object.keys(this.sourceBuffer)};t.addBufferListener=function e(t,r,i){var a=this.sourceBuffer[t];if(!a){return}var n=i.bind(this,t);this.listeners[t].push({event:r,listener:n});a.addEventListener(r,n)};t.removeBufferListeners=function e(t){var r=this.sourceBuffer[t];if(!r){return}this.listeners[t].forEach((function(e){r.removeEventListener(e.event,e.listener)}))};return e}()},"./src/controller/buffer-operation-queue.ts":
42
42
  /*!**************************************************!*\
43
43
  !*** ./src/controller/buffer-operation-queue.ts ***!
44
44
  \**************************************************/
@@ -50,15 +50,15 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
50
50
  /*!*******************************************!*\
51
51
  !*** ./src/controller/cmcd-controller.ts ***!
52
52
  \*******************************************/
53
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return h}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../types/cmcd */"./src/types/cmcd.ts");var n=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}function u(e,t){var r=typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=f(e))||t&&e&&typeof e.length==="number"){if(r)e=r;var i=0;return function(){if(i>=e.length)return{done:true};return{done:false,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e,t){if(!e)return;if(typeof e==="string")return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}function c(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,i=new Array(t);r<t;r++){i[r]=e[r]}return i}function d(){d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return d.apply(this,arguments)}var h=function(){function e(t){var r=this;this.hls=void 0;this.config=void 0;this.media=void 0;this.sid=void 0;this.cid=void 0;this.useHeaders=false;this.initialized=false;this.starved=false;this.buffering=true;this.audioBuffer=void 0;this.videoBuffer=void 0;this.onWaiting=function(){if(r.initialized){r.starved=true}r.buffering=true};this.onPlaying=function(){if(!r.initialized){r.initialized=true}r.buffering=false};this.applyPlaylistData=function(e){try{r.apply(e,{ot:a["CMCDObjectType"].MANIFEST,su:!r.initialized})}catch(e){s["logger"].warn("Could not generate manifest CMCD data.",e)}};this.applyFragmentData=function(e){try{var t=e.frag;var i=r.hls.levels[t.level];var n=r.getObjectType(t);var o={d:t.duration*1e3,ot:n};if(n===a["CMCDObjectType"].VIDEO||n===a["CMCDObjectType"].AUDIO||n==a["CMCDObjectType"].MUXED){o.br=i.bitrate/1e3;o.tb=r.getTopBandwidth(n)/1e3;o.bl=r.getBufferLength(n)}r.apply(e,o)}catch(e){s["logger"].warn("Could not generate segment CMCD data.",e)}};this.hls=t;var i=this.config=t.config;var n=i.cmcd;if(n!=null){i.pLoader=this.createPlaylistLoader();i.fLoader=this.createFragmentLoader();this.sid=n.sessionId||e.uuid();this.cid=n.contentId;this.useHeaders=n.useHeaders===true;this.registerListeners()}}var t=e.prototype;t.registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);t.on(i["Events"].BUFFER_CREATED,this.onBufferCreated,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);t.off(i["Events"].BUFFER_CREATED,this.onBufferCreated,this);this.onMediaDetached()};t.destroy=function e(){this.unregisterListeners();this.hls=this.config=this.audioBuffer=this.videoBuffer=null};t.onMediaAttached=function e(t,r){this.media=r.media;this.media.addEventListener("waiting",this.onWaiting);this.media.addEventListener("playing",this.onPlaying)};t.onMediaDetached=function e(){if(!this.media){return}this.media.removeEventListener("waiting",this.onWaiting);this.media.removeEventListener("playing",this.onPlaying);this.media=null};t.onBufferCreated=function e(t,r){var i,a;this.audioBuffer=(i=r.tracks.audio)===null||i===void 0?void 0:i.buffer;this.videoBuffer=(a=r.tracks.video)===null||a===void 0?void 0:a.buffer};t.createData=function e(){var t;return{v:a["CMCDVersion"],sf:a["CMCDStreamingFormat"].HLS,sid:this.sid,cid:this.cid,pr:(t=this.media)===null||t===void 0?void 0:t.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}};t.apply=function t(r,i){if(i===void 0){i={}}d(i,this.createData());var n=i.ot===a["CMCDObjectType"].INIT||i.ot===a["CMCDObjectType"].VIDEO||i.ot===a["CMCDObjectType"].MUXED;if(this.starved&&n){i.bs=true;i.su=true;this.starved=false}if(i.su==null){i.su=this.buffering}if(this.useHeaders){var s=e.toHeaders(i);if(!Object.keys(s).length){return}if(!r.headers){r.headers={}}d(r.headers,s)}else{var o=e.toQuery(i);if(!o){return}r.url=e.appendQueryToUri(r.url,o)}};t.getObjectType=function e(t){var r=t.type;if(r==="subtitle"){return a["CMCDObjectType"].TIMED_TEXT}if(t.sn==="initSegment"){return a["CMCDObjectType"].INIT}if(r==="audio"){return a["CMCDObjectType"].AUDIO}if(r==="main"){if(!this.hls.audioTracks.length){return a["CMCDObjectType"].MUXED}return a["CMCDObjectType"].VIDEO}return undefined};t.getTopBandwidth=function e(t){var r=0;var i;var n=this.hls;if(t===a["CMCDObjectType"].AUDIO){i=n.audioTracks}else{var s=n.maxAutoLevel;var o=s>-1?s+1:n.levels.length;i=n.levels.slice(0,o)}for(var l=u(i),f;!(f=l()).done;){var c=f.value;if(c.bitrate>r){r=c.bitrate}}return r>0?r:NaN};t.getBufferLength=function e(t){var r=this.hls.media;var i=t===a["CMCDObjectType"].AUDIO?this.audioBuffer:this.videoBuffer;if(!i||!r){return NaN}var s=n["BufferHelper"].bufferInfo(i,r.currentTime,this.config.maxBufferHole);return s.len*1e3};t.createPlaylistLoader=function e(){var t=this.config.pLoader;var r=this.applyPlaylistData;var i=t||this.config.loader;return function(){function e(e){this.loader=void 0;this.loader=new i(e)}var t=e.prototype;t.destroy=function e(){this.loader.destroy()};t.abort=function e(){this.loader.abort()};t.load=function e(t,i,a){r(t);this.loader.load(t,i,a)};l(e,[{key:"stats",get:function e(){return this.loader.stats}},{key:"context",get:function e(){return this.loader.context}}]);return e}()};t.createFragmentLoader=function e(){var t=this.config.fLoader;var r=this.applyFragmentData;var i=t||this.config.loader;return function(){function e(e){this.loader=void 0;this.loader=new i(e)}var t=e.prototype;t.destroy=function e(){this.loader.destroy()};t.abort=function e(){this.loader.abort()};t.load=function e(t,i,a){r(t);this.loader.load(t,i,a)};l(e,[{key:"stats",get:function e(){return this.loader.stats}},{key:"context",get:function e(){return this.loader.context}}]);return e}()};e.uuid=function e(){var t=URL.createObjectURL(new Blob);var e=t.toString();URL.revokeObjectURL(t);return e.substr(e.lastIndexOf("/")+1)};e.serialize=function e(t){var r=[];var i=function e(t){return!Number.isNaN(t)&&t!=null&&t!==""&&t!==false};var a=function e(t){return Math.round(t)};var n=function e(t){return a(t/100)*100};var s=function e(t){return encodeURIComponent(t)};var o={br:a,d:a,bl:n,dl:n,mtp:n,nor:s,rtp:n,tb:a};var l=Object.keys(t||{}).sort();for(var f=u(l),c;!(c=f()).done;){var d=c.value;var h=t[d];if(!i(h)){continue}if(d==="v"&&h===1){continue}if(d=="pr"&&h===1){continue}var v=o[d];if(v){h=v(h)}var g=typeof h;var p=void 0;if(d==="ot"||d==="sf"||d==="st"){p=d+"="+h}else if(g==="boolean"){p=d}else if(g==="number"){p=d+"="+h}else{p=d+"="+JSON.stringify(h)}r.push(p)}return r.join(",")};e.toHeaders=function t(r){var i=Object.keys(r);var a={};var n=["Object","Request","Session","Status"];var s=[{},{},{},{}];var o={br:0,d:0,ot:0,tb:0,bl:1,dl:1,mtp:1,nor:1,nrr:1,su:1,cid:2,pr:2,sf:2,sid:2,st:2,v:2,bs:3,rtp:3};for(var l=0,u=i;l<u.length;l++){var f=u[l];var c=o[f]!=null?o[f]:1;s[c][f]=r[f]}for(var d=0;d<s.length;d++){var h=e.serialize(s[d]);if(h){a["CMCD-"+n[d]]=h}}return a};e.toQuery=function t(r){return"CMCD="+encodeURIComponent(e.serialize(r))};e.appendQueryToUri=function e(t,r){if(!r){return t}var i=t.includes("?")?"&":"?";return""+t+i+r};return e}()},"./src/controller/eme-controller.ts":
53
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return h}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../types/cmcd */"./src/types/cmcd.ts");var n=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}function u(e,t){var r=typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=f(e))||t&&e&&typeof e.length==="number"){if(r)e=r;var i=0;return function(){if(i>=e.length)return{done:true};return{done:false,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e,t){if(!e)return;if(typeof e==="string")return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}function d(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,i=new Array(t);r<t;r++){i[r]=e[r]}return i}function c(){c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return c.apply(this,arguments)}var h=function(){function e(t){var r=this;this.hls=void 0;this.config=void 0;this.media=void 0;this.sid=void 0;this.cid=void 0;this.useHeaders=false;this.initialized=false;this.starved=false;this.buffering=true;this.audioBuffer=void 0;this.videoBuffer=void 0;this.onWaiting=function(){if(r.initialized){r.starved=true}r.buffering=true};this.onPlaying=function(){if(!r.initialized){r.initialized=true}r.buffering=false};this.applyPlaylistData=function(e){try{r.apply(e,{ot:a["CMCDObjectType"].MANIFEST,su:!r.initialized})}catch(e){s["logger"].warn("Could not generate manifest CMCD data.",e)}};this.applyFragmentData=function(e){try{var t=e.frag;var i=r.hls.levels[t.level];var n=r.getObjectType(t);var o={d:t.duration*1e3,ot:n};if(n===a["CMCDObjectType"].VIDEO||n===a["CMCDObjectType"].AUDIO||n==a["CMCDObjectType"].MUXED){o.br=i.bitrate/1e3;o.tb=r.getTopBandwidth(n)/1e3;o.bl=r.getBufferLength(n)}r.apply(e,o)}catch(e){s["logger"].warn("Could not generate segment CMCD data.",e)}};this.hls=t;var i=this.config=t.config;var n=i.cmcd;if(n!=null){i.pLoader=this.createPlaylistLoader();i.fLoader=this.createFragmentLoader();this.sid=n.sessionId||e.uuid();this.cid=n.contentId;this.useHeaders=n.useHeaders===true;this.registerListeners()}}var t=e.prototype;t.registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);t.on(i["Events"].BUFFER_CREATED,this.onBufferCreated,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);t.off(i["Events"].BUFFER_CREATED,this.onBufferCreated,this);this.onMediaDetached()};t.destroy=function e(){this.unregisterListeners();this.hls=this.config=this.audioBuffer=this.videoBuffer=null};t.onMediaAttached=function e(t,r){this.media=r.media;this.media.addEventListener("waiting",this.onWaiting);this.media.addEventListener("playing",this.onPlaying)};t.onMediaDetached=function e(){if(!this.media){return}this.media.removeEventListener("waiting",this.onWaiting);this.media.removeEventListener("playing",this.onPlaying);this.media=null};t.onBufferCreated=function e(t,r){var i,a;this.audioBuffer=(i=r.tracks.audio)===null||i===void 0?void 0:i.buffer;this.videoBuffer=(a=r.tracks.video)===null||a===void 0?void 0:a.buffer};t.createData=function e(){var t;return{v:a["CMCDVersion"],sf:a["CMCDStreamingFormat"].HLS,sid:this.sid,cid:this.cid,pr:(t=this.media)===null||t===void 0?void 0:t.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}};t.apply=function t(r,i){if(i===void 0){i={}}c(i,this.createData());var n=i.ot===a["CMCDObjectType"].INIT||i.ot===a["CMCDObjectType"].VIDEO||i.ot===a["CMCDObjectType"].MUXED;if(this.starved&&n){i.bs=true;i.su=true;this.starved=false}if(i.su==null){i.su=this.buffering}if(this.useHeaders){var s=e.toHeaders(i);if(!Object.keys(s).length){return}if(!r.headers){r.headers={}}c(r.headers,s)}else{var o=e.toQuery(i);if(!o){return}r.url=e.appendQueryToUri(r.url,o)}};t.getObjectType=function e(t){var r=t.type;if(r==="subtitle"){return a["CMCDObjectType"].TIMED_TEXT}if(t.sn==="initSegment"){return a["CMCDObjectType"].INIT}if(r==="audio"){return a["CMCDObjectType"].AUDIO}if(r==="main"){if(!this.hls.audioTracks.length){return a["CMCDObjectType"].MUXED}return a["CMCDObjectType"].VIDEO}return undefined};t.getTopBandwidth=function e(t){var r=0;var i;var n=this.hls;if(t===a["CMCDObjectType"].AUDIO){i=n.audioTracks}else{var s=n.maxAutoLevel;var o=s>-1?s+1:n.levels.length;i=n.levels.slice(0,o)}for(var l=u(i),f;!(f=l()).done;){var d=f.value;if(d.bitrate>r){r=d.bitrate}}return r>0?r:NaN};t.getBufferLength=function e(t){var r=this.hls.media;var i=t===a["CMCDObjectType"].AUDIO?this.audioBuffer:this.videoBuffer;if(!i||!r){return NaN}var s=n["BufferHelper"].bufferInfo(i,r.currentTime,this.config.maxBufferHole);return s.len*1e3};t.createPlaylistLoader=function e(){var t=this.config.pLoader;var r=this.applyPlaylistData;var i=t||this.config.loader;return function(){function e(e){this.loader=void 0;this.loader=new i(e)}var t=e.prototype;t.destroy=function e(){this.loader.destroy()};t.abort=function e(){this.loader.abort()};t.load=function e(t,i,a){r(t);this.loader.load(t,i,a)};l(e,[{key:"stats",get:function e(){return this.loader.stats}},{key:"context",get:function e(){return this.loader.context}}]);return e}()};t.createFragmentLoader=function e(){var t=this.config.fLoader;var r=this.applyFragmentData;var i=t||this.config.loader;return function(){function e(e){this.loader=void 0;this.loader=new i(e)}var t=e.prototype;t.destroy=function e(){this.loader.destroy()};t.abort=function e(){this.loader.abort()};t.load=function e(t,i,a){r(t);this.loader.load(t,i,a)};l(e,[{key:"stats",get:function e(){return this.loader.stats}},{key:"context",get:function e(){return this.loader.context}}]);return e}()};e.uuid=function e(){var t=URL.createObjectURL(new Blob);var e=t.toString();URL.revokeObjectURL(t);return e.substr(e.lastIndexOf("/")+1)};e.serialize=function e(t){var r=[];var i=function e(t){return!Number.isNaN(t)&&t!=null&&t!==""&&t!==false};var a=function e(t){return Math.round(t)};var n=function e(t){return a(t/100)*100};var s=function e(t){return encodeURIComponent(t)};var o={br:a,d:a,bl:n,dl:n,mtp:n,nor:s,rtp:n,tb:a};var l=Object.keys(t||{}).sort();for(var f=u(l),d;!(d=f()).done;){var c=d.value;var h=t[c];if(!i(h)){continue}if(c==="v"&&h===1){continue}if(c=="pr"&&h===1){continue}var v=o[c];if(v){h=v(h)}var g=typeof h;var p=void 0;if(c==="ot"||c==="sf"||c==="st"){p=c+"="+h}else if(g==="boolean"){p=c}else if(g==="number"){p=c+"="+h}else{p=c+"="+JSON.stringify(h)}r.push(p)}return r.join(",")};e.toHeaders=function t(r){var i=Object.keys(r);var a={};var n=["Object","Request","Session","Status"];var s=[{},{},{},{}];var o={br:0,d:0,ot:0,tb:0,bl:1,dl:1,mtp:1,nor:1,nrr:1,su:1,cid:2,pr:2,sf:2,sid:2,st:2,v:2,bs:3,rtp:3};for(var l=0,u=i;l<u.length;l++){var f=u[l];var d=o[f]!=null?o[f]:1;s[d][f]=r[f]}for(var c=0;c<s.length;c++){var h=e.serialize(s[c]);if(h){a["CMCD-"+n[c]]=h}}return a};e.toQuery=function t(r){return"CMCD="+encodeURIComponent(e.serialize(r))};e.appendQueryToUri=function e(t,r){if(!r){return t}var i=t.includes("?")?"&":"?";return""+t+i+r};return e}()},"./src/controller/eme-controller.ts":
54
54
  /*!******************************************!*\
55
55
  !*** ./src/controller/eme-controller.ts ***!
56
56
  \******************************************/
57
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! ../utils/mediakeys-helper */"./src/utils/mediakeys-helper.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}var u=3;var f=function e(t,r,i){var a={audioCapabilities:[],videoCapabilities:[]};t.forEach((function(e){a.audioCapabilities.push({contentType:'audio/mp4; codecs="'+e+'"',robustness:i.audioRobustness||""})}));r.forEach((function(e){a.videoCapabilities.push({contentType:'video/mp4; codecs="'+e+'"',robustness:i.videoRobustness||""})}));return[a]};var c=function e(t,r,i,a){switch(t){case s["KeySystems"].WIDEVINE:return f(r,i,a);default:throw new Error("Unknown key-system: "+t)}};var d=function(){function e(e){this.hls=void 0;this._widevineLicenseUrl=void 0;this._licenseXhrSetup=void 0;this._licenseResponseCallback=void 0;this._emeEnabled=void 0;this._requestMediaKeySystemAccess=void 0;this._drmSystemOptions=void 0;this._config=void 0;this._mediaKeysList=[];this._media=null;this._hasSetMediaKeys=false;this._requestLicenseFailureCount=0;this.mediaKeysPromise=null;this._onMediaEncrypted=this.onMediaEncrypted.bind(this);this.hls=e;this._config=e.config;this._widevineLicenseUrl=this._config.widevineLicenseUrl;this._licenseXhrSetup=this._config.licenseXhrSetup;this._licenseResponseCallback=this._config.licenseResponseCallback;this._emeEnabled=this._config.emeEnabled;this._requestMediaKeySystemAccess=this._config.requestMediaKeySystemAccessFunc;this._drmSystemOptions=this._config.drmSystemOptions;this._registerListeners()}var t=e.prototype;t.destroy=function e(){this._unregisterListeners();this.hls=this._onMediaEncrypted=null;this._requestMediaKeySystemAccess=null};t._registerListeners=function e(){this.hls.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);this.hls.on(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);this.hls.on(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this)};t._unregisterListeners=function e(){this.hls.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);this.hls.off(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);this.hls.off(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this)};t.getLicenseServerUrl=function e(t){switch(t){case s["KeySystems"].WIDEVINE:if(!this._widevineLicenseUrl){break}return this._widevineLicenseUrl}throw new Error('no license server URL configured for key-system "'+t+'"')};t._attemptKeySystemAccess=function e(t,r,i){var a=this;var s=c(t,r,i,this._drmSystemOptions);n["logger"].log("Requesting encrypted media key-system access");var o=this.requestMediaKeySystemAccess(t,s);this.mediaKeysPromise=o.then((function(e){return a._onMediaKeySystemAccessObtained(t,e)}));o.catch((function(e){n["logger"].error('Failed to obtain key-system "'+t+'" access:',e)}))};t._onMediaKeySystemAccessObtained=function e(t,r){var i=this;n["logger"].log('Access for key-system "'+t+'" obtained');var a={mediaKeysSessionInitialized:false,mediaKeySystemAccess:r,mediaKeySystemDomain:t};this._mediaKeysList.push(a);var s=Promise.resolve().then((function(){return r.createMediaKeys()})).then((function(e){a.mediaKeys=e;n["logger"].log('Media-keys created for key-system "'+t+'"');i._onMediaKeysCreated();return e}));s.catch((function(e){n["logger"].error("Failed to create media-keys:",e)}));return s};t._onMediaKeysCreated=function e(){var t=this;this._mediaKeysList.forEach((function(e){if(!e.mediaKeysSession){e.mediaKeysSession=e.mediaKeys.createSession();t._onNewMediaKeySession(e.mediaKeysSession)}}))};t._onNewMediaKeySession=function e(t){var r=this;n["logger"].log("New key-system session "+t.sessionId);t.addEventListener("message",(function(e){r._onKeySessionMessage(t,e.message)}),false)};t._onKeySessionMessage=function e(t,r){n["logger"].log("Got EME message event, creating license request");this._requestLicense(r,(function(e){n["logger"].log("Received license data (length: "+(e?e.byteLength:e)+"), updating key-session");t.update(e)}))};t.onMediaEncrypted=function e(t){var r=this;n["logger"].log('Media is encrypted using "'+t.initDataType+'" init data type');if(!this.mediaKeysPromise){n["logger"].error("Fatal: Media is encrypted but no CDM access or no keys have been requested");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_KEYS,fatal:true});return}var s=function e(i){if(!r._media){return}r._attemptSetMediaKeys(i);r._generateRequestWithPreferredKeySession(t.initDataType,t.initData)};this.mediaKeysPromise.then(s).catch(s)};t._attemptSetMediaKeys=function e(t){if(!this._media){throw new Error("Attempted to set mediaKeys without first attaching a media element")}if(!this._hasSetMediaKeys){var r=this._mediaKeysList[0];if(!r||!r.mediaKeys){n["logger"].error("Fatal: Media is encrypted but no CDM access or no keys have been obtained yet");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_KEYS,fatal:true});return}n["logger"].log("Setting keys for encrypted media");this._media.setMediaKeys(r.mediaKeys);this._hasSetMediaKeys=true}};t._generateRequestWithPreferredKeySession=function e(t,r){var s=this;var o=this._mediaKeysList[0];if(!o){n["logger"].error("Fatal: Media is encrypted but not any key-system access has been obtained yet");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_ACCESS,fatal:true});return}if(o.mediaKeysSessionInitialized){n["logger"].warn("Key-Session already initialized but requested again");return}var l=o.mediaKeysSession;if(!l){n["logger"].error("Fatal: Media is encrypted but no key-session existing");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_SESSION,fatal:true});return}if(!r){n["logger"].warn("Fatal: initData required for generating a key session is null");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_INIT_DATA,fatal:true});return}n["logger"].log('Generating key-session request for "'+t+'" init data type');o.mediaKeysSessionInitialized=true;l.generateRequest(t,r).then((function(){n["logger"].debug("Key-session generation succeeded")})).catch((function(e){n["logger"].error("Error generating key-session request:",e);s.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_SESSION,fatal:false})}))};t._createLicenseXhr=function e(t,r,i){var a=new XMLHttpRequest;a.responseType="arraybuffer";a.onreadystatechange=this._onLicenseRequestReadyStageChange.bind(this,a,t,r,i);var s=this._licenseXhrSetup;if(s){try{s.call(this.hls,a,t);s=undefined}catch(e){n["logger"].error(e)}}try{if(!a.readyState){a.open("POST",t,true)}if(s){s.call(this.hls,a,t)}}catch(e){throw new Error("issue setting up KeySystem license XHR "+e)}return a};t._onLicenseRequestReadyStageChange=function e(t,r,s,o){switch(t.readyState){case 4:if(t.status===200){this._requestLicenseFailureCount=0;n["logger"].log("License request succeeded");var l=t.response;var f=this._licenseResponseCallback;if(f){try{l=f.call(this.hls,t,r)}catch(e){n["logger"].error(e)}}o(l)}else{n["logger"].error("License Request XHR failed ("+r+"). Status: "+t.status+" ("+t.statusText+")");this._requestLicenseFailureCount++;if(this._requestLicenseFailureCount>u){this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:true});return}var c=u-this._requestLicenseFailureCount+1;n["logger"].warn("Retrying license request, "+c+" attempts left");this._requestLicense(s,o)}break}};t._generateLicenseRequestChallenge=function e(t,r){switch(t.mediaKeySystemDomain){case s["KeySystems"].WIDEVINE:return r}throw new Error("unsupported key-system: "+t.mediaKeySystemDomain)};t._requestLicense=function e(t,r){n["logger"].log("Requesting content license for key-system");var s=this._mediaKeysList[0];if(!s){n["logger"].error("Fatal error: Media is encrypted but no key-system access has been obtained yet");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_ACCESS,fatal:true});return}try{var o=this.getLicenseServerUrl(s.mediaKeySystemDomain);var l=this._createLicenseXhr(o,t,r);n["logger"].log("Sending license request to URL: "+o);var u=this._generateLicenseRequestChallenge(s,t);l.send(u)}catch(e){n["logger"].error("Failure requesting DRM license: "+e);this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:true})}};t.onMediaAttached=function e(t,r){if(!this._emeEnabled){return}var i=r.media;this._media=i;i.addEventListener("encrypted",this._onMediaEncrypted)};t.onMediaDetached=function e(){var t=this._media;var r=this._mediaKeysList;if(!t){return}t.removeEventListener("encrypted",this._onMediaEncrypted);this._media=null;this._mediaKeysList=[];Promise.all(r.map((function(e){if(e.mediaKeysSession){return e.mediaKeysSession.close().catch((function(){}))}}))).then((function(){return t.setMediaKeys(null)})).catch((function(){}))};t.onManifestParsed=function e(t,r){if(!this._emeEnabled){return}var i=r.levels.map((function(e){return e.audioCodec})).filter((function(e){return!!e}));var a=r.levels.map((function(e){return e.videoCodec})).filter((function(e){return!!e}));this._attemptKeySystemAccess(s["KeySystems"].WIDEVINE,i,a)};l(e,[{key:"requestMediaKeySystemAccess",get:function e(){if(!this._requestMediaKeySystemAccess){throw new Error("No requestMediaKeySystemAccess function configured")}return this._requestMediaKeySystemAccess}}]);return e}();t["default"]=d},"./src/controller/fps-controller.ts":
57
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! ../utils/mediakeys-helper */"./src/utils/mediakeys-helper.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}var u=3;var f=function e(t,r,i){var a={audioCapabilities:[],videoCapabilities:[]};t.forEach((function(e){a.audioCapabilities.push({contentType:'audio/mp4; codecs="'+e+'"',robustness:i.audioRobustness||""})}));r.forEach((function(e){a.videoCapabilities.push({contentType:'video/mp4; codecs="'+e+'"',robustness:i.videoRobustness||""})}));return[a]};var d=function e(t,r,i,a){switch(t){case s["KeySystems"].WIDEVINE:return f(r,i,a);default:throw new Error("Unknown key-system: "+t)}};var c=function(){function e(e){this.hls=void 0;this._widevineLicenseUrl=void 0;this._licenseXhrSetup=void 0;this._licenseResponseCallback=void 0;this._emeEnabled=void 0;this._requestMediaKeySystemAccess=void 0;this._drmSystemOptions=void 0;this._config=void 0;this._mediaKeysList=[];this._media=null;this._hasSetMediaKeys=false;this._requestLicenseFailureCount=0;this.mediaKeysPromise=null;this._onMediaEncrypted=this.onMediaEncrypted.bind(this);this.hls=e;this._config=e.config;this._widevineLicenseUrl=this._config.widevineLicenseUrl;this._licenseXhrSetup=this._config.licenseXhrSetup;this._licenseResponseCallback=this._config.licenseResponseCallback;this._emeEnabled=this._config.emeEnabled;this._requestMediaKeySystemAccess=this._config.requestMediaKeySystemAccessFunc;this._drmSystemOptions=this._config.drmSystemOptions;this._registerListeners()}var t=e.prototype;t.destroy=function e(){this._unregisterListeners();this.hls=this._onMediaEncrypted=null;this._requestMediaKeySystemAccess=null};t._registerListeners=function e(){this.hls.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);this.hls.on(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);this.hls.on(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this)};t._unregisterListeners=function e(){this.hls.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);this.hls.off(i["Events"].MEDIA_DETACHED,this.onMediaDetached,this);this.hls.off(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this)};t.getLicenseServerUrl=function e(t){switch(t){case s["KeySystems"].WIDEVINE:if(!this._widevineLicenseUrl){break}return this._widevineLicenseUrl}throw new Error('no license server URL configured for key-system "'+t+'"')};t._attemptKeySystemAccess=function e(t,r,i){var a=this;var s=d(t,r,i,this._drmSystemOptions);n["logger"].log("Requesting encrypted media key-system access");var o=this.requestMediaKeySystemAccess(t,s);this.mediaKeysPromise=o.then((function(e){return a._onMediaKeySystemAccessObtained(t,e)}));o.catch((function(e){n["logger"].error('Failed to obtain key-system "'+t+'" access:',e)}))};t._onMediaKeySystemAccessObtained=function e(t,r){var i=this;n["logger"].log('Access for key-system "'+t+'" obtained');var a={mediaKeysSessionInitialized:false,mediaKeySystemAccess:r,mediaKeySystemDomain:t};this._mediaKeysList.push(a);var s=Promise.resolve().then((function(){return r.createMediaKeys()})).then((function(e){a.mediaKeys=e;n["logger"].log('Media-keys created for key-system "'+t+'"');i._onMediaKeysCreated();return e}));s.catch((function(e){n["logger"].error("Failed to create media-keys:",e)}));return s};t._onMediaKeysCreated=function e(){var t=this;this._mediaKeysList.forEach((function(e){if(!e.mediaKeysSession){e.mediaKeysSession=e.mediaKeys.createSession();t._onNewMediaKeySession(e.mediaKeysSession)}}))};t._onNewMediaKeySession=function e(t){var r=this;n["logger"].log("New key-system session "+t.sessionId);t.addEventListener("message",(function(e){r._onKeySessionMessage(t,e.message)}),false)};t._onKeySessionMessage=function e(t,r){n["logger"].log("Got EME message event, creating license request");this._requestLicense(r,(function(e){n["logger"].log("Received license data (length: "+(e?e.byteLength:e)+"), updating key-session");t.update(e)}))};t.onMediaEncrypted=function e(t){var r=this;n["logger"].log('Media is encrypted using "'+t.initDataType+'" init data type');if(!this.mediaKeysPromise){n["logger"].error("Fatal: Media is encrypted but no CDM access or no keys have been requested");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_KEYS,fatal:true});return}var s=function e(i){if(!r._media){return}r._attemptSetMediaKeys(i);r._generateRequestWithPreferredKeySession(t.initDataType,t.initData)};this.mediaKeysPromise.then(s).catch(s)};t._attemptSetMediaKeys=function e(t){if(!this._media){throw new Error("Attempted to set mediaKeys without first attaching a media element")}if(!this._hasSetMediaKeys){var r=this._mediaKeysList[0];if(!r||!r.mediaKeys){n["logger"].error("Fatal: Media is encrypted but no CDM access or no keys have been obtained yet");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_KEYS,fatal:true});return}n["logger"].log("Setting keys for encrypted media");this._media.setMediaKeys(r.mediaKeys);this._hasSetMediaKeys=true}};t._generateRequestWithPreferredKeySession=function e(t,r){var s=this;var o=this._mediaKeysList[0];if(!o){n["logger"].error("Fatal: Media is encrypted but not any key-system access has been obtained yet");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_ACCESS,fatal:true});return}if(o.mediaKeysSessionInitialized){n["logger"].warn("Key-Session already initialized but requested again");return}var l=o.mediaKeysSession;if(!l){n["logger"].error("Fatal: Media is encrypted but no key-session existing");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_SESSION,fatal:true});return}if(!r){n["logger"].warn("Fatal: initData required for generating a key session is null");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_INIT_DATA,fatal:true});return}n["logger"].log('Generating key-session request for "'+t+'" init data type');o.mediaKeysSessionInitialized=true;l.generateRequest(t,r).then((function(){n["logger"].debug("Key-session generation succeeded")})).catch((function(e){n["logger"].error("Error generating key-session request:",e);s.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_SESSION,fatal:false})}))};t._createLicenseXhr=function e(t,r,i){var a=new XMLHttpRequest;a.responseType="arraybuffer";a.onreadystatechange=this._onLicenseRequestReadyStageChange.bind(this,a,t,r,i);var s=this._licenseXhrSetup;if(s){try{s.call(this.hls,a,t);s=undefined}catch(e){n["logger"].error(e)}}try{if(!a.readyState){a.open("POST",t,true)}if(s){s.call(this.hls,a,t)}}catch(e){throw new Error("issue setting up KeySystem license XHR "+e)}return a};t._onLicenseRequestReadyStageChange=function e(t,r,s,o){switch(t.readyState){case 4:if(t.status===200){this._requestLicenseFailureCount=0;n["logger"].log("License request succeeded");var l=t.response;var f=this._licenseResponseCallback;if(f){try{l=f.call(this.hls,t,r)}catch(e){n["logger"].error(e)}}o(l)}else{n["logger"].error("License Request XHR failed ("+r+"). Status: "+t.status+" ("+t.statusText+")");this._requestLicenseFailureCount++;if(this._requestLicenseFailureCount>u){this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:true});return}var d=u-this._requestLicenseFailureCount+1;n["logger"].warn("Retrying license request, "+d+" attempts left");this._requestLicense(s,o)}break}};t._generateLicenseRequestChallenge=function e(t,r){switch(t.mediaKeySystemDomain){case s["KeySystems"].WIDEVINE:return r}throw new Error("unsupported key-system: "+t.mediaKeySystemDomain)};t._requestLicense=function e(t,r){n["logger"].log("Requesting content license for key-system");var s=this._mediaKeysList[0];if(!s){n["logger"].error("Fatal error: Media is encrypted but no key-system access has been obtained yet");this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_NO_ACCESS,fatal:true});return}try{var o=this.getLicenseServerUrl(s.mediaKeySystemDomain);var l=this._createLicenseXhr(o,t,r);n["logger"].log("Sending license request to URL: "+o);var u=this._generateLicenseRequestChallenge(s,t);l.send(u)}catch(e){n["logger"].error("Failure requesting DRM license: "+e);this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].KEY_SYSTEM_ERROR,details:a["ErrorDetails"].KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:true})}};t.onMediaAttached=function e(t,r){if(!this._emeEnabled){return}var i=r.media;this._media=i;i.addEventListener("encrypted",this._onMediaEncrypted)};t.onMediaDetached=function e(){var t=this._media;var r=this._mediaKeysList;if(!t){return}t.removeEventListener("encrypted",this._onMediaEncrypted);this._media=null;this._mediaKeysList=[];Promise.all(r.map((function(e){if(e.mediaKeysSession){return e.mediaKeysSession.close().catch((function(){}))}}))).then((function(){return t.setMediaKeys(null)})).catch((function(){}))};t.onManifestParsed=function e(t,r){if(!this._emeEnabled){return}var i=r.levels.map((function(e){return e.audioCodec})).filter((function(e){return!!e}));var a=r.levels.map((function(e){return e.videoCodec})).filter((function(e){return!!e}));this._attemptKeySystemAccess(s["KeySystems"].WIDEVINE,i,a)};l(e,[{key:"requestMediaKeySystemAccess",get:function e(){if(!this._requestMediaKeySystemAccess){throw new Error("No requestMediaKeySystemAccess function configured")}return this._requestMediaKeySystemAccess}}]);return e}();t["default"]=c},"./src/controller/fps-controller.ts":
58
58
  /*!******************************************!*\
59
59
  !*** ./src/controller/fps-controller.ts ***!
60
60
  \******************************************/
61
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/logger */"./src/utils/logger.ts");var n=function(){function e(e){this.hls=void 0;this.isVideoPlaybackQualityAvailable=false;this.timer=void 0;this.media=null;this.lastTime=void 0;this.lastDroppedFrames=0;this.lastDecodedFrames=0;this.streamController=void 0;this.hls=e;this.registerListeners()}var t=e.prototype;t.setStreamController=function e(t){this.streamController=t};t.registerListeners=function e(){this.hls.on(i["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this)};t.unregisterListeners=function e(){this.hls.off(i["Events"].MEDIA_ATTACHING,this.onMediaAttaching)};t.destroy=function e(){if(this.timer){clearInterval(this.timer)}this.unregisterListeners();this.isVideoPlaybackQualityAvailable=false;this.media=null};t.onMediaAttaching=function e(t,r){var i=this.hls.config;if(i.capLevelOnFPSDrop){var a=r.media instanceof self.HTMLVideoElement?r.media:null;this.media=a;if(a&&typeof a.getVideoPlaybackQuality==="function"){this.isVideoPlaybackQualityAvailable=true}self.clearInterval(this.timer);this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}};t.checkFPS=function e(t,r,n){var s=performance.now();if(r){if(this.lastTime){var o=s-this.lastTime;var l=n-this.lastDroppedFrames;var u=r-this.lastDecodedFrames;var f=1e3*l/o;var c=this.hls;c.trigger(i["Events"].FPS_DROP,{currentDropped:l,currentDecoded:u,totalDroppedFrames:n});if(f>0){if(l>c.config.fpsDroppedMonitoringThreshold*u){var d=c.currentLevel;a["logger"].warn("drop FPS ratio greater than max allowed value for currentLevel: "+d);if(d>0&&(c.autoLevelCapping===-1||c.autoLevelCapping>=d)){d=d-1;c.trigger(i["Events"].FPS_DROP_LEVEL_CAPPING,{level:d,droppedLevel:c.currentLevel});c.autoLevelCapping=d;this.streamController.nextLevelSwitch()}}}}this.lastTime=s;this.lastDroppedFrames=n;this.lastDecodedFrames=r}};t.checkFPSInterval=function e(){var t=this.media;if(t){if(this.isVideoPlaybackQualityAvailable){var r=t.getVideoPlaybackQuality();this.checkFPS(t,r.totalVideoFrames,r.droppedVideoFrames)}else{this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount)}}};return e}();t["default"]=n},"./src/controller/fragment-finders.ts":
61
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/logger */"./src/utils/logger.ts");var n=function(){function e(e){this.hls=void 0;this.isVideoPlaybackQualityAvailable=false;this.timer=void 0;this.media=null;this.lastTime=void 0;this.lastDroppedFrames=0;this.lastDecodedFrames=0;this.streamController=void 0;this.hls=e;this.registerListeners()}var t=e.prototype;t.setStreamController=function e(t){this.streamController=t};t.registerListeners=function e(){this.hls.on(i["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this)};t.unregisterListeners=function e(){this.hls.off(i["Events"].MEDIA_ATTACHING,this.onMediaAttaching)};t.destroy=function e(){if(this.timer){clearInterval(this.timer)}this.unregisterListeners();this.isVideoPlaybackQualityAvailable=false;this.media=null};t.onMediaAttaching=function e(t,r){var i=this.hls.config;if(i.capLevelOnFPSDrop){var a=r.media instanceof self.HTMLVideoElement?r.media:null;this.media=a;if(a&&typeof a.getVideoPlaybackQuality==="function"){this.isVideoPlaybackQualityAvailable=true}self.clearInterval(this.timer);this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}};t.checkFPS=function e(t,r,n){var s=performance.now();if(r){if(this.lastTime){var o=s-this.lastTime;var l=n-this.lastDroppedFrames;var u=r-this.lastDecodedFrames;var f=1e3*l/o;var d=this.hls;d.trigger(i["Events"].FPS_DROP,{currentDropped:l,currentDecoded:u,totalDroppedFrames:n});if(f>0){if(l>d.config.fpsDroppedMonitoringThreshold*u){var c=d.currentLevel;a["logger"].warn("drop FPS ratio greater than max allowed value for currentLevel: "+c);if(c>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=c)){c=c-1;d.trigger(i["Events"].FPS_DROP_LEVEL_CAPPING,{level:c,droppedLevel:d.currentLevel});d.autoLevelCapping=c;this.streamController.nextLevelSwitch()}}}}this.lastTime=s;this.lastDroppedFrames=n;this.lastDecodedFrames=r}};t.checkFPSInterval=function e(){var t=this.media;if(t){if(this.isVideoPlaybackQualityAvailable){var r=t.getVideoPlaybackQuality();this.checkFPS(t,r.totalVideoFrames,r.droppedVideoFrames)}else{this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount)}}};return e}();t["default"]=n},"./src/controller/fragment-finders.ts":
62
62
  /*!********************************************!*\
63
63
  !*** ./src/controller/fragment-finders.ts ***!
64
64
  \********************************************/
@@ -66,43 +66,43 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
66
66
  /*!********************************************!*\
67
67
  !*** ./src/controller/fragment-tracker.ts ***!
68
68
  \********************************************/
69
- /*! exports provided: FragmentState, FragmentTracker */function(e,t,r){r.r(t);r.d(t,"FragmentState",(function(){return n}));r.d(t,"FragmentTracker",(function(){return s}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../types/loader */"./src/types/loader.ts");var n;(function(e){e["NOT_LOADED"]="NOT_LOADED";e["BACKTRACKED"]="BACKTRACKED";e["APPENDING"]="APPENDING";e["PARTIAL"]="PARTIAL";e["OK"]="OK"})(n||(n={}));var s=function(){function e(e){this.activeFragment=null;this.activeParts=null;this.fragments=Object.create(null);this.timeRanges=Object.create(null);this.bufferPadding=.2;this.hls=void 0;this.hls=e;this._registerListeners()}var t=e.prototype;t._registerListeners=function e(){var t=this.hls;t.on(i["Events"].BUFFER_APPENDED,this.onBufferAppended,this);t.on(i["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.on(i["Events"].FRAG_LOADED,this.onFragLoaded,this)};t._unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].BUFFER_APPENDED,this.onBufferAppended,this);t.off(i["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.off(i["Events"].FRAG_LOADED,this.onFragLoaded,this)};t.destroy=function e(){this._unregisterListeners();this.fragments=this.timeRanges=null};t.getAppendedFrag=function e(t,r){if(r===a["PlaylistLevelType"].MAIN){var i=this.activeFragment,n=this.activeParts;if(!i){return null}if(n){for(var s=n.length;s--;){var o=n[s];var l=o?o.end:i.appendedPTS;if(o.start<=t&&l!==undefined&&t<=l){if(s>9){this.activeParts=n.slice(s-9)}return o}}}else if(i.start<=t&&i.appendedPTS!==undefined&&t<=i.appendedPTS){return i}}return this.getBufferedFrag(t,r)};t.getBufferedFrag=function e(t,r){var i=this.fragments;var a=Object.keys(i);for(var n=a.length;n--;){var s=i[a[n]];if((s===null||s===void 0?void 0:s.body.type)===r&&s.buffered){var o=s.body;if(o.start<=t&&t<=o.end){return o}}}return null};t.detectEvictedFragments=function e(t,r,i){var a=this;Object.keys(this.fragments).forEach((function(e){var n=a.fragments[e];if(!n){return}if(!n.buffered){if(n.body.type===i){a.removeFragment(n.body)}return}var s=n.range[t];if(!s){return}s.time.some((function(e){var t=!a.isTimeBuffered(e.startPTS,e.endPTS,r);if(t){a.removeFragment(n.body)}return t}))}))};t.detectPartialFragments=function e(t){var r=this;var i=this.timeRanges;var a=t.frag,n=t.part;if(!i||a.sn==="initSegment"){return}var s=l(a);var o=this.fragments[s];if(!o){return}Object.keys(i).forEach((function(e){var t=a.elementaryStreams[e];if(!t){return}var s=i[e];var l=n!==null||t.partial===true;o.range[e]=r.getBufferedTimes(a,n,l,s)}));o.backtrack=o.loaded=null;if(Object.keys(o.range).length){o.buffered=true}else{this.removeFragment(o.body)}};t.fragBuffered=function e(t){var r=l(t);var i=this.fragments[r];if(i){i.backtrack=i.loaded=null;i.buffered=true}};t.getBufferedTimes=function e(t,r,i,a){var n={time:[],partial:i};var s=r?r.start:t.start;var o=r?r.end:t.end;var l=t.minEndPTS||o;var u=t.maxStartPTS||s;for(var f=0;f<a.length;f++){var c=a.start(f)-this.bufferPadding;var d=a.end(f)+this.bufferPadding;if(u>=c&&l<=d){n.time.push({startPTS:Math.max(s,a.start(f)),endPTS:Math.min(o,a.end(f))});break}else if(s<d&&o>c){n.partial=true;n.time.push({startPTS:Math.max(s,a.start(f)),endPTS:Math.min(o,a.end(f))})}else if(o<=c){break}}return n};t.getPartialFragment=function e(t){var r=null;var i;var a;var n;var s=0;var l=this.bufferPadding,u=this.fragments;Object.keys(u).forEach((function(e){var f=u[e];if(!f){return}if(o(f)){a=f.body.start-l;n=f.body.end+l;if(t>=a&&t<=n){i=Math.min(t-a,n-t);if(s<=i){r=f.body;s=i}}}}));return r};t.getState=function e(t){var r=l(t);var i=this.fragments[r];if(i){if(!i.buffered){if(i.backtrack){return n.BACKTRACKED}return n.APPENDING}else if(o(i)){return n.PARTIAL}else{return n.OK}}return n.NOT_LOADED};t.backtrack=function e(t,r){var i=l(t);var a=this.fragments[i];if(!a||a.backtrack){return null}var e=a.backtrack=r?r:a.loaded;a.loaded=null;return e};t.getBacktrackData=function e(t){var r=l(t);var i=this.fragments[r];if(i){var a;var n=i.backtrack;if(n!==null&&n!==void 0&&(a=n.payload)!==null&&a!==void 0&&a.byteLength){return n}else{this.removeFragment(t)}}return null};t.isTimeBuffered=function e(t,r,i){var a;var n;for(var s=0;s<i.length;s++){a=i.start(s)-this.bufferPadding;n=i.end(s)+this.bufferPadding;if(t>=a&&r<=n){return true}if(r<=a){return false}}return false};t.onFragLoaded=function e(t,r){var i=r.frag,a=r.part;if(i.sn==="initSegment"||i.bitrateTest||a){return}var n=l(i);this.fragments[n]={body:i,loaded:r,backtrack:null,buffered:false,range:Object.create(null)}};t.onBufferAppended=function e(t,r){var i=this;var n=r.frag,s=r.part,o=r.timeRanges;if(n.type===a["PlaylistLevelType"].MAIN){this.activeFragment=n;if(s){var l=this.activeParts;if(!l){this.activeParts=l=[]}l.push(s)}else{this.activeParts=null}}this.timeRanges=o;Object.keys(o).forEach((function(e){var t=o[e];i.detectEvictedFragments(e,t);if(!s){for(var r=0;r<t.length;r++){n.appendedPTS=Math.max(t.end(r),n.appendedPTS||0)}}}))};t.onFragBuffered=function e(t,r){this.detectPartialFragments(r)};t.hasFragment=function e(t){var r=l(t);return!!this.fragments[r]};t.removeFragmentsInRange=function e(t,r,i){var a=this;Object.keys(this.fragments).forEach((function(e){var n=a.fragments[e];if(!n){return}if(n.buffered){var s=n.body;if(s.type===i&&s.start<r&&s.end>t){a.removeFragment(s)}}}))};t.removeFragment=function e(t){var r=l(t);t.stats.loaded=0;t.clearElementaryStreamInfo();delete this.fragments[r]};t.removeAllFragments=function e(){this.fragments=Object.create(null);this.activeFragment=null;this.activeParts=null};return e}();function o(e){var t,r;return e.buffered&&(((t=e.range.video)===null||t===void 0?void 0:t.partial)||((r=e.range.audio)===null||r===void 0?void 0:r.partial))}function l(e){return e.type+"_"+e.level+"_"+e.urlId+"_"+e.sn}},"./src/controller/gap-controller.ts":
69
+ /*! exports provided: FragmentState, FragmentTracker */function(e,t,r){r.r(t);r.d(t,"FragmentState",(function(){return n}));r.d(t,"FragmentTracker",(function(){return s}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../types/loader */"./src/types/loader.ts");var n;(function(e){e["NOT_LOADED"]="NOT_LOADED";e["BACKTRACKED"]="BACKTRACKED";e["APPENDING"]="APPENDING";e["PARTIAL"]="PARTIAL";e["OK"]="OK"})(n||(n={}));var s=function(){function e(e){this.activeFragment=null;this.activeParts=null;this.fragments=Object.create(null);this.timeRanges=Object.create(null);this.bufferPadding=.2;this.hls=void 0;this.hls=e;this._registerListeners()}var t=e.prototype;t._registerListeners=function e(){var t=this.hls;t.on(i["Events"].BUFFER_APPENDED,this.onBufferAppended,this);t.on(i["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.on(i["Events"].FRAG_LOADED,this.onFragLoaded,this)};t._unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].BUFFER_APPENDED,this.onBufferAppended,this);t.off(i["Events"].FRAG_BUFFERED,this.onFragBuffered,this);t.off(i["Events"].FRAG_LOADED,this.onFragLoaded,this)};t.destroy=function e(){this._unregisterListeners();this.fragments=this.timeRanges=null};t.getAppendedFrag=function e(t,r){if(r===a["PlaylistLevelType"].MAIN){var i=this.activeFragment,n=this.activeParts;if(!i){return null}if(n){for(var s=n.length;s--;){var o=n[s];var l=o?o.end:i.appendedPTS;if(o.start<=t&&l!==undefined&&t<=l){if(s>9){this.activeParts=n.slice(s-9)}return o}}}else if(i.start<=t&&i.appendedPTS!==undefined&&t<=i.appendedPTS){return i}}return this.getBufferedFrag(t,r)};t.getBufferedFrag=function e(t,r){var i=this.fragments;var a=Object.keys(i);for(var n=a.length;n--;){var s=i[a[n]];if((s===null||s===void 0?void 0:s.body.type)===r&&s.buffered){var o=s.body;if(o.start<=t&&t<=o.end){return o}}}return null};t.detectEvictedFragments=function e(t,r,i){var a=this;Object.keys(this.fragments).forEach((function(e){var n=a.fragments[e];if(!n){return}if(!n.buffered){if(n.body.type===i){a.removeFragment(n.body)}return}var s=n.range[t];if(!s){return}s.time.some((function(e){var t=!a.isTimeBuffered(e.startPTS,e.endPTS,r);if(t){a.removeFragment(n.body)}return t}))}))};t.detectPartialFragments=function e(t){var r=this;var i=this.timeRanges;var a=t.frag,n=t.part;if(!i||a.sn==="initSegment"){return}var s=l(a);var o=this.fragments[s];if(!o){return}Object.keys(i).forEach((function(e){var t=a.elementaryStreams[e];if(!t){return}var s=i[e];var l=n!==null||t.partial===true;o.range[e]=r.getBufferedTimes(a,n,l,s)}));o.backtrack=o.loaded=null;if(Object.keys(o.range).length){o.buffered=true}else{this.removeFragment(o.body)}};t.fragBuffered=function e(t){var r=l(t);var i=this.fragments[r];if(i){i.backtrack=i.loaded=null;i.buffered=true}};t.getBufferedTimes=function e(t,r,i,a){var n={time:[],partial:i};var s=r?r.start:t.start;var o=r?r.end:t.end;var l=t.minEndPTS||o;var u=t.maxStartPTS||s;for(var f=0;f<a.length;f++){var d=a.start(f)-this.bufferPadding;var c=a.end(f)+this.bufferPadding;if(u>=d&&l<=c){n.time.push({startPTS:Math.max(s,a.start(f)),endPTS:Math.min(o,a.end(f))});break}else if(s<c&&o>d){n.partial=true;n.time.push({startPTS:Math.max(s,a.start(f)),endPTS:Math.min(o,a.end(f))})}else if(o<=d){break}}return n};t.getPartialFragment=function e(t){var r=null;var i;var a;var n;var s=0;var l=this.bufferPadding,u=this.fragments;Object.keys(u).forEach((function(e){var f=u[e];if(!f){return}if(o(f)){a=f.body.start-l;n=f.body.end+l;if(t>=a&&t<=n){i=Math.min(t-a,n-t);if(s<=i){r=f.body;s=i}}}}));return r};t.getState=function e(t){var r=l(t);var i=this.fragments[r];if(i){if(!i.buffered){if(i.backtrack){return n.BACKTRACKED}return n.APPENDING}else if(o(i)){return n.PARTIAL}else{return n.OK}}return n.NOT_LOADED};t.backtrack=function e(t,r){var i=l(t);var a=this.fragments[i];if(!a||a.backtrack){return null}var e=a.backtrack=r?r:a.loaded;a.loaded=null;return e};t.getBacktrackData=function e(t){var r=l(t);var i=this.fragments[r];if(i){var a;var n=i.backtrack;if(n!==null&&n!==void 0&&(a=n.payload)!==null&&a!==void 0&&a.byteLength){return n}else{this.removeFragment(t)}}return null};t.isTimeBuffered=function e(t,r,i){var a;var n;for(var s=0;s<i.length;s++){a=i.start(s)-this.bufferPadding;n=i.end(s)+this.bufferPadding;if(t>=a&&r<=n){return true}if(r<=a){return false}}return false};t.onFragLoaded=function e(t,r){var i=r.frag,a=r.part;if(i.sn==="initSegment"||i.bitrateTest||a){return}var n=l(i);this.fragments[n]={body:i,loaded:r,backtrack:null,buffered:false,range:Object.create(null)}};t.onBufferAppended=function e(t,r){var i=this;var n=r.frag,s=r.part,o=r.timeRanges;if(n.type===a["PlaylistLevelType"].MAIN){this.activeFragment=n;if(s){var l=this.activeParts;if(!l){this.activeParts=l=[]}l.push(s)}else{this.activeParts=null}}this.timeRanges=o;Object.keys(o).forEach((function(e){var t=o[e];i.detectEvictedFragments(e,t);if(!s){for(var r=0;r<t.length;r++){n.appendedPTS=Math.max(t.end(r),n.appendedPTS||0)}}}))};t.onFragBuffered=function e(t,r){this.detectPartialFragments(r)};t.hasFragment=function e(t){var r=l(t);return!!this.fragments[r]};t.removeFragmentsInRange=function e(t,r,i){var a=this;Object.keys(this.fragments).forEach((function(e){var n=a.fragments[e];if(!n){return}if(n.buffered){var s=n.body;if(s.type===i&&s.start<r&&s.end>t){a.removeFragment(s)}}}))};t.removeFragment=function e(t){var r=l(t);t.stats.loaded=0;t.clearElementaryStreamInfo();delete this.fragments[r]};t.removeAllFragments=function e(){this.fragments=Object.create(null);this.activeFragment=null;this.activeParts=null};return e}();function o(e){var t,r;return e.buffered&&(((t=e.range.video)===null||t===void 0?void 0:t.partial)||((r=e.range.audio)===null||r===void 0?void 0:r.partial))}function l(e){return e.type+"_"+e.level+"_"+e.urlId+"_"+e.sn}},"./src/controller/gap-controller.ts":
70
70
  /*!******************************************!*\
71
71
  !*** ./src/controller/gap-controller.ts ***!
72
72
  \******************************************/
73
- /*! exports provided: STALL_MINIMUM_DURATION_MS, MAX_START_GAP_JUMP, SKIP_BUFFER_HOLE_STEP_SECONDS, SKIP_BUFFER_RANGE_START, default */function(e,t,r){r.r(t);r.d(t,"STALL_MINIMUM_DURATION_MS",(function(){return o}));r.d(t,"MAX_START_GAP_JUMP",(function(){return l}));r.d(t,"SKIP_BUFFER_HOLE_STEP_SECONDS",(function(){return u}));r.d(t,"SKIP_BUFFER_RANGE_START",(function(){return f}));r.d(t,"default",(function(){return c}));var i=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../events */"./src/events.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=250;var l=2;var u=.1;var f=.05;var c=function(){function e(e,t,r,i){this.config=void 0;this.media=void 0;this.fragmentTracker=void 0;this.hls=void 0;this.nudgeRetry=0;this.stallReported=false;this.stalled=null;this.moved=false;this.seeking=false;this.config=e;this.media=t;this.fragmentTracker=r;this.hls=i}var t=e.prototype;t.destroy=function e(){this.hls=this.fragmentTracker=this.media=null};t.poll=function e(t){var r=this.config,a=this.media,n=this.stalled;var u=a.currentTime,f=a.seeking;var c=this.seeking&&!f;var d=!this.seeking&&f;this.seeking=f;if(u!==t){this.moved=true;if(n!==null){if(this.stallReported){var h=self.performance.now()-n;s["logger"].warn("playback not stuck anymore @"+u+", after "+Math.round(h)+"ms");this.stallReported=false}this.stalled=null;this.nudgeRetry=0}return}if(d||c){this.stalled=null}if(a.paused||a.ended||a.playbackRate===0||!i["BufferHelper"].getBuffered(a).length){return}var v=i["BufferHelper"].bufferInfo(a,u,0);var g=v.len>0;var p=v.nextStart||0;if(!g&&!p){return}if(f){var m=v.len>l;var y=!p||p-u>l&&!this.fragmentTracker.getPartialFragment(u);if(m||y){return}this.moved=false}if(!this.moved&&this.stalled!==null){var E;var T=Math.max(p,v.start||0)-u;var b=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null;var S=b===null||b===void 0?void 0:(E=b.details)===null||E===void 0?void 0:E.live;var A=S?b.details.targetduration*2:l;if(T>0&&T<=A){this._trySkipBufferHole(null);return}}var L=self.performance.now();if(n===null){this.stalled=L;return}var D=L-n;if(!f&&D>=o){this._reportStall(v.len)}var k=i["BufferHelper"].bufferInfo(a,u,r.maxBufferHole);this._tryFixBufferStall(k,D)};t._tryFixBufferStall=function e(t,r){var i=this.config,a=this.fragmentTracker,n=this.media;var o=n.currentTime;var l=a.getPartialFragment(o);if(l){var u=this._trySkipBufferHole(l);if(u){return}}if(t.len>i.maxBufferHole&&r>i.highBufferWatchdogPeriod*1e3){s["logger"].warn("Trying to nudge playhead over buffer-hole");this.stalled=null;this._tryNudgeBuffer()}};t._reportStall=function e(t){var r=this.hls,i=this.media,o=this.stallReported;if(!o){this.stallReported=true;s["logger"].warn("Playback stalling at @"+i.currentTime+" due to low buffer (buffer="+t+")");r.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_STALLED_ERROR,fatal:false,buffer:t})}};t._trySkipBufferHole=function e(t){var r=this.config,o=this.hls,l=this.media;var c=l.currentTime;var d=0;var h=i["BufferHelper"].getBuffered(l);for(var v=0;v<h.length;v++){var g=h.start(v);if(c+r.maxBufferHole>=d&&c<g){var p=Math.max(g+f,l.currentTime+u);s["logger"].warn("skipping hole, adjusting currentTime from "+c+" to "+p);this.moved=true;this.stalled=null;l.currentTime=p;if(t){o.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_SEEK_OVER_HOLE,fatal:false,reason:"fragment loaded with buffer holes, seeking from "+c+" to "+p,frag:t})}return p}d=h.end(v)}return 0};t._tryNudgeBuffer=function e(){var t=this.config,r=this.hls,i=this.media;var o=i.currentTime;var l=(this.nudgeRetry||0)+1;this.nudgeRetry=l;if(l<t.nudgeMaxRetry){var u=o+l*t.nudgeOffset;s["logger"].warn("Nudging 'currentTime' from "+o+" to "+u);i.currentTime=u;r.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_NUDGE_ON_STALL,fatal:false})}else{s["logger"].error("Playhead still not moving while enough data buffered @"+o+" after "+t.nudgeMaxRetry+" nudges");r.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_STALLED_ERROR,fatal:true})}};return e}()},"./src/controller/id3-track-controller.ts":
73
+ /*! exports provided: STALL_MINIMUM_DURATION_MS, MAX_START_GAP_JUMP, SKIP_BUFFER_HOLE_STEP_SECONDS, SKIP_BUFFER_RANGE_START, default */function(e,t,r){r.r(t);r.d(t,"STALL_MINIMUM_DURATION_MS",(function(){return o}));r.d(t,"MAX_START_GAP_JUMP",(function(){return l}));r.d(t,"SKIP_BUFFER_HOLE_STEP_SECONDS",(function(){return u}));r.d(t,"SKIP_BUFFER_RANGE_START",(function(){return f}));r.d(t,"default",(function(){return d}));var i=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../events */"./src/events.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=250;var l=2;var u=.1;var f=.05;var d=function(){function e(e,t,r,i){this.config=void 0;this.media=void 0;this.fragmentTracker=void 0;this.hls=void 0;this.nudgeRetry=0;this.stallReported=false;this.stalled=null;this.moved=false;this.seeking=false;this.config=e;this.media=t;this.fragmentTracker=r;this.hls=i}var t=e.prototype;t.destroy=function e(){this.hls=this.fragmentTracker=this.media=null};t.poll=function e(t){var r=this.config,a=this.media,n=this.stalled;var u=a.currentTime,f=a.seeking;var d=this.seeking&&!f;var c=!this.seeking&&f;this.seeking=f;if(u!==t){this.moved=true;if(n!==null){if(this.stallReported){var h=self.performance.now()-n;s["logger"].warn("playback not stuck anymore @"+u+", after "+Math.round(h)+"ms");this.stallReported=false}this.stalled=null;this.nudgeRetry=0}return}if(c||d){this.stalled=null}if(a.paused||a.ended||a.playbackRate===0||!i["BufferHelper"].getBuffered(a).length){return}var v=i["BufferHelper"].bufferInfo(a,u,0);var g=v.len>0;var p=v.nextStart||0;if(!g&&!p){return}if(f){var m=v.len>l;var y=!p||p-u>l&&!this.fragmentTracker.getPartialFragment(u);if(m||y){return}this.moved=false}if(!this.moved&&this.stalled!==null){var E;var T=Math.max(p,v.start||0)-u;var b=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null;var S=b===null||b===void 0?void 0:(E=b.details)===null||E===void 0?void 0:E.live;var A=S?b.details.targetduration*2:l;if(T>0&&T<=A){this._trySkipBufferHole(null);return}}var L=self.performance.now();if(n===null){this.stalled=L;return}var D=L-n;if(!f&&D>=o){this._reportStall(v.len)}var k=i["BufferHelper"].bufferInfo(a,u,r.maxBufferHole);this._tryFixBufferStall(k,D)};t._tryFixBufferStall=function e(t,r){var i=this.config,a=this.fragmentTracker,n=this.media;var o=n.currentTime;var l=a.getPartialFragment(o);if(l){var u=this._trySkipBufferHole(l);if(u){return}}if(t.len>i.maxBufferHole&&r>i.highBufferWatchdogPeriod*1e3){s["logger"].warn("Trying to nudge playhead over buffer-hole");this.stalled=null;this._tryNudgeBuffer()}};t._reportStall=function e(t){var r=this.hls,i=this.media,o=this.stallReported;if(!o){this.stallReported=true;s["logger"].warn("Playback stalling at @"+i.currentTime+" due to low buffer (buffer="+t+")");r.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_STALLED_ERROR,fatal:false,buffer:t})}};t._trySkipBufferHole=function e(t){var r=this.config,o=this.hls,l=this.media;var d=l.currentTime;var c=0;var h=i["BufferHelper"].getBuffered(l);for(var v=0;v<h.length;v++){var g=h.start(v);if(d+r.maxBufferHole>=c&&d<g){var p=Math.max(g+f,l.currentTime+u);s["logger"].warn("skipping hole, adjusting currentTime from "+d+" to "+p);this.moved=true;this.stalled=null;l.currentTime=p;if(t){o.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_SEEK_OVER_HOLE,fatal:false,reason:"fragment loaded with buffer holes, seeking from "+d+" to "+p,frag:t})}return p}c=h.end(v)}return 0};t._tryNudgeBuffer=function e(){var t=this.config,r=this.hls,i=this.media;var o=i.currentTime;var l=(this.nudgeRetry||0)+1;this.nudgeRetry=l;if(l<t.nudgeMaxRetry){var u=o+l*t.nudgeOffset;s["logger"].warn("Nudging 'currentTime' from "+o+" to "+u);i.currentTime=u;r.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_NUDGE_ON_STALL,fatal:false})}else{s["logger"].error("Playhead still not moving while enough data buffered @"+o+" after "+t.nudgeMaxRetry+" nudges");r.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].BUFFER_STALLED_ERROR,fatal:true})}};return e}()},"./src/controller/id3-track-controller.ts":
74
74
  /*!************************************************!*\
75
75
  !*** ./src/controller/id3-track-controller.ts ***!
76
76
  \************************************************/
77
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/texttrack-utils */"./src/utils/texttrack-utils.ts");var n=r(/*! ../demux/id3 */"./src/demux/id3.ts");var s=.25;var o=function(){function e(e){this.hls=void 0;this.id3Track=null;this.media=null;this.hls=e;this._registerListeners()}var t=e.prototype;t.destroy=function e(){this._unregisterListeners()};t._registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(i["Events"].FRAG_PARSING_METADATA,this.onFragParsingMetadata,this);t.on(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};t._unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(i["Events"].FRAG_PARSING_METADATA,this.onFragParsingMetadata,this);t.off(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};t.onMediaAttached=function e(t,r){this.media=r.media};t.onMediaDetaching=function e(){if(!this.id3Track){return}Object(a["clearCurrentCues"])(this.id3Track);this.id3Track=null;this.media=null};t.getID3Track=function e(t){if(!this.media){return}for(var r=0;r<t.length;r++){var i=t[r];if(i.kind==="metadata"&&i.label==="id3"){Object(a["sendAddTrackEvent"])(i,this.media);return i}}return this.media.addTextTrack("metadata","id3")};t.onFragParsingMetadata=function e(t,r){if(!this.media){return}var i=r.frag;var a=r.samples;if(!this.id3Track){this.id3Track=this.getID3Track(this.media.textTracks);this.id3Track.mode="hidden"}var o=self.WebKitDataCue||self.VTTCue||self.TextTrackCue;for(var l=0;l<a.length;l++){var u=n["getID3Frames"](a[l].data);if(u){var f=a[l].pts;var c=l<a.length-1?a[l+1].pts:i.end;var d=c-f;if(d<=0){c=f+s}for(var h=0;h<u.length;h++){var v=u[h];if(!n["isTimeStampFrame"](v)){var g=new o(f,c,"");g.value=v;this.id3Track.addCue(g)}}}}};t.onBufferFlushing=function e(t,r){var i=r.startOffset,n=r.endOffset,s=r.type;if(!s||s==="audio"){var o=this.id3Track;if(o){Object(a["removeCuesInRange"])(o,i,n)}}};return e}();t["default"]=o},"./src/controller/latency-controller.ts":
77
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/texttrack-utils */"./src/utils/texttrack-utils.ts");var n=r(/*! ../demux/id3 */"./src/demux/id3.ts");var s=.25;var o=function(){function e(e){this.hls=void 0;this.id3Track=null;this.media=null;this.hls=e;this._registerListeners()}var t=e.prototype;t.destroy=function e(){this._unregisterListeners()};t._registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(i["Events"].FRAG_PARSING_METADATA,this.onFragParsingMetadata,this);t.on(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};t._unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(i["Events"].FRAG_PARSING_METADATA,this.onFragParsingMetadata,this);t.off(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};t.onMediaAttached=function e(t,r){this.media=r.media};t.onMediaDetaching=function e(){if(!this.id3Track){return}Object(a["clearCurrentCues"])(this.id3Track);this.id3Track=null;this.media=null};t.getID3Track=function e(t){if(!this.media){return}for(var r=0;r<t.length;r++){var i=t[r];if(i.kind==="metadata"&&i.label==="id3"){Object(a["sendAddTrackEvent"])(i,this.media);return i}}return this.media.addTextTrack("metadata","id3")};t.onFragParsingMetadata=function e(t,r){if(!this.media){return}var i=r.frag;var a=r.samples;if(!this.id3Track){this.id3Track=this.getID3Track(this.media.textTracks);this.id3Track.mode="hidden"}var o=self.WebKitDataCue||self.VTTCue||self.TextTrackCue;for(var l=0;l<a.length;l++){var u=n["getID3Frames"](a[l].data);if(u){var f=a[l].pts;var d=l<a.length-1?a[l+1].pts:i.end;var c=d-f;if(c<=0){d=f+s}for(var h=0;h<u.length;h++){var v=u[h];if(!n["isTimeStampFrame"](v)){var g=new o(f,d,"");g.value=v;this.id3Track.addCue(g)}}}}};t.onBufferFlushing=function e(t,r){var i=r.startOffset,n=r.endOffset,s=r.type;if(!s||s==="audio"){var o=this.id3Track;if(o){Object(a["removeCuesInRange"])(o,i,n)}}};return e}();t["default"]=o},"./src/controller/latency-controller.ts":
78
78
  /*!**********************************************!*\
79
79
  !*** ./src/controller/latency-controller.ts ***!
80
80
  \**********************************************/
81
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return l}));var i=r(/*! ../errors */"./src/errors.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");function s(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function o(e,t,r){if(t)s(e.prototype,t);if(r)s(e,r);return e}var l=function(){function e(e){var t=this;this.hls=void 0;this.config=void 0;this.media=null;this.levelDetails=null;this.currentTime=0;this.stallCount=0;this._latency=null;this.timeupdateHandler=function(){return t.timeupdate()};this.hls=e;this.config=e.config;this.registerListeners()}var t=e.prototype;t.destroy=function e(){this.unregisterListeners();this.onMediaDetaching();this.levelDetails=null;this.hls=this.timeupdateHandler=null};t.registerListeners=function e(){this.hls.on(a["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);this.hls.on(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);this.hls.on(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);this.hls.on(a["Events"].LEVEL_UPDATED,this.onLevelUpdated,this);this.hls.on(a["Events"].ERROR,this.onError,this)};t.unregisterListeners=function e(){this.hls.off(a["Events"].MEDIA_ATTACHED,this.onMediaAttached);this.hls.off(a["Events"].MEDIA_DETACHING,this.onMediaDetaching);this.hls.off(a["Events"].MANIFEST_LOADING,this.onManifestLoading);this.hls.off(a["Events"].LEVEL_UPDATED,this.onLevelUpdated);this.hls.off(a["Events"].ERROR,this.onError)};t.onMediaAttached=function e(t,r){this.media=r.media;this.media.addEventListener("timeupdate",this.timeupdateHandler)};t.onMediaDetaching=function e(){if(this.media){this.media.removeEventListener("timeupdate",this.timeupdateHandler);this.media=null}};t.onManifestLoading=function e(){this.levelDetails=null;this._latency=null;this.stallCount=0};t.onLevelUpdated=function e(t,r){var i=r.details;this.levelDetails=i;if(i.advanced){this.timeupdate()}if(!i.live&&this.media){this.media.removeEventListener("timeupdate",this.timeupdateHandler)}};t.onError=function e(t,r){if(r.details!==i["ErrorDetails"].BUFFER_STALLED_ERROR){return}this.stallCount++;n["logger"].warn("[playback-rate-controller]: Stall detected, adjusting target latency")};t.timeupdate=function e(){var t=this.media,r=this.levelDetails;if(!t||!r){return}this.currentTime=t.currentTime;var i=this.computeLatency();if(i===null){return}this._latency=i;var a=this.config,n=a.lowLatencyMode,s=a.maxLiveSyncPlaybackRate;if(!n||s===1){return}var o=this.targetLatency;if(o===null){return}var l=i-o;var u=Math.min(this.maxLatency,o+r.targetduration);var f=l<u;if(r.live&&f&&l>.05&&this.forwardBufferLength>1){var c=Math.min(2,Math.max(1,s));var d=Math.round(2/(1+Math.exp(-.75*l-this.edgeStalled))*20)/20;t.playbackRate=Math.min(c,Math.max(1,d))}else if(t.playbackRate!==1&&t.playbackRate!==0){t.playbackRate=1}};t.estimateLiveEdge=function e(){var t=this.levelDetails;if(t===null){return null}return t.edge+t.age};t.computeLatency=function e(){var t=this.estimateLiveEdge();if(t===null){return null}return t-this.currentTime};o(e,[{key:"latency",get:function e(){return this._latency||0}},{key:"maxLatency",get:function e(){var t=this.config,r=this.levelDetails;if(t.liveMaxLatencyDuration!==undefined){return t.liveMaxLatencyDuration}return r?t.liveMaxLatencyDurationCount*r.targetduration:0}},{key:"targetLatency",get:function e(){var t=this.levelDetails;if(t===null){return null}var r=t.holdBack,i=t.partHoldBack,a=t.targetduration;var n=this.config,s=n.liveSyncDuration,o=n.liveSyncDurationCount,l=n.lowLatencyMode;var u=this.hls.userConfig;var f=l?i||r:r;if(u.liveSyncDuration||u.liveSyncDurationCount||f===0){f=s!==undefined?s:o*a}var c=a;var d=1;return f+Math.min(this.stallCount*d,c)}},{key:"liveSyncPosition",get:function e(){var t=this.estimateLiveEdge();var r=this.targetLatency;var i=this.levelDetails;if(t===null||r===null||i===null){return null}var a=i.edge;var n=t-r-this.edgeStalled;var s=a-i.totalduration;var o=a-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(s,n),o)}},{key:"drift",get:function e(){var t=this.levelDetails;if(t===null){return 1}return t.drift}},{key:"edgeStalled",get:function e(){var t=this.levelDetails;if(t===null){return 0}var r=(this.config.lowLatencyMode&&t.partTarget||t.targetduration)*3;return Math.max(t.age-r,0)}},{key:"forwardBufferLength",get:function e(){var t=this.media,r=this.levelDetails;if(!t||!r){return 0}var i=t.buffered.length;return i?t.buffered.end(i-1):r.edge-this.currentTime}}]);return e}()},"./src/controller/level-controller.ts":
81
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return l}));var i=r(/*! ../errors */"./src/errors.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");function s(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function o(e,t,r){if(t)s(e.prototype,t);if(r)s(e,r);return e}var l=function(){function e(e){var t=this;this.hls=void 0;this.config=void 0;this.media=null;this.levelDetails=null;this.currentTime=0;this.stallCount=0;this._latency=null;this.timeupdateHandler=function(){return t.timeupdate()};this.hls=e;this.config=e.config;this.registerListeners()}var t=e.prototype;t.destroy=function e(){this.unregisterListeners();this.onMediaDetaching();this.levelDetails=null;this.hls=this.timeupdateHandler=null};t.registerListeners=function e(){this.hls.on(a["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);this.hls.on(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);this.hls.on(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);this.hls.on(a["Events"].LEVEL_UPDATED,this.onLevelUpdated,this);this.hls.on(a["Events"].ERROR,this.onError,this)};t.unregisterListeners=function e(){this.hls.off(a["Events"].MEDIA_ATTACHED,this.onMediaAttached);this.hls.off(a["Events"].MEDIA_DETACHING,this.onMediaDetaching);this.hls.off(a["Events"].MANIFEST_LOADING,this.onManifestLoading);this.hls.off(a["Events"].LEVEL_UPDATED,this.onLevelUpdated);this.hls.off(a["Events"].ERROR,this.onError)};t.onMediaAttached=function e(t,r){this.media=r.media;this.media.addEventListener("timeupdate",this.timeupdateHandler)};t.onMediaDetaching=function e(){if(this.media){this.media.removeEventListener("timeupdate",this.timeupdateHandler);this.media=null}};t.onManifestLoading=function e(){this.levelDetails=null;this._latency=null;this.stallCount=0};t.onLevelUpdated=function e(t,r){var i=r.details;this.levelDetails=i;if(i.advanced){this.timeupdate()}if(!i.live&&this.media){this.media.removeEventListener("timeupdate",this.timeupdateHandler)}};t.onError=function e(t,r){if(r.details!==i["ErrorDetails"].BUFFER_STALLED_ERROR){return}this.stallCount++;n["logger"].warn("[playback-rate-controller]: Stall detected, adjusting target latency")};t.timeupdate=function e(){var t=this.media,r=this.levelDetails;if(!t||!r){return}this.currentTime=t.currentTime;var i=this.computeLatency();if(i===null){return}this._latency=i;var a=this.config,n=a.lowLatencyMode,s=a.maxLiveSyncPlaybackRate;if(!n||s===1){return}var o=this.targetLatency;if(o===null){return}var l=i-o;var u=Math.min(this.maxLatency,o+r.targetduration);var f=l<u;if(r.live&&f&&l>.05&&this.forwardBufferLength>1){var d=Math.min(2,Math.max(1,s));var c=Math.round(2/(1+Math.exp(-.75*l-this.edgeStalled))*20)/20;t.playbackRate=Math.min(d,Math.max(1,c))}else if(t.playbackRate!==1&&t.playbackRate!==0){t.playbackRate=1}};t.estimateLiveEdge=function e(){var t=this.levelDetails;if(t===null){return null}return t.edge+t.age};t.computeLatency=function e(){var t=this.estimateLiveEdge();if(t===null){return null}return t-this.currentTime};o(e,[{key:"latency",get:function e(){return this._latency||0}},{key:"maxLatency",get:function e(){var t=this.config,r=this.levelDetails;if(t.liveMaxLatencyDuration!==undefined){return t.liveMaxLatencyDuration}return r?t.liveMaxLatencyDurationCount*r.targetduration:0}},{key:"targetLatency",get:function e(){var t=this.levelDetails;if(t===null){return null}var r=t.holdBack,i=t.partHoldBack,a=t.targetduration;var n=this.config,s=n.liveSyncDuration,o=n.liveSyncDurationCount,l=n.lowLatencyMode;var u=this.hls.userConfig;var f=l?i||r:r;if(u.liveSyncDuration||u.liveSyncDurationCount||f===0){f=s!==undefined?s:o*a}var d=a;var c=1;return f+Math.min(this.stallCount*c,d)}},{key:"liveSyncPosition",get:function e(){var t=this.estimateLiveEdge();var r=this.targetLatency;var i=this.levelDetails;if(t===null||r===null||i===null){return null}var a=i.edge;var n=t-r-this.edgeStalled;var s=a-i.totalduration;var o=a-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(s,n),o)}},{key:"drift",get:function e(){var t=this.levelDetails;if(t===null){return 1}return t.drift}},{key:"edgeStalled",get:function e(){var t=this.levelDetails;if(t===null){return 0}var r=(this.config.lowLatencyMode&&t.partTarget||t.targetduration)*3;return Math.max(t.age-r,0)}},{key:"forwardBufferLength",get:function e(){var t=this.media,r=this.levelDetails;if(!t||!r){return 0}var i=t.buffered.length;return i?t.buffered.end(i-1):r.edge-this.currentTime}}]);return e}()},"./src/controller/level-controller.ts":
82
82
  /*!********************************************!*\
83
83
  !*** ./src/controller/level-controller.ts ***!
84
84
  \********************************************/
85
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return p}));var i=r(/*! ../types/level */"./src/types/level.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../errors */"./src/errors.ts");var s=r(/*! ../utils/codecs */"./src/utils/codecs.ts");var o=r(/*! ./level-helper */"./src/controller/level-helper.ts");var l=r(/*! ./base-playlist-controller */"./src/controller/base-playlist-controller.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");function f(){f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return f.apply(this,arguments)}function c(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function d(e,t,r){if(t)c(e.prototype,t);if(r)c(e,r);return e}function h(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;v(e,t)}function v(e,t){v=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return v(e,t)}var g=/chrome|firefox/.test(navigator.userAgent.toLowerCase());var p=function(e){h(t,e);function t(t){var r;r=e.call(this,t,"[level-controller]")||this;r._levels=[];r._firstLevel=-1;r._startLevel=void 0;r.currentLevelIndex=-1;r.manualLevelIndex=-1;r.onParsedComplete=void 0;r._registerListeners();return r}var r=t.prototype;r._registerListeners=function e(){var t=this.hls;t.on(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);t.on(a["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(a["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.on(a["Events"].FRAG_LOADED,this.onFragLoaded,this);t.on(a["Events"].ERROR,this.onError,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);t.off(a["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(a["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.off(a["Events"].FRAG_LOADED,this.onFragLoaded,this);t.off(a["Events"].ERROR,this.onError,this)};r.destroy=function t(){this._unregisterListeners();this.manualLevelIndex=-1;this._levels.length=0;e.prototype.destroy.call(this)};r.startLoad=function t(){var r=this._levels;r.forEach((function(e){e.loadError=0}));e.prototype.startLoad.call(this)};r.onManifestLoaded=function e(t,r){var l=[];var u=[];var f=[];var c;var d={};var h;var v=false;var p=false;var m=false;r.levels.forEach((function(e){var t=e.attrs;v=v||!!(e.width&&e.height);p=p||!!e.videoCodec;m=m||!!e.audioCodec;if(g&&e.audioCodec&&e.audioCodec.indexOf("mp4a.40.34")!==-1){e.audioCodec=undefined}var r=e.bitrate+"-"+e.attrs.RESOLUTION+"-"+e.attrs.CODECS;h=d[r];if(!h){h=new i["Level"](e);d[r]=h;l.push(h)}else{h.url.push(e.url)}if(t){if(t.AUDIO){Object(o["addGroupId"])(h,"audio",t.AUDIO)}if(t.SUBTITLES){Object(o["addGroupId"])(h,"text",t.SUBTITLES)}}}));if((v||p)&&m){l=l.filter((function(e){var t=e.videoCodec,r=e.width,i=e.height;return!!t||!!(r&&i)}))}l=l.filter((function(e){var t=e.audioCodec,r=e.videoCodec;return(!t||Object(s["isCodecSupportedInMp4"])(t,"audio"))&&(!r||Object(s["isCodecSupportedInMp4"])(r,"video"))}));if(r.audioTracks){u=r.audioTracks.filter((function(e){return!e.audioCodec||Object(s["isCodecSupportedInMp4"])(e.audioCodec,"audio")}));Object(o["assignTrackIdsByGroup"])(u)}if(r.subtitles){f=r.subtitles;Object(o["assignTrackIdsByGroup"])(f)}if(l.length>0){c=l[0].bitrate;l.sort((function(e,t){return e.bitrate-t.bitrate}));this._levels=l;for(var y=0;y<l.length;y++){if(l[y].bitrate===c){this._firstLevel=y;this.log("manifest loaded, "+l.length+" level(s) found, first bitrate: "+c);break}}var E=m&&!p;var T={levels:l,audioTracks:u,subtitleTracks:f,firstLevel:this._firstLevel,stats:r.stats,audio:m,video:p,altAudio:!E&&u.some((function(e){return!!e.url}))};this.hls.trigger(a["Events"].MANIFEST_PARSED,T);if(this.hls.config.autoStartLoad||this.hls.forceStartLoad){this.hls.startLoad(this.hls.config.startPosition)}}else{this.hls.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].MEDIA_ERROR,details:n["ErrorDetails"].MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:true,url:r.url,reason:"no level with compatible codecs found in manifest"})}};r.onError=function t(r,i){e.prototype.onError.call(this,r,i);if(i.fatal){return}var a=i.context;var s=this._levels[this.currentLevelIndex];if(a&&(a.type===u["PlaylistContextType"].AUDIO_TRACK&&s.audioGroupIds&&a.groupId===s.audioGroupIds[s.urlId]||a.type===u["PlaylistContextType"].SUBTITLE_TRACK&&s.textGroupIds&&a.groupId===s.textGroupIds[s.urlId])){this.redundantFailover(this.currentLevelIndex);return}var o=false;var l=true;var f;switch(i.details){case n["ErrorDetails"].FRAG_LOAD_ERROR:case n["ErrorDetails"].FRAG_LOAD_TIMEOUT:case n["ErrorDetails"].KEY_LOAD_ERROR:case n["ErrorDetails"].KEY_LOAD_TIMEOUT:if(i.frag){var c=this._levels[i.frag.level];if(c){c.fragmentError++;if(c.fragmentError>this.hls.config.fragLoadingMaxRetry){f=i.frag.level}}else{f=i.frag.level}}break;case n["ErrorDetails"].LEVEL_LOAD_ERROR:case n["ErrorDetails"].LEVEL_LOAD_TIMEOUT:if(a){if(a.deliveryDirectives){l=false}f=a.level}o=true;break;case n["ErrorDetails"].REMUX_ALLOC_ERROR:f=i.level;o=true;break}if(f!==undefined){this.recoverLevel(i,f,o,l)}};r.recoverLevel=function e(t,r,i,a){var n=t.details;var s=this._levels[r];s.loadError++;if(i){var o=this.retryLoadingOrFail(t);if(o){t.levelRetry=true}else{this.currentLevelIndex=-1;return}}if(a){var l=s.url.length;if(l>1&&s.loadError<l){t.levelRetry=true;this.redundantFailover(r)}else if(this.manualLevelIndex===-1){var u=r===0?this._levels.length-1:r-1;if(this.currentLevelIndex!==u&&this._levels[u].loadError===0){this.warn(n+": switch to "+u);t.levelRetry=true;this.hls.nextAutoLevel=u}}}};r.redundantFailover=function e(t){var r=this._levels[t];var i=r.url.length;if(i>1){var a=(r.urlId+1)%i;this.warn("Switching to redundant URL-id "+a);this._levels.forEach((function(e){e.urlId=a}));this.level=t}};r.onFragLoaded=function e(t,r){var i=r.frag;if(i!==undefined&&i.type===u["PlaylistLevelType"].MAIN){var a=this._levels[i.level];if(a!==undefined){a.fragmentError=0;a.loadError=0}}};r.onLevelLoaded=function e(t,r){var i;var a=r.level,n=r.details;var s=this._levels[a];if(!s){var o;this.warn("Invalid level index "+a);if((o=r.deliveryDirectives)!==null&&o!==void 0&&o.skip){n.deltaUpdateFailed=true}return}if(a===this.currentLevelIndex){if(s.fragmentError===0){s.loadError=0;this.retryCount=0}this.playlistLoaded(a,r,s.details)}else if((i=r.deliveryDirectives)!==null&&i!==void 0&&i.skip){n.deltaUpdateFailed=true}};r.onAudioTrackSwitched=function e(t,r){var i=this.hls.levels[this.currentLevelIndex];if(!i){return}if(i.audioGroupIds){var a=-1;var n=this.hls.audioTracks[r.id].groupId;for(var s=0;s<i.audioGroupIds.length;s++){if(i.audioGroupIds[s]===n){a=s;break}}if(a!==i.urlId){i.urlId=a;this.startLoad()}}};r.loadPlaylist=function e(t){var r=this.currentLevelIndex;var i=this._levels[r];if(this.canLoad&&i&&i.url.length>0){var n=i.urlId;var s=i.url[n];if(t){try{s=t.addDirectives(s)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}}this.log("Attempt loading level index "+r+(t?" at sn "+t.msn+" part "+t.part:"")+" with URL-id "+n+" "+s);this.clearTimer();this.hls.trigger(a["Events"].LEVEL_LOADING,{url:s,level:r,id:n,deliveryDirectives:t||null})}};r.removeLevel=function e(t,r){var i=function e(t,i){return i!==r};var n=this._levels.filter((function(e,a){if(a!==t){return true}if(e.url.length>1&&r!==undefined){e.url=e.url.filter(i);if(e.audioGroupIds){e.audioGroupIds=e.audioGroupIds.filter(i)}if(e.textGroupIds){e.textGroupIds=e.textGroupIds.filter(i)}e.urlId=0;return true}return false})).map((function(e,t){var r=e.details;if(r!==null&&r!==void 0&&r.fragments){r.fragments.forEach((function(e){e.level=t}))}return e}));this._levels=n;this.hls.trigger(a["Events"].LEVELS_UPDATED,{levels:n})};d(t,[{key:"levels",get:function e(){if(this._levels.length===0){return null}return this._levels}},{key:"level",get:function e(){return this.currentLevelIndex},set:function e(t){var r;var i=this._levels;if(i.length===0){return}if(this.currentLevelIndex===t&&(r=i[t])!==null&&r!==void 0&&r.details){return}if(t<0||t>=i.length){var s=t<0;this.hls.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].OTHER_ERROR,details:n["ErrorDetails"].LEVEL_SWITCH_ERROR,level:t,fatal:s,reason:"invalid level idx"});if(s){return}t=Math.min(t,i.length-1)}this.clearTimer();var o=this.currentLevelIndex;var l=i[o];var u=i[t];this.log("switching to level "+t+" from "+o);this.currentLevelIndex=t;var c=f({},u,{level:t,maxBitrate:u.maxBitrate,uri:u.uri,urlId:u.urlId});delete c._urlId;this.hls.trigger(a["Events"].LEVEL_SWITCHING,c);var d=u.details;if(!d||d.live){var h=this.switchParams(u.uri,l===null||l===void 0?void 0:l.details);this.loadPlaylist(h)}}},{key:"manualLevel",get:function e(){return this.manualLevelIndex},set:function e(t){this.manualLevelIndex=t;if(this._startLevel===undefined){this._startLevel=t}if(t!==-1){this.level=t}}},{key:"firstLevel",get:function e(){return this._firstLevel},set:function e(t){this._firstLevel=t}},{key:"startLevel",get:function e(){if(this._startLevel===undefined){var t=this.hls.config.startLevel;if(t!==undefined){return t}else{return this._firstLevel}}else{return this._startLevel}},set:function e(t){this._startLevel=t}},{key:"nextLoadLevel",get:function e(){if(this.manualLevelIndex!==-1){return this.manualLevelIndex}else{return this.hls.nextAutoLevel}},set:function e(t){this.level=t;if(this.manualLevelIndex===-1){this.hls.nextAutoLevel=t}}}]);return t}(l["default"])},"./src/controller/level-helper.ts":
85
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return p}));var i=r(/*! ../types/level */"./src/types/level.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../errors */"./src/errors.ts");var s=r(/*! ../utils/codecs */"./src/utils/codecs.ts");var o=r(/*! ./level-helper */"./src/controller/level-helper.ts");var l=r(/*! ./base-playlist-controller */"./src/controller/base-playlist-controller.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");function f(){f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return f.apply(this,arguments)}function d(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function c(e,t,r){if(t)d(e.prototype,t);if(r)d(e,r);return e}function h(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;v(e,t)}function v(e,t){v=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return v(e,t)}var g=/chrome|firefox/.test(navigator.userAgent.toLowerCase());var p=function(e){h(t,e);function t(t){var r;r=e.call(this,t,"[level-controller]")||this;r._levels=[];r._firstLevel=-1;r._startLevel=void 0;r.currentLevelIndex=-1;r.manualLevelIndex=-1;r.onParsedComplete=void 0;r._registerListeners();return r}var r=t.prototype;r._registerListeners=function e(){var t=this.hls;t.on(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);t.on(a["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(a["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.on(a["Events"].FRAG_LOADED,this.onFragLoaded,this);t.on(a["Events"].ERROR,this.onError,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);t.off(a["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(a["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.off(a["Events"].FRAG_LOADED,this.onFragLoaded,this);t.off(a["Events"].ERROR,this.onError,this)};r.destroy=function t(){this._unregisterListeners();this.manualLevelIndex=-1;this._levels.length=0;e.prototype.destroy.call(this)};r.startLoad=function t(){var r=this._levels;r.forEach((function(e){e.loadError=0}));e.prototype.startLoad.call(this)};r.onManifestLoaded=function e(t,r){var l=[];var u=[];var f=[];var d;var c={};var h;var v=false;var p=false;var m=false;r.levels.forEach((function(e){var t=e.attrs;v=v||!!(e.width&&e.height);p=p||!!e.videoCodec;m=m||!!e.audioCodec;if(g&&e.audioCodec&&e.audioCodec.indexOf("mp4a.40.34")!==-1){e.audioCodec=undefined}var r=e.bitrate+"-"+e.attrs.RESOLUTION+"-"+e.attrs.CODECS;h=c[r];if(!h){h=new i["Level"](e);c[r]=h;l.push(h)}else{h.url.push(e.url)}if(t){if(t.AUDIO){Object(o["addGroupId"])(h,"audio",t.AUDIO)}if(t.SUBTITLES){Object(o["addGroupId"])(h,"text",t.SUBTITLES)}}}));if((v||p)&&m){l=l.filter((function(e){var t=e.videoCodec,r=e.width,i=e.height;return!!t||!!(r&&i)}))}l=l.filter((function(e){var t=e.audioCodec,r=e.videoCodec;return(!t||Object(s["isCodecSupportedInMp4"])(t,"audio"))&&(!r||Object(s["isCodecSupportedInMp4"])(r,"video"))}));if(r.audioTracks){u=r.audioTracks.filter((function(e){return!e.audioCodec||Object(s["isCodecSupportedInMp4"])(e.audioCodec,"audio")}));Object(o["assignTrackIdsByGroup"])(u)}if(r.subtitles){f=r.subtitles;Object(o["assignTrackIdsByGroup"])(f)}if(l.length>0){d=l[0].bitrate;l.sort((function(e,t){return e.bitrate-t.bitrate}));this._levels=l;for(var y=0;y<l.length;y++){if(l[y].bitrate===d){this._firstLevel=y;this.log("manifest loaded, "+l.length+" level(s) found, first bitrate: "+d);break}}var E=m&&!p;var T={levels:l,audioTracks:u,subtitleTracks:f,firstLevel:this._firstLevel,stats:r.stats,audio:m,video:p,altAudio:!E&&u.some((function(e){return!!e.url}))};this.hls.trigger(a["Events"].MANIFEST_PARSED,T);if(this.hls.config.autoStartLoad||this.hls.forceStartLoad){this.hls.startLoad(this.hls.config.startPosition)}}else{this.hls.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].MEDIA_ERROR,details:n["ErrorDetails"].MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:true,url:r.url,reason:"no level with compatible codecs found in manifest"})}};r.onError=function t(r,i){e.prototype.onError.call(this,r,i);if(i.fatal){return}var a=i.context;var s=this._levels[this.currentLevelIndex];if(a&&(a.type===u["PlaylistContextType"].AUDIO_TRACK&&s.audioGroupIds&&a.groupId===s.audioGroupIds[s.urlId]||a.type===u["PlaylistContextType"].SUBTITLE_TRACK&&s.textGroupIds&&a.groupId===s.textGroupIds[s.urlId])){this.redundantFailover(this.currentLevelIndex);return}var o=false;var l=true;var f;switch(i.details){case n["ErrorDetails"].FRAG_LOAD_ERROR:case n["ErrorDetails"].FRAG_LOAD_TIMEOUT:case n["ErrorDetails"].KEY_LOAD_ERROR:case n["ErrorDetails"].KEY_LOAD_TIMEOUT:if(i.frag){var d=this._levels[i.frag.level];if(d){d.fragmentError++;if(d.fragmentError>this.hls.config.fragLoadingMaxRetry){f=i.frag.level}}else{f=i.frag.level}}break;case n["ErrorDetails"].LEVEL_LOAD_ERROR:case n["ErrorDetails"].LEVEL_LOAD_TIMEOUT:if(a){if(a.deliveryDirectives){l=false}f=a.level}o=true;break;case n["ErrorDetails"].REMUX_ALLOC_ERROR:f=i.level;o=true;break}if(f!==undefined){this.recoverLevel(i,f,o,l)}};r.recoverLevel=function e(t,r,i,a){var n=t.details;var s=this._levels[r];s.loadError++;if(i){var o=this.retryLoadingOrFail(t);if(o){t.levelRetry=true}else{this.currentLevelIndex=-1;return}}if(a){var l=s.url.length;if(l>1&&s.loadError<l){t.levelRetry=true;this.redundantFailover(r)}else if(this.manualLevelIndex===-1){var u=r===0?this._levels.length-1:r-1;if(this.currentLevelIndex!==u&&this._levels[u].loadError===0){this.warn(n+": switch to "+u);t.levelRetry=true;this.hls.nextAutoLevel=u}}}};r.redundantFailover=function e(t){var r=this._levels[t];var i=r.url.length;if(i>1){var a=(r.urlId+1)%i;this.warn("Switching to redundant URL-id "+a);this._levels.forEach((function(e){e.urlId=a}));this.level=t}};r.onFragLoaded=function e(t,r){var i=r.frag;if(i!==undefined&&i.type===u["PlaylistLevelType"].MAIN){var a=this._levels[i.level];if(a!==undefined){a.fragmentError=0;a.loadError=0}}};r.onLevelLoaded=function e(t,r){var i;var a=r.level,n=r.details;var s=this._levels[a];if(!s){var o;this.warn("Invalid level index "+a);if((o=r.deliveryDirectives)!==null&&o!==void 0&&o.skip){n.deltaUpdateFailed=true}return}if(a===this.currentLevelIndex){if(s.fragmentError===0){s.loadError=0;this.retryCount=0}this.playlistLoaded(a,r,s.details)}else if((i=r.deliveryDirectives)!==null&&i!==void 0&&i.skip){n.deltaUpdateFailed=true}};r.onAudioTrackSwitched=function e(t,r){var i=this.hls.levels[this.currentLevelIndex];if(!i){return}if(i.audioGroupIds){var a=-1;var n=this.hls.audioTracks[r.id].groupId;for(var s=0;s<i.audioGroupIds.length;s++){if(i.audioGroupIds[s]===n){a=s;break}}if(a!==i.urlId){i.urlId=a;this.startLoad()}}};r.loadPlaylist=function e(t){var r=this.currentLevelIndex;var i=this._levels[r];if(this.canLoad&&i&&i.url.length>0){var n=i.urlId;var s=i.url[n];if(t){try{s=t.addDirectives(s)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}}this.log("Attempt loading level index "+r+(t?" at sn "+t.msn+" part "+t.part:"")+" with URL-id "+n+" "+s);this.clearTimer();this.hls.trigger(a["Events"].LEVEL_LOADING,{url:s,level:r,id:n,deliveryDirectives:t||null})}};r.removeLevel=function e(t,r){var i=function e(t,i){return i!==r};var n=this._levels.filter((function(e,a){if(a!==t){return true}if(e.url.length>1&&r!==undefined){e.url=e.url.filter(i);if(e.audioGroupIds){e.audioGroupIds=e.audioGroupIds.filter(i)}if(e.textGroupIds){e.textGroupIds=e.textGroupIds.filter(i)}e.urlId=0;return true}return false})).map((function(e,t){var r=e.details;if(r!==null&&r!==void 0&&r.fragments){r.fragments.forEach((function(e){e.level=t}))}return e}));this._levels=n;this.hls.trigger(a["Events"].LEVELS_UPDATED,{levels:n})};c(t,[{key:"levels",get:function e(){if(this._levels.length===0){return null}return this._levels}},{key:"level",get:function e(){return this.currentLevelIndex},set:function e(t){var r;var i=this._levels;if(i.length===0){return}if(this.currentLevelIndex===t&&(r=i[t])!==null&&r!==void 0&&r.details){return}if(t<0||t>=i.length){var s=t<0;this.hls.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].OTHER_ERROR,details:n["ErrorDetails"].LEVEL_SWITCH_ERROR,level:t,fatal:s,reason:"invalid level idx"});if(s){return}t=Math.min(t,i.length-1)}this.clearTimer();var o=this.currentLevelIndex;var l=i[o];var u=i[t];this.log("switching to level "+t+" from "+o);this.currentLevelIndex=t;var d=f({},u,{level:t,maxBitrate:u.maxBitrate,uri:u.uri,urlId:u.urlId});delete d._urlId;this.hls.trigger(a["Events"].LEVEL_SWITCHING,d);var c=u.details;if(!c||c.live){var h=this.switchParams(u.uri,l===null||l===void 0?void 0:l.details);this.loadPlaylist(h)}}},{key:"manualLevel",get:function e(){return this.manualLevelIndex},set:function e(t){this.manualLevelIndex=t;if(this._startLevel===undefined){this._startLevel=t}if(t!==-1){this.level=t}}},{key:"firstLevel",get:function e(){return this._firstLevel},set:function e(t){this._firstLevel=t}},{key:"startLevel",get:function e(){if(this._startLevel===undefined){var t=this.hls.config.startLevel;if(t!==undefined){return t}else{return this._firstLevel}}else{return this._startLevel}},set:function e(t){this._startLevel=t}},{key:"nextLoadLevel",get:function e(){if(this.manualLevelIndex!==-1){return this.manualLevelIndex}else{return this.hls.nextAutoLevel}},set:function e(t){this.level=t;if(this.manualLevelIndex===-1){this.hls.nextAutoLevel=t}}}]);return t}(l["default"])},"./src/controller/level-helper.ts":
86
86
  /*!****************************************!*\
87
87
  !*** ./src/controller/level-helper.ts ***!
88
88
  \****************************************/
89
- /*! exports provided: addGroupId, assignTrackIdsByGroup, updatePTS, updateFragPTSDTS, mergeDetails, mapPartIntersection, mapFragmentIntersection, adjustSliding, addSliding, computeReloadInterval, getFragmentWithSN, getPartWith */function(e,t,r){r.r(t);r.d(t,"addGroupId",(function(){return n}));r.d(t,"assignTrackIdsByGroup",(function(){return s}));r.d(t,"updatePTS",(function(){return o}));r.d(t,"updateFragPTSDTS",(function(){return u}));r.d(t,"mergeDetails",(function(){return f}));r.d(t,"mapPartIntersection",(function(){return c}));r.d(t,"mapFragmentIntersection",(function(){return d}));r.d(t,"adjustSliding",(function(){return h}));r.d(t,"addSliding",(function(){return v}));r.d(t,"computeReloadInterval",(function(){return g}));r.d(t,"getFragmentWithSN",(function(){return p}));r.d(t,"getPartWith",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../utils/logger */"./src/utils/logger.ts");function n(e,t,r){switch(t){case"audio":if(!e.audioGroupIds){e.audioGroupIds=[]}e.audioGroupIds.push(r);break;case"text":if(!e.textGroupIds){e.textGroupIds=[]}e.textGroupIds.push(r);break}}function s(e){var t={};e.forEach((function(e){var r=e.groupId||"";e.id=t[r]=t[r]||0;t[r]++}))}function o(e,t,r){var i=e[t];var a=e[r];l(i,a)}function l(e,t){var r=t.startPTS;if(Object(i["isFiniteNumber"])(r)){var a=0;var n;if(t.sn>e.sn){a=r-e.start;n=e}else{a=e.start-r;n=t}if(n.duration!==a){n.duration=a}}else if(t.sn>e.sn){var s=e.cc===t.cc;if(s&&e.minEndPTS){t.start=e.start+(e.minEndPTS-e.start)}else{t.start=e.start+e.duration}}else{t.start=Math.max(e.start-t.duration,0)}}function u(e,t,r,n,s,o){var u=n-r;if(u<=0){a["logger"].warn("Fragment should have a positive duration",t);n=r+t.duration;o=s+t.duration}var f=r;var c=n;var d=t.startPTS;var h=t.endPTS;if(Object(i["isFiniteNumber"])(d)){var v=Math.abs(d-r);if(!Object(i["isFiniteNumber"])(t.deltaPTS)){t.deltaPTS=v}else{t.deltaPTS=Math.max(v,t.deltaPTS)}f=Math.max(r,d);r=Math.min(r,d);s=Math.min(s,t.startDTS);c=Math.min(n,h);n=Math.max(n,h);o=Math.max(o,t.endDTS)}t.duration=n-r;var g=r-t.start;t.appendedPTS=n;t.start=t.startPTS=r;t.maxStartPTS=f;t.startDTS=s;t.endPTS=n;t.minEndPTS=c;t.endDTS=o;var p=t.sn;if(!e||p<e.startSN||p>e.endSN){return 0}var m;var y=p-e.startSN;var E=e.fragments;E[y]=t;for(m=y;m>0;m--){l(E[m],E[m-1])}for(m=y;m<E.length-1;m++){l(E[m],E[m+1])}if(e.fragmentHint){l(E[E.length-1],e.fragmentHint)}e.PTSKnown=e.alignedSliding=true;return g}function f(e,t){var r=null;var n=e.fragments;for(var s=n.length-1;s>=0;s--){var o=n[s].initSegment;if(o){r=o;break}}if(e.fragmentHint){delete e.fragmentHint.endPTS}var l=0;var f;d(e,t,(function(e,a){if(e.relurl){l=e.cc-a.cc}if(Object(i["isFiniteNumber"])(e.startPTS)&&Object(i["isFiniteNumber"])(e.endPTS)){a.start=a.startPTS=e.startPTS;a.startDTS=e.startDTS;a.appendedPTS=e.appendedPTS;a.maxStartPTS=e.maxStartPTS;a.endPTS=e.endPTS;a.endDTS=e.endDTS;a.minEndPTS=e.minEndPTS;a.duration=e.endPTS-e.startPTS;if(a.duration){f=a}t.PTSKnown=t.alignedSliding=true}a.elementaryStreams=e.elementaryStreams;a.loader=e.loader;a.stats=e.stats;a.urlId=e.urlId;if(e.initSegment){a.initSegment=e.initSegment;r=e.initSegment}}));if(r){var v=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments;v.forEach((function(e){var t;if(!e.initSegment||e.initSegment.relurl===((t=r)===null||t===void 0?void 0:t.relurl)){e.initSegment=r}}))}if(t.skippedSegments){t.deltaUpdateFailed=t.fragments.some((function(e){return!e}));if(t.deltaUpdateFailed){a["logger"].warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var g=t.skippedSegments;g--;){t.fragments.shift()}t.startSN=t.fragments[0].sn;t.startCC=t.fragments[0].cc}}var p=t.fragments;if(l){a["logger"].warn("discontinuity sliding from playlist, take drift into account");for(var m=0;m<p.length;m++){p[m].cc+=l}}if(t.skippedSegments){t.startCC=t.fragments[0].cc}c(e.partList,t.partList,(function(e,t){t.elementaryStreams=e.elementaryStreams;t.stats=e.stats}));if(f){u(t,f,f.startPTS,f.endPTS,f.startDTS,f.endDTS)}else{h(e,t)}if(p.length){t.totalduration=t.edge-p[0].start}t.driftStartTime=e.driftStartTime;t.driftStart=e.driftStart;var y=t.advancedDateTime;if(t.advanced&&y){var E=t.edge;if(!t.driftStart){t.driftStartTime=y;t.driftStart=E}t.driftEndTime=y;t.driftEnd=E}else{t.driftEndTime=e.driftEndTime;t.driftEnd=e.driftEnd;t.advancedDateTime=e.advancedDateTime}}function c(e,t,r){if(e&&t){var i=0;for(var a=0,n=e.length;a<=n;a++){var s=e[a];var o=t[a+i];if(s&&o&&s.index===o.index&&s.fragment.sn===o.fragment.sn){r(s,o)}else{i--}}}}function d(e,t,r){var i=t.skippedSegments;var a=Math.max(e.startSN,t.startSN)-t.startSN;var n=(e.fragmentHint?1:0)+(i?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN;var s=t.startSN-e.startSN;var o=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments;var l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(var u=a;u<=n;u++){var f=l[s+u];var c=o[u];if(i&&!c&&u<i){c=t.fragments[u]=f}if(f&&c){r(f,c)}}}function h(e,t){var r=t.startSN+t.skippedSegments-e.startSN;var i=e.fragments;if(r<0||r>=i.length){return}v(t,i[r].start)}function v(e,t){if(t){var r=e.fragments;for(var i=e.skippedSegments;i<r.length;i++){r[i].start+=t}if(e.fragmentHint){e.fragmentHint.start+=t}}}function g(e,t){var r=1e3*e.levelTargetDuration;var i=r/2;var a=e.age;var n=a>0&&a<r*3;var s=t.loading.end-t.loading.start;var o;var l=e.availabilityDelay;if(e.updated===false){if(n){var u=333*e.misses;o=Math.max(Math.min(i,s*2),u);e.availabilityDelay=(e.availabilityDelay||0)+o}else{o=i}}else if(n){l=Math.min(l||r/2,a);e.availabilityDelay=l;o=l+r-a}else{o=r-s}return Math.round(o)}function p(e,t,r){if(!e||!e.details){return null}var i=e.details;var a=i.fragments[t-i.startSN];if(a){return a}a=i.fragmentHint;if(a&&a.sn===t){return a}if(t<i.startSN&&r&&r.sn===t){return r}return null}function m(e,t,r){if(!e||!e.details){return null}var i=e.details.partList;if(i){for(var a=i.length;a--;){var n=i[a];if(n.index===r&&n.fragment.sn===t){return n}}}return null}},"./src/controller/stream-controller.ts":
89
+ /*! exports provided: addGroupId, assignTrackIdsByGroup, updatePTS, updateFragPTSDTS, mergeDetails, mapPartIntersection, mapFragmentIntersection, adjustSliding, addSliding, computeReloadInterval, getFragmentWithSN, getPartWith */function(e,t,r){r.r(t);r.d(t,"addGroupId",(function(){return n}));r.d(t,"assignTrackIdsByGroup",(function(){return s}));r.d(t,"updatePTS",(function(){return o}));r.d(t,"updateFragPTSDTS",(function(){return u}));r.d(t,"mergeDetails",(function(){return f}));r.d(t,"mapPartIntersection",(function(){return d}));r.d(t,"mapFragmentIntersection",(function(){return c}));r.d(t,"adjustSliding",(function(){return h}));r.d(t,"addSliding",(function(){return v}));r.d(t,"computeReloadInterval",(function(){return g}));r.d(t,"getFragmentWithSN",(function(){return p}));r.d(t,"getPartWith",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../utils/logger */"./src/utils/logger.ts");function n(e,t,r){switch(t){case"audio":if(!e.audioGroupIds){e.audioGroupIds=[]}e.audioGroupIds.push(r);break;case"text":if(!e.textGroupIds){e.textGroupIds=[]}e.textGroupIds.push(r);break}}function s(e){var t={};e.forEach((function(e){var r=e.groupId||"";e.id=t[r]=t[r]||0;t[r]++}))}function o(e,t,r){var i=e[t];var a=e[r];l(i,a)}function l(e,t){var r=t.startPTS;if(Object(i["isFiniteNumber"])(r)){var a=0;var n;if(t.sn>e.sn){a=r-e.start;n=e}else{a=e.start-r;n=t}if(n.duration!==a){n.duration=a}}else if(t.sn>e.sn){var s=e.cc===t.cc;if(s&&e.minEndPTS){t.start=e.start+(e.minEndPTS-e.start)}else{t.start=e.start+e.duration}}else{t.start=Math.max(e.start-t.duration,0)}}function u(e,t,r,n,s,o){var u=n-r;if(u<=0){a["logger"].warn("Fragment should have a positive duration",t);n=r+t.duration;o=s+t.duration}var f=r;var d=n;var c=t.startPTS;var h=t.endPTS;if(Object(i["isFiniteNumber"])(c)){var v=Math.abs(c-r);if(!Object(i["isFiniteNumber"])(t.deltaPTS)){t.deltaPTS=v}else{t.deltaPTS=Math.max(v,t.deltaPTS)}f=Math.max(r,c);r=Math.min(r,c);s=Math.min(s,t.startDTS);d=Math.min(n,h);n=Math.max(n,h);o=Math.max(o,t.endDTS)}t.duration=n-r;var g=r-t.start;t.appendedPTS=n;t.start=t.startPTS=r;t.maxStartPTS=f;t.startDTS=s;t.endPTS=n;t.minEndPTS=d;t.endDTS=o;var p=t.sn;if(!e||p<e.startSN||p>e.endSN){return 0}var m;var y=p-e.startSN;var E=e.fragments;E[y]=t;for(m=y;m>0;m--){l(E[m],E[m-1])}for(m=y;m<E.length-1;m++){l(E[m],E[m+1])}if(e.fragmentHint){l(E[E.length-1],e.fragmentHint)}e.PTSKnown=e.alignedSliding=true;return g}function f(e,t){var r=null;var n=e.fragments;for(var s=n.length-1;s>=0;s--){var o=n[s].initSegment;if(o){r=o;break}}if(e.fragmentHint){delete e.fragmentHint.endPTS}var l=0;var f;c(e,t,(function(e,a){if(e.relurl){l=e.cc-a.cc}if(Object(i["isFiniteNumber"])(e.startPTS)&&Object(i["isFiniteNumber"])(e.endPTS)){a.start=a.startPTS=e.startPTS;a.startDTS=e.startDTS;a.appendedPTS=e.appendedPTS;a.maxStartPTS=e.maxStartPTS;a.endPTS=e.endPTS;a.endDTS=e.endDTS;a.minEndPTS=e.minEndPTS;a.duration=e.endPTS-e.startPTS;if(a.duration){f=a}t.PTSKnown=t.alignedSliding=true}a.elementaryStreams=e.elementaryStreams;a.loader=e.loader;a.stats=e.stats;a.urlId=e.urlId;if(e.initSegment){a.initSegment=e.initSegment;r=e.initSegment}}));if(r){var v=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments;v.forEach((function(e){var t;if(!e.initSegment||e.initSegment.relurl===((t=r)===null||t===void 0?void 0:t.relurl)){e.initSegment=r}}))}if(t.skippedSegments){t.deltaUpdateFailed=t.fragments.some((function(e){return!e}));if(t.deltaUpdateFailed){a["logger"].warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var g=t.skippedSegments;g--;){t.fragments.shift()}t.startSN=t.fragments[0].sn;t.startCC=t.fragments[0].cc}}var p=t.fragments;if(l){a["logger"].warn("discontinuity sliding from playlist, take drift into account");for(var m=0;m<p.length;m++){p[m].cc+=l}}if(t.skippedSegments){t.startCC=t.fragments[0].cc}d(e.partList,t.partList,(function(e,t){t.elementaryStreams=e.elementaryStreams;t.stats=e.stats}));if(f){u(t,f,f.startPTS,f.endPTS,f.startDTS,f.endDTS)}else{h(e,t)}if(p.length){t.totalduration=t.edge-p[0].start}t.driftStartTime=e.driftStartTime;t.driftStart=e.driftStart;var y=t.advancedDateTime;if(t.advanced&&y){var E=t.edge;if(!t.driftStart){t.driftStartTime=y;t.driftStart=E}t.driftEndTime=y;t.driftEnd=E}else{t.driftEndTime=e.driftEndTime;t.driftEnd=e.driftEnd;t.advancedDateTime=e.advancedDateTime}}function d(e,t,r){if(e&&t){var i=0;for(var a=0,n=e.length;a<=n;a++){var s=e[a];var o=t[a+i];if(s&&o&&s.index===o.index&&s.fragment.sn===o.fragment.sn){r(s,o)}else{i--}}}}function c(e,t,r){var i=t.skippedSegments;var a=Math.max(e.startSN,t.startSN)-t.startSN;var n=(e.fragmentHint?1:0)+(i?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN;var s=t.startSN-e.startSN;var o=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments;var l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(var u=a;u<=n;u++){var f=l[s+u];var d=o[u];if(i&&!d&&u<i){d=t.fragments[u]=f}if(f&&d){r(f,d)}}}function h(e,t){var r=t.startSN+t.skippedSegments-e.startSN;var i=e.fragments;if(r<0||r>=i.length){return}v(t,i[r].start)}function v(e,t){if(t){var r=e.fragments;for(var i=e.skippedSegments;i<r.length;i++){r[i].start+=t}if(e.fragmentHint){e.fragmentHint.start+=t}}}function g(e,t){var r=1e3*e.levelTargetDuration;var i=r/2;var a=e.age;var n=a>0&&a<r*3;var s=t.loading.end-t.loading.start;var o;var l=e.availabilityDelay;if(e.updated===false){if(n){var u=333*e.misses;o=Math.max(Math.min(i,s*2),u);e.availabilityDelay=(e.availabilityDelay||0)+o}else{o=i}}else if(n){l=Math.min(l||r/2,a);e.availabilityDelay=l;o=l+r-a}else{o=r-s}return Math.round(o)}function p(e,t,r){if(!e||!e.details){return null}var i=e.details;var a=i.fragments[t-i.startSN];if(a){return a}a=i.fragmentHint;if(a&&a.sn===t){return a}if(t<i.startSN&&r&&r.sn===t){return r}return null}function m(e,t,r){if(!e||!e.details){return null}var i=e.details.partList;if(i){for(var a=i.length;a--;){var n=i[a];if(n.index===r&&n.fragment.sn===t){return n}}}return null}},"./src/controller/stream-controller.ts":
90
90
  /*!*********************************************!*\
91
91
  !*** ./src/controller/stream-controller.ts ***!
92
92
  \*********************************************/
93
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return b}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./base-stream-controller */"./src/controller/base-stream-controller.ts");var n=r(/*! ../is-supported */"./src/is-supported.ts");var s=r(/*! ../events */"./src/events.ts");var o=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var l=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var c=r(/*! ../demux/transmuxer-interface */"./src/demux/transmuxer-interface.ts");var d=r(/*! ../types/transmuxer */"./src/types/transmuxer.ts");var h=r(/*! ./gap-controller */"./src/controller/gap-controller.ts");var v=r(/*! ../errors */"./src/errors.ts");var g=r(/*! ../utils/logger */"./src/utils/logger.ts");function p(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function m(e,t,r){if(t)p(e.prototype,t);if(r)p(e,r);return e}function y(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;E(e,t)}function E(e,t){E=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return E(e,t)}var T=100;var b=function(e){y(t,e);function t(t,r){var i;i=e.call(this,t,r,"[stream-controller]")||this;i.audioCodecSwap=false;i.gapController=null;i.level=-1;i._forceStartLoad=false;i.altAudio=false;i.audioOnly=false;i.fragPlaying=null;i.onvplaying=null;i.onvseeked=null;i.fragLastKbps=0;i.stalled=false;i.couldBacktrack=false;i.audioCodecSwitch=false;i.videoBuffer=null;i._registerListeners();return i}var r=t.prototype;r._registerListeners=function e(){var t=this.hls;t.on(s["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(s["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(s["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(s["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(s["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(s["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(s["Events"].FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this);t.on(s["Events"].ERROR,this.onError,this);t.on(s["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.on(s["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.on(s["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.on(s["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.on(s["Events"].LEVELS_UPDATED,this.onLevelsUpdated,this);t.on(s["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(s["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(s["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(s["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(s["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(s["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(s["Events"].FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this);t.off(s["Events"].ERROR,this.onError,this);t.off(s["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.off(s["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.off(s["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.off(s["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.off(s["Events"].LEVELS_UPDATED,this.onLevelsUpdated,this);t.off(s["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r.onHandlerDestroying=function e(){this._unregisterListeners();this.onMediaDetaching()};r.startLoad=function e(t){if(this.levels){var r=this.lastCurrentTime,i=this.hls;this.stopLoad();this.setInterval(T);this.level=-1;this.fragLoadError=0;if(!this.startFragRequested){var n=i.startLevel;if(n===-1){if(i.config.testBandwidth){n=0;this.bitrateTest=true}else{n=i.nextAutoLevel}}this.level=i.nextLoadLevel=n;this.loadedmetadata=false}if(r>0&&t===-1){this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3));t=r}this.state=a["State"].IDLE;this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t;this.tick()}else{this._forceStartLoad=true;this.state=a["State"].STOPPED}};r.stopLoad=function t(){this._forceStartLoad=false;e.prototype.stopLoad.call(this)};r.doTick=function e(){switch(this.state){case a["State"].IDLE:this.doTickIdle();break;case a["State"].WAITING_LEVEL:{var t;var r=this.levels,i=this.level;var n=r===null||r===void 0?void 0:(t=r[i])===null||t===void 0?void 0:t.details;if(n&&(!n.live||this.levelLastLoaded===this.level)){if(this.waitForCdnTuneIn(n)){break}this.state=a["State"].IDLE;break}break}case a["State"].FRAG_LOADING_WAITING_RETRY:{var s;var o=self.performance.now();var l=this.retryDate;if(!l||o>=l||(s=this.media)!==null&&s!==void 0&&s.seeking){this.log("retryDate reached, switch back to IDLE state");this.state=a["State"].IDLE}}break}this.onTickEnd()};r.onTickEnd=function t(){e.prototype.onTickEnd.call(this);this.checkBuffer();this.checkFragmentChanged()};r.doTickIdle=function e(){var t,r;var i=this.hls,n=this.levelLastLoaded,o=this.levels,c=this.media;var d=i.config,h=i.nextLoadLevel;if(n===null||!c&&(this.startFragRequested||!d.startFragPrefetch)){return}if(this.altAudio&&this.audioOnly){return}if(!o||!o[h]){return}var v=o[h];this.level=i.nextLoadLevel=h;var g=v.details;if(!g||this.state===a["State"].WAITING_LEVEL||g.live&&this.levelLastLoaded!==h){this.state=a["State"].WAITING_LEVEL;return}var p=this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:c,u["PlaylistLevelType"].MAIN);if(p===null){return}var m=p.len;var y=this.getMaxBufferLength(v.maxBitrate);if(m>=y){return}if(this._streamEnded(p,g)){var E={};if(this.altAudio){E.type="video"}this.hls.trigger(s["Events"].BUFFER_EOS,E);this.state=a["State"].ENDED;return}var T=p.end;var b=this.getNextFragment(T,g);if(this.couldBacktrack&&!this.fragPrevious&&b&&b.sn!=="initSegment"){var S=b.sn-g.startSN;if(S>1){b=g.fragments[S-1];this.fragmentTracker.removeFragment(b)}}if(b&&this.fragmentTracker.getState(b)===l["FragmentState"].OK&&this.nextLoadPosition>T){var A=this.audioOnly&&!this.altAudio?f["ElementaryStreamTypes"].AUDIO:f["ElementaryStreamTypes"].VIDEO;this.afterBufferFlushed(c,A,u["PlaylistLevelType"].MAIN);b=this.getNextFragment(this.nextLoadPosition,g)}if(!b){return}if(b.initSegment&&!b.initSegment.data&&!this.bitrateTest){b=b.initSegment}if(((t=b.decryptdata)===null||t===void 0?void 0:t.keyFormat)==="identity"&&!((r=b.decryptdata)!==null&&r!==void 0&&r.key)){this.loadKey(b,g)}else{this.loadFragment(b,g,T)}};r.loadFragment=function t(r,i,a){var n;var s=this.fragmentTracker.getState(r);this.fragCurrent=r;if(s===l["FragmentState"].BACKTRACKED){var o=this.fragmentTracker.getBacktrackData(r);if(o){this._handleFragmentLoadProgress(o);this._handleFragmentLoadComplete(o);return}else{s=l["FragmentState"].NOT_LOADED}}if(s===l["FragmentState"].NOT_LOADED||s===l["FragmentState"].PARTIAL){if(r.sn==="initSegment"){this._loadInitSegment(r)}else if(this.bitrateTest){r.bitrateTest=true;this.log("Fragment "+r.sn+" of level "+r.level+" is being downloaded to test bitrate and will not be buffered");this._loadBitrateTestFrag(r)}else{this.startFragRequested=true;e.prototype.loadFragment.call(this,r,i,a)}}else if(s===l["FragmentState"].APPENDING){if(this.reduceMaxBufferLength(r.duration)){this.fragmentTracker.removeFragment(r)}}else if(((n=this.media)===null||n===void 0?void 0:n.buffered.length)===0){this.fragmentTracker.removeAllFragments()}};r.getAppendedFrag=function e(t){var r=this.fragmentTracker.getAppendedFrag(t,u["PlaylistLevelType"].MAIN);if(r&&"fragment"in r){return r.fragment}return r};r.getBufferedFrag=function e(t){return this.fragmentTracker.getBufferedFrag(t,u["PlaylistLevelType"].MAIN)};r.followingBufferedFrag=function e(t){if(t){return this.getBufferedFrag(t.end+.5)}return null};r.immediateLevelSwitch=function e(){this.abortCurrentFrag();this.flushMainBuffer(0,Number.POSITIVE_INFINITY)};r.nextLevelSwitch=function e(){var t=this.levels,r=this.media;if(r!==null&&r!==void 0&&r.readyState){var i;var a=this.getAppendedFrag(r.currentTime);if(a&&a.start>1){this.flushMainBuffer(0,a.start-1)}if(!r.paused&&t){var n=this.hls.nextLoadLevel;var s=t[n];var o=this.fragLastKbps;if(o&&this.fragCurrent){i=this.fragCurrent.duration*s.maxBitrate/(1e3*o)+1}else{i=0}}else{i=0}var l=this.getBufferedFrag(r.currentTime+i);if(l){var u=this.followingBufferedFrag(l);if(u){this.abortCurrentFrag();var f=u.maxStartPTS?u.maxStartPTS:u.start;var c=u.duration;var d=Math.max(l.end,f+Math.min(Math.max(c-this.config.maxFragLookUpTolerance,c*.5),c*.75));this.flushMainBuffer(d,Number.POSITIVE_INFINITY)}}}};r.abortCurrentFrag=function e(){var t=this.fragCurrent;this.fragCurrent=null;if(t!==null&&t!==void 0&&t.loader){t.loader.abort()}if(this.state===a["State"].KEY_LOADING){this.state=a["State"].IDLE}this.nextLoadPosition=this.getLoadPosition()};r.flushMainBuffer=function t(r,i){e.prototype.flushMainBuffer.call(this,r,i,this.altAudio?"video":null)};r.onMediaAttached=function t(r,i){e.prototype.onMediaAttached.call(this,r,i);var a=i.media;this.onvplaying=this.onMediaPlaying.bind(this);this.onvseeked=this.onMediaSeeked.bind(this);a.addEventListener("playing",this.onvplaying);a.addEventListener("seeked",this.onvseeked);this.gapController=new h["default"](this.config,a,this.fragmentTracker,this.hls)};r.onMediaDetaching=function t(){var r=this.media;if(r){r.removeEventListener("playing",this.onvplaying);r.removeEventListener("seeked",this.onvseeked);this.onvplaying=this.onvseeked=null;this.videoBuffer=null}this.fragPlaying=null;if(this.gapController){this.gapController.destroy();this.gapController=null}e.prototype.onMediaDetaching.call(this)};r.onMediaPlaying=function e(){this.tick()};r.onMediaSeeked=function e(){var t=this.media;var r=t?t.currentTime:null;if(Object(i["isFiniteNumber"])(r)){this.log("Media seeked to "+r.toFixed(3))}this.tick()};r.onManifestLoading=function e(){this.log("Trigger BUFFER_RESET");this.hls.trigger(s["Events"].BUFFER_RESET,undefined);this.fragmentTracker.removeAllFragments();this.couldBacktrack=this.stalled=false;this.startPosition=this.lastCurrentTime=0;this.fragPlaying=null};r.onManifestParsed=function e(t,r){var i=false;var a=false;var s;r.levels.forEach((function(e){s=e.audioCodec;if(s){if(s.indexOf("mp4a.40.2")!==-1){i=true}if(s.indexOf("mp4a.40.5")!==-1){a=true}}}));this.audioCodecSwitch=i&&a&&!Object(n["changeTypeSupported"])();if(this.audioCodecSwitch){this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC")}this.levels=r.levels;this.startFragRequested=false};r.onLevelLoading=function e(t,r){var i=this.levels;if(!i||this.state!==a["State"].IDLE){return}var n=i[r.level];if(!n.details||n.details.live&&this.levelLastLoaded!==r.level||this.waitForCdnTuneIn(n.details)){this.state=a["State"].WAITING_LEVEL}};r.onLevelLoaded=function e(t,r){var i;var n=this.levels;var o=r.level;var l=r.details;var u=l.totalduration;if(!n){this.warn("Levels were reset while loading level "+o);return}this.log("Level "+o+" loaded ["+l.startSN+","+l.endSN+"], cc ["+l.startCC+", "+l.endCC+"] duration:"+u);var f=this.fragCurrent;if(f&&(this.state===a["State"].FRAG_LOADING||this.state===a["State"].FRAG_LOADING_WAITING_RETRY)){if(f.level!==r.level&&f.loader){this.state=a["State"].IDLE;f.loader.abort()}}var c=n[o];var d=0;if(l.live||(i=c.details)!==null&&i!==void 0&&i.live){if(!l.fragments[0]){l.deltaUpdateFailed=true}if(l.deltaUpdateFailed){return}d=this.alignPlaylists(l,c.details)}c.details=l;this.levelLastLoaded=o;this.hls.trigger(s["Events"].LEVEL_UPDATED,{details:l,level:o});if(this.state===a["State"].WAITING_LEVEL){if(this.waitForCdnTuneIn(l)){return}this.state=a["State"].IDLE}if(!this.startFragRequested){this.setStartPosition(l,d)}else if(l.live){this.synchronizeToLiveEdge(l)}this.tick()};r._handleFragmentLoadProgress=function e(t){var r;var i=t.frag,a=t.part,n=t.payload;var s=this.levels;if(!s){this.warn("Levels were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered");return}var o=s[i.level];var l=o.details;if(!l){this.warn("Dropping fragment "+i.sn+" of level "+i.level+" after level details were reset");return}var f=o.videoCodec;var h=l.PTSKnown||!l.live;var v=(r=i.initSegment)===null||r===void 0?void 0:r.data;var g=this._getAudioCodec(o);var p=this.transmuxer=this.transmuxer||new c["default"](this.hls,u["PlaylistLevelType"].MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this));var m=a?a.index:-1;var y=m!==-1;var E=new d["ChunkMetadata"](i.level,i.sn,i.stats.chunkCount,n.byteLength,m,y);var T=this.initPTS[i.cc];p.push(n,v,g,f,i,a,l.totalduration,h,E,T)};r.onAudioTrackSwitching=function e(t,r){var i=this.altAudio;var a=!!r.url;var n=r.id;if(!a){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading");this.mediaBuffer=this.media;var o=this.fragCurrent;if(o!==null&&o!==void 0&&o.loader){this.log("Switching to main audio track, cancel main fragment load");o.loader.abort()}this.resetTransmuxer();this.resetLoadingState()}else if(this.audioOnly){this.resetTransmuxer()}var l=this.hls;if(i){l.trigger(s["Events"].BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"})}l.trigger(s["Events"].AUDIO_TRACK_SWITCHED,{id:n})}};r.onAudioTrackSwitched=function e(t,r){var i=r.id;var a=!!this.hls.audioTracks[i].url;if(a){var n=this.videoBuffer;if(n&&this.mediaBuffer!==n){this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading");this.mediaBuffer=n}}this.altAudio=a;this.tick()};r.onBufferCreated=function e(t,r){var i=r.tracks;var a;var n;var s=false;for(var o in i){var l=i[o];if(l.id==="main"){n=o;a=l;if(o==="video"){var u=i[o];if(u){this.videoBuffer=u.buffer}}}else{s=true}}if(s&&a){this.log("Alternate track found, use "+n+".buffered to schedule main fragment loading");this.mediaBuffer=a.buffer}else{this.mediaBuffer=this.media}};r.onFragBuffered=function e(t,r){var i=r.frag,n=r.part;if(i&&i.type!==u["PlaylistLevelType"].MAIN){return}if(this.fragContextChanged(i)){this.warn("Fragment "+i.sn+(n?" p: "+n.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state);if(this.state===a["State"].PARSED){this.state=a["State"].IDLE}return}var s=n?n.stats:i.stats;this.fragLastKbps=Math.round(8*s.total/(s.buffering.end-s.loading.first));if(i.sn!=="initSegment"){this.fragPrevious=i}this.fragBufferedComplete(i,n)};r.onError=function e(t,r){switch(r.details){case v["ErrorDetails"].FRAG_LOAD_ERROR:case v["ErrorDetails"].FRAG_LOAD_TIMEOUT:case v["ErrorDetails"].KEY_LOAD_ERROR:case v["ErrorDetails"].KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(u["PlaylistLevelType"].MAIN,r);break;case v["ErrorDetails"].LEVEL_LOAD_ERROR:case v["ErrorDetails"].LEVEL_LOAD_TIMEOUT:if(this.state!==a["State"].ERROR){if(r.fatal){this.warn(""+r.details);this.state=a["State"].ERROR}else{if(!r.levelRetry&&this.state===a["State"].WAITING_LEVEL){this.state=a["State"].IDLE}}}break;case v["ErrorDetails"].BUFFER_FULL_ERROR:if(r.parent==="main"&&(this.state===a["State"].PARSING||this.state===a["State"].PARSED)){var i=true;var n=this.getFwdBufferInfo(this.media,u["PlaylistLevelType"].MAIN);if(n&&n.len>.5){i=!this.reduceMaxBufferLength(n.len)}if(i){this.warn("buffer full error also media.currentTime is not buffered, flush main");this.immediateLevelSwitch()}this.resetLoadingState()}break}};r.checkBuffer=function e(){var t=this.media,r=this.gapController;if(!t||!r||!t.readyState){return}var i=o["BufferHelper"].getBuffered(t);if(!this.loadedmetadata&&i.length){this.loadedmetadata=true;this.seekToStartPos()}else{r.poll(this.lastCurrentTime)}this.lastCurrentTime=t.currentTime};r.onFragLoadEmergencyAborted=function e(){this.state=a["State"].IDLE;if(!this.loadedmetadata){this.startFragRequested=false;this.nextLoadPosition=this.startPosition}this.tickImmediate()};r.onBufferFlushed=function e(t,r){var i=r.type;if(i!==f["ElementaryStreamTypes"].AUDIO||this.audioOnly&&!this.altAudio){var a=(i===f["ElementaryStreamTypes"].VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(a,i,u["PlaylistLevelType"].MAIN)}};r.onLevelsUpdated=function e(t,r){this.levels=r.levels};r.swapAudioCodec=function e(){this.audioCodecSwap=!this.audioCodecSwap};r.seekToStartPos=function e(){var t=this.media;var r=t.currentTime;var i=this.startPosition;if(i>=0&&r<i){if(t.seeking){g["logger"].log("could not seek to "+i+", already seeking at "+r);return}var a=o["BufferHelper"].getBuffered(t);var n=a.length?a.start(0):0;var s=n-i;if(s>0&&(s<this.config.maxBufferHole||s<this.config.maxFragLookUpTolerance)){g["logger"].log("adjusting start position by "+s+" to match buffer start");i+=s;this.startPosition=i}this.log("seek to target start position "+i+" from current time "+r);t.currentTime=i}};r._getAudioCodec=function e(t){var r=this.config.defaultAudioCodec||t.audioCodec;if(this.audioCodecSwap&&r){this.log("Swapping audio codec");if(r.indexOf("mp4a.40.5")!==-1){r="mp4a.40.2"}else{r="mp4a.40.5"}}return r};r._loadBitrateTestFrag=function e(t){var r=this;this._doFragLoad(t).then((function(e){var i=r.hls;if(!e||i.nextLoadLevel||r.fragContextChanged(t)){return}r.fragLoadError=0;r.state=a["State"].IDLE;r.startFragRequested=false;r.bitrateTest=false;var n=t.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now();i.trigger(s["Events"].FRAG_LOADED,e)}))};r._handleTransmuxComplete=function e(t){var r;var n="main";var o=this.hls;var l=t.remuxResult,u=t.chunkMeta;var c=this.getCurrentContext(u);if(!c){this.warn("The loading context changed while buffering fragment "+u.sn+" of level "+u.level+". This chunk will not be buffered.");this.resetLiveStartWhenNotLoaded(u.level);return}var d=c.frag,h=c.part,v=c.level;var g=l.video,p=l.text,m=l.id3,y=l.initSegment;var E=this.altAudio?undefined:l.audio;if(this.fragContextChanged(d)){return}this.state=a["State"].PARSING;if(y){if(y.tracks){this._bufferInitSegment(v,y.tracks,d,u);o.trigger(s["Events"].FRAG_PARSING_INIT_SEGMENT,{frag:d,id:n,tracks:y.tracks})}var T=y.initPTS;var b=y.timescale;if(Object(i["isFiniteNumber"])(T)){this.initPTS[d.cc]=T;o.trigger(s["Events"].INIT_PTS_FOUND,{frag:d,id:n,initPTS:T,timescale:b})}}if(g&&l.independent!==false){if(v.details){var S=g.startPTS,A=g.endPTS,L=g.startDTS,D=g.endDTS;if(h){h.elementaryStreams[g.type]={startPTS:S,endPTS:A,startDTS:L,endDTS:D}}else{if(g.firstKeyFrame&&g.independent){this.couldBacktrack=true}if(g.dropped&&g.independent){var k=this.getLoadPosition()+this.config.maxBufferHole;if(k<S){this.backtrack(d);return}d.setElementaryStreamInfo(g.type,d.start,A,d.start,D,true)}}d.setElementaryStreamInfo(g.type,S,A,L,D);this.bufferFragmentData(g,d,h,u)}}else if(l.independent===false){this.backtrack(d);return}if(E){var R=E.startPTS,I=E.endPTS,C=E.startDTS,w=E.endDTS;if(h){h.elementaryStreams[f["ElementaryStreamTypes"].AUDIO]={startPTS:R,endPTS:I,startDTS:C,endDTS:w}}d.setElementaryStreamInfo(f["ElementaryStreamTypes"].AUDIO,R,I,C,w);this.bufferFragmentData(E,d,h,u)}if(m!==null&&m!==void 0&&(r=m.samples)!==null&&r!==void 0&&r.length){var _={frag:d,id:n,samples:m.samples};o.trigger(s["Events"].FRAG_PARSING_METADATA,_)}if(p){var O={frag:d,id:n,samples:p.samples};o.trigger(s["Events"].FRAG_PARSING_USERDATA,O)}};r._bufferInitSegment=function e(t,r,i,n){var o=this;if(this.state!==a["State"].PARSING){return}this.audioOnly=!!r.audio&&!r.video;if(this.altAudio&&!this.audioOnly){delete r.audio}var l=r.audio,u=r.video,f=r.audiovideo;if(l){var c=t.audioCodec;var d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){if(c){if(c.indexOf("mp4a.40.5")!==-1){c="mp4a.40.2"}else{c="mp4a.40.5"}}if(l.metadata.channelCount!==1&&d.indexOf("firefox")===-1){c="mp4a.40.5"}}if(d.indexOf("android")!==-1&&l.container!=="audio/mpeg"){c="mp4a.40.2";this.log("Android: force audio codec to "+c)}if(t.audioCodec&&t.audioCodec!==c){this.log('Swapping manifest audio codec "'+t.audioCodec+'" for "'+c+'"')}l.levelCodec=c;l.id="main";this.log("Init audio buffer, container:"+l.container+", codecs[selected/level/parsed]=["+(c||"")+"/"+(t.audioCodec||"")+"/"+l.codec+"]")}if(u){u.levelCodec=t.videoCodec;u.id="main";this.log("Init video buffer, container:"+u.container+", codecs[level/parsed]=["+(t.videoCodec||"")+"/"+u.codec+"]")}if(f){this.log("Init audiovideo buffer, container:"+f.container+", codecs[level/parsed]=["+(t.attrs.CODECS||"")+"/"+f.codec+"]")}this.hls.trigger(s["Events"].BUFFER_CODECS,r);Object.keys(r).forEach((function(e){var t=r[e];var a=t.initSegment;if(a!==null&&a!==void 0&&a.byteLength){o.hls.trigger(s["Events"].BUFFER_APPENDING,{type:e,data:a,frag:i,part:null,chunkMeta:n,parent:i.type})}}));this.tick()};r.backtrack=function e(t){this.couldBacktrack=true;this.resetTransmuxer();this.flushBufferGap(t);var r=this.fragmentTracker.backtrack(t);this.fragPrevious=null;this.nextLoadPosition=t.start;if(r){this.resetFragmentLoading(t)}else{this.state=a["State"].BACKTRACKING}};r.checkFragmentChanged=function e(){var t=this.media;var r=null;if(t&&t.readyState>1&&t.seeking===false){var i=t.currentTime;if(o["BufferHelper"].isBuffered(t,i)){r=this.getAppendedFrag(i)}else if(o["BufferHelper"].isBuffered(t,i+.1)){r=this.getAppendedFrag(i+.1)}if(r){var a=this.fragPlaying;var n=r.level;if(!a||r.sn!==a.sn||a.level!==n||r.urlId!==a.urlId){this.hls.trigger(s["Events"].FRAG_CHANGED,{frag:r});if(!a||a.level!==n){this.hls.trigger(s["Events"].LEVEL_SWITCHED,{level:n})}this.fragPlaying=r}}}};m(t,[{key:"nextLevel",get:function e(){var t=this.nextBufferedFrag;if(t){return t.level}else{return-1}}},{key:"currentLevel",get:function e(){var t=this.media;if(t){var r=this.getAppendedFrag(t.currentTime);if(r){return r.level}}return-1}},{key:"nextBufferedFrag",get:function e(){var t=this.media;if(t){var r=this.getAppendedFrag(t.currentTime);return this.followingBufferedFrag(r)}else{return null}}},{key:"forceStartLoad",get:function e(){return this._forceStartLoad}}]);return t}(a["default"])},"./src/controller/subtitle-stream-controller.ts":
93
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return b}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./base-stream-controller */"./src/controller/base-stream-controller.ts");var n=r(/*! ../is-supported */"./src/is-supported.ts");var s=r(/*! ../events */"./src/events.ts");var o=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var l=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var d=r(/*! ../demux/transmuxer-interface */"./src/demux/transmuxer-interface.ts");var c=r(/*! ../types/transmuxer */"./src/types/transmuxer.ts");var h=r(/*! ./gap-controller */"./src/controller/gap-controller.ts");var v=r(/*! ../errors */"./src/errors.ts");var g=r(/*! ../utils/logger */"./src/utils/logger.ts");function p(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function m(e,t,r){if(t)p(e.prototype,t);if(r)p(e,r);return e}function y(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;E(e,t)}function E(e,t){E=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return E(e,t)}var T=100;var b=function(e){y(t,e);function t(t,r){var i;i=e.call(this,t,r,"[stream-controller]")||this;i.audioCodecSwap=false;i.gapController=null;i.level=-1;i._forceStartLoad=false;i.altAudio=false;i.audioOnly=false;i.fragPlaying=null;i.onvplaying=null;i.onvseeked=null;i.fragLastKbps=0;i.stalled=false;i.couldBacktrack=false;i.audioCodecSwitch=false;i.videoBuffer=null;i._registerListeners();return i}var r=t.prototype;r._registerListeners=function e(){var t=this.hls;t.on(s["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(s["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(s["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(s["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(s["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(s["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(s["Events"].FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this);t.on(s["Events"].ERROR,this.onError,this);t.on(s["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.on(s["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.on(s["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.on(s["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.on(s["Events"].LEVELS_UPDATED,this.onLevelsUpdated,this);t.on(s["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(s["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(s["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(s["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(s["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(s["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(s["Events"].FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this);t.off(s["Events"].ERROR,this.onError,this);t.off(s["Events"].AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this);t.off(s["Events"].AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this);t.off(s["Events"].BUFFER_CREATED,this.onBufferCreated,this);t.off(s["Events"].BUFFER_FLUSHED,this.onBufferFlushed,this);t.off(s["Events"].LEVELS_UPDATED,this.onLevelsUpdated,this);t.off(s["Events"].FRAG_BUFFERED,this.onFragBuffered,this)};r.onHandlerDestroying=function e(){this._unregisterListeners();this.onMediaDetaching()};r.startLoad=function e(t){if(this.levels){var r=this.lastCurrentTime,i=this.hls;this.stopLoad();this.setInterval(T);this.level=-1;this.fragLoadError=0;if(!this.startFragRequested){var n=i.startLevel;if(n===-1){if(i.config.testBandwidth){n=0;this.bitrateTest=true}else{n=i.nextAutoLevel}}this.level=i.nextLoadLevel=n;this.loadedmetadata=false}if(r>0&&t===-1){this.log("Override startPosition with lastCurrentTime @"+r.toFixed(3));t=r}this.state=a["State"].IDLE;this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t;this.tick()}else{this._forceStartLoad=true;this.state=a["State"].STOPPED}};r.stopLoad=function t(){this._forceStartLoad=false;e.prototype.stopLoad.call(this)};r.doTick=function e(){switch(this.state){case a["State"].IDLE:this.doTickIdle();break;case a["State"].WAITING_LEVEL:{var t;var r=this.levels,i=this.level;var n=r===null||r===void 0?void 0:(t=r[i])===null||t===void 0?void 0:t.details;if(n&&(!n.live||this.levelLastLoaded===this.level)){if(this.waitForCdnTuneIn(n)){break}this.state=a["State"].IDLE;break}break}case a["State"].FRAG_LOADING_WAITING_RETRY:{var s;var o=self.performance.now();var l=this.retryDate;if(!l||o>=l||(s=this.media)!==null&&s!==void 0&&s.seeking){this.log("retryDate reached, switch back to IDLE state");this.state=a["State"].IDLE}}break}this.onTickEnd()};r.onTickEnd=function t(){e.prototype.onTickEnd.call(this);this.checkBuffer();this.checkFragmentChanged()};r.doTickIdle=function e(){var t,r;var i=this.hls,n=this.levelLastLoaded,o=this.levels,d=this.media;var c=i.config,h=i.nextLoadLevel;if(n===null||!d&&(this.startFragRequested||!c.startFragPrefetch)){return}if(this.altAudio&&this.audioOnly){return}if(!o||!o[h]){return}var v=o[h];this.level=i.nextLoadLevel=h;var g=v.details;if(!g||this.state===a["State"].WAITING_LEVEL||g.live&&this.levelLastLoaded!==h){this.state=a["State"].WAITING_LEVEL;return}var p=this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:d,u["PlaylistLevelType"].MAIN);if(p===null){return}var m=p.len;var y=this.getMaxBufferLength(v.maxBitrate);if(m>=y){return}if(this._streamEnded(p,g)){var E={};if(this.altAudio){E.type="video"}this.hls.trigger(s["Events"].BUFFER_EOS,E);this.state=a["State"].ENDED;return}var T=p.end;var b=this.getNextFragment(T,g);if(this.couldBacktrack&&!this.fragPrevious&&b&&b.sn!=="initSegment"){var S=b.sn-g.startSN;if(S>1){b=g.fragments[S-1];this.fragmentTracker.removeFragment(b)}}if(b&&this.fragmentTracker.getState(b)===l["FragmentState"].OK&&this.nextLoadPosition>T){var A=this.audioOnly&&!this.altAudio?f["ElementaryStreamTypes"].AUDIO:f["ElementaryStreamTypes"].VIDEO;this.afterBufferFlushed(d,A,u["PlaylistLevelType"].MAIN);b=this.getNextFragment(this.nextLoadPosition,g)}if(!b){return}if(b.initSegment&&!b.initSegment.data&&!this.bitrateTest){b=b.initSegment}if(((t=b.decryptdata)===null||t===void 0?void 0:t.keyFormat)==="identity"&&!((r=b.decryptdata)!==null&&r!==void 0&&r.key)){this.loadKey(b,g)}else{this.loadFragment(b,g,T)}};r.loadFragment=function t(r,i,a){var n;var s=this.fragmentTracker.getState(r);this.fragCurrent=r;if(s===l["FragmentState"].BACKTRACKED){var o=this.fragmentTracker.getBacktrackData(r);if(o){this._handleFragmentLoadProgress(o);this._handleFragmentLoadComplete(o);return}else{s=l["FragmentState"].NOT_LOADED}}if(s===l["FragmentState"].NOT_LOADED||s===l["FragmentState"].PARTIAL){if(r.sn==="initSegment"){this._loadInitSegment(r)}else if(this.bitrateTest){r.bitrateTest=true;this.log("Fragment "+r.sn+" of level "+r.level+" is being downloaded to test bitrate and will not be buffered");this._loadBitrateTestFrag(r)}else{this.startFragRequested=true;e.prototype.loadFragment.call(this,r,i,a)}}else if(s===l["FragmentState"].APPENDING){if(this.reduceMaxBufferLength(r.duration)){this.fragmentTracker.removeFragment(r)}}else if(((n=this.media)===null||n===void 0?void 0:n.buffered.length)===0){this.fragmentTracker.removeAllFragments()}};r.getAppendedFrag=function e(t){var r=this.fragmentTracker.getAppendedFrag(t,u["PlaylistLevelType"].MAIN);if(r&&"fragment"in r){return r.fragment}return r};r.getBufferedFrag=function e(t){return this.fragmentTracker.getBufferedFrag(t,u["PlaylistLevelType"].MAIN)};r.followingBufferedFrag=function e(t){if(t){return this.getBufferedFrag(t.end+.5)}return null};r.immediateLevelSwitch=function e(){this.abortCurrentFrag();this.flushMainBuffer(0,Number.POSITIVE_INFINITY)};r.nextLevelSwitch=function e(){var t=this.levels,r=this.media;if(r!==null&&r!==void 0&&r.readyState){var i;var a=this.getAppendedFrag(r.currentTime);if(a&&a.start>1){this.flushMainBuffer(0,a.start-1)}if(!r.paused&&t){var n=this.hls.nextLoadLevel;var s=t[n];var o=this.fragLastKbps;if(o&&this.fragCurrent){i=this.fragCurrent.duration*s.maxBitrate/(1e3*o)+1}else{i=0}}else{i=0}var l=this.getBufferedFrag(r.currentTime+i);if(l){var u=this.followingBufferedFrag(l);if(u){this.abortCurrentFrag();var f=u.maxStartPTS?u.maxStartPTS:u.start;var d=u.duration;var c=Math.max(l.end,f+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*.5),d*.75));this.flushMainBuffer(c,Number.POSITIVE_INFINITY)}}}};r.abortCurrentFrag=function e(){var t=this.fragCurrent;this.fragCurrent=null;if(t!==null&&t!==void 0&&t.loader){t.loader.abort()}if(this.state===a["State"].KEY_LOADING){this.state=a["State"].IDLE}this.nextLoadPosition=this.getLoadPosition()};r.flushMainBuffer=function t(r,i){e.prototype.flushMainBuffer.call(this,r,i,this.altAudio?"video":null)};r.onMediaAttached=function t(r,i){e.prototype.onMediaAttached.call(this,r,i);var a=i.media;this.onvplaying=this.onMediaPlaying.bind(this);this.onvseeked=this.onMediaSeeked.bind(this);a.addEventListener("playing",this.onvplaying);a.addEventListener("seeked",this.onvseeked);this.gapController=new h["default"](this.config,a,this.fragmentTracker,this.hls)};r.onMediaDetaching=function t(){var r=this.media;if(r){r.removeEventListener("playing",this.onvplaying);r.removeEventListener("seeked",this.onvseeked);this.onvplaying=this.onvseeked=null;this.videoBuffer=null}this.fragPlaying=null;if(this.gapController){this.gapController.destroy();this.gapController=null}e.prototype.onMediaDetaching.call(this)};r.onMediaPlaying=function e(){this.tick()};r.onMediaSeeked=function e(){var t=this.media;var r=t?t.currentTime:null;if(Object(i["isFiniteNumber"])(r)){this.log("Media seeked to "+r.toFixed(3))}this.tick()};r.onManifestLoading=function e(){this.log("Trigger BUFFER_RESET");this.hls.trigger(s["Events"].BUFFER_RESET,undefined);this.fragmentTracker.removeAllFragments();this.couldBacktrack=this.stalled=false;this.startPosition=this.lastCurrentTime=0;this.fragPlaying=null};r.onManifestParsed=function e(t,r){var i=false;var a=false;var s;r.levels.forEach((function(e){s=e.audioCodec;if(s){if(s.indexOf("mp4a.40.2")!==-1){i=true}if(s.indexOf("mp4a.40.5")!==-1){a=true}}}));this.audioCodecSwitch=i&&a&&!Object(n["changeTypeSupported"])();if(this.audioCodecSwitch){this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC")}this.levels=r.levels;this.startFragRequested=false};r.onLevelLoading=function e(t,r){var i=this.levels;if(!i||this.state!==a["State"].IDLE){return}var n=i[r.level];if(!n.details||n.details.live&&this.levelLastLoaded!==r.level||this.waitForCdnTuneIn(n.details)){this.state=a["State"].WAITING_LEVEL}};r.onLevelLoaded=function e(t,r){var i;var n=this.levels;var o=r.level;var l=r.details;var u=l.totalduration;if(!n){this.warn("Levels were reset while loading level "+o);return}this.log("Level "+o+" loaded ["+l.startSN+","+l.endSN+"], cc ["+l.startCC+", "+l.endCC+"] duration:"+u);var f=this.fragCurrent;if(f&&(this.state===a["State"].FRAG_LOADING||this.state===a["State"].FRAG_LOADING_WAITING_RETRY)){if(f.level!==r.level&&f.loader){this.state=a["State"].IDLE;f.loader.abort()}}var d=n[o];var c=0;if(l.live||(i=d.details)!==null&&i!==void 0&&i.live){if(!l.fragments[0]){l.deltaUpdateFailed=true}if(l.deltaUpdateFailed){return}c=this.alignPlaylists(l,d.details)}d.details=l;this.levelLastLoaded=o;this.hls.trigger(s["Events"].LEVEL_UPDATED,{details:l,level:o});if(this.state===a["State"].WAITING_LEVEL){if(this.waitForCdnTuneIn(l)){return}this.state=a["State"].IDLE}if(!this.startFragRequested){this.setStartPosition(l,c)}else if(l.live){this.synchronizeToLiveEdge(l)}this.tick()};r._handleFragmentLoadProgress=function e(t){var r;var i=t.frag,a=t.part,n=t.payload;var s=this.levels;if(!s){this.warn("Levels were reset while fragment load was in progress. Fragment "+i.sn+" of level "+i.level+" will not be buffered");return}var o=s[i.level];var l=o.details;if(!l){this.warn("Dropping fragment "+i.sn+" of level "+i.level+" after level details were reset");return}var f=o.videoCodec;var h=l.PTSKnown||!l.live;var v=(r=i.initSegment)===null||r===void 0?void 0:r.data;var g=this._getAudioCodec(o);var p=this.transmuxer=this.transmuxer||new d["default"](this.hls,u["PlaylistLevelType"].MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this));var m=a?a.index:-1;var y=m!==-1;var E=new c["ChunkMetadata"](i.level,i.sn,i.stats.chunkCount,n.byteLength,m,y);var T=this.initPTS[i.cc];p.push(n,v,g,f,i,a,l.totalduration,h,E,T)};r.onAudioTrackSwitching=function e(t,r){var i=this.altAudio;var a=!!r.url;var n=r.id;if(!a){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading");this.mediaBuffer=this.media;var o=this.fragCurrent;if(o!==null&&o!==void 0&&o.loader){this.log("Switching to main audio track, cancel main fragment load");o.loader.abort()}this.resetTransmuxer();this.resetLoadingState()}else if(this.audioOnly){this.resetTransmuxer()}var l=this.hls;if(i){l.trigger(s["Events"].BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"})}l.trigger(s["Events"].AUDIO_TRACK_SWITCHED,{id:n})}};r.onAudioTrackSwitched=function e(t,r){var i=r.id;var a=!!this.hls.audioTracks[i].url;if(a){var n=this.videoBuffer;if(n&&this.mediaBuffer!==n){this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading");this.mediaBuffer=n}}this.altAudio=a;this.tick()};r.onBufferCreated=function e(t,r){var i=r.tracks;var a;var n;var s=false;for(var o in i){var l=i[o];if(l.id==="main"){n=o;a=l;if(o==="video"){var u=i[o];if(u){this.videoBuffer=u.buffer}}}else{s=true}}if(s&&a){this.log("Alternate track found, use "+n+".buffered to schedule main fragment loading");this.mediaBuffer=a.buffer}else{this.mediaBuffer=this.media}};r.onFragBuffered=function e(t,r){var i=r.frag,n=r.part;if(i&&i.type!==u["PlaylistLevelType"].MAIN){return}if(this.fragContextChanged(i)){this.warn("Fragment "+i.sn+(n?" p: "+n.index:"")+" of level "+i.level+" finished buffering, but was aborted. state: "+this.state);if(this.state===a["State"].PARSED){this.state=a["State"].IDLE}return}var s=n?n.stats:i.stats;this.fragLastKbps=Math.round(8*s.total/(s.buffering.end-s.loading.first));if(i.sn!=="initSegment"){this.fragPrevious=i}this.fragBufferedComplete(i,n)};r.onError=function e(t,r){switch(r.details){case v["ErrorDetails"].FRAG_LOAD_ERROR:case v["ErrorDetails"].FRAG_LOAD_TIMEOUT:case v["ErrorDetails"].KEY_LOAD_ERROR:case v["ErrorDetails"].KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(u["PlaylistLevelType"].MAIN,r);break;case v["ErrorDetails"].LEVEL_LOAD_ERROR:case v["ErrorDetails"].LEVEL_LOAD_TIMEOUT:if(this.state!==a["State"].ERROR){if(r.fatal){this.warn(""+r.details);this.state=a["State"].ERROR}else{if(!r.levelRetry&&this.state===a["State"].WAITING_LEVEL){this.state=a["State"].IDLE}}}break;case v["ErrorDetails"].BUFFER_FULL_ERROR:if(r.parent==="main"&&(this.state===a["State"].PARSING||this.state===a["State"].PARSED)){var i=true;var n=this.getFwdBufferInfo(this.media,u["PlaylistLevelType"].MAIN);if(n&&n.len>.5){i=!this.reduceMaxBufferLength(n.len)}if(i){this.warn("buffer full error also media.currentTime is not buffered, flush main");this.immediateLevelSwitch()}this.resetLoadingState()}break}};r.checkBuffer=function e(){var t=this.media,r=this.gapController;if(!t||!r||!t.readyState){return}var i=o["BufferHelper"].getBuffered(t);if(!this.loadedmetadata&&i.length){this.loadedmetadata=true;this.seekToStartPos()}else{r.poll(this.lastCurrentTime)}this.lastCurrentTime=t.currentTime};r.onFragLoadEmergencyAborted=function e(){this.state=a["State"].IDLE;if(!this.loadedmetadata){this.startFragRequested=false;this.nextLoadPosition=this.startPosition}this.tickImmediate()};r.onBufferFlushed=function e(t,r){var i=r.type;if(i!==f["ElementaryStreamTypes"].AUDIO||this.audioOnly&&!this.altAudio){var a=(i===f["ElementaryStreamTypes"].VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(a,i,u["PlaylistLevelType"].MAIN)}};r.onLevelsUpdated=function e(t,r){this.levels=r.levels};r.swapAudioCodec=function e(){this.audioCodecSwap=!this.audioCodecSwap};r.seekToStartPos=function e(){var t=this.media;var r=t.currentTime;var i=this.startPosition;if(i>=0&&r<i){if(t.seeking){g["logger"].log("could not seek to "+i+", already seeking at "+r);return}var a=o["BufferHelper"].getBuffered(t);var n=a.length?a.start(0):0;var s=n-i;if(s>0&&(s<this.config.maxBufferHole||s<this.config.maxFragLookUpTolerance)){g["logger"].log("adjusting start position by "+s+" to match buffer start");i+=s;this.startPosition=i}this.log("seek to target start position "+i+" from current time "+r);t.currentTime=i}};r._getAudioCodec=function e(t){var r=this.config.defaultAudioCodec||t.audioCodec;if(this.audioCodecSwap&&r){this.log("Swapping audio codec");if(r.indexOf("mp4a.40.5")!==-1){r="mp4a.40.2"}else{r="mp4a.40.5"}}return r};r._loadBitrateTestFrag=function e(t){var r=this;this._doFragLoad(t).then((function(e){var i=r.hls;if(!e||i.nextLoadLevel||r.fragContextChanged(t)){return}r.fragLoadError=0;r.state=a["State"].IDLE;r.startFragRequested=false;r.bitrateTest=false;var n=t.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now();i.trigger(s["Events"].FRAG_LOADED,e)}))};r._handleTransmuxComplete=function e(t){var r;var n="main";var o=this.hls;var l=t.remuxResult,u=t.chunkMeta;var d=this.getCurrentContext(u);if(!d){this.warn("The loading context changed while buffering fragment "+u.sn+" of level "+u.level+". This chunk will not be buffered.");this.resetLiveStartWhenNotLoaded(u.level);return}var c=d.frag,h=d.part,v=d.level;var g=l.video,p=l.text,m=l.id3,y=l.initSegment;var E=this.altAudio?undefined:l.audio;if(this.fragContextChanged(c)){return}this.state=a["State"].PARSING;if(y){if(y.tracks){this._bufferInitSegment(v,y.tracks,c,u);o.trigger(s["Events"].FRAG_PARSING_INIT_SEGMENT,{frag:c,id:n,tracks:y.tracks})}var T=y.initPTS;var b=y.timescale;if(Object(i["isFiniteNumber"])(T)){this.initPTS[c.cc]=T;o.trigger(s["Events"].INIT_PTS_FOUND,{frag:c,id:n,initPTS:T,timescale:b})}}if(g&&l.independent!==false){if(v.details){var S=g.startPTS,A=g.endPTS,L=g.startDTS,D=g.endDTS;if(h){h.elementaryStreams[g.type]={startPTS:S,endPTS:A,startDTS:L,endDTS:D}}else{if(g.firstKeyFrame&&g.independent){this.couldBacktrack=true}if(g.dropped&&g.independent){var k=this.getLoadPosition()+this.config.maxBufferHole;if(k<S){this.backtrack(c);return}c.setElementaryStreamInfo(g.type,c.start,A,c.start,D,true)}}c.setElementaryStreamInfo(g.type,S,A,L,D);this.bufferFragmentData(g,c,h,u)}}else if(l.independent===false){this.backtrack(c);return}if(E){var R=E.startPTS,I=E.endPTS,C=E.startDTS,w=E.endDTS;if(h){h.elementaryStreams[f["ElementaryStreamTypes"].AUDIO]={startPTS:R,endPTS:I,startDTS:C,endDTS:w}}c.setElementaryStreamInfo(f["ElementaryStreamTypes"].AUDIO,R,I,C,w);this.bufferFragmentData(E,c,h,u)}if(m!==null&&m!==void 0&&(r=m.samples)!==null&&r!==void 0&&r.length){var _={frag:c,id:n,samples:m.samples};o.trigger(s["Events"].FRAG_PARSING_METADATA,_)}if(p){var O={frag:c,id:n,samples:p.samples};o.trigger(s["Events"].FRAG_PARSING_USERDATA,O)}};r._bufferInitSegment=function e(t,r,i,n){var o=this;if(this.state!==a["State"].PARSING){return}this.audioOnly=!!r.audio&&!r.video;if(this.altAudio&&!this.audioOnly){delete r.audio}var l=r.audio,u=r.video,f=r.audiovideo;if(l){var d=t.audioCodec;var c=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){if(d){if(d.indexOf("mp4a.40.5")!==-1){d="mp4a.40.2"}else{d="mp4a.40.5"}}if(l.metadata.channelCount!==1&&c.indexOf("firefox")===-1){d="mp4a.40.5"}}if(c.indexOf("android")!==-1&&l.container!=="audio/mpeg"){d="mp4a.40.2";this.log("Android: force audio codec to "+d)}if(t.audioCodec&&t.audioCodec!==d){this.log('Swapping manifest audio codec "'+t.audioCodec+'" for "'+d+'"')}l.levelCodec=d;l.id="main";this.log("Init audio buffer, container:"+l.container+", codecs[selected/level/parsed]=["+(d||"")+"/"+(t.audioCodec||"")+"/"+l.codec+"]")}if(u){u.levelCodec=t.videoCodec;u.id="main";this.log("Init video buffer, container:"+u.container+", codecs[level/parsed]=["+(t.videoCodec||"")+"/"+u.codec+"]")}if(f){this.log("Init audiovideo buffer, container:"+f.container+", codecs[level/parsed]=["+(t.attrs.CODECS||"")+"/"+f.codec+"]")}this.hls.trigger(s["Events"].BUFFER_CODECS,r);Object.keys(r).forEach((function(e){var t=r[e];var a=t.initSegment;if(a!==null&&a!==void 0&&a.byteLength){o.hls.trigger(s["Events"].BUFFER_APPENDING,{type:e,data:a,frag:i,part:null,chunkMeta:n,parent:i.type})}}));this.tick()};r.backtrack=function e(t){this.couldBacktrack=true;this.resetTransmuxer();this.flushBufferGap(t);var r=this.fragmentTracker.backtrack(t);this.fragPrevious=null;this.nextLoadPosition=t.start;if(r){this.resetFragmentLoading(t)}else{this.state=a["State"].BACKTRACKING}};r.checkFragmentChanged=function e(){var t=this.media;var r=null;if(t&&t.readyState>1&&t.seeking===false){var i=t.currentTime;if(o["BufferHelper"].isBuffered(t,i)){r=this.getAppendedFrag(i)}else if(o["BufferHelper"].isBuffered(t,i+.1)){r=this.getAppendedFrag(i+.1)}if(r){var a=this.fragPlaying;var n=r.level;if(!a||r.sn!==a.sn||a.level!==n||r.urlId!==a.urlId){this.hls.trigger(s["Events"].FRAG_CHANGED,{frag:r});if(!a||a.level!==n){this.hls.trigger(s["Events"].LEVEL_SWITCHED,{level:n})}this.fragPlaying=r}}}};m(t,[{key:"nextLevel",get:function e(){var t=this.nextBufferedFrag;if(t){return t.level}else{return-1}}},{key:"currentLevel",get:function e(){var t=this.media;if(t){var r=this.getAppendedFrag(t.currentTime);if(r){return r.level}}return-1}},{key:"nextBufferedFrag",get:function e(){var t=this.media;if(t){var r=this.getAppendedFrag(t.currentTime);return this.followingBufferedFrag(r)}else{return null}}},{key:"forceStartLoad",get:function e(){return this._forceStartLoad}}]);return t}(a["default"])},"./src/controller/subtitle-stream-controller.ts":
94
94
  /*!******************************************************!*\
95
95
  !*** ./src/controller/subtitle-stream-controller.ts ***!
96
96
  \******************************************************/
97
- /*! exports provided: SubtitleStreamController */function(e,t,r){r.r(t);r.d(t,"SubtitleStreamController",(function(){return m}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var n=r(/*! ./fragment-finders */"./src/controller/fragment-finders.ts");var s=r(/*! ../utils/discontinuities */"./src/utils/discontinuities.ts");var o=r(/*! ./level-helper */"./src/controller/level-helper.ts");var l=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var u=r(/*! ./base-stream-controller */"./src/controller/base-stream-controller.ts");var f=r(/*! ../types/loader */"./src/types/loader.ts");var c=r(/*! ../types/level */"./src/types/level.ts");function d(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function h(e,t,r){if(t)d(e.prototype,t);if(r)d(e,r);return e}function v(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;g(e,t)}function g(e,t){g=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return g(e,t)}var p=500;var m=function(e){v(t,e);function t(t,r){var i;i=e.call(this,t,r,"[subtitle-stream-controller]")||this;i.levels=[];i.currentTrackId=-1;i.tracksBuffered=[];i.mainDetails=null;i._registerListeners();return i}var r=t.prototype;r.onHandlerDestroying=function e(){this._unregisterListeners();this.mainDetails=null};r._registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(i["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(i["Events"].ERROR,this.onError,this);t.on(i["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);t.on(i["Events"].SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this);t.on(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.on(i["Events"].SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this);t.on(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(i["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(i["Events"].ERROR,this.onError,this);t.off(i["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);t.off(i["Events"].SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this);t.off(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.off(i["Events"].SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this);t.off(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};r.startLoad=function e(){this.stopLoad();this.state=u["State"].IDLE;this.setInterval(p);this.tick()};r.onManifestLoading=function e(){this.mainDetails=null;this.fragmentTracker.removeAllFragments()};r.onLevelLoaded=function e(t,r){this.mainDetails=r.details};r.onSubtitleFragProcessed=function e(t,r){var i=r.frag,a=r.success;this.fragPrevious=i;this.state=u["State"].IDLE;if(!a){return}var n=this.tracksBuffered[this.currentTrackId];if(!n){return}var s;var o=i.start;for(var l=0;l<n.length;l++){if(o>=n[l].start&&o<=n[l].end){s=n[l];break}}var f=i.start+i.duration;if(s){s.end=f}else{s={start:o,end:f};n.push(s)}this.fragmentTracker.fragBuffered(i)};r.onBufferFlushing=function e(t,r){var i=r.startOffset,a=r.endOffset;if(i===0&&a!==Number.POSITIVE_INFINITY){var n=this.currentTrackId,s=this.levels;if(!s.length||!s[n]||!s[n].details){return}var o=s[n].details;var l=o.targetduration;var u=a-l;if(u<=0){return}r.endOffsetSubtitles=Math.max(0,u);this.tracksBuffered.forEach((function(e){for(var t=0;t<e.length;){if(e[t].end<=u){e.shift();continue}else if(e[t].start<u){e[t].start=u}else{break}t++}}));this.fragmentTracker.removeFragmentsInRange(i,u,f["PlaylistLevelType"].SUBTITLE)}};r.onError=function e(t,r){var i;var a=r.frag;if(!a||a.type!==f["PlaylistLevelType"].SUBTITLE){return}if((i=this.fragCurrent)!==null&&i!==void 0&&i.loader){this.fragCurrent.loader.abort()}this.state=u["State"].IDLE};r.onSubtitleTracksUpdated=function e(t,r){var i=this;var a=r.subtitleTracks;this.tracksBuffered=[];this.levels=a.map((function(e){return new c["Level"](e)}));this.fragmentTracker.removeAllFragments();this.fragPrevious=null;this.levels.forEach((function(e){i.tracksBuffered[e.id]=[]}));this.mediaBuffer=null};r.onSubtitleTrackSwitch=function e(t,r){this.currentTrackId=r.id;if(!this.levels.length||this.currentTrackId===-1){this.clearInterval();return}var i=this.levels[this.currentTrackId];if(i!==null&&i!==void 0&&i.details){this.mediaBuffer=this.mediaBufferTimeRanges}else{this.mediaBuffer=null}if(i){this.setInterval(p)}};r.onSubtitleTrackLoaded=function e(t,r){var i;var a=r.details,l=r.id;var f=this.currentTrackId,c=this.levels;if(!c.length){return}var d=c[f];if(l>=c.length||l!==f||!d){return}this.mediaBuffer=this.mediaBufferTimeRanges;if(a.live||(i=d.details)!==null&&i!==void 0&&i.live){var h=this.mainDetails;if(a.deltaUpdateFailed||!h){return}var v=h.fragments[0];if(!d.details){if(a.hasProgramDateTime&&h.hasProgramDateTime){Object(s["alignMediaPlaylistByPDT"])(a,h)}else if(v){Object(o["addSliding"])(a,v.start)}}else{var g=this.alignPlaylists(a,d.details);if(g===0&&v){Object(o["addSliding"])(a,v.start)}}}d.details=a;this.levelLastLoaded=l;this.tick();if(a.live&&!this.fragCurrent&&this.media&&this.state===u["State"].IDLE){var p=Object(n["findFragmentByPTS"])(null,a.fragments,this.media.currentTime,0);if(!p){this.warn("Subtitle playlist not aligned with playback");d.details=undefined}}};r._handleFragmentLoadComplete=function e(t){var r=t.frag,a=t.payload;var n=r.decryptdata;var s=this.hls;if(this.fragContextChanged(r)){return}if(a&&a.byteLength>0&&n&&n.key&&n.iv&&n.method==="AES-128"){var o=performance.now();this.decrypter.webCryptoDecrypt(new Uint8Array(a),n.key.buffer,n.iv.buffer).then((function(e){var t=performance.now();s.trigger(i["Events"].FRAG_DECRYPTED,{frag:r,payload:e,stats:{tstart:o,tdecrypt:t}})}))}};r.doTick=function e(){if(!this.media){this.state=u["State"].IDLE;return}if(this.state===u["State"].IDLE){var t;var r=this.currentTrackId,i=this.levels;if(!i.length||!i[r]||!i[r].details){return}var s=i[r].details;var o=s.targetduration;var f=this.config,c=this.media;var d=a["BufferHelper"].bufferedInfo(this.mediaBufferTimeRanges,c.currentTime-o,f.maxBufferHole);var h=d.end,v=d.len;var g=this.getMaxBufferLength()+o;if(v>g){return}console.assert(s,"Subtitle track details are defined on idle subtitle stream controller tick");var p=s.fragments;var m=p.length;var y=s.edge;var E;var T=this.fragPrevious;if(h<y){var b=f.maxFragLookUpTolerance;E=Object(n["findFragmentByPTS"])(T,p,h,b);if(!E&&T&&T.start<p[0].start){E=p[0]}}else{E=p[m-1]}if((t=E)!==null&&t!==void 0&&t.encrypted){this.loadKey(E,s)}else if(E&&this.fragmentTracker.getState(E)===l["FragmentState"].NOT_LOADED){this.loadFragment(E,s,h)}}};r.loadFragment=function t(r,i,a){this.fragCurrent=r;e.prototype.loadFragment.call(this,r,i,a)};h(t,[{key:"mediaBufferTimeRanges",get:function e(){return this.tracksBuffered[this.currentTrackId]||[]}}]);return t}(u["default"])},"./src/controller/subtitle-track-controller.ts":
97
+ /*! exports provided: SubtitleStreamController */function(e,t,r){r.r(t);r.d(t,"SubtitleStreamController",(function(){return m}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/buffer-helper */"./src/utils/buffer-helper.ts");var n=r(/*! ./fragment-finders */"./src/controller/fragment-finders.ts");var s=r(/*! ../utils/discontinuities */"./src/utils/discontinuities.ts");var o=r(/*! ./level-helper */"./src/controller/level-helper.ts");var l=r(/*! ./fragment-tracker */"./src/controller/fragment-tracker.ts");var u=r(/*! ./base-stream-controller */"./src/controller/base-stream-controller.ts");var f=r(/*! ../types/loader */"./src/types/loader.ts");var d=r(/*! ../types/level */"./src/types/level.ts");function c(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function h(e,t,r){if(t)c(e.prototype,t);if(r)c(e,r);return e}function v(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;g(e,t)}function g(e,t){g=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return g(e,t)}var p=500;var m=function(e){v(t,e);function t(t,r){var i;i=e.call(this,t,r,"[subtitle-stream-controller]")||this;i.levels=[];i.currentTrackId=-1;i.tracksBuffered=[];i.mainDetails=null;i._registerListeners();return i}var r=t.prototype;r.onHandlerDestroying=function e(){this._unregisterListeners();this.mainDetails=null};r._registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(i["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.on(i["Events"].ERROR,this.onError,this);t.on(i["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);t.on(i["Events"].SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this);t.on(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.on(i["Events"].SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this);t.on(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};r._unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(i["Events"].LEVEL_LOADED,this.onLevelLoaded,this);t.off(i["Events"].ERROR,this.onError,this);t.off(i["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);t.off(i["Events"].SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this);t.off(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.off(i["Events"].SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this);t.off(i["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)};r.startLoad=function e(){this.stopLoad();this.state=u["State"].IDLE;this.setInterval(p);this.tick()};r.onManifestLoading=function e(){this.mainDetails=null;this.fragmentTracker.removeAllFragments()};r.onLevelLoaded=function e(t,r){this.mainDetails=r.details};r.onSubtitleFragProcessed=function e(t,r){var i=r.frag,a=r.success;this.fragPrevious=i;this.state=u["State"].IDLE;if(!a){return}var n=this.tracksBuffered[this.currentTrackId];if(!n){return}var s;var o=i.start;for(var l=0;l<n.length;l++){if(o>=n[l].start&&o<=n[l].end){s=n[l];break}}var f=i.start+i.duration;if(s){s.end=f}else{s={start:o,end:f};n.push(s)}this.fragmentTracker.fragBuffered(i)};r.onBufferFlushing=function e(t,r){var i=r.startOffset,a=r.endOffset;if(i===0&&a!==Number.POSITIVE_INFINITY){var n=this.currentTrackId,s=this.levels;if(!s.length||!s[n]||!s[n].details){return}var o=s[n].details;var l=o.targetduration;var u=a-l;if(u<=0){return}r.endOffsetSubtitles=Math.max(0,u);this.tracksBuffered.forEach((function(e){for(var t=0;t<e.length;){if(e[t].end<=u){e.shift();continue}else if(e[t].start<u){e[t].start=u}else{break}t++}}));this.fragmentTracker.removeFragmentsInRange(i,u,f["PlaylistLevelType"].SUBTITLE)}};r.onError=function e(t,r){var i;var a=r.frag;if(!a||a.type!==f["PlaylistLevelType"].SUBTITLE){return}if((i=this.fragCurrent)!==null&&i!==void 0&&i.loader){this.fragCurrent.loader.abort()}this.state=u["State"].IDLE};r.onSubtitleTracksUpdated=function e(t,r){var i=this;var a=r.subtitleTracks;this.tracksBuffered=[];this.levels=a.map((function(e){return new d["Level"](e)}));this.fragmentTracker.removeAllFragments();this.fragPrevious=null;this.levels.forEach((function(e){i.tracksBuffered[e.id]=[]}));this.mediaBuffer=null};r.onSubtitleTrackSwitch=function e(t,r){this.currentTrackId=r.id;if(!this.levels.length||this.currentTrackId===-1){this.clearInterval();return}var i=this.levels[this.currentTrackId];if(i!==null&&i!==void 0&&i.details){this.mediaBuffer=this.mediaBufferTimeRanges}else{this.mediaBuffer=null}if(i){this.setInterval(p)}};r.onSubtitleTrackLoaded=function e(t,r){var i;var a=r.details,l=r.id;var f=this.currentTrackId,d=this.levels;if(!d.length){return}var c=d[f];if(l>=d.length||l!==f||!c){return}this.mediaBuffer=this.mediaBufferTimeRanges;if(a.live||(i=c.details)!==null&&i!==void 0&&i.live){var h=this.mainDetails;if(a.deltaUpdateFailed||!h){return}var v=h.fragments[0];if(!c.details){if(a.hasProgramDateTime&&h.hasProgramDateTime){Object(s["alignMediaPlaylistByPDT"])(a,h)}else if(v){Object(o["addSliding"])(a,v.start)}}else{var g=this.alignPlaylists(a,c.details);if(g===0&&v){Object(o["addSliding"])(a,v.start)}}}c.details=a;this.levelLastLoaded=l;this.tick();if(a.live&&!this.fragCurrent&&this.media&&this.state===u["State"].IDLE){var p=Object(n["findFragmentByPTS"])(null,a.fragments,this.media.currentTime,0);if(!p){this.warn("Subtitle playlist not aligned with playback");c.details=undefined}}};r._handleFragmentLoadComplete=function e(t){var r=t.frag,a=t.payload;var n=r.decryptdata;var s=this.hls;if(this.fragContextChanged(r)){return}if(a&&a.byteLength>0&&n&&n.key&&n.iv&&n.method==="AES-128"){var o=performance.now();this.decrypter.webCryptoDecrypt(new Uint8Array(a),n.key.buffer,n.iv.buffer).then((function(e){var t=performance.now();s.trigger(i["Events"].FRAG_DECRYPTED,{frag:r,payload:e,stats:{tstart:o,tdecrypt:t}})}))}};r.doTick=function e(){if(!this.media){this.state=u["State"].IDLE;return}if(this.state===u["State"].IDLE){var t;var r=this.currentTrackId,i=this.levels;if(!i.length||!i[r]||!i[r].details){return}var s=i[r].details;var o=s.targetduration;var f=this.config,d=this.media;var c=a["BufferHelper"].bufferedInfo(this.mediaBufferTimeRanges,d.currentTime-o,f.maxBufferHole);var h=c.end,v=c.len;var g=this.getMaxBufferLength()+o;if(v>g){return}console.assert(s,"Subtitle track details are defined on idle subtitle stream controller tick");var p=s.fragments;var m=p.length;var y=s.edge;var E;var T=this.fragPrevious;if(h<y){var b=f.maxFragLookUpTolerance;E=Object(n["findFragmentByPTS"])(T,p,h,b);if(!E&&T&&T.start<p[0].start){E=p[0]}}else{E=p[m-1]}if((t=E)!==null&&t!==void 0&&t.encrypted){this.loadKey(E,s)}else if(E&&this.fragmentTracker.getState(E)===l["FragmentState"].NOT_LOADED){this.loadFragment(E,s,h)}}};r.loadFragment=function t(r,i,a){this.fragCurrent=r;e.prototype.loadFragment.call(this,r,i,a)};h(t,[{key:"mediaBufferTimeRanges",get:function e(){return this.tracksBuffered[this.currentTrackId]||[]}}]);return t}(u["default"])},"./src/controller/subtitle-track-controller.ts":
98
98
  /*!*****************************************************!*\
99
99
  !*** ./src/controller/subtitle-track-controller.ts ***!
100
100
  \*****************************************************/
101
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/texttrack-utils */"./src/utils/texttrack-utils.ts");var n=r(/*! ./base-playlist-controller */"./src/controller/base-playlist-controller.ts");var s=r(/*! ../types/loader */"./src/types/loader.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}function u(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;f(e,t)}function f(e,t){f=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return f(e,t)}var c=function(e){u(t,e);function t(t){var r;r=e.call(this,t,"[subtitle-track-controller]")||this;r.media=null;r.tracks=[];r.groupId=null;r.tracksInGroup=[];r.trackId=-1;r.selectDefaultTrack=true;r.queuedDefaultTrack=-1;r.trackChangeListener=function(){return r.onTextTracksChanged()};r.asyncPollTrackChange=function(){return r.pollTrackChange(0)};r.useTextTrackPolling=false;r.subtitlePollingInterval=-1;r.subtitleDisplay=true;r.registerListeners();return r}var r=t.prototype;r.destroy=function t(){this.unregisterListeners();this.tracks.length=0;this.tracksInGroup.length=0;this.trackChangeListener=this.asyncPollTrackChange=null;e.prototype.destroy.call(this)};r.registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.on(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.on(i["Events"].ERROR,this.onError,this)};r.unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.off(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.off(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.off(i["Events"].ERROR,this.onError,this)};r.onMediaAttached=function e(t,r){this.media=r.media;if(!this.media){return}if(this.queuedDefaultTrack>-1){this.subtitleTrack=this.queuedDefaultTrack;this.queuedDefaultTrack=-1}this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks);if(this.useTextTrackPolling){this.pollTrackChange(500)}else{this.media.textTracks.addEventListener("change",this.asyncPollTrackChange)}};r.pollTrackChange=function e(t){self.clearInterval(this.subtitlePollingInterval);this.subtitlePollingInterval=self.setInterval(this.trackChangeListener,t)};r.onMediaDetaching=function e(){if(!this.media){return}self.clearInterval(this.subtitlePollingInterval);if(!this.useTextTrackPolling){this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange)}if(this.trackId>-1){this.queuedDefaultTrack=this.trackId}var t=d(this.media.textTracks);t.forEach((function(e){Object(a["clearCurrentCues"])(e)}));this.subtitleTrack=-1;this.media=null};r.onManifestLoading=function e(){this.tracks=[];this.groupId=null;this.tracksInGroup=[];this.trackId=-1;this.selectDefaultTrack=true};r.onManifestParsed=function e(t,r){this.tracks=r.subtitleTracks};r.onSubtitleTrackLoaded=function e(t,r){var i=r.id,a=r.details;var n=this.trackId;var s=this.tracksInGroup[n];if(!s){this.warn("Invalid subtitle track id "+i);return}var o=s.details;s.details=r.details;this.log("subtitle track "+i+" loaded ["+a.startSN+"-"+a.endSN+"]");if(i===this.trackId){this.retryCount=0;this.playlistLoaded(i,r,o)}};r.onLevelLoading=function e(t,r){this.switchLevel(r.level)};r.onLevelSwitching=function e(t,r){this.switchLevel(r.level)};r.switchLevel=function e(t){var r=this.hls.levels[t];if(!(r!==null&&r!==void 0&&r.textGroupIds)){return}var a=r.textGroupIds[r.urlId];if(this.groupId!==a){var n=this.tracksInGroup?this.tracksInGroup[this.trackId]:undefined;var s=this.tracks.filter((function(e){return!a||e.groupId===a}));this.tracksInGroup=s;var o=this.findTrackId(n===null||n===void 0?void 0:n.name)||this.findTrackId();this.groupId=a;var l={subtitleTracks:s};this.log("Updating subtitle tracks, "+s.length+' track(s) found in "'+a+'" group-id');this.hls.trigger(i["Events"].SUBTITLE_TRACKS_UPDATED,l);if(o!==-1){this.setSubtitleTrack(o,n)}}};r.findTrackId=function e(t){var r=this.tracksInGroup;for(var i=0;i<r.length;i++){var a=r[i];if(!this.selectDefaultTrack||a.default){if(!t||t===a.name){return a.id}}}return-1};r.onError=function t(r,i){e.prototype.onError.call(this,r,i);if(i.fatal||!i.context){return}if(i.context.type===s["PlaylistContextType"].SUBTITLE_TRACK&&i.context.id===this.trackId&&i.context.groupId===this.groupId){this.retryLoadingOrFail(i)}};r.loadPlaylist=function e(t){var r=this.tracksInGroup[this.trackId];if(this.shouldLoadTrack(r)){var a=r.id;var n=r.groupId;var s=r.url;if(t){try{s=t.addDirectives(s)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}}this.log("Loading subtitle playlist for id "+a);this.hls.trigger(i["Events"].SUBTITLE_TRACK_LOADING,{url:s,id:a,groupId:n,deliveryDirectives:t||null})}};r.toggleTrackModes=function e(t){var r=this;var i=this.media,a=this.subtitleDisplay,n=this.trackId;if(!i){return}var s=d(i.textTracks);var o=s.filter((function(e){return e.groupId===r.groupId}));if(t===-1){[].slice.call(s).forEach((function(e){e.mode="disabled"}))}else{var l=o[n];if(l){l.mode="disabled"}}var u=o[t];if(u){u.mode=a?"showing":"hidden"}};r.setSubtitleTrack=function e(t,r){var a;var n=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=t;return}if(this.trackId!==t){this.toggleTrackModes(t)}if(this.trackId===t&&(t===-1||(a=n[t])!==null&&a!==void 0&&a.details)||t<-1||t>=n.length){return}this.clearTimer();var s=n[t];this.log("Switching to subtitle track "+t);this.trackId=t;if(s){var o=s.id,l=s.groupId,u=l===void 0?"":l,f=s.name,c=s.type,d=s.url;this.hls.trigger(i["Events"].SUBTITLE_TRACK_SWITCH,{id:o,groupId:u,name:f,type:c,url:d});var h=this.switchParams(s.url,r===null||r===void 0?void 0:r.details);this.loadPlaylist(h)}else{this.hls.trigger(i["Events"].SUBTITLE_TRACK_SWITCH,{id:t})}};r.onTextTracksChanged=function e(){if(!this.useTextTrackPolling){self.clearInterval(this.subtitlePollingInterval)}if(!this.media||!this.hls.config.renderTextTracksNatively){return}var t=-1;var r=d(this.media.textTracks);for(var i=0;i<r.length;i++){if(r[i].mode==="hidden"){t=i}else if(r[i].mode==="showing"){t=i;break}}if(this.subtitleTrack!==t){this.subtitleTrack=t}};l(t,[{key:"subtitleTracks",get:function e(){return this.tracksInGroup}},{key:"subtitleTrack",get:function e(){return this.trackId},set:function e(t){this.selectDefaultTrack=false;var r=this.tracksInGroup?this.tracksInGroup[this.trackId]:undefined;this.setSubtitleTrack(t,r)}}]);return t}(n["default"]);function d(e){var t=[];for(var r=0;r<e.length;r++){var i=e[r];if(i.kind==="subtitles"&&i.label){t.push(e[r])}}return t}t["default"]=c},"./src/controller/timeline-controller.ts":
101
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../utils/texttrack-utils */"./src/utils/texttrack-utils.ts");var n=r(/*! ./base-playlist-controller */"./src/controller/base-playlist-controller.ts");var s=r(/*! ../types/loader */"./src/types/loader.ts");function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function l(e,t,r){if(t)o(e.prototype,t);if(r)o(e,r);return e}function u(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;f(e,t)}function f(e,t){f=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return f(e,t)}var d=function(e){u(t,e);function t(t){var r;r=e.call(this,t,"[subtitle-track-controller]")||this;r.media=null;r.tracks=[];r.groupId=null;r.tracksInGroup=[];r.trackId=-1;r.selectDefaultTrack=true;r.queuedDefaultTrack=-1;r.trackChangeListener=function(){return r.onTextTracksChanged()};r.asyncPollTrackChange=function(){return r.pollTrackChange(0)};r.useTextTrackPolling=false;r.subtitlePollingInterval=-1;r.subtitleDisplay=true;r.registerListeners();return r}var r=t.prototype;r.destroy=function t(){this.unregisterListeners();this.tracks.length=0;this.tracksInGroup.length=0;this.trackChangeListener=this.asyncPollTrackChange=null;e.prototype.destroy.call(this)};r.registerListeners=function e(){var t=this.hls;t.on(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.on(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.on(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.on(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.on(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.on(i["Events"].ERROR,this.onError,this)};r.unregisterListeners=function e(){var t=this.hls;t.off(i["Events"].MEDIA_ATTACHED,this.onMediaAttached,this);t.off(i["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(i["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(i["Events"].MANIFEST_PARSED,this.onManifestParsed,this);t.off(i["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.off(i["Events"].LEVEL_SWITCHING,this.onLevelSwitching,this);t.off(i["Events"].SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this);t.off(i["Events"].ERROR,this.onError,this)};r.onMediaAttached=function e(t,r){this.media=r.media;if(!this.media){return}if(this.queuedDefaultTrack>-1){this.subtitleTrack=this.queuedDefaultTrack;this.queuedDefaultTrack=-1}this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks);if(this.useTextTrackPolling){this.pollTrackChange(500)}else{this.media.textTracks.addEventListener("change",this.asyncPollTrackChange)}};r.pollTrackChange=function e(t){self.clearInterval(this.subtitlePollingInterval);this.subtitlePollingInterval=self.setInterval(this.trackChangeListener,t)};r.onMediaDetaching=function e(){if(!this.media){return}self.clearInterval(this.subtitlePollingInterval);if(!this.useTextTrackPolling){this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange)}if(this.trackId>-1){this.queuedDefaultTrack=this.trackId}var t=c(this.media.textTracks);t.forEach((function(e){Object(a["clearCurrentCues"])(e)}));this.subtitleTrack=-1;this.media=null};r.onManifestLoading=function e(){this.tracks=[];this.groupId=null;this.tracksInGroup=[];this.trackId=-1;this.selectDefaultTrack=true};r.onManifestParsed=function e(t,r){this.tracks=r.subtitleTracks};r.onSubtitleTrackLoaded=function e(t,r){var i=r.id,a=r.details;var n=this.trackId;var s=this.tracksInGroup[n];if(!s){this.warn("Invalid subtitle track id "+i);return}var o=s.details;s.details=r.details;this.log("subtitle track "+i+" loaded ["+a.startSN+"-"+a.endSN+"]");if(i===this.trackId){this.retryCount=0;this.playlistLoaded(i,r,o)}};r.onLevelLoading=function e(t,r){this.switchLevel(r.level)};r.onLevelSwitching=function e(t,r){this.switchLevel(r.level)};r.switchLevel=function e(t){var r=this.hls.levels[t];if(!(r!==null&&r!==void 0&&r.textGroupIds)){return}var a=r.textGroupIds[r.urlId];if(this.groupId!==a){var n=this.tracksInGroup?this.tracksInGroup[this.trackId]:undefined;var s=this.tracks.filter((function(e){return!a||e.groupId===a}));this.tracksInGroup=s;var o=this.findTrackId(n===null||n===void 0?void 0:n.name)||this.findTrackId();this.groupId=a;var l={subtitleTracks:s};this.log("Updating subtitle tracks, "+s.length+' track(s) found in "'+a+'" group-id');this.hls.trigger(i["Events"].SUBTITLE_TRACKS_UPDATED,l);if(o!==-1){this.setSubtitleTrack(o,n)}}};r.findTrackId=function e(t){var r=this.tracksInGroup;for(var i=0;i<r.length;i++){var a=r[i];if(!this.selectDefaultTrack||a.default){if(!t||t===a.name){return a.id}}}return-1};r.onError=function t(r,i){e.prototype.onError.call(this,r,i);if(i.fatal||!i.context){return}if(i.context.type===s["PlaylistContextType"].SUBTITLE_TRACK&&i.context.id===this.trackId&&i.context.groupId===this.groupId){this.retryLoadingOrFail(i)}};r.loadPlaylist=function e(t){var r=this.tracksInGroup[this.trackId];if(this.shouldLoadTrack(r)){var a=r.id;var n=r.groupId;var s=r.url;if(t){try{s=t.addDirectives(s)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}}this.log("Loading subtitle playlist for id "+a);this.hls.trigger(i["Events"].SUBTITLE_TRACK_LOADING,{url:s,id:a,groupId:n,deliveryDirectives:t||null})}};r.toggleTrackModes=function e(t){var r=this;var i=this.media,a=this.subtitleDisplay,n=this.trackId;if(!i){return}var s=c(i.textTracks);var o=s.filter((function(e){return e.groupId===r.groupId}));if(t===-1){[].slice.call(s).forEach((function(e){e.mode="disabled"}))}else{var l=o[n];if(l){l.mode="disabled"}}var u=o[t];if(u){u.mode=a?"showing":"hidden"}};r.setSubtitleTrack=function e(t,r){var a;var n=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=t;return}if(this.trackId!==t){this.toggleTrackModes(t)}if(this.trackId===t&&(t===-1||(a=n[t])!==null&&a!==void 0&&a.details)||t<-1||t>=n.length){return}this.clearTimer();var s=n[t];this.log("Switching to subtitle track "+t);this.trackId=t;if(s){var o=s.id,l=s.groupId,u=l===void 0?"":l,f=s.name,d=s.type,c=s.url;this.hls.trigger(i["Events"].SUBTITLE_TRACK_SWITCH,{id:o,groupId:u,name:f,type:d,url:c});var h=this.switchParams(s.url,r===null||r===void 0?void 0:r.details);this.loadPlaylist(h)}else{this.hls.trigger(i["Events"].SUBTITLE_TRACK_SWITCH,{id:t})}};r.onTextTracksChanged=function e(){if(!this.useTextTrackPolling){self.clearInterval(this.subtitlePollingInterval)}if(!this.media||!this.hls.config.renderTextTracksNatively){return}var t=-1;var r=c(this.media.textTracks);for(var i=0;i<r.length;i++){if(r[i].mode==="hidden"){t=i}else if(r[i].mode==="showing"){t=i;break}}if(this.subtitleTrack!==t){this.subtitleTrack=t}};l(t,[{key:"subtitleTracks",get:function e(){return this.tracksInGroup}},{key:"subtitleTrack",get:function e(){return this.trackId},set:function e(t){this.selectDefaultTrack=false;var r=this.tracksInGroup?this.tracksInGroup[this.trackId]:undefined;this.setSubtitleTrack(t,r)}}]);return t}(n["default"]);function c(e){var t=[];for(var r=0;r<e.length;r++){var i=e[r];if(i.kind==="subtitles"&&i.label){t.push(e[r])}}return t}t["default"]=d},"./src/controller/timeline-controller.ts":
102
102
  /*!***********************************************!*\
103
103
  !*** ./src/controller/timeline-controller.ts ***!
104
104
  \***********************************************/
105
- /*! exports provided: TimelineController */function(e,t,r){r.r(t);r.d(t,"TimelineController",(function(){return d}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/cea-608-parser */"./src/utils/cea-608-parser.ts");var s=r(/*! ../utils/output-filter */"./src/utils/output-filter.ts");var o=r(/*! ../utils/webvtt-parser */"./src/utils/webvtt-parser.ts");var l=r(/*! ../utils/texttrack-utils */"./src/utils/texttrack-utils.ts");var u=r(/*! ../utils/imsc1-ttml-parser */"./src/utils/imsc1-ttml-parser.ts");var f=r(/*! ../types/loader */"./src/types/loader.ts");var c=r(/*! ../utils/logger */"./src/utils/logger.ts");var d=function(){function e(e){this.hls=void 0;this.media=null;this.config=void 0;this.enabled=true;this.Cues=void 0;this.textTracks=[];this.tracks=[];this.initPTS=[];this.timescale=[];this.unparsedVttFrags=[];this.captionsTracks={};this.nonNativeCaptionsTracks={};this.cea608Parser1=void 0;this.cea608Parser2=void 0;this.lastSn=-1;this.lastPartIndex=-1;this.prevCC=-1;this.vttCCs=g();this.captionsProperties=void 0;this.hls=e;this.config=e.config;this.Cues=e.config.cueHandler;this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}};if(this.config.enableCEA708Captions){var t=new s["default"](this,"textTrack1");var r=new s["default"](this,"textTrack2");var i=new s["default"](this,"textTrack3");var o=new s["default"](this,"textTrack4");this.cea608Parser1=new n["default"](1,t,r);this.cea608Parser2=new n["default"](3,i,o)}e.on(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);e.on(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);e.on(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);e.on(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);e.on(a["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);e.on(a["Events"].FRAG_LOADING,this.onFragLoading,this);e.on(a["Events"].FRAG_LOADED,this.onFragLoaded,this);e.on(a["Events"].FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this);e.on(a["Events"].FRAG_DECRYPTED,this.onFragDecrypted,this);e.on(a["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);e.on(a["Events"].SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this);e.on(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)}var t=e.prototype;t.destroy=function e(){var t=this.hls;t.off(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);t.off(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);t.off(a["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);t.off(a["Events"].FRAG_LOADING,this.onFragLoading,this);t.off(a["Events"].FRAG_LOADED,this.onFragLoaded,this);t.off(a["Events"].FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this);t.off(a["Events"].FRAG_DECRYPTED,this.onFragDecrypted,this);t.off(a["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);t.off(a["Events"].SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this);t.off(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this);this.hls=this.config=this.cea608Parser1=this.cea608Parser2=null};t.addCues=function e(t,r,i,n,s){var o=false;for(var l=s.length;l--;){var u=s[l];var f=v(u[0],u[1],r,i);if(f>=0){u[0]=Math.min(u[0],r);u[1]=Math.max(u[1],i);o=true;if(f/(i-r)>.5){return}}}if(!o){s.push([r,i])}if(this.config.renderTextTracksNatively){var c=this.captionsTracks[t];this.Cues.newCue(c,r,i,n)}else{var d=this.Cues.newCue(null,r,i,n);this.hls.trigger(a["Events"].CUES_PARSED,{type:"captions",cues:d,track:t})}};t.onInitPtsFound=function e(t,r){var i=this;var n=r.frag,s=r.id,o=r.initPTS,l=r.timescale;var u=this.unparsedVttFrags;if(s==="main"){this.initPTS[n.cc]=o;this.timescale[n.cc]=l}if(u.length){this.unparsedVttFrags=[];u.forEach((function(e){i.onFragLoaded(a["Events"].FRAG_LOADED,e)}))}};t.getExistingTrack=function e(t){var r=this.media;if(r){for(var i=0;i<r.textTracks.length;i++){var a=r.textTracks[i];if(a[t]){return a}}}return null};t.createCaptionsTrack=function e(t){if(this.config.renderTextTracksNatively){this.createNativeTrack(t)}else{this.createNonNativeTrack(t)}};t.createNativeTrack=function e(t){if(this.captionsTracks[t]){return}var r=this.captionsProperties,i=this.captionsTracks,a=this.media;var n=r[t],s=n.label,o=n.languageCode;var u=this.getExistingTrack(t);if(!u){var f=this.createTextTrack("captions",s,o);if(f){f[t]=true;i[t]=f}}else{i[t]=u;Object(l["clearCurrentCues"])(i[t]);Object(l["sendAddTrackEvent"])(i[t],a)}};t.createNonNativeTrack=function e(t){if(this.nonNativeCaptionsTracks[t]){return}var r=this.captionsProperties[t];if(!r){return}var i=r.label;var n={_id:t,label:i,kind:"captions",default:r.media?!!r.media.default:false,closedCaptions:r.media};this.nonNativeCaptionsTracks[t]=n;this.hls.trigger(a["Events"].NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[n]})};t.createTextTrack=function e(t,r,i){var a=this.media;if(!a){return}return a.addTextTrack(t,r,i)};t.onMediaAttaching=function e(t,r){this.media=r.media;this._cleanTracks()};t.onMediaDetaching=function e(){var t=this.captionsTracks;Object.keys(t).forEach((function(e){Object(l["clearCurrentCues"])(t[e]);delete t[e]}));this.nonNativeCaptionsTracks={}};t.onManifestLoading=function e(){this.lastSn=-1;this.lastPartIndex=-1;this.prevCC=-1;this.vttCCs=g();this._cleanTracks();this.tracks=[];this.captionsTracks={};this.nonNativeCaptionsTracks={};this.textTracks=[];this.unparsedVttFrags=this.unparsedVttFrags||[];this.initPTS=[];this.timescale=[];if(this.cea608Parser1&&this.cea608Parser2){this.cea608Parser1.reset();this.cea608Parser2.reset()}};t._cleanTracks=function e(){var t=this.media;if(!t){return}var r=t.textTracks;if(r){for(var i=0;i<r.length;i++){Object(l["clearCurrentCues"])(r[i])}}};t.onSubtitleTracksUpdated=function e(t,r){var i=this;this.textTracks=[];var n=r.subtitleTracks||[];var s=n.some((function(e){return e.textCodec===u["IMSC1_CODEC"]}));if(this.config.enableWebVTT||s&&this.config.enableIMSC1){var o=this.tracks&&n&&this.tracks.length===n.length;this.tracks=n||[];if(this.config.renderTextTracksNatively){var f=this.media?this.media.textTracks:[];this.tracks.forEach((function(e,t){var r;if(t<f.length){var a=null;for(var n=0;n<f.length;n++){if(h(f[n],e)){a=f[n];break}}if(a){r=a}}if(r){Object(l["clearCurrentCues"])(r)}else{r=i.createTextTrack("subtitles",e.name,e.lang);if(r){r.mode="disabled"}}if(r){r.groupId=e.groupId;i.textTracks.push(r)}}))}else if(!o&&this.tracks&&this.tracks.length){var c=this.tracks.map((function(e){return{label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}}));this.hls.trigger(a["Events"].NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:c})}}};t.onManifestLoaded=function e(t,r){var i=this;if(this.config.enableCEA708Captions&&r.captions){r.captions.forEach((function(e){var t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t){return}var r="textTrack"+t[1];var a=i.captionsProperties[r];if(!a){return}a.label=e.name;if(e.lang){a.languageCode=e.lang}a.media=e}))}};t.onFragLoading=function e(t,r){var i=this.cea608Parser1,a=this.cea608Parser2,n=this.lastSn,s=this.lastPartIndex;if(!this.enabled||!(i&&a)){return}if(r.frag.type===f["PlaylistLevelType"].MAIN){var o,l;var u=r.frag.sn;var c=(o=r===null||r===void 0?void 0:(l=r.part)===null||l===void 0?void 0:l.index)!=null?o:-1;if(!(u===n+1||u===n&&c===s+1)){i.reset();a.reset()}this.lastSn=u;this.lastPartIndex=c}};t.onFragLoaded=function e(t,r){var n=r.frag,s=r.payload;var o=this.initPTS,l=this.unparsedVttFrags;if(n.type===f["PlaylistLevelType"].SUBTITLE){if(s.byteLength){if(!Object(i["isFiniteNumber"])(o[n.cc])){l.push(r);if(o.length){this.hls.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:n,error:new Error("Missing initial subtitle PTS")})}return}var c=n.decryptdata;var d="stats"in r;if(c==null||c.key==null||c.method!=="AES-128"||d){var h=this.tracks[n.level];var v=this.vttCCs;if(!v[n.cc]){v[n.cc]={start:n.start,prevCC:this.prevCC,new:true};this.prevCC=n.cc}if(h&&h.textCodec===u["IMSC1_CODEC"]){this._parseIMSC1(n,s)}else{this._parseVTTs(n,s,v)}}}else{this.hls.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:n,error:new Error("Empty subtitle payload")})}}};t._parseIMSC1=function e(t,r){var i=this;var n=this.hls;Object(u["parseIMSC1"])(r,this.initPTS[t.cc],this.timescale[t.cc],(function(e){i._appendCues(e,t.level);n.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:true,frag:t})}),(function(e){c["logger"].log("Failed to parse IMSC1: "+e);n.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:t,error:e})}))};t._parseVTTs=function e(t,r,i){var n=this;var s=this.hls;Object(o["parseWebVTT"])(r,this.initPTS[t.cc],this.timescale[t.cc],i,t.cc,t.start,(function(e){n._appendCues(e,t.level);s.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:true,frag:t})}),(function(e){n._fallbackToIMSC1(t,r);c["logger"].log("Failed to parse VTT cue: "+e);s.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:t,error:e})}))};t._fallbackToIMSC1=function e(t,r){var i=this;var a=this.tracks[t.level];if(!a.textCodec){Object(u["parseIMSC1"])(r,this.initPTS[t.cc],this.timescale[t.cc],(function(){a.textCodec=u["IMSC1_CODEC"];i._parseIMSC1(t,r)}),(function(){a.textCodec="wvtt"}))}};t._appendCues=function e(t,r){var i=this.hls;if(this.config.renderTextTracksNatively){var n=this.textTracks[r];if(n.mode==="disabled"){return}t.forEach((function(e){return Object(l["addCueToTrack"])(n,e)}))}else{var s=this.tracks[r];var o=s.default?"default":"subtitles"+r;i.trigger(a["Events"].CUES_PARSED,{type:"subtitles",cues:t,track:o})}};t.onFragDecrypted=function e(t,r){var n=r.frag;if(n.type===f["PlaylistLevelType"].SUBTITLE){if(!Object(i["isFiniteNumber"])(this.initPTS[n.cc])){this.unparsedVttFrags.push(r);return}this.onFragLoaded(a["Events"].FRAG_LOADED,r)}};t.onSubtitleTracksCleared=function e(){this.tracks=[];this.captionsTracks={}};t.onFragParsingUserdata=function e(t,r){var i=this.cea608Parser1,a=this.cea608Parser2;if(!this.enabled||!(i&&a)){return}for(var n=0;n<r.samples.length;n++){var s=r.samples[n].bytes;if(s){var o=this.extractCea608Data(s);i.addData(r.samples[n].pts,o[0]);a.addData(r.samples[n].pts,o[1])}}};t.onBufferFlushing=function e(t,r){var i=r.startOffset,a=r.endOffset,n=r.endOffsetSubtitles,s=r.type;var o=this.media;if(!o||o.currentTime<a){return}if(!s||s==="video"){var u=this.captionsTracks;Object.keys(u).forEach((function(e){return Object(l["removeCuesInRange"])(u[e],i,a)}))}if(this.config.renderTextTracksNatively){if(i===0&&n!==undefined){var f=this.textTracks;Object.keys(f).forEach((function(e){return Object(l["removeCuesInRange"])(f[e],i,n)}))}}};t.extractCea608Data=function e(t){var r=t[0]&31;var i=2;var a=[[],[]];for(var n=0;n<r;n++){var s=t[i++];var o=127&t[i++];var l=127&t[i++];var u=(4&s)!==0;var f=3&s;if(o===0&&l===0){continue}if(u){if(f===0||f===1){a[f].push(o);a[f].push(l)}}}return a};return e}();function h(e,t){return e&&e.label===t.name&&!(e.textTrack1||e.textTrack2)}function v(e,t,r,i){return Math.min(t,i)-Math.max(e,r)}function g(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:false}}}},"./src/crypt/aes-crypto.ts":
105
+ /*! exports provided: TimelineController */function(e,t,r){r.r(t);r.d(t,"TimelineController",(function(){return c}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/cea-608-parser */"./src/utils/cea-608-parser.ts");var s=r(/*! ../utils/output-filter */"./src/utils/output-filter.ts");var o=r(/*! ../utils/webvtt-parser */"./src/utils/webvtt-parser.ts");var l=r(/*! ../utils/texttrack-utils */"./src/utils/texttrack-utils.ts");var u=r(/*! ../utils/imsc1-ttml-parser */"./src/utils/imsc1-ttml-parser.ts");var f=r(/*! ../types/loader */"./src/types/loader.ts");var d=r(/*! ../utils/logger */"./src/utils/logger.ts");var c=function(){function e(e){this.hls=void 0;this.media=null;this.config=void 0;this.enabled=true;this.Cues=void 0;this.textTracks=[];this.tracks=[];this.initPTS=[];this.timescale=[];this.unparsedVttFrags=[];this.captionsTracks={};this.nonNativeCaptionsTracks={};this.cea608Parser1=void 0;this.cea608Parser2=void 0;this.lastSn=-1;this.lastPartIndex=-1;this.prevCC=-1;this.vttCCs=g();this.captionsProperties=void 0;this.hls=e;this.config=e.config;this.Cues=e.config.cueHandler;this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}};if(this.config.enableCEA708Captions){var t=new s["default"](this,"textTrack1");var r=new s["default"](this,"textTrack2");var i=new s["default"](this,"textTrack3");var o=new s["default"](this,"textTrack4");this.cea608Parser1=new n["default"](1,t,r);this.cea608Parser2=new n["default"](3,i,o)}e.on(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);e.on(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);e.on(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);e.on(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);e.on(a["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);e.on(a["Events"].FRAG_LOADING,this.onFragLoading,this);e.on(a["Events"].FRAG_LOADED,this.onFragLoaded,this);e.on(a["Events"].FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this);e.on(a["Events"].FRAG_DECRYPTED,this.onFragDecrypted,this);e.on(a["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);e.on(a["Events"].SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this);e.on(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this)}var t=e.prototype;t.destroy=function e(){var t=this.hls;t.off(a["Events"].MEDIA_ATTACHING,this.onMediaAttaching,this);t.off(a["Events"].MEDIA_DETACHING,this.onMediaDetaching,this);t.off(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(a["Events"].MANIFEST_LOADED,this.onManifestLoaded,this);t.off(a["Events"].SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this);t.off(a["Events"].FRAG_LOADING,this.onFragLoading,this);t.off(a["Events"].FRAG_LOADED,this.onFragLoaded,this);t.off(a["Events"].FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this);t.off(a["Events"].FRAG_DECRYPTED,this.onFragDecrypted,this);t.off(a["Events"].INIT_PTS_FOUND,this.onInitPtsFound,this);t.off(a["Events"].SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this);t.off(a["Events"].BUFFER_FLUSHING,this.onBufferFlushing,this);this.hls=this.config=this.cea608Parser1=this.cea608Parser2=null};t.addCues=function e(t,r,i,n,s){var o=false;for(var l=s.length;l--;){var u=s[l];var f=v(u[0],u[1],r,i);if(f>=0){u[0]=Math.min(u[0],r);u[1]=Math.max(u[1],i);o=true;if(f/(i-r)>.5){return}}}if(!o){s.push([r,i])}if(this.config.renderTextTracksNatively){var d=this.captionsTracks[t];this.Cues.newCue(d,r,i,n)}else{var c=this.Cues.newCue(null,r,i,n);this.hls.trigger(a["Events"].CUES_PARSED,{type:"captions",cues:c,track:t})}};t.onInitPtsFound=function e(t,r){var i=this;var n=r.frag,s=r.id,o=r.initPTS,l=r.timescale;var u=this.unparsedVttFrags;if(s==="main"){this.initPTS[n.cc]=o;this.timescale[n.cc]=l}if(u.length){this.unparsedVttFrags=[];u.forEach((function(e){i.onFragLoaded(a["Events"].FRAG_LOADED,e)}))}};t.getExistingTrack=function e(t){var r=this.media;if(r){for(var i=0;i<r.textTracks.length;i++){var a=r.textTracks[i];if(a[t]){return a}}}return null};t.createCaptionsTrack=function e(t){if(this.config.renderTextTracksNatively){this.createNativeTrack(t)}else{this.createNonNativeTrack(t)}};t.createNativeTrack=function e(t){if(this.captionsTracks[t]){return}var r=this.captionsProperties,i=this.captionsTracks,a=this.media;var n=r[t],s=n.label,o=n.languageCode;var u=this.getExistingTrack(t);if(!u){var f=this.createTextTrack("captions",s,o);if(f){f[t]=true;i[t]=f}}else{i[t]=u;Object(l["clearCurrentCues"])(i[t]);Object(l["sendAddTrackEvent"])(i[t],a)}};t.createNonNativeTrack=function e(t){if(this.nonNativeCaptionsTracks[t]){return}var r=this.captionsProperties[t];if(!r){return}var i=r.label;var n={_id:t,label:i,kind:"captions",default:r.media?!!r.media.default:false,closedCaptions:r.media};this.nonNativeCaptionsTracks[t]=n;this.hls.trigger(a["Events"].NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[n]})};t.createTextTrack=function e(t,r,i){var a=this.media;if(!a){return}return a.addTextTrack(t,r,i)};t.onMediaAttaching=function e(t,r){this.media=r.media;this._cleanTracks()};t.onMediaDetaching=function e(){var t=this.captionsTracks;Object.keys(t).forEach((function(e){Object(l["clearCurrentCues"])(t[e]);delete t[e]}));this.nonNativeCaptionsTracks={}};t.onManifestLoading=function e(){this.lastSn=-1;this.lastPartIndex=-1;this.prevCC=-1;this.vttCCs=g();this._cleanTracks();this.tracks=[];this.captionsTracks={};this.nonNativeCaptionsTracks={};this.textTracks=[];this.unparsedVttFrags=this.unparsedVttFrags||[];this.initPTS=[];this.timescale=[];if(this.cea608Parser1&&this.cea608Parser2){this.cea608Parser1.reset();this.cea608Parser2.reset()}};t._cleanTracks=function e(){var t=this.media;if(!t){return}var r=t.textTracks;if(r){for(var i=0;i<r.length;i++){Object(l["clearCurrentCues"])(r[i])}}};t.onSubtitleTracksUpdated=function e(t,r){var i=this;this.textTracks=[];var n=r.subtitleTracks||[];var s=n.some((function(e){return e.textCodec===u["IMSC1_CODEC"]}));if(this.config.enableWebVTT||s&&this.config.enableIMSC1){var o=this.tracks&&n&&this.tracks.length===n.length;this.tracks=n||[];if(this.config.renderTextTracksNatively){var f=this.media?this.media.textTracks:[];this.tracks.forEach((function(e,t){var r;if(t<f.length){var a=null;for(var n=0;n<f.length;n++){if(h(f[n],e)){a=f[n];break}}if(a){r=a}}if(r){Object(l["clearCurrentCues"])(r)}else{r=i.createTextTrack("subtitles",e.name,e.lang);if(r){r.mode="disabled"}}if(r){r.groupId=e.groupId;i.textTracks.push(r)}}))}else if(!o&&this.tracks&&this.tracks.length){var d=this.tracks.map((function(e){return{label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}}));this.hls.trigger(a["Events"].NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:d})}}};t.onManifestLoaded=function e(t,r){var i=this;if(this.config.enableCEA708Captions&&r.captions){r.captions.forEach((function(e){var t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t){return}var r="textTrack"+t[1];var a=i.captionsProperties[r];if(!a){return}a.label=e.name;if(e.lang){a.languageCode=e.lang}a.media=e}))}};t.onFragLoading=function e(t,r){var i=this.cea608Parser1,a=this.cea608Parser2,n=this.lastSn,s=this.lastPartIndex;if(!this.enabled||!(i&&a)){return}if(r.frag.type===f["PlaylistLevelType"].MAIN){var o,l;var u=r.frag.sn;var d=(o=r===null||r===void 0?void 0:(l=r.part)===null||l===void 0?void 0:l.index)!=null?o:-1;if(!(u===n+1||u===n&&d===s+1)){i.reset();a.reset()}this.lastSn=u;this.lastPartIndex=d}};t.onFragLoaded=function e(t,r){var n=r.frag,s=r.payload;var o=this.initPTS,l=this.unparsedVttFrags;if(n.type===f["PlaylistLevelType"].SUBTITLE){if(s.byteLength){if(!Object(i["isFiniteNumber"])(o[n.cc])){l.push(r);if(o.length){this.hls.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:n,error:new Error("Missing initial subtitle PTS")})}return}var d=n.decryptdata;var c="stats"in r;if(d==null||d.key==null||d.method!=="AES-128"||c){var h=this.tracks[n.level];var v=this.vttCCs;if(!v[n.cc]){v[n.cc]={start:n.start,prevCC:this.prevCC,new:true};this.prevCC=n.cc}if(h&&h.textCodec===u["IMSC1_CODEC"]){this._parseIMSC1(n,s)}else{this._parseVTTs(n,s,v)}}}else{this.hls.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:n,error:new Error("Empty subtitle payload")})}}};t._parseIMSC1=function e(t,r){var i=this;var n=this.hls;Object(u["parseIMSC1"])(r,this.initPTS[t.cc],this.timescale[t.cc],(function(e){i._appendCues(e,t.level);n.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:true,frag:t})}),(function(e){d["logger"].log("Failed to parse IMSC1: "+e);n.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:t,error:e})}))};t._parseVTTs=function e(t,r,i){var n=this;var s=this.hls;Object(o["parseWebVTT"])(r,this.initPTS[t.cc],this.timescale[t.cc],i,t.cc,t.start,(function(e){n._appendCues(e,t.level);s.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:true,frag:t})}),(function(e){n._fallbackToIMSC1(t,r);d["logger"].log("Failed to parse VTT cue: "+e);s.trigger(a["Events"].SUBTITLE_FRAG_PROCESSED,{success:false,frag:t,error:e})}))};t._fallbackToIMSC1=function e(t,r){var i=this;var a=this.tracks[t.level];if(!a.textCodec){Object(u["parseIMSC1"])(r,this.initPTS[t.cc],this.timescale[t.cc],(function(){a.textCodec=u["IMSC1_CODEC"];i._parseIMSC1(t,r)}),(function(){a.textCodec="wvtt"}))}};t._appendCues=function e(t,r){var i=this.hls;if(this.config.renderTextTracksNatively){var n=this.textTracks[r];if(n.mode==="disabled"){return}t.forEach((function(e){return Object(l["addCueToTrack"])(n,e)}))}else{var s=this.tracks[r];var o=s.default?"default":"subtitles"+r;i.trigger(a["Events"].CUES_PARSED,{type:"subtitles",cues:t,track:o})}};t.onFragDecrypted=function e(t,r){var n=r.frag;if(n.type===f["PlaylistLevelType"].SUBTITLE){if(!Object(i["isFiniteNumber"])(this.initPTS[n.cc])){this.unparsedVttFrags.push(r);return}this.onFragLoaded(a["Events"].FRAG_LOADED,r)}};t.onSubtitleTracksCleared=function e(){this.tracks=[];this.captionsTracks={}};t.onFragParsingUserdata=function e(t,r){var i=this.cea608Parser1,a=this.cea608Parser2;if(!this.enabled||!(i&&a)){return}for(var n=0;n<r.samples.length;n++){var s=r.samples[n].bytes;if(s){var o=this.extractCea608Data(s);i.addData(r.samples[n].pts,o[0]);a.addData(r.samples[n].pts,o[1])}}};t.onBufferFlushing=function e(t,r){var i=r.startOffset,a=r.endOffset,n=r.endOffsetSubtitles,s=r.type;var o=this.media;if(!o||o.currentTime<a){return}if(!s||s==="video"){var u=this.captionsTracks;Object.keys(u).forEach((function(e){return Object(l["removeCuesInRange"])(u[e],i,a)}))}if(this.config.renderTextTracksNatively){if(i===0&&n!==undefined){var f=this.textTracks;Object.keys(f).forEach((function(e){return Object(l["removeCuesInRange"])(f[e],i,n)}))}}};t.extractCea608Data=function e(t){var r=t[0]&31;var i=2;var a=[[],[]];for(var n=0;n<r;n++){var s=t[i++];var o=127&t[i++];var l=127&t[i++];var u=(4&s)!==0;var f=3&s;if(o===0&&l===0){continue}if(u){if(f===0||f===1){a[f].push(o);a[f].push(l)}}}return a};return e}();function h(e,t){return e&&e.label===t.name&&!(e.textTrack1||e.textTrack2)}function v(e,t,r,i){return Math.min(t,i)-Math.max(e,r)}function g(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:false}}}},"./src/crypt/aes-crypto.ts":
106
106
  /*!*********************************!*\
107
107
  !*** ./src/crypt/aes-crypto.ts ***!
108
108
  \*********************************/
@@ -110,11 +110,11 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
110
110
  /*!************************************!*\
111
111
  !*** ./src/crypt/aes-decryptor.ts ***!
112
112
  \************************************/
113
- /*! exports provided: removePadding, default */function(e,t,r){r.r(t);r.d(t,"removePadding",(function(){return a}));r.d(t,"default",(function(){return n}));var i=r(/*! ../utils/typed-array */"./src/utils/typed-array.ts");function a(e){var t=e.byteLength;var r=t&&new DataView(e.buffer).getUint8(t-1);if(r){return Object(i["sliceUint8"])(e,0,t-r)}return e}var n=function(){function e(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54];this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.sBox=new Uint32Array(256);this.invSBox=new Uint32Array(256);this.key=new Uint32Array(0);this.ksRows=0;this.keySize=0;this.keySchedule=void 0;this.invKeySchedule=void 0;this.initTable()}var t=e.prototype;t.uint8ArrayToUint32Array_=function e(t){var r=new DataView(t);var i=new Uint32Array(4);for(var a=0;a<4;a++){i[a]=r.getUint32(a*4)}return i};t.initTable=function e(){var t=this.sBox;var r=this.invSBox;var i=this.subMix;var a=i[0];var n=i[1];var s=i[2];var o=i[3];var l=this.invSubMix;var u=l[0];var f=l[1];var c=l[2];var d=l[3];var h=new Uint32Array(256);var v=0;var g=0;var p=0;for(p=0;p<256;p++){if(p<128){h[p]=p<<1}else{h[p]=p<<1^283}}for(p=0;p<256;p++){var m=g^g<<1^g<<2^g<<3^g<<4;m=m>>>8^m&255^99;t[v]=m;r[m]=v;var y=h[v];var E=h[y];var T=h[E];var b=h[m]*257^m*16843008;a[v]=b<<24|b>>>8;n[v]=b<<16|b>>>16;s[v]=b<<8|b>>>24;o[v]=b;b=T*16843009^E*65537^y*257^v*16843008;u[m]=b<<24|b>>>8;f[m]=b<<16|b>>>16;c[m]=b<<8|b>>>24;d[m]=b;if(!v){v=g=1}else{v=y^h[h[h[T^y]]];g^=h[h[g]]}}};t.expandKey=function e(t){var r=this.uint8ArrayToUint32Array_(t);var i=true;var a=0;while(a<r.length&&i){i=r[a]===this.key[a];a++}if(i){return}this.key=r;var n=this.keySize=r.length;if(n!==4&&n!==6&&n!==8){throw new Error("Invalid aes key size="+n)}var s=this.ksRows=(n+6+1)*4;var o;var l;var u=this.keySchedule=new Uint32Array(s);var f=this.invKeySchedule=new Uint32Array(s);var c=this.sBox;var d=this.rcon;var h=this.invSubMix;var v=h[0];var g=h[1];var p=h[2];var m=h[3];var y;var E;for(o=0;o<s;o++){if(o<n){y=u[o]=r[o];continue}E=y;if(o%n===0){E=E<<8|E>>>24;E=c[E>>>24]<<24|c[E>>>16&255]<<16|c[E>>>8&255]<<8|c[E&255];E^=d[o/n|0]<<24}else if(n>6&&o%n===4){E=c[E>>>24]<<24|c[E>>>16&255]<<16|c[E>>>8&255]<<8|c[E&255]}u[o]=y=(u[o-n]^E)>>>0}for(l=0;l<s;l++){o=s-l;if(l&3){E=u[o]}else{E=u[o-4]}if(l<4||o<=4){f[l]=E}else{f[l]=v[c[E>>>24]]^g[c[E>>>16&255]]^p[c[E>>>8&255]]^m[c[E&255]]}f[l]=f[l]>>>0}};t.networkToHostOrderSwap=function e(t){return t<<24|(t&65280)<<8|(t&16711680)>>8|t>>>24};t.decrypt=function e(t,r,i){var a=this.keySize+6;var n=this.invKeySchedule;var s=this.invSBox;var o=this.invSubMix;var l=o[0];var u=o[1];var f=o[2];var c=o[3];var d=this.uint8ArrayToUint32Array_(i);var h=d[0];var v=d[1];var g=d[2];var p=d[3];var m=new Int32Array(t);var y=new Int32Array(m.length);var E,T,b,S;var A,L,D,k;var R,I,C,w;var _,O;var x=this.networkToHostOrderSwap;while(r<m.length){R=x(m[r]);I=x(m[r+1]);C=x(m[r+2]);w=x(m[r+3]);A=R^n[0];L=w^n[1];D=C^n[2];k=I^n[3];_=4;for(O=1;O<a;O++){E=l[A>>>24]^u[L>>16&255]^f[D>>8&255]^c[k&255]^n[_];T=l[L>>>24]^u[D>>16&255]^f[k>>8&255]^c[A&255]^n[_+1];b=l[D>>>24]^u[k>>16&255]^f[A>>8&255]^c[L&255]^n[_+2];S=l[k>>>24]^u[A>>16&255]^f[L>>8&255]^c[D&255]^n[_+3];A=E;L=T;D=b;k=S;_=_+4}E=s[A>>>24]<<24^s[L>>16&255]<<16^s[D>>8&255]<<8^s[k&255]^n[_];T=s[L>>>24]<<24^s[D>>16&255]<<16^s[k>>8&255]<<8^s[A&255]^n[_+1];b=s[D>>>24]<<24^s[k>>16&255]<<16^s[A>>8&255]<<8^s[L&255]^n[_+2];S=s[k>>>24]<<24^s[A>>16&255]<<16^s[L>>8&255]<<8^s[D&255]^n[_+3];y[r]=x(E^h);y[r+1]=x(S^v);y[r+2]=x(b^g);y[r+3]=x(T^p);h=R;v=I;g=C;p=w;r=r+4}return y.buffer};return e}()},"./src/crypt/decrypter.ts":
113
+ /*! exports provided: removePadding, default */function(e,t,r){r.r(t);r.d(t,"removePadding",(function(){return a}));r.d(t,"default",(function(){return n}));var i=r(/*! ../utils/typed-array */"./src/utils/typed-array.ts");function a(e){var t=e.byteLength;var r=t&&new DataView(e.buffer).getUint8(t-1);if(r){return Object(i["sliceUint8"])(e,0,t-r)}return e}var n=function(){function e(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54];this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.sBox=new Uint32Array(256);this.invSBox=new Uint32Array(256);this.key=new Uint32Array(0);this.ksRows=0;this.keySize=0;this.keySchedule=void 0;this.invKeySchedule=void 0;this.initTable()}var t=e.prototype;t.uint8ArrayToUint32Array_=function e(t){var r=new DataView(t);var i=new Uint32Array(4);for(var a=0;a<4;a++){i[a]=r.getUint32(a*4)}return i};t.initTable=function e(){var t=this.sBox;var r=this.invSBox;var i=this.subMix;var a=i[0];var n=i[1];var s=i[2];var o=i[3];var l=this.invSubMix;var u=l[0];var f=l[1];var d=l[2];var c=l[3];var h=new Uint32Array(256);var v=0;var g=0;var p=0;for(p=0;p<256;p++){if(p<128){h[p]=p<<1}else{h[p]=p<<1^283}}for(p=0;p<256;p++){var m=g^g<<1^g<<2^g<<3^g<<4;m=m>>>8^m&255^99;t[v]=m;r[m]=v;var y=h[v];var E=h[y];var T=h[E];var b=h[m]*257^m*16843008;a[v]=b<<24|b>>>8;n[v]=b<<16|b>>>16;s[v]=b<<8|b>>>24;o[v]=b;b=T*16843009^E*65537^y*257^v*16843008;u[m]=b<<24|b>>>8;f[m]=b<<16|b>>>16;d[m]=b<<8|b>>>24;c[m]=b;if(!v){v=g=1}else{v=y^h[h[h[T^y]]];g^=h[h[g]]}}};t.expandKey=function e(t){var r=this.uint8ArrayToUint32Array_(t);var i=true;var a=0;while(a<r.length&&i){i=r[a]===this.key[a];a++}if(i){return}this.key=r;var n=this.keySize=r.length;if(n!==4&&n!==6&&n!==8){throw new Error("Invalid aes key size="+n)}var s=this.ksRows=(n+6+1)*4;var o;var l;var u=this.keySchedule=new Uint32Array(s);var f=this.invKeySchedule=new Uint32Array(s);var d=this.sBox;var c=this.rcon;var h=this.invSubMix;var v=h[0];var g=h[1];var p=h[2];var m=h[3];var y;var E;for(o=0;o<s;o++){if(o<n){y=u[o]=r[o];continue}E=y;if(o%n===0){E=E<<8|E>>>24;E=d[E>>>24]<<24|d[E>>>16&255]<<16|d[E>>>8&255]<<8|d[E&255];E^=c[o/n|0]<<24}else if(n>6&&o%n===4){E=d[E>>>24]<<24|d[E>>>16&255]<<16|d[E>>>8&255]<<8|d[E&255]}u[o]=y=(u[o-n]^E)>>>0}for(l=0;l<s;l++){o=s-l;if(l&3){E=u[o]}else{E=u[o-4]}if(l<4||o<=4){f[l]=E}else{f[l]=v[d[E>>>24]]^g[d[E>>>16&255]]^p[d[E>>>8&255]]^m[d[E&255]]}f[l]=f[l]>>>0}};t.networkToHostOrderSwap=function e(t){return t<<24|(t&65280)<<8|(t&16711680)>>8|t>>>24};t.decrypt=function e(t,r,i){var a=this.keySize+6;var n=this.invKeySchedule;var s=this.invSBox;var o=this.invSubMix;var l=o[0];var u=o[1];var f=o[2];var d=o[3];var c=this.uint8ArrayToUint32Array_(i);var h=c[0];var v=c[1];var g=c[2];var p=c[3];var m=new Int32Array(t);var y=new Int32Array(m.length);var E,T,b,S;var A,L,D,k;var R,I,C,w;var _,O;var x=this.networkToHostOrderSwap;while(r<m.length){R=x(m[r]);I=x(m[r+1]);C=x(m[r+2]);w=x(m[r+3]);A=R^n[0];L=w^n[1];D=C^n[2];k=I^n[3];_=4;for(O=1;O<a;O++){E=l[A>>>24]^u[L>>16&255]^f[D>>8&255]^d[k&255]^n[_];T=l[L>>>24]^u[D>>16&255]^f[k>>8&255]^d[A&255]^n[_+1];b=l[D>>>24]^u[k>>16&255]^f[A>>8&255]^d[L&255]^n[_+2];S=l[k>>>24]^u[A>>16&255]^f[L>>8&255]^d[D&255]^n[_+3];A=E;L=T;D=b;k=S;_=_+4}E=s[A>>>24]<<24^s[L>>16&255]<<16^s[D>>8&255]<<8^s[k&255]^n[_];T=s[L>>>24]<<24^s[D>>16&255]<<16^s[k>>8&255]<<8^s[A&255]^n[_+1];b=s[D>>>24]<<24^s[k>>16&255]<<16^s[A>>8&255]<<8^s[L&255]^n[_+2];S=s[k>>>24]<<24^s[A>>16&255]<<16^s[L>>8&255]<<8^s[D&255]^n[_+3];y[r]=x(E^h);y[r+1]=x(S^v);y[r+2]=x(b^g);y[r+3]=x(T^p);h=R;v=I;g=C;p=w;r=r+4}return y.buffer};return e}()},"./src/crypt/decrypter.ts":
114
114
  /*!********************************!*\
115
115
  !*** ./src/crypt/decrypter.ts ***!
116
116
  \********************************/
117
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return f}));var i=r(/*! ./aes-crypto */"./src/crypt/aes-crypto.ts");var a=r(/*! ./fast-aes-key */"./src/crypt/fast-aes-key.ts");var n=r(/*! ./aes-decryptor */"./src/crypt/aes-decryptor.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var l=r(/*! ../utils/typed-array */"./src/utils/typed-array.ts");var u=16;var f=function(){function e(e,t,r){var i=r===void 0?{}:r,a=i.removePKCS7Padding,n=a===void 0?true:a;this.logEnabled=true;this.observer=void 0;this.config=void 0;this.removePKCS7Padding=void 0;this.subtle=null;this.softwareDecrypter=null;this.key=null;this.fastAesKey=null;this.remainderData=null;this.currentIV=null;this.currentResult=null;this.observer=e;this.config=t;this.removePKCS7Padding=n;if(n){try{var s=self.crypto;if(s){this.subtle=s.subtle||s.webkitSubtle}}catch(e){}}if(this.subtle===null){this.config.enableSoftwareAES=true}}var t=e.prototype;t.destroy=function e(){this.observer=null};t.isSync=function e(){return this.config.enableSoftwareAES};t.flush=function e(){var t=this.currentResult;if(!t){this.reset();return}var r=new Uint8Array(t);this.reset();if(this.removePKCS7Padding){return Object(n["removePadding"])(r)}return r};t.reset=function e(){this.currentResult=null;this.currentIV=null;this.remainderData=null;if(this.softwareDecrypter){this.softwareDecrypter=null}};t.decrypt=function e(t,r,i,a){if(this.config.enableSoftwareAES){this.softwareDecrypt(new Uint8Array(t),r,i);var n=this.flush();if(n){a(n.buffer)}}else{this.webCryptoDecrypt(new Uint8Array(t),r,i).then(a)}};t.softwareDecrypt=function e(t,r,i){var a=this.currentIV,s=this.currentResult,u=this.remainderData;this.logOnce("JS AES decrypt");if(u){t=Object(o["appendUint8Array"])(u,t);this.remainderData=null}var f=this.getValidChunk(t);if(!f.length){return null}if(a){i=a}var c=this.softwareDecrypter;if(!c){c=this.softwareDecrypter=new n["default"]}c.expandKey(r);var d=s;this.currentResult=c.decrypt(f.buffer,0,i);this.currentIV=Object(l["sliceUint8"])(f,-16).buffer;if(!d){return null}return d};t.webCryptoDecrypt=function e(t,r,n){var s=this;var o=this.subtle;if(this.key!==r||!this.fastAesKey){this.key=r;this.fastAesKey=new a["default"](o,r)}return this.fastAesKey.expandKey().then((function(e){if(!o){return Promise.reject(new Error("web crypto not initialized"))}var r=new i["default"](o,n);return r.decrypt(t.buffer,e)})).catch((function(e){return s.onWebCryptoError(e,t,r,n)}))};t.onWebCryptoError=function e(t,r,i,a){s["logger"].warn("[decrypter.ts]: WebCrypto Error, disable WebCrypto API:",t);this.config.enableSoftwareAES=true;this.logEnabled=true;return this.softwareDecrypt(r,i,a)};t.getValidChunk=function e(t){var r=t;var i=t.length-t.length%u;if(i!==t.length){r=Object(l["sliceUint8"])(t,0,i);this.remainderData=Object(l["sliceUint8"])(t,i)}return r};t.logOnce=function e(t){if(!this.logEnabled){return}s["logger"].log("[decrypter.ts]: "+t);this.logEnabled=false};return e}()},"./src/crypt/fast-aes-key.ts":
117
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return f}));var i=r(/*! ./aes-crypto */"./src/crypt/aes-crypto.ts");var a=r(/*! ./fast-aes-key */"./src/crypt/fast-aes-key.ts");var n=r(/*! ./aes-decryptor */"./src/crypt/aes-decryptor.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var l=r(/*! ../utils/typed-array */"./src/utils/typed-array.ts");var u=16;var f=function(){function e(e,t,r){var i=r===void 0?{}:r,a=i.removePKCS7Padding,n=a===void 0?true:a;this.logEnabled=true;this.observer=void 0;this.config=void 0;this.removePKCS7Padding=void 0;this.subtle=null;this.softwareDecrypter=null;this.key=null;this.fastAesKey=null;this.remainderData=null;this.currentIV=null;this.currentResult=null;this.observer=e;this.config=t;this.removePKCS7Padding=n;if(n){try{var s=self.crypto;if(s){this.subtle=s.subtle||s.webkitSubtle}}catch(e){}}if(this.subtle===null){this.config.enableSoftwareAES=true}}var t=e.prototype;t.destroy=function e(){this.observer=null};t.isSync=function e(){return this.config.enableSoftwareAES};t.flush=function e(){var t=this.currentResult;if(!t){this.reset();return}var r=new Uint8Array(t);this.reset();if(this.removePKCS7Padding){return Object(n["removePadding"])(r)}return r};t.reset=function e(){this.currentResult=null;this.currentIV=null;this.remainderData=null;if(this.softwareDecrypter){this.softwareDecrypter=null}};t.decrypt=function e(t,r,i,a){if(this.config.enableSoftwareAES){this.softwareDecrypt(new Uint8Array(t),r,i);var n=this.flush();if(n){a(n.buffer)}}else{this.webCryptoDecrypt(new Uint8Array(t),r,i).then(a)}};t.softwareDecrypt=function e(t,r,i){var a=this.currentIV,s=this.currentResult,u=this.remainderData;this.logOnce("JS AES decrypt");if(u){t=Object(o["appendUint8Array"])(u,t);this.remainderData=null}var f=this.getValidChunk(t);if(!f.length){return null}if(a){i=a}var d=this.softwareDecrypter;if(!d){d=this.softwareDecrypter=new n["default"]}d.expandKey(r);var c=s;this.currentResult=d.decrypt(f.buffer,0,i);this.currentIV=Object(l["sliceUint8"])(f,-16).buffer;if(!c){return null}return c};t.webCryptoDecrypt=function e(t,r,n){var s=this;var o=this.subtle;if(this.key!==r||!this.fastAesKey){this.key=r;this.fastAesKey=new a["default"](o,r)}return this.fastAesKey.expandKey().then((function(e){if(!o){return Promise.reject(new Error("web crypto not initialized"))}var r=new i["default"](o,n);return r.decrypt(t.buffer,e)})).catch((function(e){return s.onWebCryptoError(e,t,r,n)}))};t.onWebCryptoError=function e(t,r,i,a){s["logger"].warn("[decrypter.ts]: WebCrypto Error, disable WebCrypto API:",t);this.config.enableSoftwareAES=true;this.logEnabled=true;return this.softwareDecrypt(r,i,a)};t.getValidChunk=function e(t){var r=t;var i=t.length-t.length%u;if(i!==t.length){r=Object(l["sliceUint8"])(t,0,i);this.remainderData=Object(l["sliceUint8"])(t,i)}return r};t.logOnce=function e(t){if(!this.logEnabled){return}s["logger"].log("[decrypter.ts]: "+t);this.logEnabled=false};return e}()},"./src/crypt/fast-aes-key.ts":
118
118
  /*!***********************************!*\
119
119
  !*** ./src/crypt/fast-aes-key.ts ***!
120
120
  \***********************************/
@@ -126,11 +126,11 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
126
126
  /*!***************************!*\
127
127
  !*** ./src/demux/adts.ts ***!
128
128
  \***************************/
129
- /*! exports provided: getAudioConfig, isHeaderPattern, getHeaderLength, getFullFrameLength, canGetFrameLength, isHeader, canParse, probe, initTrackConfig, getFrameDuration, parseFrameHeader, appendFrame */function(e,t,r){r.r(t);r.d(t,"getAudioConfig",(function(){return s}));r.d(t,"isHeaderPattern",(function(){return o}));r.d(t,"getHeaderLength",(function(){return l}));r.d(t,"getFullFrameLength",(function(){return u}));r.d(t,"canGetFrameLength",(function(){return f}));r.d(t,"isHeader",(function(){return c}));r.d(t,"canParse",(function(){return d}));r.d(t,"probe",(function(){return h}));r.d(t,"initTrackConfig",(function(){return v}));r.d(t,"getFrameDuration",(function(){return g}));r.d(t,"parseFrameHeader",(function(){return p}));r.d(t,"appendFrame",(function(){return m}));var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../events */"./src/events.ts");function s(e,t,r,s){var o;var l;var u;var f;var c=navigator.userAgent.toLowerCase();var d=s;var h=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];o=((t[r+2]&192)>>>6)+1;var v=(t[r+2]&60)>>>2;if(v>h.length-1){e.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].FRAG_PARSING_ERROR,fatal:true,reason:"invalid ADTS sampling index:"+v});return}u=(t[r+2]&1)<<2;u|=(t[r+3]&192)>>>6;i["logger"].log("manifest codec:"+s+", ADTS type:"+o+", samplingIndex:"+v);if(/firefox/i.test(c)){if(v>=6){o=5;f=new Array(4);l=v-3}else{o=2;f=new Array(2);l=v}}else if(c.indexOf("android")!==-1){o=2;f=new Array(2);l=v}else{o=5;f=new Array(4);if(s&&(s.indexOf("mp4a.40.29")!==-1||s.indexOf("mp4a.40.5")!==-1)||!s&&v>=6){l=v-3}else{if(s&&s.indexOf("mp4a.40.2")!==-1&&(v>=6&&u===1||/vivaldi/i.test(c))||!s&&u===1){o=2;f=new Array(2)}l=v}}f[0]=o<<3;f[0]|=(v&14)>>1;f[1]|=(v&1)<<7;f[1]|=u<<3;if(o===5){f[1]|=(l&14)>>1;f[2]=(l&1)<<7;f[2]|=2<<2;f[3]=0}return{config:f,samplerate:h[v],channelCount:u,codec:"mp4a.40."+o,manifestCodec:d}}function o(e,t){return e[t]===255&&(e[t+1]&246)===240}function l(e,t){return e[t+1]&1?7:9}function u(e,t){return(e[t+3]&3)<<11|e[t+4]<<3|(e[t+5]&224)>>>5}function f(e,t){return t+5<e.length}function c(e,t){return t+1<e.length&&o(e,t)}function d(e,t){return f(e,t)&&o(e,t)&&u(e,t)<=e.length-t}function h(e,t){if(c(e,t)){var r=l(e,t);if(t+r>=e.length){return false}var i=u(e,t);if(i<=r){return false}var a=t+i;return a===e.length||c(e,a)}return false}function v(e,t,r,a,n){if(!e.samplerate){var o=s(t,r,a,n);if(!o){return}e.config=o.config;e.samplerate=o.samplerate;e.channelCount=o.channelCount;e.codec=o.codec;e.manifestCodec=o.manifestCodec;i["logger"].log("parsed codec:"+e.codec+", rate:"+o.samplerate+", channels:"+o.channelCount)}}function g(e){return 1024*9e4/e}function p(e,t,r,i,a){var n=l(e,t);var s=u(e,t);s-=n;if(s>0){var o=r+i*a;return{headerLength:n,frameLength:s,stamp:o}}}function m(e,t,r,i,a){var n=g(e.samplerate);var s=p(t,r,i,a,n);if(s){var o=s.frameLength,l=s.headerLength,u=s.stamp;var f=l+o;var c=Math.max(0,r+f-t.length);var d;if(c){d=new Uint8Array(f-l);d.set(t.subarray(r+l,t.length),0)}else{d=t.subarray(r+l,r+f)}var h={unit:d,pts:u};if(!c){e.samples.push(h)}return{sample:h,length:f,missing:c}}}},"./src/demux/base-audio-demuxer.ts":
129
+ /*! exports provided: getAudioConfig, isHeaderPattern, getHeaderLength, getFullFrameLength, canGetFrameLength, isHeader, canParse, probe, initTrackConfig, getFrameDuration, parseFrameHeader, appendFrame */function(e,t,r){r.r(t);r.d(t,"getAudioConfig",(function(){return s}));r.d(t,"isHeaderPattern",(function(){return o}));r.d(t,"getHeaderLength",(function(){return l}));r.d(t,"getFullFrameLength",(function(){return u}));r.d(t,"canGetFrameLength",(function(){return f}));r.d(t,"isHeader",(function(){return d}));r.d(t,"canParse",(function(){return c}));r.d(t,"probe",(function(){return h}));r.d(t,"initTrackConfig",(function(){return v}));r.d(t,"getFrameDuration",(function(){return g}));r.d(t,"parseFrameHeader",(function(){return p}));r.d(t,"appendFrame",(function(){return m}));var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../events */"./src/events.ts");function s(e,t,r,s){var o;var l;var u;var f;var d=navigator.userAgent.toLowerCase();var c=s;var h=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];o=((t[r+2]&192)>>>6)+1;var v=(t[r+2]&60)>>>2;if(v>h.length-1){e.trigger(n["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].FRAG_PARSING_ERROR,fatal:true,reason:"invalid ADTS sampling index:"+v});return}u=(t[r+2]&1)<<2;u|=(t[r+3]&192)>>>6;i["logger"].log("manifest codec:"+s+", ADTS type:"+o+", samplingIndex:"+v);if(/firefox/i.test(d)){if(v>=6){o=5;f=new Array(4);l=v-3}else{o=2;f=new Array(2);l=v}}else if(d.indexOf("android")!==-1){o=2;f=new Array(2);l=v}else{o=5;f=new Array(4);if(s&&(s.indexOf("mp4a.40.29")!==-1||s.indexOf("mp4a.40.5")!==-1)||!s&&v>=6){l=v-3}else{if(s&&s.indexOf("mp4a.40.2")!==-1&&(v>=6&&u===1||/vivaldi/i.test(d))||!s&&u===1){o=2;f=new Array(2)}l=v}}f[0]=o<<3;f[0]|=(v&14)>>1;f[1]|=(v&1)<<7;f[1]|=u<<3;if(o===5){f[1]|=(l&14)>>1;f[2]=(l&1)<<7;f[2]|=2<<2;f[3]=0}return{config:f,samplerate:h[v],channelCount:u,codec:"mp4a.40."+o,manifestCodec:c}}function o(e,t){return e[t]===255&&(e[t+1]&246)===240}function l(e,t){return e[t+1]&1?7:9}function u(e,t){return(e[t+3]&3)<<11|e[t+4]<<3|(e[t+5]&224)>>>5}function f(e,t){return t+5<e.length}function d(e,t){return t+1<e.length&&o(e,t)}function c(e,t){return f(e,t)&&o(e,t)&&u(e,t)<=e.length-t}function h(e,t){if(d(e,t)){var r=l(e,t);if(t+r>=e.length){return false}var i=u(e,t);if(i<=r){return false}var a=t+i;return a===e.length||d(e,a)}return false}function v(e,t,r,a,n){if(!e.samplerate){var o=s(t,r,a,n);if(!o){return}e.config=o.config;e.samplerate=o.samplerate;e.channelCount=o.channelCount;e.codec=o.codec;e.manifestCodec=o.manifestCodec;i["logger"].log("parsed codec:"+e.codec+", rate:"+o.samplerate+", channels:"+o.channelCount)}}function g(e){return 1024*9e4/e}function p(e,t,r,i,a){var n=l(e,t);var s=u(e,t);s-=n;if(s>0){var o=r+i*a;return{headerLength:n,frameLength:s,stamp:o}}}function m(e,t,r,i,a){var n=g(e.samplerate);var s=p(t,r,i,a,n);if(s){var o=s.frameLength,l=s.headerLength,u=s.stamp;var f=l+o;var d=Math.max(0,r+f-t.length);var c;if(d){c=new Uint8Array(f-l);c.set(t.subarray(r+l,t.length),0)}else{c=t.subarray(r+l,r+f)}var h={unit:c,pts:u};if(!d){e.samples.push(h)}return{sample:h,length:f,missing:d}}}},"./src/demux/base-audio-demuxer.ts":
130
130
  /*!*****************************************!*\
131
131
  !*** ./src/demux/base-audio-demuxer.ts ***!
132
132
  \*****************************************/
133
- /*! exports provided: initPTSFn, default */function(e,t,r){r.r(t);r.d(t,"initPTSFn",(function(){return u}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../demux/id3 */"./src/demux/id3.ts");var n=r(/*! ./dummy-demuxed-track */"./src/demux/dummy-demuxed-track.ts");var s=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var o=r(/*! ../utils/typed-array */"./src/utils/typed-array.ts");var l=function(){function e(){this._audioTrack=void 0;this._id3Track=void 0;this.frameIndex=0;this.cachedData=null;this.initPTS=null}var t=e.prototype;t.resetInitSegment=function e(t,r,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}};t.resetTimeStamp=function e(){};t.resetContiguity=function e(){};t.canParse=function e(t,r){return false};t.appendFrame=function e(t,r,i){};t.demux=function e(t,r){if(this.cachedData){t=Object(s["appendUint8Array"])(this.cachedData,t);this.cachedData=null}var i=a["getID3Data"](t,0);var l=i?i.length:0;var f;var c;var d=this._audioTrack;var h=this._id3Track;var v=i?a["getTimeStamp"](i):undefined;var g=t.length;if(this.frameIndex===0||this.initPTS===null){this.initPTS=u(v,r)}if(i&&i.length>0){h.samples.push({pts:this.initPTS,dts:this.initPTS,data:i})}c=this.initPTS;while(l<g){if(this.canParse(t,l)){var p=this.appendFrame(d,t,l);if(p){this.frameIndex++;c=p.sample.pts;l+=p.length;f=l}else{l=g}}else if(a["canParse"](t,l)){i=a["getID3Data"](t,l);h.samples.push({pts:c,dts:c,data:i});l+=i.length;f=l}else{l++}if(l===g&&f!==g){var m=Object(o["sliceUint8"])(t,f);if(this.cachedData){this.cachedData=Object(s["appendUint8Array"])(this.cachedData,m)}else{this.cachedData=m}}}return{audioTrack:d,avcTrack:Object(n["dummyTrack"])(),id3Track:h,textTrack:Object(n["dummyTrack"])()}};t.demuxSampleAes=function e(t,r,i){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))};t.flush=function e(t){var r=this.cachedData;if(r){this.cachedData=null;this.demux(r,0)}this.frameIndex=0;return{audioTrack:this._audioTrack,avcTrack:Object(n["dummyTrack"])(),id3Track:this._id3Track,textTrack:Object(n["dummyTrack"])()}};t.destroy=function e(){};return e}();var u=function e(t,r){return Object(i["isFiniteNumber"])(t)?t*90:r*9e4};t["default"]=l},"./src/demux/chunk-cache.ts":
133
+ /*! exports provided: initPTSFn, default */function(e,t,r){r.r(t);r.d(t,"initPTSFn",(function(){return u}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../demux/id3 */"./src/demux/id3.ts");var n=r(/*! ./dummy-demuxed-track */"./src/demux/dummy-demuxed-track.ts");var s=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var o=r(/*! ../utils/typed-array */"./src/utils/typed-array.ts");var l=function(){function e(){this._audioTrack=void 0;this._id3Track=void 0;this.frameIndex=0;this.cachedData=null;this.initPTS=null}var t=e.prototype;t.resetInitSegment=function e(t,r,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}};t.resetTimeStamp=function e(){};t.resetContiguity=function e(){};t.canParse=function e(t,r){return false};t.appendFrame=function e(t,r,i){};t.demux=function e(t,r){if(this.cachedData){t=Object(s["appendUint8Array"])(this.cachedData,t);this.cachedData=null}var i=a["getID3Data"](t,0);var l=i?i.length:0;var f;var d;var c=this._audioTrack;var h=this._id3Track;var v=i?a["getTimeStamp"](i):undefined;var g=t.length;if(this.frameIndex===0||this.initPTS===null){this.initPTS=u(v,r)}if(i&&i.length>0){h.samples.push({pts:this.initPTS,dts:this.initPTS,data:i})}d=this.initPTS;while(l<g){if(this.canParse(t,l)){var p=this.appendFrame(c,t,l);if(p){this.frameIndex++;d=p.sample.pts;l+=p.length;f=l}else{l=g}}else if(a["canParse"](t,l)){i=a["getID3Data"](t,l);h.samples.push({pts:d,dts:d,data:i});l+=i.length;f=l}else{l++}if(l===g&&f!==g){var m=Object(o["sliceUint8"])(t,f);if(this.cachedData){this.cachedData=Object(s["appendUint8Array"])(this.cachedData,m)}else{this.cachedData=m}}}return{audioTrack:c,avcTrack:Object(n["dummyTrack"])(),id3Track:h,textTrack:Object(n["dummyTrack"])()}};t.demuxSampleAes=function e(t,r,i){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))};t.flush=function e(t){var r=this.cachedData;if(r){this.cachedData=null;this.demux(r,0)}this.frameIndex=0;return{audioTrack:this._audioTrack,avcTrack:Object(n["dummyTrack"])(),id3Track:this._id3Track,textTrack:Object(n["dummyTrack"])()}};t.destroy=function e(){};return e}();var u=function e(t,r){return Object(i["isFiniteNumber"])(t)?t*90:r*9e4};t["default"]=l},"./src/demux/chunk-cache.ts":
134
134
  /*!**********************************!*\
135
135
  !*** ./src/demux/chunk-cache.ts ***!
136
136
  \**********************************/
@@ -142,11 +142,11 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
142
142
  /*!*********************************!*\
143
143
  !*** ./src/demux/exp-golomb.ts ***!
144
144
  \*********************************/
145
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a=function(){function e(e){this.data=void 0;this.bytesAvailable=void 0;this.word=void 0;this.bitsAvailable=void 0;this.data=e;this.bytesAvailable=e.byteLength;this.word=0;this.bitsAvailable=0}var t=e.prototype;t.loadWord=function e(){var t=this.data;var r=this.bytesAvailable;var i=t.byteLength-r;var a=new Uint8Array(4);var n=Math.min(4,r);if(n===0){throw new Error("no bytes available")}a.set(t.subarray(i,i+n));this.word=new DataView(a.buffer).getUint32(0);this.bitsAvailable=n*8;this.bytesAvailable-=n};t.skipBits=function e(t){var r;if(this.bitsAvailable>t){this.word<<=t;this.bitsAvailable-=t}else{t-=this.bitsAvailable;r=t>>3;t-=r>>3;this.bytesAvailable-=r;this.loadWord();this.word<<=t;this.bitsAvailable-=t}};t.readBits=function e(t){var r=Math.min(this.bitsAvailable,t);var a=this.word>>>32-r;if(t>32){i["logger"].error("Cannot read more than 32 bits at a time")}this.bitsAvailable-=r;if(this.bitsAvailable>0){this.word<<=r}else if(this.bytesAvailable>0){this.loadWord()}r=t-r;if(r>0&&this.bitsAvailable){return a<<r|this.readBits(r)}else{return a}};t.skipLZ=function e(){var t;for(t=0;t<this.bitsAvailable;++t){if((this.word&2147483648>>>t)!==0){this.word<<=t;this.bitsAvailable-=t;return t}}this.loadWord();return t+this.skipLZ()};t.skipUEG=function e(){this.skipBits(1+this.skipLZ())};t.skipEG=function e(){this.skipBits(1+this.skipLZ())};t.readUEG=function e(){var t=this.skipLZ();return this.readBits(t+1)-1};t.readEG=function e(){var t=this.readUEG();if(1&t){return 1+t>>>1}else{return-1*(t>>>1)}};t.readBoolean=function e(){return this.readBits(1)===1};t.readUByte=function e(){return this.readBits(8)};t.readUShort=function e(){return this.readBits(16)};t.readUInt=function e(){return this.readBits(32)};t.skipScalingList=function e(t){var r=8;var i=8;var a;for(var n=0;n<t;n++){if(i!==0){a=this.readEG();i=(r+a+256)%256}r=i===0?r:i}};t.readSPS=function e(){var t=0;var r=0;var i=0;var a=0;var n;var s;var o;var l=this.readUByte.bind(this);var u=this.readBits.bind(this);var f=this.readUEG.bind(this);var c=this.readBoolean.bind(this);var d=this.skipBits.bind(this);var h=this.skipEG.bind(this);var v=this.skipUEG.bind(this);var g=this.skipScalingList.bind(this);l();var p=l();u(5);d(3);l();v();if(p===100||p===110||p===122||p===244||p===44||p===83||p===86||p===118||p===128){var m=f();if(m===3){d(1)}v();v();d(1);if(c()){s=m!==3?8:12;for(o=0;o<s;o++){if(c()){if(o<6){g(16)}else{g(64)}}}}}v();var y=f();if(y===0){f()}else if(y===1){d(1);h();h();n=f();for(o=0;o<n;o++){h()}}v();d(1);var E=f();var T=f();var b=u(1);if(b===0){d(1)}d(1);if(c()){t=f();r=f();i=f();a=f()}var S=[1,1];if(c()){if(c()){var A=l();switch(A){case 1:S=[1,1];break;case 2:S=[12,11];break;case 3:S=[10,11];break;case 4:S=[16,11];break;case 5:S=[40,33];break;case 6:S=[24,11];break;case 7:S=[20,11];break;case 8:S=[32,11];break;case 9:S=[80,33];break;case 10:S=[18,11];break;case 11:S=[15,11];break;case 12:S=[64,33];break;case 13:S=[160,99];break;case 14:S=[4,3];break;case 15:S=[3,2];break;case 16:S=[2,1];break;case 255:{S=[l()<<8|l(),l()<<8|l()];break}}}}return{width:Math.ceil((E+1)*16-t*2-r*2),height:(2-b)*(T+1)*16-(b?2:4)*(i+a),pixelRatio:S}};t.readSliceType=function e(){this.readUByte();this.readUEG();return this.readUEG()};return e}();t["default"]=a},"./src/demux/id3.ts":
145
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a=function(){function e(e){this.data=void 0;this.bytesAvailable=void 0;this.word=void 0;this.bitsAvailable=void 0;this.data=e;this.bytesAvailable=e.byteLength;this.word=0;this.bitsAvailable=0}var t=e.prototype;t.loadWord=function e(){var t=this.data;var r=this.bytesAvailable;var i=t.byteLength-r;var a=new Uint8Array(4);var n=Math.min(4,r);if(n===0){throw new Error("no bytes available")}a.set(t.subarray(i,i+n));this.word=new DataView(a.buffer).getUint32(0);this.bitsAvailable=n*8;this.bytesAvailable-=n};t.skipBits=function e(t){var r;if(this.bitsAvailable>t){this.word<<=t;this.bitsAvailable-=t}else{t-=this.bitsAvailable;r=t>>3;t-=r>>3;this.bytesAvailable-=r;this.loadWord();this.word<<=t;this.bitsAvailable-=t}};t.readBits=function e(t){var r=Math.min(this.bitsAvailable,t);var a=this.word>>>32-r;if(t>32){i["logger"].error("Cannot read more than 32 bits at a time")}this.bitsAvailable-=r;if(this.bitsAvailable>0){this.word<<=r}else if(this.bytesAvailable>0){this.loadWord()}r=t-r;if(r>0&&this.bitsAvailable){return a<<r|this.readBits(r)}else{return a}};t.skipLZ=function e(){var t;for(t=0;t<this.bitsAvailable;++t){if((this.word&2147483648>>>t)!==0){this.word<<=t;this.bitsAvailable-=t;return t}}this.loadWord();return t+this.skipLZ()};t.skipUEG=function e(){this.skipBits(1+this.skipLZ())};t.skipEG=function e(){this.skipBits(1+this.skipLZ())};t.readUEG=function e(){var t=this.skipLZ();return this.readBits(t+1)-1};t.readEG=function e(){var t=this.readUEG();if(1&t){return 1+t>>>1}else{return-1*(t>>>1)}};t.readBoolean=function e(){return this.readBits(1)===1};t.readUByte=function e(){return this.readBits(8)};t.readUShort=function e(){return this.readBits(16)};t.readUInt=function e(){return this.readBits(32)};t.skipScalingList=function e(t){var r=8;var i=8;var a;for(var n=0;n<t;n++){if(i!==0){a=this.readEG();i=(r+a+256)%256}r=i===0?r:i}};t.readSPS=function e(){var t=0;var r=0;var i=0;var a=0;var n;var s;var o;var l=this.readUByte.bind(this);var u=this.readBits.bind(this);var f=this.readUEG.bind(this);var d=this.readBoolean.bind(this);var c=this.skipBits.bind(this);var h=this.skipEG.bind(this);var v=this.skipUEG.bind(this);var g=this.skipScalingList.bind(this);l();var p=l();u(5);c(3);l();v();if(p===100||p===110||p===122||p===244||p===44||p===83||p===86||p===118||p===128){var m=f();if(m===3){c(1)}v();v();c(1);if(d()){s=m!==3?8:12;for(o=0;o<s;o++){if(d()){if(o<6){g(16)}else{g(64)}}}}}v();var y=f();if(y===0){f()}else if(y===1){c(1);h();h();n=f();for(o=0;o<n;o++){h()}}v();c(1);var E=f();var T=f();var b=u(1);if(b===0){c(1)}c(1);if(d()){t=f();r=f();i=f();a=f()}var S=[1,1];if(d()){if(d()){var A=l();switch(A){case 1:S=[1,1];break;case 2:S=[12,11];break;case 3:S=[10,11];break;case 4:S=[16,11];break;case 5:S=[40,33];break;case 6:S=[24,11];break;case 7:S=[20,11];break;case 8:S=[32,11];break;case 9:S=[80,33];break;case 10:S=[18,11];break;case 11:S=[15,11];break;case 12:S=[64,33];break;case 13:S=[160,99];break;case 14:S=[4,3];break;case 15:S=[3,2];break;case 16:S=[2,1];break;case 255:{S=[l()<<8|l(),l()<<8|l()];break}}}}return{width:Math.ceil((E+1)*16-t*2-r*2),height:(2-b)*(T+1)*16-(b?2:4)*(i+a),pixelRatio:S}};t.readSliceType=function e(){this.readUByte();this.readUEG();return this.readUEG()};return e}();t["default"]=a},"./src/demux/id3.ts":
146
146
  /*!**************************!*\
147
147
  !*** ./src/demux/id3.ts ***!
148
148
  \**************************/
149
- /*! exports provided: isHeader, isFooter, getID3Data, canParse, getTimeStamp, isTimeStampFrame, getID3Frames, decodeFrame, utf8ArrayToStr, testables */function(e,t,r){r.r(t);r.d(t,"isHeader",(function(){return i}));r.d(t,"isFooter",(function(){return a}));r.d(t,"getID3Data",(function(){return n}));r.d(t,"canParse",(function(){return o}));r.d(t,"getTimeStamp",(function(){return l}));r.d(t,"isTimeStampFrame",(function(){return u}));r.d(t,"getID3Frames",(function(){return c}));r.d(t,"decodeFrame",(function(){return d}));r.d(t,"utf8ArrayToStr",(function(){return m}));r.d(t,"testables",(function(){return y}));var i=function e(t,r){if(r+10<=t.length){if(t[r]===73&&t[r+1]===68&&t[r+2]===51){if(t[r+3]<255&&t[r+4]<255){if(t[r+6]<128&&t[r+7]<128&&t[r+8]<128&&t[r+9]<128){return true}}}}return false};var a=function e(t,r){if(r+10<=t.length){if(t[r]===51&&t[r+1]===68&&t[r+2]===73){if(t[r+3]<255&&t[r+4]<255){if(t[r+6]<128&&t[r+7]<128&&t[r+8]<128&&t[r+9]<128){return true}}}}return false};var n=function e(t,r){var n=r;var o=0;while(i(t,r)){o+=10;var l=s(t,r+6);o+=l;if(a(t,r+10)){o+=10}r+=o}if(o>0){return t.subarray(n,n+o)}return undefined};var s=function e(t,r){var i=0;i=(t[r]&127)<<21;i|=(t[r+1]&127)<<14;i|=(t[r+2]&127)<<7;i|=t[r+3]&127;return i};var o=function e(t,r){return i(t,r)&&s(t,r+6)+10<=t.length-r};var l=function e(t){var r=c(t);for(var i=0;i<r.length;i++){var a=r[i];if(u(a)){return p(a)}}return undefined};var u=function e(t){return t&&t.key==="PRIV"&&t.info==="com.apple.streaming.transportStreamTimestamp"};var f=function e(t){var r=String.fromCharCode(t[0],t[1],t[2],t[3]);var i=s(t,4);var a=10;return{type:r,size:i,data:t.subarray(a,a+i)}};var c=function e(t){var r=0;var n=[];while(i(t,r)){var o=s(t,r+6);r+=10;var l=r+o;while(r+8<l){var u=f(t.subarray(r));var c=d(u);if(c){n.push(c)}r+=u.size+10}if(a(t,r)){r+=10}}return n};var d=function e(t){if(t.type==="PRIV"){return h(t)}else if(t.type[0]==="W"){return g(t)}return v(t)};var h=function e(t){if(t.size<2){return undefined}var r=m(t.data,true);var i=new Uint8Array(t.data.subarray(r.length+1));return{key:t.type,info:r,data:i.buffer}};var v=function e(t){if(t.size<2){return undefined}if(t.type==="TXXX"){var r=1;var i=m(t.data.subarray(r),true);r+=i.length+1;var a=m(t.data.subarray(r));return{key:t.type,info:i,data:a}}var n=m(t.data.subarray(1));return{key:t.type,data:n}};var g=function e(t){if(t.type==="WXXX"){if(t.size<2){return undefined}var r=1;var i=m(t.data.subarray(r),true);r+=i.length+1;var a=m(t.data.subarray(r));return{key:t.type,info:i,data:a}}var n=m(t.data);return{key:t.type,data:n}};var p=function e(t){if(t.data.byteLength===8){var r=new Uint8Array(t.data);var i=r[3]&1;var a=(r[4]<<23)+(r[5]<<15)+(r[6]<<7)+r[7];a/=45;if(i){a+=47721858.84}return Math.round(a)}return undefined};var m=function e(t,r){if(r===void 0){r=false}var i=T();if(i){var a=i.decode(t);if(r){var n=a.indexOf("\0");return n!==-1?a.substring(0,n):a}return a.replace(/\0/g,"")}var s=t.length;var o;var l;var u;var f="";var c=0;while(c<s){o=t[c++];if(o===0&&r){return f}else if(o===0||o===3){continue}switch(o>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:f+=String.fromCharCode(o);break;case 12:case 13:l=t[c++];f+=String.fromCharCode((o&31)<<6|l&63);break;case 14:l=t[c++];u=t[c++];f+=String.fromCharCode((o&15)<<12|(l&63)<<6|(u&63)<<0);break}}return f};var y={decodeTextFrame:v};var E;function T(){if(!E&&typeof self.TextDecoder!=="undefined"){E=new self.TextDecoder("utf-8")}return E}},"./src/demux/mp3demuxer.ts":
149
+ /*! exports provided: isHeader, isFooter, getID3Data, canParse, getTimeStamp, isTimeStampFrame, getID3Frames, decodeFrame, utf8ArrayToStr, testables */function(e,t,r){r.r(t);r.d(t,"isHeader",(function(){return i}));r.d(t,"isFooter",(function(){return a}));r.d(t,"getID3Data",(function(){return n}));r.d(t,"canParse",(function(){return o}));r.d(t,"getTimeStamp",(function(){return l}));r.d(t,"isTimeStampFrame",(function(){return u}));r.d(t,"getID3Frames",(function(){return d}));r.d(t,"decodeFrame",(function(){return c}));r.d(t,"utf8ArrayToStr",(function(){return m}));r.d(t,"testables",(function(){return y}));var i=function e(t,r){if(r+10<=t.length){if(t[r]===73&&t[r+1]===68&&t[r+2]===51){if(t[r+3]<255&&t[r+4]<255){if(t[r+6]<128&&t[r+7]<128&&t[r+8]<128&&t[r+9]<128){return true}}}}return false};var a=function e(t,r){if(r+10<=t.length){if(t[r]===51&&t[r+1]===68&&t[r+2]===73){if(t[r+3]<255&&t[r+4]<255){if(t[r+6]<128&&t[r+7]<128&&t[r+8]<128&&t[r+9]<128){return true}}}}return false};var n=function e(t,r){var n=r;var o=0;while(i(t,r)){o+=10;var l=s(t,r+6);o+=l;if(a(t,r+10)){o+=10}r+=o}if(o>0){return t.subarray(n,n+o)}return undefined};var s=function e(t,r){var i=0;i=(t[r]&127)<<21;i|=(t[r+1]&127)<<14;i|=(t[r+2]&127)<<7;i|=t[r+3]&127;return i};var o=function e(t,r){return i(t,r)&&s(t,r+6)+10<=t.length-r};var l=function e(t){var r=d(t);for(var i=0;i<r.length;i++){var a=r[i];if(u(a)){return p(a)}}return undefined};var u=function e(t){return t&&t.key==="PRIV"&&t.info==="com.apple.streaming.transportStreamTimestamp"};var f=function e(t){var r=String.fromCharCode(t[0],t[1],t[2],t[3]);var i=s(t,4);var a=10;return{type:r,size:i,data:t.subarray(a,a+i)}};var d=function e(t){var r=0;var n=[];while(i(t,r)){var o=s(t,r+6);r+=10;var l=r+o;while(r+8<l){var u=f(t.subarray(r));var d=c(u);if(d){n.push(d)}r+=u.size+10}if(a(t,r)){r+=10}}return n};var c=function e(t){if(t.type==="PRIV"){return h(t)}else if(t.type[0]==="W"){return g(t)}return v(t)};var h=function e(t){if(t.size<2){return undefined}var r=m(t.data,true);var i=new Uint8Array(t.data.subarray(r.length+1));return{key:t.type,info:r,data:i.buffer}};var v=function e(t){if(t.size<2){return undefined}if(t.type==="TXXX"){var r=1;var i=m(t.data.subarray(r),true);r+=i.length+1;var a=m(t.data.subarray(r));return{key:t.type,info:i,data:a}}var n=m(t.data.subarray(1));return{key:t.type,data:n}};var g=function e(t){if(t.type==="WXXX"){if(t.size<2){return undefined}var r=1;var i=m(t.data.subarray(r),true);r+=i.length+1;var a=m(t.data.subarray(r));return{key:t.type,info:i,data:a}}var n=m(t.data);return{key:t.type,data:n}};var p=function e(t){if(t.data.byteLength===8){var r=new Uint8Array(t.data);var i=r[3]&1;var a=(r[4]<<23)+(r[5]<<15)+(r[6]<<7)+r[7];a/=45;if(i){a+=47721858.84}return Math.round(a)}return undefined};var m=function e(t,r){if(r===void 0){r=false}var i=T();if(i){var a=i.decode(t);if(r){var n=a.indexOf("\0");return n!==-1?a.substring(0,n):a}return a.replace(/\0/g,"")}var s=t.length;var o;var l;var u;var f="";var d=0;while(d<s){o=t[d++];if(o===0&&r){return f}else if(o===0||o===3){continue}switch(o>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:f+=String.fromCharCode(o);break;case 12:case 13:l=t[d++];f+=String.fromCharCode((o&31)<<6|l&63);break;case 14:l=t[d++];u=t[d++];f+=String.fromCharCode((o&15)<<12|(l&63)<<6|(u&63)<<0);break}}return f};var y={decodeTextFrame:v};var E;function T(){if(!E&&typeof self.TextDecoder!=="undefined"){E=new self.TextDecoder("utf-8")}return E}},"./src/demux/mp3demuxer.ts":
150
150
  /*!*********************************!*\
151
151
  !*** ./src/demux/mp3demuxer.ts ***!
152
152
  \*********************************/
@@ -158,7 +158,7 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
158
158
  /*!********************************!*\
159
159
  !*** ./src/demux/mpegaudio.ts ***!
160
160
  \********************************/
161
- /*! exports provided: appendFrame, parseHeader, isHeaderPattern, isHeader, canParse, probe */function(e,t,r){r.r(t);r.d(t,"appendFrame",(function(){return l}));r.d(t,"parseHeader",(function(){return u}));r.d(t,"isHeaderPattern",(function(){return f}));r.d(t,"isHeader",(function(){return c}));r.d(t,"canParse",(function(){return d}));r.d(t,"probe",(function(){return h}));var i=null;var a=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160];var n=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3];var s=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]];var o=[0,1,1,4];function l(e,t,r,i,a){if(r+24>t.length){return}var n=u(t,r);if(n&&r+n.frameLength<=t.length){var s=n.samplesPerFrame*9e4/n.sampleRate;var o=i+a*s;var l={unit:t.subarray(r,r+n.frameLength),pts:o,dts:o};e.config=[];e.channelCount=n.channelCount;e.samplerate=n.sampleRate;e.samples.push(l);return{sample:l,length:n.frameLength,missing:0}}}function u(e,t){var r=e[t+1]>>3&3;var l=e[t+1]>>1&3;var u=e[t+2]>>4&15;var f=e[t+2]>>2&3;if(r!==1&&u!==0&&u!==15&&f!==3){var c=e[t+2]>>1&1;var d=e[t+3]>>6;var h=r===3?3-l:l===3?3:4;var v=a[h*14+u-1]*1e3;var g=r===3?0:r===2?1:2;var p=n[g*3+f];var m=d===3?1:2;var y=s[r][l];var E=o[l];var T=y*8*E;var b=Math.floor(y*v/p+c)*E;if(i===null){var S=navigator.userAgent||"";var A=S.match(/Chrome\/(\d+)/i);i=A?parseInt(A[1]):0}var L=!!i&&i<=87;if(L&&l===2&&v>=224e3&&d===0){e[t+3]=e[t+3]|128}return{sampleRate:p,channelCount:m,frameLength:b,samplesPerFrame:T}}}function f(e,t){return e[t]===255&&(e[t+1]&224)===224&&(e[t+1]&6)!==0}function c(e,t){return t+1<e.length&&f(e,t)}function d(e,t){var r=4;return f(e,t)&&r<=e.length-t}function h(e,t){if(t+1<e.length&&f(e,t)){var r=4;var i=u(e,t);var a=r;if(i!==null&&i!==void 0&&i.frameLength){a=i.frameLength}var n=t+a;return n===e.length||c(e,n)}return false}},"./src/demux/sample-aes.ts":
161
+ /*! exports provided: appendFrame, parseHeader, isHeaderPattern, isHeader, canParse, probe */function(e,t,r){r.r(t);r.d(t,"appendFrame",(function(){return l}));r.d(t,"parseHeader",(function(){return u}));r.d(t,"isHeaderPattern",(function(){return f}));r.d(t,"isHeader",(function(){return d}));r.d(t,"canParse",(function(){return c}));r.d(t,"probe",(function(){return h}));var i=null;var a=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160];var n=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3];var s=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]];var o=[0,1,1,4];function l(e,t,r,i,a){if(r+24>t.length){return}var n=u(t,r);if(n&&r+n.frameLength<=t.length){var s=n.samplesPerFrame*9e4/n.sampleRate;var o=i+a*s;var l={unit:t.subarray(r,r+n.frameLength),pts:o,dts:o};e.config=[];e.channelCount=n.channelCount;e.samplerate=n.sampleRate;e.samples.push(l);return{sample:l,length:n.frameLength,missing:0}}}function u(e,t){var r=e[t+1]>>3&3;var l=e[t+1]>>1&3;var u=e[t+2]>>4&15;var f=e[t+2]>>2&3;if(r!==1&&u!==0&&u!==15&&f!==3){var d=e[t+2]>>1&1;var c=e[t+3]>>6;var h=r===3?3-l:l===3?3:4;var v=a[h*14+u-1]*1e3;var g=r===3?0:r===2?1:2;var p=n[g*3+f];var m=c===3?1:2;var y=s[r][l];var E=o[l];var T=y*8*E;var b=Math.floor(y*v/p+d)*E;if(i===null){var S=navigator.userAgent||"";var A=S.match(/Chrome\/(\d+)/i);i=A?parseInt(A[1]):0}var L=!!i&&i<=87;if(L&&l===2&&v>=224e3&&c===0){e[t+3]=e[t+3]|128}return{sampleRate:p,channelCount:m,frameLength:b,samplesPerFrame:T}}}function f(e,t){return e[t]===255&&(e[t+1]&224)===224&&(e[t+1]&6)!==0}function d(e,t){return t+1<e.length&&f(e,t)}function c(e,t){var r=4;return f(e,t)&&r<=e.length-t}function h(e,t){if(t+1<e.length&&f(e,t)){var r=4;var i=u(e,t);var a=r;if(i!==null&&i!==void 0&&i.frameLength){a=i.frameLength}var n=t+a;return n===e.length||d(e,n)}return false}},"./src/demux/sample-aes.ts":
162
162
  /*!*********************************!*\
163
163
  !*** ./src/demux/sample-aes.ts ***!
164
164
  \*********************************/
@@ -166,19 +166,19 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
166
166
  /*!*******************************************!*\
167
167
  !*** ./src/demux/transmuxer-interface.ts ***!
168
168
  \*******************************************/
169
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return c}));var i=r(/*! webworkify-webpack */"./node_modules/webworkify-webpack/index.js");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../demux/transmuxer */"./src/demux/transmuxer.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=r(/*! ../utils/mediasource-helper */"./src/utils/mediasource-helper.ts");var u=r(/*! eventemitter3 */"./node_modules/eventemitter3/index.js");var f=Object(l["getMediaSource"])()||{isTypeSupported:function e(){return false}};var c=function(){function e(e,t,r,l){var c=this;this.hls=void 0;this.id=void 0;this.observer=void 0;this.frag=null;this.part=null;this.worker=void 0;this.onwmsg=void 0;this.transmuxer=null;this.onTransmuxComplete=void 0;this.onFlush=void 0;this.hls=e;this.id=t;this.onTransmuxComplete=r;this.onFlush=l;var d=e.config;var h=function t(r,i){i=i||{};i.frag=c.frag;i.id=c.id;e.trigger(r,i)};this.observer=new u["EventEmitter"];this.observer.on(a["Events"].FRAG_DECRYPTED,h);this.observer.on(a["Events"].ERROR,h);var v={mp4:f.isTypeSupported("video/mp4"),mpeg:f.isTypeSupported("audio/mpeg"),mp3:f.isTypeSupported('audio/mp4; codecs="mp3"')};var g=navigator.vendor;if(d.enableWorker&&typeof Worker!=="undefined"){s["logger"].log("demuxing in webworker");var p;try{p=this.worker=i(/*! ../demux/transmuxer-worker.ts */"./src/demux/transmuxer-worker.ts");this.onwmsg=this.onWorkerMessage.bind(this);p.addEventListener("message",this.onwmsg);p.onerror=function(t){e.trigger(a["Events"].ERROR,{type:o["ErrorTypes"].OTHER_ERROR,details:o["ErrorDetails"].INTERNAL_EXCEPTION,fatal:true,event:"demuxerWorker",error:new Error(t.message+" ("+t.filename+":"+t.lineno+")")})};p.postMessage({cmd:"init",typeSupported:v,vendor:g,id:t,config:JSON.stringify(d)})}catch(e){s["logger"].warn("Error in worker:",e);s["logger"].error("Error while initializing DemuxerWorker, fallback to inline");if(p){self.URL.revokeObjectURL(p.objectURL)}this.transmuxer=new n["default"](this.observer,v,d,g,t);this.worker=null}}else{this.transmuxer=new n["default"](this.observer,v,d,g,t)}}var t=e.prototype;t.destroy=function e(){var t=this.worker;if(t){t.removeEventListener("message",this.onwmsg);t.terminate();this.worker=null}else{var r=this.transmuxer;if(r){r.destroy();this.transmuxer=null}}var i=this.observer;if(i){i.removeAllListeners()}this.observer=null};t.push=function e(t,r,i,a,o,l,u,f,c,d){var h,v,g=this;c.transmuxing.start=self.performance.now();var p=this.transmuxer,m=this.worker;var y=l?l.start:o.start;var E=o.decryptdata;var T=this.frag;var b=!(T&&o.cc===T.cc);var S=!(T&&c.level===T.level);var A=T?c.sn-T.sn:-1;var L=this.part?c.part-this.part.index:1;var D=!S&&(A===1||A===0&&L===1);var k=self.performance.now();if(S||A||o.stats.parsing.start===0){o.stats.parsing.start=k}if(l&&(L||!D)){l.stats.parsing.start=k}var R=!(T&&((h=o.initSegment)===null||h===void 0?void 0:h.url)===((v=T.initSegment)===null||v===void 0?void 0:v.url));var I=new n["TransmuxState"](b,D,f,S,y,R);if(!D||b||R){s["logger"].log("[transmuxer-interface, "+o.type+"]: Starting new transmux session for sn: "+c.sn+" p: "+c.part+" level: "+c.level+" id: "+c.id+"\n discontinuity: "+b+"\n trackSwitch: "+S+"\n contiguous: "+D+"\n accurateTimeOffset: "+f+"\n timeOffset: "+y+"\n initSegmentChange: "+R);var C=new n["TransmuxConfig"](i,a,r,u,d);this.configureTransmuxer(C)}this.frag=o;this.part=l;if(m){m.postMessage({cmd:"demux",data:t,decryptdata:E,chunkMeta:c,state:I},t instanceof ArrayBuffer?[t]:[])}else if(p){var w=p.push(t,E,c,I);if(Object(n["isPromise"])(w)){w.then((function(e){g.handleTransmuxComplete(e)}))}else{this.handleTransmuxComplete(w)}}};t.flush=function e(t){var r=this;t.transmuxing.start=self.performance.now();var i=this.transmuxer,a=this.worker;if(a){a.postMessage({cmd:"flush",chunkMeta:t})}else if(i){var s=i.flush(t);if(Object(n["isPromise"])(s)){s.then((function(e){r.handleFlushResult(e,t)}))}else{this.handleFlushResult(s,t)}}};t.handleFlushResult=function e(t,r){var i=this;t.forEach((function(e){i.handleTransmuxComplete(e)}));this.onFlush(r)};t.onWorkerMessage=function e(t){var r=t.data;var i=this.hls;switch(r.event){case"init":{self.URL.revokeObjectURL(this.worker.objectURL);break}case"transmuxComplete":{this.handleTransmuxComplete(r.data);break}case"flush":{this.onFlush(r.data);break}default:{r.data=r.data||{};r.data.frag=this.frag;r.data.id=this.id;i.trigger(r.event,r.data);break}}};t.configureTransmuxer=function e(t){var r=this.worker,i=this.transmuxer;if(r){r.postMessage({cmd:"configure",config:t})}else if(i){i.configure(t)}};t.handleTransmuxComplete=function e(t){t.chunkMeta.transmuxing.end=self.performance.now();this.onTransmuxComplete(t)};return e}()},"./src/demux/transmuxer-worker.ts":
169
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return d}));var i=r(/*! webworkify-webpack */"./node_modules/webworkify-webpack/index.js");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../demux/transmuxer */"./src/demux/transmuxer.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=r(/*! ../utils/mediasource-helper */"./src/utils/mediasource-helper.ts");var u=r(/*! eventemitter3 */"./node_modules/eventemitter3/index.js");var f=Object(l["getMediaSource"])()||{isTypeSupported:function e(){return false}};var d=function(){function e(e,t,r,l){var d=this;this.hls=void 0;this.id=void 0;this.observer=void 0;this.frag=null;this.part=null;this.worker=void 0;this.onwmsg=void 0;this.transmuxer=null;this.onTransmuxComplete=void 0;this.onFlush=void 0;this.hls=e;this.id=t;this.onTransmuxComplete=r;this.onFlush=l;var c=e.config;var h=function t(r,i){i=i||{};i.frag=d.frag;i.id=d.id;e.trigger(r,i)};this.observer=new u["EventEmitter"];this.observer.on(a["Events"].FRAG_DECRYPTED,h);this.observer.on(a["Events"].ERROR,h);var v={mp4:f.isTypeSupported("video/mp4"),mpeg:f.isTypeSupported("audio/mpeg"),mp3:f.isTypeSupported('audio/mp4; codecs="mp3"')};var g=navigator.vendor;if(c.enableWorker&&typeof Worker!=="undefined"){s["logger"].log("demuxing in webworker");var p;try{p=this.worker=i(/*! ../demux/transmuxer-worker.ts */"./src/demux/transmuxer-worker.ts");this.onwmsg=this.onWorkerMessage.bind(this);p.addEventListener("message",this.onwmsg);p.onerror=function(t){e.trigger(a["Events"].ERROR,{type:o["ErrorTypes"].OTHER_ERROR,details:o["ErrorDetails"].INTERNAL_EXCEPTION,fatal:true,event:"demuxerWorker",error:new Error(t.message+" ("+t.filename+":"+t.lineno+")")})};p.postMessage({cmd:"init",typeSupported:v,vendor:g,id:t,config:JSON.stringify(c)})}catch(e){s["logger"].warn("Error in worker:",e);s["logger"].error("Error while initializing DemuxerWorker, fallback to inline");if(p){self.URL.revokeObjectURL(p.objectURL)}this.transmuxer=new n["default"](this.observer,v,c,g,t);this.worker=null}}else{this.transmuxer=new n["default"](this.observer,v,c,g,t)}}var t=e.prototype;t.destroy=function e(){var t=this.worker;if(t){t.removeEventListener("message",this.onwmsg);t.terminate();this.worker=null}else{var r=this.transmuxer;if(r){r.destroy();this.transmuxer=null}}var i=this.observer;if(i){i.removeAllListeners()}this.observer=null};t.push=function e(t,r,i,a,o,l,u,f,d,c){var h,v,g=this;d.transmuxing.start=self.performance.now();var p=this.transmuxer,m=this.worker;var y=l?l.start:o.start;var E=o.decryptdata;var T=this.frag;var b=!(T&&o.cc===T.cc);var S=!(T&&d.level===T.level);var A=T?d.sn-T.sn:-1;var L=this.part?d.part-this.part.index:1;var D=!S&&(A===1||A===0&&L===1);var k=self.performance.now();if(S||A||o.stats.parsing.start===0){o.stats.parsing.start=k}if(l&&(L||!D)){l.stats.parsing.start=k}var R=!(T&&((h=o.initSegment)===null||h===void 0?void 0:h.url)===((v=T.initSegment)===null||v===void 0?void 0:v.url));var I=new n["TransmuxState"](b,D,f,S,y,R);if(!D||b||R){s["logger"].log("[transmuxer-interface, "+o.type+"]: Starting new transmux session for sn: "+d.sn+" p: "+d.part+" level: "+d.level+" id: "+d.id+"\n discontinuity: "+b+"\n trackSwitch: "+S+"\n contiguous: "+D+"\n accurateTimeOffset: "+f+"\n timeOffset: "+y+"\n initSegmentChange: "+R);var C=new n["TransmuxConfig"](i,a,r,u,c);this.configureTransmuxer(C)}this.frag=o;this.part=l;if(m){m.postMessage({cmd:"demux",data:t,decryptdata:E,chunkMeta:d,state:I},t instanceof ArrayBuffer?[t]:[])}else if(p){var w=p.push(t,E,d,I);if(Object(n["isPromise"])(w)){w.then((function(e){g.handleTransmuxComplete(e)}))}else{this.handleTransmuxComplete(w)}}};t.flush=function e(t){var r=this;t.transmuxing.start=self.performance.now();var i=this.transmuxer,a=this.worker;if(a){a.postMessage({cmd:"flush",chunkMeta:t})}else if(i){var s=i.flush(t);if(Object(n["isPromise"])(s)){s.then((function(e){r.handleFlushResult(e,t)}))}else{this.handleFlushResult(s,t)}}};t.handleFlushResult=function e(t,r){var i=this;t.forEach((function(e){i.handleTransmuxComplete(e)}));this.onFlush(r)};t.onWorkerMessage=function e(t){var r=t.data;var i=this.hls;switch(r.event){case"init":{self.URL.revokeObjectURL(this.worker.objectURL);break}case"transmuxComplete":{this.handleTransmuxComplete(r.data);break}case"flush":{this.onFlush(r.data);break}default:{r.data=r.data||{};r.data.frag=this.frag;r.data.id=this.id;i.trigger(r.event,r.data);break}}};t.configureTransmuxer=function e(t){var r=this.worker,i=this.transmuxer;if(r){r.postMessage({cmd:"configure",config:t})}else if(i){i.configure(t)}};t.handleTransmuxComplete=function e(t){t.chunkMeta.transmuxing.end=self.performance.now();this.onTransmuxComplete(t)};return e}()},"./src/demux/transmuxer-worker.ts":
170
170
  /*!****************************************!*\
171
171
  !*** ./src/demux/transmuxer-worker.ts ***!
172
172
  \****************************************/
173
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return o}));var i=r(/*! ../demux/transmuxer */"./src/demux/transmuxer.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! eventemitter3 */"./node_modules/eventemitter3/index.js");function o(e){var t=new s["EventEmitter"];var r=function t(r,i){e.postMessage({event:r,data:i})};t.on(a["Events"].FRAG_DECRYPTED,r);t.on(a["Events"].ERROR,r);e.addEventListener("message",(function(a){var s=a.data;switch(s.cmd){case"init":{var o=JSON.parse(s.config);e.transmuxer=new i["default"](t,s.typeSupported,o,s.vendor,s.id);Object(n["enableLogs"])(o.debug);r("init",null);break}case"configure":{e.transmuxer.configure(s.config);break}case"demux":{var u=e.transmuxer.push(s.data,s.decryptdata,s.chunkMeta,s.state);if(Object(i["isPromise"])(u)){u.then((function(t){l(e,t)}))}else{l(e,u)}break}case"flush":{var c=s.chunkMeta;var d=e.transmuxer.flush(c);if(Object(i["isPromise"])(d)){d.then((function(t){f(e,t,c)}))}else{f(e,d,c)}break}}}))}function l(e,t){if(c(t.remuxResult)){return}var r=[];var i=t.remuxResult,a=i.audio,n=i.video;if(a){u(r,a)}if(n){u(r,n)}e.postMessage({event:"transmuxComplete",data:t},r)}function u(e,t){if(t.data1){e.push(t.data1.buffer)}if(t.data2){e.push(t.data2.buffer)}}function f(e,t,r){t.forEach((function(t){l(e,t)}));e.postMessage({event:"flush",data:r})}function c(e){return!e.audio&&!e.video&&!e.text&&!e.id3&&!e.initSegment}},"./src/demux/transmuxer.ts":
173
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return o}));var i=r(/*! ../demux/transmuxer */"./src/demux/transmuxer.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! eventemitter3 */"./node_modules/eventemitter3/index.js");function o(e){var t=new s["EventEmitter"];var r=function t(r,i){e.postMessage({event:r,data:i})};t.on(a["Events"].FRAG_DECRYPTED,r);t.on(a["Events"].ERROR,r);e.addEventListener("message",(function(a){var s=a.data;switch(s.cmd){case"init":{var o=JSON.parse(s.config);e.transmuxer=new i["default"](t,s.typeSupported,o,s.vendor,s.id);Object(n["enableLogs"])(o.debug);r("init",null);break}case"configure":{e.transmuxer.configure(s.config);break}case"demux":{var u=e.transmuxer.push(s.data,s.decryptdata,s.chunkMeta,s.state);if(Object(i["isPromise"])(u)){u.then((function(t){l(e,t)}))}else{l(e,u)}break}case"flush":{var d=s.chunkMeta;var c=e.transmuxer.flush(d);if(Object(i["isPromise"])(c)){c.then((function(t){f(e,t,d)}))}else{f(e,c,d)}break}}}))}function l(e,t){if(d(t.remuxResult)){return}var r=[];var i=t.remuxResult,a=i.audio,n=i.video;if(a){u(r,a)}if(n){u(r,n)}e.postMessage({event:"transmuxComplete",data:t},r)}function u(e,t){if(t.data1){e.push(t.data1.buffer)}if(t.data2){e.push(t.data2.buffer)}}function f(e,t,r){t.forEach((function(t){l(e,t)}));e.postMessage({event:"flush",data:r})}function d(e){return!e.audio&&!e.video&&!e.text&&!e.id3&&!e.initSegment}},"./src/demux/transmuxer.ts":
174
174
  /*!*********************************!*\
175
175
  !*** ./src/demux/transmuxer.ts ***!
176
176
  \*********************************/
177
- /*! exports provided: default, isPromise, TransmuxConfig, TransmuxState */function(e,t,r){r.r(t);r.d(t,"default",(function(){return y}));r.d(t,"isPromise",(function(){return b}));r.d(t,"TransmuxConfig",(function(){return S}));r.d(t,"TransmuxState",(function(){return A}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../crypt/decrypter */"./src/crypt/decrypter.ts");var s=r(/*! ../demux/aacdemuxer */"./src/demux/aacdemuxer.ts");var o=r(/*! ../demux/mp4demuxer */"./src/demux/mp4demuxer.ts");var l=r(/*! ../demux/tsdemuxer */"./src/demux/tsdemuxer.ts");var u=r(/*! ../demux/mp3demuxer */"./src/demux/mp3demuxer.ts");var f=r(/*! ../remux/mp4-remuxer */"./src/remux/mp4-remuxer.ts");var c=r(/*! ../remux/passthrough-remuxer */"./src/remux/passthrough-remuxer.ts");var d=r(/*! ./chunk-cache */"./src/demux/chunk-cache.ts");var h=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var v=r(/*! ../utils/logger */"./src/utils/logger.ts");var g;try{g=self.performance.now.bind(self.performance)}catch(e){v["logger"].debug("Unable to use Performance API on this environment");g=self.Date.now}var p=[{demux:l["default"],remux:f["default"]},{demux:o["default"],remux:c["default"]},{demux:s["default"],remux:f["default"]},{demux:u["default"],remux:f["default"]}];var m=1024;p.forEach((function(e){var t=e.demux;m=Math.max(m,t.minProbeByteLength)}));var y=function(){function e(e,t,r,i,a){this.observer=void 0;this.typeSupported=void 0;this.config=void 0;this.vendor=void 0;this.id=void 0;this.demuxer=void 0;this.remuxer=void 0;this.decrypter=void 0;this.probe=void 0;this.decryptionPromise=null;this.transmuxConfig=void 0;this.currentTransmuxState=void 0;this.cache=new d["default"];this.observer=e;this.typeSupported=t;this.config=r;this.vendor=i;this.id=a}var t=e.prototype;t.configure=function e(t){this.transmuxConfig=t;if(this.decrypter){this.decrypter.reset()}};t.push=function e(t,r,i,a){var n=this;var s=i.transmuxing;s.executeStart=g();var o=new Uint8Array(t);var l=this.cache,u=this.config,f=this.currentTransmuxState,c=this.transmuxConfig;if(a){this.currentTransmuxState=a}var d=E(o,r);if(d&&d.method==="AES-128"){var v=this.getDecrypter();if(u.enableSoftwareAES){var p=v.softwareDecrypt(o,d.key.buffer,d.iv.buffer);if(!p){s.executeEnd=g();return T(i)}o=new Uint8Array(p)}else{this.decryptionPromise=v.webCryptoDecrypt(o,d.key.buffer,d.iv.buffer).then((function(e){var t=n.push(e,null,i);n.decryptionPromise=null;return t}));return this.decryptionPromise}}var m=a||f,y=m.contiguous,b=m.discontinuity,S=m.trackSwitch,A=m.accurateTimeOffset,L=m.timeOffset,D=m.initSegmentChange;var k=c.audioCodec,R=c.videoCodec,I=c.defaultInitPts,C=c.duration,w=c.initSegmentData;if(b||S||D){this.resetInitSegment(w,k,R,C)}if(b||D){this.resetInitialTimestamp(I)}if(!y){this.resetContiguity()}if(this.needsProbing(o,b,S)){if(l.dataLength){var _=l.flush();o=Object(h["appendUint8Array"])(_,o)}this.configureTransmuxer(o,c)}var O=this.transmux(o,d,L,A,i);var x=this.currentTransmuxState;x.contiguous=true;x.discontinuity=false;x.trackSwitch=false;s.executeEnd=g();return O};t.flush=function e(t){var r=this;var n=t.transmuxing;n.executeStart=g();var s=this.decrypter,o=this.cache,l=this.currentTransmuxState,u=this.decryptionPromise;if(u){return u.then((function(){return r.flush(t)}))}var f=[];var c=l.timeOffset;if(s){var d=s.flush();if(d){f.push(this.push(d,null,t))}}var h=o.dataLength;o.reset();var v=this.demuxer,p=this.remuxer;if(!v||!p){if(h>=m){this.observer.emit(i["Events"].ERROR,i["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].FRAG_PARSING_ERROR,fatal:true,reason:"no demux matching with content found"})}n.executeEnd=g();return[T(t)]}var y=v.flush(c);if(b(y)){return y.then((function(e){r.flushRemux(f,e,t);return f}))}this.flushRemux(f,y,t);return f};t.flushRemux=function e(t,r,i){var a=r.audioTrack,n=r.avcTrack,s=r.id3Track,o=r.textTrack;var l=this.currentTransmuxState,u=l.accurateTimeOffset,f=l.timeOffset;v["logger"].log("[transmuxer.ts]: Flushed fragment "+i.sn+(i.part>-1?" p: "+i.part:"")+" of level "+i.level);var c=this.remuxer.remux(a,n,s,o,f,u,true,this.id);t.push({remuxResult:c,chunkMeta:i});i.transmuxing.executeEnd=g()};t.resetInitialTimestamp=function e(t){var r=this.demuxer,i=this.remuxer;if(!r||!i){return}r.resetTimeStamp(t);i.resetTimeStamp(t)};t.resetContiguity=function e(){var t=this.demuxer,r=this.remuxer;if(!t||!r){return}t.resetContiguity();r.resetNextTimestamp()};t.resetInitSegment=function e(t,r,i,a){var n=this.demuxer,s=this.remuxer;if(!n||!s){return}n.resetInitSegment(r,i,a);s.resetInitSegment(t,r,i)};t.destroy=function e(){if(this.demuxer){this.demuxer.destroy();this.demuxer=undefined}if(this.remuxer){this.remuxer.destroy();this.remuxer=undefined}};t.transmux=function e(t,r,i,a,n){var s;if(r&&r.method==="SAMPLE-AES"){s=this.transmuxSampleAes(t,r,i,a,n)}else{s=this.transmuxUnencrypted(t,i,a,n)}return s};t.transmuxUnencrypted=function e(t,r,i,a){var n=this.demuxer.demux(t,r,false,!this.config.progressive),s=n.audioTrack,o=n.avcTrack,l=n.id3Track,u=n.textTrack;var f=this.remuxer.remux(s,o,l,u,r,i,false,this.id);return{remuxResult:f,chunkMeta:a}};t.transmuxSampleAes=function e(t,r,i,a,n){var s=this;return this.demuxer.demuxSampleAes(t,r,i).then((function(e){var t=s.remuxer.remux(e.audioTrack,e.avcTrack,e.id3Track,e.textTrack,i,a,false,s.id);return{remuxResult:t,chunkMeta:n}}))};t.configureTransmuxer=function e(t,r){var i=this.config,a=this.observer,n=this.typeSupported,s=this.vendor;var l=r.audioCodec,u=r.defaultInitPts,f=r.duration,d=r.initSegmentData,h=r.videoCodec;var g;for(var m=0,y=p.length;m<y;m++){if(p[m].demux.probe(t)){g=p[m];break}}if(!g){v["logger"].warn("Failed to find demuxer by probing frag, treating as mp4 passthrough");g={demux:o["default"],remux:c["default"]}}var E=this.demuxer;var T=this.remuxer;var b=g.remux;var S=g.demux;if(!T||!(T instanceof b)){this.remuxer=new b(a,i,n,s)}if(!E||!(E instanceof S)){this.demuxer=new S(a,i,n);this.probe=S.probe}this.resetInitSegment(d,l,h,f);this.resetInitialTimestamp(u)};t.needsProbing=function e(t,r,i){return!this.demuxer||!this.remuxer||r||i};t.getDecrypter=function e(){var t=this.decrypter;if(!t){t=this.decrypter=new n["default"](this.observer,this.config)}return t};return e}();function E(e,t){var r=null;if(e.byteLength>0&&t!=null&&t.key!=null&&t.iv!==null&&t.method!=null){r=t}return r}var T=function e(t){return{remuxResult:{},chunkMeta:t}};function b(e){return"then"in e&&e.then instanceof Function}var S=function e(t,r,i,a,n){this.audioCodec=void 0;this.videoCodec=void 0;this.initSegmentData=void 0;this.duration=void 0;this.defaultInitPts=void 0;this.audioCodec=t;this.videoCodec=r;this.initSegmentData=i;this.duration=a;this.defaultInitPts=n};var A=function e(t,r,i,a,n,s){this.discontinuity=void 0;this.contiguous=void 0;this.accurateTimeOffset=void 0;this.trackSwitch=void 0;this.timeOffset=void 0;this.initSegmentChange=void 0;this.discontinuity=t;this.contiguous=r;this.accurateTimeOffset=i;this.trackSwitch=a;this.timeOffset=n;this.initSegmentChange=s}},"./src/demux/tsdemuxer.ts":
177
+ /*! exports provided: default, isPromise, TransmuxConfig, TransmuxState */function(e,t,r){r.r(t);r.d(t,"default",(function(){return y}));r.d(t,"isPromise",(function(){return b}));r.d(t,"TransmuxConfig",(function(){return S}));r.d(t,"TransmuxState",(function(){return A}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../crypt/decrypter */"./src/crypt/decrypter.ts");var s=r(/*! ../demux/aacdemuxer */"./src/demux/aacdemuxer.ts");var o=r(/*! ../demux/mp4demuxer */"./src/demux/mp4demuxer.ts");var l=r(/*! ../demux/tsdemuxer */"./src/demux/tsdemuxer.ts");var u=r(/*! ../demux/mp3demuxer */"./src/demux/mp3demuxer.ts");var f=r(/*! ../remux/mp4-remuxer */"./src/remux/mp4-remuxer.ts");var d=r(/*! ../remux/passthrough-remuxer */"./src/remux/passthrough-remuxer.ts");var c=r(/*! ./chunk-cache */"./src/demux/chunk-cache.ts");var h=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var v=r(/*! ../utils/logger */"./src/utils/logger.ts");var g;try{g=self.performance.now.bind(self.performance)}catch(e){v["logger"].debug("Unable to use Performance API on this environment");g=self.Date.now}var p=[{demux:l["default"],remux:f["default"]},{demux:o["default"],remux:d["default"]},{demux:s["default"],remux:f["default"]},{demux:u["default"],remux:f["default"]}];var m=1024;p.forEach((function(e){var t=e.demux;m=Math.max(m,t.minProbeByteLength)}));var y=function(){function e(e,t,r,i,a){this.observer=void 0;this.typeSupported=void 0;this.config=void 0;this.vendor=void 0;this.id=void 0;this.demuxer=void 0;this.remuxer=void 0;this.decrypter=void 0;this.probe=void 0;this.decryptionPromise=null;this.transmuxConfig=void 0;this.currentTransmuxState=void 0;this.cache=new c["default"];this.observer=e;this.typeSupported=t;this.config=r;this.vendor=i;this.id=a}var t=e.prototype;t.configure=function e(t){this.transmuxConfig=t;if(this.decrypter){this.decrypter.reset()}};t.push=function e(t,r,i,a){var n=this;var s=i.transmuxing;s.executeStart=g();var o=new Uint8Array(t);var l=this.cache,u=this.config,f=this.currentTransmuxState,d=this.transmuxConfig;if(a){this.currentTransmuxState=a}var c=E(o,r);if(c&&c.method==="AES-128"){var v=this.getDecrypter();if(u.enableSoftwareAES){var p=v.softwareDecrypt(o,c.key.buffer,c.iv.buffer);if(!p){s.executeEnd=g();return T(i)}o=new Uint8Array(p)}else{this.decryptionPromise=v.webCryptoDecrypt(o,c.key.buffer,c.iv.buffer).then((function(e){var t=n.push(e,null,i);n.decryptionPromise=null;return t}));return this.decryptionPromise}}var m=a||f,y=m.contiguous,b=m.discontinuity,S=m.trackSwitch,A=m.accurateTimeOffset,L=m.timeOffset,D=m.initSegmentChange;var k=d.audioCodec,R=d.videoCodec,I=d.defaultInitPts,C=d.duration,w=d.initSegmentData;if(b||S||D){this.resetInitSegment(w,k,R,C)}if(b||D){this.resetInitialTimestamp(I)}if(!y){this.resetContiguity()}if(this.needsProbing(o,b,S)){if(l.dataLength){var _=l.flush();o=Object(h["appendUint8Array"])(_,o)}this.configureTransmuxer(o,d)}var O=this.transmux(o,c,L,A,i);var x=this.currentTransmuxState;x.contiguous=true;x.discontinuity=false;x.trackSwitch=false;s.executeEnd=g();return O};t.flush=function e(t){var r=this;var n=t.transmuxing;n.executeStart=g();var s=this.decrypter,o=this.cache,l=this.currentTransmuxState,u=this.decryptionPromise;if(u){return u.then((function(){return r.flush(t)}))}var f=[];var d=l.timeOffset;if(s){var c=s.flush();if(c){f.push(this.push(c,null,t))}}var h=o.dataLength;o.reset();var v=this.demuxer,p=this.remuxer;if(!v||!p){if(h>=m){this.observer.emit(i["Events"].ERROR,i["Events"].ERROR,{type:a["ErrorTypes"].MEDIA_ERROR,details:a["ErrorDetails"].FRAG_PARSING_ERROR,fatal:true,reason:"no demux matching with content found"})}n.executeEnd=g();return[T(t)]}var y=v.flush(d);if(b(y)){return y.then((function(e){r.flushRemux(f,e,t);return f}))}this.flushRemux(f,y,t);return f};t.flushRemux=function e(t,r,i){var a=r.audioTrack,n=r.avcTrack,s=r.id3Track,o=r.textTrack;var l=this.currentTransmuxState,u=l.accurateTimeOffset,f=l.timeOffset;v["logger"].log("[transmuxer.ts]: Flushed fragment "+i.sn+(i.part>-1?" p: "+i.part:"")+" of level "+i.level);var d=this.remuxer.remux(a,n,s,o,f,u,true,this.id);t.push({remuxResult:d,chunkMeta:i});i.transmuxing.executeEnd=g()};t.resetInitialTimestamp=function e(t){var r=this.demuxer,i=this.remuxer;if(!r||!i){return}r.resetTimeStamp(t);i.resetTimeStamp(t)};t.resetContiguity=function e(){var t=this.demuxer,r=this.remuxer;if(!t||!r){return}t.resetContiguity();r.resetNextTimestamp()};t.resetInitSegment=function e(t,r,i,a){var n=this.demuxer,s=this.remuxer;if(!n||!s){return}n.resetInitSegment(r,i,a);s.resetInitSegment(t,r,i)};t.destroy=function e(){if(this.demuxer){this.demuxer.destroy();this.demuxer=undefined}if(this.remuxer){this.remuxer.destroy();this.remuxer=undefined}};t.transmux=function e(t,r,i,a,n){var s;if(r&&r.method==="SAMPLE-AES"){s=this.transmuxSampleAes(t,r,i,a,n)}else{s=this.transmuxUnencrypted(t,i,a,n)}return s};t.transmuxUnencrypted=function e(t,r,i,a){var n=this.demuxer.demux(t,r,false,!this.config.progressive),s=n.audioTrack,o=n.avcTrack,l=n.id3Track,u=n.textTrack;var f=this.remuxer.remux(s,o,l,u,r,i,false,this.id);return{remuxResult:f,chunkMeta:a}};t.transmuxSampleAes=function e(t,r,i,a,n){var s=this;return this.demuxer.demuxSampleAes(t,r,i).then((function(e){var t=s.remuxer.remux(e.audioTrack,e.avcTrack,e.id3Track,e.textTrack,i,a,false,s.id);return{remuxResult:t,chunkMeta:n}}))};t.configureTransmuxer=function e(t,r){var i=this.config,a=this.observer,n=this.typeSupported,s=this.vendor;var l=r.audioCodec,u=r.defaultInitPts,f=r.duration,c=r.initSegmentData,h=r.videoCodec;var g;for(var m=0,y=p.length;m<y;m++){if(p[m].demux.probe(t)){g=p[m];break}}if(!g){v["logger"].warn("Failed to find demuxer by probing frag, treating as mp4 passthrough");g={demux:o["default"],remux:d["default"]}}var E=this.demuxer;var T=this.remuxer;var b=g.remux;var S=g.demux;if(!T||!(T instanceof b)){this.remuxer=new b(a,i,n,s)}if(!E||!(E instanceof S)){this.demuxer=new S(a,i,n);this.probe=S.probe}this.resetInitSegment(c,l,h,f);this.resetInitialTimestamp(u)};t.needsProbing=function e(t,r,i){return!this.demuxer||!this.remuxer||r||i};t.getDecrypter=function e(){var t=this.decrypter;if(!t){t=this.decrypter=new n["default"](this.observer,this.config)}return t};return e}();function E(e,t){var r=null;if(e.byteLength>0&&t!=null&&t.key!=null&&t.iv!==null&&t.method!=null){r=t}return r}var T=function e(t){return{remuxResult:{},chunkMeta:t}};function b(e){return"then"in e&&e.then instanceof Function}var S=function e(t,r,i,a,n){this.audioCodec=void 0;this.videoCodec=void 0;this.initSegmentData=void 0;this.duration=void 0;this.defaultInitPts=void 0;this.audioCodec=t;this.videoCodec=r;this.initSegmentData=i;this.duration=a;this.defaultInitPts=n};var A=function e(t,r,i,a,n,s){this.discontinuity=void 0;this.contiguous=void 0;this.accurateTimeOffset=void 0;this.trackSwitch=void 0;this.timeOffset=void 0;this.initSegmentChange=void 0;this.discontinuity=t;this.contiguous=r;this.accurateTimeOffset=i;this.trackSwitch=a;this.timeOffset=n;this.initSegmentChange=s}},"./src/demux/tsdemuxer.ts":
178
178
  /*!********************************!*\
179
179
  !*** ./src/demux/tsdemuxer.ts ***!
180
180
  \********************************/
181
- /*! exports provided: discardEPB, default */function(e,t,r){r.r(t);r.d(t,"discardEPB",(function(){return T}));var i=r(/*! ./adts */"./src/demux/adts.ts");var a=r(/*! ./mpegaudio */"./src/demux/mpegaudio.ts");var n=r(/*! ./exp-golomb */"./src/demux/exp-golomb.ts");var s=r(/*! ./id3 */"./src/demux/id3.ts");var o=r(/*! ./sample-aes */"./src/demux/sample-aes.ts");var l=r(/*! ../events */"./src/events.ts");var u=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var f=r(/*! ../utils/logger */"./src/utils/logger.ts");var c=r(/*! ../errors */"./src/errors.ts");var d={video:1,audio:2,id3:3,text:4};var h=function(){function e(e,t,r){this.observer=void 0;this.config=void 0;this.typeSupported=void 0;this.sampleAes=null;this.pmtParsed=false;this.audioCodec=void 0;this.videoCodec=void 0;this._duration=0;this.aacLastPTS=null;this._initPTS=null;this._initDTS=null;this._pmtId=-1;this._avcTrack=void 0;this._audioTrack=void 0;this._id3Track=void 0;this._txtTrack=void 0;this.aacOverFlow=null;this.avcSample=null;this.remainderData=null;this.observer=e;this.config=t;this.typeSupported=r}e.probe=function t(r){var i=e.syncOffset(r);if(i<0){return false}else{if(i){f["logger"].warn("MPEG2-TS detected but first sync word found @ offset "+i+", junk ahead ?")}return true}};e.syncOffset=function e(t){var r=Math.min(1e3,t.length-3*188);var i=0;while(i<r){if(t[i]===71&&t[i+188]===71&&t[i+2*188]===71){return i}else{i++}}return-1};e.createTrack=function e(t,r){return{container:t==="video"||t==="audio"?"video/mp2t":undefined,type:t,id:d[t],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:t==="audio"?r:undefined}};var t=e.prototype;t.resetInitSegment=function t(r,i,a){this.pmtParsed=false;this._pmtId=-1;this._avcTrack=e.createTrack("video",a);this._audioTrack=e.createTrack("audio",a);this._id3Track=e.createTrack("id3",a);this._txtTrack=e.createTrack("text",a);this._audioTrack.isAAC=true;this.aacOverFlow=null;this.aacLastPTS=null;this.avcSample=null;this.audioCodec=r;this.videoCodec=i;this._duration=a};t.resetTimeStamp=function e(){};t.resetContiguity=function e(){var t=this._audioTrack,r=this._avcTrack,i=this._id3Track;if(t){t.pesData=null}if(r){r.pesData=null}if(i){i.pesData=null}this.aacOverFlow=null;this.aacLastPTS=null};t.demux=function t(r,i,a,n){if(a===void 0){a=false}if(n===void 0){n=false}if(!a){this.sampleAes=null}var s;var o=this._avcTrack;var d=this._audioTrack;var h=this._id3Track;var v=o.pid;var y=o.pesData;var E=d.pid;var T=h.pid;var b=d.pesData;var S=h.pesData;var A=false;var L=this.pmtParsed;var D=this._pmtId;var k=r.length;if(this.remainderData){r=Object(u["appendUint8Array"])(this.remainderData,r);k=r.length;this.remainderData=null}if(k<188&&!n){this.remainderData=r;return{audioTrack:d,avcTrack:o,id3Track:h,textTrack:this._txtTrack}}var R=Math.max(0,e.syncOffset(r));k-=(k+R)%188;if(k<r.byteLength&&!n){this.remainderData=new Uint8Array(r.buffer,k,r.buffer.byteLength-k)}var I=0;for(var C=R;C<k;C+=188){if(r[C]===71){var w=!!(r[C+1]&64);var _=((r[C+1]&31)<<8)+r[C+2];var O=(r[C+3]&48)>>4;var x=void 0;if(O>1){x=C+5+r[C+4];if(x===C+188){continue}}else{x=C+4}switch(_){case v:if(w){if(y&&(s=m(y))){this.parseAVCPES(s,false)}y={data:[],size:0}}if(y){y.data.push(r.subarray(x,C+188));y.size+=C+188-x}break;case E:if(w){if(b&&(s=m(b))){if(d.isAAC){this.parseAACPES(s)}else{this.parseMPEGPES(s)}}b={data:[],size:0}}if(b){b.data.push(r.subarray(x,C+188));b.size+=C+188-x}break;case T:if(w){if(S&&(s=m(S))){this.parseID3PES(s)}S={data:[],size:0}}if(S){S.data.push(r.subarray(x,C+188));S.size+=C+188-x}break;case 0:if(w){x+=r[x]+1}D=this._pmtId=g(r,x);break;case D:{if(w){x+=r[x]+1}var P=p(r,x,this.typeSupported.mpeg===true||this.typeSupported.mp3===true,a);v=P.avc;if(v>0){o.pid=v}E=P.audio;if(E>0){d.pid=E;d.isAAC=P.isAAC}T=P.id3;if(T>0){h.pid=T}if(A&&!L){f["logger"].log("reparse from beginning");A=false;C=R-188}L=this.pmtParsed=true;break}case 17:case 8191:break;default:A=true;break}}else{I++}}if(I>0){this.observer.emit(l["Events"].ERROR,l["Events"].ERROR,{type:c["ErrorTypes"].MEDIA_ERROR,details:c["ErrorDetails"].FRAG_PARSING_ERROR,fatal:false,reason:"Found "+I+" TS packet/s that do not start with 0x47"})}o.pesData=y;d.pesData=b;h.pesData=S;var F={audioTrack:d,avcTrack:o,id3Track:h,textTrack:this._txtTrack};if(n){this.extractRemainingSamples(F)}return F};t.flush=function e(){var t=this.remainderData;this.remainderData=null;var r;if(t){r=this.demux(t,-1,false,true)}else{r={audioTrack:this._audioTrack,avcTrack:this._avcTrack,textTrack:this._txtTrack,id3Track:this._id3Track}}this.extractRemainingSamples(r);if(this.sampleAes){return this.decrypt(r,this.sampleAes)}return r};t.extractRemainingSamples=function e(t){var r=t.audioTrack,i=t.avcTrack,a=t.id3Track;var n=i.pesData;var s=r.pesData;var o=a.pesData;var l;if(n&&(l=m(n))){this.parseAVCPES(l,true);i.pesData=null}else{i.pesData=n}if(s&&(l=m(s))){if(r.isAAC){this.parseAACPES(l)}else{this.parseMPEGPES(l)}r.pesData=null}else{if(s!==null&&s!==void 0&&s.size){f["logger"].log("last AAC PES packet truncated,might overlap between fragments")}r.pesData=s}if(o&&(l=m(o))){this.parseID3PES(l);a.pesData=null}else{a.pesData=o}};t.demuxSampleAes=function e(t,r,i){var a=this.demux(t,i,true,!this.config.progressive);var n=this.sampleAes=new o["default"](this.observer,this.config,r);return this.decrypt(a,n)};t.decrypt=function e(t,r){return new Promise((function(e){var i=t.audioTrack,a=t.avcTrack;if(i.samples&&i.isAAC){r.decryptAacSamples(i.samples,0,(function(){if(a.samples){r.decryptAvcSamples(a.samples,0,0,(function(){e(t)}))}else{e(t)}}))}else if(a.samples){r.decryptAvcSamples(a.samples,0,0,(function(){e(t)}))}}))};t.destroy=function e(){this._initPTS=this._initDTS=null;this._duration=0};t.parseAVCPES=function e(t,r){var i=this;var a=this._avcTrack;var o=this.parseAVCNALu(t.data);var l=this.avcSample;var u;var f=false;t.data=null;if(l&&o.length&&!a.audFound){y(l,a);l=this.avcSample=v(false,t.pts,t.dts,"")}o.forEach((function(e){switch(e.type){case 1:{u=true;if(!l){l=i.avcSample=v(true,t.pts,t.dts,"")}l.frame=true;var r=e.data;if(f&&r.length>4){var o=new n["default"](r).readSliceType();if(o===2||o===4||o===7||o===9){l.key=true}}break}case 5:u=true;if(!l){l=i.avcSample=v(true,t.pts,t.dts,"")}l.key=true;l.frame=true;break;case 6:{u=true;var c=new n["default"](T(e.data));c.readUByte();var d=0;var h=0;var g=false;var p=0;while(!g&&c.bytesAvailable>1){d=0;do{p=c.readUByte();d+=p}while(p===255);h=0;do{p=c.readUByte();h+=p}while(p===255);if(d===4&&c.bytesAvailable!==0){g=true;var m=c.readUByte();if(m===181){var b=c.readUShort();if(b===49){var S=c.readUInt();if(S===1195456820){var A=c.readUByte();if(A===3){var L=c.readUByte();var D=c.readUByte();var k=31&L;var R=[L,D];for(var I=0;I<k;I++){R.push(c.readUByte());R.push(c.readUByte());R.push(c.readUByte())}E(i._txtTrack.samples,{type:3,pts:t.pts,bytes:R})}}}}}else if(d===5&&c.bytesAvailable!==0){g=true;if(h>16){var C=[];for(var w=0;w<16;w++){C.push(c.readUByte().toString(16));if(w===3||w===5||w===7||w===9){C.push("-")}}var _=h-16;var O=new Uint8Array(_);for(var x=0;x<_;x++){O[x]=c.readUByte()}E(i._txtTrack.samples,{pts:t.pts,payloadType:d,uuid:C.join(""),userData:Object(s["utf8ArrayToStr"])(O),userDataBytes:O})}}else if(h<c.bytesAvailable){for(var P=0;P<h;P++){c.readUByte()}}}break}case 7:u=true;f=true;if(!a.sps){var F=new n["default"](e.data);var M=F.readSPS();a.width=M.width;a.height=M.height;a.pixelRatio=M.pixelRatio;a.sps=[e.data];a.duration=i._duration;var N=e.data.subarray(1,4);var B="avc1.";for(var U=0;U<3;U++){var G=N[U].toString(16);if(G.length<2){G="0"+G}B+=G}a.codec=B}break;case 8:u=true;if(!a.pps){a.pps=[e.data]}break;case 9:u=false;a.audFound=true;if(l){y(l,a)}l=i.avcSample=v(false,t.pts,t.dts,"");break;case 12:u=false;break;default:u=false;if(l){l.debug+="unknown NAL "+e.type+" "}break}if(l&&u){var j=l.units;j.push(e)}}));if(r&&l){y(l,a);this.avcSample=null}};t.getLastNalUnit=function e(){var t;var r=this.avcSample;var i;if(!r||r.units.length===0){var a=this._avcTrack.samples;r=a[a.length-1]}if((t=r)!==null&&t!==void 0&&t.units){var n=r.units;i=n[n.length-1]}return i};t.parseAVCNALu=function e(t){var r=t.byteLength;var i=this._avcTrack;var a=i.naluState||0;var n=a;var s=[];var o=0;var l;var u;var f;var c=-1;var d=0;if(a===-1){c=0;d=t[0]&31;a=0;o=1}while(o<r){l=t[o++];if(!a){a=l?0:1;continue}if(a===1){a=l?0:2;continue}if(!l){a=3}else if(l===1){if(c>=0){var h={data:t.subarray(c,o-a-1),type:d};s.push(h)}else{var v=this.getLastNalUnit();if(v){if(n&&o<=4-n){if(v.state){v.data=v.data.subarray(0,v.data.byteLength-n)}}u=o-a-1;if(u>0){var g=new Uint8Array(v.data.byteLength+u);g.set(v.data,0);g.set(t.subarray(0,u),v.data.byteLength);v.data=g;v.state=0}}}if(o<r){f=t[o]&31;c=o;d=f;a=0}else{a=-1}}else{a=0}}if(c>=0&&a>=0){var p={data:t.subarray(c,r),type:d,state:a};s.push(p)}if(s.length===0){var m=this.getLastNalUnit();if(m){var y=new Uint8Array(m.data.byteLength+t.byteLength);y.set(m.data,0);y.set(t,m.data.byteLength);m.data=y}}i.naluState=a;return s};t.parseAACPES=function e(t){var r=0;var a=this._audioTrack;var n=this.aacOverFlow;var s=t.data;if(n){this.aacOverFlow=null;var o=n.sample.unit.byteLength;var u=Math.min(n.missing,o);var d=o-u;n.sample.unit.set(s.subarray(0,u),d);a.samples.push(n.sample);r=n.missing}var h;var v;for(h=r,v=s.length;h<v-1;h++){if(i["isHeader"](s,h)){break}}if(h!==r){var g;var p;if(h<v-1){g="AAC PES did not start with ADTS header,offset:"+h;p=false}else{g="no ADTS header found in AAC PES";p=true}f["logger"].warn("parsing error:"+g);this.observer.emit(l["Events"].ERROR,l["Events"].ERROR,{type:c["ErrorTypes"].MEDIA_ERROR,details:c["ErrorDetails"].FRAG_PARSING_ERROR,fatal:p,reason:g});if(p){return}}i["initTrackConfig"](a,this.observer,s,h,this.audioCodec);var m;if(t.pts!==undefined){m=t.pts}else if(n){var y=i["getFrameDuration"](a.samplerate);m=n.sample.pts+y}else{f["logger"].warn("[tsdemuxer]: AAC PES unknown PTS");return}var E=0;while(h<v){if(i["isHeader"](s,h)){if(h+5<v){var T=i["appendFrame"](a,s,h,m,E);if(T){if(T.missing){this.aacOverFlow=T}else{h+=T.length;E++;continue}}}break}else{h++}}};t.parseMPEGPES=function e(t){var r=t.data;var i=r.length;var n=0;var s=0;var o=t.pts;if(o===undefined){f["logger"].warn("[tsdemuxer]: MPEG PES unknown PTS");return}while(s<i){if(a["isHeader"](r,s)){var l=a["appendFrame"](this._audioTrack,r,s,o,n);if(l){s+=l.length;n++}else{break}}else{s++}}};t.parseID3PES=function e(t){if(t.pts===undefined){f["logger"].warn("[tsdemuxer]: ID3 PES unknown PTS");return}this._id3Track.samples.push(t)};return e}();h.minProbeByteLength=188;function v(e,t,r,i){return{key:e,frame:false,pts:t,dts:r,units:[],debug:i,length:0}}function g(e,t){return(e[t+10]&31)<<8|e[t+11]}function p(e,t,r,i){var a={audio:-1,avc:-1,id3:-1,isAAC:true};var n=(e[t+1]&15)<<8|e[t+2];var s=t+3+n-4;var o=(e[t+10]&15)<<8|e[t+11];t+=12+o;while(t<s){var l=(e[t+1]&31)<<8|e[t+2];switch(e[t]){case 207:if(!i){f["logger"].log("ADTS AAC with AES-128-CBC frame encryption found in unencrypted stream");break}case 15:if(a.audio===-1){a.audio=l}break;case 21:if(a.id3===-1){a.id3=l}break;case 219:if(!i){f["logger"].log("H.264 with AES-128-CBC slice encryption found in unencrypted stream");break}case 27:if(a.avc===-1){a.avc=l}break;case 3:case 4:if(!r){f["logger"].log("MPEG audio found, not supported in this browser")}else if(a.audio===-1){a.audio=l;a.isAAC=false}break;case 36:f["logger"].warn("Unsupported HEVC stream type found");break}t+=((e[t+3]&15)<<8|e[t+4])+5}return a}function m(e){var t=0;var r;var i;var a;var n;var s;var o=e.data;if(!e||e.size===0){return null}while(o[0].length<19&&o.length>1){var l=new Uint8Array(o[0].length+o[1].length);l.set(o[0]);l.set(o[1],o[0].length);o[0]=l;o.splice(1,1)}r=o[0];var u=(r[0]<<16)+(r[1]<<8)+r[2];if(u===1){i=(r[4]<<8)+r[5];if(i&&i>e.size-6){return null}var c=r[7];if(c&192){n=(r[9]&14)*536870912+(r[10]&255)*4194304+(r[11]&254)*16384+(r[12]&255)*128+(r[13]&254)/2;if(c&64){s=(r[14]&14)*536870912+(r[15]&255)*4194304+(r[16]&254)*16384+(r[17]&255)*128+(r[18]&254)/2;if(n-s>60*9e4){f["logger"].warn(Math.round((n-s)/9e4)+"s delta between PTS and DTS, align them");n=s}}else{s=n}}a=r[8];var d=a+9;if(e.size<=d){return null}e.size-=d;var h=new Uint8Array(e.size);for(var v=0,g=o.length;v<g;v++){r=o[v];var p=r.byteLength;if(d){if(d>p){d-=p;continue}else{r=r.subarray(d);p-=d;d=0}}h.set(r,t);t+=p}if(i){i-=a+3}return{data:h,pts:n,dts:s,len:i}}return null}function y(e,t){if(e.units.length&&e.frame){if(e.pts===undefined){var r=t.samples;var i=r.length;if(i){var a=r[i-1];e.pts=a.pts;e.dts=a.dts}else{t.dropped++;return}}t.samples.push(e)}if(e.debug.length){f["logger"].log(e.pts+"/"+e.dts+":"+e.debug)}}function E(e,t){var r=e.length;if(r>0){if(t.pts>=e[r-1].pts){e.push(t)}else{for(var i=r-1;i>=0;i--){if(t.pts<e[i].pts){e.splice(i,0,t);break}}}}else{e.push(t)}}function T(e){var t=e.byteLength;var r=[];var i=1;while(i<t-2){if(e[i]===0&&e[i+1]===0&&e[i+2]===3){r.push(i+2);i+=2}else{i++}}if(r.length===0){return e}var a=t-r.length;var n=new Uint8Array(a);var s=0;for(i=0;i<a;s++,i++){if(s===r[0]){s++;r.shift()}n[i]=e[s]}return n}t["default"]=h},"./src/errors.ts":
181
+ /*! exports provided: discardEPB, default */function(e,t,r){r.r(t);r.d(t,"discardEPB",(function(){return T}));var i=r(/*! ./adts */"./src/demux/adts.ts");var a=r(/*! ./mpegaudio */"./src/demux/mpegaudio.ts");var n=r(/*! ./exp-golomb */"./src/demux/exp-golomb.ts");var s=r(/*! ./id3 */"./src/demux/id3.ts");var o=r(/*! ./sample-aes */"./src/demux/sample-aes.ts");var l=r(/*! ../events */"./src/events.ts");var u=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var f=r(/*! ../utils/logger */"./src/utils/logger.ts");var d=r(/*! ../errors */"./src/errors.ts");var c={video:1,audio:2,id3:3,text:4};var h=function(){function e(e,t,r){this.observer=void 0;this.config=void 0;this.typeSupported=void 0;this.sampleAes=null;this.pmtParsed=false;this.audioCodec=void 0;this.videoCodec=void 0;this._duration=0;this.aacLastPTS=null;this._initPTS=null;this._initDTS=null;this._pmtId=-1;this._avcTrack=void 0;this._audioTrack=void 0;this._id3Track=void 0;this._txtTrack=void 0;this.aacOverFlow=null;this.avcSample=null;this.remainderData=null;this.observer=e;this.config=t;this.typeSupported=r}e.probe=function t(r){var i=e.syncOffset(r);if(i<0){return false}else{if(i){f["logger"].warn("MPEG2-TS detected but first sync word found @ offset "+i+", junk ahead ?")}return true}};e.syncOffset=function e(t){var r=Math.min(1e3,t.length-3*188);var i=0;while(i<r){if(t[i]===71&&t[i+188]===71&&t[i+2*188]===71){return i}else{i++}}return-1};e.createTrack=function e(t,r){return{container:t==="video"||t==="audio"?"video/mp2t":undefined,type:t,id:c[t],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:t==="audio"?r:undefined}};var t=e.prototype;t.resetInitSegment=function t(r,i,a){this.pmtParsed=false;this._pmtId=-1;this._avcTrack=e.createTrack("video",a);this._audioTrack=e.createTrack("audio",a);this._id3Track=e.createTrack("id3",a);this._txtTrack=e.createTrack("text",a);this._audioTrack.isAAC=true;this.aacOverFlow=null;this.aacLastPTS=null;this.avcSample=null;this.audioCodec=r;this.videoCodec=i;this._duration=a};t.resetTimeStamp=function e(){};t.resetContiguity=function e(){var t=this._audioTrack,r=this._avcTrack,i=this._id3Track;if(t){t.pesData=null}if(r){r.pesData=null}if(i){i.pesData=null}this.aacOverFlow=null;this.aacLastPTS=null};t.demux=function t(r,i,a,n){if(a===void 0){a=false}if(n===void 0){n=false}if(!a){this.sampleAes=null}var s;var o=this._avcTrack;var c=this._audioTrack;var h=this._id3Track;var v=o.pid;var y=o.pesData;var E=c.pid;var T=h.pid;var b=c.pesData;var S=h.pesData;var A=false;var L=this.pmtParsed;var D=this._pmtId;var k=r.length;if(this.remainderData){r=Object(u["appendUint8Array"])(this.remainderData,r);k=r.length;this.remainderData=null}if(k<188&&!n){this.remainderData=r;return{audioTrack:c,avcTrack:o,id3Track:h,textTrack:this._txtTrack}}var R=Math.max(0,e.syncOffset(r));k-=(k+R)%188;if(k<r.byteLength&&!n){this.remainderData=new Uint8Array(r.buffer,k,r.buffer.byteLength-k)}var I=0;for(var C=R;C<k;C+=188){if(r[C]===71){var w=!!(r[C+1]&64);var _=((r[C+1]&31)<<8)+r[C+2];var O=(r[C+3]&48)>>4;var x=void 0;if(O>1){x=C+5+r[C+4];if(x===C+188){continue}}else{x=C+4}switch(_){case v:if(w){if(y&&(s=m(y))){this.parseAVCPES(s,false)}y={data:[],size:0}}if(y){y.data.push(r.subarray(x,C+188));y.size+=C+188-x}break;case E:if(w){if(b&&(s=m(b))){if(c.isAAC){this.parseAACPES(s)}else{this.parseMPEGPES(s)}}b={data:[],size:0}}if(b){b.data.push(r.subarray(x,C+188));b.size+=C+188-x}break;case T:if(w){if(S&&(s=m(S))){this.parseID3PES(s)}S={data:[],size:0}}if(S){S.data.push(r.subarray(x,C+188));S.size+=C+188-x}break;case 0:if(w){x+=r[x]+1}D=this._pmtId=g(r,x);break;case D:{if(w){x+=r[x]+1}var P=p(r,x,this.typeSupported.mpeg===true||this.typeSupported.mp3===true,a);v=P.avc;if(v>0){o.pid=v}E=P.audio;if(E>0){c.pid=E;c.isAAC=P.isAAC}T=P.id3;if(T>0){h.pid=T}if(A&&!L){f["logger"].log("reparse from beginning");A=false;C=R-188}L=this.pmtParsed=true;break}case 17:case 8191:break;default:A=true;break}}else{I++}}if(I>0){this.observer.emit(l["Events"].ERROR,l["Events"].ERROR,{type:d["ErrorTypes"].MEDIA_ERROR,details:d["ErrorDetails"].FRAG_PARSING_ERROR,fatal:false,reason:"Found "+I+" TS packet/s that do not start with 0x47"})}o.pesData=y;c.pesData=b;h.pesData=S;var F={audioTrack:c,avcTrack:o,id3Track:h,textTrack:this._txtTrack};if(n){this.extractRemainingSamples(F)}return F};t.flush=function e(){var t=this.remainderData;this.remainderData=null;var r;if(t){r=this.demux(t,-1,false,true)}else{r={audioTrack:this._audioTrack,avcTrack:this._avcTrack,textTrack:this._txtTrack,id3Track:this._id3Track}}this.extractRemainingSamples(r);if(this.sampleAes){return this.decrypt(r,this.sampleAes)}return r};t.extractRemainingSamples=function e(t){var r=t.audioTrack,i=t.avcTrack,a=t.id3Track;var n=i.pesData;var s=r.pesData;var o=a.pesData;var l;if(n&&(l=m(n))){this.parseAVCPES(l,true);i.pesData=null}else{i.pesData=n}if(s&&(l=m(s))){if(r.isAAC){this.parseAACPES(l)}else{this.parseMPEGPES(l)}r.pesData=null}else{if(s!==null&&s!==void 0&&s.size){f["logger"].log("last AAC PES packet truncated,might overlap between fragments")}r.pesData=s}if(o&&(l=m(o))){this.parseID3PES(l);a.pesData=null}else{a.pesData=o}};t.demuxSampleAes=function e(t,r,i){var a=this.demux(t,i,true,!this.config.progressive);var n=this.sampleAes=new o["default"](this.observer,this.config,r);return this.decrypt(a,n)};t.decrypt=function e(t,r){return new Promise((function(e){var i=t.audioTrack,a=t.avcTrack;if(i.samples&&i.isAAC){r.decryptAacSamples(i.samples,0,(function(){if(a.samples){r.decryptAvcSamples(a.samples,0,0,(function(){e(t)}))}else{e(t)}}))}else if(a.samples){r.decryptAvcSamples(a.samples,0,0,(function(){e(t)}))}}))};t.destroy=function e(){this._initPTS=this._initDTS=null;this._duration=0};t.parseAVCPES=function e(t,r){var i=this;var a=this._avcTrack;var o=this.parseAVCNALu(t.data);var l=this.avcSample;var u;var f=false;t.data=null;if(l&&o.length&&!a.audFound){y(l,a);l=this.avcSample=v(false,t.pts,t.dts,"")}o.forEach((function(e){switch(e.type){case 1:{u=true;if(!l){l=i.avcSample=v(true,t.pts,t.dts,"")}l.frame=true;var r=e.data;if(f&&r.length>4){var o=new n["default"](r).readSliceType();if(o===2||o===4||o===7||o===9){l.key=true}}break}case 5:u=true;if(!l){l=i.avcSample=v(true,t.pts,t.dts,"")}l.key=true;l.frame=true;break;case 6:{u=true;var d=new n["default"](T(e.data));d.readUByte();var c=0;var h=0;var g=false;var p=0;while(!g&&d.bytesAvailable>1){c=0;do{p=d.readUByte();c+=p}while(p===255);h=0;do{p=d.readUByte();h+=p}while(p===255);if(c===4&&d.bytesAvailable!==0){g=true;var m=d.readUByte();if(m===181){var b=d.readUShort();if(b===49){var S=d.readUInt();if(S===1195456820){var A=d.readUByte();if(A===3){var L=d.readUByte();var D=d.readUByte();var k=31&L;var R=[L,D];for(var I=0;I<k;I++){R.push(d.readUByte());R.push(d.readUByte());R.push(d.readUByte())}E(i._txtTrack.samples,{type:3,pts:t.pts,bytes:R})}}}}}else if(c===5&&d.bytesAvailable!==0){g=true;if(h>16){var C=[];for(var w=0;w<16;w++){C.push(d.readUByte().toString(16));if(w===3||w===5||w===7||w===9){C.push("-")}}var _=h-16;var O=new Uint8Array(_);for(var x=0;x<_;x++){O[x]=d.readUByte()}E(i._txtTrack.samples,{pts:t.pts,payloadType:c,uuid:C.join(""),userData:Object(s["utf8ArrayToStr"])(O),userDataBytes:O})}}else if(h<d.bytesAvailable){for(var P=0;P<h;P++){d.readUByte()}}}break}case 7:u=true;f=true;if(!a.sps){var F=new n["default"](e.data);var M=F.readSPS();a.width=M.width;a.height=M.height;a.pixelRatio=M.pixelRatio;a.sps=[e.data];a.duration=i._duration;var N=e.data.subarray(1,4);var B="avc1.";for(var U=0;U<3;U++){var G=N[U].toString(16);if(G.length<2){G="0"+G}B+=G}a.codec=B}break;case 8:u=true;if(!a.pps){a.pps=[e.data]}break;case 9:u=false;a.audFound=true;if(l){y(l,a)}l=i.avcSample=v(false,t.pts,t.dts,"");break;case 12:u=false;break;default:u=false;if(l){l.debug+="unknown NAL "+e.type+" "}break}if(l&&u){var j=l.units;j.push(e)}}));if(r&&l){y(l,a);this.avcSample=null}};t.getLastNalUnit=function e(){var t;var r=this.avcSample;var i;if(!r||r.units.length===0){var a=this._avcTrack.samples;r=a[a.length-1]}if((t=r)!==null&&t!==void 0&&t.units){var n=r.units;i=n[n.length-1]}return i};t.parseAVCNALu=function e(t){var r=t.byteLength;var i=this._avcTrack;var a=i.naluState||0;var n=a;var s=[];var o=0;var l;var u;var f;var d=-1;var c=0;if(a===-1){d=0;c=t[0]&31;a=0;o=1}while(o<r){l=t[o++];if(!a){a=l?0:1;continue}if(a===1){a=l?0:2;continue}if(!l){a=3}else if(l===1){if(d>=0){var h={data:t.subarray(d,o-a-1),type:c};s.push(h)}else{var v=this.getLastNalUnit();if(v){if(n&&o<=4-n){if(v.state){v.data=v.data.subarray(0,v.data.byteLength-n)}}u=o-a-1;if(u>0){var g=new Uint8Array(v.data.byteLength+u);g.set(v.data,0);g.set(t.subarray(0,u),v.data.byteLength);v.data=g;v.state=0}}}if(o<r){f=t[o]&31;d=o;c=f;a=0}else{a=-1}}else{a=0}}if(d>=0&&a>=0){var p={data:t.subarray(d,r),type:c,state:a};s.push(p)}if(s.length===0){var m=this.getLastNalUnit();if(m){var y=new Uint8Array(m.data.byteLength+t.byteLength);y.set(m.data,0);y.set(t,m.data.byteLength);m.data=y}}i.naluState=a;return s};t.parseAACPES=function e(t){var r=0;var a=this._audioTrack;var n=this.aacOverFlow;var s=t.data;if(n){this.aacOverFlow=null;var o=n.sample.unit.byteLength;var u=Math.min(n.missing,o);var c=o-u;n.sample.unit.set(s.subarray(0,u),c);a.samples.push(n.sample);r=n.missing}var h;var v;for(h=r,v=s.length;h<v-1;h++){if(i["isHeader"](s,h)){break}}if(h!==r){var g;var p;if(h<v-1){g="AAC PES did not start with ADTS header,offset:"+h;p=false}else{g="no ADTS header found in AAC PES";p=true}f["logger"].warn("parsing error:"+g);this.observer.emit(l["Events"].ERROR,l["Events"].ERROR,{type:d["ErrorTypes"].MEDIA_ERROR,details:d["ErrorDetails"].FRAG_PARSING_ERROR,fatal:p,reason:g});if(p){return}}i["initTrackConfig"](a,this.observer,s,h,this.audioCodec);var m;if(t.pts!==undefined){m=t.pts}else if(n){var y=i["getFrameDuration"](a.samplerate);m=n.sample.pts+y}else{f["logger"].warn("[tsdemuxer]: AAC PES unknown PTS");return}var E=0;while(h<v){if(i["isHeader"](s,h)){if(h+5<v){var T=i["appendFrame"](a,s,h,m,E);if(T){if(T.missing){this.aacOverFlow=T}else{h+=T.length;E++;continue}}}break}else{h++}}};t.parseMPEGPES=function e(t){var r=t.data;var i=r.length;var n=0;var s=0;var o=t.pts;if(o===undefined){f["logger"].warn("[tsdemuxer]: MPEG PES unknown PTS");return}while(s<i){if(a["isHeader"](r,s)){var l=a["appendFrame"](this._audioTrack,r,s,o,n);if(l){s+=l.length;n++}else{break}}else{s++}}};t.parseID3PES=function e(t){if(t.pts===undefined){f["logger"].warn("[tsdemuxer]: ID3 PES unknown PTS");return}this._id3Track.samples.push(t)};return e}();h.minProbeByteLength=188;function v(e,t,r,i){return{key:e,frame:false,pts:t,dts:r,units:[],debug:i,length:0}}function g(e,t){return(e[t+10]&31)<<8|e[t+11]}function p(e,t,r,i){var a={audio:-1,avc:-1,id3:-1,isAAC:true};var n=(e[t+1]&15)<<8|e[t+2];var s=t+3+n-4;var o=(e[t+10]&15)<<8|e[t+11];t+=12+o;while(t<s){var l=(e[t+1]&31)<<8|e[t+2];switch(e[t]){case 207:if(!i){f["logger"].log("ADTS AAC with AES-128-CBC frame encryption found in unencrypted stream");break}case 15:if(a.audio===-1){a.audio=l}break;case 21:if(a.id3===-1){a.id3=l}break;case 219:if(!i){f["logger"].log("H.264 with AES-128-CBC slice encryption found in unencrypted stream");break}case 27:if(a.avc===-1){a.avc=l}break;case 3:case 4:if(!r){f["logger"].log("MPEG audio found, not supported in this browser")}else if(a.audio===-1){a.audio=l;a.isAAC=false}break;case 36:f["logger"].warn("Unsupported HEVC stream type found");break}t+=((e[t+3]&15)<<8|e[t+4])+5}return a}function m(e){var t=0;var r;var i;var a;var n;var s;var o=e.data;if(!e||e.size===0){return null}while(o[0].length<19&&o.length>1){var l=new Uint8Array(o[0].length+o[1].length);l.set(o[0]);l.set(o[1],o[0].length);o[0]=l;o.splice(1,1)}r=o[0];var u=(r[0]<<16)+(r[1]<<8)+r[2];if(u===1){i=(r[4]<<8)+r[5];if(i&&i>e.size-6){return null}var d=r[7];if(d&192){n=(r[9]&14)*536870912+(r[10]&255)*4194304+(r[11]&254)*16384+(r[12]&255)*128+(r[13]&254)/2;if(d&64){s=(r[14]&14)*536870912+(r[15]&255)*4194304+(r[16]&254)*16384+(r[17]&255)*128+(r[18]&254)/2;if(n-s>60*9e4){f["logger"].warn(Math.round((n-s)/9e4)+"s delta between PTS and DTS, align them");n=s}}else{s=n}}a=r[8];var c=a+9;if(e.size<=c){return null}e.size-=c;var h=new Uint8Array(e.size);for(var v=0,g=o.length;v<g;v++){r=o[v];var p=r.byteLength;if(c){if(c>p){c-=p;continue}else{r=r.subarray(c);p-=c;c=0}}h.set(r,t);t+=p}if(i){i-=a+3}return{data:h,pts:n,dts:s,len:i}}return null}function y(e,t){if(e.units.length&&e.frame){if(e.pts===undefined){var r=t.samples;var i=r.length;if(i){var a=r[i-1];e.pts=a.pts;e.dts=a.dts}else{t.dropped++;return}}t.samples.push(e)}if(e.debug.length){f["logger"].log(e.pts+"/"+e.dts+":"+e.debug)}}function E(e,t){var r=e.length;if(r>0){if(t.pts>=e[r-1].pts){e.push(t)}else{for(var i=r-1;i>=0;i--){if(t.pts<e[i].pts){e.splice(i,0,t);break}}}}else{e.push(t)}}function T(e){var t=e.byteLength;var r=[];var i=1;while(i<t-2){if(e[i]===0&&e[i+1]===0&&e[i+2]===3){r.push(i+2);i+=2}else{i++}}if(r.length===0){return e}var a=t-r.length;var n=new Uint8Array(a);var s=0;for(i=0;i<a;s++,i++){if(s===r[0]){s++;r.shift()}n[i]=e[s]}return n}t["default"]=h},"./src/errors.ts":
182
182
  /*!***********************!*\
183
183
  !*** ./src/errors.ts ***!
184
184
  \***********************/
@@ -190,7 +190,7 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
190
190
  /*!********************!*\
191
191
  !*** ./src/hls.ts ***!
192
192
  \********************/
193
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return E}));var i=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js");var a=r(/*! ./loader/playlist-loader */"./src/loader/playlist-loader.ts");var n=r(/*! ./loader/key-loader */"./src/loader/key-loader.ts");var s=r(/*! ./controller/id3-track-controller */"./src/controller/id3-track-controller.ts");var o=r(/*! ./controller/latency-controller */"./src/controller/latency-controller.ts");var l=r(/*! ./controller/level-controller */"./src/controller/level-controller.ts");var u=r(/*! ./controller/fragment-tracker */"./src/controller/fragment-tracker.ts");var f=r(/*! ./controller/stream-controller */"./src/controller/stream-controller.ts");var c=r(/*! ./is-supported */"./src/is-supported.ts");var d=r(/*! ./utils/logger */"./src/utils/logger.ts");var h=r(/*! ./config */"./src/config.ts");var v=r(/*! eventemitter3 */"./node_modules/eventemitter3/index.js");var g=r(/*! ./events */"./src/events.ts");var p=r(/*! ./errors */"./src/errors.ts");function m(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function y(e,t,r){if(t)m(e.prototype,t);if(r)m(e,r);return e}var E=function(){e.isSupported=function e(){return Object(c["isSupported"])()};function e(t){if(t===void 0){t={}}this.config=void 0;this.userConfig=void 0;this.coreComponents=void 0;this.networkControllers=void 0;this._emitter=new v["EventEmitter"];this._autoLevelCapping=void 0;this.abrController=void 0;this.bufferController=void 0;this.capLevelController=void 0;this.latencyController=void 0;this.levelController=void 0;this.streamController=void 0;this.audioTrackController=void 0;this.subtitleTrackController=void 0;this.emeController=void 0;this.cmcdController=void 0;this._media=null;this.url=null;var r=this.config=Object(h["mergeConfig"])(e.DefaultConfig,t);this.userConfig=t;Object(d["enableLogs"])(r.debug);this._autoLevelCapping=-1;if(r.progressive){Object(h["enableStreamingMode"])(r)}var i=r.abrController,c=r.bufferController,g=r.capLevelController,p=r.fpsController;var m=this.abrController=new i(this);var y=this.bufferController=new c(this);var E=this.capLevelController=new g(this);var T=new p(this);var b=new a["default"](this);var S=new n["default"](this);var A=new s["default"](this);var L=this.levelController=new l["default"](this);var D=new u["FragmentTracker"](this);var k=this.streamController=new f["default"](this,D);E.setStreamController(k);T.setStreamController(k);var R=[L,k];this.networkControllers=R;var I=[b,S,m,y,E,T,A,D];this.audioTrackController=this.createController(r.audioTrackController,null,R);this.createController(r.audioStreamController,D,R);this.subtitleTrackController=this.createController(r.subtitleTrackController,null,R);this.createController(r.subtitleStreamController,D,R);this.createController(r.timelineController,null,I);this.emeController=this.createController(r.emeController,null,I);this.cmcdController=this.createController(r.cmcdController,null,I);this.latencyController=this.createController(o["default"],null,I);this.coreComponents=I}var t=e.prototype;t.createController=function e(t,r,i){if(t){var a=r?new t(this,r):new t(this);if(i){i.push(a)}return a}return null};t.on=function e(t,r,i){if(i===void 0){i=this}this._emitter.on(t,r,i)};t.once=function e(t,r,i){if(i===void 0){i=this}this._emitter.once(t,r,i)};t.removeAllListeners=function e(t){this._emitter.removeAllListeners(t)};t.off=function e(t,r,i,a){if(i===void 0){i=this}this._emitter.off(t,r,i,a)};t.listeners=function e(t){return this._emitter.listeners(t)};t.emit=function e(t,r,i){return this._emitter.emit(t,r,i)};t.trigger=function e(t,r){if(this.config.debug){return this.emit(t,t,r)}else{try{return this.emit(t,t,r)}catch(e){d["logger"].error("An internal error happened while handling event "+t+'. Error message: "'+e.message+'". Here is a stacktrace:',e);this.trigger(g["Events"].ERROR,{type:p["ErrorTypes"].OTHER_ERROR,details:p["ErrorDetails"].INTERNAL_EXCEPTION,fatal:false,event:t,error:e})}}return false};t.listenerCount=function e(t){return this._emitter.listenerCount(t)};t.destroy=function e(){d["logger"].log("destroy");this.trigger(g["Events"].DESTROYING,undefined);this.detachMedia();this.removeAllListeners();this._autoLevelCapping=-1;this.url=null;this.networkControllers.forEach((function(e){return e.destroy()}));this.networkControllers.length=0;this.coreComponents.forEach((function(e){return e.destroy()}));this.coreComponents.length=0};t.attachMedia=function e(t){d["logger"].log("attachMedia");this._media=t;this.trigger(g["Events"].MEDIA_ATTACHING,{media:t})};t.detachMedia=function e(){d["logger"].log("detachMedia");this.trigger(g["Events"].MEDIA_DETACHING,undefined);this._media=null};t.loadSource=function e(t){this.stopLoad();var r=this.media;var a=this.url;var n=this.url=i["buildAbsoluteURL"](self.location.href,t,{alwaysNormalize:true});d["logger"].log("loadSource:"+n);if(r&&a&&a!==n&&this.bufferController.hasSourceTypes()){this.detachMedia();this.attachMedia(r)}this.trigger(g["Events"].MANIFEST_LOADING,{url:t})};t.startLoad=function e(t){if(t===void 0){t=-1}d["logger"].log("startLoad("+t+")");this.networkControllers.forEach((function(e){e.startLoad(t)}))};t.stopLoad=function e(){d["logger"].log("stopLoad");this.networkControllers.forEach((function(e){e.stopLoad()}))};t.swapAudioCodec=function e(){d["logger"].log("swapAudioCodec");this.streamController.swapAudioCodec()};t.recoverMediaError=function e(){d["logger"].log("recoverMediaError");var t=this._media;this.detachMedia();if(t){this.attachMedia(t)}};t.removeLevel=function e(t,r){if(r===void 0){r=0}this.levelController.removeLevel(t,r)};y(e,[{key:"levels",get:function e(){var t=this.levelController.levels;return t?t:[]}},{key:"currentLevel",get:function e(){return this.streamController.currentLevel},set:function e(t){d["logger"].log("set currentLevel:"+t);this.loadLevel=t;this.abrController.clearTimer();this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function e(){return this.streamController.nextLevel},set:function e(t){d["logger"].log("set nextLevel:"+t);this.levelController.manualLevel=t;this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function e(){return this.levelController.level},set:function e(t){d["logger"].log("set loadLevel:"+t);this.levelController.manualLevel=t}},{key:"nextLoadLevel",get:function e(){return this.levelController.nextLoadLevel},set:function e(t){this.levelController.nextLoadLevel=t}},{key:"firstLevel",get:function e(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function e(t){d["logger"].log("set firstLevel:"+t);this.levelController.firstLevel=t}},{key:"startLevel",get:function e(){return this.levelController.startLevel},set:function e(t){d["logger"].log("set startLevel:"+t);if(t!==-1){t=Math.max(t,this.minAutoLevel)}this.levelController.startLevel=t}},{key:"capLevelToPlayerSize",get:function e(){return this.config.capLevelToPlayerSize},set:function e(t){var r=!!t;if(r!==this.config.capLevelToPlayerSize){if(r){this.capLevelController.startCapping()}else{this.capLevelController.stopCapping();this.autoLevelCapping=-1;this.streamController.nextLevelSwitch()}this.config.capLevelToPlayerSize=r}}},{key:"autoLevelCapping",get:function e(){return this._autoLevelCapping},set:function e(t){if(this._autoLevelCapping!==t){d["logger"].log("set autoLevelCapping:"+t);this._autoLevelCapping=t}}},{key:"bandwidthEstimate",get:function e(){var t=this.abrController.bwEstimator;if(!t){return NaN}return t.getEstimate()}},{key:"autoLevelEnabled",get:function e(){return this.levelController.manualLevel===-1}},{key:"manualLevel",get:function e(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function e(){var t=this.levels,r=this.config.minAutoBitrate;if(!t)return 0;var i=t.length;for(var a=0;a<i;a++){if(t[a].maxBitrate>r){return a}}return 0}},{key:"maxAutoLevel",get:function e(){var t=this.levels,r=this.autoLevelCapping;var i;if(r===-1&&t&&t.length){i=t.length-1}else{i=r}return i}},{key:"nextAutoLevel",get:function e(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)},set:function e(t){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,t)}},{key:"audioTracks",get:function e(){var t=this.audioTrackController;return t?t.audioTracks:[]}},{key:"audioTrack",get:function e(){var t=this.audioTrackController;return t?t.audioTrack:-1},set:function e(t){var r=this.audioTrackController;if(r){r.audioTrack=t}}},{key:"subtitleTracks",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleTracks:[]}},{key:"subtitleTrack",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleTrack:-1},set:function e(t){var r=this.subtitleTrackController;if(r){r.subtitleTrack=t}}},{key:"media",get:function e(){return this._media}},{key:"subtitleDisplay",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleDisplay:false},set:function e(t){var r=this.subtitleTrackController;if(r){r.subtitleDisplay=t}}},{key:"lowLatencyMode",get:function e(){return this.config.lowLatencyMode},set:function e(t){this.config.lowLatencyMode=t}},{key:"liveSyncPosition",get:function e(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function e(){return this.latencyController.latency}},{key:"maxLatency",get:function e(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function e(){return this.latencyController.targetLatency}},{key:"drift",get:function e(){return this.latencyController.drift}},{key:"forceStartLoad",get:function e(){return this.streamController.forceStartLoad}}],[{key:"version",get:function e(){return"1.1.5"}},{key:"Events",get:function e(){return g["Events"]}},{key:"ErrorTypes",get:function e(){return p["ErrorTypes"]}},{key:"ErrorDetails",get:function e(){return p["ErrorDetails"]}},{key:"DefaultConfig",get:function t(){if(!e.defaultConfig){return h["hlsDefaultConfig"]}return e.defaultConfig},set:function t(r){e.defaultConfig=r}}]);return e}();E.defaultConfig=void 0},"./src/is-supported.ts":
193
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return E}));var i=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js");var a=r(/*! ./loader/playlist-loader */"./src/loader/playlist-loader.ts");var n=r(/*! ./loader/key-loader */"./src/loader/key-loader.ts");var s=r(/*! ./controller/id3-track-controller */"./src/controller/id3-track-controller.ts");var o=r(/*! ./controller/latency-controller */"./src/controller/latency-controller.ts");var l=r(/*! ./controller/level-controller */"./src/controller/level-controller.ts");var u=r(/*! ./controller/fragment-tracker */"./src/controller/fragment-tracker.ts");var f=r(/*! ./controller/stream-controller */"./src/controller/stream-controller.ts");var d=r(/*! ./is-supported */"./src/is-supported.ts");var c=r(/*! ./utils/logger */"./src/utils/logger.ts");var h=r(/*! ./config */"./src/config.ts");var v=r(/*! eventemitter3 */"./node_modules/eventemitter3/index.js");var g=r(/*! ./events */"./src/events.ts");var p=r(/*! ./errors */"./src/errors.ts");function m(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function y(e,t,r){if(t)m(e.prototype,t);if(r)m(e,r);return e}var E=function(){e.isSupported=function e(){return Object(d["isSupported"])()};function e(t){if(t===void 0){t={}}this.config=void 0;this.userConfig=void 0;this.coreComponents=void 0;this.networkControllers=void 0;this._emitter=new v["EventEmitter"];this._autoLevelCapping=void 0;this.abrController=void 0;this.bufferController=void 0;this.capLevelController=void 0;this.latencyController=void 0;this.levelController=void 0;this.streamController=void 0;this.audioTrackController=void 0;this.subtitleTrackController=void 0;this.emeController=void 0;this.cmcdController=void 0;this._media=null;this.url=null;var r=this.config=Object(h["mergeConfig"])(e.DefaultConfig,t);this.userConfig=t;Object(c["enableLogs"])(r.debug);this._autoLevelCapping=-1;if(r.progressive){Object(h["enableStreamingMode"])(r)}var i=r.abrController,d=r.bufferController,g=r.capLevelController,p=r.fpsController;var m=this.abrController=new i(this);var y=this.bufferController=new d(this);var E=this.capLevelController=new g(this);var T=new p(this);var b=new a["default"](this);var S=new n["default"](this);var A=new s["default"](this);var L=this.levelController=new l["default"](this);var D=new u["FragmentTracker"](this);var k=this.streamController=new f["default"](this,D);E.setStreamController(k);T.setStreamController(k);var R=[L,k];this.networkControllers=R;var I=[b,S,m,y,E,T,A,D];this.audioTrackController=this.createController(r.audioTrackController,null,R);this.createController(r.audioStreamController,D,R);this.subtitleTrackController=this.createController(r.subtitleTrackController,null,R);this.createController(r.subtitleStreamController,D,R);this.createController(r.timelineController,null,I);this.emeController=this.createController(r.emeController,null,I);this.cmcdController=this.createController(r.cmcdController,null,I);this.latencyController=this.createController(o["default"],null,I);this.coreComponents=I}var t=e.prototype;t.createController=function e(t,r,i){if(t){var a=r?new t(this,r):new t(this);if(i){i.push(a)}return a}return null};t.on=function e(t,r,i){if(i===void 0){i=this}this._emitter.on(t,r,i)};t.once=function e(t,r,i){if(i===void 0){i=this}this._emitter.once(t,r,i)};t.removeAllListeners=function e(t){this._emitter.removeAllListeners(t)};t.off=function e(t,r,i,a){if(i===void 0){i=this}this._emitter.off(t,r,i,a)};t.listeners=function e(t){return this._emitter.listeners(t)};t.emit=function e(t,r,i){return this._emitter.emit(t,r,i)};t.trigger=function e(t,r){if(this.config.debug){return this.emit(t,t,r)}else{try{return this.emit(t,t,r)}catch(e){c["logger"].error("An internal error happened while handling event "+t+'. Error message: "'+e.message+'". Here is a stacktrace:',e);this.trigger(g["Events"].ERROR,{type:p["ErrorTypes"].OTHER_ERROR,details:p["ErrorDetails"].INTERNAL_EXCEPTION,fatal:false,event:t,error:e})}}return false};t.listenerCount=function e(t){return this._emitter.listenerCount(t)};t.destroy=function e(){c["logger"].log("destroy");this.trigger(g["Events"].DESTROYING,undefined);this.detachMedia();this.removeAllListeners();this._autoLevelCapping=-1;this.url=null;this.networkControllers.forEach((function(e){return e.destroy()}));this.networkControllers.length=0;this.coreComponents.forEach((function(e){return e.destroy()}));this.coreComponents.length=0};t.attachMedia=function e(t){c["logger"].log("attachMedia");this._media=t;this.trigger(g["Events"].MEDIA_ATTACHING,{media:t})};t.detachMedia=function e(){c["logger"].log("detachMedia");this.trigger(g["Events"].MEDIA_DETACHING,undefined);this._media=null};t.loadSource=function e(t){this.stopLoad();var r=this.media;var a=this.url;var n=this.url=i["buildAbsoluteURL"](self.location.href,t,{alwaysNormalize:true});c["logger"].log("loadSource:"+n);if(r&&a&&a!==n&&this.bufferController.hasSourceTypes()){this.detachMedia();this.attachMedia(r)}this.trigger(g["Events"].MANIFEST_LOADING,{url:t})};t.startLoad=function e(t){if(t===void 0){t=-1}c["logger"].log("startLoad("+t+")");this.networkControllers.forEach((function(e){e.startLoad(t)}))};t.stopLoad=function e(){c["logger"].log("stopLoad");this.networkControllers.forEach((function(e){e.stopLoad()}))};t.swapAudioCodec=function e(){c["logger"].log("swapAudioCodec");this.streamController.swapAudioCodec()};t.recoverMediaError=function e(){c["logger"].log("recoverMediaError");var t=this._media;this.detachMedia();if(t){this.attachMedia(t)}};t.removeLevel=function e(t,r){if(r===void 0){r=0}this.levelController.removeLevel(t,r)};y(e,[{key:"levels",get:function e(){var t=this.levelController.levels;return t?t:[]}},{key:"currentLevel",get:function e(){return this.streamController.currentLevel},set:function e(t){c["logger"].log("set currentLevel:"+t);this.loadLevel=t;this.abrController.clearTimer();this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function e(){return this.streamController.nextLevel},set:function e(t){c["logger"].log("set nextLevel:"+t);this.levelController.manualLevel=t;this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function e(){return this.levelController.level},set:function e(t){c["logger"].log("set loadLevel:"+t);this.levelController.manualLevel=t}},{key:"nextLoadLevel",get:function e(){return this.levelController.nextLoadLevel},set:function e(t){this.levelController.nextLoadLevel=t}},{key:"firstLevel",get:function e(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function e(t){c["logger"].log("set firstLevel:"+t);this.levelController.firstLevel=t}},{key:"startLevel",get:function e(){return this.levelController.startLevel},set:function e(t){c["logger"].log("set startLevel:"+t);if(t!==-1){t=Math.max(t,this.minAutoLevel)}this.levelController.startLevel=t}},{key:"capLevelToPlayerSize",get:function e(){return this.config.capLevelToPlayerSize},set:function e(t){var r=!!t;if(r!==this.config.capLevelToPlayerSize){if(r){this.capLevelController.startCapping()}else{this.capLevelController.stopCapping();this.autoLevelCapping=-1;this.streamController.nextLevelSwitch()}this.config.capLevelToPlayerSize=r}}},{key:"autoLevelCapping",get:function e(){return this._autoLevelCapping},set:function e(t){if(this._autoLevelCapping!==t){c["logger"].log("set autoLevelCapping:"+t);this._autoLevelCapping=t}}},{key:"bandwidthEstimate",get:function e(){var t=this.abrController.bwEstimator;if(!t){return NaN}return t.getEstimate()}},{key:"autoLevelEnabled",get:function e(){return this.levelController.manualLevel===-1}},{key:"manualLevel",get:function e(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function e(){var t=this.levels,r=this.config.minAutoBitrate;if(!t)return 0;var i=t.length;for(var a=0;a<i;a++){if(t[a].maxBitrate>r){return a}}return 0}},{key:"maxAutoLevel",get:function e(){var t=this.levels,r=this.autoLevelCapping;var i;if(r===-1&&t&&t.length){i=t.length-1}else{i=r}return i}},{key:"nextAutoLevel",get:function e(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)},set:function e(t){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,t)}},{key:"audioTracks",get:function e(){var t=this.audioTrackController;return t?t.audioTracks:[]}},{key:"audioTrack",get:function e(){var t=this.audioTrackController;return t?t.audioTrack:-1},set:function e(t){var r=this.audioTrackController;if(r){r.audioTrack=t}}},{key:"subtitleTracks",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleTracks:[]}},{key:"subtitleTrack",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleTrack:-1},set:function e(t){var r=this.subtitleTrackController;if(r){r.subtitleTrack=t}}},{key:"media",get:function e(){return this._media}},{key:"subtitleDisplay",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleDisplay:false},set:function e(t){var r=this.subtitleTrackController;if(r){r.subtitleDisplay=t}}},{key:"lowLatencyMode",get:function e(){return this.config.lowLatencyMode},set:function e(t){this.config.lowLatencyMode=t}},{key:"liveSyncPosition",get:function e(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function e(){return this.latencyController.latency}},{key:"maxLatency",get:function e(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function e(){return this.latencyController.targetLatency}},{key:"drift",get:function e(){return this.latencyController.drift}},{key:"forceStartLoad",get:function e(){return this.streamController.forceStartLoad}}],[{key:"version",get:function e(){return"1.1.5"}},{key:"Events",get:function e(){return g["Events"]}},{key:"ErrorTypes",get:function e(){return p["ErrorTypes"]}},{key:"ErrorDetails",get:function e(){return p["ErrorDetails"]}},{key:"DefaultConfig",get:function t(){if(!e.defaultConfig){return h["hlsDefaultConfig"]}return e.defaultConfig},set:function t(r){e.defaultConfig=r}}]);return e}();E.defaultConfig=void 0},"./src/is-supported.ts":
194
194
  /*!*****************************!*\
195
195
  !*** ./src/is-supported.ts ***!
196
196
  \*****************************/
@@ -198,15 +198,15 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
198
198
  /*!***************************************!*\
199
199
  !*** ./src/loader/fragment-loader.ts ***!
200
200
  \***************************************/
201
- /*! exports provided: default, LoadError */function(e,t,r){r.r(t);r.d(t,"default",(function(){return h}));r.d(t,"LoadError",(function(){return g}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../errors */"./src/errors.ts");function n(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;f(e,t)}function s(e){var t=typeof Map==="function"?new Map:undefined;s=function e(r){if(r===null||!u(r))return r;if(typeof r!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(r))return t.get(r);t.set(r,i)}function i(){return o(r,arguments,c(this).constructor)}i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:false,writable:true,configurable:true}});return f(i,r)};return s(e)}function o(e,t,r){if(l()){o=Reflect.construct}else{o=function e(t,r,i){var a=[null];a.push.apply(a,r);var n=Function.bind.apply(t,a);var s=new n;if(i)f(s,i.prototype);return s}}return o.apply(null,arguments)}function l(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));return true}catch(e){return false}}function u(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function f(e,t){f=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return f(e,t)}function c(e){c=Object.setPrototypeOf?Object.getPrototypeOf:function e(t){return t.__proto__||Object.getPrototypeOf(t)};return c(e)}var d=Math.pow(2,17);var h=function(){function e(e){this.config=void 0;this.loader=null;this.partLoadTimeout=-1;this.config=e}var t=e.prototype;t.destroy=function e(){if(this.loader){this.loader.destroy();this.loader=null}};t.abort=function e(){if(this.loader){this.loader.abort()}};t.load=function e(t,r){var i=this;var n=t.url;if(!n){return Promise.reject(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_ERROR,fatal:false,frag:t,networkDetails:null},"Fragment does not have a "+(n?"part list":"url")))}this.abort();var s=this.config;var o=s.fLoader;var l=s.loader;return new Promise((function(e,n){if(i.loader){i.loader.destroy()}var u=i.loader=t.loader=o?new o(s):new l(s);var f=v(t);var c={timeout:s.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:s.fragLoadingMaxRetryTimeout,highWaterMark:d};t.stats=u.stats;u.load(f,c,{onSuccess:function r(a,n,s,o){i.resetLoader(t,u);e({frag:t,part:null,payload:a.data,networkDetails:o})},onError:function e(r,s,o){i.resetLoader(t,u);n(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_ERROR,fatal:false,frag:t,response:r,networkDetails:o}))},onAbort:function e(r,s,o){i.resetLoader(t,u);n(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].INTERNAL_ABORTED,fatal:false,frag:t,networkDetails:o}))},onTimeout:function e(r,s,o){i.resetLoader(t,u);n(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_TIMEOUT,fatal:false,frag:t,networkDetails:o}))},onProgress:function e(i,a,n,s){if(r){r({frag:t,part:null,payload:n,networkDetails:s})}}})}))};t.loadPart=function e(t,r,i){var n=this;this.abort();var s=this.config;var o=s.fLoader;var l=s.loader;return new Promise((function(e,u){if(n.loader){n.loader.destroy()}var f=n.loader=t.loader=o?new o(s):new l(s);var c=v(t,r);var h={timeout:s.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:s.fragLoadingMaxRetryTimeout,highWaterMark:d};r.stats=f.stats;f.load(c,h,{onSuccess:function a(s,o,l,u){n.resetLoader(t,f);n.updateStatsFromPart(t,r);var c={frag:t,part:r,payload:s.data,networkDetails:u};i(c);e(c)},onError:function e(i,s,o){n.resetLoader(t,f);u(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_ERROR,fatal:false,frag:t,part:r,response:i,networkDetails:o}))},onAbort:function e(i,s,o){t.stats.aborted=r.stats.aborted;n.resetLoader(t,f);u(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].INTERNAL_ABORTED,fatal:false,frag:t,part:r,networkDetails:o}))},onTimeout:function e(i,s,o){n.resetLoader(t,f);u(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_TIMEOUT,fatal:false,frag:t,part:r,networkDetails:o}))}})}))};t.updateStatsFromPart=function e(t,r){var i=t.stats;var a=r.stats;var n=a.total;i.loaded+=a.loaded;if(n){var s=Math.round(t.duration/r.duration);var o=Math.min(Math.round(i.loaded/n),s);var l=s-o;var u=l*Math.round(i.loaded/o);i.total=i.loaded+u}else{i.total=Math.max(i.loaded,i.total)}var f=i.loading;var c=a.loading;if(f.start){f.first+=c.first-c.start}else{f.start=c.start;f.first=c.first}f.end=c.end};t.resetLoader=function e(t,r){t.loader=null;if(this.loader===r){self.clearTimeout(this.partLoadTimeout);this.loader=null}r.destroy()};return e}();function v(e,t){if(t===void 0){t=null}var r=t||e;var a={frag:e,part:t,responseType:"arraybuffer",url:r.url,headers:{},rangeStart:0,rangeEnd:0};var n=r.byteRangeStartOffset;var s=r.byteRangeEndOffset;if(Object(i["isFiniteNumber"])(n)&&Object(i["isFiniteNumber"])(s)){a.rangeStart=n;a.rangeEnd=s}return a}var g=function(e){n(t,e);function t(t){var r;for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n<i;n++){a[n-1]=arguments[n]}r=e.call.apply(e,[this].concat(a))||this;r.data=void 0;r.data=t;return r}return t}(s(Error))},"./src/loader/fragment.ts":
201
+ /*! exports provided: default, LoadError */function(e,t,r){r.r(t);r.d(t,"default",(function(){return h}));r.d(t,"LoadError",(function(){return g}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../errors */"./src/errors.ts");function n(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;f(e,t)}function s(e){var t=typeof Map==="function"?new Map:undefined;s=function e(r){if(r===null||!u(r))return r;if(typeof r!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(r))return t.get(r);t.set(r,i)}function i(){return o(r,arguments,d(this).constructor)}i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:false,writable:true,configurable:true}});return f(i,r)};return s(e)}function o(e,t,r){if(l()){o=Reflect.construct}else{o=function e(t,r,i){var a=[null];a.push.apply(a,r);var n=Function.bind.apply(t,a);var s=new n;if(i)f(s,i.prototype);return s}}return o.apply(null,arguments)}function l(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));return true}catch(e){return false}}function u(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function f(e,t){f=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return f(e,t)}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(t){return t.__proto__||Object.getPrototypeOf(t)};return d(e)}var c=Math.pow(2,17);var h=function(){function e(e){this.config=void 0;this.loader=null;this.partLoadTimeout=-1;this.config=e}var t=e.prototype;t.destroy=function e(){if(this.loader){this.loader.destroy();this.loader=null}};t.abort=function e(){if(this.loader){this.loader.abort()}};t.load=function e(t,r){var i=this;var n=t.url;if(!n){return Promise.reject(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_ERROR,fatal:false,frag:t,networkDetails:null},"Fragment does not have a "+(n?"part list":"url")))}this.abort();var s=this.config;var o=s.fLoader;var l=s.loader;return new Promise((function(e,n){if(i.loader){i.loader.destroy()}var u=i.loader=t.loader=o?new o(s):new l(s);var f=v(t);var d={timeout:s.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:s.fragLoadingMaxRetryTimeout,highWaterMark:c};t.stats=u.stats;u.load(f,d,{onSuccess:function r(a,n,s,o){i.resetLoader(t,u);e({frag:t,part:null,payload:a.data,networkDetails:o})},onError:function e(r,s,o){i.resetLoader(t,u);n(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_ERROR,fatal:false,frag:t,response:r,networkDetails:o}))},onAbort:function e(r,s,o){i.resetLoader(t,u);n(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].INTERNAL_ABORTED,fatal:false,frag:t,networkDetails:o}))},onTimeout:function e(r,s,o){i.resetLoader(t,u);n(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_TIMEOUT,fatal:false,frag:t,networkDetails:o}))},onProgress:function e(i,a,n,s){if(r){r({frag:t,part:null,payload:n,networkDetails:s})}}})}))};t.loadPart=function e(t,r,i){var n=this;this.abort();var s=this.config;var o=s.fLoader;var l=s.loader;return new Promise((function(e,u){if(n.loader){n.loader.destroy()}var f=n.loader=t.loader=o?new o(s):new l(s);var d=v(t,r);var h={timeout:s.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:s.fragLoadingMaxRetryTimeout,highWaterMark:c};r.stats=f.stats;f.load(d,h,{onSuccess:function a(s,o,l,u){n.resetLoader(t,f);n.updateStatsFromPart(t,r);var d={frag:t,part:r,payload:s.data,networkDetails:u};i(d);e(d)},onError:function e(i,s,o){n.resetLoader(t,f);u(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_ERROR,fatal:false,frag:t,part:r,response:i,networkDetails:o}))},onAbort:function e(i,s,o){t.stats.aborted=r.stats.aborted;n.resetLoader(t,f);u(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].INTERNAL_ABORTED,fatal:false,frag:t,part:r,networkDetails:o}))},onTimeout:function e(i,s,o){n.resetLoader(t,f);u(new g({type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].FRAG_LOAD_TIMEOUT,fatal:false,frag:t,part:r,networkDetails:o}))}})}))};t.updateStatsFromPart=function e(t,r){var i=t.stats;var a=r.stats;var n=a.total;i.loaded+=a.loaded;if(n){var s=Math.round(t.duration/r.duration);var o=Math.min(Math.round(i.loaded/n),s);var l=s-o;var u=l*Math.round(i.loaded/o);i.total=i.loaded+u}else{i.total=Math.max(i.loaded,i.total)}var f=i.loading;var d=a.loading;if(f.start){f.first+=d.first-d.start}else{f.start=d.start;f.first=d.first}f.end=d.end};t.resetLoader=function e(t,r){t.loader=null;if(this.loader===r){self.clearTimeout(this.partLoadTimeout);this.loader=null}r.destroy()};return e}();function v(e,t){if(t===void 0){t=null}var r=t||e;var a={frag:e,part:t,responseType:"arraybuffer",url:r.url,headers:{},rangeStart:0,rangeEnd:0};var n=r.byteRangeStartOffset;var s=r.byteRangeEndOffset;if(Object(i["isFiniteNumber"])(n)&&Object(i["isFiniteNumber"])(s)){a.rangeStart=n;a.rangeEnd=s}return a}var g=function(e){n(t,e);function t(t){var r;for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n<i;n++){a[n-1]=arguments[n]}r=e.call.apply(e,[this].concat(a))||this;r.data=void 0;r.data=t;return r}return t}(s(Error))},"./src/loader/fragment.ts":
202
202
  /*!********************************!*\
203
203
  !*** ./src/loader/fragment.ts ***!
204
204
  \********************************/
205
- /*! exports provided: ElementaryStreamTypes, BaseSegment, Fragment, Part */function(e,t,r){r.r(t);r.d(t,"ElementaryStreamTypes",(function(){return d}));r.d(t,"BaseSegment",(function(){return h}));r.d(t,"Fragment",(function(){return v}));r.d(t,"Part",(function(){return g}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! ./level-key */"./src/loader/level-key.ts");var o=r(/*! ./load-stats */"./src/loader/load-stats.ts");function l(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;u(e,t)}function u(e,t){u=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return u(e,t)}function f(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function c(e,t,r){if(t)f(e.prototype,t);if(r)f(e,r);return e}var d;(function(e){e["AUDIO"]="audio";e["VIDEO"]="video";e["AUDIOVIDEO"]="audiovideo"})(d||(d={}));var h=function(){function e(e){var t;this._byteRange=null;this._url=null;this.baseurl=void 0;this.relurl=void 0;this.elementaryStreams=(t={},t[d.AUDIO]=null,t[d.VIDEO]=null,t[d.AUDIOVIDEO]=null,t);this.baseurl=e}var t=e.prototype;t.setByteRange=function e(t,r){var i=t.split("@",2);var a=[];if(i.length===1){a[0]=r?r.byteRangeEndOffset:0}else{a[0]=parseInt(i[1])}a[1]=parseInt(i[0])+a[0];this._byteRange=a};c(e,[{key:"byteRange",get:function e(){if(!this._byteRange){return[]}return this._byteRange}},{key:"byteRangeStartOffset",get:function e(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function e(){return this.byteRange[1]}},{key:"url",get:function e(){if(!this._url&&this.baseurl&&this.relurl){this._url=Object(a["buildAbsoluteURL"])(this.baseurl,this.relurl,{alwaysNormalize:true})}return this._url||""},set:function e(t){this._url=t}}]);return e}();var v=function(e){l(t,e);function t(t,r){var i;i=e.call(this,r)||this;i._decryptdata=null;i.rawProgramDateTime=null;i.programDateTime=null;i.tagList=[];i.duration=0;i.sn=0;i.levelkey=void 0;i.type=void 0;i.loader=null;i.level=-1;i.cc=0;i.startPTS=void 0;i.endPTS=void 0;i.appendedPTS=void 0;i.startDTS=void 0;i.endDTS=void 0;i.start=0;i.deltaPTS=void 0;i.maxStartPTS=void 0;i.minEndPTS=void 0;i.stats=new o["LoadStats"];i.urlId=0;i.data=void 0;i.bitrateTest=false;i.title=null;i.initSegment=null;i.type=t;return i}var r=t.prototype;r.createInitializationVector=function e(t){var r=new Uint8Array(16);for(var i=12;i<16;i++){r[i]=t>>8*(15-i)&255}return r};r.setDecryptDataFromLevelKey=function e(t,r){var i=t;if((t===null||t===void 0?void 0:t.method)==="AES-128"&&t.uri&&!t.iv){i=s["LevelKey"].fromURI(t.uri);i.method=t.method;i.iv=this.createInitializationVector(r);i.keyFormat="identity"}return i};r.setElementaryStreamInfo=function e(t,r,i,a,n,s){if(s===void 0){s=false}var o=this.elementaryStreams;var l=o[t];if(!l){o[t]={startPTS:r,endPTS:i,startDTS:a,endDTS:n,partial:s};return}l.startPTS=Math.min(l.startPTS,r);l.endPTS=Math.max(l.endPTS,i);l.startDTS=Math.min(l.startDTS,a);l.endDTS=Math.max(l.endDTS,n)};r.clearElementaryStreamInfo=function e(){var t=this.elementaryStreams;t[d.AUDIO]=null;t[d.VIDEO]=null;t[d.AUDIOVIDEO]=null};c(t,[{key:"decryptdata",get:function e(){if(!this.levelkey&&!this._decryptdata){return null}if(!this._decryptdata&&this.levelkey){var t=this.sn;if(typeof t!=="number"){if(this.levelkey&&this.levelkey.method==="AES-128"&&!this.levelkey.iv){n["logger"].warn('missing IV for initialization segment with method="'+this.levelkey.method+'" - compliance issue')}t=0}this._decryptdata=this.setDecryptDataFromLevelKey(this.levelkey,t)}return this._decryptdata}},{key:"end",get:function e(){return this.start+this.duration}},{key:"endProgramDateTime",get:function e(){if(this.programDateTime===null){return null}if(!Object(i["isFiniteNumber"])(this.programDateTime)){return null}var t=!Object(i["isFiniteNumber"])(this.duration)?0:this.duration;return this.programDateTime+t*1e3}},{key:"encrypted",get:function e(){var t;if((t=this.decryptdata)!==null&&t!==void 0&&t.keyFormat&&this.decryptdata.uri){return true}return false}}]);return t}(h);var g=function(e){l(t,e);function t(t,r,i,a,n){var s;s=e.call(this,i)||this;s.fragOffset=0;s.duration=0;s.gap=false;s.independent=false;s.relurl=void 0;s.fragment=void 0;s.index=void 0;s.stats=new o["LoadStats"];s.duration=t.decimalFloatingPoint("DURATION");s.gap=t.bool("GAP");s.independent=t.bool("INDEPENDENT");s.relurl=t.enumeratedString("URI");s.fragment=r;s.index=a;var l=t.enumeratedString("BYTERANGE");if(l){s.setByteRange(l,n)}if(n){s.fragOffset=n.fragOffset+n.duration}return s}c(t,[{key:"start",get:function e(){return this.fragment.start+this.fragOffset}},{key:"end",get:function e(){return this.start+this.duration}},{key:"loaded",get:function e(){var t=this.elementaryStreams;return!!(t.audio||t.video||t.audiovideo)}}]);return t}(h)},"./src/loader/key-loader.ts":
205
+ /*! exports provided: ElementaryStreamTypes, BaseSegment, Fragment, Part */function(e,t,r){r.r(t);r.d(t,"ElementaryStreamTypes",(function(){return c}));r.d(t,"BaseSegment",(function(){return h}));r.d(t,"Fragment",(function(){return v}));r.d(t,"Part",(function(){return g}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=r(/*! ./level-key */"./src/loader/level-key.ts");var o=r(/*! ./load-stats */"./src/loader/load-stats.ts");function l(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;u(e,t)}function u(e,t){u=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return u(e,t)}function f(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function d(e,t,r){if(t)f(e.prototype,t);if(r)f(e,r);return e}var c;(function(e){e["AUDIO"]="audio";e["VIDEO"]="video";e["AUDIOVIDEO"]="audiovideo"})(c||(c={}));var h=function(){function e(e){var t;this._byteRange=null;this._url=null;this.baseurl=void 0;this.relurl=void 0;this.elementaryStreams=(t={},t[c.AUDIO]=null,t[c.VIDEO]=null,t[c.AUDIOVIDEO]=null,t);this.baseurl=e}var t=e.prototype;t.setByteRange=function e(t,r){var i=t.split("@",2);var a=[];if(i.length===1){a[0]=r?r.byteRangeEndOffset:0}else{a[0]=parseInt(i[1])}a[1]=parseInt(i[0])+a[0];this._byteRange=a};d(e,[{key:"byteRange",get:function e(){if(!this._byteRange){return[]}return this._byteRange}},{key:"byteRangeStartOffset",get:function e(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function e(){return this.byteRange[1]}},{key:"url",get:function e(){if(!this._url&&this.baseurl&&this.relurl){this._url=Object(a["buildAbsoluteURL"])(this.baseurl,this.relurl,{alwaysNormalize:true})}return this._url||""},set:function e(t){this._url=t}}]);return e}();var v=function(e){l(t,e);function t(t,r){var i;i=e.call(this,r)||this;i._decryptdata=null;i.rawProgramDateTime=null;i.programDateTime=null;i.tagList=[];i.duration=0;i.sn=0;i.levelkey=void 0;i.type=void 0;i.loader=null;i.level=-1;i.cc=0;i.startPTS=void 0;i.endPTS=void 0;i.appendedPTS=void 0;i.startDTS=void 0;i.endDTS=void 0;i.start=0;i.deltaPTS=void 0;i.maxStartPTS=void 0;i.minEndPTS=void 0;i.stats=new o["LoadStats"];i.urlId=0;i.data=void 0;i.bitrateTest=false;i.title=null;i.initSegment=null;i.type=t;return i}var r=t.prototype;r.createInitializationVector=function e(t){var r=new Uint8Array(16);for(var i=12;i<16;i++){r[i]=t>>8*(15-i)&255}return r};r.setDecryptDataFromLevelKey=function e(t,r){var i=t;if((t===null||t===void 0?void 0:t.method)==="AES-128"&&t.uri&&!t.iv){i=s["LevelKey"].fromURI(t.uri);i.method=t.method;i.iv=this.createInitializationVector(r);i.keyFormat="identity"}return i};r.setElementaryStreamInfo=function e(t,r,i,a,n,s){if(s===void 0){s=false}var o=this.elementaryStreams;var l=o[t];if(!l){o[t]={startPTS:r,endPTS:i,startDTS:a,endDTS:n,partial:s};return}l.startPTS=Math.min(l.startPTS,r);l.endPTS=Math.max(l.endPTS,i);l.startDTS=Math.min(l.startDTS,a);l.endDTS=Math.max(l.endDTS,n)};r.clearElementaryStreamInfo=function e(){var t=this.elementaryStreams;t[c.AUDIO]=null;t[c.VIDEO]=null;t[c.AUDIOVIDEO]=null};d(t,[{key:"decryptdata",get:function e(){if(!this.levelkey&&!this._decryptdata){return null}if(!this._decryptdata&&this.levelkey){var t=this.sn;if(typeof t!=="number"){if(this.levelkey&&this.levelkey.method==="AES-128"&&!this.levelkey.iv){n["logger"].warn('missing IV for initialization segment with method="'+this.levelkey.method+'" - compliance issue')}t=0}this._decryptdata=this.setDecryptDataFromLevelKey(this.levelkey,t)}return this._decryptdata}},{key:"end",get:function e(){return this.start+this.duration}},{key:"endProgramDateTime",get:function e(){if(this.programDateTime===null){return null}if(!Object(i["isFiniteNumber"])(this.programDateTime)){return null}var t=!Object(i["isFiniteNumber"])(this.duration)?0:this.duration;return this.programDateTime+t*1e3}},{key:"encrypted",get:function e(){var t;if((t=this.decryptdata)!==null&&t!==void 0&&t.keyFormat&&this.decryptdata.uri){return true}return false}}]);return t}(h);var g=function(e){l(t,e);function t(t,r,i,a,n){var s;s=e.call(this,i)||this;s.fragOffset=0;s.duration=0;s.gap=false;s.independent=false;s.relurl=void 0;s.fragment=void 0;s.index=void 0;s.stats=new o["LoadStats"];s.duration=t.decimalFloatingPoint("DURATION");s.gap=t.bool("GAP");s.independent=t.bool("INDEPENDENT");s.relurl=t.enumeratedString("URI");s.fragment=r;s.index=a;var l=t.enumeratedString("BYTERANGE");if(l){s.setByteRange(l,n)}if(n){s.fragOffset=n.fragOffset+n.duration}return s}d(t,[{key:"start",get:function e(){return this.fragment.start+this.fragOffset}},{key:"end",get:function e(){return this.start+this.duration}},{key:"loaded",get:function e(){var t=this.elementaryStreams;return!!(t.audio||t.video||t.audiovideo)}}]);return t}(h)},"./src/loader/key-loader.ts":
206
206
  /*!**********************************!*\
207
207
  !*** ./src/loader/key-loader.ts ***!
208
208
  \**********************************/
209
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return s}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=function(){function e(e){this.hls=void 0;this.loaders={};this.decryptkey=null;this.decrypturl=null;this.hls=e;this._registerListeners()}var t=e.prototype;t._registerListeners=function e(){this.hls.on(i["Events"].KEY_LOADING,this.onKeyLoading,this)};t._unregisterListeners=function e(){this.hls.off(i["Events"].KEY_LOADING,this.onKeyLoading)};t.destroy=function e(){this._unregisterListeners();for(var t in this.loaders){var r=this.loaders[t];if(r){r.destroy()}}this.loaders={}};t.onKeyLoading=function e(t,r){var a=r.frag;var s=a.type;var o=this.loaders[s];if(!a.decryptdata){n["logger"].warn("Missing decryption data on fragment in onKeyLoading");return}var l=a.decryptdata.uri;if(l!==this.decrypturl||this.decryptkey===null){var u=this.hls.config;if(o){n["logger"].warn("abort previous key loader for type:"+s);o.abort()}if(!l){n["logger"].warn("key uri is falsy");return}var f=u.loader;var c=a.loader=this.loaders[s]=new f(u);this.decrypturl=l;this.decryptkey=null;var d={url:l,frag:a,responseType:"arraybuffer"};var h={timeout:u.fragLoadingTimeOut,maxRetry:0,retryDelay:u.fragLoadingRetryDelay,maxRetryDelay:u.fragLoadingMaxRetryTimeout,highWaterMark:0};var v={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};c.load(d,h,v)}else if(this.decryptkey){a.decryptdata.key=this.decryptkey;this.hls.trigger(i["Events"].KEY_LOADED,{frag:a})}};t.loadsuccess=function e(t,r,a){var s=a.frag;if(!s.decryptdata){n["logger"].error("after key load, decryptdata unset");return}this.decryptkey=s.decryptdata.key=new Uint8Array(t.data);s.loader=null;delete this.loaders[s.type];this.hls.trigger(i["Events"].KEY_LOADED,{frag:s})};t.loaderror=function e(t,r){var n=r.frag;var s=n.loader;if(s){s.abort()}delete this.loaders[n.type];this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].KEY_LOAD_ERROR,fatal:false,frag:n,response:t})};t.loadtimeout=function e(t,r){var n=r.frag;var s=n.loader;if(s){s.abort()}delete this.loaders[n.type];this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].KEY_LOAD_TIMEOUT,fatal:false,frag:n})};return e}()},"./src/loader/level-details.ts":
209
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return s}));var i=r(/*! ../events */"./src/events.ts");var a=r(/*! ../errors */"./src/errors.ts");var n=r(/*! ../utils/logger */"./src/utils/logger.ts");var s=function(){function e(e){this.hls=void 0;this.loaders={};this.decryptkey=null;this.decrypturl=null;this.hls=e;this._registerListeners()}var t=e.prototype;t._registerListeners=function e(){this.hls.on(i["Events"].KEY_LOADING,this.onKeyLoading,this)};t._unregisterListeners=function e(){this.hls.off(i["Events"].KEY_LOADING,this.onKeyLoading)};t.destroy=function e(){this._unregisterListeners();for(var t in this.loaders){var r=this.loaders[t];if(r){r.destroy()}}this.loaders={}};t.onKeyLoading=function e(t,r){var a=r.frag;var s=a.type;var o=this.loaders[s];if(!a.decryptdata){n["logger"].warn("Missing decryption data on fragment in onKeyLoading");return}var l=a.decryptdata.uri;if(l!==this.decrypturl||this.decryptkey===null){var u=this.hls.config;if(o){n["logger"].warn("abort previous key loader for type:"+s);o.abort()}if(!l){n["logger"].warn("key uri is falsy");return}var f=u.loader;var d=a.loader=this.loaders[s]=new f(u);this.decrypturl=l;this.decryptkey=null;var c={url:l,frag:a,responseType:"arraybuffer"};var h={timeout:u.fragLoadingTimeOut,maxRetry:0,retryDelay:u.fragLoadingRetryDelay,maxRetryDelay:u.fragLoadingMaxRetryTimeout,highWaterMark:0};var v={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};d.load(c,h,v)}else if(this.decryptkey){a.decryptdata.key=this.decryptkey;this.hls.trigger(i["Events"].KEY_LOADED,{frag:a})}};t.loadsuccess=function e(t,r,a){var s=a.frag;if(!s.decryptdata){n["logger"].error("after key load, decryptdata unset");return}this.decryptkey=s.decryptdata.key=new Uint8Array(t.data);s.loader=null;delete this.loaders[s.type];this.hls.trigger(i["Events"].KEY_LOADED,{frag:s})};t.loaderror=function e(t,r){var n=r.frag;var s=n.loader;if(s){s.abort()}delete this.loaders[n.type];this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].KEY_LOAD_ERROR,fatal:false,frag:n,response:t})};t.loadtimeout=function e(t,r){var n=r.frag;var s=n.loader;if(s){s.abort()}delete this.loaders[n.type];this.hls.trigger(i["Events"].ERROR,{type:a["ErrorTypes"].NETWORK_ERROR,details:a["ErrorDetails"].KEY_LOAD_TIMEOUT,fatal:false,frag:n})};return e}()},"./src/loader/level-details.ts":
210
210
  /*!*************************************!*\
211
211
  !*** ./src/loader/level-details.ts ***!
212
212
  \*************************************/
@@ -222,11 +222,11 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
222
222
  /*!***********************************!*\
223
223
  !*** ./src/loader/m3u8-parser.ts ***!
224
224
  \***********************************/
225
- /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js");var n=r(/*! ./fragment */"./src/loader/fragment.ts");var s=r(/*! ./level-details */"./src/loader/level-details.ts");var o=r(/*! ./level-key */"./src/loader/level-key.ts");var l=r(/*! ../utils/attr-list */"./src/utils/attr-list.ts");var u=r(/*! ../utils/logger */"./src/utils/logger.ts");var f=r(/*! ../utils/codecs */"./src/utils/codecs.ts");var c=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-SESSION-DATA:([^\r\n]*)[\r\n]+/g;var d=/#EXT-X-MEDIA:(.*)/g;var h=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g");var v=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(PLAYLIST-TYPE):(.+)/.source,/#EXT-X-(MEDIA-SEQUENCE): *(\d+)/.source,/#EXT-X-(SKIP):(.+)/.source,/#EXT-X-(TARGETDURATION): *(\d+)/.source,/#EXT-X-(KEY):(.+)/.source,/#EXT-X-(START):(.+)/.source,/#EXT-X-(ENDLIST)/.source,/#EXT-X-(DISCONTINUITY-SEQ)UENCE: *(\d+)/.source,/#EXT-X-(DIS)CONTINUITY/.source,/#EXT-X-(VERSION):(\d+)/.source,/#EXT-X-(MAP):(.+)/.source,/#EXT-X-(SERVER-CONTROL):(.+)/.source,/#EXT-X-(PART-INF):(.+)/.source,/#EXT-X-(GAP)/.source,/#EXT-X-(BITRATE):\s*(\d+)/.source,/#EXT-X-(PART):(.+)/.source,/#EXT-X-(PRELOAD-HINT):(.+)/.source,/#EXT-X-(RENDITION-REPORT):(.+)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));var g=/\.(mp4|m4s|m4v|m4a)$/i;function p(e){var t,r;return g.test((t=(r=a["parseURL"](e))===null||r===void 0?void 0:r.path)!=null?t:"")}var m=function(){function e(){}e.findGroup=function e(t,r){for(var i=0;i<t.length;i++){var a=t[i];if(a.id===r){return a}}};e.convertAVC1ToAVCOTI=function e(t){var r=t.split(".");if(r.length>2){var i=r.shift()+".";i+=parseInt(r.shift()).toString(16);i+=("000"+parseInt(r.shift()).toString(16)).substr(-4);return i}return t};e.resolve=function e(t,r){return a["buildAbsoluteURL"](r,t,{alwaysNormalize:true})};e.parseMasterPlaylist=function t(r,i){var a=[];var n={};var s=false;c.lastIndex=0;var o;while((o=c.exec(r))!=null){if(o[1]){var u=new l["AttrList"](o[1]);var f={attrs:u,bitrate:u.decimalInteger("AVERAGE-BANDWIDTH")||u.decimalInteger("BANDWIDTH"),name:u.NAME,url:e.resolve(o[2],i)};var d=u.decimalResolution("RESOLUTION");if(d){f.width=d.width;f.height=d.height}y((u.CODECS||"").split(/[ ,]+/).filter((function(e){return e})),f);if(f.videoCodec&&f.videoCodec.indexOf("avc1")!==-1){f.videoCodec=e.convertAVC1ToAVCOTI(f.videoCodec)}a.push(f)}else if(o[3]){var h=new l["AttrList"](o[3]);if(h["DATA-ID"]){s=true;n[h["DATA-ID"]]=h}}}return{levels:a,sessionData:s?n:null}};e.parseMasterPlaylistMedia=function t(r,i,a,n){if(n===void 0){n=[]}var s;var o=[];var u=0;d.lastIndex=0;while((s=d.exec(r))!==null){var f=new l["AttrList"](s[1]);if(f.TYPE===a){var c={attrs:f,bitrate:0,id:u++,groupId:f["GROUP-ID"],instreamId:f["INSTREAM-ID"],name:f.NAME||f.LANGUAGE||"",type:a,default:f.bool("DEFAULT"),autoselect:f.bool("AUTOSELECT"),forced:f.bool("FORCED"),lang:f.LANGUAGE,url:f.URI?e.resolve(f.URI,i):""};if(n.length){var h=e.findGroup(n,c.groupId)||n[0];E(c,h,"audioCodec");E(c,h,"textCodec")}o.push(c)}}return o};e.parseLevelPlaylist=function e(t,r,a,f,c){var d=new s["LevelDetails"](r);var g=d.fragments;var m=null;var y=0;var E=0;var S=0;var A=0;var L=null;var D=new n["Fragment"](f,r);var k;var R;var I;var C=-1;var w=false;h.lastIndex=0;d.m3u8=t;while((k=h.exec(t))!==null){if(w){w=false;D=new n["Fragment"](f,r);D.start=S;D.sn=y;D.cc=A;D.level=a;if(m){D.initSegment=m;D.rawProgramDateTime=m.rawProgramDateTime}}var _=k[1];if(_){D.duration=parseFloat(_);var O=(" "+k[2]).slice(1);D.title=O||null;D.tagList.push(O?["INF",_,O]:["INF",_])}else if(k[3]){if(Object(i["isFiniteNumber"])(D.duration)){D.start=S;if(I){D.levelkey=I}D.sn=y;D.level=a;D.cc=A;D.urlId=c;g.push(D);D.relurl=(" "+k[3]).slice(1);b(D,L);L=D;S+=D.duration;y++;E=0;w=true}}else if(k[4]){var x=(" "+k[4]).slice(1);if(L){D.setByteRange(x,L)}else{D.setByteRange(x)}}else if(k[5]){D.rawProgramDateTime=(" "+k[5]).slice(1);D.tagList.push(["PROGRAM-DATE-TIME",D.rawProgramDateTime]);if(C===-1){C=g.length}}else{k=k[0].match(v);if(!k){u["logger"].warn("No matches on slow regex match for level playlist!");continue}for(R=1;R<k.length;R++){if(typeof k[R]!=="undefined"){break}}var P=(" "+k[R]).slice(1);var F=(" "+k[R+1]).slice(1);var M=k[R+2]?(" "+k[R+2]).slice(1):"";switch(P){case"PLAYLIST-TYPE":d.type=F.toUpperCase();break;case"MEDIA-SEQUENCE":y=d.startSN=parseInt(F);break;case"SKIP":{var N=new l["AttrList"](F);var B=N.decimalInteger("SKIPPED-SEGMENTS");if(Object(i["isFiniteNumber"])(B)){d.skippedSegments=B;for(var U=B;U--;){g.unshift(null)}y+=B}var G=N.enumeratedString("RECENTLY-REMOVED-DATERANGES");if(G){d.recentlyRemovedDateranges=G.split("\t")}break}case"TARGETDURATION":d.targetduration=parseFloat(F);break;case"VERSION":d.version=parseInt(F);break;case"EXTM3U":break;case"ENDLIST":d.live=false;break;case"#":if(F||M){D.tagList.push(M?[F,M]:[F])}break;case"DIS":A++;case"GAP":D.tagList.push([P]);break;case"BITRATE":D.tagList.push([P,F]);break;case"DISCONTINUITY-SEQ":A=parseInt(F);break;case"KEY":{var j;var K=new l["AttrList"](F);var H=K.enumeratedString("METHOD");var V=K.URI;var W=K.hexadecimalInteger("IV");var Y=K.enumeratedString("KEYFORMATVERSIONS");var z=K.enumeratedString("KEYID");var X=(j=K.enumeratedString("KEYFORMAT"))!=null?j:"identity";var q=["com.apple.streamingkeydelivery","com.microsoft.playready","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","com.widevine"];if(q.indexOf(X)>-1){u["logger"].warn("Keyformat "+X+" is not supported from the manifest");continue}else if(X!=="identity"){continue}if(H){I=o["LevelKey"].fromURL(r,V);if(V&&["AES-128","SAMPLE-AES","SAMPLE-AES-CENC"].indexOf(H)>=0){I.method=H;I.keyFormat=X;if(z){I.keyID=z}if(Y){I.keyFormatVersions=Y}I.iv=W}}break}case"START":{var Z=new l["AttrList"](F);var Q=Z.decimalFloatingPoint("TIME-OFFSET");if(Object(i["isFiniteNumber"])(Q)){d.startTimeOffset=Q}break}case"MAP":{var J=new l["AttrList"](F);D.relurl=J.URI;if(J.BYTERANGE){D.setByteRange(J.BYTERANGE)}D.level=a;D.sn="initSegment";if(I){D.levelkey=I}D.initSegment=null;m=D;w=true;break}case"SERVER-CONTROL":{var $=new l["AttrList"](F);d.canBlockReload=$.bool("CAN-BLOCK-RELOAD");d.canSkipUntil=$.optionalFloat("CAN-SKIP-UNTIL",0);d.canSkipDateRanges=d.canSkipUntil>0&&$.bool("CAN-SKIP-DATERANGES");d.partHoldBack=$.optionalFloat("PART-HOLD-BACK",0);d.holdBack=$.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{var ee=new l["AttrList"](F);d.partTarget=ee.decimalFloatingPoint("PART-TARGET");break}case"PART":{var te=d.partList;if(!te){te=d.partList=[]}var re=E>0?te[te.length-1]:undefined;var ie=E++;var ae=new n["Part"](new l["AttrList"](F),D,r,ie,re);te.push(ae);D.duration+=ae.duration;break}case"PRELOAD-HINT":{var ne=new l["AttrList"](F);d.preloadHint=ne;break}case"RENDITION-REPORT":{var se=new l["AttrList"](F);d.renditionReports=d.renditionReports||[];d.renditionReports.push(se);break}default:u["logger"].warn("line parsed but not handled: "+k);break}}}if(L&&!L.relurl){g.pop();S-=L.duration;if(d.partList){d.fragmentHint=L}}else if(d.partList){b(D,L);D.cc=A;d.fragmentHint=D}var oe=g.length;var le=g[0];var ue=g[oe-1];S+=d.skippedSegments*d.targetduration;if(S>0&&oe&&ue){d.averagetargetduration=S/oe;var fe=ue.sn;d.endSN=fe!=="initSegment"?fe:0;if(le){d.startCC=le.cc;if(!le.initSegment){if(d.fragments.every((function(e){return e.relurl&&p(e.relurl)}))){u["logger"].warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX");D=new n["Fragment"](f,r);D.relurl=ue.relurl;D.level=a;D.sn="initSegment";le.initSegment=D;d.needSidxRanges=true}}}}else{d.endSN=0;d.startCC=0}if(d.fragmentHint){S+=d.fragmentHint.duration}d.totalduration=S;d.endCC=A;if(C>0){T(g,C)}return d};return e}();function y(e,t){["video","audio","text"].forEach((function(r){var i=e.filter((function(e){return Object(f["isCodecType"])(e,r)}));if(i.length){var a=i.filter((function(e){return e.lastIndexOf("avc1",0)===0||e.lastIndexOf("mp4a",0)===0}));t[r+"Codec"]=a.length>0?a[0]:i[0];e=e.filter((function(e){return i.indexOf(e)===-1}))}}));t.unknownCodecs=e}function E(e,t,r){var i=t[r];if(i){e[r]=i}}function T(e,t){var r=e[t];for(var i=t;i--;){var a=e[i];if(!a){return}a.programDateTime=r.programDateTime-a.duration*1e3;r=a}}function b(e,t){if(e.rawProgramDateTime){e.programDateTime=Date.parse(e.rawProgramDateTime)}else if(t!==null&&t!==void 0&&t.programDateTime){e.programDateTime=t.endProgramDateTime}if(!Object(i["isFiniteNumber"])(e.programDateTime)){e.programDateTime=null;e.rawProgramDateTime=null}}},"./src/loader/playlist-loader.ts":
225
+ /*! exports provided: default */function(e,t,r){r.r(t);r.d(t,"default",(function(){return m}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! url-toolkit */"./node_modules/url-toolkit/src/url-toolkit.js");var n=r(/*! ./fragment */"./src/loader/fragment.ts");var s=r(/*! ./level-details */"./src/loader/level-details.ts");var o=r(/*! ./level-key */"./src/loader/level-key.ts");var l=r(/*! ../utils/attr-list */"./src/utils/attr-list.ts");var u=r(/*! ../utils/logger */"./src/utils/logger.ts");var f=r(/*! ../utils/codecs */"./src/utils/codecs.ts");var d=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-SESSION-DATA:([^\r\n]*)[\r\n]+/g;var c=/#EXT-X-MEDIA:(.*)/g;var h=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g");var v=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(PLAYLIST-TYPE):(.+)/.source,/#EXT-X-(MEDIA-SEQUENCE): *(\d+)/.source,/#EXT-X-(SKIP):(.+)/.source,/#EXT-X-(TARGETDURATION): *(\d+)/.source,/#EXT-X-(KEY):(.+)/.source,/#EXT-X-(START):(.+)/.source,/#EXT-X-(ENDLIST)/.source,/#EXT-X-(DISCONTINUITY-SEQ)UENCE: *(\d+)/.source,/#EXT-X-(DIS)CONTINUITY/.source,/#EXT-X-(VERSION):(\d+)/.source,/#EXT-X-(MAP):(.+)/.source,/#EXT-X-(SERVER-CONTROL):(.+)/.source,/#EXT-X-(PART-INF):(.+)/.source,/#EXT-X-(GAP)/.source,/#EXT-X-(BITRATE):\s*(\d+)/.source,/#EXT-X-(PART):(.+)/.source,/#EXT-X-(PRELOAD-HINT):(.+)/.source,/#EXT-X-(RENDITION-REPORT):(.+)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));var g=/\.(mp4|m4s|m4v|m4a)$/i;function p(e){var t,r;return g.test((t=(r=a["parseURL"](e))===null||r===void 0?void 0:r.path)!=null?t:"")}var m=function(){function e(){}e.findGroup=function e(t,r){for(var i=0;i<t.length;i++){var a=t[i];if(a.id===r){return a}}};e.convertAVC1ToAVCOTI=function e(t){var r=t.split(".");if(r.length>2){var i=r.shift()+".";i+=parseInt(r.shift()).toString(16);i+=("000"+parseInt(r.shift()).toString(16)).substr(-4);return i}return t};e.resolve=function e(t,r){return a["buildAbsoluteURL"](r,t,{alwaysNormalize:true})};e.parseMasterPlaylist=function t(r,i){var a=[];var n={};var s=false;d.lastIndex=0;var o;while((o=d.exec(r))!=null){if(o[1]){var u=new l["AttrList"](o[1]);var f={attrs:u,bitrate:u.decimalInteger("AVERAGE-BANDWIDTH")||u.decimalInteger("BANDWIDTH"),name:u.NAME,url:e.resolve(o[2],i)};var c=u.decimalResolution("RESOLUTION");if(c){f.width=c.width;f.height=c.height}y((u.CODECS||"").split(/[ ,]+/).filter((function(e){return e})),f);if(f.videoCodec&&f.videoCodec.indexOf("avc1")!==-1){f.videoCodec=e.convertAVC1ToAVCOTI(f.videoCodec)}a.push(f)}else if(o[3]){var h=new l["AttrList"](o[3]);if(h["DATA-ID"]){s=true;n[h["DATA-ID"]]=h}}}return{levels:a,sessionData:s?n:null}};e.parseMasterPlaylistMedia=function t(r,i,a,n){if(n===void 0){n=[]}var s;var o=[];var u=0;c.lastIndex=0;while((s=c.exec(r))!==null){var f=new l["AttrList"](s[1]);if(f.TYPE===a){var d={attrs:f,bitrate:0,id:u++,groupId:f["GROUP-ID"],instreamId:f["INSTREAM-ID"],name:f.NAME||f.LANGUAGE||"",type:a,default:f.bool("DEFAULT"),autoselect:f.bool("AUTOSELECT"),forced:f.bool("FORCED"),lang:f.LANGUAGE,url:f.URI?e.resolve(f.URI,i):""};if(n.length){var h=e.findGroup(n,d.groupId)||n[0];E(d,h,"audioCodec");E(d,h,"textCodec")}o.push(d)}}return o};e.parseLevelPlaylist=function e(t,r,a,f,d){var c=new s["LevelDetails"](r);var g=c.fragments;var m=null;var y=0;var E=0;var S=0;var A=0;var L=null;var D=new n["Fragment"](f,r);var k;var R;var I;var C=-1;var w=false;h.lastIndex=0;c.m3u8=t;while((k=h.exec(t))!==null){if(w){w=false;D=new n["Fragment"](f,r);D.start=S;D.sn=y;D.cc=A;D.level=a;if(m){D.initSegment=m;D.rawProgramDateTime=m.rawProgramDateTime}}var _=k[1];if(_){D.duration=parseFloat(_);var O=(" "+k[2]).slice(1);D.title=O||null;D.tagList.push(O?["INF",_,O]:["INF",_])}else if(k[3]){if(Object(i["isFiniteNumber"])(D.duration)){D.start=S;if(I){D.levelkey=I}D.sn=y;D.level=a;D.cc=A;D.urlId=d;g.push(D);D.relurl=(" "+k[3]).slice(1);b(D,L);L=D;S+=D.duration;y++;E=0;w=true}}else if(k[4]){var x=(" "+k[4]).slice(1);if(L){D.setByteRange(x,L)}else{D.setByteRange(x)}}else if(k[5]){D.rawProgramDateTime=(" "+k[5]).slice(1);D.tagList.push(["PROGRAM-DATE-TIME",D.rawProgramDateTime]);if(C===-1){C=g.length}}else{k=k[0].match(v);if(!k){u["logger"].warn("No matches on slow regex match for level playlist!");continue}for(R=1;R<k.length;R++){if(typeof k[R]!=="undefined"){break}}var P=(" "+k[R]).slice(1);var F=(" "+k[R+1]).slice(1);var M=k[R+2]?(" "+k[R+2]).slice(1):"";switch(P){case"PLAYLIST-TYPE":c.type=F.toUpperCase();break;case"MEDIA-SEQUENCE":y=c.startSN=parseInt(F);break;case"SKIP":{var N=new l["AttrList"](F);var B=N.decimalInteger("SKIPPED-SEGMENTS");if(Object(i["isFiniteNumber"])(B)){c.skippedSegments=B;for(var U=B;U--;){g.unshift(null)}y+=B}var G=N.enumeratedString("RECENTLY-REMOVED-DATERANGES");if(G){c.recentlyRemovedDateranges=G.split("\t")}break}case"TARGETDURATION":c.targetduration=parseFloat(F);break;case"VERSION":c.version=parseInt(F);break;case"EXTM3U":break;case"ENDLIST":c.live=false;break;case"#":if(F||M){D.tagList.push(M?[F,M]:[F])}break;case"DIS":A++;case"GAP":D.tagList.push([P]);break;case"BITRATE":D.tagList.push([P,F]);break;case"DISCONTINUITY-SEQ":A=parseInt(F);break;case"KEY":{var j;var K=new l["AttrList"](F);var H=K.enumeratedString("METHOD");var V=K.URI;var W=K.hexadecimalInteger("IV");var Y=K.enumeratedString("KEYFORMATVERSIONS");var z=K.enumeratedString("KEYID");var X=(j=K.enumeratedString("KEYFORMAT"))!=null?j:"identity";var q=["com.apple.streamingkeydelivery","com.microsoft.playready","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","com.widevine"];if(q.indexOf(X)>-1){u["logger"].warn("Keyformat "+X+" is not supported from the manifest");continue}else if(X!=="identity"){continue}if(H){I=o["LevelKey"].fromURL(r,V);if(V&&["AES-128","SAMPLE-AES","SAMPLE-AES-CENC"].indexOf(H)>=0){I.method=H;I.keyFormat=X;if(z){I.keyID=z}if(Y){I.keyFormatVersions=Y}I.iv=W}}break}case"START":{var Z=new l["AttrList"](F);var Q=Z.decimalFloatingPoint("TIME-OFFSET");if(Object(i["isFiniteNumber"])(Q)){c.startTimeOffset=Q}break}case"MAP":{var J=new l["AttrList"](F);D.relurl=J.URI;if(J.BYTERANGE){D.setByteRange(J.BYTERANGE)}D.level=a;D.sn="initSegment";if(I){D.levelkey=I}D.initSegment=null;m=D;w=true;break}case"SERVER-CONTROL":{var $=new l["AttrList"](F);c.canBlockReload=$.bool("CAN-BLOCK-RELOAD");c.canSkipUntil=$.optionalFloat("CAN-SKIP-UNTIL",0);c.canSkipDateRanges=c.canSkipUntil>0&&$.bool("CAN-SKIP-DATERANGES");c.partHoldBack=$.optionalFloat("PART-HOLD-BACK",0);c.holdBack=$.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{var ee=new l["AttrList"](F);c.partTarget=ee.decimalFloatingPoint("PART-TARGET");break}case"PART":{var te=c.partList;if(!te){te=c.partList=[]}var re=E>0?te[te.length-1]:undefined;var ie=E++;var ae=new n["Part"](new l["AttrList"](F),D,r,ie,re);te.push(ae);D.duration+=ae.duration;break}case"PRELOAD-HINT":{var ne=new l["AttrList"](F);c.preloadHint=ne;break}case"RENDITION-REPORT":{var se=new l["AttrList"](F);c.renditionReports=c.renditionReports||[];c.renditionReports.push(se);break}default:u["logger"].warn("line parsed but not handled: "+k);break}}}if(L&&!L.relurl){g.pop();S-=L.duration;if(c.partList){c.fragmentHint=L}}else if(c.partList){b(D,L);D.cc=A;c.fragmentHint=D}var oe=g.length;var le=g[0];var ue=g[oe-1];S+=c.skippedSegments*c.targetduration;if(S>0&&oe&&ue){c.averagetargetduration=S/oe;var fe=ue.sn;c.endSN=fe!=="initSegment"?fe:0;if(le){c.startCC=le.cc;if(!le.initSegment){if(c.fragments.every((function(e){return e.relurl&&p(e.relurl)}))){u["logger"].warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX");D=new n["Fragment"](f,r);D.relurl=ue.relurl;D.level=a;D.sn="initSegment";le.initSegment=D;c.needSidxRanges=true}}}}else{c.endSN=0;c.startCC=0}if(c.fragmentHint){S+=c.fragmentHint.duration}c.totalduration=S;c.endCC=A;if(C>0){T(g,C)}return c};return e}();function y(e,t){["video","audio","text"].forEach((function(r){var i=e.filter((function(e){return Object(f["isCodecType"])(e,r)}));if(i.length){var a=i.filter((function(e){return e.lastIndexOf("avc1",0)===0||e.lastIndexOf("mp4a",0)===0}));t[r+"Codec"]=a.length>0?a[0]:i[0];e=e.filter((function(e){return i.indexOf(e)===-1}))}}));t.unknownCodecs=e}function E(e,t,r){var i=t[r];if(i){e[r]=i}}function T(e,t){var r=e[t];for(var i=t;i--;){var a=e[i];if(!a){return}a.programDateTime=r.programDateTime-a.duration*1e3;r=a}}function b(e,t){if(e.rawProgramDateTime){e.programDateTime=Date.parse(e.rawProgramDateTime)}else if(t!==null&&t!==void 0&&t.programDateTime){e.programDateTime=t.endProgramDateTime}if(!Object(i["isFiniteNumber"])(e.programDateTime)){e.programDateTime=null;e.rawProgramDateTime=null}}},"./src/loader/playlist-loader.ts":
226
226
  /*!***************************************!*\
227
227
  !*** ./src/loader/playlist-loader.ts ***!
228
228
  \***************************************/
229
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../errors */"./src/errors.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var l=r(/*! ./m3u8-parser */"./src/loader/m3u8-parser.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../utils/attr-list */"./src/utils/attr-list.ts");function c(e){var t=e.type;switch(t){case u["PlaylistContextType"].AUDIO_TRACK:return u["PlaylistLevelType"].AUDIO;case u["PlaylistContextType"].SUBTITLE_TRACK:return u["PlaylistLevelType"].SUBTITLE;default:return u["PlaylistLevelType"].MAIN}}function d(e,t){var r=e.url;if(r===undefined||r.indexOf("data:")===0){r=t.url}return r}var h=function(){function e(e){this.hls=void 0;this.loaders=Object.create(null);this.hls=e;this.registerListeners()}var t=e.prototype;t.registerListeners=function e(){var t=this.hls;t.on(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(a["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(a["Events"].AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this);t.on(a["Events"].SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(a["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.off(a["Events"].AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this);t.off(a["Events"].SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)};t.createInternalLoader=function e(t){var r=this.hls.config;var i=r.pLoader;var a=r.loader;var n=i||a;var s=new n(r);t.loader=s;this.loaders[t.type]=s;return s};t.getInternalLoader=function e(t){return this.loaders[t.type]};t.resetInternalLoader=function e(t){if(this.loaders[t]){delete this.loaders[t]}};t.destroyInternalLoaders=function e(){for(var t in this.loaders){var r=this.loaders[t];if(r){r.destroy()}this.resetInternalLoader(t)}};t.destroy=function e(){this.unregisterListeners();this.destroyInternalLoaders()};t.onManifestLoading=function e(t,r){var i=r.url;this.load({id:null,groupId:null,level:0,responseType:"text",type:u["PlaylistContextType"].MANIFEST,url:i,deliveryDirectives:null})};t.onLevelLoading=function e(t,r){var i=r.id,a=r.level,n=r.url,s=r.deliveryDirectives;this.load({id:i,groupId:null,level:a,responseType:"text",type:u["PlaylistContextType"].LEVEL,url:n,deliveryDirectives:s})};t.onAudioTrackLoading=function e(t,r){var i=r.id,a=r.groupId,n=r.url,s=r.deliveryDirectives;this.load({id:i,groupId:a,level:null,responseType:"text",type:u["PlaylistContextType"].AUDIO_TRACK,url:n,deliveryDirectives:s})};t.onSubtitleTrackLoading=function e(t,r){var i=r.id,a=r.groupId,n=r.url,s=r.deliveryDirectives;this.load({id:i,groupId:a,level:null,responseType:"text",type:u["PlaylistContextType"].SUBTITLE_TRACK,url:n,deliveryDirectives:s})};t.load=function e(t){var r;var i=this.hls.config;var a=this.getInternalLoader(t);if(a){var n=a.context;if(n&&n.url===t.url){s["logger"].trace("[playlist-loader]: playlist request ongoing");return}s["logger"].log("[playlist-loader]: aborting previous loader for type: "+t.type);a.abort()}var o;var l;var f;var c;switch(t.type){case u["PlaylistContextType"].MANIFEST:o=i.manifestLoadingMaxRetry;l=i.manifestLoadingTimeOut;f=i.manifestLoadingRetryDelay;c=i.manifestLoadingMaxRetryTimeout;break;case u["PlaylistContextType"].LEVEL:case u["PlaylistContextType"].AUDIO_TRACK:case u["PlaylistContextType"].SUBTITLE_TRACK:o=0;l=i.levelLoadingTimeOut;break;default:o=i.levelLoadingMaxRetry;l=i.levelLoadingTimeOut;f=i.levelLoadingRetryDelay;c=i.levelLoadingMaxRetryTimeout;break}a=this.createInternalLoader(t);if((r=t.deliveryDirectives)!==null&&r!==void 0&&r.part){var d;if(t.type===u["PlaylistContextType"].LEVEL&&t.level!==null){d=this.hls.levels[t.level].details}else if(t.type===u["PlaylistContextType"].AUDIO_TRACK&&t.id!==null){d=this.hls.audioTracks[t.id].details}else if(t.type===u["PlaylistContextType"].SUBTITLE_TRACK&&t.id!==null){d=this.hls.subtitleTracks[t.id].details}if(d){var h=d.partTarget;var v=d.targetduration;if(h&&v){l=Math.min(Math.max(h*3,v*.8)*1e3,l)}}}var g={timeout:l,maxRetry:o,retryDelay:f,maxRetryDelay:c,highWaterMark:0};var p={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};a.load(t,g,p)};t.loadsuccess=function e(t,r,i,a){if(a===void 0){a=null}if(i.isSidxRequest){this.handleSidxRequest(t,i);this.handlePlaylistLoaded(t,r,i,a);return}this.resetInternalLoader(i.type);var n=t.data;if(n.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(t,i,"no EXTM3U delimiter",a);return}r.parsing.start=performance.now();if(n.indexOf("#EXTINF:")>0||n.indexOf("#EXT-X-TARGETDURATION:")>0){this.handleTrackOrLevelPlaylist(t,r,i,a)}else{this.handleMasterPlaylist(t,r,i,a)}};t.loaderror=function e(t,r,i){if(i===void 0){i=null}this.handleNetworkError(r,i,false,t)};t.loadtimeout=function e(t,r,i){if(i===void 0){i=null}this.handleNetworkError(r,i,true)};t.handleMasterPlaylist=function e(t,r,i,n){var o=this.hls;var u=t.data;var c=d(t,i);var h=l["default"].parseMasterPlaylist(u,c),v=h.levels,g=h.sessionData;if(!v.length){this.handleManifestParsingError(t,i,"no level found in manifest",n);return}var p=v.map((function(e){return{id:e.attrs.AUDIO,audioCodec:e.audioCodec}}));var m=v.map((function(e){return{id:e.attrs.SUBTITLES,textCodec:e.textCodec}}));var y=l["default"].parseMasterPlaylistMedia(u,c,"AUDIO",p);var E=l["default"].parseMasterPlaylistMedia(u,c,"SUBTITLES",m);var T=l["default"].parseMasterPlaylistMedia(u,c,"CLOSED-CAPTIONS");if(y.length){var b=y.some((function(e){return!e.url}));if(!b&&v[0].audioCodec&&!v[0].attrs.AUDIO){s["logger"].log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one");y.unshift({type:"main",name:"main",default:false,autoselect:false,forced:false,id:-1,attrs:new f["AttrList"]({}),bitrate:0,url:""})}}o.trigger(a["Events"].MANIFEST_LOADED,{levels:v,audioTracks:y,subtitles:E,captions:T,url:c,stats:r,networkDetails:n,sessionData:g})};t.handleTrackOrLevelPlaylist=function e(t,r,s,o){var h=this.hls;var v=s.id,g=s.level,p=s.type;var m=d(t,s);var y=Object(i["isFiniteNumber"])(v)?v:0;var E=Object(i["isFiniteNumber"])(g)?g:y;var T=c(s);var b=l["default"].parseLevelPlaylist(t.data,m,E,T,y);if(!b.fragments.length){h.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].NETWORK_ERROR,details:n["ErrorDetails"].LEVEL_EMPTY_ERROR,fatal:false,url:m,reason:"no fragments found in level",level:typeof s.level==="number"?s.level:undefined});return}if(p===u["PlaylistContextType"].MANIFEST){var S={attrs:new f["AttrList"]({}),bitrate:0,details:b,name:"",url:m};h.trigger(a["Events"].MANIFEST_LOADED,{levels:[S],audioTracks:[],url:m,stats:r,networkDetails:o,sessionData:null})}r.parsing.end=performance.now();if(b.needSidxRanges){var A;var L=(A=b.fragments[0].initSegment)===null||A===void 0?void 0:A.url;this.load({url:L,isSidxRequest:true,type:p,level:g,levelDetails:b,id:v,groupId:null,rangeStart:0,rangeEnd:2048,responseType:"arraybuffer",deliveryDirectives:null});return}s.levelDetails=b;this.handlePlaylistLoaded(t,r,s,o)};t.handleSidxRequest=function e(t,r){var i=Object(o["parseSegmentIndex"])(new Uint8Array(t.data));if(!i){return}var a=i.references;var n=r.levelDetails;a.forEach((function(e,t){var r=e.info;var a=n.fragments[t];if(a.byteRange.length===0){a.setByteRange(String(1+r.end-r.start)+"@"+String(r.start))}if(a.initSegment){a.initSegment.setByteRange(String(i.moovEndOffset)+"@0")}}))};t.handleManifestParsingError=function e(t,r,i,s){this.hls.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].NETWORK_ERROR,details:n["ErrorDetails"].MANIFEST_PARSING_ERROR,fatal:r.type===u["PlaylistContextType"].MANIFEST,url:t.url,reason:i,response:t,context:r,networkDetails:s})};t.handleNetworkError=function e(t,r,i,o){if(i===void 0){i=false}s["logger"].warn("[playlist-loader]: A network "+(i?"timeout":"error")+" occurred while loading "+t.type+" level: "+t.level+" id: "+t.id+' group-id: "'+t.groupId+'"');var l=n["ErrorDetails"].UNKNOWN;var f=false;var c=this.getInternalLoader(t);switch(t.type){case u["PlaylistContextType"].MANIFEST:l=i?n["ErrorDetails"].MANIFEST_LOAD_TIMEOUT:n["ErrorDetails"].MANIFEST_LOAD_ERROR;f=true;break;case u["PlaylistContextType"].LEVEL:l=i?n["ErrorDetails"].LEVEL_LOAD_TIMEOUT:n["ErrorDetails"].LEVEL_LOAD_ERROR;f=false;break;case u["PlaylistContextType"].AUDIO_TRACK:l=i?n["ErrorDetails"].AUDIO_TRACK_LOAD_TIMEOUT:n["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR;f=false;break;case u["PlaylistContextType"].SUBTITLE_TRACK:l=i?n["ErrorDetails"].SUBTITLE_TRACK_LOAD_TIMEOUT:n["ErrorDetails"].SUBTITLE_LOAD_ERROR;f=false;break}if(c){this.resetInternalLoader(t.type)}var d={type:n["ErrorTypes"].NETWORK_ERROR,details:l,fatal:f,url:t.url,loader:c,context:t,networkDetails:r};if(o){d.response=o}this.hls.trigger(a["Events"].ERROR,d)};t.handlePlaylistLoaded=function e(t,r,i,n){var s=i.type,o=i.level,l=i.id,f=i.groupId,c=i.loader,d=i.levelDetails,h=i.deliveryDirectives;if(!(d!==null&&d!==void 0&&d.targetduration)){this.handleManifestParsingError(t,i,"invalid target duration",n);return}if(!c){return}if(d.live){if(c.getCacheAge){d.ageHeader=c.getCacheAge()||0}if(!c.getCacheAge||isNaN(d.ageHeader)){d.ageHeader=0}}switch(s){case u["PlaylistContextType"].MANIFEST:case u["PlaylistContextType"].LEVEL:this.hls.trigger(a["Events"].LEVEL_LOADED,{details:d,level:o||0,id:l||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case u["PlaylistContextType"].AUDIO_TRACK:this.hls.trigger(a["Events"].AUDIO_TRACK_LOADED,{details:d,id:l||0,groupId:f||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case u["PlaylistContextType"].SUBTITLE_TRACK:this.hls.trigger(a["Events"].SUBTITLE_TRACK_LOADED,{details:d,id:l||0,groupId:f||"",stats:r,networkDetails:n,deliveryDirectives:h});break}};return e}();t["default"]=h},"./src/polyfills/number.ts":
229
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../events */"./src/events.ts");var n=r(/*! ../errors */"./src/errors.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var l=r(/*! ./m3u8-parser */"./src/loader/m3u8-parser.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../utils/attr-list */"./src/utils/attr-list.ts");function d(e){var t=e.type;switch(t){case u["PlaylistContextType"].AUDIO_TRACK:return u["PlaylistLevelType"].AUDIO;case u["PlaylistContextType"].SUBTITLE_TRACK:return u["PlaylistLevelType"].SUBTITLE;default:return u["PlaylistLevelType"].MAIN}}function c(e,t){var r=e.url;if(r===undefined||r.indexOf("data:")===0){r=t.url}return r}var h=function(){function e(e){this.hls=void 0;this.loaders=Object.create(null);this.hls=e;this.registerListeners()}var t=e.prototype;t.registerListeners=function e(){var t=this.hls;t.on(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.on(a["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.on(a["Events"].AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this);t.on(a["Events"].SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)};t.unregisterListeners=function e(){var t=this.hls;t.off(a["Events"].MANIFEST_LOADING,this.onManifestLoading,this);t.off(a["Events"].LEVEL_LOADING,this.onLevelLoading,this);t.off(a["Events"].AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this);t.off(a["Events"].SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)};t.createInternalLoader=function e(t){var r=this.hls.config;var i=r.pLoader;var a=r.loader;var n=i||a;var s=new n(r);t.loader=s;this.loaders[t.type]=s;return s};t.getInternalLoader=function e(t){return this.loaders[t.type]};t.resetInternalLoader=function e(t){if(this.loaders[t]){delete this.loaders[t]}};t.destroyInternalLoaders=function e(){for(var t in this.loaders){var r=this.loaders[t];if(r){r.destroy()}this.resetInternalLoader(t)}};t.destroy=function e(){this.unregisterListeners();this.destroyInternalLoaders()};t.onManifestLoading=function e(t,r){var i=r.url;this.load({id:null,groupId:null,level:0,responseType:"text",type:u["PlaylistContextType"].MANIFEST,url:i,deliveryDirectives:null})};t.onLevelLoading=function e(t,r){var i=r.id,a=r.level,n=r.url,s=r.deliveryDirectives;this.load({id:i,groupId:null,level:a,responseType:"text",type:u["PlaylistContextType"].LEVEL,url:n,deliveryDirectives:s})};t.onAudioTrackLoading=function e(t,r){var i=r.id,a=r.groupId,n=r.url,s=r.deliveryDirectives;this.load({id:i,groupId:a,level:null,responseType:"text",type:u["PlaylistContextType"].AUDIO_TRACK,url:n,deliveryDirectives:s})};t.onSubtitleTrackLoading=function e(t,r){var i=r.id,a=r.groupId,n=r.url,s=r.deliveryDirectives;this.load({id:i,groupId:a,level:null,responseType:"text",type:u["PlaylistContextType"].SUBTITLE_TRACK,url:n,deliveryDirectives:s})};t.load=function e(t){var r;var i=this.hls.config;var a=this.getInternalLoader(t);if(a){var n=a.context;if(n&&n.url===t.url){s["logger"].trace("[playlist-loader]: playlist request ongoing");return}s["logger"].log("[playlist-loader]: aborting previous loader for type: "+t.type);a.abort()}var o;var l;var f;var d;switch(t.type){case u["PlaylistContextType"].MANIFEST:o=i.manifestLoadingMaxRetry;l=i.manifestLoadingTimeOut;f=i.manifestLoadingRetryDelay;d=i.manifestLoadingMaxRetryTimeout;break;case u["PlaylistContextType"].LEVEL:case u["PlaylistContextType"].AUDIO_TRACK:case u["PlaylistContextType"].SUBTITLE_TRACK:o=0;l=i.levelLoadingTimeOut;break;default:o=i.levelLoadingMaxRetry;l=i.levelLoadingTimeOut;f=i.levelLoadingRetryDelay;d=i.levelLoadingMaxRetryTimeout;break}a=this.createInternalLoader(t);if((r=t.deliveryDirectives)!==null&&r!==void 0&&r.part){var c;if(t.type===u["PlaylistContextType"].LEVEL&&t.level!==null){c=this.hls.levels[t.level].details}else if(t.type===u["PlaylistContextType"].AUDIO_TRACK&&t.id!==null){c=this.hls.audioTracks[t.id].details}else if(t.type===u["PlaylistContextType"].SUBTITLE_TRACK&&t.id!==null){c=this.hls.subtitleTracks[t.id].details}if(c){var h=c.partTarget;var v=c.targetduration;if(h&&v){l=Math.min(Math.max(h*3,v*.8)*1e3,l)}}}var g={timeout:l,maxRetry:o,retryDelay:f,maxRetryDelay:d,highWaterMark:0};var p={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};a.load(t,g,p)};t.loadsuccess=function e(t,r,i,a){if(a===void 0){a=null}if(i.isSidxRequest){this.handleSidxRequest(t,i);this.handlePlaylistLoaded(t,r,i,a);return}this.resetInternalLoader(i.type);var n=t.data;if(n.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(t,i,"no EXTM3U delimiter",a);return}r.parsing.start=performance.now();if(n.indexOf("#EXTINF:")>0||n.indexOf("#EXT-X-TARGETDURATION:")>0){this.handleTrackOrLevelPlaylist(t,r,i,a)}else{this.handleMasterPlaylist(t,r,i,a)}};t.loaderror=function e(t,r,i){if(i===void 0){i=null}this.handleNetworkError(r,i,false,t)};t.loadtimeout=function e(t,r,i){if(i===void 0){i=null}this.handleNetworkError(r,i,true)};t.handleMasterPlaylist=function e(t,r,i,n){var o=this.hls;var u=t.data;var d=c(t,i);var h=l["default"].parseMasterPlaylist(u,d),v=h.levels,g=h.sessionData;if(!v.length){this.handleManifestParsingError(t,i,"no level found in manifest",n);return}var p=v.map((function(e){return{id:e.attrs.AUDIO,audioCodec:e.audioCodec}}));var m=v.map((function(e){return{id:e.attrs.SUBTITLES,textCodec:e.textCodec}}));var y=l["default"].parseMasterPlaylistMedia(u,d,"AUDIO",p);var E=l["default"].parseMasterPlaylistMedia(u,d,"SUBTITLES",m);var T=l["default"].parseMasterPlaylistMedia(u,d,"CLOSED-CAPTIONS");if(y.length){var b=y.some((function(e){return!e.url}));if(!b&&v[0].audioCodec&&!v[0].attrs.AUDIO){s["logger"].log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one");y.unshift({type:"main",name:"main",default:false,autoselect:false,forced:false,id:-1,attrs:new f["AttrList"]({}),bitrate:0,url:""})}}o.trigger(a["Events"].MANIFEST_LOADED,{levels:v,audioTracks:y,subtitles:E,captions:T,url:d,stats:r,networkDetails:n,sessionData:g})};t.handleTrackOrLevelPlaylist=function e(t,r,s,o){var h=this.hls;var v=s.id,g=s.level,p=s.type;var m=c(t,s);var y=Object(i["isFiniteNumber"])(v)?v:0;var E=Object(i["isFiniteNumber"])(g)?g:y;var T=d(s);var b=l["default"].parseLevelPlaylist(t.data,m,E,T,y);if(!b.fragments.length){h.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].NETWORK_ERROR,details:n["ErrorDetails"].LEVEL_EMPTY_ERROR,fatal:false,url:m,reason:"no fragments found in level",level:typeof s.level==="number"?s.level:undefined});return}if(p===u["PlaylistContextType"].MANIFEST){var S={attrs:new f["AttrList"]({}),bitrate:0,details:b,name:"",url:m};h.trigger(a["Events"].MANIFEST_LOADED,{levels:[S],audioTracks:[],url:m,stats:r,networkDetails:o,sessionData:null})}r.parsing.end=performance.now();if(b.needSidxRanges){var A;var L=(A=b.fragments[0].initSegment)===null||A===void 0?void 0:A.url;this.load({url:L,isSidxRequest:true,type:p,level:g,levelDetails:b,id:v,groupId:null,rangeStart:0,rangeEnd:2048,responseType:"arraybuffer",deliveryDirectives:null});return}s.levelDetails=b;this.handlePlaylistLoaded(t,r,s,o)};t.handleSidxRequest=function e(t,r){var i=Object(o["parseSegmentIndex"])(new Uint8Array(t.data));if(!i){return}var a=i.references;var n=r.levelDetails;a.forEach((function(e,t){var r=e.info;var a=n.fragments[t];if(a.byteRange.length===0){a.setByteRange(String(1+r.end-r.start)+"@"+String(r.start))}if(a.initSegment){a.initSegment.setByteRange(String(i.moovEndOffset)+"@0")}}))};t.handleManifestParsingError=function e(t,r,i,s){this.hls.trigger(a["Events"].ERROR,{type:n["ErrorTypes"].NETWORK_ERROR,details:n["ErrorDetails"].MANIFEST_PARSING_ERROR,fatal:r.type===u["PlaylistContextType"].MANIFEST,url:t.url,reason:i,response:t,context:r,networkDetails:s})};t.handleNetworkError=function e(t,r,i,o){if(i===void 0){i=false}s["logger"].warn("[playlist-loader]: A network "+(i?"timeout":"error")+" occurred while loading "+t.type+" level: "+t.level+" id: "+t.id+' group-id: "'+t.groupId+'"');var l=n["ErrorDetails"].UNKNOWN;var f=false;var d=this.getInternalLoader(t);switch(t.type){case u["PlaylistContextType"].MANIFEST:l=i?n["ErrorDetails"].MANIFEST_LOAD_TIMEOUT:n["ErrorDetails"].MANIFEST_LOAD_ERROR;f=true;break;case u["PlaylistContextType"].LEVEL:l=i?n["ErrorDetails"].LEVEL_LOAD_TIMEOUT:n["ErrorDetails"].LEVEL_LOAD_ERROR;f=false;break;case u["PlaylistContextType"].AUDIO_TRACK:l=i?n["ErrorDetails"].AUDIO_TRACK_LOAD_TIMEOUT:n["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR;f=false;break;case u["PlaylistContextType"].SUBTITLE_TRACK:l=i?n["ErrorDetails"].SUBTITLE_TRACK_LOAD_TIMEOUT:n["ErrorDetails"].SUBTITLE_LOAD_ERROR;f=false;break}if(d){this.resetInternalLoader(t.type)}var c={type:n["ErrorTypes"].NETWORK_ERROR,details:l,fatal:f,url:t.url,loader:d,context:t,networkDetails:r};if(o){c.response=o}this.hls.trigger(a["Events"].ERROR,c)};t.handlePlaylistLoaded=function e(t,r,i,n){var s=i.type,o=i.level,l=i.id,f=i.groupId,d=i.loader,c=i.levelDetails,h=i.deliveryDirectives;if(!(c!==null&&c!==void 0&&c.targetduration)){this.handleManifestParsingError(t,i,"invalid target duration",n);return}if(!d){return}if(c.live){if(d.getCacheAge){c.ageHeader=d.getCacheAge()||0}if(!d.getCacheAge||isNaN(c.ageHeader)){c.ageHeader=0}}switch(s){case u["PlaylistContextType"].MANIFEST:case u["PlaylistContextType"].LEVEL:this.hls.trigger(a["Events"].LEVEL_LOADED,{details:c,level:o||0,id:l||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case u["PlaylistContextType"].AUDIO_TRACK:this.hls.trigger(a["Events"].AUDIO_TRACK_LOADED,{details:c,id:l||0,groupId:f||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case u["PlaylistContextType"].SUBTITLE_TRACK:this.hls.trigger(a["Events"].SUBTITLE_TRACK_LOADED,{details:c,id:l||0,groupId:f||"",stats:r,networkDetails:n,deliveryDirectives:h});break}};return e}();t["default"]=h},"./src/polyfills/number.ts":
230
230
  /*!*********************************!*\
231
231
  !*** ./src/polyfills/number.ts ***!
232
232
  \*********************************/
@@ -238,15 +238,15 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
238
238
  /*!************************************!*\
239
239
  !*** ./src/remux/mp4-generator.ts ***!
240
240
  \************************************/
241
- /*! exports provided: default */function(e,t,r){r.r(t);var i=Math.pow(2,32)-1;var a=function(){function e(){}e.init=function t(){e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};var r;for(r in e.types){if(e.types.hasOwnProperty(r)){e.types[r]=[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3)]}}var i=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]);var a=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);e.HDLR_TYPES={video:i,audio:a};var n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);var s=new Uint8Array([0,0,0,0,0,0,0,0]);e.STTS=e.STSC=e.STCO=s;e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]);e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]);e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]);e.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var o=new Uint8Array([105,115,111,109]);var l=new Uint8Array([97,118,99,49]);var u=new Uint8Array([0,0,0,1]);e.FTYP=e.box(e.types.ftyp,o,u,o,l);e.DINF=e.box(e.types.dinf,e.box(e.types.dref,n))};e.box=function e(t){var r=8;for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n<i;n++){a[n-1]=arguments[n]}var s=a.length;var o=s;while(s--){r+=a[s].byteLength}var l=new Uint8Array(r);l[0]=r>>24&255;l[1]=r>>16&255;l[2]=r>>8&255;l[3]=r&255;l.set(t,4);for(s=0,r=8;s<o;s++){l.set(a[s],r);r+=a[s].byteLength}return l};e.hdlr=function t(r){return e.box(e.types.hdlr,e.HDLR_TYPES[r])};e.mdat=function t(r){return e.box(e.types.mdat,r)};e.mdhd=function t(r,a){a*=r;var n=Math.floor(a/(i+1));var s=Math.floor(a%(i+1));return e.box(e.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24,n>>16&255,n>>8&255,n&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))};e.mdia=function t(r){return e.box(e.types.mdia,e.mdhd(r.timescale,r.duration),e.hdlr(r.type),e.minf(r))};e.mfhd=function t(r){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,r&255]))};e.minf=function t(r){if(r.type==="audio"){return e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(r))}else{return e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(r))}};e.moof=function t(r,i,a){return e.box(e.types.moof,e.mfhd(r),e.traf(a,i))};e.moov=function t(r){var i=r.length;var a=[];while(i--){a[i]=e.trak(r[i])}return e.box.apply(null,[e.types.moov,e.mvhd(r[0].timescale,r[0].duration)].concat(a).concat(e.mvex(r)))};e.mvex=function t(r){var i=r.length;var a=[];while(i--){a[i]=e.trex(r[i])}return e.box.apply(null,[e.types.mvex].concat(a))};e.mvhd=function t(r,a){a*=r;var n=Math.floor(a/(i+1));var s=Math.floor(a%(i+1));var o=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24,n>>16&255,n>>8&255,n&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,o)};e.sdtp=function t(r){var i=r.samples||[];var a=new Uint8Array(4+i.length);var n;var s;for(n=0;n<i.length;n++){s=i[n].flags;a[n+4]=s.dependsOn<<4|s.isDependedOn<<2|s.hasRedundancy}return e.box(e.types.sdtp,a)};e.stbl=function t(r){return e.box(e.types.stbl,e.stsd(r),e.box(e.types.stts,e.STTS),e.box(e.types.stsc,e.STSC),e.box(e.types.stsz,e.STSZ),e.box(e.types.stco,e.STCO))};e.avc1=function t(r){var i=[];var a=[];var n;var s;var o;for(n=0;n<r.sps.length;n++){s=r.sps[n];o=s.byteLength;i.push(o>>>8&255);i.push(o&255);i=i.concat(Array.prototype.slice.call(s))}for(n=0;n<r.pps.length;n++){s=r.pps[n];o=s.byteLength;a.push(o>>>8&255);a.push(o&255);a=a.concat(Array.prototype.slice.call(s))}var l=e.box(e.types.avcC,new Uint8Array([1,i[3],i[4],i[5],252|3,224|r.sps.length].concat(i).concat([r.pps.length]).concat(a)));var u=r.width;var f=r.height;var c=r.pixelRatio[0];var d=r.pixelRatio[1];return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u>>8&255,u&255,f>>8&255,f&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,c&255,d>>24,d>>16&255,d>>8&255,d&255])))};e.esds=function e(t){var r=t.config.length;return new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t.config).concat([6,1,2]))};e.mp4a=function t(r){var i=r.samplerate;return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r.channelCount,0,16,0,0,0,0,i>>8&255,i&255,0,0]),e.box(e.types.esds,e.esds(r)))};e.mp3=function t(r){var i=r.samplerate;return e.box(e.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r.channelCount,0,16,0,0,0,0,i>>8&255,i&255,0,0]))};e.stsd=function t(r){if(r.type==="audio"){if(!r.isAAC&&r.codec==="mp3"){return e.box(e.types.stsd,e.STSD,e.mp3(r))}return e.box(e.types.stsd,e.STSD,e.mp4a(r))}else{return e.box(e.types.stsd,e.STSD,e.avc1(r))}};e.tkhd=function t(r){var a=r.id;var n=r.duration*r.timescale;var s=r.width;var o=r.height;var l=Math.floor(n/(i+1));var u=Math.floor(n%(i+1));return e.box(e.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,a&255,0,0,0,0,l>>24,l>>16&255,l>>8&255,l&255,u>>24,u>>16&255,u>>8&255,u&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,o>>8&255,o&255,0,0]))};e.traf=function t(r,a){var n=e.sdtp(r);var s=r.id;var o=Math.floor(a/(i+1));var l=Math.floor(a%(i+1));return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),e.box(e.types.tfdt,new Uint8Array([1,0,0,0,o>>24,o>>16&255,o>>8&255,o&255,l>>24,l>>16&255,l>>8&255,l&255])),e.trun(r,n.length+16+20+8+16+8+8),n)};e.trak=function t(r){r.duration=r.duration||4294967295;return e.box(e.types.trak,e.tkhd(r),e.mdia(r))};e.trex=function t(r){var i=r.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))};e.trun=function t(r,i){var a=r.samples||[];var n=a.length;var s=12+16*n;var o=new Uint8Array(s);var l;var u;var f;var c;var d;var h;i+=8+s;o.set([0,0,15,1,n>>>24&255,n>>>16&255,n>>>8&255,n&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255],0);for(l=0;l<n;l++){u=a[l];f=u.duration;c=u.size;d=u.flags;h=u.cts;o.set([f>>>24&255,f>>>16&255,f>>>8&255,f&255,c>>>24&255,c>>>16&255,c>>>8&255,c&255,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|d.isNonSync,d.degradPrio&240<<8,d.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*l)}return e.box(e.types.trun,o)};e.initSegment=function t(r){if(!e.types){e.init()}var i=e.moov(r);var a=new Uint8Array(e.FTYP.byteLength+i.byteLength);a.set(e.FTYP);a.set(i,e.FTYP.byteLength);return a};return e}();a.types=void 0;a.HDLR_TYPES=void 0;a.STTS=void 0;a.STSC=void 0;a.STCO=void 0;a.STSZ=void 0;a.VMHD=void 0;a.SMHD=void 0;a.STSD=void 0;a.FTYP=void 0;a.DINF=void 0;t["default"]=a},"./src/remux/mp4-remuxer.ts":
241
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=Math.pow(2,32)-1;var a=function(){function e(){}e.init=function t(){e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};var r;for(r in e.types){if(e.types.hasOwnProperty(r)){e.types[r]=[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3)]}}var i=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]);var a=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);e.HDLR_TYPES={video:i,audio:a};var n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);var s=new Uint8Array([0,0,0,0,0,0,0,0]);e.STTS=e.STSC=e.STCO=s;e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]);e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]);e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]);e.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var o=new Uint8Array([105,115,111,109]);var l=new Uint8Array([97,118,99,49]);var u=new Uint8Array([0,0,0,1]);e.FTYP=e.box(e.types.ftyp,o,u,o,l);e.DINF=e.box(e.types.dinf,e.box(e.types.dref,n))};e.box=function e(t){var r=8;for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n<i;n++){a[n-1]=arguments[n]}var s=a.length;var o=s;while(s--){r+=a[s].byteLength}var l=new Uint8Array(r);l[0]=r>>24&255;l[1]=r>>16&255;l[2]=r>>8&255;l[3]=r&255;l.set(t,4);for(s=0,r=8;s<o;s++){l.set(a[s],r);r+=a[s].byteLength}return l};e.hdlr=function t(r){return e.box(e.types.hdlr,e.HDLR_TYPES[r])};e.mdat=function t(r){return e.box(e.types.mdat,r)};e.mdhd=function t(r,a){a*=r;var n=Math.floor(a/(i+1));var s=Math.floor(a%(i+1));return e.box(e.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24,n>>16&255,n>>8&255,n&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))};e.mdia=function t(r){return e.box(e.types.mdia,e.mdhd(r.timescale,r.duration),e.hdlr(r.type),e.minf(r))};e.mfhd=function t(r){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,r&255]))};e.minf=function t(r){if(r.type==="audio"){return e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(r))}else{return e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(r))}};e.moof=function t(r,i,a){return e.box(e.types.moof,e.mfhd(r),e.traf(a,i))};e.moov=function t(r){var i=r.length;var a=[];while(i--){a[i]=e.trak(r[i])}return e.box.apply(null,[e.types.moov,e.mvhd(r[0].timescale,r[0].duration)].concat(a).concat(e.mvex(r)))};e.mvex=function t(r){var i=r.length;var a=[];while(i--){a[i]=e.trex(r[i])}return e.box.apply(null,[e.types.mvex].concat(a))};e.mvhd=function t(r,a){a*=r;var n=Math.floor(a/(i+1));var s=Math.floor(a%(i+1));var o=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24,n>>16&255,n>>8&255,n&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,o)};e.sdtp=function t(r){var i=r.samples||[];var a=new Uint8Array(4+i.length);var n;var s;for(n=0;n<i.length;n++){s=i[n].flags;a[n+4]=s.dependsOn<<4|s.isDependedOn<<2|s.hasRedundancy}return e.box(e.types.sdtp,a)};e.stbl=function t(r){return e.box(e.types.stbl,e.stsd(r),e.box(e.types.stts,e.STTS),e.box(e.types.stsc,e.STSC),e.box(e.types.stsz,e.STSZ),e.box(e.types.stco,e.STCO))};e.avc1=function t(r){var i=[];var a=[];var n;var s;var o;for(n=0;n<r.sps.length;n++){s=r.sps[n];o=s.byteLength;i.push(o>>>8&255);i.push(o&255);i=i.concat(Array.prototype.slice.call(s))}for(n=0;n<r.pps.length;n++){s=r.pps[n];o=s.byteLength;a.push(o>>>8&255);a.push(o&255);a=a.concat(Array.prototype.slice.call(s))}var l=e.box(e.types.avcC,new Uint8Array([1,i[3],i[4],i[5],252|3,224|r.sps.length].concat(i).concat([r.pps.length]).concat(a)));var u=r.width;var f=r.height;var d=r.pixelRatio[0];var c=r.pixelRatio[1];return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u>>8&255,u&255,f>>8&255,f&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,d&255,c>>24,c>>16&255,c>>8&255,c&255])))};e.esds=function e(t){var r=t.config.length;return new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t.config).concat([6,1,2]))};e.mp4a=function t(r){var i=r.samplerate;return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r.channelCount,0,16,0,0,0,0,i>>8&255,i&255,0,0]),e.box(e.types.esds,e.esds(r)))};e.mp3=function t(r){var i=r.samplerate;return e.box(e.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r.channelCount,0,16,0,0,0,0,i>>8&255,i&255,0,0]))};e.stsd=function t(r){if(r.type==="audio"){if(!r.isAAC&&r.codec==="mp3"){return e.box(e.types.stsd,e.STSD,e.mp3(r))}return e.box(e.types.stsd,e.STSD,e.mp4a(r))}else{return e.box(e.types.stsd,e.STSD,e.avc1(r))}};e.tkhd=function t(r){var a=r.id;var n=r.duration*r.timescale;var s=r.width;var o=r.height;var l=Math.floor(n/(i+1));var u=Math.floor(n%(i+1));return e.box(e.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,a&255,0,0,0,0,l>>24,l>>16&255,l>>8&255,l&255,u>>24,u>>16&255,u>>8&255,u&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,o>>8&255,o&255,0,0]))};e.traf=function t(r,a){var n=e.sdtp(r);var s=r.id;var o=Math.floor(a/(i+1));var l=Math.floor(a%(i+1));return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),e.box(e.types.tfdt,new Uint8Array([1,0,0,0,o>>24,o>>16&255,o>>8&255,o&255,l>>24,l>>16&255,l>>8&255,l&255])),e.trun(r,n.length+16+20+8+16+8+8),n)};e.trak=function t(r){r.duration=r.duration||4294967295;return e.box(e.types.trak,e.tkhd(r),e.mdia(r))};e.trex=function t(r){var i=r.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))};e.trun=function t(r,i){var a=r.samples||[];var n=a.length;var s=12+16*n;var o=new Uint8Array(s);var l;var u;var f;var d;var c;var h;i+=8+s;o.set([0,0,15,1,n>>>24&255,n>>>16&255,n>>>8&255,n&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255],0);for(l=0;l<n;l++){u=a[l];f=u.duration;d=u.size;c=u.flags;h=u.cts;o.set([f>>>24&255,f>>>16&255,f>>>8&255,f&255,d>>>24&255,d>>>16&255,d>>>8&255,d&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&240<<8,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*l)}return e.box(e.types.trun,o)};e.initSegment=function t(r){if(!e.types){e.init()}var i=e.moov(r);var a=new Uint8Array(e.FTYP.byteLength+i.byteLength);a.set(e.FTYP);a.set(i,e.FTYP.byteLength);return a};return e}();a.types=void 0;a.HDLR_TYPES=void 0;a.STTS=void 0;a.STSC=void 0;a.STCO=void 0;a.STSZ=void 0;a.VMHD=void 0;a.SMHD=void 0;a.STSD=void 0;a.FTYP=void 0;a.DINF=void 0;t["default"]=a},"./src/remux/mp4-remuxer.ts":
242
242
  /*!**********************************!*\
243
243
  !*** ./src/remux/mp4-remuxer.ts ***!
244
244
  \**********************************/
245
- /*! exports provided: default, normalizePts */function(e,t,r){r.r(t);r.d(t,"default",(function(){return y}));r.d(t,"normalizePts",(function(){return E}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./aac-helper */"./src/remux/aac-helper.ts");var n=r(/*! ./mp4-generator */"./src/remux/mp4-generator.ts");var s=r(/*! ../events */"./src/events.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=r(/*! ../utils/logger */"./src/utils/logger.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../utils/timescale-conversion */"./src/utils/timescale-conversion.ts");function c(){c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return c.apply(this,arguments)}var d=10*1e3;var h=1024;var v=1152;var g=null;var p=null;var m=false;var y=function(){function e(e,t,r,i){this.observer=void 0;this.config=void 0;this.typeSupported=void 0;this.ISGenerated=false;this._initPTS=void 0;this._initDTS=void 0;this.nextAvcDts=null;this.nextAudioPts=null;this.isAudioContiguous=false;this.isVideoContiguous=false;this.observer=e;this.config=t;this.typeSupported=r;this.ISGenerated=false;if(g===null){var a=navigator.userAgent||"";var n=a.match(/Chrome\/(\d+)/i);g=n?parseInt(n[1]):0}if(p===null){var s=navigator.userAgent.match(/Safari\/(\d+)/i);p=s?parseInt(s[1]):0}m=!!g&&g<75||!!p&&p<600}var t=e.prototype;t.destroy=function e(){};t.resetTimeStamp=function e(t){l["logger"].log("[mp4-remuxer]: initPTS & initDTS reset");this._initPTS=this._initDTS=t};t.resetNextTimestamp=function e(){l["logger"].log("[mp4-remuxer]: reset next timestamp");this.isVideoContiguous=false;this.isAudioContiguous=false};t.resetInitSegment=function e(){l["logger"].log("[mp4-remuxer]: ISGenerated flag reset");this.ISGenerated=false};t.getVideoStartPts=function e(t){var r=false;var i=t.reduce((function(e,t){var i=t.pts-e;if(i<-4294967296){r=true;return E(e,t.pts)}else if(i>0){return e}else{return t.pts}}),t[0].pts);if(r){l["logger"].debug("PTS rollover detected")}return i};t.remux=function e(t,r,i,a,n,s,o,f){var c;var d;var h;var v;var g;var p;var m=n;var y=n;var b=t.pid>-1;var S=r.pid>-1;var A=r.samples.length;var L=t.samples.length>0;var D=A>1;var k=(!b||L)&&(!S||D)||this.ISGenerated||o;if(k){if(!this.ISGenerated){h=this.generateIS(t,r,n)}var R=this.isVideoContiguous;var I=-1;if(D){I=T(r.samples);if(!R&&this.config.forceKeyFrameOnDiscontinuity){p=true;if(I>0){l["logger"].warn("[mp4-remuxer]: Dropped "+I+" out of "+A+" video samples due to a missing keyframe");var C=this.getVideoStartPts(r.samples);r.samples=r.samples.slice(I);r.dropped+=I;y+=(r.samples[0].pts-C)/(r.timescale||9e4)}else if(I===-1){l["logger"].warn("[mp4-remuxer]: No keyframe found out of "+A+" video samples");p=false}}}if(this.ISGenerated){if(L&&D){var w=this.getVideoStartPts(r.samples);var _=E(t.samples[0].pts,w)-w;var O=_/r.inputTimeScale;m+=Math.max(0,O);y+=Math.max(0,-O)}if(L){if(!t.samplerate){l["logger"].warn("[mp4-remuxer]: regenerate InitSegment as audio detected");h=this.generateIS(t,r,n)}d=this.remuxAudio(t,m,this.isAudioContiguous,s,S||D||f===u["PlaylistLevelType"].AUDIO?y:undefined);if(D){var x=d?d.endPTS-d.startPTS:0;if(!r.inputTimeScale){l["logger"].warn("[mp4-remuxer]: regenerate InitSegment as video detected");h=this.generateIS(t,r,n)}c=this.remuxVideo(r,y,R,x)}}else if(D){c=this.remuxVideo(r,y,R,0)}if(c){c.firstKeyFrame=I;c.independent=I!==-1}}}if(this.ISGenerated){if(i.samples.length){g=this.remuxID3(i,n)}if(a.samples.length){v=this.remuxText(a,n)}}return{audio:d,video:c,initSegment:h,independent:p,text:v,id3:g}};t.generateIS=function e(t,r,a){var s=t.samples;var o=r.samples;var l=this.typeSupported;var u={};var f=!Object(i["isFiniteNumber"])(this._initPTS);var c="audio/mp4";var d;var h;var v;if(f){d=h=Infinity}if(t.config&&s.length){t.timescale=t.samplerate;if(!t.isAAC){if(l.mpeg){c="audio/mpeg";t.codec=""}else if(l.mp3){t.codec="mp3"}}u.audio={id:"audio",container:c,codec:t.codec,initSegment:!t.isAAC&&l.mpeg?new Uint8Array(0):n["default"].initSegment([t]),metadata:{channelCount:t.channelCount}};if(f){v=t.inputTimeScale;d=h=s[0].pts-Math.round(v*a)}}if(r.sps&&r.pps&&o.length){r.timescale=r.inputTimeScale;u.video={id:"main",container:"video/mp4",codec:r.codec,initSegment:n["default"].initSegment([r]),metadata:{width:r.width,height:r.height}};if(f){v=r.inputTimeScale;var g=this.getVideoStartPts(o);var p=Math.round(v*a);h=Math.min(h,E(o[0].dts,g)-p);d=Math.min(d,g-p)}}if(Object.keys(u).length){this.ISGenerated=true;if(f){this._initPTS=d;this._initDTS=h}return{tracks:u,initPTS:d,timescale:v}}};t.remuxVideo=function e(t,r,i,a){var u=t.inputTimeScale;var d=t.samples;var h=[];var v=d.length;var p=this._initPTS;var y=this.nextAvcDts;var T=8;var S;var A;var L;var D=Number.POSITIVE_INFINITY;var k=Number.NEGATIVE_INFINITY;var R=0;var I=false;if(!i||y===null){var C=r*u;var w=d[0].pts-E(d[0].dts,d[0].pts);y=C-w}for(var _=0;_<v;_++){var O=d[_];O.pts=E(O.pts-p,y);O.dts=E(O.dts-p,y);if(O.dts>O.pts){var x=9e4*.2;R=Math.max(Math.min(R,O.pts-O.dts),-1*x)}if(O.dts<d[_>0?_-1:_].dts){I=true}}if(I){d.sort((function(e,t){var r=e.dts-t.dts;var i=e.pts-t.pts;return r||i}))}A=d[0].dts;L=d[d.length-1].dts;var P=Math.round((L-A)/(v-1));if(R<0){if(R<P*-2){l["logger"].warn("PTS < DTS detected in video samples, offsetting DTS from PTS by "+Object(f["toMsFromMpegTsClock"])(-P,true)+" ms");var F=R;for(var M=0;M<v;M++){d[M].dts=F=Math.max(F,d[M].pts-P);d[M].pts=Math.max(F,d[M].pts)}}else{l["logger"].warn("PTS < DTS detected in video samples, shifting DTS by "+Object(f["toMsFromMpegTsClock"])(R,true)+" ms to overcome this issue");for(var N=0;N<v;N++){d[N].dts=d[N].dts+R}}A=d[0].dts}if(i){var B=A-y;var U=B>P;var G=B<-1;if(U||G){if(U){l["logger"].warn("AVC: "+Object(f["toMsFromMpegTsClock"])(B,true)+" ms ("+B+"dts) hole between fragments detected, filling it")}else{l["logger"].warn("AVC: "+Object(f["toMsFromMpegTsClock"])(-B,true)+" ms ("+B+"dts) overlapping between fragments detected")}A=y;var j=d[0].pts-B;d[0].dts=A;d[0].pts=j;l["logger"].log("Video: First PTS/DTS adjusted: "+Object(f["toMsFromMpegTsClock"])(j,true)+"/"+Object(f["toMsFromMpegTsClock"])(A,true)+", delta: "+Object(f["toMsFromMpegTsClock"])(B,true)+" ms")}}if(m){A=Math.max(0,A)}var K=0;var H=0;for(var V=0;V<v;V++){var W=d[V];var Y=W.units;var z=Y.length;var X=0;for(var q=0;q<z;q++){X+=Y[q].data.length}H+=X;K+=z;W.length=X;W.dts=Math.max(W.dts,A);W.pts=Math.max(W.pts,W.dts,0);D=Math.min(W.pts,D);k=Math.max(W.pts,k)}L=d[v-1].dts;var Z=H+4*K+8;var Q;try{Q=new Uint8Array(Z)}catch(e){this.observer.emit(s["Events"].ERROR,s["Events"].ERROR,{type:o["ErrorTypes"].MUX_ERROR,details:o["ErrorDetails"].REMUX_ALLOC_ERROR,fatal:false,bytes:Z,reason:"fail allocating video mdat "+Z});return}var J=new DataView(Q.buffer);J.setUint32(0,Z);Q.set(n["default"].types.mdat,4);for(var $=0;$<v;$++){var ee=d[$];var te=ee.units;var re=0;for(var ie=0,ae=te.length;ie<ae;ie++){var ne=te[ie];var se=ne.data;var oe=ne.data.byteLength;J.setUint32(T,oe);T+=4;Q.set(se,T);T+=oe;re+=4+oe}if($<v-1){S=d[$+1].dts-ee.dts}else{var le=this.config;var ue=ee.dts-d[$>0?$-1:$].dts;if(le.stretchShortVideoTrack&&this.nextAudioPts!==null){var fe=Math.floor(le.maxBufferHole*u);var ce=(a?D+a*u:this.nextAudioPts)-ee.pts;if(ce>fe){S=ce-ue;if(S<0){S=ue}l["logger"].log("[mp4-remuxer]: It is approximately "+ce/90+" ms to the next segment; using duration "+S/90+" ms for the last video frame.")}else{S=ue}}else{S=ue}}var de=Math.round(ee.pts-ee.dts);h.push(new b(ee.key,S,re,de))}if(h.length&&g&&g<70){var he=h[0].flags;he.dependsOn=2;he.isNonSync=0}console.assert(S!==undefined,"mp4SampleDuration must be computed");this.nextAvcDts=y=L+S;this.isVideoContiguous=true;var ve=n["default"].moof(t.sequenceNumber++,A,c({},t,{samples:h}));var ge="video";var pe={data1:ve,data2:Q,startPTS:D/u,endPTS:(k+S)/u,startDTS:A/u,endDTS:y/u,type:ge,hasAudio:false,hasVideo:true,nb:h.length,dropped:t.dropped};t.samples=[];t.dropped=0;console.assert(Q.length,"MDAT length must not be zero");return pe};t.remuxAudio=function e(t,r,i,u,f){var g=t.inputTimeScale;var p=t.samplerate?t.samplerate:g;var m=g/p;var y=t.isAAC?h:v;var T=y*m;var S=this._initPTS;var A=!t.isAAC&&this.typeSupported.mpeg;var L=[];var D=t.samples;var k=A?0:8;var R=this.nextAudioPts||-1;var I=r*g;this.isAudioContiguous=i=i||D.length&&R>0&&(u&&Math.abs(I-R)<9e3||Math.abs(E(D[0].pts-S,I)-R)<20*T);D.forEach((function(e){e.pts=E(e.pts-S,I)}));if(!i||R<0){D=D.filter((function(e){return e.pts>=0}));if(!D.length){return}if(f===0){R=0}else if(u){R=Math.max(0,I)}else{R=D[0].pts}}if(t.isAAC){var C=f!==undefined;var w=this.config.maxAudioFramesDrift;for(var _=0,O=R;_<D.length;_++){var x=D[_];var P=x.pts;var F=P-O;var M=Math.abs(1e3*F/g);if(F<=-w*T&&C){if(_===0){l["logger"].warn("Audio frame @ "+(P/g).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*F/g)+" ms.");this.nextAudioPts=R=O=P}}else if(F>=w*T&&M<d&&C){var N=Math.round(F/T);O=P-N*T;if(O<0){N--;O+=T}if(_===0){this.nextAudioPts=R=O}l["logger"].warn("[mp4-remuxer]: Injecting "+N+" audio frame @ "+(O/g).toFixed(3)+"s due to "+Math.round(1e3*F/g)+" ms gap.");for(var B=0;B<N;B++){var U=Math.max(O,0);var G=a["default"].getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(!G){l["logger"].log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead.");G=x.unit.subarray()}D.splice(_,0,{unit:G,pts:U});O+=T;_++}}x.pts=O;O+=T}}var j=null;var K=null;var H;var V=0;var W=D.length;while(W--){V+=D[W].unit.byteLength}for(var Y=0,z=D.length;Y<z;Y++){var X=D[Y];var q=X.unit;var Z=X.pts;if(K!==null){var Q=L[Y-1];Q.duration=Math.round((Z-K)/m)}else{if(i&&t.isAAC){Z=R}j=Z;if(V>0){V+=k;try{H=new Uint8Array(V)}catch(e){this.observer.emit(s["Events"].ERROR,s["Events"].ERROR,{type:o["ErrorTypes"].MUX_ERROR,details:o["ErrorDetails"].REMUX_ALLOC_ERROR,fatal:false,bytes:V,reason:"fail allocating audio mdat "+V});return}if(!A){var J=new DataView(H.buffer);J.setUint32(0,V);H.set(n["default"].types.mdat,4)}}else{return}}H.set(q,k);var $=q.byteLength;k+=$;L.push(new b(true,y,$,0));K=Z}var ee=L.length;if(!ee){return}var te=L[L.length-1];this.nextAudioPts=R=K+m*te.duration;var re=A?new Uint8Array(0):n["default"].moof(t.sequenceNumber++,j/m,c({},t,{samples:L}));t.samples=[];var ie=j/g;var ae=R/g;var ne="audio";var se={data1:re,data2:H,startPTS:ie,endPTS:ae,startDTS:ie,endDTS:ae,type:ne,hasAudio:true,hasVideo:false,nb:ee};this.isAudioContiguous=true;console.assert(H.length,"MDAT length must not be zero");return se};t.remuxEmptyAudio=function e(t,r,i,n){var s=t.inputTimeScale;var o=t.samplerate?t.samplerate:s;var u=s/o;var f=this.nextAudioPts;var c=(f!==null?f:n.startDTS*s)+this._initDTS;var d=n.endDTS*s+this._initDTS;var v=u*h;var g=Math.ceil((d-c)/v);var p=a["default"].getSilentFrame(t.manifestCodec||t.codec,t.channelCount);l["logger"].warn("[mp4-remuxer]: remux empty Audio");if(!p){l["logger"].trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}var m=[];for(var y=0;y<g;y++){var E=c+y*v;m.push({unit:p,pts:E,dts:E})}t.samples=m;return this.remuxAudio(t,r,i,false)};t.remuxID3=function e(t,r){var i=t.samples.length;if(!i){return}var a=t.inputTimeScale;var n=this._initPTS;var s=this._initDTS;for(var o=0;o<i;o++){var l=t.samples[o];l.pts=E(l.pts-n,r*a)/a;l.dts=E(l.dts-s,r*a)/a}var u=t.samples;t.samples=[];return{samples:u}};t.remuxText=function e(t,r){var i=t.samples.length;if(!i){return}var a=t.inputTimeScale;var n=this._initPTS;for(var s=0;s<i;s++){var o=t.samples[s];o.pts=E(o.pts-n,r*a)/a}t.samples.sort((function(e,t){return e.pts-t.pts}));var l=t.samples;t.samples=[];return{samples:l}};return e}();function E(e,t){var r;if(t===null){return e}if(t<e){r=-8589934592}else{r=8589934592}while(Math.abs(e-t)>4294967296){e+=r}return e}function T(e){for(var t=0;t<e.length;t++){if(e[t].key){return t}}return-1}var b=function e(t,r,i,a){this.size=void 0;this.duration=void 0;this.cts=void 0;this.flags=void 0;this.duration=r;this.size=i;this.cts=a;this.flags=new S(t)};var S=function e(t){this.isLeading=0;this.isDependedOn=0;this.hasRedundancy=0;this.degradPrio=0;this.dependsOn=1;this.isNonSync=1;this.dependsOn=t?2:1;this.isNonSync=t?0:1}},"./src/remux/passthrough-remuxer.ts":
245
+ /*! exports provided: default, normalizePts */function(e,t,r){r.r(t);r.d(t,"default",(function(){return y}));r.d(t,"normalizePts",(function(){return E}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./aac-helper */"./src/remux/aac-helper.ts");var n=r(/*! ./mp4-generator */"./src/remux/mp4-generator.ts");var s=r(/*! ../events */"./src/events.ts");var o=r(/*! ../errors */"./src/errors.ts");var l=r(/*! ../utils/logger */"./src/utils/logger.ts");var u=r(/*! ../types/loader */"./src/types/loader.ts");var f=r(/*! ../utils/timescale-conversion */"./src/utils/timescale-conversion.ts");function d(){d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return d.apply(this,arguments)}var c=10*1e3;var h=1024;var v=1152;var g=null;var p=null;var m=false;var y=function(){function e(e,t,r,i){this.observer=void 0;this.config=void 0;this.typeSupported=void 0;this.ISGenerated=false;this._initPTS=void 0;this._initDTS=void 0;this.nextAvcDts=null;this.nextAudioPts=null;this.isAudioContiguous=false;this.isVideoContiguous=false;this.observer=e;this.config=t;this.typeSupported=r;this.ISGenerated=false;if(g===null){var a=navigator.userAgent||"";var n=a.match(/Chrome\/(\d+)/i);g=n?parseInt(n[1]):0}if(p===null){var s=navigator.userAgent.match(/Safari\/(\d+)/i);p=s?parseInt(s[1]):0}m=!!g&&g<75||!!p&&p<600}var t=e.prototype;t.destroy=function e(){};t.resetTimeStamp=function e(t){l["logger"].log("[mp4-remuxer]: initPTS & initDTS reset");this._initPTS=this._initDTS=t};t.resetNextTimestamp=function e(){l["logger"].log("[mp4-remuxer]: reset next timestamp");this.isVideoContiguous=false;this.isAudioContiguous=false};t.resetInitSegment=function e(){l["logger"].log("[mp4-remuxer]: ISGenerated flag reset");this.ISGenerated=false};t.getVideoStartPts=function e(t){var r=false;var i=t.reduce((function(e,t){var i=t.pts-e;if(i<-4294967296){r=true;return E(e,t.pts)}else if(i>0){return e}else{return t.pts}}),t[0].pts);if(r){l["logger"].debug("PTS rollover detected")}return i};t.remux=function e(t,r,i,a,n,s,o,f){var d;var c;var h;var v;var g;var p;var m=n;var y=n;var b=t.pid>-1;var S=r.pid>-1;var A=r.samples.length;var L=t.samples.length>0;var D=A>1;var k=(!b||L)&&(!S||D)||this.ISGenerated||o;if(k){if(!this.ISGenerated){h=this.generateIS(t,r,n)}var R=this.isVideoContiguous;var I=-1;if(D){I=T(r.samples);if(!R&&this.config.forceKeyFrameOnDiscontinuity){p=true;if(I>0){l["logger"].warn("[mp4-remuxer]: Dropped "+I+" out of "+A+" video samples due to a missing keyframe");var C=this.getVideoStartPts(r.samples);r.samples=r.samples.slice(I);r.dropped+=I;y+=(r.samples[0].pts-C)/(r.timescale||9e4)}else if(I===-1){l["logger"].warn("[mp4-remuxer]: No keyframe found out of "+A+" video samples");p=false}}}if(this.ISGenerated){if(L&&D){var w=this.getVideoStartPts(r.samples);var _=E(t.samples[0].pts,w)-w;var O=_/r.inputTimeScale;m+=Math.max(0,O);y+=Math.max(0,-O)}if(L){if(!t.samplerate){l["logger"].warn("[mp4-remuxer]: regenerate InitSegment as audio detected");h=this.generateIS(t,r,n)}c=this.remuxAudio(t,m,this.isAudioContiguous,s,S||D||f===u["PlaylistLevelType"].AUDIO?y:undefined);if(D){var x=c?c.endPTS-c.startPTS:0;if(!r.inputTimeScale){l["logger"].warn("[mp4-remuxer]: regenerate InitSegment as video detected");h=this.generateIS(t,r,n)}d=this.remuxVideo(r,y,R,x)}}else if(D){d=this.remuxVideo(r,y,R,0)}if(d){d.firstKeyFrame=I;d.independent=I!==-1}}}if(this.ISGenerated){if(i.samples.length){g=this.remuxID3(i,n)}if(a.samples.length){v=this.remuxText(a,n)}}return{audio:c,video:d,initSegment:h,independent:p,text:v,id3:g}};t.generateIS=function e(t,r,a){var s=t.samples;var o=r.samples;var l=this.typeSupported;var u={};var f=!Object(i["isFiniteNumber"])(this._initPTS);var d="audio/mp4";var c;var h;var v;if(f){c=h=Infinity}if(t.config&&s.length){t.timescale=t.samplerate;if(!t.isAAC){if(l.mpeg){d="audio/mpeg";t.codec=""}else if(l.mp3){t.codec="mp3"}}u.audio={id:"audio",container:d,codec:t.codec,initSegment:!t.isAAC&&l.mpeg?new Uint8Array(0):n["default"].initSegment([t]),metadata:{channelCount:t.channelCount}};if(f){v=t.inputTimeScale;c=h=s[0].pts-Math.round(v*a)}}if(r.sps&&r.pps&&o.length){r.timescale=r.inputTimeScale;u.video={id:"main",container:"video/mp4",codec:r.codec,initSegment:n["default"].initSegment([r]),metadata:{width:r.width,height:r.height}};if(f){v=r.inputTimeScale;var g=this.getVideoStartPts(o);var p=Math.round(v*a);h=Math.min(h,E(o[0].dts,g)-p);c=Math.min(c,g-p)}}if(Object.keys(u).length){this.ISGenerated=true;if(f){this._initPTS=c;this._initDTS=h}return{tracks:u,initPTS:c,timescale:v}}};t.remuxVideo=function e(t,r,i,a){var u=t.inputTimeScale;var c=t.samples;var h=[];var v=c.length;var p=this._initPTS;var y=this.nextAvcDts;var T=8;var S;var A;var L;var D=Number.POSITIVE_INFINITY;var k=Number.NEGATIVE_INFINITY;var R=0;var I=false;if(!i||y===null){var C=r*u;var w=c[0].pts-E(c[0].dts,c[0].pts);y=C-w}for(var _=0;_<v;_++){var O=c[_];O.pts=E(O.pts-p,y);O.dts=E(O.dts-p,y);if(O.dts>O.pts){var x=9e4*.2;R=Math.max(Math.min(R,O.pts-O.dts),-1*x)}if(O.dts<c[_>0?_-1:_].dts){I=true}}if(I){c.sort((function(e,t){var r=e.dts-t.dts;var i=e.pts-t.pts;return r||i}))}A=c[0].dts;L=c[c.length-1].dts;var P=Math.round((L-A)/(v-1));if(R<0){if(R<P*-2){l["logger"].warn("PTS < DTS detected in video samples, offsetting DTS from PTS by "+Object(f["toMsFromMpegTsClock"])(-P,true)+" ms");var F=R;for(var M=0;M<v;M++){c[M].dts=F=Math.max(F,c[M].pts-P);c[M].pts=Math.max(F,c[M].pts)}}else{l["logger"].warn("PTS < DTS detected in video samples, shifting DTS by "+Object(f["toMsFromMpegTsClock"])(R,true)+" ms to overcome this issue");for(var N=0;N<v;N++){c[N].dts=c[N].dts+R}}A=c[0].dts}if(i){var B=A-y;var U=B>P;var G=B<-1;if(U||G){if(U){l["logger"].warn("AVC: "+Object(f["toMsFromMpegTsClock"])(B,true)+" ms ("+B+"dts) hole between fragments detected, filling it")}else{l["logger"].warn("AVC: "+Object(f["toMsFromMpegTsClock"])(-B,true)+" ms ("+B+"dts) overlapping between fragments detected")}A=y;var j=c[0].pts-B;c[0].dts=A;c[0].pts=j;l["logger"].log("Video: First PTS/DTS adjusted: "+Object(f["toMsFromMpegTsClock"])(j,true)+"/"+Object(f["toMsFromMpegTsClock"])(A,true)+", delta: "+Object(f["toMsFromMpegTsClock"])(B,true)+" ms")}}if(m){A=Math.max(0,A)}var K=0;var H=0;for(var V=0;V<v;V++){var W=c[V];var Y=W.units;var z=Y.length;var X=0;for(var q=0;q<z;q++){X+=Y[q].data.length}H+=X;K+=z;W.length=X;W.dts=Math.max(W.dts,A);W.pts=Math.max(W.pts,W.dts,0);D=Math.min(W.pts,D);k=Math.max(W.pts,k)}L=c[v-1].dts;var Z=H+4*K+8;var Q;try{Q=new Uint8Array(Z)}catch(e){this.observer.emit(s["Events"].ERROR,s["Events"].ERROR,{type:o["ErrorTypes"].MUX_ERROR,details:o["ErrorDetails"].REMUX_ALLOC_ERROR,fatal:false,bytes:Z,reason:"fail allocating video mdat "+Z});return}var J=new DataView(Q.buffer);J.setUint32(0,Z);Q.set(n["default"].types.mdat,4);for(var $=0;$<v;$++){var ee=c[$];var te=ee.units;var re=0;for(var ie=0,ae=te.length;ie<ae;ie++){var ne=te[ie];var se=ne.data;var oe=ne.data.byteLength;J.setUint32(T,oe);T+=4;Q.set(se,T);T+=oe;re+=4+oe}if($<v-1){S=c[$+1].dts-ee.dts}else{var le=this.config;var ue=ee.dts-c[$>0?$-1:$].dts;if(le.stretchShortVideoTrack&&this.nextAudioPts!==null){var fe=Math.floor(le.maxBufferHole*u);var de=(a?D+a*u:this.nextAudioPts)-ee.pts;if(de>fe){S=de-ue;if(S<0){S=ue}l["logger"].log("[mp4-remuxer]: It is approximately "+de/90+" ms to the next segment; using duration "+S/90+" ms for the last video frame.")}else{S=ue}}else{S=ue}}var ce=Math.round(ee.pts-ee.dts);h.push(new b(ee.key,S,re,ce))}if(h.length&&g&&g<70){var he=h[0].flags;he.dependsOn=2;he.isNonSync=0}console.assert(S!==undefined,"mp4SampleDuration must be computed");this.nextAvcDts=y=L+S;this.isVideoContiguous=true;var ve=n["default"].moof(t.sequenceNumber++,A,d({},t,{samples:h}));var ge="video";var pe={data1:ve,data2:Q,startPTS:D/u,endPTS:(k+S)/u,startDTS:A/u,endDTS:y/u,type:ge,hasAudio:false,hasVideo:true,nb:h.length,dropped:t.dropped};t.samples=[];t.dropped=0;console.assert(Q.length,"MDAT length must not be zero");return pe};t.remuxAudio=function e(t,r,i,u,f){var g=t.inputTimeScale;var p=t.samplerate?t.samplerate:g;var m=g/p;var y=t.isAAC?h:v;var T=y*m;var S=this._initPTS;var A=!t.isAAC&&this.typeSupported.mpeg;var L=[];var D=t.samples;var k=A?0:8;var R=this.nextAudioPts||-1;var I=r*g;this.isAudioContiguous=i=i||D.length&&R>0&&(u&&Math.abs(I-R)<9e3||Math.abs(E(D[0].pts-S,I)-R)<20*T);D.forEach((function(e){e.pts=E(e.pts-S,I)}));if(!i||R<0){D=D.filter((function(e){return e.pts>=0}));if(!D.length){return}if(f===0){R=0}else if(u){R=Math.max(0,I)}else{R=D[0].pts}}if(t.isAAC){var C=f!==undefined;var w=this.config.maxAudioFramesDrift;for(var _=0,O=R;_<D.length;_++){var x=D[_];var P=x.pts;var F=P-O;var M=Math.abs(1e3*F/g);if(F<=-w*T&&C){if(_===0){l["logger"].warn("Audio frame @ "+(P/g).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*F/g)+" ms.");this.nextAudioPts=R=O=P}}else if(F>=w*T&&M<c&&C){var N=Math.round(F/T);O=P-N*T;if(O<0){N--;O+=T}if(_===0){this.nextAudioPts=R=O}l["logger"].warn("[mp4-remuxer]: Injecting "+N+" audio frame @ "+(O/g).toFixed(3)+"s due to "+Math.round(1e3*F/g)+" ms gap.");for(var B=0;B<N;B++){var U=Math.max(O,0);var G=a["default"].getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(!G){l["logger"].log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead.");G=x.unit.subarray()}D.splice(_,0,{unit:G,pts:U});O+=T;_++}}x.pts=O;O+=T}}var j=null;var K=null;var H;var V=0;var W=D.length;while(W--){V+=D[W].unit.byteLength}for(var Y=0,z=D.length;Y<z;Y++){var X=D[Y];var q=X.unit;var Z=X.pts;if(K!==null){var Q=L[Y-1];Q.duration=Math.round((Z-K)/m)}else{if(i&&t.isAAC){Z=R}j=Z;if(V>0){V+=k;try{H=new Uint8Array(V)}catch(e){this.observer.emit(s["Events"].ERROR,s["Events"].ERROR,{type:o["ErrorTypes"].MUX_ERROR,details:o["ErrorDetails"].REMUX_ALLOC_ERROR,fatal:false,bytes:V,reason:"fail allocating audio mdat "+V});return}if(!A){var J=new DataView(H.buffer);J.setUint32(0,V);H.set(n["default"].types.mdat,4)}}else{return}}H.set(q,k);var $=q.byteLength;k+=$;L.push(new b(true,y,$,0));K=Z}var ee=L.length;if(!ee){return}var te=L[L.length-1];this.nextAudioPts=R=K+m*te.duration;var re=A?new Uint8Array(0):n["default"].moof(t.sequenceNumber++,j/m,d({},t,{samples:L}));t.samples=[];var ie=j/g;var ae=R/g;var ne="audio";var se={data1:re,data2:H,startPTS:ie,endPTS:ae,startDTS:ie,endDTS:ae,type:ne,hasAudio:true,hasVideo:false,nb:ee};this.isAudioContiguous=true;console.assert(H.length,"MDAT length must not be zero");return se};t.remuxEmptyAudio=function e(t,r,i,n){var s=t.inputTimeScale;var o=t.samplerate?t.samplerate:s;var u=s/o;var f=this.nextAudioPts;var d=(f!==null?f:n.startDTS*s)+this._initDTS;var c=n.endDTS*s+this._initDTS;var v=u*h;var g=Math.ceil((c-d)/v);var p=a["default"].getSilentFrame(t.manifestCodec||t.codec,t.channelCount);l["logger"].warn("[mp4-remuxer]: remux empty Audio");if(!p){l["logger"].trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}var m=[];for(var y=0;y<g;y++){var E=d+y*v;m.push({unit:p,pts:E,dts:E})}t.samples=m;return this.remuxAudio(t,r,i,false)};t.remuxID3=function e(t,r){var i=t.samples.length;if(!i){return}var a=t.inputTimeScale;var n=this._initPTS;var s=this._initDTS;for(var o=0;o<i;o++){var l=t.samples[o];l.pts=E(l.pts-n,r*a)/a;l.dts=E(l.dts-s,r*a)/a}var u=t.samples;t.samples=[];return{samples:u}};t.remuxText=function e(t,r){var i=t.samples.length;if(!i){return}var a=t.inputTimeScale;var n=this._initPTS;for(var s=0;s<i;s++){var o=t.samples[s];o.pts=E(o.pts-n,r*a)/a}t.samples.sort((function(e,t){return e.pts-t.pts}));var l=t.samples;t.samples=[];return{samples:l}};return e}();function E(e,t){var r;if(t===null){return e}if(t<e){r=-8589934592}else{r=8589934592}while(Math.abs(e-t)>4294967296){e+=r}return e}function T(e){for(var t=0;t<e.length;t++){if(e[t].key){return t}}return-1}var b=function e(t,r,i,a){this.size=void 0;this.duration=void 0;this.cts=void 0;this.flags=void 0;this.duration=r;this.size=i;this.cts=a;this.flags=new S(t)};var S=function e(t){this.isLeading=0;this.isDependedOn=0;this.hasRedundancy=0;this.degradPrio=0;this.dependsOn=1;this.isNonSync=1;this.dependsOn=t?2:1;this.isNonSync=t?0:1}},"./src/remux/passthrough-remuxer.ts":
246
246
  /*!******************************************!*\
247
247
  !*** ./src/remux/passthrough-remuxer.ts ***!
248
248
  \******************************************/
249
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var n=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=function(){function e(){this.emitInitSegment=false;this.audioCodec=void 0;this.videoCodec=void 0;this.initData=void 0;this.initPTS=void 0;this.initTracks=void 0;this.lastEndDTS=null}var t=e.prototype;t.destroy=function e(){};t.resetTimeStamp=function e(t){this.initPTS=t;this.lastEndDTS=null};t.resetNextTimestamp=function e(){this.lastEndDTS=null};t.resetInitSegment=function e(t,r,i){this.audioCodec=r;this.videoCodec=i;this.generateInitSegment(t);this.emitInitSegment=true};t.generateInitSegment=function e(t){var r=this.audioCodec,i=this.videoCodec;if(!t||!t.byteLength){this.initTracks=undefined;this.initData=undefined;return}var o=this.initData=Object(a["parseInitSegment"])(t);if(!r){r=u(o.audio,n["ElementaryStreamTypes"].AUDIO)}if(!i){i=u(o.video,n["ElementaryStreamTypes"].VIDEO)}var l={};if(o.audio&&o.video){l.audiovideo={container:"video/mp4",codec:r+","+i,initSegment:t,id:"main"}}else if(o.audio){l.audio={container:"audio/mp4",codec:r,initSegment:t,id:"audio"}}else if(o.video){l.video={container:"video/mp4",codec:i,initSegment:t,id:"main"}}else{s["logger"].warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes.")}this.initTracks=l};t.remux=function e(t,r,n,o,u){var f=this.initPTS,c=this.lastEndDTS;var d={audio:undefined,video:undefined,text:o,id3:n,initSegment:undefined};if(!Object(i["isFiniteNumber"])(c)){c=this.lastEndDTS=u||0}var h=r.samples;if(!h||!h.length){return d}var v={initPTS:undefined,timescale:1};var g=this.initData;if(!g||!g.length){this.generateInitSegment(h);g=this.initData}if(!g||!g.length){s["logger"].warn("[passthrough-remuxer.ts]: Failed to generate initSegment.");return d}if(this.emitInitSegment){v.tracks=this.initTracks;this.emitInitSegment=false}if(!Object(i["isFiniteNumber"])(f)){this.initPTS=v.initPTS=f=l(g,h,c)}var p=Object(a["getDuration"])(h,g);var m=c;var y=p+m;Object(a["offsetStartDTS"])(g,h,f);if(p>0){this.lastEndDTS=y}else{s["logger"].warn("Duration parsed from mp4 should be greater than zero");this.resetNextTimestamp()}var E=!!g.audio;var T=!!g.video;var b="";if(E){b+="audio"}if(T){b+="video"}var S={data1:h,startPTS:m,startDTS:m,endPTS:y,endDTS:y,type:b,hasAudio:E,hasVideo:T,nb:1,dropped:0};d.audio=S.type==="audio"?S:undefined;d.video=S.type!=="audio"?S:undefined;d.text=o;d.id3=n;d.initSegment=v;return d};return e}();var l=function e(t,r,i){return Object(a["getStartDTS"])(t,r)-i};function u(e,t){var r=e===null||e===void 0?void 0:e.codec;if(r&&r.length>4){return r}if(r==="hvc1"){return"hvc1.1.c.L120.90"}if(r==="av01"){return"av01.0.04M.08"}if(r==="avc1"||t===n["ElementaryStreamTypes"].VIDEO){return"avc1.42e01e"}return"mp4a.40.5"}t["default"]=o},"./src/task-loop.ts":
249
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../utils/mp4-tools */"./src/utils/mp4-tools.ts");var n=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var s=r(/*! ../utils/logger */"./src/utils/logger.ts");var o=function(){function e(){this.emitInitSegment=false;this.audioCodec=void 0;this.videoCodec=void 0;this.initData=void 0;this.initPTS=void 0;this.initTracks=void 0;this.lastEndDTS=null}var t=e.prototype;t.destroy=function e(){};t.resetTimeStamp=function e(t){this.initPTS=t;this.lastEndDTS=null};t.resetNextTimestamp=function e(){this.lastEndDTS=null};t.resetInitSegment=function e(t,r,i){this.audioCodec=r;this.videoCodec=i;this.generateInitSegment(t);this.emitInitSegment=true};t.generateInitSegment=function e(t){var r=this.audioCodec,i=this.videoCodec;if(!t||!t.byteLength){this.initTracks=undefined;this.initData=undefined;return}var o=this.initData=Object(a["parseInitSegment"])(t);if(!r){r=u(o.audio,n["ElementaryStreamTypes"].AUDIO)}if(!i){i=u(o.video,n["ElementaryStreamTypes"].VIDEO)}var l={};if(o.audio&&o.video){l.audiovideo={container:"video/mp4",codec:r+","+i,initSegment:t,id:"main"}}else if(o.audio){l.audio={container:"audio/mp4",codec:r,initSegment:t,id:"audio"}}else if(o.video){l.video={container:"video/mp4",codec:i,initSegment:t,id:"main"}}else{s["logger"].warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes.")}this.initTracks=l};t.remux=function e(t,r,n,o,u){var f=this.initPTS,d=this.lastEndDTS;var c={audio:undefined,video:undefined,text:o,id3:n,initSegment:undefined};if(!Object(i["isFiniteNumber"])(d)){d=this.lastEndDTS=u||0}var h=r.samples;if(!h||!h.length){return c}var v={initPTS:undefined,timescale:1};var g=this.initData;if(!g||!g.length){this.generateInitSegment(h);g=this.initData}if(!g||!g.length){s["logger"].warn("[passthrough-remuxer.ts]: Failed to generate initSegment.");return c}if(this.emitInitSegment){v.tracks=this.initTracks;this.emitInitSegment=false}if(!Object(i["isFiniteNumber"])(f)){this.initPTS=v.initPTS=f=l(g,h,d)}var p=Object(a["getDuration"])(h,g);var m=d;var y=p+m;Object(a["offsetStartDTS"])(g,h,f);if(p>0){this.lastEndDTS=y}else{s["logger"].warn("Duration parsed from mp4 should be greater than zero");this.resetNextTimestamp()}var E=!!g.audio;var T=!!g.video;var b="";if(E){b+="audio"}if(T){b+="video"}var S={data1:h,startPTS:m,startDTS:m,endPTS:y,endDTS:y,type:b,hasAudio:E,hasVideo:T,nb:1,dropped:0};c.audio=S.type==="audio"?S:undefined;c.video=S.type!=="audio"?S:undefined;c.text=o;c.id3=n;c.initSegment=v;return c};return e}();var l=function e(t,r,i){return Object(a["getStartDTS"])(t,r)-i};function u(e,t){var r=e===null||e===void 0?void 0:e.codec;if(r&&r.length>4){return r}if(r==="hvc1"){return"hvc1.1.c.L120.90"}if(r==="av01"){return"av01.0.04M.08"}if(r==="avc1"||t===n["ElementaryStreamTypes"].VIDEO){return"avc1.42e01e"}return"mp4a.40.5"}t["default"]=o},"./src/task-loop.ts":
250
250
  /*!**************************!*\
251
251
  !*** ./src/task-loop.ts ***!
252
252
  \**************************/
@@ -278,11 +278,11 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
278
278
  /*!************************************!*\
279
279
  !*** ./src/utils/buffer-helper.ts ***!
280
280
  \************************************/
281
- /*! exports provided: BufferHelper */function(e,t,r){r.r(t);r.d(t,"BufferHelper",(function(){return n}));var i=r(/*! ./logger */"./src/utils/logger.ts");var a={length:0,start:function e(){return 0},end:function e(){return 0}};var n=function(){function e(){}e.isBuffered=function t(r,i){try{if(r){var a=e.getBuffered(r);for(var n=0;n<a.length;n++){if(i>=a.start(n)&&i<=a.end(n)){return true}}}}catch(e){}return false};e.bufferInfo=function t(r,i,a){try{if(r){var n=e.getBuffered(r);var s=[];var o;for(o=0;o<n.length;o++){s.push({start:n.start(o),end:n.end(o)})}return this.bufferedInfo(s,i,a)}}catch(e){}return{len:0,start:i,end:i,nextStart:undefined}};e.bufferedInfo=function e(t,r,i){r=Math.max(0,r);t.sort((function(e,t){var r=e.start-t.start;if(r){return r}else{return t.end-e.end}}));var a=[];if(i){for(var n=0;n<t.length;n++){var s=a.length;if(s){var o=a[s-1].end;if(t[n].start-o<i){if(t[n].end>o){a[s-1].end=t[n].end}}else{a.push(t[n])}}else{a.push(t[n])}}}else{a=t}var l=0;var u;var f=r;var c=r;for(var d=0;d<a.length;d++){var h=a[d].start;var v=a[d].end;if(r+i>=h&&r<v){f=h;c=v;l=c-r}else if(r+i<h){u=h;break}}return{len:l,start:f||0,end:c||0,nextStart:u}};e.getBuffered=function e(t){try{return t.buffered}catch(e){i["logger"].log("failed to get media.buffered",e);return a}};return e}()},"./src/utils/cea-608-parser.ts":
281
+ /*! exports provided: BufferHelper */function(e,t,r){r.r(t);r.d(t,"BufferHelper",(function(){return n}));var i=r(/*! ./logger */"./src/utils/logger.ts");var a={length:0,start:function e(){return 0},end:function e(){return 0}};var n=function(){function e(){}e.isBuffered=function t(r,i){try{if(r){var a=e.getBuffered(r);for(var n=0;n<a.length;n++){if(i>=a.start(n)&&i<=a.end(n)){return true}}}}catch(e){}return false};e.bufferInfo=function t(r,i,a){try{if(r){var n=e.getBuffered(r);var s=[];var o;for(o=0;o<n.length;o++){s.push({start:n.start(o),end:n.end(o)})}return this.bufferedInfo(s,i,a)}}catch(e){}return{len:0,start:i,end:i,nextStart:undefined}};e.bufferedInfo=function e(t,r,i){r=Math.max(0,r);t.sort((function(e,t){var r=e.start-t.start;if(r){return r}else{return t.end-e.end}}));var a=[];if(i){for(var n=0;n<t.length;n++){var s=a.length;if(s){var o=a[s-1].end;if(t[n].start-o<i){if(t[n].end>o){a[s-1].end=t[n].end}}else{a.push(t[n])}}else{a.push(t[n])}}}else{a=t}var l=0;var u;var f=r;var d=r;for(var c=0;c<a.length;c++){var h=a[c].start;var v=a[c].end;if(r+i>=h&&r<v){f=h;d=v;l=d-r}else if(r+i<h){u=h;break}}return{len:l,start:f||0,end:d||0,nextStart:u}};e.getBuffered=function e(t){try{return t.buffered}catch(e){i["logger"].log("failed to get media.buffered",e);return a}};return e}()},"./src/utils/cea-608-parser.ts":
282
282
  /*!*************************************!*\
283
283
  !*** ./src/utils/cea-608-parser.ts ***!
284
284
  \*************************************/
285
- /*! exports provided: Row, CaptionScreen, default */function(e,t,r){r.r(t);r.d(t,"Row",(function(){return y}));r.d(t,"CaptionScreen",(function(){return E}));var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499};var n=function e(t){var r=t;if(a.hasOwnProperty(t)){r=a[t]}return String.fromCharCode(r)};var s=15;var o=100;var l={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14};var u={17:2,18:4,21:6,22:8,23:10,19:13,20:15};var f={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14};var c={25:2,26:4,29:6,30:8,31:10,27:13,28:15};var d=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];var h;(function(e){e[e["ERROR"]=0]="ERROR";e[e["TEXT"]=1]="TEXT";e[e["WARNING"]=2]="WARNING";e[e["INFO"]=2]="INFO";e[e["DEBUG"]=3]="DEBUG";e[e["DATA"]=3]="DATA"})(h||(h={}));var v=function(){function e(){this.time=null;this.verboseLevel=h.ERROR}var t=e.prototype;t.log=function e(t,r){if(this.verboseLevel>=t){i["logger"].log(this.time+" ["+t+"] "+r)}};return e}();var g=function e(t){var r=[];for(var i=0;i<t.length;i++){r.push(t[i].toString(16))}return r};var p=function(){function e(e,t,r,i,a){this.foreground=void 0;this.underline=void 0;this.italics=void 0;this.background=void 0;this.flash=void 0;this.foreground=e||"white";this.underline=t||false;this.italics=r||false;this.background=i||"black";this.flash=a||false}var t=e.prototype;t.reset=function e(){this.foreground="white";this.underline=false;this.italics=false;this.background="black";this.flash=false};t.setStyles=function e(t){var r=["foreground","underline","italics","background","flash"];for(var i=0;i<r.length;i++){var a=r[i];if(t.hasOwnProperty(a)){this[a]=t[a]}}};t.isDefault=function e(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash};t.equals=function e(t){return this.foreground===t.foreground&&this.underline===t.underline&&this.italics===t.italics&&this.background===t.background&&this.flash===t.flash};t.copy=function e(t){this.foreground=t.foreground;this.underline=t.underline;this.italics=t.italics;this.background=t.background;this.flash=t.flash};t.toString=function e(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash};return e}();var m=function(){function e(e,t,r,i,a,n){this.uchar=void 0;this.penState=void 0;this.uchar=e||" ";this.penState=new p(t,r,i,a,n)}var t=e.prototype;t.reset=function e(){this.uchar=" ";this.penState.reset()};t.setChar=function e(t,r){this.uchar=t;this.penState.copy(r)};t.setPenState=function e(t){this.penState.copy(t)};t.equals=function e(t){return this.uchar===t.uchar&&this.penState.equals(t.penState)};t.copy=function e(t){this.uchar=t.uchar;this.penState.copy(t.penState)};t.isEmpty=function e(){return this.uchar===" "&&this.penState.isDefault()};return e}();var y=function(){function e(e){this.chars=void 0;this.pos=void 0;this.currPenState=void 0;this.cueStartTime=void 0;this.logger=void 0;this.chars=[];for(var t=0;t<o;t++){this.chars.push(new m)}this.logger=e;this.pos=0;this.currPenState=new p}var t=e.prototype;t.equals=function e(t){var r=true;for(var i=0;i<o;i++){if(!this.chars[i].equals(t.chars[i])){r=false;break}}return r};t.copy=function e(t){for(var r=0;r<o;r++){this.chars[r].copy(t.chars[r])}};t.isEmpty=function e(){var t=true;for(var r=0;r<o;r++){if(!this.chars[r].isEmpty()){t=false;break}}return t};t.setCursor=function e(t){if(this.pos!==t){this.pos=t}if(this.pos<0){this.logger.log(h.DEBUG,"Negative cursor position "+this.pos);this.pos=0}else if(this.pos>o){this.logger.log(h.DEBUG,"Too large cursor position "+this.pos);this.pos=o}};t.moveCursor=function e(t){var r=this.pos+t;if(t>1){for(var i=this.pos+1;i<r+1;i++){this.chars[i].setPenState(this.currPenState)}}this.setCursor(r)};t.backSpace=function e(){this.moveCursor(-1);this.chars[this.pos].setChar(" ",this.currPenState)};t.insertChar=function e(t){if(t>=144){this.backSpace()}var r=n(t);if(this.pos>=o){this.logger.log(h.ERROR,"Cannot insert "+t.toString(16)+" ("+r+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(r,this.currPenState);this.moveCursor(1)};t.clearFromPos=function e(t){var r;for(r=t;r<o;r++){this.chars[r].reset()}};t.clear=function e(){this.clearFromPos(0);this.pos=0;this.currPenState.reset()};t.clearToEndOfRow=function e(){this.clearFromPos(this.pos)};t.getTextString=function e(){var t=[];var r=true;for(var i=0;i<o;i++){var a=this.chars[i].uchar;if(a!==" "){r=false}t.push(a)}if(r){return""}else{return t.join("")}};t.setPenStyles=function e(t){this.currPenState.setStyles(t);var r=this.chars[this.pos];r.setPenState(this.currPenState)};return e}();var E=function(){function e(e){this.rows=void 0;this.currRow=void 0;this.nrRollUpRows=void 0;this.lastOutputScreen=void 0;this.logger=void 0;this.rows=[];for(var t=0;t<s;t++){this.rows.push(new y(e))}this.logger=e;this.currRow=s-1;this.nrRollUpRows=null;this.lastOutputScreen=null;this.reset()}var t=e.prototype;t.reset=function e(){for(var t=0;t<s;t++){this.rows[t].clear()}this.currRow=s-1};t.equals=function e(t){var r=true;for(var i=0;i<s;i++){if(!this.rows[i].equals(t.rows[i])){r=false;break}}return r};t.copy=function e(t){for(var r=0;r<s;r++){this.rows[r].copy(t.rows[r])}};t.isEmpty=function e(){var t=true;for(var r=0;r<s;r++){if(!this.rows[r].isEmpty()){t=false;break}}return t};t.backSpace=function e(){var t=this.rows[this.currRow];t.backSpace()};t.clearToEndOfRow=function e(){var t=this.rows[this.currRow];t.clearToEndOfRow()};t.insertChar=function e(t){var r=this.rows[this.currRow];r.insertChar(t)};t.setPen=function e(t){var r=this.rows[this.currRow];r.setPenStyles(t)};t.moveCursor=function e(t){var r=this.rows[this.currRow];r.moveCursor(t)};t.setCursor=function e(t){this.logger.log(h.INFO,"setCursor: "+t);var r=this.rows[this.currRow];r.setCursor(t)};t.setPAC=function e(t){this.logger.log(h.INFO,"pacData = "+JSON.stringify(t));var r=t.row-1;if(this.nrRollUpRows&&r<this.nrRollUpRows-1){r=this.nrRollUpRows-1}if(this.nrRollUpRows&&this.currRow!==r){for(var i=0;i<s;i++){this.rows[i].clear()}var a=this.currRow+1-this.nrRollUpRows;var n=this.lastOutputScreen;if(n){var o=n.rows[a].cueStartTime;var l=this.logger.time;if(o&&l!==null&&o<l){for(var u=0;u<this.nrRollUpRows;u++){this.rows[r-this.nrRollUpRows+u+1].copy(n.rows[a+u])}}}}this.currRow=r;var f=this.rows[this.currRow];if(t.indent!==null){var c=t.indent;var d=Math.max(c-1,0);f.setCursor(t.indent);t.color=f.chars[d].penState.foreground}var v={foreground:t.color,underline:t.underline,italics:t.italics,background:"black",flash:false};this.setPen(v)};t.setBkgData=function e(t){this.logger.log(h.INFO,"bkgData = "+JSON.stringify(t));this.backSpace();this.setPen(t);this.insertChar(32)};t.setRollUpRows=function e(t){this.nrRollUpRows=t};t.rollUp=function e(){if(this.nrRollUpRows===null){this.logger.log(h.DEBUG,"roll_up but nrRollUpRows not set yet");return}this.logger.log(h.TEXT,this.getDisplayText());var t=this.currRow+1-this.nrRollUpRows;var r=this.rows.splice(t,1)[0];r.clear();this.rows.splice(this.currRow,0,r);this.logger.log(h.INFO,"Rolling up")};t.getDisplayText=function e(t){t=t||false;var r=[];var i="";var a=-1;for(var n=0;n<s;n++){var o=this.rows[n].getTextString();if(o){a=n+1;if(t){r.push("Row "+a+": '"+o+"'")}else{r.push(o.trim())}}}if(r.length>0){if(t){i="["+r.join(" | ")+"]"}else{i=r.join("\n")}}return i};t.getTextAndFormat=function e(){return this.rows};return e}();var T=function(){function e(e,t,r){this.chNr=void 0;this.outputFilter=void 0;this.mode=void 0;this.verbose=void 0;this.displayedMemory=void 0;this.nonDisplayedMemory=void 0;this.lastOutputScreen=void 0;this.currRollUpRow=void 0;this.writeScreen=void 0;this.cueStartTime=void 0;this.logger=void 0;this.chNr=e;this.outputFilter=t;this.mode=null;this.verbose=0;this.displayedMemory=new E(r);this.nonDisplayedMemory=new E(r);this.lastOutputScreen=new E(r);this.currRollUpRow=this.displayedMemory.rows[s-1];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null;this.logger=r}var t=e.prototype;t.reset=function e(){this.mode=null;this.displayedMemory.reset();this.nonDisplayedMemory.reset();this.lastOutputScreen.reset();this.outputFilter.reset();this.currRollUpRow=this.displayedMemory.rows[s-1];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null};t.getHandler=function e(){return this.outputFilter};t.setHandler=function e(t){this.outputFilter=t};t.setPAC=function e(t){this.writeScreen.setPAC(t)};t.setBkgData=function e(t){this.writeScreen.setBkgData(t)};t.setMode=function e(t){if(t===this.mode){return}this.mode=t;this.logger.log(h.INFO,"MODE="+t);if(this.mode==="MODE_POP-ON"){this.writeScreen=this.nonDisplayedMemory}else{this.writeScreen=this.displayedMemory;this.writeScreen.reset()}if(this.mode!=="MODE_ROLL-UP"){this.displayedMemory.nrRollUpRows=null;this.nonDisplayedMemory.nrRollUpRows=null}this.mode=t};t.insertChars=function e(t){for(var r=0;r<t.length;r++){this.writeScreen.insertChar(t[r])}var i=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(h.INFO,i+": "+this.writeScreen.getDisplayText(true));if(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP"){this.logger.log(h.TEXT,"DISPLAYED: "+this.displayedMemory.getDisplayText(true));this.outputDataUpdate()}};t.ccRCL=function e(){this.logger.log(h.INFO,"RCL - Resume Caption Loading");this.setMode("MODE_POP-ON")};t.ccBS=function e(){this.logger.log(h.INFO,"BS - BackSpace");if(this.mode==="MODE_TEXT"){return}this.writeScreen.backSpace();if(this.writeScreen===this.displayedMemory){this.outputDataUpdate()}};t.ccAOF=function e(){};t.ccAON=function e(){};t.ccDER=function e(){this.logger.log(h.INFO,"DER- Delete to End of Row");this.writeScreen.clearToEndOfRow();this.outputDataUpdate()};t.ccRU=function e(t){this.logger.log(h.INFO,"RU("+t+") - Roll Up");this.writeScreen=this.displayedMemory;this.setMode("MODE_ROLL-UP");this.writeScreen.setRollUpRows(t)};t.ccFON=function e(){this.logger.log(h.INFO,"FON - Flash On");this.writeScreen.setPen({flash:true})};t.ccRDC=function e(){this.logger.log(h.INFO,"RDC - Resume Direct Captioning");this.setMode("MODE_PAINT-ON")};t.ccTR=function e(){this.logger.log(h.INFO,"TR");this.setMode("MODE_TEXT")};t.ccRTD=function e(){this.logger.log(h.INFO,"RTD");this.setMode("MODE_TEXT")};t.ccEDM=function e(){this.logger.log(h.INFO,"EDM - Erase Displayed Memory");this.displayedMemory.reset();this.outputDataUpdate(true)};t.ccCR=function e(){this.logger.log(h.INFO,"CR - Carriage Return");this.writeScreen.rollUp();this.outputDataUpdate(true)};t.ccENM=function e(){this.logger.log(h.INFO,"ENM - Erase Non-displayed Memory");this.nonDisplayedMemory.reset()};t.ccEOC=function e(){this.logger.log(h.INFO,"EOC - End Of Caption");if(this.mode==="MODE_POP-ON"){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory;this.nonDisplayedMemory=t;this.writeScreen=this.nonDisplayedMemory;this.logger.log(h.TEXT,"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(true)};t.ccTO=function e(t){this.logger.log(h.INFO,"TO("+t+") - Tab Offset");this.writeScreen.moveCursor(t)};t.ccMIDROW=function e(t){var r={flash:false};r.underline=t%2===1;r.italics=t>=46;if(!r.italics){var i=Math.floor(t/2)-16;var a=["white","green","blue","cyan","red","yellow","magenta"];r.foreground=a[i]}else{r.foreground="white"}this.logger.log(h.INFO,"MIDROW: "+JSON.stringify(r));this.writeScreen.setPen(r)};t.outputDataUpdate=function e(t){if(t===void 0){t=false}var r=this.logger.time;if(r===null){return}if(this.outputFilter){if(this.cueStartTime===null&&!this.displayedMemory.isEmpty()){this.cueStartTime=r}else{if(!this.displayedMemory.equals(this.lastOutputScreen)){this.outputFilter.newCue(this.cueStartTime,r,this.lastOutputScreen);if(t&&this.outputFilter.dispatchCue){this.outputFilter.dispatchCue()}this.cueStartTime=this.displayedMemory.isEmpty()?null:r}}this.lastOutputScreen.copy(this.displayedMemory)}};t.cueSplitAtTime=function e(t){if(this.outputFilter){if(!this.displayedMemory.isEmpty()){if(this.outputFilter.newCue){this.outputFilter.newCue(this.cueStartTime,t,this.displayedMemory)}this.cueStartTime=t}}};return e}();var b=function(){function e(e,t,r){this.channels=void 0;this.currentChannel=0;this.cmdHistory=void 0;this.logger=void 0;var i=new v;this.channels=[null,new T(e,t,i),new T(e+1,r,i)];this.cmdHistory=L();this.logger=i}var t=e.prototype;t.getHandler=function e(t){return this.channels[t].getHandler()};t.setHandler=function e(t,r){this.channels[t].setHandler(r)};t.addData=function e(t,r){var i;var a;var n;var s=false;this.logger.time=t;for(var o=0;o<r.length;o+=2){a=r[o]&127;n=r[o+1]&127;if(a===0&&n===0){continue}else{this.logger.log(h.DATA,"["+g([r[o],r[o+1]])+"] -> ("+g([a,n])+")")}i=this.parseCmd(a,n);if(!i){i=this.parseMidrow(a,n)}if(!i){i=this.parsePAC(a,n)}if(!i){i=this.parseBackgroundAttributes(a,n)}if(!i){s=this.parseChars(a,n);if(s){var l=this.currentChannel;if(l&&l>0){var u=this.channels[l];u.insertChars(s)}else{this.logger.log(h.WARNING,"No channel found yet. TEXT-MODE?")}}}if(!i&&!s){this.logger.log(h.WARNING,"Couldn't parse cleaned data "+g([a,n])+" orig: "+g([r[o],r[o+1]]))}}};t.parseCmd=function e(t,r){var i=this.cmdHistory;var a=(t===20||t===28||t===21||t===29)&&r>=32&&r<=47;var n=(t===23||t===31)&&r>=33&&r<=35;if(!(a||n)){return false}if(A(t,r,i)){S(null,null,i);this.logger.log(h.DEBUG,"Repeated command ("+g([t,r])+") is dropped");return true}var s=t===20||t===21||t===23?1:2;var o=this.channels[s];if(t===20||t===21||t===28||t===29){if(r===32){o.ccRCL()}else if(r===33){o.ccBS()}else if(r===34){o.ccAOF()}else if(r===35){o.ccAON()}else if(r===36){o.ccDER()}else if(r===37){o.ccRU(2)}else if(r===38){o.ccRU(3)}else if(r===39){o.ccRU(4)}else if(r===40){o.ccFON()}else if(r===41){o.ccRDC()}else if(r===42){o.ccTR()}else if(r===43){o.ccRTD()}else if(r===44){o.ccEDM()}else if(r===45){o.ccCR()}else if(r===46){o.ccENM()}else if(r===47){o.ccEOC()}}else{o.ccTO(r-32)}S(t,r,i);this.currentChannel=s;return true};t.parseMidrow=function e(t,r){var i=0;if((t===17||t===25)&&r>=32&&r<=47){if(t===17){i=1}else{i=2}if(i!==this.currentChannel){this.logger.log(h.ERROR,"Mismatch channel in midrow parsing");return false}var a=this.channels[i];if(!a){return false}a.ccMIDROW(r);this.logger.log(h.DEBUG,"MIDROW ("+g([t,r])+")");return true}return false};t.parsePAC=function e(t,r){var i;var a=this.cmdHistory;var n=(t>=17&&t<=23||t>=25&&t<=31)&&r>=64&&r<=127;var s=(t===16||t===24)&&r>=64&&r<=95;if(!(n||s)){return false}if(A(t,r,a)){S(null,null,a);return true}var o=t<=23?1:2;if(r>=64&&r<=95){i=o===1?l[t]:f[t]}else{i=o===1?u[t]:c[t]}var d=this.channels[o];if(!d){return false}d.setPAC(this.interpretPAC(i,r));S(t,r,a);this.currentChannel=o;return true};t.interpretPAC=function e(t,r){var i;var a={color:null,italics:false,indent:null,underline:false,row:t};if(r>95){i=r-96}else{i=r-64}a.underline=(i&1)===1;if(i<=13){a.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]}else if(i<=15){a.italics=true;a.color="white"}else{a.indent=Math.floor((i-16)/2)*4}return a};t.parseChars=function e(t,r){var i;var a=null;var s=null;if(t>=25){i=2;s=t-8}else{i=1;s=t}if(s>=17&&s<=19){var o;if(s===17){o=r+80}else if(s===18){o=r+112}else{o=r+144}this.logger.log(h.INFO,"Special char '"+n(o)+"' in channel "+i);a=[o]}else if(t>=32&&t<=127){a=r===0?[t]:[t,r]}if(a){var l=g(a);this.logger.log(h.DEBUG,"Char codes = "+l.join(","));S(t,r,this.cmdHistory)}return a};t.parseBackgroundAttributes=function e(t,r){var i=(t===16||t===24)&&r>=32&&r<=47;var a=(t===23||t===31)&&r>=45&&r<=47;if(!(i||a)){return false}var n;var s={};if(t===16||t===24){n=Math.floor((r-32)/2);s.background=d[n];if(r%2===1){s.background=s.background+"_semi"}}else if(r===45){s.background="transparent"}else{s.foreground="black";if(r===47){s.underline=true}}var o=t<=23?1:2;var l=this.channels[o];l.setBkgData(s);S(t,r,this.cmdHistory);return true};t.reset=function e(){for(var t=0;t<Object.keys(this.channels).length;t++){var r=this.channels[t];if(r){r.reset()}}this.cmdHistory=L()};t.cueSplitAtTime=function e(t){for(var r=0;r<this.channels.length;r++){var i=this.channels[r];if(i){i.cueSplitAtTime(t)}}};return e}();function S(e,t,r){r.a=e;r.b=t}function A(e,t,r){return r.a===e&&r.b===t}function L(){return{a:null,b:null}}t["default"]=b},"./src/utils/codecs.ts":
285
+ /*! exports provided: Row, CaptionScreen, default */function(e,t,r){r.r(t);r.d(t,"Row",(function(){return y}));r.d(t,"CaptionScreen",(function(){return E}));var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499};var n=function e(t){var r=t;if(a.hasOwnProperty(t)){r=a[t]}return String.fromCharCode(r)};var s=15;var o=100;var l={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14};var u={17:2,18:4,21:6,22:8,23:10,19:13,20:15};var f={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14};var d={25:2,26:4,29:6,30:8,31:10,27:13,28:15};var c=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];var h;(function(e){e[e["ERROR"]=0]="ERROR";e[e["TEXT"]=1]="TEXT";e[e["WARNING"]=2]="WARNING";e[e["INFO"]=2]="INFO";e[e["DEBUG"]=3]="DEBUG";e[e["DATA"]=3]="DATA"})(h||(h={}));var v=function(){function e(){this.time=null;this.verboseLevel=h.ERROR}var t=e.prototype;t.log=function e(t,r){if(this.verboseLevel>=t){i["logger"].log(this.time+" ["+t+"] "+r)}};return e}();var g=function e(t){var r=[];for(var i=0;i<t.length;i++){r.push(t[i].toString(16))}return r};var p=function(){function e(e,t,r,i,a){this.foreground=void 0;this.underline=void 0;this.italics=void 0;this.background=void 0;this.flash=void 0;this.foreground=e||"white";this.underline=t||false;this.italics=r||false;this.background=i||"black";this.flash=a||false}var t=e.prototype;t.reset=function e(){this.foreground="white";this.underline=false;this.italics=false;this.background="black";this.flash=false};t.setStyles=function e(t){var r=["foreground","underline","italics","background","flash"];for(var i=0;i<r.length;i++){var a=r[i];if(t.hasOwnProperty(a)){this[a]=t[a]}}};t.isDefault=function e(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash};t.equals=function e(t){return this.foreground===t.foreground&&this.underline===t.underline&&this.italics===t.italics&&this.background===t.background&&this.flash===t.flash};t.copy=function e(t){this.foreground=t.foreground;this.underline=t.underline;this.italics=t.italics;this.background=t.background;this.flash=t.flash};t.toString=function e(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash};return e}();var m=function(){function e(e,t,r,i,a,n){this.uchar=void 0;this.penState=void 0;this.uchar=e||" ";this.penState=new p(t,r,i,a,n)}var t=e.prototype;t.reset=function e(){this.uchar=" ";this.penState.reset()};t.setChar=function e(t,r){this.uchar=t;this.penState.copy(r)};t.setPenState=function e(t){this.penState.copy(t)};t.equals=function e(t){return this.uchar===t.uchar&&this.penState.equals(t.penState)};t.copy=function e(t){this.uchar=t.uchar;this.penState.copy(t.penState)};t.isEmpty=function e(){return this.uchar===" "&&this.penState.isDefault()};return e}();var y=function(){function e(e){this.chars=void 0;this.pos=void 0;this.currPenState=void 0;this.cueStartTime=void 0;this.logger=void 0;this.chars=[];for(var t=0;t<o;t++){this.chars.push(new m)}this.logger=e;this.pos=0;this.currPenState=new p}var t=e.prototype;t.equals=function e(t){var r=true;for(var i=0;i<o;i++){if(!this.chars[i].equals(t.chars[i])){r=false;break}}return r};t.copy=function e(t){for(var r=0;r<o;r++){this.chars[r].copy(t.chars[r])}};t.isEmpty=function e(){var t=true;for(var r=0;r<o;r++){if(!this.chars[r].isEmpty()){t=false;break}}return t};t.setCursor=function e(t){if(this.pos!==t){this.pos=t}if(this.pos<0){this.logger.log(h.DEBUG,"Negative cursor position "+this.pos);this.pos=0}else if(this.pos>o){this.logger.log(h.DEBUG,"Too large cursor position "+this.pos);this.pos=o}};t.moveCursor=function e(t){var r=this.pos+t;if(t>1){for(var i=this.pos+1;i<r+1;i++){this.chars[i].setPenState(this.currPenState)}}this.setCursor(r)};t.backSpace=function e(){this.moveCursor(-1);this.chars[this.pos].setChar(" ",this.currPenState)};t.insertChar=function e(t){if(t>=144){this.backSpace()}var r=n(t);if(this.pos>=o){this.logger.log(h.ERROR,"Cannot insert "+t.toString(16)+" ("+r+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(r,this.currPenState);this.moveCursor(1)};t.clearFromPos=function e(t){var r;for(r=t;r<o;r++){this.chars[r].reset()}};t.clear=function e(){this.clearFromPos(0);this.pos=0;this.currPenState.reset()};t.clearToEndOfRow=function e(){this.clearFromPos(this.pos)};t.getTextString=function e(){var t=[];var r=true;for(var i=0;i<o;i++){var a=this.chars[i].uchar;if(a!==" "){r=false}t.push(a)}if(r){return""}else{return t.join("")}};t.setPenStyles=function e(t){this.currPenState.setStyles(t);var r=this.chars[this.pos];r.setPenState(this.currPenState)};return e}();var E=function(){function e(e){this.rows=void 0;this.currRow=void 0;this.nrRollUpRows=void 0;this.lastOutputScreen=void 0;this.logger=void 0;this.rows=[];for(var t=0;t<s;t++){this.rows.push(new y(e))}this.logger=e;this.currRow=s-1;this.nrRollUpRows=null;this.lastOutputScreen=null;this.reset()}var t=e.prototype;t.reset=function e(){for(var t=0;t<s;t++){this.rows[t].clear()}this.currRow=s-1};t.equals=function e(t){var r=true;for(var i=0;i<s;i++){if(!this.rows[i].equals(t.rows[i])){r=false;break}}return r};t.copy=function e(t){for(var r=0;r<s;r++){this.rows[r].copy(t.rows[r])}};t.isEmpty=function e(){var t=true;for(var r=0;r<s;r++){if(!this.rows[r].isEmpty()){t=false;break}}return t};t.backSpace=function e(){var t=this.rows[this.currRow];t.backSpace()};t.clearToEndOfRow=function e(){var t=this.rows[this.currRow];t.clearToEndOfRow()};t.insertChar=function e(t){var r=this.rows[this.currRow];r.insertChar(t)};t.setPen=function e(t){var r=this.rows[this.currRow];r.setPenStyles(t)};t.moveCursor=function e(t){var r=this.rows[this.currRow];r.moveCursor(t)};t.setCursor=function e(t){this.logger.log(h.INFO,"setCursor: "+t);var r=this.rows[this.currRow];r.setCursor(t)};t.setPAC=function e(t){this.logger.log(h.INFO,"pacData = "+JSON.stringify(t));var r=t.row-1;if(this.nrRollUpRows&&r<this.nrRollUpRows-1){r=this.nrRollUpRows-1}if(this.nrRollUpRows&&this.currRow!==r){for(var i=0;i<s;i++){this.rows[i].clear()}var a=this.currRow+1-this.nrRollUpRows;var n=this.lastOutputScreen;if(n){var o=n.rows[a].cueStartTime;var l=this.logger.time;if(o&&l!==null&&o<l){for(var u=0;u<this.nrRollUpRows;u++){this.rows[r-this.nrRollUpRows+u+1].copy(n.rows[a+u])}}}}this.currRow=r;var f=this.rows[this.currRow];if(t.indent!==null){var d=t.indent;var c=Math.max(d-1,0);f.setCursor(t.indent);t.color=f.chars[c].penState.foreground}var v={foreground:t.color,underline:t.underline,italics:t.italics,background:"black",flash:false};this.setPen(v)};t.setBkgData=function e(t){this.logger.log(h.INFO,"bkgData = "+JSON.stringify(t));this.backSpace();this.setPen(t);this.insertChar(32)};t.setRollUpRows=function e(t){this.nrRollUpRows=t};t.rollUp=function e(){if(this.nrRollUpRows===null){this.logger.log(h.DEBUG,"roll_up but nrRollUpRows not set yet");return}this.logger.log(h.TEXT,this.getDisplayText());var t=this.currRow+1-this.nrRollUpRows;var r=this.rows.splice(t,1)[0];r.clear();this.rows.splice(this.currRow,0,r);this.logger.log(h.INFO,"Rolling up")};t.getDisplayText=function e(t){t=t||false;var r=[];var i="";var a=-1;for(var n=0;n<s;n++){var o=this.rows[n].getTextString();if(o){a=n+1;if(t){r.push("Row "+a+": '"+o+"'")}else{r.push(o.trim())}}}if(r.length>0){if(t){i="["+r.join(" | ")+"]"}else{i=r.join("\n")}}return i};t.getTextAndFormat=function e(){return this.rows};return e}();var T=function(){function e(e,t,r){this.chNr=void 0;this.outputFilter=void 0;this.mode=void 0;this.verbose=void 0;this.displayedMemory=void 0;this.nonDisplayedMemory=void 0;this.lastOutputScreen=void 0;this.currRollUpRow=void 0;this.writeScreen=void 0;this.cueStartTime=void 0;this.logger=void 0;this.chNr=e;this.outputFilter=t;this.mode=null;this.verbose=0;this.displayedMemory=new E(r);this.nonDisplayedMemory=new E(r);this.lastOutputScreen=new E(r);this.currRollUpRow=this.displayedMemory.rows[s-1];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null;this.logger=r}var t=e.prototype;t.reset=function e(){this.mode=null;this.displayedMemory.reset();this.nonDisplayedMemory.reset();this.lastOutputScreen.reset();this.outputFilter.reset();this.currRollUpRow=this.displayedMemory.rows[s-1];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null};t.getHandler=function e(){return this.outputFilter};t.setHandler=function e(t){this.outputFilter=t};t.setPAC=function e(t){this.writeScreen.setPAC(t)};t.setBkgData=function e(t){this.writeScreen.setBkgData(t)};t.setMode=function e(t){if(t===this.mode){return}this.mode=t;this.logger.log(h.INFO,"MODE="+t);if(this.mode==="MODE_POP-ON"){this.writeScreen=this.nonDisplayedMemory}else{this.writeScreen=this.displayedMemory;this.writeScreen.reset()}if(this.mode!=="MODE_ROLL-UP"){this.displayedMemory.nrRollUpRows=null;this.nonDisplayedMemory.nrRollUpRows=null}this.mode=t};t.insertChars=function e(t){for(var r=0;r<t.length;r++){this.writeScreen.insertChar(t[r])}var i=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(h.INFO,i+": "+this.writeScreen.getDisplayText(true));if(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP"){this.logger.log(h.TEXT,"DISPLAYED: "+this.displayedMemory.getDisplayText(true));this.outputDataUpdate()}};t.ccRCL=function e(){this.logger.log(h.INFO,"RCL - Resume Caption Loading");this.setMode("MODE_POP-ON")};t.ccBS=function e(){this.logger.log(h.INFO,"BS - BackSpace");if(this.mode==="MODE_TEXT"){return}this.writeScreen.backSpace();if(this.writeScreen===this.displayedMemory){this.outputDataUpdate()}};t.ccAOF=function e(){};t.ccAON=function e(){};t.ccDER=function e(){this.logger.log(h.INFO,"DER- Delete to End of Row");this.writeScreen.clearToEndOfRow();this.outputDataUpdate()};t.ccRU=function e(t){this.logger.log(h.INFO,"RU("+t+") - Roll Up");this.writeScreen=this.displayedMemory;this.setMode("MODE_ROLL-UP");this.writeScreen.setRollUpRows(t)};t.ccFON=function e(){this.logger.log(h.INFO,"FON - Flash On");this.writeScreen.setPen({flash:true})};t.ccRDC=function e(){this.logger.log(h.INFO,"RDC - Resume Direct Captioning");this.setMode("MODE_PAINT-ON")};t.ccTR=function e(){this.logger.log(h.INFO,"TR");this.setMode("MODE_TEXT")};t.ccRTD=function e(){this.logger.log(h.INFO,"RTD");this.setMode("MODE_TEXT")};t.ccEDM=function e(){this.logger.log(h.INFO,"EDM - Erase Displayed Memory");this.displayedMemory.reset();this.outputDataUpdate(true)};t.ccCR=function e(){this.logger.log(h.INFO,"CR - Carriage Return");this.writeScreen.rollUp();this.outputDataUpdate(true)};t.ccENM=function e(){this.logger.log(h.INFO,"ENM - Erase Non-displayed Memory");this.nonDisplayedMemory.reset()};t.ccEOC=function e(){this.logger.log(h.INFO,"EOC - End Of Caption");if(this.mode==="MODE_POP-ON"){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory;this.nonDisplayedMemory=t;this.writeScreen=this.nonDisplayedMemory;this.logger.log(h.TEXT,"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(true)};t.ccTO=function e(t){this.logger.log(h.INFO,"TO("+t+") - Tab Offset");this.writeScreen.moveCursor(t)};t.ccMIDROW=function e(t){var r={flash:false};r.underline=t%2===1;r.italics=t>=46;if(!r.italics){var i=Math.floor(t/2)-16;var a=["white","green","blue","cyan","red","yellow","magenta"];r.foreground=a[i]}else{r.foreground="white"}this.logger.log(h.INFO,"MIDROW: "+JSON.stringify(r));this.writeScreen.setPen(r)};t.outputDataUpdate=function e(t){if(t===void 0){t=false}var r=this.logger.time;if(r===null){return}if(this.outputFilter){if(this.cueStartTime===null&&!this.displayedMemory.isEmpty()){this.cueStartTime=r}else{if(!this.displayedMemory.equals(this.lastOutputScreen)){this.outputFilter.newCue(this.cueStartTime,r,this.lastOutputScreen);if(t&&this.outputFilter.dispatchCue){this.outputFilter.dispatchCue()}this.cueStartTime=this.displayedMemory.isEmpty()?null:r}}this.lastOutputScreen.copy(this.displayedMemory)}};t.cueSplitAtTime=function e(t){if(this.outputFilter){if(!this.displayedMemory.isEmpty()){if(this.outputFilter.newCue){this.outputFilter.newCue(this.cueStartTime,t,this.displayedMemory)}this.cueStartTime=t}}};return e}();var b=function(){function e(e,t,r){this.channels=void 0;this.currentChannel=0;this.cmdHistory=void 0;this.logger=void 0;var i=new v;this.channels=[null,new T(e,t,i),new T(e+1,r,i)];this.cmdHistory=L();this.logger=i}var t=e.prototype;t.getHandler=function e(t){return this.channels[t].getHandler()};t.setHandler=function e(t,r){this.channels[t].setHandler(r)};t.addData=function e(t,r){var i;var a;var n;var s=false;this.logger.time=t;for(var o=0;o<r.length;o+=2){a=r[o]&127;n=r[o+1]&127;if(a===0&&n===0){continue}else{this.logger.log(h.DATA,"["+g([r[o],r[o+1]])+"] -> ("+g([a,n])+")")}i=this.parseCmd(a,n);if(!i){i=this.parseMidrow(a,n)}if(!i){i=this.parsePAC(a,n)}if(!i){i=this.parseBackgroundAttributes(a,n)}if(!i){s=this.parseChars(a,n);if(s){var l=this.currentChannel;if(l&&l>0){var u=this.channels[l];u.insertChars(s)}else{this.logger.log(h.WARNING,"No channel found yet. TEXT-MODE?")}}}if(!i&&!s){this.logger.log(h.WARNING,"Couldn't parse cleaned data "+g([a,n])+" orig: "+g([r[o],r[o+1]]))}}};t.parseCmd=function e(t,r){var i=this.cmdHistory;var a=(t===20||t===28||t===21||t===29)&&r>=32&&r<=47;var n=(t===23||t===31)&&r>=33&&r<=35;if(!(a||n)){return false}if(A(t,r,i)){S(null,null,i);this.logger.log(h.DEBUG,"Repeated command ("+g([t,r])+") is dropped");return true}var s=t===20||t===21||t===23?1:2;var o=this.channels[s];if(t===20||t===21||t===28||t===29){if(r===32){o.ccRCL()}else if(r===33){o.ccBS()}else if(r===34){o.ccAOF()}else if(r===35){o.ccAON()}else if(r===36){o.ccDER()}else if(r===37){o.ccRU(2)}else if(r===38){o.ccRU(3)}else if(r===39){o.ccRU(4)}else if(r===40){o.ccFON()}else if(r===41){o.ccRDC()}else if(r===42){o.ccTR()}else if(r===43){o.ccRTD()}else if(r===44){o.ccEDM()}else if(r===45){o.ccCR()}else if(r===46){o.ccENM()}else if(r===47){o.ccEOC()}}else{o.ccTO(r-32)}S(t,r,i);this.currentChannel=s;return true};t.parseMidrow=function e(t,r){var i=0;if((t===17||t===25)&&r>=32&&r<=47){if(t===17){i=1}else{i=2}if(i!==this.currentChannel){this.logger.log(h.ERROR,"Mismatch channel in midrow parsing");return false}var a=this.channels[i];if(!a){return false}a.ccMIDROW(r);this.logger.log(h.DEBUG,"MIDROW ("+g([t,r])+")");return true}return false};t.parsePAC=function e(t,r){var i;var a=this.cmdHistory;var n=(t>=17&&t<=23||t>=25&&t<=31)&&r>=64&&r<=127;var s=(t===16||t===24)&&r>=64&&r<=95;if(!(n||s)){return false}if(A(t,r,a)){S(null,null,a);return true}var o=t<=23?1:2;if(r>=64&&r<=95){i=o===1?l[t]:f[t]}else{i=o===1?u[t]:d[t]}var c=this.channels[o];if(!c){return false}c.setPAC(this.interpretPAC(i,r));S(t,r,a);this.currentChannel=o;return true};t.interpretPAC=function e(t,r){var i;var a={color:null,italics:false,indent:null,underline:false,row:t};if(r>95){i=r-96}else{i=r-64}a.underline=(i&1)===1;if(i<=13){a.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]}else if(i<=15){a.italics=true;a.color="white"}else{a.indent=Math.floor((i-16)/2)*4}return a};t.parseChars=function e(t,r){var i;var a=null;var s=null;if(t>=25){i=2;s=t-8}else{i=1;s=t}if(s>=17&&s<=19){var o;if(s===17){o=r+80}else if(s===18){o=r+112}else{o=r+144}this.logger.log(h.INFO,"Special char '"+n(o)+"' in channel "+i);a=[o]}else if(t>=32&&t<=127){a=r===0?[t]:[t,r]}if(a){var l=g(a);this.logger.log(h.DEBUG,"Char codes = "+l.join(","));S(t,r,this.cmdHistory)}return a};t.parseBackgroundAttributes=function e(t,r){var i=(t===16||t===24)&&r>=32&&r<=47;var a=(t===23||t===31)&&r>=45&&r<=47;if(!(i||a)){return false}var n;var s={};if(t===16||t===24){n=Math.floor((r-32)/2);s.background=c[n];if(r%2===1){s.background=s.background+"_semi"}}else if(r===45){s.background="transparent"}else{s.foreground="black";if(r===47){s.underline=true}}var o=t<=23?1:2;var l=this.channels[o];l.setBkgData(s);S(t,r,this.cmdHistory);return true};t.reset=function e(){for(var t=0;t<Object.keys(this.channels).length;t++){var r=this.channels[t];if(r){r.reset()}}this.cmdHistory=L()};t.cueSplitAtTime=function e(t){for(var r=0;r<this.channels.length;r++){var i=this.channels[r];if(i){i.cueSplitAtTime(t)}}};return e}();function S(e,t,r){r.a=e;r.b=t}function A(e,t,r){return r.a===e&&r.b===t}function L(){return{a:null,b:null}}t["default"]=b},"./src/utils/codecs.ts":
286
286
  /*!*****************************!*\
287
287
  !*** ./src/utils/codecs.ts ***!
288
288
  \*****************************/
@@ -290,11 +290,11 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
290
290
  /*!***************************!*\
291
291
  !*** ./src/utils/cues.ts ***!
292
292
  \***************************/
293
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./vttparser */"./src/utils/vttparser.ts");var a=r(/*! ./webvtt-parser */"./src/utils/webvtt-parser.ts");var n=r(/*! ./texttrack-utils */"./src/utils/texttrack-utils.ts");var s=/\s/;var o={newCue:function e(t,r,o,l){var u=[];var f;var c;var d;var h;var v;var g=self.VTTCue||self.TextTrackCue;for(var p=0;p<l.rows.length;p++){f=l.rows[p];d=true;h=0;v="";if(!f.isEmpty()){for(var m=0;m<f.chars.length;m++){if(s.test(f.chars[m].uchar)&&d){h++}else{v+=f.chars[m].uchar;d=false}}f.cueStartTime=r;if(r===o){o+=1e-4}if(h>=16){h--}else{h++}var y=Object(i["fixLineBreaks"])(v.trim());var E=Object(a["generateCueId"])(r,o,y);if(!t||!t.cues||!t.cues.getCueById(E)){c=new g(r,o,y);c.id=E;c.line=p+1;c.align="left";c.position=10+Math.min(80,Math.floor(h*8/32)*10);u.push(c)}}}if(t&&u.length){u.sort((function(e,t){if(e.line==="auto"||t.line==="auto"){return 0}if(e.line>8&&t.line>8){return t.line-e.line}return e.line-t.line}));u.forEach((function(e){return Object(n["addCueToTrack"])(t,e)}))}return u}};t["default"]=o},"./src/utils/discontinuities.ts":
293
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ./vttparser */"./src/utils/vttparser.ts");var a=r(/*! ./webvtt-parser */"./src/utils/webvtt-parser.ts");var n=r(/*! ./texttrack-utils */"./src/utils/texttrack-utils.ts");var s=/\s/;var o={newCue:function e(t,r,o,l){var u=[];var f;var d;var c;var h;var v;var g=self.VTTCue||self.TextTrackCue;for(var p=0;p<l.rows.length;p++){f=l.rows[p];c=true;h=0;v="";if(!f.isEmpty()){for(var m=0;m<f.chars.length;m++){if(s.test(f.chars[m].uchar)&&c){h++}else{v+=f.chars[m].uchar;c=false}}f.cueStartTime=r;if(r===o){o+=1e-4}if(h>=16){h--}else{h++}var y=Object(i["fixLineBreaks"])(v.trim());var E=Object(a["generateCueId"])(r,o,y);if(!t||!t.cues||!t.cues.getCueById(E)){d=new g(r,o,y);d.id=E;d.line=p+1;d.align="left";d.position=10+Math.min(80,Math.floor(h*8/32)*10);u.push(d)}}}if(t&&u.length){u.sort((function(e,t){if(e.line==="auto"||t.line==="auto"){return 0}if(e.line>8&&t.line>8){return t.line-e.line}return e.line-t.line}));u.forEach((function(e){return Object(n["addCueToTrack"])(t,e)}))}return u}};t["default"]=o},"./src/utils/discontinuities.ts":
294
294
  /*!**************************************!*\
295
295
  !*** ./src/utils/discontinuities.ts ***!
296
296
  \**************************************/
297
- /*! exports provided: findFirstFragWithCC, shouldAlignOnDiscontinuities, findDiscontinuousReferenceFrag, adjustSlidingStart, alignStream, alignPDT, alignFragmentByPDTDelta, alignMediaPlaylistByPDT */function(e,t,r){r.r(t);r.d(t,"findFirstFragWithCC",(function(){return s}));r.d(t,"shouldAlignOnDiscontinuities",(function(){return o}));r.d(t,"findDiscontinuousReferenceFrag",(function(){return l}));r.d(t,"adjustSlidingStart",(function(){return f}));r.d(t,"alignStream",(function(){return c}));r.d(t,"alignPDT",(function(){return h}));r.d(t,"alignFragmentByPDTDelta",(function(){return v}));r.d(t,"alignMediaPlaylistByPDT",(function(){return g}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./logger */"./src/utils/logger.ts");var n=r(/*! ../controller/level-helper */"./src/controller/level-helper.ts");function s(e,t){var r=null;for(var i=0,a=e.length;i<a;i++){var n=e[i];if(n&&n.cc===t){r=n;break}}return r}function o(e,t,r){if(t.details){if(r.endCC>r.startCC||e&&e.cc<r.startCC){return true}}return false}function l(e,t){var r=e.fragments;var i=t.fragments;if(!i.length||!r.length){a["logger"].log("No fragments to align");return}var n=s(r,i[0].cc);if(!n||n&&!n.startPTS){a["logger"].log("No frag in previous level to align on");return}return n}function u(e,t){if(e){var r=e.start+t;e.start=e.startPTS=r;e.endPTS=r+e.duration}}function f(e,t){var r=t.fragments;for(var i=0,a=r.length;i<a;i++){u(r[i],e)}if(t.fragmentHint){u(t.fragmentHint,e)}t.alignedSliding=true}function c(e,t,r){if(!t){return}d(e,r,t);if(!r.alignedSliding&&t.details){h(r,t.details)}if(!r.alignedSliding&&t.details&&!r.skippedSegments){Object(n["adjustSliding"])(t.details,r)}}function d(e,t,r){if(o(e,r,t)){var n=l(r.details,t);if(n&&Object(i["isFiniteNumber"])(n.start)){a["logger"].log("Adjusting PTS using last level due to CC increase within current level "+t.url);f(n.start,t)}}}function h(e,t){if(!t.fragments.length||!e.hasProgramDateTime||!t.hasProgramDateTime){return}var r=t.fragments[0].programDateTime;var n=e.fragments[0].programDateTime;var s=(n-r)/1e3+t.fragments[0].start;if(s&&Object(i["isFiniteNumber"])(s)){a["logger"].log("Adjusting PTS using programDateTime delta "+(n-r)+"ms, sliding:"+s.toFixed(3)+" "+e.url+" ");f(s,e)}}function v(e,t){var r=e.programDateTime;if(!r)return;var i=(r-t)/1e3;e.start=e.startPTS=i;e.endPTS=i+e.duration}function g(e,t){if(!t.fragments.length||!e.hasProgramDateTime||!t.hasProgramDateTime){return}var r=t.fragments[0].programDateTime;var i=t.fragments[0].start;var a=r-i*1e3;e.fragments.forEach((function(e){v(e,a)}));if(e.fragmentHint){v(e.fragmentHint,a)}e.alignedSliding=true}},"./src/utils/ewma-bandwidth-estimator.ts":
297
+ /*! exports provided: findFirstFragWithCC, shouldAlignOnDiscontinuities, findDiscontinuousReferenceFrag, adjustSlidingStart, alignStream, alignPDT, alignFragmentByPDTDelta, alignMediaPlaylistByPDT */function(e,t,r){r.r(t);r.d(t,"findFirstFragWithCC",(function(){return s}));r.d(t,"shouldAlignOnDiscontinuities",(function(){return o}));r.d(t,"findDiscontinuousReferenceFrag",(function(){return l}));r.d(t,"adjustSlidingStart",(function(){return f}));r.d(t,"alignStream",(function(){return d}));r.d(t,"alignPDT",(function(){return h}));r.d(t,"alignFragmentByPDTDelta",(function(){return v}));r.d(t,"alignMediaPlaylistByPDT",(function(){return g}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./logger */"./src/utils/logger.ts");var n=r(/*! ../controller/level-helper */"./src/controller/level-helper.ts");function s(e,t){var r=null;for(var i=0,a=e.length;i<a;i++){var n=e[i];if(n&&n.cc===t){r=n;break}}return r}function o(e,t,r){if(t.details){if(r.endCC>r.startCC||e&&e.cc<r.startCC){return true}}return false}function l(e,t){var r=e.fragments;var i=t.fragments;if(!i.length||!r.length){a["logger"].log("No fragments to align");return}var n=s(r,i[0].cc);if(!n||n&&!n.startPTS){a["logger"].log("No frag in previous level to align on");return}return n}function u(e,t){if(e){var r=e.start+t;e.start=e.startPTS=r;e.endPTS=r+e.duration}}function f(e,t){var r=t.fragments;for(var i=0,a=r.length;i<a;i++){u(r[i],e)}if(t.fragmentHint){u(t.fragmentHint,e)}t.alignedSliding=true}function d(e,t,r){if(!t){return}c(e,r,t);if(!r.alignedSliding&&t.details){h(r,t.details)}if(!r.alignedSliding&&t.details&&!r.skippedSegments){Object(n["adjustSliding"])(t.details,r)}}function c(e,t,r){if(o(e,r,t)){var n=l(r.details,t);if(n&&Object(i["isFiniteNumber"])(n.start)){a["logger"].log("Adjusting PTS using last level due to CC increase within current level "+t.url);f(n.start,t)}}}function h(e,t){if(!t.fragments.length||!e.hasProgramDateTime||!t.hasProgramDateTime){return}var r=t.fragments[0].programDateTime;var n=e.fragments[0].programDateTime;var s=(n-r)/1e3+t.fragments[0].start;if(s&&Object(i["isFiniteNumber"])(s)){a["logger"].log("Adjusting PTS using programDateTime delta "+(n-r)+"ms, sliding:"+s.toFixed(3)+" "+e.url+" ");f(s,e)}}function v(e,t){var r=e.programDateTime;if(!r)return;var i=(r-t)/1e3;e.start=e.startPTS=i;e.endPTS=i+e.duration}function g(e,t){if(!t.fragments.length||!e.hasProgramDateTime||!t.hasProgramDateTime){return}var r=t.fragments[0].programDateTime;var i=t.fragments[0].start;var a=r-i*1e3;e.fragments.forEach((function(e){v(e,a)}));if(e.fragmentHint){v(e.fragmentHint,a)}e.alignedSliding=true}},"./src/utils/ewma-bandwidth-estimator.ts":
298
298
  /*!***********************************************!*\
299
299
  !*** ./src/utils/ewma-bandwidth-estimator.ts ***!
300
300
  \***********************************************/
@@ -306,11 +306,11 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
306
306
  /*!***********************************!*\
307
307
  !*** ./src/utils/fetch-loader.ts ***!
308
308
  \***********************************/
309
- /*! exports provided: fetchSupported, default */function(e,t,r){r.r(t);r.d(t,"fetchSupported",(function(){return v}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../loader/load-stats */"./src/loader/load-stats.ts");var n=r(/*! ../demux/chunk-cache */"./src/demux/chunk-cache.ts");function s(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;c(e,t)}function o(e){var t=typeof Map==="function"?new Map:undefined;o=function e(r){if(r===null||!f(r))return r;if(typeof r!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(r))return t.get(r);t.set(r,i)}function i(){return l(r,arguments,d(this).constructor)}i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:false,writable:true,configurable:true}});return c(i,r)};return o(e)}function l(e,t,r){if(u()){l=Reflect.construct}else{l=function e(t,r,i){var a=[null];a.push.apply(a,r);var n=Function.bind.apply(t,a);var s=new n;if(i)c(s,i.prototype);return s}}return l.apply(null,arguments)}function u(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));return true}catch(e){return false}}function f(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function c(e,t){c=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return c(e,t)}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(t){return t.__proto__||Object.getPrototypeOf(t)};return d(e)}function h(){h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return h.apply(this,arguments)}function v(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request){try{new self.ReadableStream({});return true}catch(e){}}return false}var g=function(){function e(e){this.fetchSetup=void 0;this.requestTimeout=void 0;this.request=void 0;this.response=void 0;this.controller=void 0;this.context=void 0;this.config=null;this.callbacks=null;this.stats=void 0;this.loader=null;this.fetchSetup=e.fetchSetup||m;this.controller=new self.AbortController;this.stats=new a["LoadStats"]}var t=e.prototype;t.destroy=function e(){this.loader=this.callbacks=null;this.abortInternal()};t.abortInternal=function e(){var t=this.response;if(!t||!t.ok){this.stats.aborted=true;this.controller.abort()}};t.abort=function e(){var t;this.abortInternal();if((t=this.callbacks)!==null&&t!==void 0&&t.onAbort){this.callbacks.onAbort(this.stats,this.context,this.response)}};t.load=function e(t,r,a){var n=this;var s=this.stats;if(s.loading.start){throw new Error("Loader can only be used once.")}s.loading.start=self.performance.now();var o=p(t,this.controller.signal);var l=a.onProgress;var u=t.responseType==="arraybuffer";var f=u?"byteLength":"length";this.context=t;this.config=r;this.callbacks=a;this.request=this.fetchSetup(t,o);self.clearTimeout(this.requestTimeout);this.requestTimeout=self.setTimeout((function(){n.abortInternal();a.onTimeout(s,t,n.response)}),r.timeout);self.fetch(this.request).then((function(e){n.response=n.loader=e;if(!e.ok){var a=e.status,o=e.statusText;throw new y(o||"fetch, bad network response",a,e)}s.loading.first=Math.max(self.performance.now(),s.loading.start);s.total=parseInt(e.headers.get("Content-Length")||"0");if(l&&Object(i["isFiniteNumber"])(r.highWaterMark)){return n.loadProgressively(e,s,t,r.highWaterMark,l)}if(u){return e.arrayBuffer()}return e.text()})).then((function(e){var o=n.response;self.clearTimeout(n.requestTimeout);s.loading.end=Math.max(self.performance.now(),s.loading.first);s.loaded=s.total=e[f];var u={url:o.url,data:e};if(l&&!Object(i["isFiniteNumber"])(r.highWaterMark)){l(s,t,e,o)}a.onSuccess(u,s,t,o)})).catch((function(e){self.clearTimeout(n.requestTimeout);if(s.aborted){return}var r=e.code||0;a.onError({code:r,text:e.message},t,e.details)}))};t.getCacheAge=function e(){var t=null;if(this.response){var r=this.response.headers.get("age");t=r?parseFloat(r):null}return t};t.loadProgressively=function e(t,r,i,a,s){if(a===void 0){a=0}var o=new n["default"];var l=t.body.getReader();var u=function e(){return l.read().then((function(n){if(n.done){if(o.dataLength){s(r,i,o.flush(),t)}return Promise.resolve(new ArrayBuffer(0))}var l=n.value;var u=l.length;r.loaded+=u;if(u<a||o.dataLength){o.push(l);if(o.dataLength>=a){s(r,i,o.flush(),t)}}else{s(r,i,l,t)}return e()})).catch((function(){return Promise.reject()}))};return u()};return e}();function p(e,t){var r={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(h({},e.headers))};if(e.rangeEnd){r.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1))}return r}function m(e,t){return new self.Request(e.url,t)}var y=function(e){s(t,e);function t(t,r,i){var a;a=e.call(this,t)||this;a.code=void 0;a.details=void 0;a.code=r;a.details=i;return a}return t}(o(Error));t["default"]=g},"./src/utils/imsc1-ttml-parser.ts":
309
+ /*! exports provided: fetchSupported, default */function(e,t,r){r.r(t);r.d(t,"fetchSupported",(function(){return v}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ../loader/load-stats */"./src/loader/load-stats.ts");var n=r(/*! ../demux/chunk-cache */"./src/demux/chunk-cache.ts");function s(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;d(e,t)}function o(e){var t=typeof Map==="function"?new Map:undefined;o=function e(r){if(r===null||!f(r))return r;if(typeof r!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(r))return t.get(r);t.set(r,i)}function i(){return l(r,arguments,c(this).constructor)}i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:false,writable:true,configurable:true}});return d(i,r)};return o(e)}function l(e,t,r){if(u()){l=Reflect.construct}else{l=function e(t,r,i){var a=[null];a.push.apply(a,r);var n=Function.bind.apply(t,a);var s=new n;if(i)d(s,i.prototype);return s}}return l.apply(null,arguments)}function u(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));return true}catch(e){return false}}function f(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function d(e,t){d=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return d(e,t)}function c(e){c=Object.setPrototypeOf?Object.getPrototypeOf:function e(t){return t.__proto__||Object.getPrototypeOf(t)};return c(e)}function h(){h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return h.apply(this,arguments)}function v(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request){try{new self.ReadableStream({});return true}catch(e){}}return false}var g=function(){function e(e){this.fetchSetup=void 0;this.requestTimeout=void 0;this.request=void 0;this.response=void 0;this.controller=void 0;this.context=void 0;this.config=null;this.callbacks=null;this.stats=void 0;this.loader=null;this.fetchSetup=e.fetchSetup||m;this.controller=new self.AbortController;this.stats=new a["LoadStats"]}var t=e.prototype;t.destroy=function e(){this.loader=this.callbacks=null;this.abortInternal()};t.abortInternal=function e(){var t=this.response;if(!t||!t.ok){this.stats.aborted=true;this.controller.abort()}};t.abort=function e(){var t;this.abortInternal();if((t=this.callbacks)!==null&&t!==void 0&&t.onAbort){this.callbacks.onAbort(this.stats,this.context,this.response)}};t.load=function e(t,r,a){var n=this;var s=this.stats;if(s.loading.start){throw new Error("Loader can only be used once.")}s.loading.start=self.performance.now();var o=p(t,this.controller.signal);var l=a.onProgress;var u=t.responseType==="arraybuffer";var f=u?"byteLength":"length";this.context=t;this.config=r;this.callbacks=a;this.request=this.fetchSetup(t,o);self.clearTimeout(this.requestTimeout);this.requestTimeout=self.setTimeout((function(){n.abortInternal();a.onTimeout(s,t,n.response)}),r.timeout);self.fetch(this.request).then((function(e){n.response=n.loader=e;if(!e.ok){var a=e.status,o=e.statusText;throw new y(o||"fetch, bad network response",a,e)}s.loading.first=Math.max(self.performance.now(),s.loading.start);s.total=parseInt(e.headers.get("Content-Length")||"0");if(l&&Object(i["isFiniteNumber"])(r.highWaterMark)){return n.loadProgressively(e,s,t,r.highWaterMark,l)}if(u){return e.arrayBuffer()}return e.text()})).then((function(e){var o=n.response;self.clearTimeout(n.requestTimeout);s.loading.end=Math.max(self.performance.now(),s.loading.first);s.loaded=s.total=e[f];var u={url:o.url,data:e};if(l&&!Object(i["isFiniteNumber"])(r.highWaterMark)){l(s,t,e,o)}a.onSuccess(u,s,t,o)})).catch((function(e){self.clearTimeout(n.requestTimeout);if(s.aborted){return}var r=e.code||0;a.onError({code:r,text:e.message},t,e.details)}))};t.getCacheAge=function e(){var t=null;if(this.response){var r=this.response.headers.get("age");t=r?parseFloat(r):null}return t};t.loadProgressively=function e(t,r,i,a,s){if(a===void 0){a=0}var o=new n["default"];var l=t.body.getReader();var u=function e(){return l.read().then((function(n){if(n.done){if(o.dataLength){s(r,i,o.flush(),t)}return Promise.resolve(new ArrayBuffer(0))}var l=n.value;var u=l.length;r.loaded+=u;if(u<a||o.dataLength){o.push(l);if(o.dataLength>=a){s(r,i,o.flush(),t)}}else{s(r,i,l,t)}return e()})).catch((function(){return Promise.reject()}))};return u()};return e}();function p(e,t){var r={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(h({},e.headers))};if(e.rangeEnd){r.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1))}return r}function m(e,t){return new self.Request(e.url,t)}var y=function(e){s(t,e);function t(t,r,i){var a;a=e.call(this,t)||this;a.code=void 0;a.details=void 0;a.code=r;a.details=i;return a}return t}(o(Error));t["default"]=g},"./src/utils/imsc1-ttml-parser.ts":
310
310
  /*!****************************************!*\
311
311
  !*** ./src/utils/imsc1-ttml-parser.ts ***!
312
312
  \****************************************/
313
- /*! exports provided: IMSC1_CODEC, parseIMSC1 */function(e,t,r){r.r(t);r.d(t,"IMSC1_CODEC",(function(){return f}));r.d(t,"parseIMSC1",(function(){return v}));var i=r(/*! ./mp4-tools */"./src/utils/mp4-tools.ts");var a=r(/*! ./vttparser */"./src/utils/vttparser.ts");var n=r(/*! ./vttcue */"./src/utils/vttcue.ts");var s=r(/*! ../demux/id3 */"./src/demux/id3.ts");var o=r(/*! ./timescale-conversion */"./src/utils/timescale-conversion.ts");var l=r(/*! ./webvtt-parser */"./src/utils/webvtt-parser.ts");function u(){u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return u.apply(this,arguments)}var f="stpp.ttml.im1t";var c=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/;var d=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/;var h={left:"start",center:"center",right:"end",start:"start",end:"end"};function v(e,t,r,a,n){var l=Object(i["findBox"])(new Uint8Array(e),["mdat"]);if(l.length===0){n(new Error("Could not parse IMSC1 mdat"));return}var u=l[0];var f=Object(s["utf8ArrayToStr"])(new Uint8Array(e,u.start,u.end-u.start));var c=Object(o["toTimescaleFromScale"])(t,1,r);try{a(g(f,c))}catch(e){n(e)}}function g(e,t){var r=new DOMParser;var i=r.parseFromString(e,"text/xml");var a=i.getElementsByTagName("tt")[0];if(!a){throw new Error("Invalid ttml")}var s={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0};var o=Object.keys(s).reduce((function(e,t){e[t]=a.getAttribute("ttp:"+t)||s[t];return e}),{});var f=a.getAttribute("xml:space")!=="preserve";var c=m(p(a,"styling","style"));var d=m(p(a,"layout","region"));var v=p(a,"body","[begin]");return[].map.call(v,(function(e){var r=y(e,f);if(!r||!e.hasAttribute("begin")){return null}var i=S(e.getAttribute("begin"),o);var a=S(e.getAttribute("dur"),o);var s=S(e.getAttribute("end"),o);if(i===null){throw b(e)}if(s===null){if(a===null){throw b(e)}s=i+a}var v=new n["default"](i-t,s-t,r);v.id=Object(l["generateCueId"])(v.startTime,v.endTime,v.text);var g=d[e.getAttribute("region")];var p=c[e.getAttribute("style")];v.position=10;v.size=80;var m=E(g,p);var T=m.textAlign;if(T){var A=h[T];if(A){v.lineAlign=A}v.align=T}u(v,m);return v})).filter((function(e){return e!==null}))}function p(e,t,r){var i=e.getElementsByTagName(t)[0];if(i){return[].slice.call(i.querySelectorAll(r))}return[]}function m(e){return e.reduce((function(e,t){var r=t.getAttribute("xml:id");if(r){e[r]=t}return e}),{})}function y(e,t){return[].slice.call(e.childNodes).reduce((function(e,r,i){var a;if(r.nodeName==="br"&&i){return e+"\n"}if((a=r.childNodes)!==null&&a!==void 0&&a.length){return y(r,t)}else if(t){return e+r.textContent.trim().replace(/\s+/g," ")}return e+r.textContent}),"")}function E(e,t){var r="http://www.w3.org/ns/ttml#styling";var i=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"];return i.reduce((function(i,a){var n=T(t,r,a)||T(e,r,a);if(n){i[a]=n}return i}),{})}function T(e,t,r){return e.hasAttributeNS(t,r)?e.getAttributeNS(t,r):null}function b(e){return new Error("Could not parse ttml timestamp "+e)}function S(e,t){if(!e){return null}var r=Object(a["parseTimeStamp"])(e);if(r===null){if(c.test(e)){r=A(e,t)}else if(d.test(e)){r=L(e,t)}}return r}function A(e,t){var r=c.exec(e);var i=(r[4]|0)+(r[5]|0)/t.subFrameRate;return(r[1]|0)*3600+(r[2]|0)*60+(r[3]|0)+i/t.frameRate}function L(e,t){var r=d.exec(e);var i=Number(r[1]);var a=r[2];switch(a){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/t.frameRate;case"t":return i/t.tickRate}return i}},"./src/utils/logger.ts":
313
+ /*! exports provided: IMSC1_CODEC, parseIMSC1 */function(e,t,r){r.r(t);r.d(t,"IMSC1_CODEC",(function(){return f}));r.d(t,"parseIMSC1",(function(){return v}));var i=r(/*! ./mp4-tools */"./src/utils/mp4-tools.ts");var a=r(/*! ./vttparser */"./src/utils/vttparser.ts");var n=r(/*! ./vttcue */"./src/utils/vttcue.ts");var s=r(/*! ../demux/id3 */"./src/demux/id3.ts");var o=r(/*! ./timescale-conversion */"./src/utils/timescale-conversion.ts");var l=r(/*! ./webvtt-parser */"./src/utils/webvtt-parser.ts");function u(){u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r){if(Object.prototype.hasOwnProperty.call(r,i)){e[i]=r[i]}}}return e};return u.apply(this,arguments)}var f="stpp.ttml.im1t";var d=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/;var c=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/;var h={left:"start",center:"center",right:"end",start:"start",end:"end"};function v(e,t,r,a,n){var l=Object(i["findBox"])(new Uint8Array(e),["mdat"]);if(l.length===0){n(new Error("Could not parse IMSC1 mdat"));return}var u=l[0];var f=Object(s["utf8ArrayToStr"])(new Uint8Array(e,u.start,u.end-u.start));var d=Object(o["toTimescaleFromScale"])(t,1,r);try{a(g(f,d))}catch(e){n(e)}}function g(e,t){var r=new DOMParser;var i=r.parseFromString(e,"text/xml");var a=i.getElementsByTagName("tt")[0];if(!a){throw new Error("Invalid ttml")}var s={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0};var o=Object.keys(s).reduce((function(e,t){e[t]=a.getAttribute("ttp:"+t)||s[t];return e}),{});var f=a.getAttribute("xml:space")!=="preserve";var d=m(p(a,"styling","style"));var c=m(p(a,"layout","region"));var v=p(a,"body","[begin]");return[].map.call(v,(function(e){var r=y(e,f);if(!r||!e.hasAttribute("begin")){return null}var i=S(e.getAttribute("begin"),o);var a=S(e.getAttribute("dur"),o);var s=S(e.getAttribute("end"),o);if(i===null){throw b(e)}if(s===null){if(a===null){throw b(e)}s=i+a}var v=new n["default"](i-t,s-t,r);v.id=Object(l["generateCueId"])(v.startTime,v.endTime,v.text);var g=c[e.getAttribute("region")];var p=d[e.getAttribute("style")];v.position=10;v.size=80;var m=E(g,p);var T=m.textAlign;if(T){var A=h[T];if(A){v.lineAlign=A}v.align=T}u(v,m);return v})).filter((function(e){return e!==null}))}function p(e,t,r){var i=e.getElementsByTagName(t)[0];if(i){return[].slice.call(i.querySelectorAll(r))}return[]}function m(e){return e.reduce((function(e,t){var r=t.getAttribute("xml:id");if(r){e[r]=t}return e}),{})}function y(e,t){return[].slice.call(e.childNodes).reduce((function(e,r,i){var a;if(r.nodeName==="br"&&i){return e+"\n"}if((a=r.childNodes)!==null&&a!==void 0&&a.length){return y(r,t)}else if(t){return e+r.textContent.trim().replace(/\s+/g," ")}return e+r.textContent}),"")}function E(e,t){var r="http://www.w3.org/ns/ttml#styling";var i=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"];return i.reduce((function(i,a){var n=T(t,r,a)||T(e,r,a);if(n){i[a]=n}return i}),{})}function T(e,t,r){return e.hasAttributeNS(t,r)?e.getAttributeNS(t,r):null}function b(e){return new Error("Could not parse ttml timestamp "+e)}function S(e,t){if(!e){return null}var r=Object(a["parseTimeStamp"])(e);if(r===null){if(d.test(e)){r=A(e,t)}else if(c.test(e)){r=L(e,t)}}return r}function A(e,t){var r=d.exec(e);var i=(r[4]|0)+(r[5]|0)/t.subFrameRate;return(r[1]|0)*3600+(r[2]|0)*60+(r[3]|0)+i/t.frameRate}function L(e,t){var r=c.exec(e);var i=Number(r[1]);var a=r[2];switch(a){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/t.frameRate;case"t":return i/t.tickRate}return i}},"./src/utils/logger.ts":
314
314
  /*!*****************************!*\
315
315
  !*** ./src/utils/logger.ts ***!
316
316
  \*****************************/
@@ -326,7 +326,7 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
326
326
  /*!********************************!*\
327
327
  !*** ./src/utils/mp4-tools.ts ***!
328
328
  \********************************/
329
- /*! exports provided: bin2str, readUint16, readUint32, writeUint32, findBox, parseSegmentIndex, parseInitSegment, getStartDTS, getDuration, computeRawDurationFromSamples, offsetStartDTS, segmentValidRange, appendUint8Array */function(e,t,r){r.r(t);r.d(t,"bin2str",(function(){return o}));r.d(t,"readUint16",(function(){return l}));r.d(t,"readUint32",(function(){return u}));r.d(t,"writeUint32",(function(){return f}));r.d(t,"findBox",(function(){return c}));r.d(t,"parseSegmentIndex",(function(){return d}));r.d(t,"parseInitSegment",(function(){return h}));r.d(t,"getStartDTS",(function(){return v}));r.d(t,"getDuration",(function(){return g}));r.d(t,"computeRawDurationFromSamples",(function(){return p}));r.d(t,"offsetStartDTS",(function(){return m}));r.d(t,"segmentValidRange",(function(){return y}));r.d(t,"appendUint8Array",(function(){return E}));var i=r(/*! ./typed-array */"./src/utils/typed-array.ts");var a=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var n=Math.pow(2,32)-1;var s=[].push;function o(e){return String.fromCharCode.apply(null,e)}function l(e,t){if("data"in e){t+=e.start;e=e.data}var r=e[t]<<8|e[t+1];return r<0?65536+r:r}function u(e,t){if("data"in e){t+=e.start;e=e.data}var r=e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3];return r<0?4294967296+r:r}function f(e,t,r){if("data"in e){t+=e.start;e=e.data}e[t]=r>>24;e[t+1]=r>>16&255;e[t+2]=r>>8&255;e[t+3]=r&255}function c(e,t){var r=[];if(!t.length){return r}var i;var a;var n;if("data"in e){i=e.data;a=e.start;n=e.end}else{i=e;a=0;n=i.byteLength}for(var l=a;l<n;){var f=u(i,l);var d=o(i.subarray(l+4,l+8));var h=f>1?l+f:n;if(d===t[0]){if(t.length===1){r.push({data:i,start:l+8,end:h})}else{var v=c({data:i,start:l+8,end:h},t.slice(1));if(v.length){s.apply(r,v)}}}l=h}return r}function d(e){var t=c(e,["moov"]);var r=t[0];var i=r?r.end:null;var a=c(e,["sidx"]);if(!a||!a[0]){return null}var n=[];var s=a[0];var o=s.data[0];var f=o===0?8:16;var d=u(s,f);f+=4;var h=0;var v=0;if(o===0){f+=8}else{f+=16}f+=2;var g=s.end+v;var p=l(s,f);f+=2;for(var m=0;m<p;m++){var y=f;var E=u(s,y);y+=4;var T=E&2147483647;var b=(E&2147483648)>>>31;if(b===1){console.warn("SIDX has hierarchical references (not supported)");return null}var S=u(s,y);y+=4;n.push({referenceSize:T,subsegmentDuration:S,info:{duration:S/d,start:g,end:g+T-1}});g+=T;y+=4;f=y}return{earliestPresentationTime:h,timescale:d,version:o,referencesCount:p,references:n,moovEndOffset:i}}function h(e){var t=[];var r=c(e,["moov","trak"]);for(var i=0;i<r.length;i++){var n=r[i];var s=c(n,["tkhd"])[0];if(s){var l=s.data[s.start];var f=l===0?12:20;var d=u(s,f);var h=c(n,["mdia","mdhd"])[0];if(h){l=h.data[h.start];f=l===0?12:20;var v=u(h,f);var g=c(n,["mdia","hdlr"])[0];if(g){var p=o(g.data.subarray(g.start+8,g.start+12));var m={soun:a["ElementaryStreamTypes"].AUDIO,vide:a["ElementaryStreamTypes"].VIDEO}[p];if(m){var y=c(n,["mdia","minf","stbl","stsd"])[0];var E=void 0;if(y){E=o(y.data.subarray(y.start+12,y.start+16))}t[d]={timescale:v,type:m};t[m]={timescale:v,id:d,codec:E}}}}}}var T=c(e,["moov","mvex","trex"]);T.forEach((function(e){var r=u(e,4);var i=t[r];if(i){i.default={duration:u(e,12),flags:u(e,20)}}}));return t}function v(e,t){return c(t,["moof","traf"]).reduce((function(t,r){var i=c(r,["tfdt"])[0];var a=i.data[i.start];var n=c(r,["tfhd"]).reduce((function(t,r){var n=u(r,4);var s=e[n];if(s){var o=u(i,4);if(a===1){o*=Math.pow(2,32);o+=u(i,8)}var l=s.timescale||9e4;var f=o/l;if(isFinite(f)&&(t===null||f<t)){return f}}return t}),null);if(n!==null&&isFinite(n)&&(t===null||n<t)){return n}return t}),null)||0}function g(e,t){var r=0;var i=0;var n=0;var s=c(e,["moof","traf"]);for(var o=0;o<s.length;o++){var l=s[o];var f=c(l,["tfhd"])[0];var h=u(f,4);var v=t[h];if(!v){continue}var g=v.default;var m=u(f,0)|(g===null||g===void 0?void 0:g.flags);var y=g===null||g===void 0?void 0:g.duration;if(m&8){if(m&2){y=u(f,12)}else{y=u(f,8)}}var E=v.timescale||9e4;var T=c(l,["trun"]);for(var b=0;b<T.length;b++){r=p(T[b]);if(!r&&y){var S=u(T[b],4);r=y*S}if(v.type===a["ElementaryStreamTypes"].VIDEO){i+=r/E}else if(v.type===a["ElementaryStreamTypes"].AUDIO){n+=r/E}}}if(i===0&&n===0){var A=d(e);if(A!==null&&A!==void 0&&A.references){return A.references.reduce((function(e,t){return e+t.info.duration||0}),0)}}if(i){return i}return n}function p(e){var t=u(e,0);var r=8;if(t&1){r+=4}if(t&4){r+=4}var i=0;var a=u(e,4);for(var n=0;n<a;n++){if(t&256){var s=u(e,r);i+=s;r+=4}if(t&512){r+=4}if(t&1024){r+=4}if(t&2048){r+=4}}return i}function m(e,t,r){c(t,["moof","traf"]).forEach((function(t){c(t,["tfhd"]).forEach((function(i){var a=u(i,4);var s=e[a];if(!s){return}var o=s.timescale||9e4;c(t,["tfdt"]).forEach((function(e){var t=e.data[e.start];var i=u(e,4);if(t===0){f(e,4,i-r*o)}else{i*=Math.pow(2,32);i+=u(e,8);i-=r*o;i=Math.max(i,0);var a=Math.floor(i/(n+1));var s=Math.floor(i%(n+1));f(e,4,a);f(e,8,s)}}))}))}))}function y(e){var t={valid:null,remainder:null};var r=c(e,["moof"]);if(!r){return t}else if(r.length<2){t.remainder=e;return t}var a=r[r.length-1];t.valid=Object(i["sliceUint8"])(e,0,a.start-8);t.remainder=Object(i["sliceUint8"])(e,a.start-8);return t}function E(e,t){var r=new Uint8Array(e.length+t.length);r.set(e);r.set(t,e.length);return r}},"./src/utils/output-filter.ts":
329
+ /*! exports provided: bin2str, readUint16, readUint32, writeUint32, findBox, parseSegmentIndex, parseInitSegment, getStartDTS, getDuration, computeRawDurationFromSamples, offsetStartDTS, segmentValidRange, appendUint8Array */function(e,t,r){r.r(t);r.d(t,"bin2str",(function(){return o}));r.d(t,"readUint16",(function(){return l}));r.d(t,"readUint32",(function(){return u}));r.d(t,"writeUint32",(function(){return f}));r.d(t,"findBox",(function(){return d}));r.d(t,"parseSegmentIndex",(function(){return c}));r.d(t,"parseInitSegment",(function(){return h}));r.d(t,"getStartDTS",(function(){return v}));r.d(t,"getDuration",(function(){return g}));r.d(t,"computeRawDurationFromSamples",(function(){return p}));r.d(t,"offsetStartDTS",(function(){return m}));r.d(t,"segmentValidRange",(function(){return y}));r.d(t,"appendUint8Array",(function(){return E}));var i=r(/*! ./typed-array */"./src/utils/typed-array.ts");var a=r(/*! ../loader/fragment */"./src/loader/fragment.ts");var n=Math.pow(2,32)-1;var s=[].push;function o(e){return String.fromCharCode.apply(null,e)}function l(e,t){if("data"in e){t+=e.start;e=e.data}var r=e[t]<<8|e[t+1];return r<0?65536+r:r}function u(e,t){if("data"in e){t+=e.start;e=e.data}var r=e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3];return r<0?4294967296+r:r}function f(e,t,r){if("data"in e){t+=e.start;e=e.data}e[t]=r>>24;e[t+1]=r>>16&255;e[t+2]=r>>8&255;e[t+3]=r&255}function d(e,t){var r=[];if(!t.length){return r}var i;var a;var n;if("data"in e){i=e.data;a=e.start;n=e.end}else{i=e;a=0;n=i.byteLength}for(var l=a;l<n;){var f=u(i,l);var c=o(i.subarray(l+4,l+8));var h=f>1?l+f:n;if(c===t[0]){if(t.length===1){r.push({data:i,start:l+8,end:h})}else{var v=d({data:i,start:l+8,end:h},t.slice(1));if(v.length){s.apply(r,v)}}}l=h}return r}function c(e){var t=d(e,["moov"]);var r=t[0];var i=r?r.end:null;var a=d(e,["sidx"]);if(!a||!a[0]){return null}var n=[];var s=a[0];var o=s.data[0];var f=o===0?8:16;var c=u(s,f);f+=4;var h=0;var v=0;if(o===0){f+=8}else{f+=16}f+=2;var g=s.end+v;var p=l(s,f);f+=2;for(var m=0;m<p;m++){var y=f;var E=u(s,y);y+=4;var T=E&2147483647;var b=(E&2147483648)>>>31;if(b===1){console.warn("SIDX has hierarchical references (not supported)");return null}var S=u(s,y);y+=4;n.push({referenceSize:T,subsegmentDuration:S,info:{duration:S/c,start:g,end:g+T-1}});g+=T;y+=4;f=y}return{earliestPresentationTime:h,timescale:c,version:o,referencesCount:p,references:n,moovEndOffset:i}}function h(e){var t=[];var r=d(e,["moov","trak"]);for(var i=0;i<r.length;i++){var n=r[i];var s=d(n,["tkhd"])[0];if(s){var l=s.data[s.start];var f=l===0?12:20;var c=u(s,f);var h=d(n,["mdia","mdhd"])[0];if(h){l=h.data[h.start];f=l===0?12:20;var v=u(h,f);var g=d(n,["mdia","hdlr"])[0];if(g){var p=o(g.data.subarray(g.start+8,g.start+12));var m={soun:a["ElementaryStreamTypes"].AUDIO,vide:a["ElementaryStreamTypes"].VIDEO}[p];if(m){var y=d(n,["mdia","minf","stbl","stsd"])[0];var E=void 0;if(y){E=o(y.data.subarray(y.start+12,y.start+16))}t[c]={timescale:v,type:m};t[m]={timescale:v,id:c,codec:E}}}}}}var T=d(e,["moov","mvex","trex"]);T.forEach((function(e){var r=u(e,4);var i=t[r];if(i){i.default={duration:u(e,12),flags:u(e,20)}}}));return t}function v(e,t){return d(t,["moof","traf"]).reduce((function(t,r){var i=d(r,["tfdt"])[0];var a=i.data[i.start];var n=d(r,["tfhd"]).reduce((function(t,r){var n=u(r,4);var s=e[n];if(s){var o=u(i,4);if(a===1){o*=Math.pow(2,32);o+=u(i,8)}var l=s.timescale||9e4;var f=o/l;if(isFinite(f)&&(t===null||f<t)){return f}}return t}),null);if(n!==null&&isFinite(n)&&(t===null||n<t)){return n}return t}),null)||0}function g(e,t){var r=0;var i=0;var n=0;var s=d(e,["moof","traf"]);for(var o=0;o<s.length;o++){var l=s[o];var f=d(l,["tfhd"])[0];var h=u(f,4);var v=t[h];if(!v){continue}var g=v.default;var m=u(f,0)|(g===null||g===void 0?void 0:g.flags);var y=g===null||g===void 0?void 0:g.duration;if(m&8){if(m&2){y=u(f,12)}else{y=u(f,8)}}var E=v.timescale||9e4;var T=d(l,["trun"]);for(var b=0;b<T.length;b++){r=p(T[b]);if(!r&&y){var S=u(T[b],4);r=y*S}if(v.type===a["ElementaryStreamTypes"].VIDEO){i+=r/E}else if(v.type===a["ElementaryStreamTypes"].AUDIO){n+=r/E}}}if(i===0&&n===0){var A=c(e);if(A!==null&&A!==void 0&&A.references){return A.references.reduce((function(e,t){return e+t.info.duration||0}),0)}}if(i){return i}return n}function p(e){var t=u(e,0);var r=8;if(t&1){r+=4}if(t&4){r+=4}var i=0;var a=u(e,4);for(var n=0;n<a;n++){if(t&256){var s=u(e,r);i+=s;r+=4}if(t&512){r+=4}if(t&1024){r+=4}if(t&2048){r+=4}}return i}function m(e,t,r){d(t,["moof","traf"]).forEach((function(t){d(t,["tfhd"]).forEach((function(i){var a=u(i,4);var s=e[a];if(!s){return}var o=s.timescale||9e4;d(t,["tfdt"]).forEach((function(e){var t=e.data[e.start];var i=u(e,4);if(t===0){f(e,4,i-r*o)}else{i*=Math.pow(2,32);i+=u(e,8);i-=r*o;i=Math.max(i,0);var a=Math.floor(i/(n+1));var s=Math.floor(i%(n+1));f(e,4,a);f(e,8,s)}}))}))}))}function y(e){var t={valid:null,remainder:null};var r=d(e,["moof"]);if(!r){return t}else if(r.length<2){t.remainder=e;return t}var a=r[r.length-1];t.valid=Object(i["sliceUint8"])(e,0,a.start-8);t.remainder=Object(i["sliceUint8"])(e,a.start-8);return t}function E(e,t){var r=new Uint8Array(e.length+t.length);r.set(e);r.set(t,e.length);return r}},"./src/utils/output-filter.ts":
330
330
  /*!************************************!*\
331
331
  !*** ./src/utils/output-filter.ts ***!
332
332
  \************************************/
@@ -350,16 +350,17 @@ var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:functi
350
350
  /*!*****************************!*\
351
351
  !*** ./src/utils/vttcue.ts ***!
352
352
  \*****************************/
353
- /*! exports provided: default */function(e,t,r){r.r(t);t["default"]=function(){if(typeof self!=="undefined"&&self.VTTCue){return self.VTTCue}var e=["","lr","rl"];var t=["start","middle","end","left","right"];function r(e,t){if(typeof t!=="string"){return false}if(!Array.isArray(e)){return false}var r=t.toLowerCase();if(~e.indexOf(r)){return r}return false}function i(t){return r(e,t)}function a(e){return r(t,e)}function n(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++){r[i-1]=arguments[i]}var a=1;for(;a<arguments.length;a++){var n=arguments[a];for(var s in n){e[s]=n[s]}}return e}function s(e,t,r){var s=this;var o={enumerable:true};s.hasBeenReset=false;var l="";var u=false;var f=e;var c=t;var d=r;var h=null;var v="";var g=true;var p="auto";var m="start";var y=50;var E="middle";var T=50;var b="middle";Object.defineProperty(s,"id",n({},o,{get:function e(){return l},set:function e(t){l=""+t}}));Object.defineProperty(s,"pauseOnExit",n({},o,{get:function e(){return u},set:function e(t){u=!!t}}));Object.defineProperty(s,"startTime",n({},o,{get:function e(){return f},set:function e(t){if(typeof t!=="number"){throw new TypeError("Start time must be set to a number.")}f=t;this.hasBeenReset=true}}));Object.defineProperty(s,"endTime",n({},o,{get:function e(){return c},set:function e(t){if(typeof t!=="number"){throw new TypeError("End time must be set to a number.")}c=t;this.hasBeenReset=true}}));Object.defineProperty(s,"text",n({},o,{get:function e(){return d},set:function e(t){d=""+t;this.hasBeenReset=true}}));Object.defineProperty(s,"region",n({},o,{get:function e(){return h},set:function e(t){h=t;this.hasBeenReset=true}}));Object.defineProperty(s,"vertical",n({},o,{get:function e(){return v},set:function e(t){var r=i(t);if(r===false){throw new SyntaxError("An invalid or illegal string was specified.")}v=r;this.hasBeenReset=true}}));Object.defineProperty(s,"snapToLines",n({},o,{get:function e(){return g},set:function e(t){g=!!t;this.hasBeenReset=true}}));Object.defineProperty(s,"line",n({},o,{get:function e(){return p},set:function e(t){if(typeof t!=="number"&&t!=="auto"){throw new SyntaxError("An invalid number or illegal string was specified.")}p=t;this.hasBeenReset=true}}));Object.defineProperty(s,"lineAlign",n({},o,{get:function e(){return m},set:function e(t){var r=a(t);if(!r){throw new SyntaxError("An invalid or illegal string was specified.")}m=r;this.hasBeenReset=true}}));Object.defineProperty(s,"position",n({},o,{get:function e(){return y},set:function e(t){if(t<0||t>100){throw new Error("Position must be between 0 and 100.")}y=t;this.hasBeenReset=true}}));Object.defineProperty(s,"positionAlign",n({},o,{get:function e(){return E},set:function e(t){var r=a(t);if(!r){throw new SyntaxError("An invalid or illegal string was specified.")}E=r;this.hasBeenReset=true}}));Object.defineProperty(s,"size",n({},o,{get:function e(){return T},set:function e(t){if(t<0||t>100){throw new Error("Size must be between 0 and 100.")}T=t;this.hasBeenReset=true}}));Object.defineProperty(s,"align",n({},o,{get:function e(){return b},set:function e(t){var r=a(t);if(!r){throw new SyntaxError("An invalid or illegal string was specified.")}b=r;this.hasBeenReset=true}}));s.displayState=undefined}s.prototype.getCueAsHTML=function(){var e=self.WebVTT;return e.convertCueToDOMTree(self,this.text)};return s}()},"./src/utils/vttparser.ts":
353
+ /*! exports provided: default */function(e,t,r){r.r(t);t["default"]=function(){if(typeof self!=="undefined"&&self.VTTCue){return self.VTTCue}var e=["","lr","rl"];var t=["start","middle","end","left","right"];function r(e,t){if(typeof t!=="string"){return false}if(!Array.isArray(e)){return false}var r=t.toLowerCase();if(~e.indexOf(r)){return r}return false}function i(t){return r(e,t)}function a(e){return r(t,e)}function n(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++){r[i-1]=arguments[i]}var a=1;for(;a<arguments.length;a++){var n=arguments[a];for(var s in n){e[s]=n[s]}}return e}function s(e,t,r){var s=this;var o={enumerable:true};s.hasBeenReset=false;var l="";var u=false;var f=e;var d=t;var c=r;var h=null;var v="";var g=true;var p="auto";var m="start";var y=50;var E="middle";var T=50;var b="middle";Object.defineProperty(s,"id",n({},o,{get:function e(){return l},set:function e(t){l=""+t}}));Object.defineProperty(s,"pauseOnExit",n({},o,{get:function e(){return u},set:function e(t){u=!!t}}));Object.defineProperty(s,"startTime",n({},o,{get:function e(){return f},set:function e(t){if(typeof t!=="number"){throw new TypeError("Start time must be set to a number.")}f=t;this.hasBeenReset=true}}));Object.defineProperty(s,"endTime",n({},o,{get:function e(){return d},set:function e(t){if(typeof t!=="number"){throw new TypeError("End time must be set to a number.")}d=t;this.hasBeenReset=true}}));Object.defineProperty(s,"text",n({},o,{get:function e(){return c},set:function e(t){c=""+t;this.hasBeenReset=true}}));Object.defineProperty(s,"region",n({},o,{get:function e(){return h},set:function e(t){h=t;this.hasBeenReset=true}}));Object.defineProperty(s,"vertical",n({},o,{get:function e(){return v},set:function e(t){var r=i(t);if(r===false){throw new SyntaxError("An invalid or illegal string was specified.")}v=r;this.hasBeenReset=true}}));Object.defineProperty(s,"snapToLines",n({},o,{get:function e(){return g},set:function e(t){g=!!t;this.hasBeenReset=true}}));Object.defineProperty(s,"line",n({},o,{get:function e(){return p},set:function e(t){if(typeof t!=="number"&&t!=="auto"){throw new SyntaxError("An invalid number or illegal string was specified.")}p=t;this.hasBeenReset=true}}));Object.defineProperty(s,"lineAlign",n({},o,{get:function e(){return m},set:function e(t){var r=a(t);if(!r){throw new SyntaxError("An invalid or illegal string was specified.")}m=r;this.hasBeenReset=true}}));Object.defineProperty(s,"position",n({},o,{get:function e(){return y},set:function e(t){if(t<0||t>100){throw new Error("Position must be between 0 and 100.")}y=t;this.hasBeenReset=true}}));Object.defineProperty(s,"positionAlign",n({},o,{get:function e(){return E},set:function e(t){var r=a(t);if(!r){throw new SyntaxError("An invalid or illegal string was specified.")}E=r;this.hasBeenReset=true}}));Object.defineProperty(s,"size",n({},o,{get:function e(){return T},set:function e(t){if(t<0||t>100){throw new Error("Size must be between 0 and 100.")}T=t;this.hasBeenReset=true}}));Object.defineProperty(s,"align",n({},o,{get:function e(){return b},set:function e(t){var r=a(t);if(!r){throw new SyntaxError("An invalid or illegal string was specified.")}b=r;this.hasBeenReset=true}}));s.displayState=undefined}s.prototype.getCueAsHTML=function(){var e=self.WebVTT;return e.convertCueToDOMTree(self,this.text)};return s}()},"./src/utils/vttparser.ts":
354
354
  /*!********************************!*\
355
355
  !*** ./src/utils/vttparser.ts ***!
356
356
  \********************************/
357
- /*! exports provided: parseTimeStamp, fixLineBreaks, VTTParser */function(e,t,r){r.r(t);r.d(t,"parseTimeStamp",(function(){return n}));r.d(t,"fixLineBreaks",(function(){return c}));r.d(t,"VTTParser",(function(){return d}));var i=r(/*! ./vttcue */"./src/utils/vttcue.ts");var a=function(){function e(){}var t=e.prototype;t.decode=function e(t,r){if(!t){return""}if(typeof t!=="string"){throw new Error("Error - expected string data.")}return decodeURIComponent(encodeURIComponent(t))};return e}();function n(e){function t(e,t,r,i){return(e|0)*3600+(t|0)*60+(r|0)+parseFloat(i||0)}var r=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);if(!r){return null}if(parseFloat(r[2])>59){return t(r[2],r[3],0,r[4])}return t(r[1],r[2],r[3],r[4])}var s=function(){function e(){this.values=Object.create(null)}var t=e.prototype;t.set=function e(t,r){if(!this.get(t)&&r!==""){this.values[t]=r}};t.get=function e(t,r,i){if(i){return this.has(t)?this.values[t]:r[i]}return this.has(t)?this.values[t]:r};t.has=function e(t){return t in this.values};t.alt=function e(t,r,i){for(var a=0;a<i.length;++a){if(r===i[a]){this.set(t,r);break}}};t.integer=function e(t,r){if(/^-?\d+$/.test(r)){this.set(t,parseInt(r,10))}};t.percent=function e(t,r){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(r)){var e=parseFloat(r);if(e>=0&&e<=100){this.set(t,e);return true}}return false};return e}();function o(e,t,r,i){var a=i?e.split(i):[e];for(var n in a){if(typeof a[n]!=="string"){continue}var s=a[n].split(r);if(s.length!==2){continue}var o=s[0];var l=s[1];t(o,l)}}var l=new i["default"](0,0,"");var u=l.align==="middle"?"middle":"center";function f(e,t,r){var i=e;function a(){var t=n(e);if(t===null){throw new Error("Malformed timestamp: "+i)}e=e.replace(/^[^\sa-zA-Z-]+/,"");return t}function f(e,t){var i=new s;o(e,(function(e,t){var a;switch(e){case"region":for(var n=r.length-1;n>=0;n--){if(r[n].id===t){i.set(e,r[n].region);break}}break;case"vertical":i.alt(e,t,["rl","lr"]);break;case"line":a=t.split(",");i.integer(e,a[0]);if(i.percent(e,a[0])){i.set("snapToLines",false)}i.alt(e,a[0],["auto"]);if(a.length===2){i.alt("lineAlign",a[1],["start",u,"end"])}break;case"position":a=t.split(",");i.percent(e,a[0]);if(a.length===2){i.alt("positionAlign",a[1],["start",u,"end","line-left","line-right","auto"])}break;case"size":i.percent(e,t);break;case"align":i.alt(e,t,["start",u,"end","left","right"]);break}}),/:/,/\s/);t.region=i.get("region",null);t.vertical=i.get("vertical","");var a=i.get("line","auto");if(a==="auto"&&l.line===-1){a=-1}t.line=a;t.lineAlign=i.get("lineAlign","start");t.snapToLines=i.get("snapToLines",true);t.size=i.get("size",100);t.align=i.get("align",u);var n=i.get("position","auto");if(n==="auto"&&l.position===50){n=t.align==="start"||t.align==="left"?0:t.align==="end"||t.align==="right"?100:50}t.position=n}function c(){e=e.replace(/^\s+/,"")}c();t.startTime=a();c();if(e.substr(0,3)!=="--\x3e"){throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+i)}e=e.substr(3);c();t.endTime=a();c();f(e,t)}function c(e){return e.replace(/<br(?: \/)?>/gi,"\n")}var d=function(){function e(){this.state="INITIAL";this.buffer="";this.decoder=new a;this.regionList=[];this.cue=null;this.oncue=void 0;this.onparsingerror=void 0;this.onflush=void 0}var t=e.prototype;t.parse=function e(t){var r=this;if(t){r.buffer+=r.decoder.decode(t,{stream:true})}function a(){var e=r.buffer;var t=0;e=c(e);while(t<e.length&&e[t]!=="\r"&&e[t]!=="\n"){++t}var i=e.substr(0,t);if(e[t]==="\r"){++t}if(e[t]==="\n"){++t}r.buffer=e.substr(t);return i}function n(e){o(e,(function(e,t){}),/:/)}try{var s="";if(r.state==="INITIAL"){if(!/\r\n|\n/.test(r.buffer)){return this}s=a();var l=s.match(/^()?WEBVTT([ \t].*)?$/);if(!l||!l[0]){throw new Error("Malformed WebVTT signature.")}r.state="HEADER"}var u=false;while(r.buffer){if(!/\r\n|\n/.test(r.buffer)){return this}if(!u){s=a()}else{u=false}switch(r.state){case"HEADER":if(/:/.test(s)){n(s)}else if(!s){r.state="ID"}continue;case"NOTE":if(!s){r.state="ID"}continue;case"ID":if(/^NOTE($|[ \t])/.test(s)){r.state="NOTE";break}if(!s){continue}r.cue=new i["default"](0,0,"");r.state="CUE";if(s.indexOf("--\x3e")===-1){r.cue.id=s;continue}case"CUE":if(!r.cue){r.state="BADCUE";continue}try{f(s,r.cue,r.regionList)}catch(e){r.cue=null;r.state="BADCUE";continue}r.state="CUETEXT";continue;case"CUETEXT":{var d=s.indexOf("--\x3e")!==-1;if(!s||d&&(u=true)){if(r.oncue&&r.cue){r.oncue(r.cue)}r.cue=null;r.state="ID";continue}if(r.cue===null){continue}if(r.cue.text){r.cue.text+="\n"}r.cue.text+=s}continue;case"BADCUE":if(!s){r.state="ID"}}}}catch(e){if(r.state==="CUETEXT"&&r.cue&&r.oncue){r.oncue(r.cue)}r.cue=null;r.state=r.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this};t.flush=function e(){var t=this;try{if(t.cue||t.state==="HEADER"){t.buffer+="\n\n";t.parse()}if(t.state==="INITIAL"||t.state==="BADWEBVTT"){throw new Error("Malformed WebVTT signature.")}}catch(e){if(t.onparsingerror){t.onparsingerror(e)}}if(t.onflush){t.onflush()}return this};return e}()},"./src/utils/webvtt-parser.ts":
357
+ /*! exports provided: parseTimeStamp, fixLineBreaks, VTTParser */function(e,t,r){r.r(t);r.d(t,"parseTimeStamp",(function(){return n}));r.d(t,"fixLineBreaks",(function(){return d}));r.d(t,"VTTParser",(function(){return c}));var i=r(/*! ./vttcue */"./src/utils/vttcue.ts");var a=function(){function e(){}var t=e.prototype;t.decode=function e(t,r){if(!t){return""}if(typeof t!=="string"){throw new Error("Error - expected string data.")}return decodeURIComponent(encodeURIComponent(t))};return e}();function n(e){function t(e,t,r,i){return(e|0)*3600+(t|0)*60+(r|0)+parseFloat(i||0)}var r=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);if(!r){return null}if(parseFloat(r[2])>59){return t(r[2],r[3],0,r[4])}return t(r[1],r[2],r[3],r[4])}var s=function(){function e(){this.values=Object.create(null)}var t=e.prototype;t.set=function e(t,r){if(!this.get(t)&&r!==""){this.values[t]=r}};t.get=function e(t,r,i){if(i){return this.has(t)?this.values[t]:r[i]}return this.has(t)?this.values[t]:r};t.has=function e(t){return t in this.values};t.alt=function e(t,r,i){for(var a=0;a<i.length;++a){if(r===i[a]){this.set(t,r);break}}};t.integer=function e(t,r){if(/^-?\d+$/.test(r)){this.set(t,parseInt(r,10))}};t.percent=function e(t,r){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(r)){var e=parseFloat(r);if(e>=0&&e<=100){this.set(t,e);return true}}return false};return e}();function o(e,t,r,i){var a=i?e.split(i):[e];for(var n in a){if(typeof a[n]!=="string"){continue}var s=a[n].split(r);if(s.length!==2){continue}var o=s[0];var l=s[1];t(o,l)}}var l=new i["default"](0,0,"");var u=l.align==="middle"?"middle":"center";function f(e,t,r){var i=e;function a(){var t=n(e);if(t===null){throw new Error("Malformed timestamp: "+i)}e=e.replace(/^[^\sa-zA-Z-]+/,"");return t}function f(e,t){var i=new s;o(e,(function(e,t){var a;switch(e){case"region":for(var n=r.length-1;n>=0;n--){if(r[n].id===t){i.set(e,r[n].region);break}}break;case"vertical":i.alt(e,t,["rl","lr"]);break;case"line":a=t.split(",");i.integer(e,a[0]);if(i.percent(e,a[0])){i.set("snapToLines",false)}i.alt(e,a[0],["auto"]);if(a.length===2){i.alt("lineAlign",a[1],["start",u,"end"])}break;case"position":a=t.split(",");i.percent(e,a[0]);if(a.length===2){i.alt("positionAlign",a[1],["start",u,"end","line-left","line-right","auto"])}break;case"size":i.percent(e,t);break;case"align":i.alt(e,t,["start",u,"end","left","right"]);break}}),/:/,/\s/);t.region=i.get("region",null);t.vertical=i.get("vertical","");var a=i.get("line","auto");if(a==="auto"&&l.line===-1){a=-1}t.line=a;t.lineAlign=i.get("lineAlign","start");t.snapToLines=i.get("snapToLines",true);t.size=i.get("size",100);t.align=i.get("align",u);var n=i.get("position","auto");if(n==="auto"&&l.position===50){n=t.align==="start"||t.align==="left"?0:t.align==="end"||t.align==="right"?100:50}t.position=n}function d(){e=e.replace(/^\s+/,"")}d();t.startTime=a();d();if(e.substr(0,3)!=="--\x3e"){throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+i)}e=e.substr(3);d();t.endTime=a();d();f(e,t)}function d(e){return e.replace(/<br(?: \/)?>/gi,"\n")}var c=function(){function e(){this.state="INITIAL";this.buffer="";this.decoder=new a;this.regionList=[];this.cue=null;this.oncue=void 0;this.onparsingerror=void 0;this.onflush=void 0}var t=e.prototype;t.parse=function e(t){var r=this;if(t){r.buffer+=r.decoder.decode(t,{stream:true})}function a(){var e=r.buffer;var t=0;e=d(e);while(t<e.length&&e[t]!=="\r"&&e[t]!=="\n"){++t}var i=e.substr(0,t);if(e[t]==="\r"){++t}if(e[t]==="\n"){++t}r.buffer=e.substr(t);return i}function n(e){o(e,(function(e,t){}),/:/)}try{var s="";if(r.state==="INITIAL"){if(!/\r\n|\n/.test(r.buffer)){return this}s=a();var l=s.match(/^()?WEBVTT([ \t].*)?$/);if(!l||!l[0]){throw new Error("Malformed WebVTT signature.")}r.state="HEADER"}var u=false;while(r.buffer){if(!/\r\n|\n/.test(r.buffer)){return this}if(!u){s=a()}else{u=false}switch(r.state){case"HEADER":if(/:/.test(s)){n(s)}else if(!s){r.state="ID"}continue;case"NOTE":if(!s){r.state="ID"}continue;case"ID":if(/^NOTE($|[ \t])/.test(s)){r.state="NOTE";break}if(!s){continue}r.cue=new i["default"](0,0,"");r.state="CUE";if(s.indexOf("--\x3e")===-1){r.cue.id=s;continue}case"CUE":if(!r.cue){r.state="BADCUE";continue}try{f(s,r.cue,r.regionList)}catch(e){r.cue=null;r.state="BADCUE";continue}r.state="CUETEXT";continue;case"CUETEXT":{var c=s.indexOf("--\x3e")!==-1;if(!s||c&&(u=true)){if(r.oncue&&r.cue){r.oncue(r.cue)}r.cue=null;r.state="ID";continue}if(r.cue===null){continue}if(r.cue.text){r.cue.text+="\n"}r.cue.text+=s}continue;case"BADCUE":if(!s){r.state="ID"}}}}catch(e){if(r.state==="CUETEXT"&&r.cue&&r.oncue){r.oncue(r.cue)}r.cue=null;r.state=r.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this};t.flush=function e(){var t=this;try{if(t.cue||t.state==="HEADER"){t.buffer+="\n\n";t.parse()}if(t.state==="INITIAL"||t.state==="BADWEBVTT"){throw new Error("Malformed WebVTT signature.")}}catch(e){if(t.onparsingerror){t.onparsingerror(e)}}if(t.onflush){t.onflush()}return this};return e}()},"./src/utils/webvtt-parser.ts":
358
358
  /*!************************************!*\
359
359
  !*** ./src/utils/webvtt-parser.ts ***!
360
360
  \************************************/
361
- /*! exports provided: generateCueId, parseWebVTT */function(e,t,r){r.r(t);r.d(t,"generateCueId",(function(){return d}));r.d(t,"parseWebVTT",(function(){return v}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./vttparser */"./src/utils/vttparser.ts");var n=r(/*! ../demux/id3 */"./src/demux/id3.ts");var s=r(/*! ./timescale-conversion */"./src/utils/timescale-conversion.ts");var o=r(/*! ../remux/mp4-remuxer */"./src/remux/mp4-remuxer.ts");var l=/\r\n|\n\r|\n|\r/g;var u=function e(t,r,i){if(i===void 0){i=0}return t.substr(i,r.length)===r};var f=function e(t){var r=parseInt(t.substr(-3));var a=parseInt(t.substr(-6,2));var n=parseInt(t.substr(-9,2));var s=t.length>9?parseInt(t.substr(0,t.indexOf(":"))):0;if(!Object(i["isFiniteNumber"])(r)||!Object(i["isFiniteNumber"])(a)||!Object(i["isFiniteNumber"])(n)||!Object(i["isFiniteNumber"])(s)){throw Error("Malformed X-TIMESTAMP-MAP: Local:"+t)}r+=1e3*a;r+=60*1e3*n;r+=60*60*1e3*s;return r};var c=function e(t){var e=5381;var r=t.length;while(r){e=e*33^t.charCodeAt(--r)}return(e>>>0).toString()};function d(e,t,r){return c(e.toString())+c(t.toString())+c(r)}var h=function e(t,r,i){var a=t[r];var n=t[a.prevCC];if(!n||!n.new&&a.new){t.ccOffset=t.presentationOffset=a.start;a.new=false;return}while((s=n)!==null&&s!==void 0&&s.new){var s;t.ccOffset+=a.start-n.start;a.new=false;a=n;n=t[a.prevCC]}t.presentationOffset=i};function v(e,t,r,i,c,v,g,p){var m=new a["VTTParser"];var y=Object(n["utf8ArrayToStr"])(new Uint8Array(e)).trim().replace(l,"\n").split("\n");var E=[];var T=Object(s["toMpegTsClockFromTimescale"])(t,r);var b="00:00.000";var S=0;var A=0;var L;var D=true;var k=false;m.oncue=function(e){var t=i[c];var r=i.ccOffset;var a=(S-T)/9e4;if(t!==null&&t!==void 0&&t.new){if(A!==undefined){r=i.ccOffset=t.start}else{h(i,c,a)}}if(a){r=a-i.presentationOffset}if(k){var n=e.endTime-e.startTime;var s=Object(o["normalizePts"])((e.startTime+r-A)*9e4,v*9e4)/9e4;e.startTime=s;e.endTime=s+n}var l=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(l));if(!e.id){e.id=d(e.startTime,e.endTime,l)}if(e.endTime>0){E.push(e)}};m.onparsingerror=function(e){L=e};m.onflush=function(){if(L){p(L);return}g(E)};y.forEach((function(e){if(D){if(u(e,"X-TIMESTAMP-MAP=")){D=false;k=true;e.substr(16).split(",").forEach((function(e){if(u(e,"LOCAL:")){b=e.substr(6)}else if(u(e,"MPEGTS:")){S=parseInt(e.substr(7))}}));try{A=f(b)/1e3}catch(e){k=false;L=e}return}else if(e===""){D=false}}m.parse(e+"\n")}));m.flush()}},"./src/utils/xhr-loader.ts":
361
+ /*! exports provided: generateCueId, parseWebVTT */function(e,t,r){r.r(t);r.d(t,"generateCueId",(function(){return c}));r.d(t,"parseWebVTT",(function(){return v}));var i=r(/*! ./src/polyfills/number */"./src/polyfills/number.ts");var a=r(/*! ./vttparser */"./src/utils/vttparser.ts");var n=r(/*! ../demux/id3 */"./src/demux/id3.ts");var s=r(/*! ./timescale-conversion */"./src/utils/timescale-conversion.ts");var o=r(/*! ../remux/mp4-remuxer */"./src/remux/mp4-remuxer.ts");var l=/\r\n|\n\r|\n|\r/g;var u=function e(t,r,i){if(i===void 0){i=0}return t.substr(i,r.length)===r};var f=function e(t){var r=parseInt(t.substr(-3));var a=parseInt(t.substr(-6,2));var n=parseInt(t.substr(-9,2));var s=t.length>9?parseInt(t.substr(0,t.indexOf(":"))):0;if(!Object(i["isFiniteNumber"])(r)||!Object(i["isFiniteNumber"])(a)||!Object(i["isFiniteNumber"])(n)||!Object(i["isFiniteNumber"])(s)){throw Error("Malformed X-TIMESTAMP-MAP: Local:"+t)}r+=1e3*a;r+=60*1e3*n;r+=60*60*1e3*s;return r};var d=function e(t){var e=5381;var r=t.length;while(r){e=e*33^t.charCodeAt(--r)}return(e>>>0).toString()};function c(e,t,r){return d(e.toString())+d(t.toString())+d(r)}var h=function e(t,r,i){var a=t[r];var n=t[a.prevCC];if(!n||!n.new&&a.new){t.ccOffset=t.presentationOffset=a.start;a.new=false;return}while((s=n)!==null&&s!==void 0&&s.new){var s;t.ccOffset+=a.start-n.start;a.new=false;a=n;n=t[a.prevCC]}t.presentationOffset=i};function v(e,t,r,i,d,v,g,p){var m=new a["VTTParser"];var y=Object(n["utf8ArrayToStr"])(new Uint8Array(e)).trim().replace(l,"\n").split("\n");var E=[];var T=Object(s["toMpegTsClockFromTimescale"])(t,r);var b="00:00.000";var S=0;var A=0;var L;var D=true;var k=false;m.oncue=function(e){var t=i[d];var r=i.ccOffset;var a=(S-T)/9e4;if(t!==null&&t!==void 0&&t.new){if(A!==undefined){r=i.ccOffset=t.start}else{h(i,d,a)}}if(a){r=a-i.presentationOffset}if(k){var n=e.endTime-e.startTime;var s=Object(o["normalizePts"])((e.startTime+r-A)*9e4,v*9e4)/9e4;e.startTime=s;e.endTime=s+n}var l=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(l));if(!e.id){e.id=c(e.startTime,e.endTime,l)}if(e.endTime>0){E.push(e)}};m.onparsingerror=function(e){L=e};m.onflush=function(){if(L){p(L);return}g(E)};y.forEach((function(e){if(D){if(u(e,"X-TIMESTAMP-MAP=")){D=false;k=true;e.substr(16).split(",").forEach((function(e){if(u(e,"LOCAL:")){b=e.substr(6)}else if(u(e,"MPEGTS:")){S=parseInt(e.substr(7))}}));try{A=f(b)/1e3}catch(e){k=false;L=e}return}else if(e===""){D=false}}m.parse(e+"\n")}));m.flush()}},"./src/utils/xhr-loader.ts":
362
362
  /*!*********************************!*\
363
363
  !*** ./src/utils/xhr-loader.ts ***!
364
364
  \*********************************/
365
- /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a=r(/*! ../loader/load-stats */"./src/loader/load-stats.ts");var n=/^age:\s*[\d.]+\s*$/m;var s=function(){function e(e){this.xhrSetup=void 0;this.requestTimeout=void 0;this.retryTimeout=void 0;this.retryDelay=void 0;this.config=null;this.callbacks=null;this.context=void 0;this.loader=null;this.stats=void 0;this.xhrSetup=e?e.xhrSetup:null;this.stats=new a["LoadStats"];this.retryDelay=0}var t=e.prototype;t.destroy=function e(){this.callbacks=null;this.abortInternal();this.loader=null;this.config=null};t.abortInternal=function e(){var t=this.loader;self.clearTimeout(this.requestTimeout);self.clearTimeout(this.retryTimeout);if(t){t.onreadystatechange=null;t.onprogress=null;if(t.readyState!==4){this.stats.aborted=true;t.abort()}}};t.abort=function e(){var t;this.abortInternal();if((t=this.callbacks)!==null&&t!==void 0&&t.onAbort){this.callbacks.onAbort(this.stats,this.context,this.loader)}};t.load=function e(t,r,i){if(this.stats.loading.start){throw new Error("Loader can only be used once.")}this.stats.loading.start=self.performance.now();this.context=t;this.config=r;this.callbacks=i;this.retryDelay=r.retryDelay;this.loadInternal()};t.loadInternal=function e(){var t=this.config,r=this.context;if(!t){return}var i=this.loader=new self.XMLHttpRequest;var a=this.stats;a.loading.first=0;a.loaded=0;var n=this.xhrSetup;try{if(n){try{n(i,r.url)}catch(e){i.open("GET",r.url,true);n(i,r.url)}}if(!i.readyState){i.open("GET",r.url,true)}var s=this.context.headers;if(s){for(var o in s){i.setRequestHeader(o,s[o])}}}catch(e){this.callbacks.onError({code:i.status,text:e.message},r,i);return}if(r.rangeEnd){i.setRequestHeader("Range","bytes="+r.rangeStart+"-"+(r.rangeEnd-1))}i.onreadystatechange=this.readystatechange.bind(this);i.onprogress=this.loadprogress.bind(this);i.responseType=r.responseType;self.clearTimeout(this.requestTimeout);this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),t.timeout);i.send()};t.readystatechange=function e(){var t=this.context,r=this.loader,a=this.stats;if(!t||!r){return}var n=r.readyState;var s=this.config;if(a.aborted){return}if(n>=2){self.clearTimeout(this.requestTimeout);if(a.loading.first===0){a.loading.first=Math.max(self.performance.now(),a.loading.start)}if(n===4){r.onreadystatechange=null;r.onprogress=null;var o=r.status;if(o>=200&&o<300){a.loading.end=Math.max(self.performance.now(),a.loading.first);var l;var u;if(t.responseType==="arraybuffer"){l=r.response;u=l.byteLength}else{l=r.responseText;u=l.length}a.loaded=a.total=u;if(!this.callbacks){return}var f=this.callbacks.onProgress;if(f){f(a,t,l,r)}if(!this.callbacks){return}var c={url:r.responseURL,data:l};this.callbacks.onSuccess(c,a,t,r)}else{if(a.retry>=s.maxRetry||o>=400&&o<499){i["logger"].error(o+" while loading "+t.url);this.callbacks.onError({code:o,text:r.statusText},t,r)}else{i["logger"].warn(o+" while loading "+t.url+", retrying in "+this.retryDelay+"...");this.abortInternal();this.loader=null;self.clearTimeout(this.retryTimeout);this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay);this.retryDelay=Math.min(2*this.retryDelay,s.maxRetryDelay);a.retry++}}}else{self.clearTimeout(this.requestTimeout);this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout)}}};t.loadtimeout=function e(){i["logger"].warn("timeout while loading "+this.context.url);var t=this.callbacks;if(t){this.abortInternal();t.onTimeout(this.stats,this.context,this.loader)}};t.loadprogress=function e(t){var r=this.stats;r.loaded=t.loaded;if(t.lengthComputable){r.total=t.total}};t.getCacheAge=function e(){var t=null;if(this.loader&&n.test(this.loader.getAllResponseHeaders())){var r=this.loader.getResponseHeader("age");t=r?parseFloat(r):null}return t};return e}();t["default"]=s}})["default"]}))}));var Hls=getDefaultExportFromCjs(hls);var indexCss='.taro-video{display:inline-block;overflow:hidden;position:relative;width:100%;height:225px;line-height:0}.taro-video[hidden]{display:none}.taro-video-container{display:inline-block;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;-o-object-position:inherit;object-position:inherit}.taro-video-container.taro-video-type-fullscreen{position:fixed;left:0;right:0;top:0;bottom:0;z-index:999}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left{-webkit-transform:translate(-50%, -50%) rotate(-90deg);transform:translate(-50%, -50%) rotate(-90deg)}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right{-webkit-transform:translate(-50%, -50%) rotate(90deg);transform:translate(-50%, -50%) rotate(90deg)}.taro-video-video{width:100%;height:100%;-o-object-position:inherit;object-position:inherit}.taro-video-cover{display:-ms-flexbox;display:flex;position:absolute;left:0;top:0;bottom:0;z-index:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;background-color:rgba(1, 1, 1, 0.5);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-webkit-box-align:center}.taro-video-cover-play-button{width:40px;height:40px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-cover-duration{margin-top:10px;line-height:1;font-size:16px;color:#fff}.taro-video-bar{display:-ms-flexbox;display:flex;visibility:hidden;overflow:hidden;position:absolute;right:0;bottom:0;z-index:1;-ms-flex-align:center;align-items:center;padding:0 10px;height:44px;background-color:rgba(0, 0, 0, 0.5);-webkit-box-align:center}.taro-video-bar.taro-video-bar-full{left:0}.taro-video-controls{display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0 8.5px}.taro-video-control-button{-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-8.5px;padding:14.5px 12.5px;width:13px;height:15px}.taro-video-control-button::after{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50% 50%;background-size:100%;content:""}.taro-video-control-button.taro-video-control-button-play::after,.taro-video-cover-play-button{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==")}.taro-video-control-button.taro-video-control-button-pause::after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC")}.taro-video-current-time,.taro-video-duration{margin-top:15px;margin-bottom:14.5px;height:14.5px;line-height:14.5px;font-size:12px;color:#cbcbcb}.taro-video-progress-container{position:relative;-ms-flex-positive:2;flex-grow:2;-webkit-box-flex:2}.taro-video-progress{position:relative;margin:21px 12px;height:2px;background-color:rgba(255, 255, 255, 0.4)}.taro-video-progress-buffered{position:absolute;left:0;top:0;width:0;height:100%;background-color:rgba(255, 255, 255, 0.8);-webkit-transition:width 0.1s;transition:width 0.1s}.taro-video-ball{position:absolute;left:0;top:-21px;-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-22px;padding:14px;width:16px;height:16px}.taro-video-inner{border-radius:50%;width:100%;height:100%;background-color:#fff}.taro-video-danmu-button{margin:0 8.5px;padding:2px 10px;border:1px solid #fff;border-radius:5px;line-height:1;font-size:13px;color:#fff;white-space:nowrap}.taro-video-danmu-button.taro-video-danmu-button-active{border-color:#48c23d;color:#48c23d}.taro-video-fullscreen,.taro-video-mute{-webkit-box-sizing:content-box;box-sizing:content-box;padding:8.5px;width:17px;height:17px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==")}.taro-video-fullscreen.taro-video-type-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=")}.taro-video-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==")}.taro-video-mute.taro-video-type-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC")}.taro-video-danmu{overflow:visible;position:absolute;left:0;top:0;bottom:0;margin-top:14px;margin-bottom:44px;width:100%;line-height:14px;font-size:14px}.taro-video-danmu-item{position:absolute;left:100%;line-height:1;color:#fff;white-space:nowrap;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:left, -webkit-transform;transition-property:left, -webkit-transform;transition-property:left, transform;transition-property:left, transform, -webkit-transform;-webkit-transition-duration:3s;transition-duration:3s;-webkit-transition-timing-function:linear;transition-timing-function:linear}.taro-video-toast{display:block;visibility:hidden;position:absolute;left:50%;top:50%;border-radius:5px;background-color:rgba(255, 255, 255, 0.8);pointer-events:none;color:#000;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.taro-video-toast.taro-video-toast-volume{display:block;width:100px;height:100px}.taro-video-toast-volume .taro-video-toast-title{display:block;margin-top:10px;width:100%;line-height:16px;text-align:center;font-size:12px}.taro-video-toast-volume .taro-video-toast-icon{display:block;margin-left:25%;width:50%;height:50%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50% 50%;background-size:50%;fill:#000}.taro-video-toast-volume .taro-video-toast-value{margin-left:10px;margin-top:5px;width:80px;height:5px}.taro-video-toast-volume .taro-video-toast-value>.taro-video-toast-value-content{overflow:hidden}.taro-video-toast-volume-grids{width:80px;height:5px}.taro-video-toast-volume-grids-item{float:left;width:7.1px;height:5px;background-color:#000}.taro-video-toast-volume-grids-item:not(:first-child){margin-left:1px}.taro-video-toast.taro-video-toast-progress{padding:6px;background-color:rgba(0, 0, 0, 0.8);line-height:18px;font-size:14px;color:#fff}';var __awaiter$1=undefined&&undefined.__awaiter||function(e,t,r,i){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function o(e){try{l(i["throw"](e))}catch(e){n(e)}}function l(e){e.done?r(e.value):a(e.value).then(s,o)}l((i=i.apply(e,t||[])).next())}))};var Video=function(){function e(e){var t=this;registerInstance(this,e);this.onPlay=createEvent(this,"play",7);this.onPause=createEvent(this,"pause",7);this.onEnded=createEvent(this,"ended",7);this.onTimeUpdate=createEvent(this,"timeupdate",7);this.onError=createEvent(this,"error",7);this.onFullScreenChange=createEvent(this,"fullscreenchange",7);this.onProgress=createEvent(this,"progress",7);this.onLoadedMetaData=createEvent(this,"loadedmetadata",7);this.currentTime=0;this.isDraggingProgress=false;this.gestureType="none";this.controls=true;this.autoplay=false;this.loop=false;this.muted=false;this.initialTime=0;this.objectFit="contain";this.showProgress=true;this.showFullscreenBtn=true;this.showPlayBtn=true;this.showCenterPlayBtn=true;this.showMuteBtn=false;this.danmuBtn=false;this.enableDanmu=false;this.enablePlayGesture=false;this.enableProgressGesture=true;this.vslideGesture=false;this.vslideGestureInFullscreen=true;this.nativeProps={};this._enableDanmu=false;this.isPlaying=false;this.isFirst=true;this.isFullScreen=false;this.fullScreenTimestamp=(new Date).getTime();this.isMute=false;this.analyzeGesture=function(e){var r;var i={type:"none"};var a=e.touches[0].screenX;var n=e.touches[0].screenY;var s=a-t.lastTouchScreenX;var o=n-t.lastTouchScreenY;var l=t.isFullScreen?t.vslideGestureInFullscreen:t.vslideGesture;if(t.gestureType==="none"){var u=calcDist(s,o);if(u<10)return i;if(Math.abs(o)>=Math.abs(s)){if(l){t.gestureType="adjustVolume";t.lastVolume=t.videoRef.volume}else{return i}}else if(Math.abs(o)<Math.abs(s)){if(t.enableProgressGesture){t.gestureType="adjustProgress";t.lastPercentage=t.currentTime/((r=t.duration)!==null&&r!==void 0?r:t._duration)}else{return i}}}i.type=t.gestureType;i.dataX=normalizeNumber(s/200);i.dataY=normalizeNumber(o/200);return i};this.loadNativePlayer=function(){if(t.videoRef){t.videoRef.src=t.src;t.videoRef.load()}};this.init=function(){var e=t,r=e.src,i=e.videoRef;if(isHls(r)){if(Hls.isSupported()){if(t.hls){t.hls.destroy()}t.hls=new Hls;t.hls.loadSource(r);t.hls.attachMedia(i);t.hls.on(Hls.Events.MANIFEST_PARSED,(function(){t.autoplay&&t.play()}));t.hls.on(Hls.Events.ERROR,(function(e,r){t.handleError(r)}))}else if(i.canPlayType("application/vnd.apple.mpegurl")){t.loadNativePlayer()}else{console.error("该浏览器不支持 HLS 播放")}}else{t.loadNativePlayer()}};this.handlePlay=function(){t.isPlaying=true;t.isFirst=false;t.controlsRef.toggleVisibility(true);t.onPlay.emit()};this.handlePause=function(){t.isPlaying=false;t.controlsRef.toggleVisibility(true);t.onPause.emit()};this.handleEnded=function(){t.isFirst=true;t.pause();t.controlsRef.toggleVisibility();t.onEnded.emit()};this.handleTimeUpdate=throttle((function(e){return __awaiter$1(t,void 0,void 0,(function(){var t,r,i,a;return __generator(this,(function(n){switch(n.label){case 0:this.currentTime=this.videoRef.currentTime;i=this.duration||this._duration;return[4,this.controlsRef.getIsDraggingProgressBall()];case 1:a=n.sent();if(this.controls&&this.showProgress){if(!a&&!this.isDraggingProgress){this.controlsRef.setProgressBall(this.currentTime/i);this.controlsRef.setCurrentTime(this.currentTime)}}this.danmuRef.tick(this.currentTime);this.onTimeUpdate.emit({duration:(t=e.target)===null||t===void 0?void 0:t.duration,currentTime:(r=e.target)===null||r===void 0?void 0:r.currentTime});if(this.duration){if(this.currentTime>=this.duration){this.seek(0);this.handleEnded()}}return[2]}}))}))}),250);this.handleError=function(e){var r,i;if(t.hls){switch(e.type){case Hls.ErrorTypes.NETWORK_ERROR:t.onError.emit({errMsg:e.response});t.hls.startLoad();break;case Hls.ErrorTypes.MEDIA_ERROR:t.onError.emit({errMsg:e.reason||"媒体错误,请重试"});t.hls.recoverMediaError();break}}else{t.onError.emit({errMsg:(i=(r=e.target)===null||r===void 0?void 0:r.error)===null||i===void 0?void 0:i.message})}};this.handleDurationChange=function(){t._duration=t.videoRef.duration};this.handleProgress=function(){t.onProgress.emit()};this.handleLoadedMetaData=function(e){var r=e.target;t.onLoadedMetaData.emit({width:r.videoWidth,height:r.videoHeight,duration:r.duration})};this._play=function(){return t.videoRef.play()};this._pause=function(){return t.videoRef.pause()};this._stop=function(){t.videoRef.pause();t._seek(0)};this._seek=function(e){t.videoRef.currentTime=e};this.onTouchStartContainer=function(e){t.lastTouchScreenX=e.touches[0].screenX;t.lastTouchScreenY=e.touches[0].screenY};this.onClickContainer=function(){if(t.enablePlayGesture){var e=Date.now();if(e-t.lastClickedTime<300){t.isPlaying?t.pause():t.play()}t.lastClickedTime=e}t.controlsRef.toggleVisibility()};this.onClickFullScreenBtn=function(e){e.stopPropagation();t.toggleFullScreen()};this.handleFullScreenChange=function(e){var r=(new Date).getTime();if(!e.detail&&t.isFullScreen&&!document[screenFn.fullscreenElement]&&r-t.fullScreenTimestamp>100){t.toggleFullScreen(false)}};this.toggleFullScreen=function(e){if(e===void 0){e=!t.isFullScreen}t.isFullScreen=e;t.controlsRef.toggleVisibility(true);t.fullScreenTimestamp=(new Date).getTime();t.onFullScreenChange.emit({fullScreen:t.isFullScreen,direction:"vertical"});if(t.isFullScreen&&!document[screenFn.fullscreenElement]){setTimeout((function(){t.videoRef[screenFn.requestFullscreen]({navigationUI:"auto"})}),0)}};this.toggleMute=function(e){e.stopPropagation();t.videoRef.muted=!t.isMute;t.controlsRef.toggleVisibility(true);t.isMute=!t.isMute};this.toggleDanmu=function(e){e.stopPropagation();t.controlsRef.toggleVisibility(true);t._enableDanmu=!t._enableDanmu}}e.prototype.componentWillLoad=function(){this._enableDanmu=this.enableDanmu};e.prototype.componentDidLoad=function(){this.init();if(this.initialTime){this.videoRef.currentTime=this.initialTime}this.danmuRef.sendDanmu(this.danmuList);if(document.addEventListener){document.addEventListener(screenFn.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&scene==="iOS"){this.videoRef.addEventListener("webkitendfullscreen",this.handleFullScreenChange)}};e.prototype.componentDidRender=function(){};e.prototype.disconnectedCallback=function(){if(document.removeEventListener){document.removeEventListener(screenFn.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&scene==="iOS"){this.videoRef.removeEventListener("webkitendfullscreen",this.handleFullScreenChange)}};e.prototype.watchEnableDanmu=function(e){this._enableDanmu=e};e.prototype.watchSrc=function(){this.init()};e.prototype.onDocumentTouchMove=function(e){return __awaiter$1(this,void 0,void 0,(function(){var t,r,i;return __generator(this,(function(a){switch(a.label){case 0:if(this.lastTouchScreenX===undefined||this.lastTouchScreenY===undefined)return[2];return[4,this.controlsRef.getIsDraggingProgressBall()];case 1:if(a.sent())return[2];t=this.analyzeGesture(e);if(t.type==="adjustVolume"){this.toastVolumeRef.style.visibility="visible";r=Math.max(Math.min(this.lastVolume-t.dataY,1),0);this.videoRef.volume=r;this.toastVolumeBarRef.style.width=r*100+"%"}else if(t.type==="adjustProgress"){this.isDraggingProgress=true;this.nextPercentage=Math.max(Math.min(this.lastPercentage+t.dataX,1),0);if(this.controls&&this.showProgress){this.controlsRef.setProgressBall(this.nextPercentage);this.controlsRef.toggleVisibility(true)}i=this.duration||this._duration;this.toastProgressTitleRef.innerHTML=formatTime(this.nextPercentage*i)+" / "+formatTime(i);this.toastProgressRef.style.visibility="visible"}return[2]}}))}))};e.prototype.onDocumentTouchEnd=function(){var e;if(this.gestureType==="adjustVolume"){this.toastVolumeRef.style.visibility="hidden"}else if(this.gestureType==="adjustProgress"){this.toastProgressRef.style.visibility="hidden"}if(this.isDraggingProgress){this.isDraggingProgress=false;this.seek(this.nextPercentage*((e=this.duration)!==null&&e!==void 0?e:this._duration))}this.gestureType="none";this.lastTouchScreenX=undefined;this.lastTouchScreenY=undefined};e.prototype.play=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator(this,(function(e){this._play();return[2]}))}))};e.prototype.pause=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator(this,(function(e){this._pause();return[2]}))}))};e.prototype.stop=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator(this,(function(e){this._stop();return[2]}))}))};e.prototype.seek=function(e){return __awaiter$1(this,void 0,void 0,(function(){return __generator(this,(function(t){this._seek(e);return[2]}))}))};e.prototype.requestFullScreen=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator(this,(function(e){this.toggleFullScreen(true);return[2]}))}))};e.prototype.exitFullScreen=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator(this,(function(e){this.toggleFullScreen(false);return[2]}))}))};e.prototype.render=function(){var e=this;var t=this,r=t.controls,i=t.autoplay,a=t.loop,n=t.muted,s=t.poster,o=t.objectFit,l=t.isFirst,u=t.isMute,f=t.isFullScreen,c=t.showCenterPlayBtn,d=t.isPlaying,v=t._enableDanmu,g=t.showMuteBtn,p=t.danmuBtn,m=t.showFullscreenBtn,y=t.nativeProps;var E=this.duration||this._duration;var T=formatTime(E);return h(Host,{class:classnames("taro-video-container",{"taro-video-type-fullscreen":f}),onTouchStart:this.onTouchStartContainer,onClick:this.onClickContainer},h("video",Object.assign({class:"taro-video-video",style:{"object-fit":o},ref:function(t){if(t){e.videoRef=t}},autoplay:i,loop:a,muted:n,poster:r?s:undefined,playsinline:true,"webkit-playsinline":true,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onTimeUpdate:this.handleTimeUpdate,onError:this.handleError,onDurationChange:this.handleDurationChange,onProgress:this.handleProgress,onLoadedMetaData:this.handleLoadedMetaData},y),"暂时不支持播放该视频"),h("taro-video-danmu",{ref:function(t){if(t){e.danmuRef=t}},enable:v}),l&&c&&!d&&h("div",{class:"taro-video-cover"},h("div",{class:"taro-video-cover-play-button",onClick:function(){return e.play()}}),h("p",{class:"taro-video-cover-duration"},T)),h("taro-video-control",{ref:function(t){if(t){e.controlsRef=t}},controls:r,currentTime:this.currentTime,duration:E,isPlaying:this.isPlaying,pauseFunc:this._pause,playFunc:this._play,seekFunc:this._seek,showPlayBtn:this.showPlayBtn,showProgress:this.showProgress},g&&h("div",{class:classnames("taro-video-mute",{"taro-video-type-mute":u}),onClick:this.toggleMute}),p&&h("div",{class:classnames("taro-video-danmu-button",{"taro-video-danmu-button-active":v}),onClick:this.toggleDanmu},"弹幕"),m&&h("div",{class:classnames("taro-video-fullscreen",{"taro-video-type-fullscreen":f}),onClick:this.onClickFullScreenBtn})),h("div",{class:"taro-video-toast taro-video-toast-volume",ref:function(t){if(t){e.toastVolumeRef=t}}},h("div",{class:"taro-video-toast-title"},"音量"),h("div",{class:"taro-video-toast-icon"}),h("div",{class:"taro-video-toast-value"},h("div",{class:"taro-video-toast-value-content",ref:function(t){if(t){e.toastVolumeBarRef=t}}},h("div",{class:"taro-video-toast-volume-grids"},Array(10).fill(1).map((function(){return h("div",{class:"taro-video-toast-volume-grids-item"})})))))),h("div",{class:"taro-video-toast taro-video-toast-progress",ref:function(t){if(t){e.toastProgressRef=t}}},h("div",{class:"taro-video-toast-title",ref:function(t){if(t){e.toastProgressTitleRef=t}}})))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{enableDanmu:["watchEnableDanmu"],src:["watchSrc"]}},enumerable:false,configurable:true});return e}();Video.style=indexCss;var __awaiter=undefined&&undefined.__awaiter||function(e,t,r,i){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function o(e){try{l(i["throw"](e))}catch(e){n(e)}}function l(e){e.done?r(e.value):a(e.value).then(s,o)}l((i=i.apply(e,t||[])).next())}))};var VideoDanmu=function(){function e(e){registerInstance(this,e);this.list=[];this.danmuElList=[];this.currentTime=0;this.enable=false;this.danmuList=[]}e.prototype.ensureProperties=function(e){var t=Object.assign({},e);if(!("time"in e)){t.time=this.currentTime}t.key=Math.random();t.bottom=Math.random()*90+5+"%";return t};e.prototype.sendDanmu=function(e){if(e===void 0){e=[]}return __awaiter(this,void 0,void 0,(function(){var t;var r=this;return __generator(this,(function(i){if(Array.isArray(e)){this.list=__spreadArray(__spreadArray([],this.list),e.map((function(e){return r.ensureProperties(e)})))}else{t=e;this.list=__spreadArray(__spreadArray([],this.list),[Object.assign({},this.ensureProperties(t))])}return[2]}))}))};e.prototype.tick=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,i,a;return __generator(this,(function(n){this.currentTime=e;if(!this.enable)return[2];t=this.list;r=t.filter((function(t){var r=t.time;return e-r<4&&e>r}));i=false;a=this.danmuList;if(r.length!==a.length){i=true}else{i=r.some((function(e){var t=e.key;return a.every((function(e){return t!==e.key}))}))}if(i){this.danmuList=r}return[2]}))}))};e.prototype.componentDidUpdate=function(){var e=this;requestAnimationFrame((function(){setTimeout((function(){var t=e.danmuElList.splice(0);t.forEach((function(e){e.style.left="0";e.style.webkitTransform="translateX(-100%)";e.style.transform="translateX(-100%)"}))}))}))};e.prototype.render=function(){var e=this;if(!this.enable)return"";return h(Host,{class:"taro-video-danmu"},this.danmuList.map((function(t){var r=t.text,i=t.color,a=t.bottom,n=t.key;return h("p",{class:"taro-video-danmu-item",key:n,style:{color:i,bottom:a},ref:function(t){if(t){e.danmuElList.push(t)}}},r)})))};return e}();export{VideoControl as taro_video_control,Video as taro_video_core,VideoDanmu as taro_video_danmu};
365
+ /*! exports provided: default */function(e,t,r){r.r(t);var i=r(/*! ../utils/logger */"./src/utils/logger.ts");var a=r(/*! ../loader/load-stats */"./src/loader/load-stats.ts");var n=/^age:\s*[\d.]+\s*$/m;var s=function(){function e(e){this.xhrSetup=void 0;this.requestTimeout=void 0;this.retryTimeout=void 0;this.retryDelay=void 0;this.config=null;this.callbacks=null;this.context=void 0;this.loader=null;this.stats=void 0;this.xhrSetup=e?e.xhrSetup:null;this.stats=new a["LoadStats"];this.retryDelay=0}var t=e.prototype;t.destroy=function e(){this.callbacks=null;this.abortInternal();this.loader=null;this.config=null};t.abortInternal=function e(){var t=this.loader;self.clearTimeout(this.requestTimeout);self.clearTimeout(this.retryTimeout);if(t){t.onreadystatechange=null;t.onprogress=null;if(t.readyState!==4){this.stats.aborted=true;t.abort()}}};t.abort=function e(){var t;this.abortInternal();if((t=this.callbacks)!==null&&t!==void 0&&t.onAbort){this.callbacks.onAbort(this.stats,this.context,this.loader)}};t.load=function e(t,r,i){if(this.stats.loading.start){throw new Error("Loader can only be used once.")}this.stats.loading.start=self.performance.now();this.context=t;this.config=r;this.callbacks=i;this.retryDelay=r.retryDelay;this.loadInternal()};t.loadInternal=function e(){var t=this.config,r=this.context;if(!t){return}var i=this.loader=new self.XMLHttpRequest;var a=this.stats;a.loading.first=0;a.loaded=0;var n=this.xhrSetup;try{if(n){try{n(i,r.url)}catch(e){i.open("GET",r.url,true);n(i,r.url)}}if(!i.readyState){i.open("GET",r.url,true)}var s=this.context.headers;if(s){for(var o in s){i.setRequestHeader(o,s[o])}}}catch(e){this.callbacks.onError({code:i.status,text:e.message},r,i);return}if(r.rangeEnd){i.setRequestHeader("Range","bytes="+r.rangeStart+"-"+(r.rangeEnd-1))}i.onreadystatechange=this.readystatechange.bind(this);i.onprogress=this.loadprogress.bind(this);i.responseType=r.responseType;self.clearTimeout(this.requestTimeout);this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),t.timeout);i.send()};t.readystatechange=function e(){var t=this.context,r=this.loader,a=this.stats;if(!t||!r){return}var n=r.readyState;var s=this.config;if(a.aborted){return}if(n>=2){self.clearTimeout(this.requestTimeout);if(a.loading.first===0){a.loading.first=Math.max(self.performance.now(),a.loading.start)}if(n===4){r.onreadystatechange=null;r.onprogress=null;var o=r.status;if(o>=200&&o<300){a.loading.end=Math.max(self.performance.now(),a.loading.first);var l;var u;if(t.responseType==="arraybuffer"){l=r.response;u=l.byteLength}else{l=r.responseText;u=l.length}a.loaded=a.total=u;if(!this.callbacks){return}var f=this.callbacks.onProgress;if(f){f(a,t,l,r)}if(!this.callbacks){return}var d={url:r.responseURL,data:l};this.callbacks.onSuccess(d,a,t,r)}else{if(a.retry>=s.maxRetry||o>=400&&o<499){i["logger"].error(o+" while loading "+t.url);this.callbacks.onError({code:o,text:r.statusText},t,r)}else{i["logger"].warn(o+" while loading "+t.url+", retrying in "+this.retryDelay+"...");this.abortInternal();this.loader=null;self.clearTimeout(this.retryTimeout);this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay);this.retryDelay=Math.min(2*this.retryDelay,s.maxRetryDelay);a.retry++}}}else{self.clearTimeout(this.requestTimeout);this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout)}}};t.loadtimeout=function e(){i["logger"].warn("timeout while loading "+this.context.url);var t=this.callbacks;if(t){this.abortInternal();t.onTimeout(this.stats,this.context,this.loader)}};t.loadprogress=function e(t){var r=this.stats;r.loaded=t.loaded;if(t.lengthComputable){r.total=t.total}};t.getCacheAge=function e(){var t=null;if(this.loader&&n.test(this.loader.getAllResponseHeaders())){var r=this.loader.getResponseHeader("age");t=r?parseFloat(r):null}return t};return e}();t["default"]=s}})["default"]}))}));var Hls=getDefaultExportFromCjs(hls);var indexCss='.taro-video{display:inline-block;overflow:hidden;position:relative;width:100%;height:225px;line-height:0}.taro-video[hidden]{display:none}.taro-video-container{display:inline-block;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;-o-object-position:inherit;object-position:inherit}.taro-video-container.taro-video-type-fullscreen{position:fixed;left:0;right:0;top:0;bottom:0;z-index:999}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left{-webkit-transform:translate(-50%, -50%) rotate(-90deg);transform:translate(-50%, -50%) rotate(-90deg)}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right{-webkit-transform:translate(-50%, -50%) rotate(90deg);transform:translate(-50%, -50%) rotate(90deg)}.taro-video-video{width:100%;height:100%;-o-object-position:inherit;object-position:inherit}.taro-video-cover{display:-ms-flexbox;display:flex;position:absolute;left:0;top:0;bottom:0;z-index:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;background-color:rgba(1, 1, 1, 0.5);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-webkit-box-align:center}.taro-video-cover-play-button{width:40px;height:40px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-cover-duration{margin-top:10px;line-height:1;font-size:16px;color:#fff}.taro-video-bar{display:-ms-flexbox;display:flex;visibility:hidden;overflow:hidden;position:absolute;right:0;bottom:0;z-index:1;-ms-flex-align:center;align-items:center;padding:0 10px;height:44px;background-color:rgba(0, 0, 0, 0.5);-webkit-box-align:center}.taro-video-bar.taro-video-bar-full{left:0}.taro-video-controls{display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0 8.5px}.taro-video-control-button{-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-8.5px;padding:14.5px 12.5px;width:13px;height:15px}.taro-video-control-button::after{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50% 50%;background-size:100%;content:""}.taro-video-control-button.taro-video-control-button-play::after,.taro-video-cover-play-button{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==")}.taro-video-control-button.taro-video-control-button-pause::after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC")}.taro-video-current-time,.taro-video-duration{margin-top:15px;margin-bottom:14.5px;height:14.5px;line-height:14.5px;font-size:12px;color:#cbcbcb}.taro-video-progress-container{position:relative;-ms-flex-positive:2;flex-grow:2;-webkit-box-flex:2}.taro-video-progress{position:relative;margin:21px 12px;height:2px;background-color:rgba(255, 255, 255, 0.4)}.taro-video-progress-buffered{position:absolute;left:0;top:0;width:0;height:100%;background-color:rgba(255, 255, 255, 0.8);-webkit-transition:width 0.1s;transition:width 0.1s}.taro-video-ball{position:absolute;left:0;top:-21px;-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-22px;padding:14px;width:16px;height:16px}.taro-video-inner{border-radius:50%;width:100%;height:100%;background-color:#fff}.taro-video-danmu-button{margin:0 8.5px;padding:2px 10px;border:1px solid #fff;border-radius:5px;line-height:1;font-size:13px;color:#fff;white-space:nowrap}.taro-video-danmu-button.taro-video-danmu-button-active{border-color:#48c23d;color:#48c23d}.taro-video-fullscreen,.taro-video-mute{-webkit-box-sizing:content-box;box-sizing:content-box;padding:8.5px;width:17px;height:17px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==")}.taro-video-fullscreen.taro-video-type-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=")}.taro-video-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==")}.taro-video-mute.taro-video-type-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC")}.taro-video-danmu{overflow:visible;position:absolute;left:0;top:0;bottom:0;margin-top:14px;margin-bottom:44px;width:100%;line-height:14px;font-size:14px}.taro-video-danmu-item{position:absolute;left:100%;line-height:1;color:#fff;white-space:nowrap;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:left, -webkit-transform;transition-property:left, -webkit-transform;transition-property:left, transform;transition-property:left, transform, -webkit-transform;-webkit-transition-duration:3s;transition-duration:3s;-webkit-transition-timing-function:linear;transition-timing-function:linear}.taro-video-toast{display:block;visibility:hidden;position:absolute;left:50%;top:50%;border-radius:5px;background-color:rgba(255, 255, 255, 0.8);pointer-events:none;color:#000;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.taro-video-toast.taro-video-toast-volume{display:block;width:100px;height:100px}.taro-video-toast-volume .taro-video-toast-title{display:block;margin-top:10px;width:100%;line-height:16px;text-align:center;font-size:12px}.taro-video-toast-volume .taro-video-toast-icon{display:block;margin-left:25%;width:50%;height:50%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50% 50%;background-size:50%;fill:#000}.taro-video-toast-volume .taro-video-toast-value{margin-left:10px;margin-top:5px;width:80px;height:5px}.taro-video-toast-volume .taro-video-toast-value>.taro-video-toast-value-content{overflow:hidden}.taro-video-toast-volume-grids{width:80px;height:5px}.taro-video-toast-volume-grids-item{float:left;width:7.1px;height:5px;background-color:#000}.taro-video-toast-volume-grids-item:not(:first-child){margin-left:1px}.taro-video-toast.taro-video-toast-progress{padding:6px;background-color:rgba(0, 0, 0, 0.8);line-height:18px;font-size:14px;color:#fff}';var Video=function(){function e(e){var t=this;registerInstance(this,e);this.onPlay=createEvent(this,"play",7);this.onPause=createEvent(this,"pause",7);this.onEnded=createEvent(this,"ended",7);this.onTimeUpdate=createEvent(this,"timeupdate",7);this.onError=createEvent(this,"error",7);this.onFullScreenChange=createEvent(this,"fullscreenchange",7);this.onProgress=createEvent(this,"progress",7);this.onLoadedMetaData=createEvent(this,"loadedmetadata",7);this.currentTime=0;this.isDraggingProgress=false;this.gestureType="none";this.analyzeGesture=function(e){var r;var i={type:"none"};var a=e.touches[0].screenX;var n=e.touches[0].screenY;var s=a-t.lastTouchScreenX;var o=n-t.lastTouchScreenY;var l=t.isFullScreen?t.vslideGestureInFullscreen:t.vslideGesture;if(t.gestureType==="none"){var u=calcDist(s,o);if(u<10)return i;if(Math.abs(o)>=Math.abs(s)){if(l){t.gestureType="adjustVolume";t.lastVolume=t.videoRef.volume}else{return i}}else if(Math.abs(o)<Math.abs(s)){if(t.enableProgressGesture){t.gestureType="adjustProgress";t.lastPercentage=t.currentTime/((r=t.duration)!==null&&r!==void 0?r:t._duration)}else{return i}}}i.type=t.gestureType;i.dataX=normalizeNumber(s/200);i.dataY=normalizeNumber(o/200);return i};this.loadNativePlayer=function(){if(t.videoRef){t.videoRef.src=t.src;t.videoRef.load()}};this.init=function(){var e=t,r=e.src,i=e.videoRef;if(isHls(r)){if(Hls.isSupported()){if(t.hls){t.hls.destroy()}t.hls=new Hls;t.hls.loadSource(r);t.hls.attachMedia(i);t.hls.on(Hls.Events.MANIFEST_PARSED,(function(){t.autoplay&&t.play()}));t.hls.on(Hls.Events.ERROR,(function(e,r){t.handleError(r)}))}else if(i.canPlayType("application/vnd.apple.mpegurl")){t.loadNativePlayer()}else{console.error("该浏览器不支持 HLS 播放")}}else{t.loadNativePlayer()}};this.handlePlay=function(){t.isPlaying=true;t.isFirst=false;t.controlsRef.toggleVisibility(true);t.onPlay.emit()};this.handlePause=function(){t.isPlaying=false;t.controlsRef.toggleVisibility(true);t.onPause.emit()};this.handleEnded=function(){t.isFirst=true;t.pause();t.controlsRef.toggleVisibility();t.onEnded.emit()};this.handleTimeUpdate=throttle((function(e){return __awaiter(t,void 0,void 0,(function(){var t,r,i,a;return __generator(this,(function(n){switch(n.label){case 0:this.currentTime=this.videoRef.currentTime;i=this.duration||this._duration;return[4,this.controlsRef.getIsDraggingProgressBall()];case 1:a=n.sent();if(this.controls&&this.showProgress){if(!a&&!this.isDraggingProgress){this.controlsRef.setProgressBall(this.currentTime/i);this.controlsRef.setCurrentTime(this.currentTime)}}this.danmuRef.tick(this.currentTime);this.onTimeUpdate.emit({duration:(t=e.target)===null||t===void 0?void 0:t.duration,currentTime:(r=e.target)===null||r===void 0?void 0:r.currentTime});if(this.duration){if(this.currentTime>=this.duration){this.seek(0);this.handleEnded()}}return[2]}}))}))}),250);this.handleError=function(e){var r,i;if(t.hls){switch(e.type){case Hls.ErrorTypes.NETWORK_ERROR:t.onError.emit({errMsg:e.response});t.hls.startLoad();break;case Hls.ErrorTypes.MEDIA_ERROR:t.onError.emit({errMsg:e.reason||"媒体错误,请重试"});t.hls.recoverMediaError();break}}else{t.onError.emit({errMsg:(i=(r=e.target)===null||r===void 0?void 0:r.error)===null||i===void 0?void 0:i.message})}};this.handleDurationChange=function(){t._duration=t.videoRef.duration};this.handleProgress=function(){t.onProgress.emit()};this.handleLoadedMetaData=function(e){var r=e.target;t.onLoadedMetaData.emit({width:r.videoWidth,height:r.videoHeight,duration:r.duration})};this._play=function(){return t.videoRef.play()};this._pause=function(){return t.videoRef.pause()};this._stop=function(){t.videoRef.pause();t._seek(0)};this._seek=function(e){t.videoRef.currentTime=e};this.onTouchStartContainer=function(e){t.lastTouchScreenX=e.touches[0].screenX;t.lastTouchScreenY=e.touches[0].screenY};this.onClickContainer=function(){if(t.enablePlayGesture){var e=Date.now();if(e-t.lastClickedTime<300){t.isPlaying?t.pause():t.play()}t.lastClickedTime=e}t.controlsRef.toggleVisibility()};this.onClickFullScreenBtn=function(e){e.stopPropagation();t.toggleFullScreen()};this.handleFullScreenChange=function(e){var r=(new Date).getTime();if(!e.detail&&t.isFullScreen&&!document[screenFn.fullscreenElement]&&r-t.fullScreenTimestamp>100){t.toggleFullScreen(false)}};this.toggleFullScreen=function(e){if(e===void 0){e=!t.isFullScreen}t.isFullScreen=e;t.controlsRef.toggleVisibility(true);t.fullScreenTimestamp=(new Date).getTime();t.onFullScreenChange.emit({fullScreen:t.isFullScreen,direction:"vertical"});if(t.isFullScreen&&!document[screenFn.fullscreenElement]){setTimeout((function(){t.videoRef[screenFn.requestFullscreen]({navigationUI:"auto"})}),0)}};this.toggleMute=function(e){e.stopPropagation();t.videoRef.muted=!t.isMute;t.controlsRef.toggleVisibility(true);t.isMute=!t.isMute};this.toggleDanmu=function(e){e.stopPropagation();t.controlsRef.toggleVisibility(true);t._enableDanmu=!t._enableDanmu};this.src=undefined;this.duration=undefined;this.controls=true;this.autoplay=false;this.loop=false;this.muted=false;this.initialTime=0;this.poster=undefined;this.objectFit="contain";this.showProgress=true;this.showFullscreenBtn=true;this.showPlayBtn=true;this.showCenterPlayBtn=true;this.showMuteBtn=false;this.danmuList=undefined;this.danmuBtn=false;this.enableDanmu=false;this.enablePlayGesture=false;this.enableProgressGesture=true;this.vslideGesture=false;this.vslideGestureInFullscreen=true;this.nativeProps={};this._duration=undefined;this._enableDanmu=false;this.isPlaying=false;this.isFirst=true;this.isFullScreen=false;this.fullScreenTimestamp=(new Date).getTime();this.isMute=false}e.prototype.componentWillLoad=function(){this._enableDanmu=this.enableDanmu};e.prototype.componentDidLoad=function(){this.init();if(this.initialTime){this.videoRef.currentTime=this.initialTime}this.danmuRef.sendDanmu(this.danmuList);if(document.addEventListener){document.addEventListener(screenFn.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&scene==="iOS"){this.videoRef.addEventListener("webkitendfullscreen",this.handleFullScreenChange)}};e.prototype.componentDidRender=function(){};e.prototype.disconnectedCallback=function(){if(document.removeEventListener){document.removeEventListener(screenFn.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&scene==="iOS"){this.videoRef.removeEventListener("webkitendfullscreen",this.handleFullScreenChange)}};e.prototype.watchEnableDanmu=function(e){this._enableDanmu=e};e.prototype.watchSrc=function(){this.init()};e.prototype.onDocumentTouchMove=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,i;return __generator(this,(function(a){switch(a.label){case 0:if(this.lastTouchScreenX===undefined||this.lastTouchScreenY===undefined)return[2];return[4,this.controlsRef.getIsDraggingProgressBall()];case 1:if(a.sent())return[2];t=this.analyzeGesture(e);if(t.type==="adjustVolume"){this.toastVolumeRef.style.visibility="visible";r=Math.max(Math.min(this.lastVolume-t.dataY,1),0);this.videoRef.volume=r;this.toastVolumeBarRef.style.width="".concat(r*100,"%")}else if(t.type==="adjustProgress"){this.isDraggingProgress=true;this.nextPercentage=Math.max(Math.min(this.lastPercentage+t.dataX,1),0);if(this.controls&&this.showProgress){this.controlsRef.setProgressBall(this.nextPercentage);this.controlsRef.toggleVisibility(true)}i=this.duration||this._duration;this.toastProgressTitleRef.innerHTML="".concat(formatTime(this.nextPercentage*i)," / ").concat(formatTime(i));this.toastProgressRef.style.visibility="visible"}return[2]}}))}))};e.prototype.onDocumentTouchEnd=function(){var e;if(this.gestureType==="adjustVolume"){this.toastVolumeRef.style.visibility="hidden"}else if(this.gestureType==="adjustProgress"){this.toastProgressRef.style.visibility="hidden"}if(this.isDraggingProgress){this.isDraggingProgress=false;this.seek(this.nextPercentage*((e=this.duration)!==null&&e!==void 0?e:this._duration))}this.gestureType="none";this.lastTouchScreenX=undefined;this.lastTouchScreenY=undefined};e.prototype.play=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this._play();return[2]}))}))};e.prototype.pause=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this._pause();return[2]}))}))};e.prototype.stop=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this._stop();return[2]}))}))};e.prototype.seek=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this._seek(e);return[2]}))}))};e.prototype.requestFullScreen=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.toggleFullScreen(true);return[2]}))}))};e.prototype.exitFullScreen=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.toggleFullScreen(false);return[2]}))}))};e.prototype.render=function(){var e=this;var t=this,r=t.controls,i=t.autoplay,a=t.loop,n=t.muted,s=t.poster,o=t.objectFit,l=t.isFirst,u=t.isMute,f=t.isFullScreen,d=t.showCenterPlayBtn,c=t.isPlaying,v=t._enableDanmu,g=t.showMuteBtn,p=t.danmuBtn,m=t.showFullscreenBtn,y=t.nativeProps;var E=this.duration||this._duration;var T=formatTime(E);return h(Host,{class:classnames("taro-video-container",{"taro-video-type-fullscreen":f}),onTouchStart:this.onTouchStartContainer,onClick:this.onClickContainer},h("video",Object.assign({class:"taro-video-video",style:{"object-fit":o},ref:function(t){if(t){e.videoRef=t}},autoplay:i,loop:a,muted:n,poster:r?s:undefined,playsinline:true,"webkit-playsinline":true,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onTimeUpdate:this.handleTimeUpdate,onError:this.handleError,onDurationChange:this.handleDurationChange,onProgress:this.handleProgress,onLoadedMetaData:this.handleLoadedMetaData},y),"暂时不支持播放该视频"),h("taro-video-danmu",{ref:function(t){if(t){e.danmuRef=t}},enable:v}),l&&d&&!c&&h("div",{class:"taro-video-cover"},h("div",{class:"taro-video-cover-play-button",onClick:function(){return e.play()}}),h("p",{class:"taro-video-cover-duration"},T)),h("taro-video-control",{ref:function(t){if(t){e.controlsRef=t}},controls:r,currentTime:this.currentTime,duration:E,isPlaying:this.isPlaying,pauseFunc:this._pause,playFunc:this._play,seekFunc:this._seek,showPlayBtn:this.showPlayBtn,showProgress:this.showProgress},g&&h("div",{class:classnames("taro-video-mute",{"taro-video-type-mute":u}),onClick:this.toggleMute}),p&&h("div",{class:classnames("taro-video-danmu-button",{"taro-video-danmu-button-active":v}),onClick:this.toggleDanmu},"弹幕"),m&&h("div",{class:classnames("taro-video-fullscreen",{"taro-video-type-fullscreen":f}),onClick:this.onClickFullScreenBtn})),h("div",{class:"taro-video-toast taro-video-toast-volume",ref:function(t){if(t){e.toastVolumeRef=t}}},h("div",{class:"taro-video-toast-title"},"音量"),h("div",{class:"taro-video-toast-icon"}),h("div",{class:"taro-video-toast-value"},h("div",{class:"taro-video-toast-value-content",ref:function(t){if(t){e.toastVolumeBarRef=t}}},h("div",{class:"taro-video-toast-volume-grids"},Array(10).fill(1).map((function(){return h("div",{class:"taro-video-toast-volume-grids-item"})})))))),h("div",{class:"taro-video-toast taro-video-toast-progress",ref:function(t){if(t){e.toastProgressRef=t}}},h("div",{class:"taro-video-toast-title",ref:function(t){if(t){e.toastProgressTitleRef=t}}})))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{enableDanmu:["watchEnableDanmu"],src:["watchSrc"]}},enumerable:false,configurable:true});return e}();Video.style=indexCss;var VideoDanmu=function(){function e(e){registerInstance(this,e);this.list=[];this.danmuElList=[];this.currentTime=0;this.enable=false;this.danmuList=[]}e.prototype.ensureProperties=function(e){var t=Object.assign({},e);if(!("time"in e)){t.time=this.currentTime}t.key=Math.random();t.bottom="".concat(Math.random()*90+5,"%");return t};e.prototype.sendDanmu=function(e){if(e===void 0){e=[]}return __awaiter(this,void 0,void 0,(function(){var t;var r=this;return __generator(this,(function(i){if(Array.isArray(e)){this.list=__spreadArray(__spreadArray([],this.list,true),e.map((function(e){return r.ensureProperties(e)})),true)}else{t=e;this.list=__spreadArray(__spreadArray([],this.list,true),[Object.assign({},this.ensureProperties(t))],false)}return[2]}))}))};e.prototype.tick=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,i,a;return __generator(this,(function(n){this.currentTime=e;if(!this.enable)return[2];t=this.list;r=t.filter((function(t){var r=t.time;return e-r<4&&e>r}));i=false;a=this.danmuList;if(r.length!==a.length){i=true}else{i=r.some((function(e){var t=e.key;return a.every((function(e){return t!==e.key}))}))}if(i){this.danmuList=r}return[2]}))}))};e.prototype.componentDidUpdate=function(){var e=this;requestAnimationFrame((function(){setTimeout((function(){var t=e.danmuElList.splice(0);t.forEach((function(e){e.style.left="0";e.style.webkitTransform="translateX(-100%)";e.style.transform="translateX(-100%)"}))}))}))};e.prototype.render=function(){var e=this;if(!this.enable)return"";return h(Host,{class:"taro-video-danmu"},this.danmuList.map((function(t){var r=t.text,i=t.color,a=t.bottom,n=t.key;return h("p",{class:"taro-video-danmu-item",key:n,style:{color:i,bottom:a},ref:function(t){if(t){e.danmuElList.push(t)}}},r)})))};return e}();export{VideoControl as taro_video_control,Video as taro_video_core,VideoDanmu as taro_video_danmu};
366
+ //# sourceMappingURL=taro-video-control_3.entry.js.map