rx-player 4.2.0-dev.2024082600 → 4.2.0-dev.2024090500

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 (628) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  6. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  7. package/dist/commonjs/compat/add_class_name.d.ts.map +1 -1
  8. package/dist/commonjs/compat/add_class_name.js +1 -2
  9. package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
  10. package/dist/commonjs/compat/browser_compatibility_types.js +4 -1
  11. package/dist/commonjs/compat/browser_detection.d.ts +3 -1
  12. package/dist/commonjs/compat/browser_detection.d.ts.map +1 -1
  13. package/dist/commonjs/compat/browser_detection.js +8 -1
  14. package/dist/commonjs/compat/can_reuse_media_keys.d.ts +2 -0
  15. package/dist/commonjs/compat/can_reuse_media_keys.d.ts.map +1 -1
  16. package/dist/commonjs/compat/can_reuse_media_keys.js +3 -1
  17. package/dist/commonjs/compat/clear_element_src.js +1 -1
  18. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  19. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
  20. package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
  21. package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
  22. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  23. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
  24. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  25. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
  26. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  27. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  28. package/dist/commonjs/compat/eme/eme-api-implementation.js +0 -2
  29. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  30. package/dist/commonjs/compat/event_listeners.js +2 -6
  31. package/dist/commonjs/compat/has_mse_in_worker.js +1 -1
  32. package/dist/commonjs/compat/is_codec_supported.d.ts.map +1 -1
  33. package/dist/commonjs/compat/is_codec_supported.js +0 -2
  34. package/dist/commonjs/compat/is_vtt_cue.d.ts.map +1 -1
  35. package/dist/commonjs/compat/is_vtt_cue.js +1 -2
  36. package/dist/commonjs/compat/on_height_width_change.d.ts.map +1 -1
  37. package/dist/commonjs/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  38. package/dist/commonjs/compat/patch_webkit_source_buffer.js +8 -18
  39. package/dist/commonjs/compat/remove_cue.js +2 -2
  40. package/dist/commonjs/core/cmcd/cmcd_data_builder.js +1 -1
  41. package/dist/commonjs/core/fetchers/index.d.ts +4 -4
  42. package/dist/commonjs/core/fetchers/index.d.ts.map +1 -1
  43. package/dist/commonjs/core/fetchers/index.js +2 -2
  44. package/dist/commonjs/core/fetchers/segment/index.d.ts +6 -5
  45. package/dist/commonjs/core/fetchers/segment/index.d.ts.map +1 -1
  46. package/dist/commonjs/core/fetchers/segment/index.js +2 -2
  47. package/dist/commonjs/core/{stream/representation/utils/downloading_queue.d.ts → fetchers/segment/segment_queue.d.ts} +63 -80
  48. package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts.map +1 -0
  49. package/dist/commonjs/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +132 -111
  50. package/dist/{es2017/core/fetchers/segment/segment_fetcher_creator.d.ts → commonjs/core/fetchers/segment/segment_queue_creator.d.ts} +25 -12
  51. package/dist/commonjs/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
  52. package/dist/commonjs/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +15 -9
  53. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts +9 -0
  54. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  55. package/dist/commonjs/core/fetchers/segment/task_prioritizer.js +38 -8
  56. package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
  57. package/dist/commonjs/core/main/common/content_time_boundaries_observer.js +21 -10
  58. package/dist/commonjs/core/main/worker/content_preparer.d.ts +3 -3
  59. package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -1
  60. package/dist/commonjs/core/main/worker/content_preparer.js +2 -2
  61. package/dist/commonjs/core/main/worker/send_message.js +1 -1
  62. package/dist/commonjs/core/main/worker/worker_main.js +3 -2
  63. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
  64. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.js +39 -30
  65. package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  66. package/dist/commonjs/core/segment_sinks/segment_buffers_store.js +3 -2
  67. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts +1 -1
  68. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  69. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +3 -3
  70. package/dist/commonjs/core/stream/adaptation/types.d.ts +2 -2
  71. package/dist/commonjs/core/stream/adaptation/types.d.ts.map +1 -1
  72. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  73. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.js +27 -6
  74. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
  75. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  76. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +3 -3
  77. package/dist/commonjs/core/stream/period/period_stream.d.ts +1 -1
  78. package/dist/commonjs/core/stream/period/period_stream.d.ts.map +1 -1
  79. package/dist/commonjs/core/stream/period/period_stream.js +2 -2
  80. package/dist/commonjs/core/stream/period/types.d.ts +2 -2
  81. package/dist/commonjs/core/stream/period/types.d.ts.map +1 -1
  82. package/dist/commonjs/core/stream/representation/representation_stream.d.ts +1 -1
  83. package/dist/commonjs/core/stream/representation/representation_stream.d.ts.map +1 -1
  84. package/dist/commonjs/core/stream/representation/representation_stream.js +19 -28
  85. package/dist/commonjs/core/stream/representation/types.d.ts +2 -2
  86. package/dist/commonjs/core/stream/representation/types.d.ts.map +1 -1
  87. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  88. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +39 -18
  89. package/dist/commonjs/core/types.d.ts +2 -2
  90. package/dist/commonjs/core/types.d.ts.map +1 -1
  91. package/dist/commonjs/default_config.d.ts.map +1 -1
  92. package/dist/commonjs/default_config.js +0 -8
  93. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  94. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
  95. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  96. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
  97. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  98. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
  99. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
  100. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
  101. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  102. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
  103. package/dist/commonjs/features/add_features.d.ts.map +1 -1
  104. package/dist/commonjs/features/add_features.js +31 -10
  105. package/dist/commonjs/main_thread/api/option_utils.d.ts.map +1 -1
  106. package/dist/commonjs/main_thread/api/option_utils.js +2 -6
  107. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  108. package/dist/commonjs/main_thread/api/public_api.js +33 -27
  109. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  110. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.js +4 -3
  111. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +6 -6
  112. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  113. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +32 -37
  114. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.js +1 -5
  115. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +3 -7
  116. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +1 -1
  117. package/dist/commonjs/main_thread/types.d.ts.map +1 -1
  118. package/dist/commonjs/manifest/classes/adaptation.d.ts +13 -13
  119. package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
  120. package/dist/commonjs/manifest/classes/manifest.js +0 -6
  121. package/dist/commonjs/manifest/classes/representation.d.ts +20 -12
  122. package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
  123. package/dist/commonjs/manifest/utils.d.ts.map +1 -1
  124. package/dist/commonjs/manifest/utils.js +72 -62
  125. package/dist/commonjs/mse/main_media_source_interface.js +1 -1
  126. package/dist/commonjs/multithread_types.d.ts +2 -2
  127. package/dist/commonjs/multithread_types.d.ts.map +1 -1
  128. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  129. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
  130. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  131. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
  132. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
  133. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
  134. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
  135. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
  136. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
  137. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
  138. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  139. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
  140. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
  141. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
  142. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
  143. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
  144. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
  145. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
  146. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
  147. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
  148. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  149. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  150. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
  151. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  152. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
  153. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  154. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  155. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  156. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
  157. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  158. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
  159. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  160. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
  161. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts.map +1 -1
  162. package/dist/commonjs/parsers/manifest/local/representation_index.js +29 -8
  163. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  164. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +31 -10
  165. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  166. package/dist/commonjs/parsers/manifest/smooth/create_parser.js +2 -1
  167. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.js +26 -4
  168. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.js +29 -7
  169. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.js +29 -7
  170. package/dist/commonjs/parsers/texttracks/srt/html.js +28 -6
  171. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.js +1 -1
  172. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.js +29 -7
  173. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  174. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +26 -5
  175. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  176. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.js +25 -4
  177. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
  178. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  179. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.js +9 -3
  180. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +30 -8
  181. package/dist/commonjs/public_types.d.ts +5 -7
  182. package/dist/commonjs/public_types.d.ts.map +1 -1
  183. package/dist/commonjs/transports/smooth/extract_timings_infos.js +30 -8
  184. package/dist/commonjs/utils/array_find.d.ts +1 -1
  185. package/dist/commonjs/utils/array_find.d.ts.map +1 -1
  186. package/dist/commonjs/utils/array_find.js +3 -1
  187. package/dist/commonjs/utils/array_find_index.d.ts +1 -1
  188. package/dist/commonjs/utils/array_find_index.d.ts.map +1 -1
  189. package/dist/commonjs/utils/array_find_index.js +3 -1
  190. package/dist/commonjs/utils/array_includes.d.ts.map +1 -1
  191. package/dist/commonjs/utils/array_includes.js +1 -3
  192. package/dist/commonjs/utils/assert.d.ts.map +1 -1
  193. package/dist/commonjs/utils/assert.js +0 -2
  194. package/dist/commonjs/utils/base64.d.ts +1 -1
  195. package/dist/commonjs/utils/base64.d.ts.map +1 -1
  196. package/dist/commonjs/utils/base64.js +3 -2
  197. package/dist/commonjs/utils/event_emitter.js +1 -1
  198. package/dist/commonjs/utils/flat_map.d.ts.map +1 -1
  199. package/dist/commonjs/utils/flat_map.js +1 -2
  200. package/dist/commonjs/utils/id_generator.d.ts.map +1 -1
  201. package/dist/commonjs/utils/id_generator.js +0 -1
  202. package/dist/commonjs/utils/logger.js +1 -1
  203. package/dist/commonjs/utils/monotonic_timestamp.js +2 -2
  204. package/dist/commonjs/utils/noop.js +1 -2
  205. package/dist/commonjs/utils/object_assign.d.ts.map +1 -1
  206. package/dist/commonjs/utils/object_assign.js +27 -6
  207. package/dist/commonjs/utils/object_values.d.ts.map +1 -1
  208. package/dist/commonjs/utils/object_values.js +1 -1
  209. package/dist/commonjs/utils/reference.js +1 -1
  210. package/dist/commonjs/utils/request/xhr.js +1 -1
  211. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  212. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  213. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  214. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  215. package/dist/es2017/compat/add_class_name.d.ts.map +1 -1
  216. package/dist/es2017/compat/add_class_name.js +1 -2
  217. package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
  218. package/dist/es2017/compat/browser_compatibility_types.js +4 -1
  219. package/dist/es2017/compat/browser_detection.d.ts +3 -1
  220. package/dist/es2017/compat/browser_detection.d.ts.map +1 -1
  221. package/dist/es2017/compat/browser_detection.js +7 -1
  222. package/dist/es2017/compat/can_reuse_media_keys.d.ts +2 -0
  223. package/dist/es2017/compat/can_reuse_media_keys.d.ts.map +1 -1
  224. package/dist/es2017/compat/can_reuse_media_keys.js +4 -2
  225. package/dist/es2017/compat/clear_element_src.js +1 -1
  226. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  227. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
  228. package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
  229. package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
  230. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  231. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
  232. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  233. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
  234. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  235. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  236. package/dist/es2017/compat/eme/eme-api-implementation.js +0 -2
  237. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  238. package/dist/es2017/compat/event_listeners.js +2 -6
  239. package/dist/es2017/compat/has_mse_in_worker.js +1 -1
  240. package/dist/es2017/compat/is_codec_supported.d.ts.map +1 -1
  241. package/dist/es2017/compat/is_codec_supported.js +0 -2
  242. package/dist/es2017/compat/is_vtt_cue.d.ts.map +1 -1
  243. package/dist/es2017/compat/is_vtt_cue.js +1 -2
  244. package/dist/es2017/compat/on_height_width_change.d.ts.map +1 -1
  245. package/dist/es2017/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  246. package/dist/es2017/compat/patch_webkit_source_buffer.js +8 -18
  247. package/dist/es2017/compat/remove_cue.js +2 -2
  248. package/dist/es2017/core/cmcd/cmcd_data_builder.js +1 -1
  249. package/dist/es2017/core/fetchers/index.d.ts +4 -4
  250. package/dist/es2017/core/fetchers/index.d.ts.map +1 -1
  251. package/dist/es2017/core/fetchers/index.js +2 -2
  252. package/dist/es2017/core/fetchers/segment/index.d.ts +6 -5
  253. package/dist/es2017/core/fetchers/segment/index.d.ts.map +1 -1
  254. package/dist/es2017/core/fetchers/segment/index.js +2 -2
  255. package/dist/es2017/core/{stream/representation/utils/downloading_queue.d.ts → fetchers/segment/segment_queue.d.ts} +63 -80
  256. package/dist/es2017/core/fetchers/segment/segment_queue.d.ts.map +1 -0
  257. package/dist/es2017/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +126 -105
  258. package/dist/{commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts → es2017/core/fetchers/segment/segment_queue_creator.d.ts} +25 -12
  259. package/dist/es2017/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
  260. package/dist/es2017/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +12 -6
  261. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts +9 -0
  262. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  263. package/dist/es2017/core/fetchers/segment/task_prioritizer.js +10 -2
  264. package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
  265. package/dist/es2017/core/main/common/content_time_boundaries_observer.js +4 -4
  266. package/dist/es2017/core/main/worker/content_preparer.d.ts +3 -3
  267. package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -1
  268. package/dist/es2017/core/main/worker/content_preparer.js +3 -3
  269. package/dist/es2017/core/main/worker/send_message.js +1 -1
  270. package/dist/es2017/core/main/worker/worker_main.js +3 -2
  271. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
  272. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.js +1 -2
  273. package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  274. package/dist/es2017/core/segment_sinks/segment_buffers_store.js +3 -2
  275. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts +1 -1
  276. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  277. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +3 -3
  278. package/dist/es2017/core/stream/adaptation/types.d.ts +2 -2
  279. package/dist/es2017/core/stream/adaptation/types.d.ts.map +1 -1
  280. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  281. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.js +1 -2
  282. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
  283. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  284. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +3 -3
  285. package/dist/es2017/core/stream/period/period_stream.d.ts +1 -1
  286. package/dist/es2017/core/stream/period/period_stream.d.ts.map +1 -1
  287. package/dist/es2017/core/stream/period/period_stream.js +2 -2
  288. package/dist/es2017/core/stream/period/types.d.ts +2 -2
  289. package/dist/es2017/core/stream/period/types.d.ts.map +1 -1
  290. package/dist/es2017/core/stream/representation/representation_stream.d.ts +1 -1
  291. package/dist/es2017/core/stream/representation/representation_stream.d.ts.map +1 -1
  292. package/dist/es2017/core/stream/representation/representation_stream.js +19 -28
  293. package/dist/es2017/core/stream/representation/types.d.ts +2 -2
  294. package/dist/es2017/core/stream/representation/types.d.ts.map +1 -1
  295. package/dist/es2017/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  296. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -2
  297. package/dist/es2017/core/types.d.ts +2 -2
  298. package/dist/es2017/core/types.d.ts.map +1 -1
  299. package/dist/es2017/default_config.d.ts.map +1 -1
  300. package/dist/es2017/default_config.js +0 -8
  301. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  302. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
  303. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  304. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
  305. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  306. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
  307. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
  308. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
  309. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  310. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
  311. package/dist/es2017/features/add_features.d.ts.map +1 -1
  312. package/dist/es2017/features/add_features.js +1 -2
  313. package/dist/es2017/main_thread/api/option_utils.d.ts.map +1 -1
  314. package/dist/es2017/main_thread/api/option_utils.js +2 -6
  315. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  316. package/dist/es2017/main_thread/api/public_api.js +29 -23
  317. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  318. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.js +2 -1
  319. package/dist/es2017/main_thread/init/media_source_content_initializer.js +6 -6
  320. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  321. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +7 -12
  322. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.js +1 -5
  323. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +3 -7
  324. package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +1 -1
  325. package/dist/es2017/main_thread/types.d.ts.map +1 -1
  326. package/dist/es2017/manifest/classes/adaptation.d.ts +13 -13
  327. package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
  328. package/dist/es2017/manifest/classes/manifest.js +0 -6
  329. package/dist/es2017/manifest/classes/representation.d.ts +20 -12
  330. package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
  331. package/dist/es2017/manifest/utils.d.ts.map +1 -1
  332. package/dist/es2017/manifest/utils.js +1 -2
  333. package/dist/es2017/mse/main_media_source_interface.js +1 -1
  334. package/dist/es2017/multithread_types.d.ts +2 -2
  335. package/dist/es2017/multithread_types.d.ts.map +1 -1
  336. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  337. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
  338. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  339. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
  340. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
  341. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
  342. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
  343. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
  344. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
  345. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
  346. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  347. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
  348. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
  349. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
  350. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
  351. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
  352. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
  353. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
  354. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
  355. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
  356. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  357. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +1 -2
  358. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  359. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
  360. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  361. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
  362. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  363. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  364. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  365. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
  366. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  367. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
  368. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  369. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
  370. package/dist/es2017/parsers/manifest/local/representation_index.d.ts.map +1 -1
  371. package/dist/es2017/parsers/manifest/local/representation_index.js +1 -2
  372. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  373. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.js +2 -3
  374. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  375. package/dist/es2017/parsers/manifest/smooth/create_parser.js +2 -1
  376. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.js +2 -2
  377. package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.js +2 -2
  378. package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.js +2 -2
  379. package/dist/es2017/parsers/texttracks/srt/html.js +2 -2
  380. package/dist/es2017/parsers/texttracks/ttml/html/create_element.js +1 -1
  381. package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.js +3 -3
  382. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  383. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +1 -2
  384. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  385. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.js +1 -2
  386. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
  387. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  388. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.js +9 -3
  389. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -2
  390. package/dist/es2017/public_types.d.ts +5 -7
  391. package/dist/es2017/public_types.d.ts.map +1 -1
  392. package/dist/es2017/transports/smooth/extract_timings_infos.js +3 -3
  393. package/dist/es2017/utils/array_find.d.ts +1 -1
  394. package/dist/es2017/utils/array_find.d.ts.map +1 -1
  395. package/dist/es2017/utils/array_find.js +3 -1
  396. package/dist/es2017/utils/array_find_index.d.ts +1 -1
  397. package/dist/es2017/utils/array_find_index.d.ts.map +1 -1
  398. package/dist/es2017/utils/array_find_index.js +3 -1
  399. package/dist/es2017/utils/array_includes.d.ts.map +1 -1
  400. package/dist/es2017/utils/array_includes.js +1 -3
  401. package/dist/es2017/utils/assert.d.ts.map +1 -1
  402. package/dist/es2017/utils/assert.js +0 -2
  403. package/dist/es2017/utils/base64.d.ts +1 -1
  404. package/dist/es2017/utils/base64.d.ts.map +1 -1
  405. package/dist/es2017/utils/base64.js +3 -2
  406. package/dist/es2017/utils/event_emitter.js +1 -1
  407. package/dist/es2017/utils/flat_map.d.ts.map +1 -1
  408. package/dist/es2017/utils/flat_map.js +1 -2
  409. package/dist/es2017/utils/id_generator.d.ts.map +1 -1
  410. package/dist/es2017/utils/id_generator.js +0 -1
  411. package/dist/es2017/utils/logger.js +1 -1
  412. package/dist/es2017/utils/monotonic_timestamp.js +2 -2
  413. package/dist/es2017/utils/noop.js +1 -2
  414. package/dist/es2017/utils/object_assign.d.ts.map +1 -1
  415. package/dist/es2017/utils/object_assign.js +1 -2
  416. package/dist/es2017/utils/object_values.d.ts.map +1 -1
  417. package/dist/es2017/utils/object_values.js +1 -2
  418. package/dist/es2017/utils/reference.js +1 -1
  419. package/dist/es2017/utils/request/xhr.js +1 -1
  420. package/dist/mpd-parser.wasm +0 -0
  421. package/dist/rx-player.js +39336 -18
  422. package/dist/rx-player.min.js +18 -0
  423. package/dist/worker.js +5 -5
  424. package/package.json +16 -9
  425. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  426. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  427. package/src/compat/__tests__/add_text_track.test.ts +8 -12
  428. package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -7
  429. package/src/compat/__tests__/browser_version.test.ts +20 -19
  430. package/src/compat/__tests__/can_patch_isobmff.test.ts +7 -10
  431. package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +17 -21
  432. package/src/compat/__tests__/can_reuse_media_keys.test.ts +38 -15
  433. package/src/compat/__tests__/clear_element_src.test.ts +37 -34
  434. package/src/compat/__tests__/enable_audio_track.test.ts +22 -21
  435. package/src/compat/__tests__/is_codec_supported.test.ts +17 -18
  436. package/src/compat/__tests__/is_seeking_approximate.test.ts +8 -14
  437. package/src/compat/__tests__/is_vtt_cue.test.ts +8 -13
  438. package/src/compat/__tests__/make_vtt_cue.test.ts +7 -12
  439. package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +44 -32
  440. package/src/compat/__tests__/remove_cue.test.ts +30 -31
  441. package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +21 -26
  442. package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +9 -17
  443. package/src/compat/__tests__/should_unset_media_keys.test.ts +7 -14
  444. package/src/compat/__tests__/should_validate_metadata.test.ts +7 -17
  445. package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +17 -26
  446. package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +10 -15
  447. package/src/compat/add_class_name.ts +1 -2
  448. package/src/compat/browser_compatibility_types.ts +4 -2
  449. package/src/compat/browser_detection.ts +9 -0
  450. package/src/compat/can_reuse_media_keys.ts +4 -2
  451. package/src/compat/clear_element_src.ts +1 -1
  452. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +1 -2
  453. package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +1 -2
  454. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +3 -6
  455. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +2 -17
  456. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +1 -4
  457. package/src/compat/eme/eme-api-implementation.ts +0 -2
  458. package/src/compat/event_listeners.ts +2 -6
  459. package/src/compat/has_mse_in_worker.ts +1 -1
  460. package/src/compat/is_codec_supported.ts +0 -2
  461. package/src/compat/is_debug_mode_enabled.ts +1 -1
  462. package/src/compat/is_vtt_cue.ts +1 -2
  463. package/src/compat/on_height_width_change.ts +1 -2
  464. package/src/compat/patch_webkit_source_buffer.ts +48 -29
  465. package/src/compat/remove_cue.ts +2 -2
  466. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +21 -26
  467. package/src/core/cmcd/cmcd_data_builder.ts +1 -1
  468. package/src/core/fetchers/README.md +13 -12
  469. package/src/core/fetchers/index.ts +5 -8
  470. package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +17 -23
  471. package/src/core/fetchers/segment/index.ts +6 -5
  472. package/src/core/{stream/representation/utils/downloading_queue.ts → fetchers/segment/segment_queue.ts} +204 -166
  473. package/src/core/fetchers/segment/{segment_fetcher_creator.ts → segment_queue_creator.ts} +31 -14
  474. package/src/core/fetchers/segment/task_prioritizer.ts +10 -2
  475. package/src/core/fetchers/utils/schedule_request.ts +1 -1
  476. package/src/core/main/common/content_time_boundaries_observer.ts +4 -4
  477. package/src/core/main/worker/content_preparer.ts +5 -5
  478. package/src/core/main/worker/send_message.ts +1 -1
  479. package/src/core/main/worker/worker_main.ts +3 -2
  480. package/src/core/segment_sinks/implementations/text/text_segment_buffer.ts +1 -5
  481. package/src/core/segment_sinks/inventory/segment_inventory.ts +1 -2
  482. package/src/core/segment_sinks/segment_buffers_store.ts +3 -2
  483. package/src/core/stream/adaptation/adaptation_stream.ts +3 -3
  484. package/src/core/stream/adaptation/types.ts +2 -2
  485. package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +1 -2
  486. package/src/core/stream/orchestrator/stream_orchestrator.ts +4 -4
  487. package/src/core/stream/period/period_stream.ts +2 -2
  488. package/src/core/stream/period/types.ts +2 -2
  489. package/src/core/stream/representation/representation_stream.ts +59 -56
  490. package/src/core/stream/representation/types.ts +3 -4
  491. package/src/core/stream/representation/utils/get_needed_segments.ts +1 -2
  492. package/src/core/types.ts +2 -4
  493. package/src/default_config.ts +0 -8
  494. package/src/errors/__tests__/format_error.test.ts +18 -18
  495. package/src/experimental/features/__tests__/multi_thread.test.ts +5 -5
  496. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +11 -11
  497. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +18 -26
  498. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +13 -21
  499. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +24 -20
  500. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +28 -30
  501. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +32 -38
  502. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +64 -51
  503. package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +4 -17
  504. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -4
  505. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +1 -2
  506. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +16 -14
  507. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +1 -2
  508. package/src/features/__tests__/add_features.test.ts +12 -11
  509. package/src/features/add_features.ts +1 -2
  510. package/src/features/list/__tests__/dash_wasm.test.ts +4 -4
  511. package/src/main_thread/api/__tests__/option_utils.test.ts +114 -70
  512. package/src/main_thread/api/__tests__/public_api.test.ts +85 -48
  513. package/src/main_thread/api/option_utils.ts +2 -6
  514. package/src/main_thread/api/public_api.ts +24 -18
  515. package/src/main_thread/decrypt/__tests__/__global__/get_license.test.ts +12 -18
  516. package/src/main_thread/decrypt/__tests__/__global__/init_data.test.ts +128 -101
  517. package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +26 -33
  518. package/src/main_thread/decrypt/__tests__/__global__/media_keys.test.ts +46 -48
  519. package/src/main_thread/decrypt/__tests__/__global__/server_certificate.test.ts +33 -34
  520. package/src/main_thread/decrypt/__tests__/__global__/utils.ts +13 -17
  521. package/src/main_thread/decrypt/session_events_listener.ts +1 -1
  522. package/src/main_thread/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -5
  523. package/src/main_thread/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +14 -17
  524. package/src/main_thread/decrypt/utils/persistent_sessions_store.ts +2 -1
  525. package/src/main_thread/init/media_source_content_initializer.ts +7 -7
  526. package/src/main_thread/init/multi_thread_content_initializer.ts +7 -12
  527. package/src/main_thread/init/utils/__tests__/are_same_stream_events.test.ts +11 -16
  528. package/src/main_thread/init/utils/__tests__/refresh_scheduled_events_list.test.ts +48 -18
  529. package/src/main_thread/text_displayer/html/__tests__/text_track_cues_store.test.ts +32 -17
  530. package/src/main_thread/text_displayer/html/html_text_displayer.ts +1 -5
  531. package/src/main_thread/text_displayer/native/native_text_displayer.ts +3 -7
  532. package/src/main_thread/tracks_store/__tests__/media_element_tracks_store.test.ts +33 -28
  533. package/src/main_thread/tracks_store/track_dispatcher.ts +1 -1
  534. package/src/main_thread/types.ts +0 -1
  535. package/src/manifest/classes/__tests__/adaptation.test.ts +167 -62
  536. package/src/manifest/classes/__tests__/manifest.test.ts +130 -74
  537. package/src/manifest/classes/__tests__/period.test.ts +293 -211
  538. package/src/manifest/classes/__tests__/update_period_in_place.test.ts +0 -2
  539. package/src/manifest/classes/__tests__/update_periods.test.ts +57 -57
  540. package/src/manifest/classes/adaptation.ts +13 -13
  541. package/src/manifest/classes/manifest.ts +0 -6
  542. package/src/manifest/classes/representation.ts +20 -12
  543. package/src/manifest/utils.ts +1 -2
  544. package/src/mse/main_media_source_interface.ts +1 -1
  545. package/src/mse/types.ts +1 -1
  546. package/src/multithread_types.ts +2 -2
  547. package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +5 -10
  548. package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +38 -30
  549. package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -3
  550. package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +12 -6
  551. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.ts +14 -7
  552. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.ts +8 -4
  553. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Period.ts +10 -5
  554. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.ts +10 -5
  555. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
  556. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
  557. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
  558. package/src/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.ts +14 -7
  559. package/src/parsers/manifest/dash/native-parser/node_parsers/EventStream.ts +2 -1
  560. package/src/parsers/manifest/dash/native-parser/node_parsers/MPD.ts +8 -4
  561. package/src/parsers/manifest/dash/native-parser/node_parsers/Period.ts +10 -5
  562. package/src/parsers/manifest/dash/native-parser/node_parsers/Representation.ts +10 -5
  563. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
  564. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
  565. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentTimeline.test.ts +9 -14
  566. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
  567. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +1 -2
  568. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +2 -1
  569. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +2 -1
  570. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +4 -2
  571. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +10 -5
  572. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +2 -1
  573. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +2 -1
  574. package/src/parsers/manifest/local/representation_index.ts +1 -2
  575. package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +2 -3
  576. package/src/parsers/manifest/smooth/create_parser.ts +2 -1
  577. package/src/parsers/manifest/smooth/shared_smooth_segment_timeline.ts +2 -2
  578. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +3 -8
  579. package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +2 -2
  580. package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +2 -2
  581. package/src/parsers/texttracks/srt/html.ts +2 -2
  582. package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +3 -7
  583. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.ts +4 -4
  584. package/src/parsers/texttracks/ttml/html/create_element.ts +1 -1
  585. package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +3 -3
  586. package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +1 -2
  587. package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +1 -2
  588. package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +11 -11
  589. package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +5 -18
  590. package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +23 -28
  591. package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +9 -14
  592. package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +11 -11
  593. package/src/parsers/texttracks/webvtt/html/to_html.ts +9 -3
  594. package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +2 -2
  595. package/src/public_types.ts +7 -8
  596. package/src/tools/TextTrackRenderer/text_track_renderer.ts +1 -1
  597. package/src/transports/smooth/extract_timings_infos.ts +3 -3
  598. package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +30 -28
  599. package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +38 -44
  600. package/src/utils/__tests__/array_find.test.ts +12 -12
  601. package/src/utils/__tests__/array_find_index.test.ts +13 -12
  602. package/src/utils/__tests__/array_includes.test.ts +7 -7
  603. package/src/utils/__tests__/assert.test.ts +19 -25
  604. package/src/utils/__tests__/base64.test.ts +18 -13
  605. package/src/utils/__tests__/event_emitter.test.ts +225 -50
  606. package/src/utils/__tests__/flat_map.test.ts +2 -6
  607. package/src/utils/__tests__/starts_with.test.ts +7 -8
  608. package/src/utils/array_find.ts +3 -7
  609. package/src/utils/array_find_index.ts +3 -7
  610. package/src/utils/array_includes.ts +1 -3
  611. package/src/utils/assert.ts +0 -2
  612. package/src/utils/base64.ts +3 -2
  613. package/src/utils/event_emitter.ts +1 -1
  614. package/src/utils/flat_map.ts +1 -2
  615. package/src/utils/id_generator.ts +0 -2
  616. package/src/utils/is_worker.ts +1 -1
  617. package/src/utils/logger.ts +1 -1
  618. package/src/utils/monotonic_timestamp.ts +2 -2
  619. package/src/utils/noop.ts +1 -2
  620. package/src/utils/object_assign.ts +1 -2
  621. package/src/utils/object_values.ts +1 -2
  622. package/src/utils/reference.ts +1 -1
  623. package/src/utils/request/xhr.ts +1 -1
  624. package/.vscode/settings.json +0 -7
  625. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
  626. package/dist/commonjs/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
  627. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
  628. package/dist/es2017/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
@@ -1,10 +1,5 @@
1
1
  import { describe, beforeEach, it, expect, vi } from "vitest";
2
-
3
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
4
- /* eslint-disable @typescript-eslint/no-unsafe-call */
5
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
6
- /* eslint-disable @typescript-eslint/no-unsafe-return */
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import type IParseWebVTT from "../parse_webvtt_to_div";
8
3
 
9
4
  describe("parsers - webvtt - parseWebVTT", () => {
10
5
  beforeEach(() => {
@@ -12,14 +7,14 @@ describe("parsers - webvtt - parseWebVTT", () => {
12
7
  });
13
8
 
14
9
  it("should throw if text is empty", async () => {
15
- const parseWebVTT = ((await vi.importActual("../parse_webvtt_to_div")) as any)
16
- .default;
10
+ const parseWebVTT = (await vi.importActual("../parse_webvtt_to_div"))
11
+ .default as typeof IParseWebVTT;
17
12
  expect(() => parseWebVTT("", 0)).toThrowError("Can't parse WebVTT: Invalid File.");
18
13
  });
19
14
 
20
15
  it("should throw if file seems to be invalid", async () => {
21
- const parseWebVTT = ((await vi.importActual("../parse_webvtt_to_div")) as any)
22
- .default;
16
+ const parseWebVTT = (await vi.importActual("../parse_webvtt_to_div"))
17
+ .default as typeof IParseWebVTT;
23
18
  expect(() => parseWebVTT("WEBWTT\n", 0)).toThrowError(
24
19
  "Can't parse WebVTT: Invalid File.",
25
20
  );
@@ -76,8 +71,8 @@ describe("parsers - webvtt - parseWebVTT", () => {
76
71
  getFirstLineAfterHeader: spyGetFirstLineAfterHeader,
77
72
  }));
78
73
 
79
- const parseWebVTT = ((await vi.importActual("../parse_webvtt_to_div")) as any)
80
- .default;
74
+ const parseWebVTT = (await vi.importActual("../parse_webvtt_to_div"))
75
+ .default as typeof IParseWebVTT;
81
76
  expect(parseWebVTT("WEBVTT\n", 0)).toEqual([
82
77
  {
83
78
  element: document.createElement("div"),
@@ -143,8 +138,8 @@ describe("parsers - webvtt - parseWebVTT", () => {
143
138
  getFirstLineAfterHeader: spyGetFirstLineAfterHeader,
144
139
  }));
145
140
 
146
- const parseWebVTT = ((await vi.importActual("../parse_webvtt_to_div")) as any)
147
- .default;
141
+ const parseWebVTT = (await vi.importActual("../parse_webvtt_to_div"))
142
+ .default as typeof IParseWebVTT;
148
143
  expect(parseWebVTT("WEBVTT\n", 0)).toEqual([]);
149
144
  expect(spyGetFirstLineAfterHeader).toHaveBeenCalledTimes(1);
150
145
  expect(spyGetStyleBlock).toHaveBeenCalledTimes(1);
@@ -1,11 +1,6 @@
1
1
  import { describe, beforeEach, it, expect, vi } from "vitest";
2
2
  import type { IStyleElements } from "../parse_style_block";
3
-
4
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
5
- /* eslint-disable @typescript-eslint/no-unsafe-call */
6
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
7
- /* eslint-disable @typescript-eslint/no-unsafe-return */
8
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import type IToHtml from "../to_html";
9
4
 
10
5
  describe("parsers - webvtt - toHTML", () => {
11
6
  beforeEach(() => {
@@ -19,12 +14,13 @@ describe("parsers - webvtt - toHTML", () => {
19
14
  },
20
15
  }));
21
16
 
22
- const toHTML = ((await vi.importActual("../to_html")) as any).default;
17
+ const toHTML = (await vi.importActual("../to_html")).default as typeof IToHtml;
23
18
  const cueObject = {
24
19
  start: 0,
25
20
  end: 100,
26
21
  header: "b",
27
22
  payload: ["<body><b></b><p>Hello<p><body>"],
23
+ settings: {},
28
24
  };
29
25
 
30
26
  const classes: IStyleElements = {};
@@ -57,12 +53,13 @@ describe("parsers - webvtt - toHTML", () => {
57
53
  },
58
54
  }));
59
55
 
60
- const toHTML = ((await vi.importActual("../to_html")) as any).default;
56
+ const toHTML = (await vi.importActual("../to_html")).default as typeof IToHtml;
61
57
  const cueObject = {
62
58
  start: 0,
63
59
  end: 100,
64
60
  header: "b",
65
61
  payload: ["<body><b></b><p>Hello<p><body>"],
62
+ settings: {},
66
63
  };
67
64
 
68
65
  const classes: IStyleElements = {
@@ -97,12 +94,13 @@ describe("parsers - webvtt - toHTML", () => {
97
94
  },
98
95
  }));
99
96
 
100
- const toHTML = ((await vi.importActual("../to_html")) as any).default;
97
+ const toHTML = (await vi.importActual("../to_html")).default as typeof IToHtml;
101
98
  const cueObject = {
102
99
  start: 0,
103
100
  end: 100,
104
101
  header: "b",
105
102
  payload: ["<body><b></b><p>Hello<p><body>"],
103
+ settings: {},
106
104
  };
107
105
 
108
106
  const classes: IStyleElements = {};
@@ -136,12 +134,13 @@ describe("parsers - webvtt - toHTML", () => {
136
134
  },
137
135
  }));
138
136
 
139
- const toHTML = ((await vi.importActual("../to_html")) as any).default;
137
+ const toHTML = (await vi.importActual("../to_html")).default as typeof IToHtml;
140
138
  const cueObject = {
141
139
  start: 0,
142
140
  end: 100,
143
141
  header: "b",
144
142
  payload: ["<body><b></b><p>Hello<p><body>"],
143
+ settings: {},
145
144
  };
146
145
 
147
146
  const classes: IStyleElements = { b: "bar: baz;" };
@@ -176,11 +175,12 @@ describe("parsers - webvtt - toHTML", () => {
176
175
  },
177
176
  }));
178
177
 
179
- const toHTML = ((await vi.importActual("../to_html")) as any).default;
178
+ const toHTML = (await vi.importActual("../to_html")).default as typeof IToHtml;
180
179
  const cueObject = {
181
180
  start: 0,
182
181
  end: 100,
183
182
  payload: [],
183
+ settings: {},
184
184
  };
185
185
 
186
186
  const classes: IStyleElements = {};
@@ -32,9 +32,15 @@ export interface IVTTHTMLCue {
32
32
  * - element {HTMLElement}: the cue text, translated into an HTMLElement
33
33
  *
34
34
  * Returns undefined if the cue block could not be parsed.
35
- * @param {Array.<string>} cueBlock
36
- * @param {Number} timeOffset
37
- * @param {Array.<Object>} classes
35
+ * @param {Object} cueObj
36
+ * @param {Number} cueObj.start
37
+ * @param {Number} cueObj.end
38
+ * @param {Object} cueObj.settings;
39
+ * @param {string|undefined} cueObj.header
40
+ * @param {Array.<string>} cueObj.payload
41
+ * @param {Object} styling
42
+ * @param {Object} styling.classes
43
+ * @param {string|undefined} styling.global
38
44
  * @returns {Object|undefined}
39
45
  */
40
46
  export default function toHTML(
@@ -52,8 +52,8 @@ export default function parseVTTStringToVTTCues(
52
52
  const firstLineAfterHeader = getFirstLineAfterHeader(lines);
53
53
  const cueBlocks: string[][] = getCueBlocks(lines, firstLineAfterHeader);
54
54
  const cues: Array<ICompatVTTCue | TextTrackCue> = [];
55
- for (let i = 0; i < cueBlocks.length; i++) {
56
- const cueObject = parseCueBlock(cueBlocks[i], timeOffset);
55
+ for (const cueBlock of cueBlocks) {
56
+ const cueObject = parseCueBlock(cueBlock, timeOffset);
57
57
  if (cueObject !== null) {
58
58
  const nativeCue = toNativeCue(cueObject);
59
59
  if (nativeCue !== null) {
@@ -58,7 +58,7 @@ export interface IConstructorOptions {
58
58
  videoResolutionLimit?: "videoElement" | "screen" | "none";
59
59
  throttleVideoBitrateWhenHidden?: boolean;
60
60
 
61
- /* eslint-disable-next-line @typescript-eslint/no-restricted-types */
61
+ // eslint-disable-next-line @typescript-eslint/no-restricted-types
62
62
  videoElement?: HTMLMediaElement;
63
63
  baseBandwidth?: number;
64
64
  }
@@ -393,8 +393,7 @@ export type ISegmentLoader = (
393
393
  totalSize?: number | undefined;
394
394
  }) => void;
395
395
  },
396
- ) => // returns either the aborting callback or nothing
397
- (() => void) | void;
396
+ ) => (() => void) | void; // returns either the aborting callback or nothing
398
397
 
399
398
  /** Context given to a segment loader. */
400
399
  export interface ISegmentLoaderContext {
@@ -509,8 +508,7 @@ export type IManifestLoader = (
509
508
  reject: (err?: Error) => void;
510
509
  fallback: () => void;
511
510
  },
512
- ) => // returns either the aborting callback or nothing
513
- (() => void) | void;
511
+ ) => (() => void) | void; // returns either the aborting callback or nothing
514
512
 
515
513
  export interface IManifestLoaderInfo {
516
514
  /** URL at which the wanted Manifest can be accessed. */
@@ -538,7 +536,9 @@ export interface IKeySystemOption {
538
536
  messageType: string,
539
537
  ) => Promise<BufferSource | null> | BufferSource | null;
540
538
  /** Supplementary optional configuration for the getLicense call. */
541
- getLicenseConfig?: { retry?: number; timeout?: number };
539
+ getLicenseConfig?:
540
+ | { retry?: number | undefined; timeout?: number | undefined }
541
+ | undefined;
542
542
  /**
543
543
  * Optional `serverCertificate` we will try to set to speed-up the
544
544
  * license-fetching process.
@@ -1113,9 +1113,8 @@ export interface ITrackUpdateEventPayload {
1113
1113
  export interface IRepresentationListUpdateContext {
1114
1114
  period: IPeriod;
1115
1115
  trackType: ITrackType;
1116
- /* eslint-disable @typescript-eslint/no-redundant-type-constituents */
1116
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
1117
1117
  reason: "decipherability-update" | string;
1118
- /* eslint-enable @typescript-eslint/no-redundant-type-constituents */
1119
1118
  }
1120
1119
 
1121
1120
  export interface ILockedVideoRepresentationsSettings {
@@ -60,7 +60,7 @@ export default class TextTrackRenderer {
60
60
  videoElement,
61
61
  textTrackElement,
62
62
  }: {
63
- /* eslint-disable-next-line @typescript-eslint/no-restricted-types */
63
+ // eslint-disable-next-line @typescript-eslint/no-restricted-types
64
64
  videoElement: HTMLMediaElement;
65
65
  textTrackElement: HTMLElement;
66
66
  }) {
@@ -89,10 +89,10 @@ export default function extractTimingsInfos(
89
89
  }
90
90
 
91
91
  if (tfrfSegments !== undefined) {
92
- for (let i = 0; i < tfrfSegments.length; i++) {
92
+ for (const tfrfSeg of tfrfSegments) {
93
93
  nextSegments.push({
94
- time: tfrfSegments[i].time,
95
- duration: tfrfSegments[i].duration,
94
+ time: tfrfSeg.time,
95
+ duration: tfrfSeg.duration,
96
96
  timescale: initTimescale,
97
97
  });
98
98
  }
@@ -1,10 +1,12 @@
1
1
  import { describe, beforeEach, it, expect, vi } from "vitest";
2
-
3
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
4
- /* eslint-disable @typescript-eslint/no-unsafe-call */
5
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
6
- /* eslint-disable @typescript-eslint/no-unsafe-return */
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import type {
3
+ createFRMABox as ICreateFRMABox,
4
+ createFreeBox as ICreateFreeBox,
5
+ createHDLRBox as ICreateHDLRBox,
6
+ createMDHDBox as ICreateMDHDBox,
7
+ createSMHDBox as ICreateSMHDBox,
8
+ createVMHDBox as ICreateVMHDBox,
9
+ } from "../create_boxes";
8
10
 
9
11
  describe("Smooth - ISOBMFF - boxes creation", () => {
10
12
  beforeEach(() => {
@@ -19,8 +21,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
19
21
  vi.doMock("../../../../parsers/containers/isobmff", () => {
20
22
  return { createBox: mockCreateBox };
21
23
  });
22
- const createVMHDBox = ((await vi.importActual("../create_boxes")) as any)
23
- .createVMHDBox;
24
+ const createVMHDBox = (await vi.importActual("../create_boxes"))
25
+ .createVMHDBox as typeof ICreateVMHDBox;
24
26
  expect(createVMHDBox()).toBe(box);
25
27
  expect(mockCreateBox).toHaveBeenCalledTimes(1);
26
28
  expect(mockCreateBox).toHaveBeenCalledWith("vmhd", vmhdContent);
@@ -34,8 +36,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
34
36
  vi.doMock("../../../../parsers/containers/isobmff", () => {
35
37
  return { createBox: mockCreateBox };
36
38
  });
37
- const createFreeBox = ((await vi.importActual("../create_boxes")) as any)
38
- .createFreeBox;
39
+ const createFreeBox = (await vi.importActual("../create_boxes"))
40
+ .createFreeBox as typeof ICreateFreeBox;
39
41
  expect(createFreeBox(8)).toBe(box);
40
42
  expect(mockCreateBox).toHaveBeenCalledTimes(1);
41
43
  expect(mockCreateBox).toHaveBeenCalledWith("free", new Uint8Array([]));
@@ -51,8 +53,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
51
53
  vi.doMock("../../../../parsers/containers/isobmff", () => {
52
54
  return { createBox: mockCreateBox };
53
55
  });
54
- const createFreeBox = ((await vi.importActual("../create_boxes")) as any)
55
- .createFreeBox;
56
+ const createFreeBox = (await vi.importActual("../create_boxes"))
57
+ .createFreeBox as typeof ICreateFreeBox;
56
58
  expect(() => createFreeBox(7)).toThrow();
57
59
  expect(() => createFreeBox(6)).toThrow();
58
60
  expect(() => createFreeBox(5)).toThrow();
@@ -70,8 +72,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
70
72
  vi.doMock("../../../../parsers/containers/isobmff", () => {
71
73
  return { createBox: mockCreateBox };
72
74
  });
73
- const createFreeBox = ((await vi.importActual("../create_boxes")) as any)
74
- .createFreeBox;
75
+ const createFreeBox = (await vi.importActual("../create_boxes"))
76
+ .createFreeBox as typeof ICreateFreeBox;
75
77
  expect(() => createFreeBox(-1)).toThrow();
76
78
  expect(mockCreateBox).not.toHaveBeenCalled();
77
79
  });
@@ -82,8 +84,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
82
84
  vi.doMock("../../../../parsers/containers/isobmff", () => {
83
85
  return { createBox: mockCreateBox };
84
86
  });
85
- const createFreeBox = ((await vi.importActual("../create_boxes")) as any)
86
- .createFreeBox;
87
+ const createFreeBox = (await vi.importActual("../create_boxes"))
88
+ .createFreeBox as typeof ICreateFreeBox;
87
89
  expect(() => createFreeBox(-Infinity)).toThrow();
88
90
  expect(() => createFreeBox(+Infinity)).toThrow();
89
91
  expect(mockCreateBox).not.toHaveBeenCalled();
@@ -97,8 +99,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
97
99
  vi.doMock("../../../../parsers/containers/isobmff", () => {
98
100
  return { createBox: mockCreateBox };
99
101
  });
100
- const createHDLRBox = ((await vi.importActual("../create_boxes")) as any)
101
- .createHDLRBox;
102
+ const createHDLRBox = (await vi.importActual("../create_boxes"))
103
+ .createHDLRBox as typeof ICreateHDLRBox;
102
104
  expect(createHDLRBox("audio")).toBe(box);
103
105
  expect(mockCreateBox).toHaveBeenCalledTimes(1);
104
106
  expect(mockCreateBox).toHaveBeenCalledWith(
@@ -151,8 +153,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
151
153
  vi.doMock("../../../../parsers/containers/isobmff", () => {
152
154
  return { createBox: mockCreateBox };
153
155
  });
154
- const createHDLRBox = ((await vi.importActual("../create_boxes")) as any)
155
- .createHDLRBox;
156
+ const createHDLRBox = (await vi.importActual("../create_boxes"))
157
+ .createHDLRBox as typeof ICreateHDLRBox;
156
158
  expect(createHDLRBox("video")).toBe(box);
157
159
  expect(mockCreateBox).toHaveBeenCalledTimes(1);
158
160
  expect(mockCreateBox).toHaveBeenCalledWith(
@@ -205,8 +207,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
205
207
  vi.doMock("../../../../parsers/containers/isobmff", () => {
206
208
  return { createBox: mockCreateBox };
207
209
  });
208
- const createHDLRBox = ((await vi.importActual("../create_boxes")) as any)
209
- .createHDLRBox;
210
+ const createHDLRBox = (await vi.importActual("../create_boxes"))
211
+ .createHDLRBox as typeof ICreateHDLRBox;
210
212
  expect(createHDLRBox("hint")).toBe(box);
211
213
  expect(mockCreateBox).toHaveBeenCalledTimes(1);
212
214
  expect(mockCreateBox).toHaveBeenCalledWith(
@@ -256,8 +258,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
256
258
  vi.doMock("../../../../parsers/containers/isobmff", () => {
257
259
  return { createBox: mockCreateBox };
258
260
  });
259
- const createMDHDBox = ((await vi.importActual("../create_boxes")) as any)
260
- .createMDHDBox;
261
+ const createMDHDBox = (await vi.importActual("../create_boxes"))
262
+ .createMDHDBox as typeof ICreateMDHDBox;
261
263
 
262
264
  expect(createMDHDBox(8)).toBe(box);
263
265
 
@@ -291,8 +293,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
291
293
  vi.doMock("../../../../parsers/containers/isobmff", () => {
292
294
  return { createBox: mockCreateBox };
293
295
  });
294
- const createSMHDBox = ((await vi.importActual("../create_boxes")) as any)
295
- .createSMHDBox;
296
+ const createSMHDBox = (await vi.importActual("../create_boxes"))
297
+ .createSMHDBox as typeof ICreateSMHDBox;
296
298
  expect(createSMHDBox()).toBe(box);
297
299
  expect(mockCreateBox).toHaveBeenCalledTimes(1);
298
300
  expect(mockCreateBox).toHaveBeenCalledWith("smhd", smhdContent);
@@ -311,8 +313,8 @@ describe("Smooth - ISOBMFF - boxes creation", () => {
311
313
  vi.doMock("../../../../parsers/containers/isobmff", () => {
312
314
  return { createBox: mockCreateBox };
313
315
  });
314
- const createFRMABox = ((await vi.importActual("../create_boxes")) as any)
315
- .createFRMABox;
316
+ const createFRMABox = (await vi.importActual("../create_boxes"))
317
+ .createFRMABox as typeof ICreateFRMABox;
316
318
  expect(createFRMABox("foo")).toBe(box);
317
319
  expect(mockCreateBox).toHaveBeenCalledTimes(1);
318
320
  expect(mockCreateBox).toHaveBeenCalledWith("frma", dataFormatToBytes);
@@ -1,10 +1,6 @@
1
1
  import { describe, beforeEach, it, expect, vi } from "vitest";
2
-
3
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
4
- /* eslint-disable @typescript-eslint/no-unsafe-call */
5
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
6
- /* eslint-disable @typescript-eslint/no-unsafe-return */
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import type { OtherError as IOtherError } from "../../../errors";
3
+ import type ICheckISOBMFFIntegrity from "../check_isobmff_integrity";
8
4
 
9
5
  describe("transports utils - checkISOBMFFIntegrity", () => {
10
6
  beforeEach(() => {
@@ -16,9 +12,8 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
16
12
  vi.doMock("../../../parsers/containers/isobmff", () => ({
17
13
  findCompleteBox: mockFindCompleteBox,
18
14
  }));
19
- const checkISOBMFFIntegrity = (
20
- (await vi.importActual("../check_isobmff_integrity")) as any
21
- ).default;
15
+ const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
16
+ .default as typeof ICheckISOBMFFIntegrity;
22
17
  const myUint8Array = new Uint8Array([0, 1, 2]);
23
18
  expect(() => checkISOBMFFIntegrity(myUint8Array, true)).not.toThrow();
24
19
  expect(mockFindCompleteBox).toHaveBeenCalledTimes(2);
@@ -31,9 +26,8 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
31
26
  vi.doMock("../../../parsers/containers/isobmff", () => ({
32
27
  findCompleteBox: mockFindCompleteBox,
33
28
  }));
34
- const checkISOBMFFIntegrity = (
35
- (await vi.importActual("../check_isobmff_integrity")) as any
36
- ).default;
29
+ const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
30
+ .default as typeof ICheckISOBMFFIntegrity;
37
31
  const myUint8Array = new Uint8Array([0, 1, 2]);
38
32
  expect(() => checkISOBMFFIntegrity(myUint8Array, false)).not.toThrow();
39
33
  expect(mockFindCompleteBox).toHaveBeenCalledTimes(2);
@@ -46,10 +40,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
46
40
  vi.doMock("../../../parsers/containers/isobmff", () => ({
47
41
  findCompleteBox: mockFindCompleteBox,
48
42
  }));
49
- const OtherError = ((await vi.importActual("../../../errors")) as any).OtherError;
50
- const checkISOBMFFIntegrity = (
51
- (await vi.importActual("../check_isobmff_integrity")) as any
52
- ).default;
43
+ const OtherError = (await vi.importActual("../../../errors"))
44
+ .OtherError as typeof IOtherError;
45
+ const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
46
+ .default as typeof ICheckISOBMFFIntegrity;
53
47
  const myUint8Array = new Uint8Array([0, 1, 2]);
54
48
  let error: unknown = null;
55
49
  try {
@@ -58,10 +52,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
58
52
  error = e;
59
53
  }
60
54
  expect(error).toBeInstanceOf(OtherError);
61
- expect((error as typeof OtherError).name).toEqual("OtherError");
62
- expect((error as typeof OtherError).type).toEqual("OTHER_ERROR");
63
- expect((error as typeof OtherError).code).toEqual("INTEGRITY_ERROR");
64
- expect((error as typeof OtherError).message).toEqual(
55
+ expect((error as IOtherError).name).toEqual("OtherError");
56
+ expect((error as IOtherError).type).toEqual("OTHER_ERROR");
57
+ expect((error as IOtherError).code).toEqual("INTEGRITY_ERROR");
58
+ expect((error as IOtherError).message).toEqual(
65
59
  "INTEGRITY_ERROR: Incomplete `ftyp` box",
66
60
  );
67
61
  });
@@ -71,10 +65,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
71
65
  vi.doMock("../../../parsers/containers/isobmff", () => ({
72
66
  findCompleteBox: mockFindCompleteBox,
73
67
  }));
74
- const OtherError = ((await vi.importActual("../../../errors")) as any).OtherError;
75
- const checkISOBMFFIntegrity = (
76
- (await vi.importActual("../check_isobmff_integrity")) as any
77
- ).default;
68
+ const OtherError = (await vi.importActual("../../../errors"))
69
+ .OtherError as typeof IOtherError;
70
+ const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
71
+ .default as typeof ICheckISOBMFFIntegrity;
78
72
  const myUint8Array = new Uint8Array([0, 1, 2]);
79
73
  let error: unknown = null;
80
74
  try {
@@ -83,10 +77,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
83
77
  error = e;
84
78
  }
85
79
  expect(error).toBeInstanceOf(OtherError);
86
- expect((error as typeof OtherError).name).toEqual("OtherError");
87
- expect((error as typeof OtherError).type).toEqual("OTHER_ERROR");
88
- expect((error as typeof OtherError).code).toEqual("INTEGRITY_ERROR");
89
- expect((error as typeof OtherError).message).toEqual(
80
+ expect((error as IOtherError).name).toEqual("OtherError");
81
+ expect((error as IOtherError).type).toEqual("OTHER_ERROR");
82
+ expect((error as IOtherError).code).toEqual("INTEGRITY_ERROR");
83
+ expect((error as IOtherError).message).toEqual(
90
84
  "INTEGRITY_ERROR: Incomplete `moov` box",
91
85
  );
92
86
  });
@@ -96,10 +90,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
96
90
  vi.doMock("../../../parsers/containers/isobmff", () => ({
97
91
  findCompleteBox: mockFindCompleteBox,
98
92
  }));
99
- const OtherError = ((await vi.importActual("../../../errors")) as any).OtherError;
100
- const checkISOBMFFIntegrity = (
101
- (await vi.importActual("../check_isobmff_integrity")) as any
102
- ).default;
93
+ const OtherError = (await vi.importActual("../../../errors"))
94
+ .OtherError as typeof IOtherError;
95
+ const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
96
+ .default as typeof ICheckISOBMFFIntegrity;
103
97
  const myUint8Array = new Uint8Array([0, 1, 2]);
104
98
  let error: unknown = null;
105
99
  try {
@@ -108,10 +102,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
108
102
  error = e;
109
103
  }
110
104
  expect(error).toBeInstanceOf(OtherError);
111
- expect((error as typeof OtherError).name).toEqual("OtherError");
112
- expect((error as typeof OtherError).type).toEqual("OTHER_ERROR");
113
- expect((error as typeof OtherError).code).toEqual("INTEGRITY_ERROR");
114
- expect((error as typeof OtherError).message).toEqual(
105
+ expect((error as IOtherError).name).toEqual("OtherError");
106
+ expect((error as IOtherError).type).toEqual("OTHER_ERROR");
107
+ expect((error as IOtherError).code).toEqual("INTEGRITY_ERROR");
108
+ expect((error as IOtherError).message).toEqual(
115
109
  "INTEGRITY_ERROR: Incomplete `moof` box",
116
110
  );
117
111
  });
@@ -121,10 +115,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
121
115
  vi.doMock("../../../parsers/containers/isobmff", () => ({
122
116
  findCompleteBox: mockFindCompleteBox,
123
117
  }));
124
- const OtherError = ((await vi.importActual("../../../errors")) as any).OtherError;
125
- const checkISOBMFFIntegrity = (
126
- (await vi.importActual("../check_isobmff_integrity")) as any
127
- ).default;
118
+ const OtherError = (await vi.importActual("../../../errors"))
119
+ .OtherError as typeof IOtherError;
120
+ const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
121
+ .default as typeof ICheckISOBMFFIntegrity;
128
122
  const myUint8Array = new Uint8Array([0, 1, 2]);
129
123
  let error: unknown = null;
130
124
  try {
@@ -133,10 +127,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
133
127
  error = e;
134
128
  }
135
129
  expect(error).toBeInstanceOf(OtherError);
136
- expect((error as typeof OtherError).name).toEqual("OtherError");
137
- expect((error as typeof OtherError).type).toEqual("OTHER_ERROR");
138
- expect((error as typeof OtherError).code).toEqual("INTEGRITY_ERROR");
139
- expect((error as typeof OtherError).message).toEqual(
130
+ expect((error as IOtherError).name).toEqual("OtherError");
131
+ expect((error as IOtherError).type).toEqual("OTHER_ERROR");
132
+ expect((error as IOtherError).code).toEqual("INTEGRITY_ERROR");
133
+ expect((error as IOtherError).message).toEqual(
140
134
  "INTEGRITY_ERROR: Incomplete `mdat` box",
141
135
  );
142
136
  });
@@ -1,23 +1,20 @@
1
1
  import { describe, beforeEach, afterEach, it, expect, vi } from "vitest";
2
2
  import arrayFind from "../array_find";
3
3
 
4
- /* eslint-disable no-invalid-this */
5
- /* eslint-disable no-restricted-properties */
6
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
7
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
8
- /* eslint-disable @typescript-eslint/no-restricted-types */
9
-
10
- /* eslint-disable @typescript-eslint/unbound-method */
11
- const initialArrayFind = (Array.prototype as { find: unknown }).find;
12
- /* eslint-enable @typescript-eslint/unbound-method */
4
+ // eslint-disable-next-line no-restricted-properties, @typescript-eslint/unbound-method
5
+ const initialArrayFind = Array.prototype.find;
13
6
 
14
7
  describe("utils - arrayFind", () => {
15
8
  beforeEach(() => {
16
- (Array.prototype as { find: unknown }).find = undefined;
9
+ // @ts-expect-error: Remove temporarily default `find` implementation
10
+ // to rely on our own instead.
11
+ // eslint-disable-next-line no-restricted-properties
12
+ Array.prototype.find = undefined;
17
13
  });
18
14
 
19
15
  afterEach(() => {
20
- (Array.prototype as { find: unknown }).find = initialArrayFind;
16
+ // eslint-disable-next-line no-restricted-properties
17
+ Array.prototype.find = initialArrayFind;
21
18
  });
22
19
 
23
20
  it("should return undefined for an empty array", () => {
@@ -73,6 +70,7 @@ describe("utils - arrayFind", () => {
73
70
  arrayFind(
74
71
  arr,
75
72
  function (this: unknown) {
73
+ // eslint-disable-next-line no-invalid-this
76
74
  expect(this).toBe(context);
77
75
  return false;
78
76
  },
@@ -82,7 +80,8 @@ describe("utils - arrayFind", () => {
82
80
 
83
81
  if (typeof initialArrayFind === "function") {
84
82
  it("should call the original array.find function if it exists", () => {
85
- (Array.prototype as { find: unknown }).find = initialArrayFind;
83
+ // eslint-disable-next-line no-restricted-properties
84
+ Array.prototype.find = initialArrayFind;
86
85
  const obj1 = {};
87
86
  const obj2 = {};
88
87
  const context = {};
@@ -96,6 +95,7 @@ describe("utils - arrayFind", () => {
96
95
  index: number,
97
96
  cArr: unknown[],
98
97
  ): boolean {
98
+ // eslint-disable-next-line no-invalid-this
99
99
  expect(this).toBe(context);
100
100
  expect(index).toBe(currentIndex++);
101
101
  expect(cArr).toBe(arr);
@@ -1,23 +1,21 @@
1
1
  import { describe, beforeEach, afterEach, it, expect, vi } from "vitest";
2
2
  import arrayFindIndex from "../array_find_index";
3
3
 
4
- /* eslint-disable no-invalid-this */
5
- /* eslint-disable no-restricted-properties */
6
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
7
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
8
- /* eslint-disable @typescript-eslint/no-restricted-types */
9
-
10
- /* eslint-disable @typescript-eslint/unbound-method */
11
- const initialArrayFindIndex = (Array.prototype as { findIndex: unknown }).findIndex;
12
- /* eslint-enable @typescript-eslint/unbound-method */
4
+ // eslint-disable-next-line @typescript-eslint/unbound-method
5
+ // eslint-disable-next-line no-restricted-properties
6
+ const initialArrayFindIndex = Array.prototype.findIndex;
13
7
 
14
8
  describe("utils - arrayFindIndex", () => {
15
9
  beforeEach(() => {
16
- (Array.prototype as { findIndex: unknown }).findIndex = undefined;
10
+ // @ts-expect-error: Remove temporarily default `findIndex` implementation
11
+ // to rely on our own instead.
12
+ // eslint-disable-next-line no-restricted-properties
13
+ Array.prototype.findIndex = undefined;
17
14
  });
18
15
 
19
16
  afterEach(() => {
20
- (Array.prototype as { findIndex: unknown }).findIndex = initialArrayFindIndex;
17
+ // eslint-disable-next-line no-restricted-properties
18
+ Array.prototype.findIndex = initialArrayFindIndex;
21
19
  });
22
20
 
23
21
  it("should return -1 for an empty array", () => {
@@ -73,6 +71,7 @@ describe("utils - arrayFindIndex", () => {
73
71
  arrayFindIndex(
74
72
  arr,
75
73
  function (this: unknown) {
74
+ // eslint-disable-next-line no-invalid-this
76
75
  expect(this).toBe(context);
77
76
  return false;
78
77
  },
@@ -82,7 +81,8 @@ describe("utils - arrayFindIndex", () => {
82
81
 
83
82
  if (typeof initialArrayFindIndex === "function") {
84
83
  it("should call the original array.findIndex function if it exists", () => {
85
- (Array.prototype as { findIndex: unknown }).findIndex = initialArrayFindIndex;
84
+ // eslint-disable-next-line no-restricted-properties
85
+ Array.prototype.findIndex = initialArrayFindIndex;
86
86
  const obj1 = {};
87
87
  const obj2 = {};
88
88
  const context = {};
@@ -96,6 +96,7 @@ describe("utils - arrayFindIndex", () => {
96
96
  index: number,
97
97
  cArr: unknown[],
98
98
  ): boolean {
99
+ // eslint-disable-next-line no-invalid-this
99
100
  expect(this).toBe(context);
100
101
  expect(index).toBe(currentIndex++);
101
102
  expect(cArr).toBe(arr);