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,10 +1,5 @@
1
1
  import { describe, beforeEach, it, expect, vi } from "vitest";
2
-
3
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
4
- /* eslint-disable @typescript-eslint/no-unsafe-call */
5
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
6
- /* eslint-disable @typescript-eslint/no-unsafe-return */
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import type IPublicAPI from "../public_api";
8
3
 
9
4
  describe("API - Public API", () => {
10
5
  beforeEach(() => {
@@ -14,14 +9,16 @@ describe("API - Public API", () => {
14
9
  describe("static properties", () => {
15
10
  describe("ErrorTypes", () => {
16
11
  it("should expose static ErrorTypes property", async () => {
17
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
12
+ const PublicAPI = (await vi.importActual("../public_api"))
13
+ .default as typeof IPublicAPI;
18
14
  expect(typeof PublicAPI.ErrorTypes).toBe("object");
19
15
  });
20
16
  });
21
17
 
22
18
  describe("ErrorCodes", () => {
23
19
  it("should expose static ErrorCodes property", async () => {
24
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
20
+ const PublicAPI = (await vi.importActual("../public_api"))
21
+ .default as typeof IPublicAPI;
25
22
  expect(typeof PublicAPI.ErrorTypes).toBe("object");
26
23
  });
27
24
  });
@@ -30,7 +27,8 @@ describe("API - Public API", () => {
30
27
  describe("public methods", () => {
31
28
  describe("getError", () => {
32
29
  it("should have no error by default", async () => {
33
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
30
+ const PublicAPI = (await vi.importActual("../public_api"))
31
+ .default as typeof IPublicAPI;
34
32
  const player = new PublicAPI();
35
33
  expect(player.getError()).toBe(null);
36
34
  });
@@ -38,7 +36,8 @@ describe("API - Public API", () => {
38
36
 
39
37
  describe("getPlayerState", () => {
40
38
  it('should return "STOPPED" in getPlayerState by default', async () => {
41
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
39
+ const PublicAPI = (await vi.importActual("../public_api"))
40
+ .default as typeof IPublicAPI;
42
41
  const player = new PublicAPI();
43
42
  expect(player.getPlayerState()).toBe("STOPPED");
44
43
  });
@@ -46,7 +45,8 @@ describe("API - Public API", () => {
46
45
 
47
46
  describe("isLive", () => {
48
47
  it("should return false in isLive by default", async () => {
49
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
48
+ const PublicAPI = (await vi.importActual("../public_api"))
49
+ .default as typeof IPublicAPI;
50
50
  const player = new PublicAPI();
51
51
  expect(player.isLive()).toBe(false);
52
52
  });
@@ -54,7 +54,8 @@ describe("API - Public API", () => {
54
54
 
55
55
  describe("getContentUrls", () => {
56
56
  it("should return undefined in getContentUrls by default", async () => {
57
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
57
+ const PublicAPI = (await vi.importActual("../public_api"))
58
+ .default as typeof IPublicAPI;
58
59
  const player = new PublicAPI();
59
60
  expect(player.getContentUrls()).toBe(undefined);
60
61
  });
@@ -62,7 +63,8 @@ describe("API - Public API", () => {
62
63
 
63
64
  describe("getMediaDuration", () => {
64
65
  it("should return the video element initial duration in getMediaDuration by default", async () => {
65
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
66
+ const PublicAPI = (await vi.importActual("../public_api"))
67
+ .default as typeof IPublicAPI;
66
68
  const player = new PublicAPI();
67
69
 
68
70
  // ! HAHA ! NaN is not === to NaN
@@ -76,7 +78,8 @@ describe("API - Public API", () => {
76
78
 
77
79
  describe("getCurrentBufferGap", () => {
78
80
  it("should return 0 in getCurrentBufferGap by default", async () => {
79
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
81
+ const PublicAPI = (await vi.importActual("../public_api"))
82
+ .default as typeof IPublicAPI;
80
83
  const player = new PublicAPI();
81
84
  expect(player.getCurrentBufferGap()).toBe(0);
82
85
  });
@@ -84,7 +87,8 @@ describe("API - Public API", () => {
84
87
 
85
88
  describe("getWallClockTime", () => {
86
89
  it("should return 0 in getWallClockTime by default", async () => {
87
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
90
+ const PublicAPI = (await vi.importActual("../public_api"))
91
+ .default as typeof IPublicAPI;
88
92
  const player = new PublicAPI();
89
93
  expect(player.getWallClockTime()).toBe(0);
90
94
  });
@@ -92,7 +96,8 @@ describe("API - Public API", () => {
92
96
 
93
97
  describe("getPosition", () => {
94
98
  it("should return 0 in getPosition by default", async () => {
95
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
99
+ const PublicAPI = (await vi.importActual("../public_api"))
100
+ .default as typeof IPublicAPI;
96
101
  const player = new PublicAPI();
97
102
  expect(player.getPosition()).toBe(0);
98
103
  });
@@ -100,7 +105,8 @@ describe("API - Public API", () => {
100
105
 
101
106
  describe("getPlaybackRate", () => {
102
107
  it("should return 1 in getPlaybackRate by default", async () => {
103
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
108
+ const PublicAPI = (await vi.importActual("../public_api"))
109
+ .default as typeof IPublicAPI;
104
110
  const player = new PublicAPI();
105
111
  expect(player.getPlaybackRate()).toBe(1);
106
112
  });
@@ -108,7 +114,8 @@ describe("API - Public API", () => {
108
114
 
109
115
  describe("getVolume", () => {
110
116
  it("should return 1 in getVolume by default", async () => {
111
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
117
+ const PublicAPI = (await vi.importActual("../public_api"))
118
+ .default as typeof IPublicAPI;
112
119
  const player = new PublicAPI();
113
120
  expect(player.getVolume()).toBe(1);
114
121
  });
@@ -116,7 +123,8 @@ describe("API - Public API", () => {
116
123
 
117
124
  describe("getVideoRepresentation", () => {
118
125
  it("should return undefined in getVideoRepresentation by default", async () => {
119
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
126
+ const PublicAPI = (await vi.importActual("../public_api"))
127
+ .default as typeof IPublicAPI;
120
128
  const player = new PublicAPI();
121
129
  expect(player.getVideoRepresentation()).toBe(undefined);
122
130
  });
@@ -124,7 +132,8 @@ describe("API - Public API", () => {
124
132
 
125
133
  describe("getAudioRepresentation", () => {
126
134
  it("should return undefined in getAudioRepresentation by default", async () => {
127
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
135
+ const PublicAPI = (await vi.importActual("../public_api"))
136
+ .default as typeof IPublicAPI;
128
137
  const player = new PublicAPI();
129
138
  expect(player.getAudioRepresentation()).toBe(undefined);
130
139
  });
@@ -132,7 +141,8 @@ describe("API - Public API", () => {
132
141
 
133
142
  describe("getWantedBufferAhead", () => {
134
143
  it("should return 30 in getWantedBufferAhead by default", async () => {
135
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
144
+ const PublicAPI = (await vi.importActual("../public_api"))
145
+ .default as typeof IPublicAPI;
136
146
  const player = new PublicAPI();
137
147
  expect(player.getWantedBufferAhead()).toBe(30);
138
148
  });
@@ -140,7 +150,8 @@ describe("API - Public API", () => {
140
150
 
141
151
  describe("getMaxBufferBehind", () => {
142
152
  it("should return Infinity in getMaxBufferBehind by default", async () => {
143
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
153
+ const PublicAPI = (await vi.importActual("../public_api"))
154
+ .default as typeof IPublicAPI;
144
155
  const player = new PublicAPI();
145
156
  expect(player.getMaxBufferBehind()).toBe(Infinity);
146
157
  });
@@ -148,7 +159,8 @@ describe("API - Public API", () => {
148
159
 
149
160
  describe("getMaxBufferAhead", () => {
150
161
  it("should return Infinity in getMaxBufferAhead by default", async () => {
151
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
162
+ const PublicAPI = (await vi.importActual("../public_api"))
163
+ .default as typeof IPublicAPI;
152
164
  const player = new PublicAPI();
153
165
  expect(player.getMaxBufferAhead()).toBe(Infinity);
154
166
  });
@@ -156,7 +168,8 @@ describe("API - Public API", () => {
156
168
 
157
169
  describe("getPlaybackRate/setPlaybackRate", () => {
158
170
  it("should allow to change the playback rate through setPlaybackRate", async () => {
159
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
171
+ const PublicAPI = (await vi.importActual("../public_api"))
172
+ .default as typeof IPublicAPI;
160
173
  const player = new PublicAPI();
161
174
  player.setPlaybackRate(4);
162
175
  expect(player.getPlaybackRate()).toBe(4);
@@ -180,7 +193,8 @@ describe("API - Public API", () => {
180
193
 
181
194
  describe("seekTo", () => {
182
195
  it("should throw in seekTo by default", async () => {
183
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
196
+ const PublicAPI = (await vi.importActual("../public_api"))
197
+ .default as typeof IPublicAPI;
184
198
  const player = new PublicAPI();
185
199
  expect(() => player.seekTo(10)).toThrow();
186
200
  expect(() => player.seekTo(54)).toThrow();
@@ -192,13 +206,15 @@ describe("API - Public API", () => {
192
206
 
193
207
  describe("getVolume/setVolume", () => {
194
208
  it("should throw in setVolume by default if no volume has been given", async () => {
195
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
209
+ const PublicAPI = (await vi.importActual("../public_api"))
210
+ .default as typeof IPublicAPI;
196
211
  const player = new PublicAPI();
197
212
  expect(() => player.setVolume(5)).toThrow();
198
213
  });
199
214
 
200
215
  it("should set the volume in setVolume by default if a volume has been given", async () => {
201
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
216
+ const PublicAPI = (await vi.importActual("../public_api"))
217
+ .default as typeof IPublicAPI;
202
218
  const player = new PublicAPI();
203
219
  const videoElement = player.getVideoElement();
204
220
  if (videoElement === null) {
@@ -217,7 +233,8 @@ describe("API - Public API", () => {
217
233
 
218
234
  describe("mute/unMute/isMute", () => {
219
235
  it("should keep the volume yet mute the media element in mute by default", async () => {
220
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
236
+ const PublicAPI = (await vi.importActual("../public_api"))
237
+ .default as typeof IPublicAPI;
221
238
  const player = new PublicAPI();
222
239
  const videoElement = player.getVideoElement();
223
240
  if (videoElement === null) {
@@ -242,7 +259,8 @@ describe("API - Public API", () => {
242
259
  });
243
260
 
244
261
  it("should unmute without changing the volume in unMute by default", async () => {
245
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
262
+ const PublicAPI = (await vi.importActual("../public_api"))
263
+ .default as typeof IPublicAPI;
246
264
  const player = new PublicAPI();
247
265
  // back to a "normal" state.
248
266
  player.unMute();
@@ -275,13 +293,15 @@ describe("API - Public API", () => {
275
293
  });
276
294
 
277
295
  it("should return false in isMute by default", async () => {
278
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
296
+ const PublicAPI = (await vi.importActual("../public_api"))
297
+ .default as typeof IPublicAPI;
279
298
  const player = new PublicAPI();
280
299
  expect(player.isMute()).toBe(false);
281
300
  });
282
301
 
283
302
  it("should not return true in isMute if just the volume is equal to 0", async () => {
284
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
303
+ const PublicAPI = (await vi.importActual("../public_api"))
304
+ .default as typeof IPublicAPI;
285
305
  const player = new PublicAPI();
286
306
 
287
307
  expect(player.isMute()).toBe(false);
@@ -293,7 +313,8 @@ describe("API - Public API", () => {
293
313
 
294
314
  describe("getMaxBufferBehind/setMaxBufferBehind", () => {
295
315
  it("should update the max buffer behind through setMaxBufferBehind by default", async () => {
296
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
316
+ const PublicAPI = (await vi.importActual("../public_api"))
317
+ .default as typeof IPublicAPI;
297
318
  const player = new PublicAPI();
298
319
  player.setMaxBufferBehind(50);
299
320
  expect(player.getMaxBufferBehind()).toBe(50);
@@ -305,7 +326,8 @@ describe("API - Public API", () => {
305
326
 
306
327
  describe("getMaxBufferAhead/setMaxBufferAhead", () => {
307
328
  it("should update the max buffer behind through setMaxBufferAhead by default", async () => {
308
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
329
+ const PublicAPI = (await vi.importActual("../public_api"))
330
+ .default as typeof IPublicAPI;
309
331
  const player = new PublicAPI();
310
332
  player.setMaxBufferAhead(50);
311
333
  expect(player.getMaxBufferAhead()).toBe(50);
@@ -317,7 +339,8 @@ describe("API - Public API", () => {
317
339
 
318
340
  describe("getWantedBufferAhead/setWantedBufferAhead", () => {
319
341
  it("should update the buffer goal through setWantedBufferAhead by default", async () => {
320
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
342
+ const PublicAPI = (await vi.importActual("../public_api"))
343
+ .default as typeof IPublicAPI;
321
344
  const player = new PublicAPI();
322
345
  player.setWantedBufferAhead(50);
323
346
  expect(player.getWantedBufferAhead()).toBe(50);
@@ -329,7 +352,8 @@ describe("API - Public API", () => {
329
352
 
330
353
  describe("getAvailableAudioTracks", () => {
331
354
  it("should return an empty array through getAvailableAudioTracks by default", async () => {
332
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
355
+ const PublicAPI = (await vi.importActual("../public_api"))
356
+ .default as typeof IPublicAPI;
333
357
  const player = new PublicAPI();
334
358
  expect(player.getAvailableAudioTracks()).toEqual([]);
335
359
  });
@@ -337,7 +361,8 @@ describe("API - Public API", () => {
337
361
 
338
362
  describe("getAvailableTextTracks", () => {
339
363
  it("should return an empty array through getAvailableTextTracks by default", async () => {
340
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
364
+ const PublicAPI = (await vi.importActual("../public_api"))
365
+ .default as typeof IPublicAPI;
341
366
  const player = new PublicAPI();
342
367
  expect(player.getAvailableTextTracks()).toEqual([]);
343
368
  });
@@ -345,7 +370,8 @@ describe("API - Public API", () => {
345
370
 
346
371
  describe("getAvailableVideoTracks", () => {
347
372
  it("should return an empty array through getAvailableVideoTracks by default", async () => {
348
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
373
+ const PublicAPI = (await vi.importActual("../public_api"))
374
+ .default as typeof IPublicAPI;
349
375
  const player = new PublicAPI();
350
376
  expect(player.getAvailableVideoTracks()).toEqual([]);
351
377
  });
@@ -353,7 +379,8 @@ describe("API - Public API", () => {
353
379
 
354
380
  describe("getAudioTrack", () => {
355
381
  it("should return undefined through getAudioTrack by default", async () => {
356
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
382
+ const PublicAPI = (await vi.importActual("../public_api"))
383
+ .default as typeof IPublicAPI;
357
384
  const player = new PublicAPI();
358
385
  expect(player.getAudioTrack()).toBe(undefined);
359
386
  });
@@ -361,7 +388,8 @@ describe("API - Public API", () => {
361
388
 
362
389
  describe("getTextTrack", () => {
363
390
  it("should return undefined through getTextTrack by default", async () => {
364
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
391
+ const PublicAPI = (await vi.importActual("../public_api"))
392
+ .default as typeof IPublicAPI;
365
393
  const player = new PublicAPI();
366
394
  expect(player.getTextTrack()).toBe(undefined);
367
395
  });
@@ -369,7 +397,8 @@ describe("API - Public API", () => {
369
397
 
370
398
  describe("getVideoTrack", () => {
371
399
  it("should return undefined through getVideoTrack by default", async () => {
372
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
400
+ const PublicAPI = (await vi.importActual("../public_api"))
401
+ .default as typeof IPublicAPI;
373
402
  const player = new PublicAPI();
374
403
  expect(player.getVideoTrack()).toBe(undefined);
375
404
  });
@@ -377,7 +406,8 @@ describe("API - Public API", () => {
377
406
 
378
407
  describe("setAudioTrack", () => {
379
408
  it("should throw in setAudioTrack by default", async () => {
380
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
409
+ const PublicAPI = (await vi.importActual("../public_api"))
410
+ .default as typeof IPublicAPI;
381
411
  const player = new PublicAPI();
382
412
  expect(() => player.setAudioTrack("a")).toThrow();
383
413
  expect(() => player.setAudioTrack("test")).toThrow();
@@ -386,7 +416,8 @@ describe("API - Public API", () => {
386
416
 
387
417
  describe("setTextTrack", () => {
388
418
  it("should throw in setTextTrack by default", async () => {
389
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
419
+ const PublicAPI = (await vi.importActual("../public_api"))
420
+ .default as typeof IPublicAPI;
390
421
  const player = new PublicAPI();
391
422
  expect(() => player.setTextTrack("a")).toThrow();
392
423
  expect(() => player.setTextTrack("test")).toThrow();
@@ -395,7 +426,8 @@ describe("API - Public API", () => {
395
426
 
396
427
  describe("setVideoTrack", () => {
397
428
  it("should throw in setVideoTrack by default", async () => {
398
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
429
+ const PublicAPI = (await vi.importActual("../public_api"))
430
+ .default as typeof IPublicAPI;
399
431
  const player = new PublicAPI();
400
432
  expect(() => player.setVideoTrack("a")).toThrow();
401
433
  expect(() => player.setVideoTrack("test")).toThrow();
@@ -404,7 +436,8 @@ describe("API - Public API", () => {
404
436
 
405
437
  describe("disableTextTrack", () => {
406
438
  it("should disable text tracks in disableTextTrack by default", async () => {
407
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
439
+ const PublicAPI = (await vi.importActual("../public_api"))
440
+ .default as typeof IPublicAPI;
408
441
  const player = new PublicAPI();
409
442
  player.disableTextTrack();
410
443
  expect(player.getTextTrack()).toBe(undefined);
@@ -413,7 +446,8 @@ describe("API - Public API", () => {
413
446
 
414
447
  describe("getMinimumPosition", () => {
415
448
  it("should return null in getMinimumPosition by default", async () => {
416
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
449
+ const PublicAPI = (await vi.importActual("../public_api"))
450
+ .default as typeof IPublicAPI;
417
451
  const player = new PublicAPI();
418
452
  expect(player.getMinimumPosition()).toBe(null);
419
453
  });
@@ -421,7 +455,8 @@ describe("API - Public API", () => {
421
455
 
422
456
  describe("getMaximumPosition", () => {
423
457
  it("should return null in getMaximumPosition by default", async () => {
424
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
458
+ const PublicAPI = (await vi.importActual("../public_api"))
459
+ .default as typeof IPublicAPI;
425
460
  const player = new PublicAPI();
426
461
  expect(player.getMinimumPosition()).toBe(null);
427
462
  });
@@ -429,7 +464,8 @@ describe("API - Public API", () => {
429
464
 
430
465
  describe("Player instantiation", () => {
431
466
  it("should log a warning if creating two players attached to the same video element", async () => {
432
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
467
+ const PublicAPI = (await vi.importActual("../public_api"))
468
+ .default as typeof IPublicAPI;
433
469
  const warn = vi.spyOn(console, "warn").mockImplementation(vi.fn());
434
470
  const videoElement = document.createElement("video");
435
471
  const player1 = new PublicAPI({ videoElement });
@@ -457,7 +493,8 @@ describe("API - Public API", () => {
457
493
 
458
494
  it(`should not log a warning if creating a player attached to
459
495
  the same video element after the previous one was disposed`, async () => {
460
- const PublicAPI = ((await vi.importActual("../public_api")) as any).default;
496
+ const PublicAPI = (await vi.importActual("../public_api"))
497
+ .default as typeof IPublicAPI;
461
498
  const warn = vi.spyOn(console, "warn").mockImplementation(vi.fn());
462
499
  const videoElement = document.createElement("video");
463
500
  const player1 = new PublicAPI({ videoElement });
@@ -433,15 +433,11 @@ function parseLoadVideoOptions(options: ILoadVideoOptions): IParsedLoadVideoOpti
433
433
 
434
434
  // All those eslint disable are needed because the option is voluntarily
435
435
  // hidden from the base type to limit discovery of this hidden API.
436
- /* eslint-disable @typescript-eslint/no-explicit-any */
437
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
438
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
439
436
  return {
437
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
440
438
  __priv_patchLastSegmentInSidx: (options as any).__priv_patchLastSegmentInSidx,
439
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
441
440
  __priv_manifestUpdateUrl: (options as any).__priv_manifestUpdateUrl,
442
- /* eslint-enable @typescript-eslint/no-explicit-any */
443
- /* eslint-enable @typescript-eslint/no-unsafe-assignment */
444
- /* eslint-enable @typescript-eslint/no-unsafe-member-access */
445
441
  checkMediaSegmentIntegrity: options.checkMediaSegmentIntegrity,
446
442
  checkManifestIntegrity: options.checkManifestIntegrity,
447
443
  autoPlay,
@@ -409,7 +409,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
409
409
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
410
410
  videoElement.preload = "auto";
411
411
 
412
- this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090300";
412
+ this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090500";
413
413
  this.log = log;
414
414
  this.state = "STOPPED";
415
415
  this.videoElement = videoElement;
@@ -1131,11 +1131,12 @@ class Player extends EventEmitter<IPublicAPIEvent> {
1131
1131
  .getValue()
1132
1132
  .position.getPolled();
1133
1133
  break;
1134
- default:
1134
+ default: {
1135
1135
  const o = playbackObserver.getReference().getValue();
1136
1136
  this._priv_reloadingMetadata.reloadInPause = o.paused;
1137
1137
  this._priv_reloadingMetadata.reloadPosition = o.position.getWanted();
1138
1138
  break;
1139
+ }
1139
1140
  }
1140
1141
  };
1141
1142
 
@@ -1277,11 +1278,11 @@ class Player extends EventEmitter<IPublicAPIEvent> {
1277
1278
  * @returns {HTMLMediaElement|null} - The HTMLMediaElement used (`null` when
1278
1279
  * disposed)
1279
1280
  */
1280
- /* eslint-disable @typescript-eslint/no-restricted-types */
1281
+ // eslint-disable-next-line @typescript-eslint/no-restricted-types
1281
1282
  getVideoElement(): HTMLMediaElement | null {
1283
+ // eslint-disable-next-line @typescript-eslint/no-restricted-types
1282
1284
  return this.videoElement as HTMLMediaElement;
1283
1285
  }
1284
- /* eslint-enable @typescript-eslint/no-restricted-types */
1285
1286
 
1286
1287
  /**
1287
1288
  * Returns the player's current state.
@@ -1616,9 +1617,8 @@ class Player extends EventEmitter<IPublicAPIEvent> {
1616
1617
  }
1617
1618
 
1618
1619
  const playPromise = this.videoElement.play();
1619
- /* eslint-disable @typescript-eslint/unbound-method */
1620
+ // eslint-disable-next-line @typescript-eslint/unbound-method
1620
1621
  if (isNullOrUndefined(playPromise) || typeof playPromise.catch !== "function") {
1621
- /* eslint-enable @typescript-eslint/unbound-method */
1622
1622
  return Promise.resolve();
1623
1623
  }
1624
1624
  return playPromise.catch((error: Error) => {
@@ -2097,7 +2097,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
2097
2097
  const audioId = typeof arg === "string" ? arg : arg.trackId;
2098
2098
  mediaElementTracksStore?.setAudioTrackById(audioId);
2099
2099
  return;
2100
- } catch (e) {
2100
+ } catch (_e) {
2101
2101
  throw new Error("player: unknown audio track");
2102
2102
  }
2103
2103
  }
@@ -2143,7 +2143,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
2143
2143
  const textId = typeof arg === "string" ? arg : arg.trackId;
2144
2144
  mediaElementTracksStore?.setTextTrackById(textId);
2145
2145
  return;
2146
- } catch (e) {
2146
+ } catch (_e) {
2147
2147
  throw new Error("player: unknown text track");
2148
2148
  }
2149
2149
  }
@@ -2195,7 +2195,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
2195
2195
  const videoId = typeof arg === "string" ? arg : arg.trackId;
2196
2196
  mediaElementTracksStore?.setVideoTrackById(videoId);
2197
2197
  return;
2198
- } catch (e) {
2198
+ } catch (_e) {
2199
2199
  throw new Error("player: unknown video track");
2200
2200
  }
2201
2201
  }
@@ -2925,7 +2925,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
2925
2925
  return;
2926
2926
  }
2927
2927
  switch (type) {
2928
- case "audio":
2928
+ case "audio": {
2929
2929
  const audioTrack = tracksStore.getChosenAudioTrack(periodRef, true);
2930
2930
  this._priv_triggerEventIfNotStopped(
2931
2931
  "audioTrackChange",
@@ -2933,11 +2933,13 @@ class Player extends EventEmitter<IPublicAPIEvent> {
2933
2933
  cancelSignal,
2934
2934
  );
2935
2935
  break;
2936
- case "text":
2936
+ }
2937
+ case "text": {
2937
2938
  const textTrack = tracksStore.getChosenTextTrack(periodRef);
2938
2939
  this._priv_triggerEventIfNotStopped("textTrackChange", textTrack, cancelSignal);
2939
2940
  break;
2940
- case "video":
2941
+ }
2942
+ case "video": {
2941
2943
  const videoTrack = tracksStore.getChosenVideoTrack(periodRef, true);
2942
2944
  this._priv_triggerEventIfNotStopped(
2943
2945
  "videoTrackChange",
@@ -2945,6 +2947,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
2945
2947
  cancelSignal,
2946
2948
  );
2947
2949
  break;
2950
+ }
2948
2951
  }
2949
2952
  }
2950
2953
  }
@@ -3028,9 +3031,9 @@ class Player extends EventEmitter<IPublicAPIEvent> {
3028
3031
  }
3029
3032
  this.trigger(
3030
3033
  // !!! undocumented API :O !!!
3031
- /* eslint-disable-next-line */
3034
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3032
3035
  "__priv_bitrateEstimateChange" as any,
3033
- /* eslint-disable-next-line */
3036
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3034
3037
  { type, bitrate } as any,
3035
3038
  );
3036
3039
  }
@@ -3249,7 +3252,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
3249
3252
  return;
3250
3253
  }
3251
3254
  switch (trackType) {
3252
- case "video":
3255
+ case "video": {
3253
3256
  const videoTracks = tracksStore.getAvailableVideoTracks(periodRef, true);
3254
3257
  this._priv_triggerEventIfNotStopped(
3255
3258
  "availableVideoTracksChange",
@@ -3257,7 +3260,8 @@ class Player extends EventEmitter<IPublicAPIEvent> {
3257
3260
  cancelSignal,
3258
3261
  );
3259
3262
  break;
3260
- case "audio":
3263
+ }
3264
+ case "audio": {
3261
3265
  const audioTracks = tracksStore.getAvailableAudioTracks(periodRef, true);
3262
3266
  this._priv_triggerEventIfNotStopped(
3263
3267
  "availableAudioTracksChange",
@@ -3265,7 +3269,8 @@ class Player extends EventEmitter<IPublicAPIEvent> {
3265
3269
  cancelSignal,
3266
3270
  );
3267
3271
  break;
3268
- case "text":
3272
+ }
3273
+ case "text": {
3269
3274
  const textTracks = tracksStore.getAvailableTextTracks(periodRef);
3270
3275
  this._priv_triggerEventIfNotStopped(
3271
3276
  "availableTextTracksChange",
@@ -3273,6 +3278,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
3273
3278
  cancelSignal,
3274
3279
  );
3275
3280
  break;
3281
+ }
3276
3282
  default:
3277
3283
  assertUnreachable(trackType);
3278
3284
  }
@@ -3307,7 +3313,7 @@ class Player extends EventEmitter<IPublicAPIEvent> {
3307
3313
  }
3308
3314
  }
3309
3315
  }
3310
- Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090300";
3316
+ Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090500";
3311
3317
 
3312
3318
  /** Every events sent by the RxPlayer's public API. */
3313
3319
  interface IPublicAPIEvent {
@@ -1,15 +1,8 @@
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/restrict-template-expressions */
8
- /* eslint-disable no-restricted-properties */
9
- /* eslint-disable @typescript-eslint/no-explicit-any */
10
-
11
- import type { IPlayerError } from "../../../../public_types";
2
+ import type { IKeySystemOption, IPlayerError } from "../../../../public_types";
12
3
  import { concat } from "../../../../utils/byte_parsing";
4
+ import type IContentDecryptor from "../../content_decryptor";
5
+ import type { ContentDecryptorState as IContentDecryptorState } from "../../types";
13
6
  import {
14
7
  formatFakeChallengeFromInitData,
15
8
  MediaKeySessionImpl,
@@ -315,7 +308,7 @@ async function checkGetLicense({
315
308
  vi.spyOn(MediaKeysImpl.prototype, "createSession").mockReturnValue(mediaKeySession);
316
309
  const mockUpdate = vi.spyOn(mediaKeySession, "update");
317
310
  let remainingRetries = nbRetries;
318
- const mockGetLicense = vi.fn(() => {
311
+ const mockGetLicense = vi.fn((): BufferSource | Promise<BufferSource | null> | null => {
319
312
  const callIdx = nbRetries - remainingRetries;
320
313
  const timeout = getTimeout(callIdx);
321
314
  if (remainingRetries === 0) {
@@ -342,16 +335,17 @@ async function checkGetLicense({
342
335
  return Promise.reject(new Error("AAAA"));
343
336
  });
344
337
  mockCompat();
345
- const { ContentDecryptorState } = (await vi.importActual("../../types")) as any;
346
- const ContentDecryptor = ((await vi.importActual("../../content_decryptor")) as any)
347
- .default;
338
+ const ContentDecryptorState = (await vi.importActual("../../types"))
339
+ .ContentDecryptorState as typeof IContentDecryptorState;
340
+ const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
341
+ .default as typeof IContentDecryptor;
348
342
  return new Promise((res, rej) => {
349
343
  // == vars ==
350
344
  /** Default keySystems configuration used in our tests. */
351
345
  const maxRetries = configuredRetries === undefined ? 2 : configuredRetries;
352
346
  const shouldFail = nbRetries > maxRetries;
353
347
  let warningsLeft = nbRetries;
354
- const ksConfig = [
348
+ const ksConfig: IKeySystemOption[] = [
355
349
  {
356
350
  type: "com.widevine.alpha",
357
351
  getLicense: mockGetLicense,
@@ -384,7 +378,7 @@ async function checkGetLicense({
384
378
  contentDecryptor.attach();
385
379
  });
386
380
 
387
- contentDecryptor.addEventListener("error", (error: unknown) => {
381
+ contentDecryptor.addEventListener("error", (error: Error) => {
388
382
  if (shouldFail) {
389
383
  try {
390
384
  checkKeyLoadError(error);
@@ -404,7 +398,7 @@ async function checkGetLicense({
404
398
  rej(e);
405
399
  }
406
400
  } else {
407
- rej(new Error(`Unexpected error: ${error}`));
401
+ rej(new Error(`Unexpected error: ${error.toString()}`));
408
402
  }
409
403
  });
410
404
 
@@ -425,7 +419,7 @@ async function checkGetLicense({
425
419
  rej(e);
426
420
  }
427
421
  } else {
428
- rej(new Error(`Unexpected warning: ${warning}`));
422
+ rej(new Error(`Unexpected warning: ${warning.toString()}`));
429
423
  }
430
424
  });
431
425