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,20 +1,11 @@
1
1
  import { describe, afterEach, 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-unsafe-argument */
8
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
9
- /* eslint-disable @typescript-eslint/no-explicit-any */
10
-
2
+ import type IContentDecryptor from "../../content_decryptor";
3
+ import type { ContentDecryptorState as IContentDecryptorState } from "../../types";
11
4
  import {
12
5
  formatFakeChallengeFromInitData,
13
6
  MediaKeySessionImpl,
14
7
  MediaKeysImpl,
15
- // MediaKeySystemAccessImpl,
16
8
  mockCompat,
17
- // testContentDecryptorError,
18
9
  } from "./utils";
19
10
 
20
11
  describe("decrypt - global tests - init data", () => {
@@ -42,22 +33,26 @@ describe("decrypt - global tests - init data", () => {
42
33
  const mockCreateSession = vi
43
34
  .spyOn(MediaKeysImpl.prototype, "createSession")
44
35
  .mockReturnValue(mediaKeySession);
45
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
46
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
47
- .default;
36
+ const ContentDecryptorState = (await vi.importActual("../../types"))
37
+ .ContentDecryptorState as typeof IContentDecryptorState;
38
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
39
+ .default as typeof IContentDecryptor;
48
40
  return new Promise<void>((res, rej) => {
49
41
  // == vars ==
50
42
  const initData = new Uint8Array([54, 55, 75]);
51
43
 
52
44
  // == test ==
53
45
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
54
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
55
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
56
- rej(new Error(`Unexpected state: ${newState}`));
57
- }
58
- contentDecryptor.removeEventListener("stateChange");
59
- contentDecryptor.attach();
60
- });
46
+ contentDecryptor.addEventListener(
47
+ "stateChange",
48
+ (newState: IContentDecryptorState) => {
49
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
50
+ rej(new Error(`Unexpected state: ${newState}`));
51
+ }
52
+ contentDecryptor.removeEventListener("stateChange");
53
+ contentDecryptor.attach();
54
+ },
55
+ );
61
56
  contentDecryptor.onInitializationData({
62
57
  type: "cenc",
63
58
  values: [{ systemId: "15", data: initData }],
@@ -94,22 +89,26 @@ describe("decrypt - global tests - init data", () => {
94
89
  const mockCreateSession = vi
95
90
  .spyOn(MediaKeysImpl.prototype, "createSession")
96
91
  .mockReturnValue(mediaKeySession);
97
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
98
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
99
- .default;
92
+ const ContentDecryptorState = (await vi.importActual("../../types"))
93
+ .ContentDecryptorState as typeof IContentDecryptorState;
94
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
95
+ .default as typeof IContentDecryptor;
100
96
  return new Promise<void>((res, rej) => {
101
97
  // == vars ==
102
98
  const initData = new Uint8Array([54, 55, 75]);
103
99
 
104
100
  // == test ==
105
101
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
106
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
107
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
108
- rej(new Error(`Unexpected state: ${newState}`));
109
- }
110
- contentDecryptor.removeEventListener("stateChange");
111
- contentDecryptor.attach();
112
- });
102
+ contentDecryptor.addEventListener(
103
+ "stateChange",
104
+ (newState: IContentDecryptorState) => {
105
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
106
+ rej(new Error(`Unexpected state: ${newState}`));
107
+ }
108
+ contentDecryptor.removeEventListener("stateChange");
109
+ contentDecryptor.attach();
110
+ },
111
+ );
113
112
  contentDecryptor.onInitializationData({
114
113
  type: "cenc",
115
114
  values: [{ systemId: "15", data: initData }],
@@ -162,9 +161,10 @@ describe("decrypt - global tests - init data", () => {
162
161
  .spyOn(MediaKeysImpl.prototype, "createSession")
163
162
  .mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
164
163
 
165
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
166
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
167
- .default;
164
+ const ContentDecryptorState = (await vi.importActual("../../types"))
165
+ .ContentDecryptorState as typeof IContentDecryptorState;
166
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
167
+ .default as typeof IContentDecryptor;
168
168
  return new Promise<void>((res, rej) => {
169
169
  // == vars ==
170
170
  const initDatas = [
@@ -175,13 +175,16 @@ describe("decrypt - global tests - init data", () => {
175
175
 
176
176
  // == test ==
177
177
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
178
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
179
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
180
- rej(new Error(`Unexpected state: ${newState}`));
181
- }
182
- contentDecryptor.removeEventListener("stateChange");
183
- contentDecryptor.attach();
184
- });
178
+ contentDecryptor.addEventListener(
179
+ "stateChange",
180
+ (newState: IContentDecryptorState) => {
181
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
182
+ rej(new Error(`Unexpected state: ${newState}`));
183
+ }
184
+ contentDecryptor.removeEventListener("stateChange");
185
+ contentDecryptor.attach();
186
+ },
187
+ );
185
188
  contentDecryptor.onInitializationData({
186
189
  type: "cenc",
187
190
  values: [{ systemId: "15", data: initDatas[0] }],
@@ -266,22 +269,26 @@ describe("decrypt - global tests - init data", () => {
266
269
  .spyOn(MediaKeysImpl.prototype, "createSession")
267
270
  .mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
268
271
 
269
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
270
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
271
- .default;
272
+ const ContentDecryptorState = (await vi.importActual("../../types"))
273
+ .ContentDecryptorState as typeof IContentDecryptorState;
274
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
275
+ .default as typeof IContentDecryptor;
272
276
  return new Promise<void>((res, rej) => {
273
277
  // == vars ==
274
278
  const initData = new Uint8Array([54, 55, 75]);
275
279
 
276
280
  // == test ==
277
281
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
278
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
279
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
280
- rej(new Error(`Unexpected state: ${newState}`));
281
- }
282
- contentDecryptor.removeEventListener("stateChange");
283
- contentDecryptor.attach();
284
- });
282
+ contentDecryptor.addEventListener(
283
+ "stateChange",
284
+ (newState: IContentDecryptorState) => {
285
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
286
+ rej(new Error(`Unexpected state: ${newState}`));
287
+ }
288
+ contentDecryptor.removeEventListener("stateChange");
289
+ contentDecryptor.attach();
290
+ },
291
+ );
285
292
  contentDecryptor.onInitializationData({
286
293
  type: "cenc",
287
294
  values: [{ systemId: "15", data: initData }],
@@ -337,22 +344,26 @@ describe("decrypt - global tests - init data", () => {
337
344
  .spyOn(MediaKeysImpl.prototype, "createSession")
338
345
  .mockReturnValue(mediaKeySession);
339
346
 
340
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
341
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
342
- .default;
347
+ const ContentDecryptorState = (await vi.importActual("../../types"))
348
+ .ContentDecryptorState as typeof IContentDecryptorState;
349
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
350
+ .default as typeof IContentDecryptor;
343
351
  return new Promise<void>((res, rej) => {
344
352
  // == vars ==
345
353
  const initData = new Uint8Array([54, 55, 75]);
346
354
 
347
355
  // == test ==
348
356
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
349
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
350
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
351
- rej(new Error(`Unexpected state: ${newState}`));
352
- }
353
- contentDecryptor.removeEventListener("stateChange");
354
- contentDecryptor.attach();
355
- });
357
+ contentDecryptor.addEventListener(
358
+ "stateChange",
359
+ (newState: IContentDecryptorState) => {
360
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
361
+ rej(new Error(`Unexpected state: ${newState}`));
362
+ }
363
+ contentDecryptor.removeEventListener("stateChange");
364
+ contentDecryptor.attach();
365
+ },
366
+ );
356
367
  const initDataEvent = {
357
368
  type: "cenc",
358
369
  values: [{ systemId: "15", data: initData }],
@@ -393,22 +404,26 @@ describe("decrypt - global tests - init data", () => {
393
404
  .spyOn(MediaKeysImpl.prototype, "createSession")
394
405
  .mockReturnValue(mediaKeySession);
395
406
 
396
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
397
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
398
- .default;
407
+ const ContentDecryptorState = (await vi.importActual("../../types"))
408
+ .ContentDecryptorState as typeof IContentDecryptorState;
409
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
410
+ .default as typeof IContentDecryptor;
399
411
  return new Promise<void>((res, rej) => {
400
412
  // == vars ==
401
413
  const initData = new Uint8Array([54, 55, 75]);
402
414
 
403
415
  // == test ==
404
416
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
405
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
406
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
407
- rej(new Error(`Unexpected state: ${newState}`));
408
- }
409
- contentDecryptor.removeEventListener("stateChange");
410
- contentDecryptor.attach();
411
- });
417
+ contentDecryptor.addEventListener(
418
+ "stateChange",
419
+ (newState: IContentDecryptorState) => {
420
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
421
+ rej(new Error(`Unexpected state: ${newState}`));
422
+ }
423
+ contentDecryptor.removeEventListener("stateChange");
424
+ contentDecryptor.attach();
425
+ },
426
+ );
412
427
  const initDataEvent = {
413
428
  type: "cenc",
414
429
  values: [{ systemId: "15", data: initData }],
@@ -460,9 +475,10 @@ describe("decrypt - global tests - init data", () => {
460
475
  .spyOn(MediaKeysImpl.prototype, "createSession")
461
476
  .mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
462
477
 
463
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
464
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
465
- .default;
478
+ const ContentDecryptorState = (await vi.importActual("../../types"))
479
+ .ContentDecryptorState as typeof IContentDecryptorState;
480
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
481
+ .default as typeof IContentDecryptor;
466
482
  return new Promise<void>((res, rej) => {
467
483
  // == vars ==
468
484
  const initDatas = [
@@ -480,13 +496,16 @@ describe("decrypt - global tests - init data", () => {
480
496
 
481
497
  // == test ==
482
498
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
483
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
484
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
485
- rej(new Error(`Unexpected state: ${newState}`));
486
- }
487
- contentDecryptor.removeEventListener("stateChange");
488
- contentDecryptor.attach();
489
- });
499
+ contentDecryptor.addEventListener(
500
+ "stateChange",
501
+ (newState: IContentDecryptorState) => {
502
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
503
+ rej(new Error(`Unexpected state: ${newState}`));
504
+ }
505
+ contentDecryptor.removeEventListener("stateChange");
506
+ contentDecryptor.attach();
507
+ },
508
+ );
490
509
  eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
491
510
  eventTriggers.triggerEncrypted(videoElt, initDataEvents[1]);
492
511
  eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
@@ -562,9 +581,10 @@ describe("decrypt - global tests - init data", () => {
562
581
  .spyOn(MediaKeysImpl.prototype, "createSession")
563
582
  .mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
564
583
 
565
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
566
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
567
- .default;
584
+ const ContentDecryptorState = (await vi.importActual("../../types"))
585
+ .ContentDecryptorState as typeof IContentDecryptorState;
586
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
587
+ .default as typeof IContentDecryptor;
568
588
  return new Promise<void>((res, rej) => {
569
589
  // == vars ==
570
590
  const initData = new Uint8Array([54, 55, 75]);
@@ -576,13 +596,16 @@ describe("decrypt - global tests - init data", () => {
576
596
 
577
597
  // == test ==
578
598
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
579
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
580
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
581
- rej(new Error(`Unexpected state: ${newState}`));
582
- }
583
- contentDecryptor.removeEventListener("stateChange");
584
- contentDecryptor.attach();
585
- });
599
+ contentDecryptor.addEventListener(
600
+ "stateChange",
601
+ (newState: IContentDecryptorState) => {
602
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
603
+ rej(new Error(`Unexpected state: ${newState}`));
604
+ }
605
+ contentDecryptor.removeEventListener("stateChange");
606
+ contentDecryptor.attach();
607
+ },
608
+ );
586
609
  eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
587
610
  eventTriggers.triggerEncrypted(videoElt, initDataEvents[1]);
588
611
  setTimeout(() => {
@@ -640,9 +663,10 @@ describe("decrypt - global tests - init data", () => {
640
663
  .spyOn(MediaKeysImpl.prototype, "createSession")
641
664
  .mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
642
665
 
643
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
644
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
645
- .default;
666
+ const ContentDecryptorState = (await vi.importActual("../../types"))
667
+ .ContentDecryptorState as typeof IContentDecryptorState;
668
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
669
+ .default as typeof IContentDecryptor;
646
670
  return new Promise<void>((res, rej) => {
647
671
  // == vars ==
648
672
  const initDatas = [
@@ -660,13 +684,16 @@ describe("decrypt - global tests - init data", () => {
660
684
 
661
685
  // == test ==
662
686
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
663
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
664
- if (newState !== ContentDecryptorState.WaitingForAttachment) {
665
- rej(new Error(`Unexpected state: ${newState}`));
666
- }
667
- contentDecryptor.removeEventListener("stateChange");
668
- contentDecryptor.attach();
669
- });
687
+ contentDecryptor.addEventListener(
688
+ "stateChange",
689
+ (newState: IContentDecryptorState) => {
690
+ if (newState !== ContentDecryptorState.WaitingForAttachment) {
691
+ rej(new Error(`Unexpected state: ${newState}`));
692
+ }
693
+ contentDecryptor.removeEventListener("stateChange");
694
+ contentDecryptor.attach();
695
+ },
696
+ );
670
697
  eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
671
698
  contentDecryptor.onInitializationData(initDataEvents[1]);
672
699
  eventTriggers.triggerEncrypted(videoElt, initDataEvents[1]);
@@ -1,14 +1,7 @@
1
1
  import { describe, beforeEach, afterEach, 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-unsafe-argument */
8
- /* eslint-disable @typescript-eslint/no-explicit-any */
9
- /* eslint-disable no-restricted-properties */
10
-
11
2
  import type { ICustomMediaKeySystemAccess } from "../../../../compat/eme";
3
+ import type { IKeySystemOption } from "../../../../public_types";
4
+ import type IContentDecryptor from "../../content_decryptor";
12
5
  import {
13
6
  defaultKSConfig,
14
7
  defaultPRRecommendationKSConfig,
@@ -17,7 +10,7 @@ import {
17
10
  testContentDecryptorError,
18
11
  } from "./utils";
19
12
 
20
- export function requestMediaKeySystemAccessNoMediaKeys(
13
+ function requestMediaKeySystemAccessNoMediaKeys(
21
14
  keySystem: string,
22
15
  config: MediaKeySystemConfiguration[],
23
16
  ): Promise<ICustomMediaKeySystemAccess> {
@@ -64,21 +57,22 @@ function removeCapabiltiesFromConfig(
64
57
  * @returns {Promise}
65
58
  */
66
59
  async function checkIncompatibleKeySystemsErrorMessage(
67
- keySystemsConfigs: unknown[],
60
+ keySystemsConfigs: IKeySystemOption[],
68
61
  ): Promise<void> {
69
62
  const mediaElement = document.createElement("video");
70
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
71
- .default;
63
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
64
+ .default as typeof IContentDecryptor;
72
65
 
73
- const error: any = await testContentDecryptorError(
66
+ const error = await testContentDecryptorError(
74
67
  ContentDecryptor,
75
68
  mediaElement,
76
69
  keySystemsConfigs,
77
70
  );
78
- expect(error).not.toBe(null);
79
71
  expect(error.message).toEqual(incompatibleMKSAErrorMessage);
80
72
  expect(error.name).toEqual("EncryptedMediaError");
81
- expect(error.code).toEqual("INCOMPATIBLE_KEYSYSTEMS");
73
+ expect((error as Error & { code?: string | undefined }).code).toEqual(
74
+ "INCOMPATIBLE_KEYSYSTEMS",
75
+ );
82
76
  }
83
77
 
84
78
  describe("decrypt - global tests - media key system access", () => {
@@ -420,7 +414,7 @@ describe("decrypt - global tests - media key system access", () => {
420
414
  requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
421
415
  });
422
416
  await checkIncompatibleKeySystemsErrorMessage([
423
- { type: "foo", getLicense: neverCalledFn, persistentLicenseConfig: null },
417
+ { type: "foo", getLicense: neverCalledFn },
424
418
  ]);
425
419
  expect(mockRequestMediaKeySystemAccess).toHaveBeenCalledTimes(2);
426
420
  expect(mockRequestMediaKeySystemAccess).toHaveBeenNthCalledWith(
@@ -446,7 +440,6 @@ describe("decrypt - global tests - media key system access", () => {
446
440
  {
447
441
  type: "foo",
448
442
  getLicense: neverCalledFn,
449
- persistentLicenseConfig: undefined,
450
443
  },
451
444
  ]);
452
445
  expect(mockRequestMediaKeySystemAccess).toHaveBeenCalledTimes(2);
@@ -965,20 +958,20 @@ describe("decrypt - global tests - media key system access", () => {
965
958
  it("should successfully create a MediaKeySystemAccess if given the right configuration", async () => {
966
959
  const mockRequestMediaKeySystemAccess = vi
967
960
  .fn()
968
- .mockImplementation((keyType, conf) => {
961
+ .mockImplementation((keyType: string, conf: MediaKeySystemConfiguration[]) => {
969
962
  return requestMediaKeySystemAccessNoMediaKeys(keyType, conf);
970
963
  });
971
964
  mockCompat({
972
965
  requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
973
966
  });
974
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
975
- .default;
967
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
968
+ .default as typeof IContentDecryptor;
976
969
  return new Promise<void>((res, rej) => {
977
970
  const config = [{ type: "com.widevine.alpha", getLicense: neverCalledFn }];
978
971
 
979
972
  const mediaElement = document.createElement("video");
980
973
  const contentDecryptor = new ContentDecryptor(mediaElement, config);
981
- contentDecryptor.addEventListener("error", (error: any) => {
974
+ contentDecryptor.addEventListener("error", (error) => {
982
975
  rej(error);
983
976
  });
984
977
  setTimeout(() => {
@@ -995,7 +988,7 @@ describe("decrypt - global tests - media key system access", () => {
995
988
  it("should successfully create a MediaKeySystemAccess if given multiple configurations where one works", async () => {
996
989
  const mockRequestMediaKeySystemAccess = vi
997
990
  .fn()
998
- .mockImplementation((keyType, conf) => {
991
+ .mockImplementation((keyType: string, conf: MediaKeySystemConfiguration[]) => {
999
992
  if (keyType === "some-other-working-key-system") {
1000
993
  return requestMediaKeySystemAccessNoMediaKeys(keyType, conf);
1001
994
  }
@@ -1004,8 +997,8 @@ describe("decrypt - global tests - media key system access", () => {
1004
997
  mockCompat({
1005
998
  requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
1006
999
  });
1007
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
1008
- .default;
1000
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
1001
+ .default as typeof IContentDecryptor;
1009
1002
  return new Promise<void>((res, rej) => {
1010
1003
  const config = [
1011
1004
  { type: "com.widevine.alpha", getLicense: neverCalledFn },
@@ -1014,7 +1007,7 @@ describe("decrypt - global tests - media key system access", () => {
1014
1007
 
1015
1008
  const mediaElement = document.createElement("video");
1016
1009
  const contentDecryptor = new ContentDecryptor(mediaElement, config);
1017
- contentDecryptor.addEventListener("error", (error: any) => {
1010
+ contentDecryptor.addEventListener("error", (error) => {
1018
1011
  rej(error);
1019
1012
  });
1020
1013
  setTimeout(() => {
@@ -1040,20 +1033,20 @@ describe("decrypt - global tests - media key system access", () => {
1040
1033
  });
1041
1034
 
1042
1035
  it("should not continue to check if the ContentDecryptor is disposed from", async () => {
1043
- let contentDecryptor: any = null;
1036
+ let contentDecryptor: IContentDecryptor | null = null;
1044
1037
  let rmksHasBeenCalled = false;
1045
1038
  const mockRequestMediaKeySystemAccess = vi.fn().mockImplementation(() => {
1046
1039
  return Promise.resolve().then(() => {
1047
1040
  rmksHasBeenCalled = true;
1048
- contentDecryptor.dispose();
1041
+ contentDecryptor?.dispose();
1049
1042
  return Promise.reject("nope");
1050
1043
  });
1051
1044
  });
1052
1045
  mockCompat({
1053
1046
  requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
1054
1047
  });
1055
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
1056
- .default;
1048
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
1049
+ .default as typeof IContentDecryptor;
1057
1050
  return new Promise<void>((res, rej) => {
1058
1051
  const mediaElement = document.createElement("video");
1059
1052
 
@@ -1063,7 +1056,7 @@ describe("decrypt - global tests - media key system access", () => {
1063
1056
  { type: "baz", getLicense: neverCalledFn },
1064
1057
  ];
1065
1058
  contentDecryptor = new ContentDecryptor(mediaElement, config);
1066
- contentDecryptor.addEventListener("error", (error: any) => {
1059
+ contentDecryptor.addEventListener("error", (error) => {
1067
1060
  rej(error);
1068
1061
  });
1069
1062
  setTimeout(() => {
@@ -1088,8 +1081,8 @@ describe("decrypt - global tests - media key system access", () => {
1088
1081
  mockCompat({
1089
1082
  requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
1090
1083
  });
1091
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
1092
- .default;
1084
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
1085
+ .default as typeof IContentDecryptor;
1093
1086
  return new Promise<void>((res, rej) => {
1094
1087
  const mediaElement = document.createElement("video");
1095
1088