rx-player 4.2.0-dev.2024090300 → 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 (596) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  5. package/dist/commonjs/compat/add_class_name.d.ts.map +1 -1
  6. package/dist/commonjs/compat/add_class_name.js +1 -2
  7. package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
  8. package/dist/commonjs/compat/browser_compatibility_types.js +4 -1
  9. package/dist/commonjs/compat/clear_element_src.js +1 -1
  10. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  11. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
  12. package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
  13. package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
  14. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  15. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
  16. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  17. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
  18. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  19. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  20. package/dist/commonjs/compat/eme/eme-api-implementation.js +0 -2
  21. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  22. package/dist/commonjs/compat/event_listeners.js +2 -6
  23. package/dist/commonjs/compat/has_mse_in_worker.js +1 -1
  24. package/dist/commonjs/compat/is_codec_supported.d.ts.map +1 -1
  25. package/dist/commonjs/compat/is_codec_supported.js +0 -2
  26. package/dist/commonjs/compat/is_vtt_cue.d.ts.map +1 -1
  27. package/dist/commonjs/compat/is_vtt_cue.js +1 -2
  28. package/dist/commonjs/compat/on_height_width_change.d.ts.map +1 -1
  29. package/dist/commonjs/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  30. package/dist/commonjs/compat/patch_webkit_source_buffer.js +8 -18
  31. package/dist/commonjs/compat/remove_cue.js +2 -2
  32. package/dist/commonjs/core/fetchers/index.d.ts +4 -4
  33. package/dist/commonjs/core/fetchers/index.d.ts.map +1 -1
  34. package/dist/commonjs/core/fetchers/index.js +2 -2
  35. package/dist/commonjs/core/fetchers/segment/index.d.ts +6 -5
  36. package/dist/commonjs/core/fetchers/segment/index.d.ts.map +1 -1
  37. package/dist/commonjs/core/fetchers/segment/index.js +2 -2
  38. package/dist/{es2017/core/stream/representation/utils/downloading_queue.d.ts → commonjs/core/fetchers/segment/segment_queue.d.ts} +63 -80
  39. package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts.map +1 -0
  40. package/dist/commonjs/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +132 -111
  41. package/dist/commonjs/core/fetchers/segment/{segment_fetcher_creator.d.ts → segment_queue_creator.d.ts} +25 -12
  42. package/dist/commonjs/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
  43. package/dist/commonjs/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +15 -9
  44. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts +9 -0
  45. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  46. package/dist/commonjs/core/fetchers/segment/task_prioritizer.js +38 -8
  47. package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
  48. package/dist/commonjs/core/main/common/content_time_boundaries_observer.js +21 -10
  49. package/dist/commonjs/core/main/worker/content_preparer.d.ts +3 -3
  50. package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -1
  51. package/dist/commonjs/core/main/worker/content_preparer.js +2 -2
  52. package/dist/commonjs/core/main/worker/send_message.js +1 -1
  53. package/dist/commonjs/core/main/worker/worker_main.js +2 -2
  54. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
  55. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.js +39 -30
  56. package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  57. package/dist/commonjs/core/segment_sinks/segment_buffers_store.js +3 -2
  58. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts +1 -1
  59. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  60. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +3 -3
  61. package/dist/commonjs/core/stream/adaptation/types.d.ts +2 -2
  62. package/dist/commonjs/core/stream/adaptation/types.d.ts.map +1 -1
  63. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  64. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.js +27 -6
  65. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
  66. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  67. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +3 -3
  68. package/dist/commonjs/core/stream/period/period_stream.d.ts +1 -1
  69. package/dist/commonjs/core/stream/period/period_stream.d.ts.map +1 -1
  70. package/dist/commonjs/core/stream/period/period_stream.js +2 -2
  71. package/dist/commonjs/core/stream/period/types.d.ts +2 -2
  72. package/dist/commonjs/core/stream/period/types.d.ts.map +1 -1
  73. package/dist/commonjs/core/stream/representation/representation_stream.d.ts +1 -1
  74. package/dist/commonjs/core/stream/representation/representation_stream.d.ts.map +1 -1
  75. package/dist/commonjs/core/stream/representation/representation_stream.js +19 -28
  76. package/dist/commonjs/core/stream/representation/types.d.ts +2 -2
  77. package/dist/commonjs/core/stream/representation/types.d.ts.map +1 -1
  78. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  79. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +39 -18
  80. package/dist/commonjs/core/types.d.ts +2 -2
  81. package/dist/commonjs/core/types.d.ts.map +1 -1
  82. package/dist/commonjs/default_config.d.ts.map +1 -1
  83. package/dist/commonjs/default_config.js +0 -8
  84. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  85. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
  86. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  87. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
  88. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  89. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
  90. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
  91. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
  92. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  93. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
  94. package/dist/commonjs/features/add_features.d.ts.map +1 -1
  95. package/dist/commonjs/features/add_features.js +31 -10
  96. package/dist/commonjs/main_thread/api/option_utils.d.ts.map +1 -1
  97. package/dist/commonjs/main_thread/api/option_utils.js +2 -6
  98. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  99. package/dist/commonjs/main_thread/api/public_api.js +33 -27
  100. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  101. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.js +4 -3
  102. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +6 -6
  103. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  104. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +32 -37
  105. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.js +1 -5
  106. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +3 -7
  107. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +1 -1
  108. package/dist/commonjs/main_thread/types.d.ts.map +1 -1
  109. package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
  110. package/dist/commonjs/manifest/classes/manifest.js +0 -6
  111. package/dist/commonjs/manifest/utils.d.ts.map +1 -1
  112. package/dist/commonjs/manifest/utils.js +72 -62
  113. package/dist/commonjs/mse/main_media_source_interface.js +1 -1
  114. package/dist/commonjs/multithread_types.d.ts +2 -2
  115. package/dist/commonjs/multithread_types.d.ts.map +1 -1
  116. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  117. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
  118. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  119. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
  120. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
  121. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
  122. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
  123. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
  124. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
  125. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
  126. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  127. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
  128. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
  129. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
  130. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
  131. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
  132. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
  133. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
  134. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
  135. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
  136. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  137. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  138. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
  139. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  140. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
  141. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  142. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  143. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  144. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
  145. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  146. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
  147. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  148. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
  149. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts.map +1 -1
  150. package/dist/commonjs/parsers/manifest/local/representation_index.js +29 -8
  151. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  152. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +31 -10
  153. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  154. package/dist/commonjs/parsers/manifest/smooth/create_parser.js +2 -1
  155. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.js +26 -4
  156. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.js +29 -7
  157. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.js +29 -7
  158. package/dist/commonjs/parsers/texttracks/srt/html.js +28 -6
  159. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.js +1 -1
  160. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.js +29 -7
  161. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  162. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +26 -5
  163. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  164. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.js +25 -4
  165. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
  166. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  167. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.js +9 -3
  168. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +30 -8
  169. package/dist/commonjs/public_types.d.ts +5 -7
  170. package/dist/commonjs/public_types.d.ts.map +1 -1
  171. package/dist/commonjs/transports/smooth/extract_timings_infos.js +30 -8
  172. package/dist/commonjs/utils/array_find.d.ts +1 -1
  173. package/dist/commonjs/utils/array_find.d.ts.map +1 -1
  174. package/dist/commonjs/utils/array_find.js +3 -1
  175. package/dist/commonjs/utils/array_find_index.d.ts +1 -1
  176. package/dist/commonjs/utils/array_find_index.d.ts.map +1 -1
  177. package/dist/commonjs/utils/array_find_index.js +3 -1
  178. package/dist/commonjs/utils/array_includes.d.ts.map +1 -1
  179. package/dist/commonjs/utils/array_includes.js +1 -3
  180. package/dist/commonjs/utils/assert.d.ts.map +1 -1
  181. package/dist/commonjs/utils/assert.js +0 -2
  182. package/dist/commonjs/utils/base64.d.ts +1 -1
  183. package/dist/commonjs/utils/base64.d.ts.map +1 -1
  184. package/dist/commonjs/utils/base64.js +3 -2
  185. package/dist/commonjs/utils/event_emitter.js +1 -1
  186. package/dist/commonjs/utils/flat_map.d.ts.map +1 -1
  187. package/dist/commonjs/utils/flat_map.js +1 -2
  188. package/dist/commonjs/utils/id_generator.d.ts.map +1 -1
  189. package/dist/commonjs/utils/id_generator.js +0 -1
  190. package/dist/commonjs/utils/logger.js +1 -1
  191. package/dist/commonjs/utils/monotonic_timestamp.js +2 -2
  192. package/dist/commonjs/utils/noop.js +1 -2
  193. package/dist/commonjs/utils/object_assign.d.ts.map +1 -1
  194. package/dist/commonjs/utils/object_assign.js +27 -6
  195. package/dist/commonjs/utils/object_values.d.ts.map +1 -1
  196. package/dist/commonjs/utils/object_values.js +1 -1
  197. package/dist/commonjs/utils/reference.js +1 -1
  198. package/dist/commonjs/utils/request/xhr.js +1 -1
  199. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  200. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  201. package/dist/es2017/compat/add_class_name.d.ts.map +1 -1
  202. package/dist/es2017/compat/add_class_name.js +1 -2
  203. package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
  204. package/dist/es2017/compat/browser_compatibility_types.js +4 -1
  205. package/dist/es2017/compat/clear_element_src.js +1 -1
  206. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  207. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
  208. package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
  209. package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
  210. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  211. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
  212. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  213. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
  214. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  215. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  216. package/dist/es2017/compat/eme/eme-api-implementation.js +0 -2
  217. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  218. package/dist/es2017/compat/event_listeners.js +2 -6
  219. package/dist/es2017/compat/has_mse_in_worker.js +1 -1
  220. package/dist/es2017/compat/is_codec_supported.d.ts.map +1 -1
  221. package/dist/es2017/compat/is_codec_supported.js +0 -2
  222. package/dist/es2017/compat/is_vtt_cue.d.ts.map +1 -1
  223. package/dist/es2017/compat/is_vtt_cue.js +1 -2
  224. package/dist/es2017/compat/on_height_width_change.d.ts.map +1 -1
  225. package/dist/es2017/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  226. package/dist/es2017/compat/patch_webkit_source_buffer.js +8 -18
  227. package/dist/es2017/compat/remove_cue.js +2 -2
  228. package/dist/es2017/core/fetchers/index.d.ts +4 -4
  229. package/dist/es2017/core/fetchers/index.d.ts.map +1 -1
  230. package/dist/es2017/core/fetchers/index.js +2 -2
  231. package/dist/es2017/core/fetchers/segment/index.d.ts +6 -5
  232. package/dist/es2017/core/fetchers/segment/index.d.ts.map +1 -1
  233. package/dist/es2017/core/fetchers/segment/index.js +2 -2
  234. package/dist/{commonjs/core/stream/representation/utils/downloading_queue.d.ts → es2017/core/fetchers/segment/segment_queue.d.ts} +63 -80
  235. package/dist/es2017/core/fetchers/segment/segment_queue.d.ts.map +1 -0
  236. package/dist/es2017/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +126 -105
  237. package/dist/es2017/core/fetchers/segment/{segment_fetcher_creator.d.ts → segment_queue_creator.d.ts} +25 -12
  238. package/dist/es2017/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
  239. package/dist/es2017/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +12 -6
  240. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts +9 -0
  241. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  242. package/dist/es2017/core/fetchers/segment/task_prioritizer.js +10 -2
  243. package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
  244. package/dist/es2017/core/main/common/content_time_boundaries_observer.js +4 -4
  245. package/dist/es2017/core/main/worker/content_preparer.d.ts +3 -3
  246. package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -1
  247. package/dist/es2017/core/main/worker/content_preparer.js +3 -3
  248. package/dist/es2017/core/main/worker/send_message.js +1 -1
  249. package/dist/es2017/core/main/worker/worker_main.js +2 -2
  250. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
  251. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.js +1 -2
  252. package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  253. package/dist/es2017/core/segment_sinks/segment_buffers_store.js +3 -2
  254. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts +1 -1
  255. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  256. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +3 -3
  257. package/dist/es2017/core/stream/adaptation/types.d.ts +2 -2
  258. package/dist/es2017/core/stream/adaptation/types.d.ts.map +1 -1
  259. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  260. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.js +1 -2
  261. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
  262. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  263. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +3 -3
  264. package/dist/es2017/core/stream/period/period_stream.d.ts +1 -1
  265. package/dist/es2017/core/stream/period/period_stream.d.ts.map +1 -1
  266. package/dist/es2017/core/stream/period/period_stream.js +2 -2
  267. package/dist/es2017/core/stream/period/types.d.ts +2 -2
  268. package/dist/es2017/core/stream/period/types.d.ts.map +1 -1
  269. package/dist/es2017/core/stream/representation/representation_stream.d.ts +1 -1
  270. package/dist/es2017/core/stream/representation/representation_stream.d.ts.map +1 -1
  271. package/dist/es2017/core/stream/representation/representation_stream.js +19 -28
  272. package/dist/es2017/core/stream/representation/types.d.ts +2 -2
  273. package/dist/es2017/core/stream/representation/types.d.ts.map +1 -1
  274. package/dist/es2017/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  275. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -2
  276. package/dist/es2017/core/types.d.ts +2 -2
  277. package/dist/es2017/core/types.d.ts.map +1 -1
  278. package/dist/es2017/default_config.d.ts.map +1 -1
  279. package/dist/es2017/default_config.js +0 -8
  280. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  281. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
  282. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  283. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
  284. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  285. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
  286. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
  287. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
  288. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  289. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
  290. package/dist/es2017/features/add_features.d.ts.map +1 -1
  291. package/dist/es2017/features/add_features.js +1 -2
  292. package/dist/es2017/main_thread/api/option_utils.d.ts.map +1 -1
  293. package/dist/es2017/main_thread/api/option_utils.js +2 -6
  294. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  295. package/dist/es2017/main_thread/api/public_api.js +29 -23
  296. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  297. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.js +2 -1
  298. package/dist/es2017/main_thread/init/media_source_content_initializer.js +6 -6
  299. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  300. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +7 -12
  301. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.js +1 -5
  302. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +3 -7
  303. package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +1 -1
  304. package/dist/es2017/main_thread/types.d.ts.map +1 -1
  305. package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
  306. package/dist/es2017/manifest/classes/manifest.js +0 -6
  307. package/dist/es2017/manifest/utils.d.ts.map +1 -1
  308. package/dist/es2017/manifest/utils.js +1 -2
  309. package/dist/es2017/mse/main_media_source_interface.js +1 -1
  310. package/dist/es2017/multithread_types.d.ts +2 -2
  311. package/dist/es2017/multithread_types.d.ts.map +1 -1
  312. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  313. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
  314. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  315. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
  316. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
  317. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
  318. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
  319. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
  320. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
  321. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
  322. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  323. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
  324. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
  325. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
  326. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
  327. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
  328. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
  329. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
  330. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
  331. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
  332. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  333. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +1 -2
  334. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  335. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
  336. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  337. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
  338. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  339. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  340. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  341. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
  342. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  343. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
  344. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  345. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
  346. package/dist/es2017/parsers/manifest/local/representation_index.d.ts.map +1 -1
  347. package/dist/es2017/parsers/manifest/local/representation_index.js +1 -2
  348. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  349. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.js +2 -3
  350. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  351. package/dist/es2017/parsers/manifest/smooth/create_parser.js +2 -1
  352. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.js +2 -2
  353. package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.js +2 -2
  354. package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.js +2 -2
  355. package/dist/es2017/parsers/texttracks/srt/html.js +2 -2
  356. package/dist/es2017/parsers/texttracks/ttml/html/create_element.js +1 -1
  357. package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.js +3 -3
  358. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  359. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +1 -2
  360. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  361. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.js +1 -2
  362. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
  363. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  364. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.js +9 -3
  365. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -2
  366. package/dist/es2017/public_types.d.ts +5 -7
  367. package/dist/es2017/public_types.d.ts.map +1 -1
  368. package/dist/es2017/transports/smooth/extract_timings_infos.js +3 -3
  369. package/dist/es2017/utils/array_find.d.ts +1 -1
  370. package/dist/es2017/utils/array_find.d.ts.map +1 -1
  371. package/dist/es2017/utils/array_find.js +3 -1
  372. package/dist/es2017/utils/array_find_index.d.ts +1 -1
  373. package/dist/es2017/utils/array_find_index.d.ts.map +1 -1
  374. package/dist/es2017/utils/array_find_index.js +3 -1
  375. package/dist/es2017/utils/array_includes.d.ts.map +1 -1
  376. package/dist/es2017/utils/array_includes.js +1 -3
  377. package/dist/es2017/utils/assert.d.ts.map +1 -1
  378. package/dist/es2017/utils/assert.js +0 -2
  379. package/dist/es2017/utils/base64.d.ts +1 -1
  380. package/dist/es2017/utils/base64.d.ts.map +1 -1
  381. package/dist/es2017/utils/base64.js +3 -2
  382. package/dist/es2017/utils/event_emitter.js +1 -1
  383. package/dist/es2017/utils/flat_map.d.ts.map +1 -1
  384. package/dist/es2017/utils/flat_map.js +1 -2
  385. package/dist/es2017/utils/id_generator.d.ts.map +1 -1
  386. package/dist/es2017/utils/id_generator.js +0 -1
  387. package/dist/es2017/utils/logger.js +1 -1
  388. package/dist/es2017/utils/monotonic_timestamp.js +2 -2
  389. package/dist/es2017/utils/noop.js +1 -2
  390. package/dist/es2017/utils/object_assign.d.ts.map +1 -1
  391. package/dist/es2017/utils/object_assign.js +1 -2
  392. package/dist/es2017/utils/object_values.d.ts.map +1 -1
  393. package/dist/es2017/utils/object_values.js +1 -2
  394. package/dist/es2017/utils/reference.js +1 -1
  395. package/dist/es2017/utils/request/xhr.js +1 -1
  396. package/dist/rx-player.js +39336 -18
  397. package/dist/rx-player.min.js +18 -0
  398. package/dist/worker.js +5 -5
  399. package/package.json +16 -9
  400. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  401. package/src/compat/__tests__/add_text_track.test.ts +8 -12
  402. package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -7
  403. package/src/compat/__tests__/browser_version.test.ts +20 -19
  404. package/src/compat/__tests__/can_patch_isobmff.test.ts +7 -10
  405. package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +17 -21
  406. package/src/compat/__tests__/can_reuse_media_keys.test.ts +13 -21
  407. package/src/compat/__tests__/clear_element_src.test.ts +37 -34
  408. package/src/compat/__tests__/enable_audio_track.test.ts +22 -21
  409. package/src/compat/__tests__/is_codec_supported.test.ts +17 -18
  410. package/src/compat/__tests__/is_seeking_approximate.test.ts +8 -14
  411. package/src/compat/__tests__/is_vtt_cue.test.ts +8 -13
  412. package/src/compat/__tests__/make_vtt_cue.test.ts +7 -12
  413. package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +44 -32
  414. package/src/compat/__tests__/remove_cue.test.ts +30 -31
  415. package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +21 -26
  416. package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +9 -17
  417. package/src/compat/__tests__/should_unset_media_keys.test.ts +7 -14
  418. package/src/compat/__tests__/should_validate_metadata.test.ts +7 -17
  419. package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +17 -26
  420. package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +10 -15
  421. package/src/compat/add_class_name.ts +1 -2
  422. package/src/compat/browser_compatibility_types.ts +4 -2
  423. package/src/compat/clear_element_src.ts +1 -1
  424. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +1 -2
  425. package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +1 -2
  426. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +3 -6
  427. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +2 -17
  428. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +1 -4
  429. package/src/compat/eme/eme-api-implementation.ts +0 -2
  430. package/src/compat/event_listeners.ts +2 -6
  431. package/src/compat/has_mse_in_worker.ts +1 -1
  432. package/src/compat/is_codec_supported.ts +0 -2
  433. package/src/compat/is_debug_mode_enabled.ts +1 -1
  434. package/src/compat/is_vtt_cue.ts +1 -2
  435. package/src/compat/on_height_width_change.ts +1 -2
  436. package/src/compat/patch_webkit_source_buffer.ts +48 -29
  437. package/src/compat/remove_cue.ts +2 -2
  438. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +21 -26
  439. package/src/core/fetchers/README.md +13 -12
  440. package/src/core/fetchers/index.ts +5 -8
  441. package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +17 -23
  442. package/src/core/fetchers/segment/index.ts +6 -5
  443. package/src/core/{stream/representation/utils/downloading_queue.ts → fetchers/segment/segment_queue.ts} +204 -166
  444. package/src/core/fetchers/segment/{segment_fetcher_creator.ts → segment_queue_creator.ts} +31 -14
  445. package/src/core/fetchers/segment/task_prioritizer.ts +10 -2
  446. package/src/core/fetchers/utils/schedule_request.ts +1 -1
  447. package/src/core/main/common/content_time_boundaries_observer.ts +4 -4
  448. package/src/core/main/worker/content_preparer.ts +5 -5
  449. package/src/core/main/worker/send_message.ts +1 -1
  450. package/src/core/main/worker/worker_main.ts +2 -2
  451. package/src/core/segment_sinks/implementations/text/text_segment_buffer.ts +1 -5
  452. package/src/core/segment_sinks/inventory/segment_inventory.ts +1 -2
  453. package/src/core/segment_sinks/segment_buffers_store.ts +3 -2
  454. package/src/core/stream/adaptation/adaptation_stream.ts +3 -3
  455. package/src/core/stream/adaptation/types.ts +2 -2
  456. package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +1 -2
  457. package/src/core/stream/orchestrator/stream_orchestrator.ts +4 -4
  458. package/src/core/stream/period/period_stream.ts +2 -2
  459. package/src/core/stream/period/types.ts +2 -2
  460. package/src/core/stream/representation/representation_stream.ts +59 -56
  461. package/src/core/stream/representation/types.ts +3 -4
  462. package/src/core/stream/representation/utils/get_needed_segments.ts +1 -2
  463. package/src/core/types.ts +2 -4
  464. package/src/default_config.ts +0 -8
  465. package/src/errors/__tests__/format_error.test.ts +18 -18
  466. package/src/experimental/features/__tests__/multi_thread.test.ts +5 -5
  467. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +11 -11
  468. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +18 -26
  469. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +13 -21
  470. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +24 -20
  471. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +28 -30
  472. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +32 -38
  473. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +64 -51
  474. package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +4 -17
  475. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -4
  476. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +1 -2
  477. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +16 -14
  478. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +1 -2
  479. package/src/features/__tests__/add_features.test.ts +12 -11
  480. package/src/features/add_features.ts +1 -2
  481. package/src/features/list/__tests__/dash_wasm.test.ts +4 -4
  482. package/src/main_thread/api/__tests__/option_utils.test.ts +114 -70
  483. package/src/main_thread/api/__tests__/public_api.test.ts +85 -48
  484. package/src/main_thread/api/option_utils.ts +2 -6
  485. package/src/main_thread/api/public_api.ts +24 -18
  486. package/src/main_thread/decrypt/__tests__/__global__/get_license.test.ts +12 -18
  487. package/src/main_thread/decrypt/__tests__/__global__/init_data.test.ts +128 -101
  488. package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +26 -33
  489. package/src/main_thread/decrypt/__tests__/__global__/media_keys.test.ts +46 -48
  490. package/src/main_thread/decrypt/__tests__/__global__/server_certificate.test.ts +33 -34
  491. package/src/main_thread/decrypt/__tests__/__global__/utils.ts +13 -17
  492. package/src/main_thread/decrypt/session_events_listener.ts +1 -1
  493. package/src/main_thread/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -5
  494. package/src/main_thread/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +14 -17
  495. package/src/main_thread/decrypt/utils/persistent_sessions_store.ts +2 -1
  496. package/src/main_thread/init/media_source_content_initializer.ts +7 -7
  497. package/src/main_thread/init/multi_thread_content_initializer.ts +7 -12
  498. package/src/main_thread/init/utils/__tests__/are_same_stream_events.test.ts +11 -16
  499. package/src/main_thread/init/utils/__tests__/refresh_scheduled_events_list.test.ts +48 -18
  500. package/src/main_thread/text_displayer/html/__tests__/text_track_cues_store.test.ts +32 -17
  501. package/src/main_thread/text_displayer/html/html_text_displayer.ts +1 -5
  502. package/src/main_thread/text_displayer/native/native_text_displayer.ts +3 -7
  503. package/src/main_thread/tracks_store/__tests__/media_element_tracks_store.test.ts +33 -28
  504. package/src/main_thread/tracks_store/track_dispatcher.ts +1 -1
  505. package/src/main_thread/types.ts +0 -1
  506. package/src/manifest/classes/__tests__/adaptation.test.ts +167 -62
  507. package/src/manifest/classes/__tests__/manifest.test.ts +130 -74
  508. package/src/manifest/classes/__tests__/period.test.ts +293 -211
  509. package/src/manifest/classes/__tests__/update_period_in_place.test.ts +0 -2
  510. package/src/manifest/classes/__tests__/update_periods.test.ts +57 -57
  511. package/src/manifest/classes/manifest.ts +0 -6
  512. package/src/manifest/utils.ts +1 -2
  513. package/src/mse/main_media_source_interface.ts +1 -1
  514. package/src/mse/types.ts +1 -1
  515. package/src/multithread_types.ts +2 -2
  516. package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +5 -10
  517. package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +38 -30
  518. package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -3
  519. package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +12 -6
  520. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.ts +14 -7
  521. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.ts +8 -4
  522. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Period.ts +10 -5
  523. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.ts +10 -5
  524. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
  525. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
  526. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
  527. package/src/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.ts +14 -7
  528. package/src/parsers/manifest/dash/native-parser/node_parsers/EventStream.ts +2 -1
  529. package/src/parsers/manifest/dash/native-parser/node_parsers/MPD.ts +8 -4
  530. package/src/parsers/manifest/dash/native-parser/node_parsers/Period.ts +10 -5
  531. package/src/parsers/manifest/dash/native-parser/node_parsers/Representation.ts +10 -5
  532. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
  533. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
  534. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentTimeline.test.ts +9 -14
  535. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
  536. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +1 -2
  537. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +2 -1
  538. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +2 -1
  539. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +4 -2
  540. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +10 -5
  541. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +2 -1
  542. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +2 -1
  543. package/src/parsers/manifest/local/representation_index.ts +1 -2
  544. package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +2 -3
  545. package/src/parsers/manifest/smooth/create_parser.ts +2 -1
  546. package/src/parsers/manifest/smooth/shared_smooth_segment_timeline.ts +2 -2
  547. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +3 -8
  548. package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +2 -2
  549. package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +2 -2
  550. package/src/parsers/texttracks/srt/html.ts +2 -2
  551. package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +3 -7
  552. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.ts +4 -4
  553. package/src/parsers/texttracks/ttml/html/create_element.ts +1 -1
  554. package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +3 -3
  555. package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +1 -2
  556. package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +1 -2
  557. package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +11 -11
  558. package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +5 -18
  559. package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +23 -28
  560. package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +9 -14
  561. package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +11 -11
  562. package/src/parsers/texttracks/webvtt/html/to_html.ts +9 -3
  563. package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +2 -2
  564. package/src/public_types.ts +7 -8
  565. package/src/tools/TextTrackRenderer/text_track_renderer.ts +1 -1
  566. package/src/transports/smooth/extract_timings_infos.ts +3 -3
  567. package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +30 -28
  568. package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +38 -44
  569. package/src/utils/__tests__/array_find.test.ts +12 -12
  570. package/src/utils/__tests__/array_find_index.test.ts +13 -12
  571. package/src/utils/__tests__/array_includes.test.ts +7 -7
  572. package/src/utils/__tests__/assert.test.ts +19 -25
  573. package/src/utils/__tests__/base64.test.ts +18 -13
  574. package/src/utils/__tests__/event_emitter.test.ts +225 -50
  575. package/src/utils/__tests__/flat_map.test.ts +2 -6
  576. package/src/utils/__tests__/starts_with.test.ts +7 -8
  577. package/src/utils/array_find.ts +3 -7
  578. package/src/utils/array_find_index.ts +3 -7
  579. package/src/utils/array_includes.ts +1 -3
  580. package/src/utils/assert.ts +0 -2
  581. package/src/utils/base64.ts +3 -2
  582. package/src/utils/event_emitter.ts +1 -1
  583. package/src/utils/flat_map.ts +1 -2
  584. package/src/utils/id_generator.ts +0 -2
  585. package/src/utils/is_worker.ts +1 -1
  586. package/src/utils/logger.ts +1 -1
  587. package/src/utils/monotonic_timestamp.ts +2 -2
  588. package/src/utils/noop.ts +1 -2
  589. package/src/utils/object_assign.ts +1 -2
  590. package/src/utils/object_values.ts +1 -2
  591. package/src/utils/reference.ts +1 -1
  592. package/src/utils/request/xhr.ts +1 -1
  593. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
  594. package/dist/commonjs/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
  595. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
  596. package/dist/es2017/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
@@ -1,12 +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-explicit-any */
8
- /* eslint-disable no-restricted-properties */
9
-
2
+ import type { IKeySystemOption } from "../../../../public_types";
3
+ import type IContentDecryptor from "../../content_decryptor";
4
+ import type { ContentDecryptorState as IContentDecryptorState } from "../../types";
10
5
  import {
11
6
  MediaKeysImpl,
12
7
  MediaKeySystemAccessImpl,
@@ -22,7 +17,9 @@ describe("decrypt - global tests - media key system access", () => {
22
17
  const videoElt = document.createElement("video");
23
18
 
24
19
  /** Default keySystems configuration used in our tests. */
25
- const ksConfig = [{ type: "com.widevine.alpha", getLicense: neverCalledFn }];
20
+ const ksConfig: IKeySystemOption[] = [
21
+ { type: "com.widevine.alpha", getLicense: neverCalledFn },
22
+ ];
26
23
 
27
24
  beforeEach(() => {
28
25
  vi.resetModules();
@@ -57,17 +54,15 @@ describe("decrypt - global tests - media key system access", () => {
57
54
  });
58
55
 
59
56
  // == test ==
60
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
61
- .default;
62
- const error: any = await testContentDecryptorError(
63
- ContentDecryptor,
64
- videoElt,
65
- ksConfig,
66
- );
57
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
58
+ .default as typeof IContentDecryptor;
59
+ const error = await testContentDecryptorError(ContentDecryptor, videoElt, ksConfig);
67
60
  expect(error).toBeInstanceOf(Error);
68
61
  expect(error.message).toEqual("CREATE_MEDIA_KEYS_ERROR: No non no");
69
62
  expect(error.name).toEqual("EncryptedMediaError");
70
- expect(error.code).toEqual("CREATE_MEDIA_KEYS_ERROR");
63
+ expect((error as Error & { code?: string | undefined }).code).toEqual(
64
+ "CREATE_MEDIA_KEYS_ERROR",
65
+ );
71
66
  });
72
67
 
73
68
  it("should throw if createMediaKeys rejects", async () => {
@@ -87,17 +82,15 @@ describe("decrypt - global tests - media key system access", () => {
87
82
  });
88
83
 
89
84
  // == test ==
90
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
91
- .default;
92
- const error: any = await testContentDecryptorError(
93
- ContentDecryptor,
94
- videoElt,
95
- ksConfig,
96
- );
85
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
86
+ .default as typeof IContentDecryptor;
87
+ const error = await testContentDecryptorError(ContentDecryptor, videoElt, ksConfig);
97
88
  expect(error).toBeInstanceOf(Error);
98
89
  expect(error.message).toEqual("CREATE_MEDIA_KEYS_ERROR: No non no");
99
90
  expect(error.name).toEqual("EncryptedMediaError");
100
- expect(error.code).toEqual("CREATE_MEDIA_KEYS_ERROR");
91
+ expect((error as Error & { code?: string | undefined }).code).toEqual(
92
+ "CREATE_MEDIA_KEYS_ERROR",
93
+ );
101
94
  });
102
95
 
103
96
  it("should go into the WaitingForAttachment state if createMediaKeys resolves", async () => {
@@ -106,13 +99,14 @@ describe("decrypt - global tests - media key system access", () => {
106
99
  MediaKeySystemAccessImpl.prototype,
107
100
  "createMediaKeys",
108
101
  );
109
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
110
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
111
- .default;
102
+ const ContentDecryptorState = (await vi.importActual("../../types"))
103
+ .ContentDecryptorState as typeof IContentDecryptorState;
104
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
105
+ .default as typeof IContentDecryptor;
112
106
  return new Promise<void>((res, rej) => {
113
107
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
114
108
  let receivedStateChange = 0;
115
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
109
+ contentDecryptor.addEventListener("stateChange", (newState) => {
116
110
  receivedStateChange++;
117
111
  try {
118
112
  expect(newState).toEqual(ContentDecryptorState.WaitingForAttachment);
@@ -142,14 +136,15 @@ describe("decrypt - global tests - media key system access", () => {
142
136
  MediaKeySystemAccessImpl.prototype,
143
137
  "createMediaKeys",
144
138
  );
145
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
146
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
147
- .default;
139
+ const ContentDecryptorState = (await vi.importActual("../../types"))
140
+ .ContentDecryptorState as typeof IContentDecryptorState;
141
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
142
+ .default as typeof IContentDecryptor;
148
143
  return new Promise<void>((res, rej) => {
149
144
  const contentDecryptor1 = new ContentDecryptor(videoElt, ksConfig);
150
145
  let receivedStateChange1 = 0;
151
146
  contentDecryptor1.addEventListener("error", rej);
152
- contentDecryptor1.addEventListener("stateChange", (state1: any) => {
147
+ contentDecryptor1.addEventListener("stateChange", (state1) => {
153
148
  receivedStateChange1++;
154
149
  try {
155
150
  if (receivedStateChange1 === 2) {
@@ -170,7 +165,7 @@ describe("decrypt - global tests - media key system access", () => {
170
165
  const contentDecryptor2 = new ContentDecryptor(videoElt, ksConfig);
171
166
  let receivedStateChange2 = 0;
172
167
  contentDecryptor2.addEventListener("error", rej);
173
- contentDecryptor2.addEventListener("stateChange", (state2: any) => {
168
+ contentDecryptor2.addEventListener("stateChange", (state2) => {
174
169
  receivedStateChange2++;
175
170
  try {
176
171
  if (receivedStateChange2 === 2) {
@@ -208,14 +203,15 @@ describe("decrypt - global tests - media key system access", () => {
208
203
  MediaKeySystemAccessImpl.prototype,
209
204
  "createMediaKeys",
210
205
  );
211
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
212
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
213
- .default;
206
+ const ContentDecryptorState = (await vi.importActual("../../types"))
207
+ .ContentDecryptorState as typeof IContentDecryptorState;
208
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
209
+ .default as typeof IContentDecryptor;
214
210
  return new Promise<void>((res, rej) => {
215
211
  const contentDecryptor1 = new ContentDecryptor(videoElt, ksConfig);
216
212
  let receivedStateChange1 = 0;
217
213
  contentDecryptor1.addEventListener("error", rej);
218
- contentDecryptor1.addEventListener("stateChange", (state1: any) => {
214
+ contentDecryptor1.addEventListener("stateChange", (state1) => {
219
215
  receivedStateChange1++;
220
216
  try {
221
217
  if (receivedStateChange1 === 2) {
@@ -236,7 +232,7 @@ describe("decrypt - global tests - media key system access", () => {
236
232
  const contentDecryptor2 = new ContentDecryptor(videoElt, ksConfig);
237
233
  let receivedStateChange2 = 0;
238
234
  contentDecryptor2.addEventListener("error", rej);
239
- contentDecryptor2.addEventListener("stateChange", (state2: any) => {
235
+ contentDecryptor2.addEventListener("stateChange", (state2) => {
240
236
  receivedStateChange2++;
241
237
  try {
242
238
  if (receivedStateChange2 === 2) {
@@ -274,15 +270,16 @@ describe("decrypt - global tests - media key system access", () => {
274
270
  MediaKeySystemAccessImpl.prototype,
275
271
  "createMediaKeys",
276
272
  );
277
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
278
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
279
- .default;
273
+ const ContentDecryptorState = (await vi.importActual("../../types"))
274
+ .ContentDecryptorState as typeof IContentDecryptorState;
275
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
276
+ .default as typeof IContentDecryptor;
280
277
 
281
278
  return new Promise<void>((res, rej) => {
282
279
  const contentDecryptor1 = new ContentDecryptor(videoElt, ksConfig);
283
280
  let receivedStateChange1 = 0;
284
281
  contentDecryptor1.addEventListener("error", rej);
285
- contentDecryptor1.addEventListener("stateChange", (state1: any) => {
282
+ contentDecryptor1.addEventListener("stateChange", (state1) => {
286
283
  receivedStateChange1++;
287
284
  try {
288
285
  if (receivedStateChange1 === 2) {
@@ -303,7 +300,7 @@ describe("decrypt - global tests - media key system access", () => {
303
300
  const contentDecryptor2 = new ContentDecryptor(videoElt, ksConfig);
304
301
  let receivedStateChange2 = 0;
305
302
  contentDecryptor2.addEventListener("error", rej);
306
- contentDecryptor2.addEventListener("stateChange", (state2: any) => {
303
+ contentDecryptor2.addEventListener("stateChange", (state2) => {
307
304
  receivedStateChange2++;
308
305
  try {
309
306
  if (receivedStateChange2 === 2) {
@@ -340,12 +337,13 @@ describe("decrypt - global tests - media key system access", () => {
340
337
  const mockCreateSession = vi.spyOn(MediaKeysImpl.prototype, "createSession");
341
338
 
342
339
  // == test ==
343
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
344
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
345
- .default;
340
+ const ContentDecryptorState = (await vi.importActual("../../types"))
341
+ .ContentDecryptorState as typeof IContentDecryptorState;
342
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
343
+ .default as typeof IContentDecryptor;
346
344
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
347
345
  return new Promise<void>((res) => {
348
- contentDecryptor.addEventListener("stateChange", (newState: any) => {
346
+ contentDecryptor.addEventListener("stateChange", (newState) => {
349
347
  if (newState === ContentDecryptorState.WaitingForAttachment) {
350
348
  contentDecryptor.removeEventListener("stateChange");
351
349
  contentDecryptor.attach();
@@ -1,18 +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 */
8
- /* eslint-disable no-restricted-properties */
9
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
10
-
2
+ import type { IKeySystemOption } from "../../../../public_types";
3
+ import type IContentDecryptor from "../../content_decryptor";
4
+ import type { ContentDecryptorState as IContentDecryptorState } from "../../types";
11
5
  import { MediaKeysImpl, MediaKeySystemAccessImpl, mockCompat } from "./utils";
12
6
 
13
7
  describe("decrypt - global tests - server certificate", () => {
14
8
  const mockGetLicense = vi.fn(() => {
15
- return new Promise(() => {
9
+ return new Promise<BufferSource>(() => {
16
10
  /* noop */
17
11
  });
18
12
  });
@@ -20,10 +14,10 @@ describe("decrypt - global tests - server certificate", () => {
20
14
  /** Default video element used in our tests. */
21
15
  const videoElt = document.createElement("video");
22
16
 
23
- const serverCertificate = [1, 2, 3];
17
+ const serverCertificate = new Uint8Array([1, 2, 3]);
24
18
 
25
19
  /** Default keySystems configuration used in our tests. */
26
- const ksConfigCert = [
20
+ const ksConfigCert: IKeySystemOption[] = [
27
21
  {
28
22
  type: "com.widevine.alpha",
29
23
  getLicense: mockGetLicense,
@@ -52,13 +46,14 @@ describe("decrypt - global tests - server certificate", () => {
52
46
  return Promise.resolve(true);
53
47
  });
54
48
 
55
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
56
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
57
- .default;
49
+ const ContentDecryptorState = (await vi.importActual("../../types"))
50
+ .ContentDecryptorState as typeof IContentDecryptorState;
51
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
52
+ .default as typeof IContentDecryptor;
58
53
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
59
54
 
60
55
  return new Promise<void>((res) => {
61
- contentDecryptor.addEventListener("stateChange", (state: any) => {
56
+ contentDecryptor.addEventListener("stateChange", (state) => {
62
57
  if (state === ContentDecryptorState.WaitingForAttachment) {
63
58
  contentDecryptor.removeEventListener("stateChange");
64
59
  setTimeout(() => {
@@ -95,12 +90,13 @@ describe("decrypt - global tests - server certificate", () => {
95
90
  return Promise.resolve(true);
96
91
  });
97
92
 
98
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
99
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
100
- .default;
93
+ const ContentDecryptorState = (await vi.importActual("../../types"))
94
+ .ContentDecryptorState as typeof IContentDecryptorState;
95
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
96
+ .default as typeof IContentDecryptor;
101
97
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
102
98
 
103
- contentDecryptor.addEventListener("stateChange", (state: any) => {
99
+ contentDecryptor.addEventListener("stateChange", (state) => {
104
100
  if (state === ContentDecryptorState.WaitingForAttachment) {
105
101
  contentDecryptor.removeEventListener("stateChange");
106
102
  setTimeout(() => {
@@ -136,12 +132,13 @@ describe("decrypt - global tests - server certificate", () => {
136
132
  throw new Error("some error");
137
133
  });
138
134
 
139
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
140
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
141
- .default;
135
+ const ContentDecryptorState = (await vi.importActual("../../types"))
136
+ .ContentDecryptorState as typeof IContentDecryptorState;
137
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
138
+ .default as typeof IContentDecryptor;
142
139
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
143
140
 
144
- contentDecryptor.addEventListener("stateChange", (state: any) => {
141
+ contentDecryptor.addEventListener("stateChange", (state) => {
145
142
  if (state === ContentDecryptorState.WaitingForAttachment) {
146
143
  contentDecryptor.removeEventListener("stateChange");
147
144
  contentDecryptor.attach();
@@ -149,7 +146,7 @@ describe("decrypt - global tests - server certificate", () => {
149
146
  });
150
147
 
151
148
  let warningsReceived = 0;
152
- contentDecryptor.addEventListener("warning", (w: any) => {
149
+ contentDecryptor.addEventListener("warning", (w) => {
153
150
  expect(w.code).toEqual("LICENSE_SERVER_CERTIFICATE_ERROR");
154
151
  expect(w.type).toEqual("ENCRYPTED_MEDIA_ERROR");
155
152
  warningsReceived++;
@@ -175,12 +172,13 @@ describe("decrypt - global tests - server certificate", () => {
175
172
  return Promise.reject(new Error("some error"));
176
173
  });
177
174
 
178
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
179
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
180
- .default;
175
+ const ContentDecryptorState = (await vi.importActual("../../types"))
176
+ .ContentDecryptorState as typeof IContentDecryptorState;
177
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
178
+ .default as typeof IContentDecryptor;
181
179
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
182
180
 
183
- contentDecryptor.addEventListener("stateChange", (state: any) => {
181
+ contentDecryptor.addEventListener("stateChange", (state) => {
184
182
  if (state === ContentDecryptorState.WaitingForAttachment) {
185
183
  contentDecryptor.removeEventListener("stateChange");
186
184
  contentDecryptor.attach();
@@ -188,7 +186,7 @@ describe("decrypt - global tests - server certificate", () => {
188
186
  });
189
187
 
190
188
  let warningsReceived = 0;
191
- contentDecryptor.addEventListener("warning", (w: any) => {
189
+ contentDecryptor.addEventListener("warning", (w) => {
192
190
  expect(w.code).toEqual("LICENSE_SERVER_CERTIFICATE_ERROR");
193
191
  expect(w.type).toEqual("ENCRYPTED_MEDIA_ERROR");
194
192
  warningsReceived++;
@@ -225,12 +223,13 @@ describe("decrypt - global tests - server certificate", () => {
225
223
  MediaKeysImpl.prototype,
226
224
  "setServerCertificate",
227
225
  );
228
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
229
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
230
- .default;
226
+ const ContentDecryptorState = (await vi.importActual("../../types"))
227
+ .ContentDecryptorState as typeof IContentDecryptorState;
228
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
229
+ .default as typeof IContentDecryptor;
231
230
  const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
232
231
 
233
- contentDecryptor.addEventListener("stateChange", (state: any) => {
232
+ contentDecryptor.addEventListener("stateChange", (state) => {
234
233
  if (state === ContentDecryptorState.WaitingForAttachment) {
235
234
  contentDecryptor.removeEventListener("stateChange");
236
235
  setTimeout(() => {
@@ -1,24 +1,14 @@
1
1
  import type { MockInstance } from "vitest";
2
2
  import { vi } from "vitest";
3
-
4
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
5
- /* eslint-disable @typescript-eslint/no-var-requires */
6
- /* eslint-disable @typescript-eslint/no-unsafe-call */
7
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
8
- /* eslint-disable @typescript-eslint/no-unsafe-return */
9
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
10
- /* eslint-disable @typescript-eslint/naming-convention */
11
- /* eslint-disable @typescript-eslint/no-explicit-any */
12
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
13
- /* eslint-disable no-restricted-properties */
14
-
15
3
  import type { IMediaElement } from "../../../../compat/browser_compatibility_types";
16
4
  import type { IEmeApiImplementation, IEncryptedEventData } from "../../../../compat/eme";
5
+ import type { IKeySystemOption } from "../../../../public_types";
17
6
  import { base64ToBytes, bytesToBase64 } from "../../../../utils/base64";
18
7
  import EventEmitter from "../../../../utils/event_emitter";
19
8
  import flatMap from "../../../../utils/flat_map";
20
9
  import { strToUtf8, utf8ToStr } from "../../../../utils/string_parsing";
21
10
  import type { CancellationSignal } from "../../../../utils/task_canceller";
11
+ import type IContentDecryptor from "../../content_decryptor";
22
12
 
23
13
  /** Default MediaKeySystemAccess configuration used by the RxPlayer. */
24
14
  export const defaultKSConfig: MediaKeySystemConfiguration[] = [
@@ -182,6 +172,7 @@ export class MediaKeySessionImpl extends EventEmitter<Record<string, unknown>> {
182
172
  public generateRequest(initDataType: string, initData: BufferSource): Promise<void> {
183
173
  const msg = formatFakeChallengeFromInitData(initData, initDataType);
184
174
  setTimeout(() => {
175
+ // eslint-disable-next-line no-restricted-properties
185
176
  const event: MediaKeyMessageEvent = Object.assign(new CustomEvent("message"), {
186
177
  message: msg.buffer,
187
178
  messageType: "license-request" as const,
@@ -385,7 +376,11 @@ export function mockCompat(
385
376
  const mockGenerateKeyRequest = vi
386
377
  .fn()
387
378
  .mockImplementation(
388
- (mks: MediaKeySessionImpl, initializationDataType, initializationData) => {
379
+ (
380
+ mks: MediaKeySessionImpl,
381
+ initializationDataType: string,
382
+ initializationData: BufferSource,
383
+ ) => {
389
384
  return mks.generateRequest(initializationDataType, initializationData);
390
385
  },
391
386
  );
@@ -460,13 +455,14 @@ export function mockCompat(
460
455
  * @returns {Promise}
461
456
  */
462
457
  export function testContentDecryptorError(
463
- ContentDecryptor: any,
458
+ // eslint-disable-next-line @typescript-eslint/naming-convention
459
+ ContentDecryptor: typeof IContentDecryptor,
464
460
  mediaElement: IMediaElement,
465
- keySystemsConfigs: unknown[],
466
- ): Promise<unknown> {
461
+ keySystemsConfigs: IKeySystemOption[],
462
+ ): Promise<Error> {
467
463
  return new Promise((res, rej) => {
468
464
  const contentDecryptor = new ContentDecryptor(mediaElement, keySystemsConfigs);
469
- contentDecryptor.addEventListener("error", (error: any) => {
465
+ contentDecryptor.addEventListener("error", (error) => {
470
466
  res(error);
471
467
  });
472
468
  setTimeout(() => {
@@ -248,7 +248,7 @@ export interface ISessionEventListenerCallbacks {
248
248
  */
249
249
  onKeyUpdate: (val: IKeyUpdateValue) => void;
250
250
  onWarning: (val: IPlayerError) => void;
251
- /* eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents */
251
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
252
252
  onError: (val: unknown | BlacklistedSessionError) => void;
253
253
  }
254
254
 
@@ -1,10 +1,5 @@
1
1
  import { describe, it, expect, vi } from "vitest";
2
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
-
8
3
  import cleanOldLoadedSessions from "../clean_old_loaded_sessions";
9
4
  import type LoadedSessionsStore from "../loaded_sessions_store";
10
5
 
@@ -1,12 +1,8 @@
1
1
  import { describe, it, expect, vi } from "vitest";
2
+ import type ICleanOldStoredPersistentInfo from "../clean_old_stored_persistent_info";
3
+ import type PersistentSessionsStore from "../persistent_sessions_store";
2
4
 
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 */
8
-
9
- function createPersistentSessionsStore() {
5
+ function createPersistentSessionsStore(): PersistentSessionsStore {
10
6
  return {
11
7
  getLength(): number {
12
8
  return 3;
@@ -14,7 +10,7 @@ function createPersistentSessionsStore() {
14
10
  deleteOldSessions(): void {
15
11
  return;
16
12
  },
17
- };
13
+ } as unknown as PersistentSessionsStore;
18
14
  }
19
15
 
20
16
  const emptyPersistentSessionsStore = {
@@ -27,7 +23,7 @@ const emptyPersistentSessionsStore = {
27
23
  deleteOldSessions(): void {
28
24
  return;
29
25
  },
30
- };
26
+ } as unknown as PersistentSessionsStore;
31
27
 
32
28
  /**
33
29
  * Call `cleanOldStoredPersistentInfo` with the given persistentSessionsStore
@@ -35,16 +31,18 @@ const emptyPersistentSessionsStore = {
35
31
  * @param {Object} persistentSessionsStore
36
32
  * @param {number} limit
37
33
  */
38
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
- async function checkNothingHappen(persistentSessionsStore: any, limit: number) {
34
+ async function checkNothingHappen(
35
+ persistentSessionsStore: PersistentSessionsStore,
36
+ limit: number,
37
+ ) {
40
38
  const mockDeleteLast = vi.spyOn(persistentSessionsStore, "deleteOldSessions");
41
39
  const mockLogInfo = vi.fn();
42
40
  vi.doMock("../../../../log", () => ({
43
41
  default: { info: mockLogInfo },
44
42
  }));
45
43
  const cleanOldStoredPersistentInfo = (
46
- (await vi.importActual("../clean_old_stored_persistent_info")) as any
47
- ).default;
44
+ await vi.importActual("../clean_old_stored_persistent_info")
45
+ ).default as typeof ICleanOldStoredPersistentInfo;
48
46
  cleanOldStoredPersistentInfo(persistentSessionsStore, limit);
49
47
  expect(mockDeleteLast).not.toHaveBeenCalled();
50
48
  expect(mockLogInfo).not.toHaveBeenCalled();
@@ -59,8 +57,7 @@ async function checkNothingHappen(persistentSessionsStore: any, limit: number) {
59
57
  * @param {number} numberToRemove
60
58
  */
61
59
  async function checkRemoved(
62
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
- persistentSessionsStore: any,
60
+ persistentSessionsStore: PersistentSessionsStore,
64
61
  limit: number,
65
62
  numberToRemove: number,
66
63
  ) {
@@ -70,8 +67,8 @@ async function checkRemoved(
70
67
  default: { info: mockLogInfo },
71
68
  }));
72
69
  const cleanOldStoredPersistentInfo = (
73
- (await vi.importActual("../clean_old_stored_persistent_info")) as any
74
- ).default;
70
+ await vi.importActual("../clean_old_stored_persistent_info")
71
+ ).default as typeof ICleanOldStoredPersistentInfo;
75
72
  cleanOldStoredPersistentInfo(persistentSessionsStore, limit);
76
73
  expect(mockDeleteLast).toHaveBeenCalledTimes(1);
77
74
  expect(mockDeleteLast).toHaveBeenCalledWith(numberToRemove);
@@ -282,12 +282,13 @@ export default class PersistentSessionsStore {
282
282
  }
283
283
  break;
284
284
 
285
- case 3:
285
+ case 3: {
286
286
  const formatted = initData.values.getFormattedValues();
287
287
  if (areInitializationValuesCompatible(formatted, entry.values)) {
288
288
  return i;
289
289
  }
290
290
  break;
291
+ }
291
292
 
292
293
  case 2: {
293
294
  const { initData: concatInitData, initDataHash: concatHash } =
@@ -25,7 +25,7 @@ import type {
25
25
  } from "../../core/adaptive";
26
26
  import AdaptiveRepresentationSelector from "../../core/adaptive";
27
27
  import CmcdDataBuilder from "../../core/cmcd";
28
- import { ManifestFetcher, SegmentFetcherCreator } from "../../core/fetchers";
28
+ import { ManifestFetcher, SegmentQueueCreator } from "../../core/fetchers";
29
29
  import createContentTimeBoundariesObserver from "../../core/main/common/create_content_time_boundaries_observer";
30
30
  import DecipherabilityFreezeDetector from "../../core/main/common/DecipherabilityFreezeDetector";
31
31
  import SegmentSinksStore from "../../core/segment_sinks";
@@ -429,7 +429,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
429
429
  bufferOptions,
430
430
  );
431
431
 
432
- const segmentFetcherCreator = new SegmentFetcherCreator(
432
+ const segmentQueueCreator = new SegmentQueueCreator(
433
433
  transport,
434
434
  this._cmcdDataBuilder,
435
435
  segmentRequestOptions,
@@ -478,7 +478,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
478
478
  autoPlay: shouldPlay,
479
479
  manifest,
480
480
  representationEstimator,
481
- segmentFetcherCreator,
481
+ segmentQueueCreator,
482
482
  speed,
483
483
  bufferOptions: subBufferOptions,
484
484
  };
@@ -538,7 +538,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
538
538
  mediaSource,
539
539
  playbackObserver,
540
540
  representationEstimator,
541
- segmentFetcherCreator,
541
+ segmentQueueCreator,
542
542
  speed,
543
543
  } = args;
544
544
 
@@ -761,14 +761,14 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
761
761
  this._onFatalError(err);
762
762
  });
763
763
 
764
- /* eslint-disable-next-line @typescript-eslint/no-this-alias */
764
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
765
765
  const self = this;
766
766
  StreamOrchestrator(
767
767
  { manifest, initialPeriod },
768
768
  coreObserver,
769
769
  representationEstimator,
770
770
  segmentSinksStore,
771
- segmentFetcherCreator,
771
+ segmentQueueCreator,
772
772
  bufferOptions,
773
773
  handleStreamOrchestratorCallbacks(),
774
774
  cancelSignal,
@@ -1223,7 +1223,7 @@ interface IBufferingMediaSettings {
1223
1223
  /** Estimate the right Representation. */
1224
1224
  representationEstimator: IRepresentationEstimator;
1225
1225
  /** Module to facilitate segment fetching. */
1226
- segmentFetcherCreator: SegmentFetcherCreator;
1226
+ segmentQueueCreator: SegmentQueueCreator;
1227
1227
  /** Last wanted playback rate. */
1228
1228
  speed: IReadOnlySharedReference<number>;
1229
1229
  /** `MediaSource` element on which the media will be buffered. */
@@ -741,7 +741,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
741
741
  break;
742
742
  }
743
743
 
744
- case WorkerMessageType.ManifestUpdate:
744
+ case WorkerMessageType.ManifestUpdate: {
745
745
  if (this._currentContentInfo?.contentId !== msgData.contentId) {
746
746
  return;
747
747
  }
@@ -761,6 +761,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
761
761
  this._updateCodecSupport(manifest);
762
762
  this.trigger("manifestUpdate", msgData.value.updates);
763
763
  break;
764
+ }
764
765
 
765
766
  case WorkerMessageType.UpdatePlaybackRate:
766
767
  if (this._currentContentInfo?.contentId !== msgData.contentId) {
@@ -893,7 +894,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
893
894
  break;
894
895
  }
895
896
 
896
- case WorkerMessageType.DiscontinuityUpdate:
897
+ case WorkerMessageType.DiscontinuityUpdate: {
897
898
  if (
898
899
  this._currentContentInfo?.contentId !== msgData.contentId ||
899
900
  this._currentContentInfo.manifest === null
@@ -915,6 +916,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
915
916
  position: msgData.value.position,
916
917
  });
917
918
  break;
919
+ }
918
920
 
919
921
  case WorkerMessageType.PushTextData: {
920
922
  if (this._currentContentInfo?.contentId !== msgData.contentId) {
@@ -1733,7 +1735,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
1733
1735
  clearSignal: this._currentMediaSourceCanceller.signal,
1734
1736
  },
1735
1737
  );
1736
- } catch (err) {
1738
+ } catch (_err) {
1737
1739
  const error = new OtherError(
1738
1740
  "NONE",
1739
1741
  "Unknown error when creating the MediaSource",
@@ -1922,18 +1924,11 @@ function bindNumberReferencesToWorker(
1922
1924
  (newVal) => {
1923
1925
  // NOTE: The TypeScript checks have already been made by this function's
1924
1926
  // overload, but the body here is not aware of that.
1925
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
1926
- /* eslint-disable @typescript-eslint/no-explicit-any */
1927
- /* eslint-disable @typescript-eslint/no-unsafe-call */
1928
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
1929
1927
  sendMessage(worker, {
1930
1928
  type: MainThreadMessageType.ReferenceUpdate,
1929
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
1931
1930
  value: { name: ref[1] as any, newVal: newVal as any },
1932
1931
  });
1933
- /* eslint-enable @typescript-eslint/no-unsafe-assignment */
1934
- /* eslint-enable @typescript-eslint/no-explicit-any */
1935
- /* eslint-enable @typescript-eslint/no-unsafe-call */
1936
- /* eslint-enable @typescript-eslint/no-unsafe-member-access */
1937
1932
  },
1938
1933
  { clearSignal: cancellationSignal, emitCurrentValue: true },
1939
1934
  );
@@ -1952,7 +1947,7 @@ function formatWorkerError(sentError: ISentError): IPlayerError {
1952
1947
  ),
1953
1948
  );
1954
1949
  case "MediaError":
1955
- /* eslint-disable-next-line */
1950
+ // eslint-disable-next-line
1956
1951
  return new MediaError(sentError.code as any, sentError.reason, {
1957
1952
  tracks: sentError.tracks,
1958
1953
  });