rx-player 3.33.0 → 3.33.1

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 (819) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/VERSION +1 -1
  3. package/dist/_esm5.processed/core/api/public_api.js +2 -2
  4. package/dist/_esm5.processed/manifest/manifest.js +1 -0
  5. package/dist/_esm5.processed/utils/retry_promise_with_backoff.d.ts +11 -0
  6. package/dist/_esm5.processed/utils/retry_promise_with_backoff.js +18 -4
  7. package/dist/mpd-parser.wasm +0 -0
  8. package/dist/rx-player.d.ts +1 -1
  9. package/dist/rx-player.js +24 -9
  10. package/dist/rx-player.min.d.ts +1 -1
  11. package/dist/rx-player.min.js +1 -1
  12. package/package.json +6 -6
  13. package/.editorconfig +0 -22
  14. package/.eslintrc.js +0 -406
  15. package/.github/workflows/checks.yml +0 -101
  16. package/.github/workflows/perfs.yml +0 -22
  17. package/.github/workflows/sonarcloud_analysis.yml +0 -20
  18. package/CONTRIBUTING.md +0 -272
  19. package/FILES.md +0 -283
  20. package/jest.config.js +0 -73
  21. package/manifest.mpd +0 -149
  22. package/scripts/README.md +0 -11
  23. package/scripts/build/constants.d.ts +0 -53
  24. package/scripts/build/generate_build.js +0 -190
  25. package/scripts/build/templates/experimental/features/index.d.ts +0 -16
  26. package/scripts/build/templates/experimental/features/index.js +0 -16
  27. package/scripts/build/templates/experimental/index.d.ts +0 -16
  28. package/scripts/build/templates/experimental/index.js +0 -16
  29. package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.d.ts +0 -18
  30. package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.js +0 -18
  31. package/scripts/build/templates/experimental/tools/index.d.ts +0 -16
  32. package/scripts/build/templates/experimental/tools/index.js +0 -16
  33. package/scripts/build/templates/features/index.d.ts +0 -16
  34. package/scripts/build/templates/features/index.js +0 -16
  35. package/scripts/build/templates/logger/index.d.ts +0 -17
  36. package/scripts/build/templates/logger/index.js +0 -17
  37. package/scripts/build/templates/minimal/index.d.ts +0 -17
  38. package/scripts/build/templates/minimal/index.js +0 -17
  39. package/scripts/build/templates/tools/TextTrackRenderer.d.ts +0 -18
  40. package/scripts/build/templates/tools/TextTrackRenderer.js +0 -18
  41. package/scripts/build/templates/tools/index.d.ts +0 -16
  42. package/scripts/build/templates/tools/index.js +0 -16
  43. package/scripts/build/templates/tools/string-utils.d.ts +0 -18
  44. package/scripts/build/templates/tools/string-utils.js +0 -18
  45. package/scripts/build/templates/types/index.d.ts +0 -16
  46. package/scripts/build/templates/types/index.js +0 -15
  47. package/scripts/canal-release.patch +0 -316
  48. package/scripts/check_nodejs_import_compatibility.js +0 -60
  49. package/scripts/deploy_new_demo +0 -123
  50. package/scripts/fast_demo_build.js +0 -129
  51. package/scripts/generate_certificate +0 -19
  52. package/scripts/generate_demo_list.js +0 -105
  53. package/scripts/generate_documentation_list.js +0 -109
  54. package/scripts/generate_full_demo.js +0 -201
  55. package/scripts/generate_standalone_demo.js +0 -82
  56. package/scripts/launch_static_server.js +0 -163
  57. package/scripts/list-npm-scripts.js +0 -207
  58. package/scripts/make-dev-releases +0 -90
  59. package/scripts/report_build_sizes +0 -96
  60. package/scripts/run_standalone_demo.js +0 -27
  61. package/scripts/start_demo_web_server.js +0 -44
  62. package/scripts/update-version +0 -48
  63. package/scripts/update_gh-pages_demo +0 -132
  64. package/scripts/update_gh-pages_doc +0 -106
  65. package/scripts/utils/display_webpack_errors.js +0 -33
  66. package/scripts/utils/get_human_readable_hours.js +0 -14
  67. package/scripts/wasm-strip.js +0 -359
  68. package/sonar-project.properties +0 -7
  69. package/src/README.md +0 -136
  70. package/src/compat/README.md +0 -29
  71. package/src/compat/__tests__/add_text_track.test.ts +0 -176
  72. package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -152
  73. package/src/compat/__tests__/browser_version.test.ts +0 -84
  74. package/src/compat/__tests__/can_patch_isobmff.test.ts +0 -50
  75. package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +0 -78
  76. package/src/compat/__tests__/can_reuse_media_keys.test.ts +0 -31
  77. package/src/compat/__tests__/change_source_buffer_type.test.ts +0 -60
  78. package/src/compat/__tests__/clear_element_src.test.ts +0 -252
  79. package/src/compat/__tests__/enable_audio_track.test.ts +0 -341
  80. package/src/compat/__tests__/fullscreen.test.ts +0 -286
  81. package/src/compat/__tests__/is_codec_supported.test.ts +0 -78
  82. package/src/compat/__tests__/is_offline.test.ts +0 -65
  83. package/src/compat/__tests__/is_seeking_approximate.test.ts +0 -48
  84. package/src/compat/__tests__/is_vtt_cue.test.ts +0 -71
  85. package/src/compat/__tests__/make_vtt_cue.test.ts +0 -97
  86. package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +0 -144
  87. package/src/compat/__tests__/remove_cue.test.ts +0 -229
  88. package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +0 -128
  89. package/src/compat/__tests__/should_reload_media_source_on_decipherability_update.test.ts +0 -50
  90. package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +0 -55
  91. package/src/compat/__tests__/should_unset_media_keys.test.ts +0 -53
  92. package/src/compat/__tests__/should_validate_metadata.test.ts +0 -53
  93. package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +0 -121
  94. package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +0 -36
  95. package/src/compat/add_class_name.ts +0 -41
  96. package/src/compat/add_text_track.ts +0 -58
  97. package/src/compat/browser_compatibility_types.ts +0 -222
  98. package/src/compat/browser_detection.ts +0 -172
  99. package/src/compat/browser_version.ts +0 -44
  100. package/src/compat/can_patch_isobmff.ts +0 -30
  101. package/src/compat/can_rely_on_video_visibility_and_size.ts +0 -52
  102. package/src/compat/can_reuse_media_keys.ts +0 -20
  103. package/src/compat/change_source_buffer_type.ts +0 -66
  104. package/src/compat/clear_element_src.ts +0 -55
  105. package/src/compat/eme/close_session.ts +0 -111
  106. package/src/compat/eme/constants.ts +0 -21
  107. package/src/compat/eme/custom_key_system_access.ts +0 -67
  108. package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +0 -186
  109. package/src/compat/eme/custom_media_keys/index.ts +0 -28
  110. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +0 -88
  111. package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +0 -69
  112. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +0 -235
  113. package/src/compat/eme/custom_media_keys/types.ts +0 -67
  114. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +0 -308
  115. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +0 -50
  116. package/src/compat/eme/eme-api-implementation.ts +0 -318
  117. package/src/compat/eme/generate_key_request.ts +0 -162
  118. package/src/compat/eme/get_init_data.ts +0 -159
  119. package/src/compat/eme/get_uuid_kid_from_keystatus_kid.ts +0 -37
  120. package/src/compat/eme/get_webkit_fairplay_initdata.ts +0 -75
  121. package/src/compat/eme/index.ts +0 -47
  122. package/src/compat/eme/load_session.ts +0 -67
  123. package/src/compat/enable_audio_track.ts +0 -33
  124. package/src/compat/event_listeners.ts +0 -566
  125. package/src/compat/fullscreen.ts +0 -87
  126. package/src/compat/get_start_date.ts +0 -48
  127. package/src/compat/has_issues_with_high_media_source_duration.ts +0 -27
  128. package/src/compat/index.ts +0 -87
  129. package/src/compat/is_codec_supported.ts +0 -40
  130. package/src/compat/is_debug_mode_enabled.ts +0 -12
  131. package/src/compat/is_node.ts +0 -18
  132. package/src/compat/is_offline.ts +0 -44
  133. package/src/compat/is_seeking_approximate.ts +0 -32
  134. package/src/compat/is_vtt_cue.ts +0 -30
  135. package/src/compat/make_vtt_cue.ts +0 -51
  136. package/src/compat/on_height_width_change.ts +0 -119
  137. package/src/compat/patch_webkit_source_buffer.ts +0 -89
  138. package/src/compat/remove_cue.ts +0 -64
  139. package/src/compat/should_favour_custom_safari_EME.ts +0 -34
  140. package/src/compat/should_prevent_seeking_at_0_initially.ts +0 -19
  141. package/src/compat/should_reload_media_source_on_decipherability_update.ts +0 -32
  142. package/src/compat/should_renew_media_key_system_access.ts +0 -26
  143. package/src/compat/should_unset_media_keys.ts +0 -27
  144. package/src/compat/should_validate_metadata.ts +0 -27
  145. package/src/compat/should_wait_for_data_before_loaded.ts +0 -35
  146. package/src/compat/should_wait_for_have_enough_data.ts +0 -17
  147. package/src/config.ts +0 -32
  148. package/src/core/README.md +0 -56
  149. package/src/core/adaptive/README.md +0 -147
  150. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +0 -548
  151. package/src/core/adaptive/adaptive_representation_selector.ts +0 -916
  152. package/src/core/adaptive/buffer_based_chooser.ts +0 -264
  153. package/src/core/adaptive/guess_based_chooser.ts +0 -309
  154. package/src/core/adaptive/index.ts +0 -45
  155. package/src/core/adaptive/network_analyzer.ts +0 -419
  156. package/src/core/adaptive/utils/__tests__/bandwith_estimator.test.ts +0 -134
  157. package/src/core/adaptive/utils/__tests__/ewma.test.ts +0 -79
  158. package/src/core/adaptive/utils/__tests__/filter_by_bitrate.test.ts +0 -56
  159. package/src/core/adaptive/utils/__tests__/filter_by_width.test.ts +0 -60
  160. package/src/core/adaptive/utils/__tests__/get_buffer_levels.test.ts +0 -48
  161. package/src/core/adaptive/utils/__tests__/select_optimal_representation.test.ts +0 -243
  162. package/src/core/adaptive/utils/bandwidth_estimator.ts +0 -88
  163. package/src/core/adaptive/utils/ewma.ts +0 -59
  164. package/src/core/adaptive/utils/filter_by_bitrate.ts +0 -46
  165. package/src/core/adaptive/utils/filter_by_width.ts +0 -49
  166. package/src/core/adaptive/utils/get_buffer_levels.ts +0 -50
  167. package/src/core/adaptive/utils/last_estimate_storage.ts +0 -79
  168. package/src/core/adaptive/utils/pending_requests_store.ts +0 -147
  169. package/src/core/adaptive/utils/representation_score_calculator.ts +0 -168
  170. package/src/core/adaptive/utils/select_optimal_representation.ts +0 -54
  171. package/src/core/api/README.md +0 -36
  172. package/src/core/api/__tests__/option_utils.test.ts +0 -1668
  173. package/src/core/api/__tests__/public_api.test.ts +0 -857
  174. package/src/core/api/__tests__/utils.test.ts +0 -195
  175. package/src/core/api/debug/buffer_graph.ts +0 -244
  176. package/src/core/api/debug/buffer_size_graph.ts +0 -130
  177. package/src/core/api/debug/constants.ts +0 -2
  178. package/src/core/api/debug/index.ts +0 -3
  179. package/src/core/api/debug/modules/general_info.ts +0 -213
  180. package/src/core/api/debug/modules/segment_buffer_content.ts +0 -155
  181. package/src/core/api/debug/modules/segment_buffer_size.ts +0 -48
  182. package/src/core/api/debug/render.ts +0 -40
  183. package/src/core/api/debug/utils.ts +0 -103
  184. package/src/core/api/index.ts +0 -27
  185. package/src/core/api/option_utils.ts +0 -700
  186. package/src/core/api/playback_observer.ts +0 -994
  187. package/src/core/api/public_api.ts +0 -3247
  188. package/src/core/api/tracks_management/__tests__/media_element_track_choice_manager.test.ts +0 -184
  189. package/src/core/api/tracks_management/media_element_track_choice_manager.ts +0 -975
  190. package/src/core/api/tracks_management/track_choice_manager.ts +0 -1280
  191. package/src/core/api/utils.ts +0 -216
  192. package/src/core/decrypt/README.md +0 -22
  193. package/src/core/decrypt/__tests__/__global__/get_license.test.ts +0 -422
  194. package/src/core/decrypt/__tests__/__global__/init_data.test.ts +0 -677
  195. package/src/core/decrypt/__tests__/__global__/media_key_system_access.test.ts +0 -528
  196. package/src/core/decrypt/__tests__/__global__/media_keys.test.ts +0 -343
  197. package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +0 -264
  198. package/src/core/decrypt/__tests__/__global__/utils.ts +0 -491
  199. package/src/core/decrypt/attach_media_keys.ts +0 -121
  200. package/src/core/decrypt/clear_on_stop.ts +0 -47
  201. package/src/core/decrypt/content_decryptor.ts +0 -1246
  202. package/src/core/decrypt/create_or_load_session.ts +0 -133
  203. package/src/core/decrypt/create_session.ts +0 -214
  204. package/src/core/decrypt/dispose_decryption_resources.ts +0 -54
  205. package/src/core/decrypt/find_key_system.ts +0 -376
  206. package/src/core/decrypt/get_key_system_configuration.ts +0 -51
  207. package/src/core/decrypt/get_media_keys.ts +0 -147
  208. package/src/core/decrypt/index.ts +0 -36
  209. package/src/core/decrypt/init_media_keys.ts +0 -60
  210. package/src/core/decrypt/session_events_listener.ts +0 -386
  211. package/src/core/decrypt/set_server_certificate.ts +0 -105
  212. package/src/core/decrypt/types.ts +0 -404
  213. package/src/core/decrypt/utils/__tests__/are_init_values_compatible.test.ts +0 -261
  214. package/src/core/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -158
  215. package/src/core/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +0 -133
  216. package/src/core/decrypt/utils/are_init_values_compatible.ts +0 -140
  217. package/src/core/decrypt/utils/check_key_statuses.ts +0 -193
  218. package/src/core/decrypt/utils/clean_old_loaded_sessions.ts +0 -45
  219. package/src/core/decrypt/utils/clean_old_stored_persistent_info.ts +0 -48
  220. package/src/core/decrypt/utils/get_drm_system_id.ts +0 -42
  221. package/src/core/decrypt/utils/init_data_values_container.ts +0 -119
  222. package/src/core/decrypt/utils/is_session_usable.ts +0 -62
  223. package/src/core/decrypt/utils/key_id_comparison.ts +0 -57
  224. package/src/core/decrypt/utils/key_session_record.ts +0 -174
  225. package/src/core/decrypt/utils/loaded_sessions_store.ts +0 -505
  226. package/src/core/decrypt/utils/media_keys_infos_store.ts +0 -85
  227. package/src/core/decrypt/utils/persistent_sessions_store.ts +0 -358
  228. package/src/core/decrypt/utils/serializable_bytes.ts +0 -59
  229. package/src/core/decrypt/utils/server_certificate_store.ts +0 -133
  230. package/src/core/fetchers/README.md +0 -84
  231. package/src/core/fetchers/cdn_prioritizer.ts +0 -207
  232. package/src/core/fetchers/index.ts +0 -38
  233. package/src/core/fetchers/manifest/index.ts +0 -28
  234. package/src/core/fetchers/manifest/manifest_fetcher.ts +0 -798
  235. package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +0 -763
  236. package/src/core/fetchers/segment/index.ts +0 -28
  237. package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +0 -113
  238. package/src/core/fetchers/segment/segment_fetcher.ts +0 -482
  239. package/src/core/fetchers/segment/segment_fetcher_creator.ts +0 -129
  240. package/src/core/fetchers/segment/task_prioritizer.ts +0 -455
  241. package/src/core/fetchers/utils/error_selector.ts +0 -38
  242. package/src/core/fetchers/utils/schedule_request.ts +0 -493
  243. package/src/core/init/README.md +0 -81
  244. package/src/core/init/directfile_content_initializer.ts +0 -310
  245. package/src/core/init/index.ts +0 -22
  246. package/src/core/init/media_source_content_initializer.ts +0 -878
  247. package/src/core/init/types.ts +0 -266
  248. package/src/core/init/utils/__tests__/are_same_stream_events.test.ts +0 -84
  249. package/src/core/init/utils/__tests__/refresh_scheduled_events_list.test.ts +0 -94
  250. package/src/core/init/utils/content_time_boundaries_observer.ts +0 -646
  251. package/src/core/init/utils/create_media_source.ts +0 -139
  252. package/src/core/init/utils/create_stream_playback_observer.ts +0 -132
  253. package/src/core/init/utils/end_of_stream.ts +0 -108
  254. package/src/core/init/utils/get_initial_time.ts +0 -165
  255. package/src/core/init/utils/get_loaded_reference.ts +0 -82
  256. package/src/core/init/utils/initial_seek_and_play.ts +0 -237
  257. package/src/core/init/utils/initialize_content_decryption.ts +0 -172
  258. package/src/core/init/utils/media_source_duration_updater.ts +0 -349
  259. package/src/core/init/utils/rebuffering_controller.ts +0 -642
  260. package/src/core/init/utils/stream_events_emitter/are_same_stream_events.ts +0 -42
  261. package/src/core/init/utils/stream_events_emitter/index.ts +0 -22
  262. package/src/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.ts +0 -74
  263. package/src/core/init/utils/stream_events_emitter/stream_events_emitter.ts +0 -252
  264. package/src/core/init/utils/stream_events_emitter/types.ts +0 -46
  265. package/src/core/init/utils/throw_on_media_error.ts +0 -74
  266. package/src/core/segment_buffers/README.md +0 -219
  267. package/src/core/segment_buffers/garbage_collector.ts +0 -177
  268. package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +0 -650
  269. package/src/core/segment_buffers/implementations/audio_video/index.ts +0 -18
  270. package/src/core/segment_buffers/implementations/image/image_segment_buffer.ts +0 -152
  271. package/src/core/segment_buffers/implementations/image/index.ts +0 -18
  272. package/src/core/segment_buffers/implementations/index.ts +0 -20
  273. package/src/core/segment_buffers/implementations/text/html/__tests__/utils.test.ts +0 -343
  274. package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +0 -527
  275. package/src/core/segment_buffers/implementations/text/html/index.ts +0 -24
  276. package/src/core/segment_buffers/implementations/text/html/parsers.ts +0 -49
  277. package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +0 -391
  278. package/src/core/segment_buffers/implementations/text/html/types.ts +0 -23
  279. package/src/core/segment_buffers/implementations/text/html/update_proportional_elements.ts +0 -93
  280. package/src/core/segment_buffers/implementations/text/html/utils.ts +0 -139
  281. package/src/core/segment_buffers/implementations/text/native/index.ts +0 -19
  282. package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +0 -340
  283. package/src/core/segment_buffers/implementations/text/native/parsers.ts +0 -47
  284. package/src/core/segment_buffers/implementations/types.ts +0 -386
  285. package/src/core/segment_buffers/implementations/utils/manual_time_ranges.ts +0 -80
  286. package/src/core/segment_buffers/index.ts +0 -67
  287. package/src/core/segment_buffers/inventory/buffered_history.ts +0 -131
  288. package/src/core/segment_buffers/inventory/index.ts +0 -30
  289. package/src/core/segment_buffers/inventory/segment_inventory.ts +0 -1111
  290. package/src/core/segment_buffers/inventory/types.ts +0 -35
  291. package/src/core/segment_buffers/segment_buffers_store.ts +0 -383
  292. package/src/core/stream/README.md +0 -59
  293. package/src/core/stream/adaptation/adaptation_stream.ts +0 -378
  294. package/src/core/stream/adaptation/index.ts +0 -20
  295. package/src/core/stream/adaptation/types.ts +0 -199
  296. package/src/core/stream/adaptation/utils/create_representation_estimator.ts +0 -114
  297. package/src/core/stream/index.ts +0 -38
  298. package/src/core/stream/orchestrator/README.md +0 -349
  299. package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +0 -70
  300. package/src/core/stream/orchestrator/index.ts +0 -30
  301. package/src/core/stream/orchestrator/stream_orchestrator.ts +0 -664
  302. package/src/core/stream/period/index.ts +0 -20
  303. package/src/core/stream/period/period_stream.ts +0 -469
  304. package/src/core/stream/period/types.ts +0 -132
  305. package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +0 -287
  306. package/src/core/stream/representation/README.md +0 -16
  307. package/src/core/stream/representation/index.ts +0 -20
  308. package/src/core/stream/representation/representation_stream.ts +0 -474
  309. package/src/core/stream/representation/types.ts +0 -292
  310. package/src/core/stream/representation/utils/append_segment_to_buffer.ts +0 -77
  311. package/src/core/stream/representation/utils/check_for_discontinuity.ts +0 -305
  312. package/src/core/stream/representation/utils/downloading_queue.ts +0 -603
  313. package/src/core/stream/representation/utils/force_garbage_collection.ts +0 -113
  314. package/src/core/stream/representation/utils/get_buffer_status.ts +0 -322
  315. package/src/core/stream/representation/utils/get_needed_segments.ts +0 -617
  316. package/src/core/stream/representation/utils/get_segment_priority.ts +0 -43
  317. package/src/core/stream/representation/utils/push_init_segment.ts +0 -85
  318. package/src/core/stream/representation/utils/push_media_segment.ts +0 -113
  319. package/src/default_config.ts +0 -1293
  320. package/src/errors/README.md +0 -6
  321. package/src/errors/__tests__/assertion_error.test.ts +0 -26
  322. package/src/errors/__tests__/encrypted_media_error.test.ts +0 -45
  323. package/src/errors/__tests__/error_message.test.ts +0 -23
  324. package/src/errors/__tests__/format_error.test.ts +0 -62
  325. package/src/errors/__tests__/is_known_error.test.ts +0 -65
  326. package/src/errors/__tests__/media_error.test.ts +0 -55
  327. package/src/errors/__tests__/network_error.test.ts +0 -84
  328. package/src/errors/__tests__/other_error.test.ts +0 -53
  329. package/src/errors/__tests__/request_error.test.ts +0 -45
  330. package/src/errors/assertion_error.ts +0 -40
  331. package/src/errors/custom_loader_error.ts +0 -57
  332. package/src/errors/encrypted_media_error.ts +0 -71
  333. package/src/errors/error_codes.ts +0 -149
  334. package/src/errors/error_message.ts +0 -30
  335. package/src/errors/format_error.ts +0 -39
  336. package/src/errors/index.ts +0 -52
  337. package/src/errors/is_known_error.ts +0 -35
  338. package/src/errors/media_error.ts +0 -118
  339. package/src/errors/network_error.ts +0 -74
  340. package/src/errors/other_error.ts +0 -50
  341. package/src/errors/request_error.ts +0 -76
  342. package/src/experimental/README.md +0 -16
  343. package/src/experimental/features/__tests__/dash_wasm.test.ts +0 -44
  344. package/src/experimental/features/__tests__/debug_element.test.ts +0 -12
  345. package/src/experimental/features/__tests__/index.test.ts +0 -19
  346. package/src/experimental/features/__tests__/local.test.ts +0 -35
  347. package/src/experimental/features/__tests__/metaplaylist.test.ts +0 -35
  348. package/src/experimental/features/dash_wasm.ts +0 -41
  349. package/src/experimental/features/debug_element.ts +0 -13
  350. package/src/experimental/features/index.ts +0 -20
  351. package/src/experimental/features/local.ts +0 -28
  352. package/src/experimental/features/metaplaylist.ts +0 -28
  353. package/src/experimental/index.ts +0 -5
  354. package/src/experimental/tools/VideoThumbnailLoader/features/dash.ts +0 -23
  355. package/src/experimental/tools/VideoThumbnailLoader/features/metaplaylist.ts +0 -23
  356. package/src/experimental/tools/VideoThumbnailLoader/index.ts +0 -25
  357. package/src/experimental/tools/VideoThumbnailLoader/load_and_push_segment.ts +0 -77
  358. package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +0 -75
  359. package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +0 -54
  360. package/src/experimental/tools/VideoThumbnailLoader/types.ts +0 -39
  361. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +0 -423
  362. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.ts +0 -34
  363. package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +0 -141
  364. package/src/experimental/tools/createMetaplaylist/index.ts +0 -72
  365. package/src/experimental/tools/index.ts +0 -27
  366. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +0 -37
  367. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +0 -140
  368. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +0 -153
  369. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +0 -405
  370. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +0 -136
  371. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +0 -294
  372. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +0 -189
  373. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/utils.test.ts +0 -361
  374. package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +0 -184
  375. package/src/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.ts +0 -136
  376. package/src/experimental/tools/mediaCapabilitiesProber/capabilities.ts +0 -169
  377. package/src/experimental/tools/mediaCapabilitiesProber/index.ts +0 -18
  378. package/src/experimental/tools/mediaCapabilitiesProber/log.ts +0 -21
  379. package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +0 -67
  380. package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +0 -89
  381. package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +0 -100
  382. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -66
  383. package/src/experimental/tools/mediaCapabilitiesProber/probers/index.ts +0 -44
  384. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +0 -66
  385. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.ts +0 -100
  386. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +0 -105
  387. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +0 -54
  388. package/src/experimental/tools/mediaCapabilitiesProber/types.ts +0 -75
  389. package/src/experimental/tools/mediaCapabilitiesProber/utils.ts +0 -107
  390. package/src/experimental/tools/parseBIFThumbnails.ts +0 -39
  391. package/src/features/README.md +0 -11
  392. package/src/features/__tests__/add_features.test.ts +0 -69
  393. package/src/features/__tests__/initialize_features.test.ts +0 -674
  394. package/src/features/add_features.ts +0 -37
  395. package/src/features/features_object.ts +0 -37
  396. package/src/features/index.ts +0 -40
  397. package/src/features/initialize_features.ts +0 -136
  398. package/src/features/list/__tests__/bif_parser.test.ts +0 -30
  399. package/src/features/list/__tests__/dash.test.ts +0 -41
  400. package/src/features/list/__tests__/directfile.test.ts +0 -35
  401. package/src/features/list/__tests__/eme.test.ts +0 -28
  402. package/src/features/list/__tests__/html_sami_parser.test.ts +0 -33
  403. package/src/features/list/__tests__/html_srt_parser.test.ts +0 -33
  404. package/src/features/list/__tests__/html_text_buffer.test.ts +0 -29
  405. package/src/features/list/__tests__/html_ttml_parser.test.ts +0 -33
  406. package/src/features/list/__tests__/html_vtt_parser.test.ts +0 -33
  407. package/src/features/list/__tests__/image_buffer.test.ts +0 -28
  408. package/src/features/list/__tests__/index.test.ts +0 -55
  409. package/src/features/list/__tests__/native_sami_parser.test.ts +0 -33
  410. package/src/features/list/__tests__/native_srt_parser.test.ts +0 -33
  411. package/src/features/list/__tests__/native_text_buffer.test.ts +0 -29
  412. package/src/features/list/__tests__/native_ttml_parser.test.ts +0 -33
  413. package/src/features/list/__tests__/native_vtt_parser.test.ts +0 -33
  414. package/src/features/list/__tests__/smooth.test.ts +0 -36
  415. package/src/features/list/bif_parser.ts +0 -31
  416. package/src/features/list/dash.ts +0 -36
  417. package/src/features/list/directfile.ts +0 -35
  418. package/src/features/list/eme.ts +0 -29
  419. package/src/features/list/html_sami_parser.ts +0 -31
  420. package/src/features/list/html_srt_parser.ts +0 -31
  421. package/src/features/list/html_text_buffer.ts +0 -29
  422. package/src/features/list/html_ttml_parser.ts +0 -31
  423. package/src/features/list/html_vtt_parser.ts +0 -31
  424. package/src/features/list/image_buffer.ts +0 -29
  425. package/src/features/list/index.ts +0 -32
  426. package/src/features/list/native_sami_parser.ts +0 -32
  427. package/src/features/list/native_srt_parser.ts +0 -32
  428. package/src/features/list/native_text_buffer.ts +0 -30
  429. package/src/features/list/native_ttml_parser.ts +0 -32
  430. package/src/features/list/native_vtt_parser.ts +0 -32
  431. package/src/features/list/smooth.ts +0 -32
  432. package/src/features/types.ts +0 -183
  433. package/src/index.ts +0 -38
  434. package/src/log.ts +0 -22
  435. package/src/manifest/README.md +0 -55
  436. package/src/manifest/__tests__/adaptation.test.ts +0 -485
  437. package/src/manifest/__tests__/manifest.test.ts +0 -428
  438. package/src/manifest/__tests__/period.test.ts +0 -769
  439. package/src/manifest/__tests__/representation.test.ts +0 -297
  440. package/src/manifest/__tests__/update_period_in_place.test.ts +0 -1074
  441. package/src/manifest/__tests__/update_periods.test.ts +0 -845
  442. package/src/manifest/adaptation.ts +0 -294
  443. package/src/manifest/index.ts +0 -67
  444. package/src/manifest/manifest.ts +0 -811
  445. package/src/manifest/period.ts +0 -211
  446. package/src/manifest/representation.ts +0 -451
  447. package/src/manifest/representation_index/__tests__/static.test.ts +0 -74
  448. package/src/manifest/representation_index/index.ts +0 -31
  449. package/src/manifest/representation_index/static.ts +0 -158
  450. package/src/manifest/representation_index/types.ts +0 -433
  451. package/src/manifest/types.ts +0 -33
  452. package/src/manifest/update_period_in_place.ts +0 -142
  453. package/src/manifest/update_periods.ts +0 -201
  454. package/src/manifest/utils.ts +0 -60
  455. package/src/minimal.ts +0 -34
  456. package/src/parsers/README.md +0 -12
  457. package/src/parsers/containers/isobmff/constants.ts +0 -24
  458. package/src/parsers/containers/isobmff/create_box.ts +0 -81
  459. package/src/parsers/containers/isobmff/drm/index.ts +0 -17
  460. package/src/parsers/containers/isobmff/drm/playready.ts +0 -45
  461. package/src/parsers/containers/isobmff/get_box.ts +0 -278
  462. package/src/parsers/containers/isobmff/index.ts +0 -51
  463. package/src/parsers/containers/isobmff/read.ts +0 -105
  464. package/src/parsers/containers/isobmff/take_pssh_out.ts +0 -101
  465. package/src/parsers/containers/isobmff/utils.ts +0 -555
  466. package/src/parsers/containers/matroska/index.ts +0 -21
  467. package/src/parsers/containers/matroska/utils.ts +0 -313
  468. package/src/parsers/images/bif.ts +0 -128
  469. package/src/parsers/manifest/dash/common/__tests__/attach_trickmode_track.test.ts +0 -65
  470. package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +0 -37
  471. package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +0 -162
  472. package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +0 -65
  473. package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +0 -165
  474. package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -118
  475. package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +0 -290
  476. package/src/parsers/manifest/dash/common/__tests__/parse_availability_start_time.test.ts +0 -63
  477. package/src/parsers/manifest/dash/common/attach_trickmode_track.ts +0 -55
  478. package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +0 -32
  479. package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +0 -87
  480. package/src/parsers/manifest/dash/common/get_clock_offset.ts +0 -41
  481. package/src/parsers/manifest/dash/common/get_hdr_information.ts +0 -94
  482. package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +0 -46
  483. package/src/parsers/manifest/dash/common/get_minimum_and_maximum_positions.ts +0 -39
  484. package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +0 -91
  485. package/src/parsers/manifest/dash/common/index.ts +0 -40
  486. package/src/parsers/manifest/dash/common/indexes/__tests__/tokens.test.ts +0 -60
  487. package/src/parsers/manifest/dash/common/indexes/base.ts +0 -444
  488. package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +0 -55
  489. package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +0 -148
  490. package/src/parsers/manifest/dash/common/indexes/index.ts +0 -39
  491. package/src/parsers/manifest/dash/common/indexes/list.ts +0 -338
  492. package/src/parsers/manifest/dash/common/indexes/template.ts +0 -652
  493. package/src/parsers/manifest/dash/common/indexes/timeline/__tests__/parse_s_element.test.ts +0 -115
  494. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +0 -54
  495. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.ts +0 -102
  496. package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +0 -66
  497. package/src/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.ts +0 -153
  498. package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +0 -21
  499. package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +0 -72
  500. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +0 -1049
  501. package/src/parsers/manifest/dash/common/indexes/tokens.ts +0 -127
  502. package/src/parsers/manifest/dash/common/indexes/utils.ts +0 -32
  503. package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +0 -142
  504. package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +0 -165
  505. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +0 -569
  506. package/src/parsers/manifest/dash/common/parse_availability_start_time.ts +0 -35
  507. package/src/parsers/manifest/dash/common/parse_mpd.ts +0 -399
  508. package/src/parsers/manifest/dash/common/parse_periods.ts +0 -363
  509. package/src/parsers/manifest/dash/common/parse_representation_index.ts +0 -199
  510. package/src/parsers/manifest/dash/common/parse_representations.ts +0 -352
  511. package/src/parsers/manifest/dash/common/resolve_base_urls.ts +0 -58
  512. package/src/parsers/manifest/dash/index.ts +0 -22
  513. package/src/parsers/manifest/dash/js-parser/__tests__/parse_from_document.test.ts +0 -45
  514. package/src/parsers/manifest/dash/js-parser/index.ts +0 -18
  515. package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +0 -381
  516. package/src/parsers/manifest/dash/js-parser/node_parsers/BaseURL.ts +0 -35
  517. package/src/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.ts +0 -49
  518. package/src/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.ts +0 -94
  519. package/src/parsers/manifest/dash/js-parser/node_parsers/EventStream.ts +0 -117
  520. package/src/parsers/manifest/dash/js-parser/node_parsers/Initialization.ts +0 -48
  521. package/src/parsers/manifest/dash/js-parser/node_parsers/MPD.ts +0 -180
  522. package/src/parsers/manifest/dash/js-parser/node_parsers/Period.ts +0 -152
  523. package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +0 -234
  524. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.ts +0 -112
  525. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentList.ts +0 -50
  526. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.ts +0 -98
  527. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.ts +0 -35
  528. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.ts +0 -63
  529. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/AdaptationSet.test.ts +0 -407
  530. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentComponent.test.ts +0 -67
  531. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentProtection.test.ts +0 -223
  532. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/Initialization.test.ts +0 -139
  533. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentTimeline.test.ts +0 -119
  534. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentURL.test.ts +0 -205
  535. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/utils.test.ts +0 -218
  536. package/src/parsers/manifest/dash/js-parser/node_parsers/utils.ts +0 -384
  537. package/src/parsers/manifest/dash/js-parser/parse_from_document.ts +0 -129
  538. package/src/parsers/manifest/dash/node_parser_types.ts +0 -431
  539. package/src/parsers/manifest/dash/parsers_types.ts +0 -91
  540. package/src/parsers/manifest/dash/wasm-parser/Cargo.lock +0 -25
  541. package/src/parsers/manifest/dash/wasm-parser/Cargo.toml +0 -16
  542. package/src/parsers/manifest/dash/wasm-parser/README.md +0 -267
  543. package/src/parsers/manifest/dash/wasm-parser/index.ts +0 -21
  544. package/src/parsers/manifest/dash/wasm-parser/rs/errors.rs +0 -28
  545. package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +0 -373
  546. package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +0 -85
  547. package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +0 -414
  548. package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +0 -472
  549. package/src/parsers/manifest/dash/wasm-parser/rs/processor/s_element.rs +0 -72
  550. package/src/parsers/manifest/dash/wasm-parser/rs/reader.rs +0 -17
  551. package/src/parsers/manifest/dash/wasm-parser/rs/reportable.rs +0 -147
  552. package/src/parsers/manifest/dash/wasm-parser/rs/utils.rs +0 -217
  553. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +0 -477
  554. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +0 -343
  555. package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +0 -38
  556. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.ts +0 -53
  557. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +0 -62
  558. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +0 -144
  559. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +0 -183
  560. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +0 -180
  561. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +0 -215
  562. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.ts +0 -44
  563. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.ts +0 -115
  564. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +0 -61
  565. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.ts +0 -133
  566. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.ts +0 -70
  567. package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +0 -66
  568. package/src/parsers/manifest/dash/wasm-parser/ts/generators/index.ts +0 -17
  569. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +0 -66
  570. package/src/parsers/manifest/dash/wasm-parser/ts/parsers_stack.ts +0 -80
  571. package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +0 -298
  572. package/src/parsers/manifest/dash/wasm-parser/ts/utils.ts +0 -47
  573. package/src/parsers/manifest/index.ts +0 -17
  574. package/src/parsers/manifest/local/index.ts +0 -25
  575. package/src/parsers/manifest/local/parse_local_manifest.ts +0 -164
  576. package/src/parsers/manifest/local/representation_index.ts +0 -246
  577. package/src/parsers/manifest/local/types.ts +0 -291
  578. package/src/parsers/manifest/metaplaylist/index.ts +0 -28
  579. package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +0 -335
  580. package/src/parsers/manifest/metaplaylist/representation_index.ts +0 -251
  581. package/src/parsers/manifest/smooth/create_parser.ts +0 -699
  582. package/src/parsers/manifest/smooth/get_codecs.ts +0 -55
  583. package/src/parsers/manifest/smooth/index.ts +0 -26
  584. package/src/parsers/manifest/smooth/parse_C_nodes.ts +0 -69
  585. package/src/parsers/manifest/smooth/parse_protection_node.ts +0 -72
  586. package/src/parsers/manifest/smooth/representation_index.ts +0 -704
  587. package/src/parsers/manifest/smooth/utils/add_segment_infos.ts +0 -77
  588. package/src/parsers/manifest/smooth/utils/parseBoolean.ts +0 -31
  589. package/src/parsers/manifest/smooth/utils/reduceChildren.ts +0 -36
  590. package/src/parsers/manifest/smooth/utils/tokens.ts +0 -46
  591. package/src/parsers/manifest/types.ts +0 -395
  592. package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +0 -161
  593. package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +0 -161
  594. package/src/parsers/manifest/utils/__tests__/index_helpers.test.ts +0 -55
  595. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +0 -546
  596. package/src/parsers/manifest/utils/check_manifest_ids.ts +0 -83
  597. package/src/parsers/manifest/utils/clear_timeline_from_position.ts +0 -74
  598. package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +0 -48
  599. package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +0 -50
  600. package/src/parsers/manifest/utils/get_maximum_positions.ts +0 -87
  601. package/src/parsers/manifest/utils/get_minimum_position.ts +0 -80
  602. package/src/parsers/manifest/utils/index_helpers.ts +0 -204
  603. package/src/parsers/manifest/utils/update_segment_timeline.ts +0 -141
  604. package/src/parsers/texttracks/index.ts +0 -21
  605. package/src/parsers/texttracks/sami/html.ts +0 -219
  606. package/src/parsers/texttracks/sami/native.ts +0 -192
  607. package/src/parsers/texttracks/srt/__tests__/find_end_of_cue_block.test.ts +0 -99
  608. package/src/parsers/texttracks/srt/__tests__/get_cue_blocks.test.ts +0 -119
  609. package/src/parsers/texttracks/srt/__tests__/parse_cue.test.ts +0 -123
  610. package/src/parsers/texttracks/srt/__tests__/parse_timestamp.test.ts +0 -36
  611. package/src/parsers/texttracks/srt/find_end_of_cue_block.ts +0 -46
  612. package/src/parsers/texttracks/srt/get_cue_blocks.ts +0 -49
  613. package/src/parsers/texttracks/srt/html.ts +0 -182
  614. package/src/parsers/texttracks/srt/native.ts +0 -74
  615. package/src/parsers/texttracks/srt/parse_cue.ts +0 -76
  616. package/src/parsers/texttracks/srt/parse_timestamp.ts +0 -37
  617. package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +0 -248
  618. package/src/parsers/texttracks/ttml/get_parameters.ts +0 -106
  619. package/src/parsers/texttracks/ttml/get_styling.ts +0 -146
  620. package/src/parsers/texttracks/ttml/get_time_delimiters.ts +0 -49
  621. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.test.ts +0 -190
  622. package/src/parsers/texttracks/ttml/html/__tests__/generate_css_test_outline.test.ts +0 -32
  623. package/src/parsers/texttracks/ttml/html/__tests__/ttml_color_to_css_color.test.ts +0 -62
  624. package/src/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.ts +0 -67
  625. package/src/parsers/texttracks/ttml/html/apply_extent.ts +0 -65
  626. package/src/parsers/texttracks/ttml/html/apply_font_size.ts +0 -62
  627. package/src/parsers/texttracks/ttml/html/apply_line_height.ts +0 -50
  628. package/src/parsers/texttracks/ttml/html/apply_origin.ts +0 -64
  629. package/src/parsers/texttracks/ttml/html/apply_padding.ts +0 -141
  630. package/src/parsers/texttracks/ttml/html/create_element.ts +0 -549
  631. package/src/parsers/texttracks/ttml/html/generate_css_test_outline.ts +0 -46
  632. package/src/parsers/texttracks/ttml/html/index.ts +0 -23
  633. package/src/parsers/texttracks/ttml/html/parse_cue.ts +0 -65
  634. package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +0 -58
  635. package/src/parsers/texttracks/ttml/html/ttml_color_to_css_color.ts +0 -68
  636. package/src/parsers/texttracks/ttml/native/index.ts +0 -23
  637. package/src/parsers/texttracks/ttml/native/parse_cue.ts +0 -245
  638. package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +0 -39
  639. package/src/parsers/texttracks/ttml/parse_ttml.ts +0 -206
  640. package/src/parsers/texttracks/ttml/regexps.ts +0 -65
  641. package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +0 -84
  642. package/src/parsers/texttracks/ttml/time_parsing.ts +0 -156
  643. package/src/parsers/texttracks/ttml/xml_utils.ts +0 -166
  644. package/src/parsers/texttracks/types.ts +0 -34
  645. package/src/parsers/texttracks/webvtt/__tests__/get_cue_blocks.test.ts +0 -218
  646. package/src/parsers/texttracks/webvtt/__tests__/get_style_blocks.test.ts +0 -65
  647. package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +0 -249
  648. package/src/parsers/texttracks/webvtt/__tests__/parse_timestamp.test.ts +0 -39
  649. package/src/parsers/texttracks/webvtt/__tests__/utils.test.ts +0 -401
  650. package/src/parsers/texttracks/webvtt/get_cue_blocks.ts +0 -51
  651. package/src/parsers/texttracks/webvtt/get_style_blocks.ts +0 -56
  652. package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +0 -106
  653. package/src/parsers/texttracks/webvtt/html/__tests__/create_default_style_elements.test.ts +0 -44
  654. package/src/parsers/texttracks/webvtt/html/__tests__/create_style_attribute.test.ts +0 -139
  655. package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +0 -140
  656. package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +0 -345
  657. package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +0 -181
  658. package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +0 -234
  659. package/src/parsers/texttracks/webvtt/html/convert_payload_to_html.ts +0 -46
  660. package/src/parsers/texttracks/webvtt/html/create_default_style_elements.ts +0 -26
  661. package/src/parsers/texttracks/webvtt/html/create_style_attribute.ts +0 -222
  662. package/src/parsers/texttracks/webvtt/html/create_styled_element.ts +0 -95
  663. package/src/parsers/texttracks/webvtt/html/index.ts +0 -25
  664. package/src/parsers/texttracks/webvtt/html/parse_style_block.ts +0 -76
  665. package/src/parsers/texttracks/webvtt/html/parse_webvtt_to_div.ts +0 -67
  666. package/src/parsers/texttracks/webvtt/html/to_html.ts +0 -96
  667. package/src/parsers/texttracks/webvtt/native/index.ts +0 -23
  668. package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +0 -70
  669. package/src/parsers/texttracks/webvtt/native/set_settings_on_cue.ts +0 -95
  670. package/src/parsers/texttracks/webvtt/native/to_native_cue.ts +0 -34
  671. package/src/parsers/texttracks/webvtt/parse_cue_block.ts +0 -128
  672. package/src/parsers/texttracks/webvtt/parse_timestamp.ts +0 -40
  673. package/src/parsers/texttracks/webvtt/utils.ts +0 -135
  674. package/src/public_types.ts +0 -846
  675. package/src/tools/README.md +0 -4
  676. package/src/tools/TextTrackRenderer/index.ts +0 -28
  677. package/src/tools/TextTrackRenderer/text_track_renderer.ts +0 -107
  678. package/src/tools/index.ts +0 -20
  679. package/src/tools/string_utils.ts +0 -24
  680. package/src/transports/README.md +0 -276
  681. package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +0 -98
  682. package/src/transports/dash/construct_segment_url.ts +0 -28
  683. package/src/transports/dash/extract_complete_chunks.ts +0 -66
  684. package/src/transports/dash/get_events_out_of_emsgs.ts +0 -105
  685. package/src/transports/dash/image_pipelines.ts +0 -122
  686. package/src/transports/dash/index.ts +0 -23
  687. package/src/transports/dash/init_segment_loader.ts +0 -114
  688. package/src/transports/dash/low_latency_segment_loader.ts +0 -87
  689. package/src/transports/dash/manifest_parser.ts +0 -325
  690. package/src/transports/dash/pipelines.ts +0 -72
  691. package/src/transports/dash/segment_loader.ts +0 -249
  692. package/src/transports/dash/segment_parser.ts +0 -194
  693. package/src/transports/dash/text_loader.ts +0 -120
  694. package/src/transports/dash/text_parser.ts +0 -234
  695. package/src/transports/index.ts +0 -17
  696. package/src/transports/local/index.ts +0 -18
  697. package/src/transports/local/pipelines.ts +0 -100
  698. package/src/transports/local/segment_loader.ts +0 -198
  699. package/src/transports/local/segment_parser.ts +0 -101
  700. package/src/transports/local/text_parser.ts +0 -185
  701. package/src/transports/metaplaylist/README.md +0 -94
  702. package/src/transports/metaplaylist/index.ts +0 -23
  703. package/src/transports/metaplaylist/manifest_loader.ts +0 -62
  704. package/src/transports/metaplaylist/pipelines.ts +0 -425
  705. package/src/transports/smooth/extract_timings_infos.ts +0 -142
  706. package/src/transports/smooth/index.ts +0 -23
  707. package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +0 -231
  708. package/src/transports/smooth/isobmff/create_audio_init_segment.ts +0 -84
  709. package/src/transports/smooth/isobmff/create_boxes.ts +0 -481
  710. package/src/transports/smooth/isobmff/create_init_segment.ts +0 -100
  711. package/src/transports/smooth/isobmff/create_traf_box.ts +0 -40
  712. package/src/transports/smooth/isobmff/create_video_init_segment.ts +0 -78
  713. package/src/transports/smooth/isobmff/get_aaces_header.ts +0 -62
  714. package/src/transports/smooth/isobmff/index.ts +0 -32
  715. package/src/transports/smooth/isobmff/parse_tfrf.ts +0 -57
  716. package/src/transports/smooth/isobmff/parse_tfxd.ts +0 -38
  717. package/src/transports/smooth/isobmff/patch_segment.ts +0 -171
  718. package/src/transports/smooth/pipelines.ts +0 -533
  719. package/src/transports/smooth/segment_loader.ts +0 -288
  720. package/src/transports/smooth/utils.ts +0 -106
  721. package/src/transports/types.ts +0 -809
  722. package/src/transports/utils/__tests__/byte_range.test.ts +0 -35
  723. package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +0 -148
  724. package/src/transports/utils/__tests__/find_complete_box.test.ts +0 -138
  725. package/src/transports/utils/__tests__/infer_segment_container.test.ts +0 -227
  726. package/src/transports/utils/byte_range.ts +0 -25
  727. package/src/transports/utils/call_custom_manifest_loader.ts +0 -147
  728. package/src/transports/utils/check_isobmff_integrity.ts +0 -50
  729. package/src/transports/utils/find_complete_box.ts +0 -63
  730. package/src/transports/utils/generate_manifest_loader.ts +0 -97
  731. package/src/transports/utils/get_isobmff_timing_infos.ts +0 -86
  732. package/src/transports/utils/infer_segment_container.ts +0 -56
  733. package/src/transports/utils/parse_text_track.ts +0 -176
  734. package/src/typings/README.md +0 -7
  735. package/src/typings/globals.d.ts +0 -83
  736. package/src/typings/next-tick.d.ts +0 -23
  737. package/src/utils/README.md +0 -5
  738. package/src/utils/__tests__/are_arrays_of_numbers_equal.test.ts +0 -86
  739. package/src/utils/__tests__/are_codecs_compatible.test.ts +0 -88
  740. package/src/utils/__tests__/array_find.test.ts +0 -113
  741. package/src/utils/__tests__/array_find_index.test.ts +0 -113
  742. package/src/utils/__tests__/array_includes.test.ts +0 -151
  743. package/src/utils/__tests__/assert.test.ts +0 -237
  744. package/src/utils/__tests__/assert_unreachable.test.ts +0 -40
  745. package/src/utils/__tests__/base64.test.ts +0 -147
  746. package/src/utils/__tests__/byte_parsing.test.ts +0 -267
  747. package/src/utils/__tests__/deep_merge.test.ts +0 -48
  748. package/src/utils/__tests__/event_emitter.test.ts +0 -579
  749. package/src/utils/__tests__/flat_map.test.ts +0 -71
  750. package/src/utils/__tests__/get_fuzzed_delay.test.ts +0 -32
  751. package/src/utils/__tests__/hash_buffer.test.ts +0 -105
  752. package/src/utils/__tests__/id_generator.test.ts +0 -80
  753. package/src/utils/__tests__/initialization_segment_cache.test.ts +0 -245
  754. package/src/utils/__tests__/is_non_empty_string.test.ts +0 -41
  755. package/src/utils/__tests__/is_null_or_undefined.test.ts +0 -33
  756. package/src/utils/__tests__/list_to_map.test.ts +0 -46
  757. package/src/utils/__tests__/logger.test.ts +0 -214
  758. package/src/utils/__tests__/noop.test.ts +0 -23
  759. package/src/utils/__tests__/object_assign.test.ts +0 -56
  760. package/src/utils/__tests__/object_values.test.ts +0 -26
  761. package/src/utils/__tests__/ranges.test.ts +0 -907
  762. package/src/utils/__tests__/resolve_url.test.ts +0 -100
  763. package/src/utils/__tests__/simple_set.test.ts +0 -57
  764. package/src/utils/__tests__/sorted_list.test.ts +0 -335
  765. package/src/utils/__tests__/starts_with.test.ts +0 -65
  766. package/src/utils/__tests__/string_parsing.test.ts +0 -267
  767. package/src/utils/__tests__/uniq.test.ts +0 -134
  768. package/src/utils/__tests__/warn_once.test.ts +0 -38
  769. package/src/utils/__tests__/weak_map_memory.test.ts +0 -188
  770. package/src/utils/are_arrays_of_numbers_equal.ts +0 -39
  771. package/src/utils/are_codecs_compatible.ts +0 -51
  772. package/src/utils/array_find.ts +0 -55
  773. package/src/utils/array_find_index.ts +0 -54
  774. package/src/utils/array_includes.ts +0 -93
  775. package/src/utils/assert.ts +0 -65
  776. package/src/utils/assert_unreachable.ts +0 -45
  777. package/src/utils/base64.ts +0 -153
  778. package/src/utils/byte_parsing.ts +0 -256
  779. package/src/utils/cancellable_sleep.ts +0 -41
  780. package/src/utils/create_cancellable_promise.ts +0 -69
  781. package/src/utils/deep_merge.ts +0 -49
  782. package/src/utils/event_emitter.ts +0 -147
  783. package/src/utils/flat_map.ts +0 -50
  784. package/src/utils/get_fuzzed_delay.ts +0 -27
  785. package/src/utils/hash_buffer.ts +0 -42
  786. package/src/utils/id_generator.ts +0 -35
  787. package/src/utils/initialization_segment_cache.ts +0 -68
  788. package/src/utils/is_non_empty_string.ts +0 -23
  789. package/src/utils/is_null_or_undefined.ts +0 -27
  790. package/src/utils/languages/ISO_639-1_to_ISO_639-3.ts +0 -207
  791. package/src/utils/languages/ISO_639-2_to_ISO_639-3.ts +0 -43
  792. package/src/utils/languages/__tests__/normalize.test.ts +0 -290
  793. package/src/utils/languages/index.ts +0 -29
  794. package/src/utils/languages/normalize.ts +0 -152
  795. package/src/utils/list_to_map.ts +0 -32
  796. package/src/utils/logger.ts +0 -100
  797. package/src/utils/noop.ts +0 -26
  798. package/src/utils/object_assign.ts +0 -60
  799. package/src/utils/object_values.ts +0 -31
  800. package/src/utils/ranges.ts +0 -499
  801. package/src/utils/reference.ts +0 -390
  802. package/src/utils/request/fetch.ts +0 -250
  803. package/src/utils/request/index.ts +0 -38
  804. package/src/utils/request/xhr.ts +0 -287
  805. package/src/utils/resolve_url.ts +0 -126
  806. package/src/utils/retry_promise_with_backoff.ts +0 -95
  807. package/src/utils/simple_set.ts +0 -67
  808. package/src/utils/sleep.ts +0 -14
  809. package/src/utils/slice_uint8array.ts +0 -53
  810. package/src/utils/sorted_list.ts +0 -240
  811. package/src/utils/starts_with.ts +0 -42
  812. package/src/utils/string_parsing.ts +0 -414
  813. package/src/utils/task_canceller.ts +0 -367
  814. package/src/utils/uniq.ts +0 -49
  815. package/src/utils/warn_once.ts +0 -34
  816. package/src/utils/weak_map_memory.ts +0 -89
  817. package/src/utils/wrapInPromise.ts +0 -24
  818. package/tsconfig.json +0 -28
  819. package/tsconfig.modules.json +0 -36
@@ -1,763 +0,0 @@
1
- import TaskCanceller, {
2
- CancellationError,
3
- CancellationSignal,
4
- } from "../../../../utils/task_canceller";
5
- import TaskPrioritizer, {
6
- ITaskFn,
7
- } from "../task_prioritizer";
8
-
9
- /* eslint-disable @typescript-eslint/no-floating-promises */
10
-
11
- // function assert(condition: boolean, msg?: string): asserts condition {
12
- // if (!condition) {
13
- // throw new Error(msg ?? "The asserted condition turned out to be false.");
14
- // }
15
- // }
16
- function generateTaskFunction<T>(res: T): ITaskFn<T> {
17
- return (cancelSignal: CancellationSignal) => {
18
- return new Promise((resolve, reject) => {
19
- const timeoutId = setTimeout(() => resolve(res), 10);
20
- cancelSignal.register((err: CancellationError) => {
21
- clearTimeout(timeoutId);
22
- reject(err);
23
- });
24
- });
25
- };
26
- }
27
-
28
- describe("SegmentFetchers TaskPrioritizer", () => {
29
- it("should not throw if updating the priority of a non-existent task", () => {
30
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
31
- expect(() => {
32
- prioritizer.updatePriority(() => Promise.resolve(),
33
- 1);
34
- }).not.toThrow();
35
- });
36
-
37
- it("should run task right away", (done) => {
38
- const task = jest.fn(generateTaskFunction(0));
39
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
40
- let wasInterrupted = 0;
41
- let wasEnded = false;
42
- const taskCanceller = new TaskCanceller();
43
- prioritizer.create(task, 99, {
44
- beforeInterrupted() {
45
- wasInterrupted++;
46
- },
47
- beforeEnded() {
48
- wasEnded = true;
49
- },
50
- }, taskCanceller.signal)
51
- .then((val) => {
52
- expect(val).toEqual(0);
53
- expect(wasInterrupted).toEqual(0);
54
- expect(wasEnded).toEqual(true);
55
- expect(task).toHaveBeenCalledTimes(1);
56
- done();
57
- });
58
- expect(task).toHaveBeenCalledTimes(1);
59
- });
60
-
61
- /* eslint-disable max-len */
62
- it("should throw if the given high priority is a higher (or equal) number than the given low priority", () => {
63
- expect(() => new TaskPrioritizer({ prioritySteps: { high: 7, low: 6 } })).toThrow();
64
- expect(() => new TaskPrioritizer({ prioritySteps: { high: 7, low: 7 } })).toThrow();
65
- expect(() => new TaskPrioritizer({ prioritySteps: { high: 7, low: 8 } })).not.toThrow();
66
- });
67
-
68
- it("should run multiple tasks of same priority right away", (done) => {
69
- const task1 = jest.fn(generateTaskFunction(1));
70
- const task2 = jest.fn(generateTaskFunction(2));
71
- const task3 = jest.fn(generateTaskFunction(3));
72
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
73
- let was1Interrupted = 0;
74
- let was1Ended = false;
75
- let was2Interrupted = 0;
76
- let was2Ended = false;
77
- let was3Interrupted = 0;
78
- let was3Ended = false;
79
- const taskCanceller = new TaskCanceller();
80
-
81
- prioritizer.create(task1, 99, {
82
- beforeInterrupted() {
83
- was1Interrupted++;
84
- },
85
- beforeEnded() {
86
- was1Ended = true;
87
- },
88
- }, taskCanceller.signal)
89
- .then((val) => {
90
- expect(val).toEqual(1);
91
- expect(was1Interrupted).toEqual(0);
92
- expect(was1Ended).toEqual(true);
93
- expect(task1).toHaveBeenCalledTimes(1);
94
- expect(task2).toHaveBeenCalledTimes(1);
95
- expect(task3).toHaveBeenCalledTimes(1);
96
- });
97
-
98
- prioritizer.create(task2, 99, {
99
- beforeInterrupted() {
100
- was2Interrupted++;
101
- },
102
- beforeEnded() {
103
- was2Ended = true;
104
- },
105
- }, taskCanceller.signal)
106
- .then((val) => {
107
- expect(val).toEqual(2);
108
- expect(was1Interrupted).toEqual(0);
109
- expect(was1Ended).toEqual(true);
110
- expect(was2Interrupted).toEqual(0);
111
- expect(was2Ended).toEqual(true);
112
- expect(task1).toHaveBeenCalledTimes(1);
113
- expect(task2).toHaveBeenCalledTimes(1);
114
- expect(task3).toHaveBeenCalledTimes(1);
115
- });
116
-
117
- prioritizer.create(task3, 99, {
118
- beforeInterrupted() {
119
- was3Interrupted++;
120
- },
121
- beforeEnded() {
122
- was3Ended = true;
123
- },
124
- }, taskCanceller.signal)
125
- .then((val) => {
126
- expect(val).toEqual(3);
127
- expect(was1Interrupted).toEqual(0);
128
- expect(was1Ended).toEqual(true);
129
- expect(was2Interrupted).toEqual(0);
130
- expect(was2Ended).toEqual(true);
131
- expect(was3Interrupted).toEqual(0);
132
- expect(was3Ended).toEqual(true);
133
- expect(task1).toHaveBeenCalledTimes(1);
134
- expect(task2).toHaveBeenCalledTimes(1);
135
- expect(task3).toHaveBeenCalledTimes(1);
136
- done();
137
- });
138
- expect(task1).toHaveBeenCalledTimes(1);
139
- expect(task2).toHaveBeenCalledTimes(1);
140
- expect(task3).toHaveBeenCalledTimes(1);
141
- });
142
-
143
- it("should not wait when tasks are run from lowest priority to highest", (done) => {
144
- const task1 = jest.fn(generateTaskFunction(1));
145
- const task2 = jest.fn(generateTaskFunction(2));
146
- const task3 = jest.fn(generateTaskFunction(3));
147
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
148
- let was1Interrupted = 0;
149
- let was1Ended = false;
150
- let was2Interrupted = 0;
151
- let was2Ended = false;
152
- let was3Interrupted = 0;
153
- let was3Ended = false;
154
- const taskCanceller = new TaskCanceller();
155
-
156
- prioritizer.create(task1, 20, {
157
- beforeInterrupted() {
158
- was1Interrupted++;
159
- },
160
- beforeEnded() {
161
- was1Ended = true;
162
- },
163
- }, taskCanceller.signal)
164
- .then((val) => {
165
- expect(val).toEqual(1);
166
- expect(was1Interrupted).toEqual(0);
167
- expect(was1Ended).toEqual(true);
168
- expect(task1).toHaveBeenCalledTimes(1);
169
- expect(task2).toHaveBeenCalledTimes(1);
170
- expect(task3).toHaveBeenCalledTimes(1);
171
- });
172
-
173
- prioritizer.create(task2, 15, {
174
- beforeInterrupted() {
175
- was2Interrupted++;
176
- },
177
- beforeEnded() {
178
- was2Ended = true;
179
- },
180
- }, taskCanceller.signal)
181
- .then((val) => {
182
- expect(val).toEqual(2);
183
- expect(was1Interrupted).toEqual(0);
184
- expect(was1Ended).toEqual(true);
185
- expect(was2Interrupted).toEqual(0);
186
- expect(was2Ended).toEqual(true);
187
- expect(task1).toHaveBeenCalledTimes(1);
188
- expect(task2).toHaveBeenCalledTimes(1);
189
- expect(task3).toHaveBeenCalledTimes(1);
190
- });
191
-
192
- prioritizer.create(task3, 10, {
193
- beforeInterrupted() {
194
- was3Interrupted++;
195
- },
196
- beforeEnded() {
197
- was3Ended = true;
198
- },
199
- }, taskCanceller.signal)
200
- .then((val) => {
201
- expect(val).toEqual(3);
202
- expect(was1Interrupted).toEqual(0);
203
- expect(was1Ended).toEqual(true);
204
- expect(was2Interrupted).toEqual(0);
205
- expect(was2Ended).toEqual(true);
206
- expect(was3Interrupted).toEqual(0);
207
- expect(was3Ended).toEqual(true);
208
- expect(task1).toHaveBeenCalledTimes(1);
209
- expect(task2).toHaveBeenCalledTimes(1);
210
- expect(task3).toHaveBeenCalledTimes(1);
211
- done();
212
- });
213
- expect(task1).toHaveBeenCalledTimes(1);
214
- expect(task2).toHaveBeenCalledTimes(1);
215
- expect(task3).toHaveBeenCalledTimes(1);
216
- });
217
-
218
- it("should wait for higher-priority tasks", (done) => {
219
- const task1 = jest.fn(generateTaskFunction(1));
220
- const task2 = jest.fn(generateTaskFunction(2));
221
- const task3 = jest.fn(generateTaskFunction(3));
222
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
223
- let was1Interrupted = 0;
224
- let was1Ended = false;
225
- let was2Interrupted = 0;
226
- let was2Ended = false;
227
- let was3Interrupted = 0;
228
- let was3Ended = false;
229
- const taskCanceller = new TaskCanceller();
230
-
231
- prioritizer.create(task1, 10, {
232
- beforeInterrupted() {
233
- was1Interrupted++;
234
- },
235
- beforeEnded() {
236
- was1Ended = true;
237
- expect(task1).toHaveBeenCalledTimes(1);
238
- expect(task2).toHaveBeenCalledTimes(0);
239
- expect(task3).toHaveBeenCalledTimes(0);
240
- },
241
- }, taskCanceller.signal)
242
- .then((val) => {
243
- expect(val).toEqual(1);
244
- expect(was1Interrupted).toEqual(0);
245
- expect(was1Ended).toEqual(true);
246
- });
247
-
248
- prioritizer.create(task2, 15, {
249
- beforeInterrupted() {
250
- was2Interrupted++;
251
- },
252
- beforeEnded() {
253
- was2Ended = true;
254
- expect(task1).toHaveBeenCalledTimes(1);
255
- expect(task2).toHaveBeenCalledTimes(1);
256
- expect(task3).toHaveBeenCalledTimes(0);
257
- },
258
- }, taskCanceller.signal)
259
- .then((val) => {
260
- expect(val).toEqual(2);
261
- expect(was1Interrupted).toEqual(0);
262
- expect(was1Ended).toEqual(true);
263
- expect(was2Interrupted).toEqual(0);
264
- expect(was2Ended).toEqual(true);
265
- });
266
-
267
- prioritizer.create(task3, 20, {
268
- beforeInterrupted() {
269
- was3Interrupted++;
270
- },
271
- beforeEnded() {
272
- was3Ended = true;
273
- expect(task1).toHaveBeenCalledTimes(1);
274
- expect(task2).toHaveBeenCalledTimes(1);
275
- expect(task3).toHaveBeenCalledTimes(1);
276
- },
277
- }, taskCanceller.signal)
278
- .then((val) => {
279
- expect(val).toEqual(3);
280
- expect(was1Interrupted).toEqual(0);
281
- expect(was1Ended).toEqual(true);
282
- expect(was2Interrupted).toEqual(0);
283
- expect(was2Ended).toEqual(true);
284
- expect(was3Interrupted).toEqual(0);
285
- expect(was3Ended).toEqual(true);
286
- done();
287
- });
288
- expect(task1).toHaveBeenCalledTimes(1);
289
- expect(task2).toHaveBeenCalledTimes(0);
290
- expect(task3).toHaveBeenCalledTimes(0);
291
- });
292
-
293
- it("should interrupt low-priority tasks when high-priority ones are created", (done) => {
294
- const task1 = jest.fn(generateTaskFunction(1));
295
- const task2 = jest.fn(generateTaskFunction(2));
296
- const task3 = jest.fn(generateTaskFunction(3));
297
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
298
- let was1Interrupted = 0;
299
- let was1Ended = false;
300
- let was2Interrupted = 0;
301
- let was2Ended = false;
302
- let was3Interrupted = 0;
303
- let was3Ended = false;
304
- const taskCanceller = new TaskCanceller();
305
-
306
- prioritizer.create(task1, 25, {
307
- beforeInterrupted() {
308
- expect(task1).toHaveBeenCalledTimes(1);
309
- expect(task2).toHaveBeenCalledTimes(1);
310
- expect(task3).toHaveBeenCalledTimes(0);
311
- was1Interrupted++;
312
- },
313
- beforeEnded() {
314
- expect(task1).toHaveBeenCalledTimes(2);
315
- expect(task2).toHaveBeenCalledTimes(1);
316
- expect(task3).toHaveBeenCalledTimes(1);
317
- expect(was2Interrupted).toEqual(0);
318
- expect(was2Ended).toEqual(true);
319
- expect(was3Interrupted).toEqual(0);
320
- expect(was3Ended).toEqual(true);
321
- was1Ended = true;
322
- },
323
- }, taskCanceller.signal)
324
- .then((val) => {
325
- expect(val).toEqual(1);
326
- expect(was1Interrupted).toEqual(1);
327
- expect(was1Ended).toEqual(true);
328
- done();
329
- });
330
-
331
- prioritizer.create(task2, 1, {
332
- beforeInterrupted() {
333
- was2Interrupted++;
334
- },
335
- beforeEnded() {
336
- expect(task1).toHaveBeenCalledTimes(1);
337
- expect(task2).toHaveBeenCalledTimes(1);
338
- expect(task3).toHaveBeenCalledTimes(0);
339
- expect(was1Interrupted).toEqual(1);
340
- expect(was1Ended).toEqual(false);
341
- expect(was2Interrupted).toEqual(0);
342
- expect(was2Ended).toEqual(false);
343
- was2Ended = true;
344
- },
345
- }, taskCanceller.signal)
346
- .then((val) => {
347
- expect(val).toEqual(2);
348
- expect(was2Interrupted).toEqual(0);
349
- expect(was2Ended).toEqual(true);
350
- });
351
-
352
- prioritizer.create(task3, 10, {
353
- beforeInterrupted() {
354
- was3Interrupted++;
355
- },
356
- beforeEnded() {
357
- expect(task1).toHaveBeenCalledTimes(1);
358
- expect(task2).toHaveBeenCalledTimes(1);
359
- expect(task3).toHaveBeenCalledTimes(1);
360
- expect(was1Interrupted).toEqual(1);
361
- expect(was1Ended).toEqual(false);
362
- expect(was2Interrupted).toEqual(0);
363
- expect(was2Ended).toEqual(true);
364
- was3Ended = true;
365
- },
366
- }, taskCanceller.signal)
367
- .then((val) => {
368
- expect(val).toEqual(3);
369
- expect(was3Interrupted).toEqual(0);
370
- expect(was3Ended).toEqual(true);
371
- });
372
- expect(task1).toHaveBeenCalledTimes(1);
373
- expect(task2).toHaveBeenCalledTimes(1);
374
- expect(task3).toHaveBeenCalledTimes(0);
375
- });
376
-
377
- it("should be able to update a priority", (done) => {
378
- const task1 = jest.fn(generateTaskFunction(1));
379
- const task2 = jest.fn(generateTaskFunction(2));
380
- const task3 = jest.fn(generateTaskFunction(3));
381
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
382
- let was1Interrupted = 0;
383
- let was1Ended = false;
384
- let was2Interrupted = 0;
385
- let was2Ended = false;
386
- let was3Interrupted = 0;
387
- let was3Ended = false;
388
- const taskCanceller = new TaskCanceller();
389
-
390
- prioritizer.create(task1, 25, {
391
- beforeInterrupted() {
392
- expect(task1).toHaveBeenCalledTimes(1);
393
- expect(task2).toHaveBeenCalledTimes(1);
394
- expect(task3).toHaveBeenCalledTimes(1);
395
- was1Interrupted++;
396
- },
397
- beforeEnded() {
398
- expect(task1).toHaveBeenCalledTimes(2);
399
- expect(task2).toHaveBeenCalledTimes(1);
400
- expect(task3).toHaveBeenCalledTimes(1);
401
- expect(was2Interrupted).toEqual(0);
402
- expect(was2Ended).toEqual(true);
403
- expect(was3Interrupted).toEqual(0);
404
- expect(was3Ended).toEqual(true);
405
- was1Ended = true;
406
- },
407
- }, taskCanceller.signal)
408
- .then((val) => {
409
- expect(val).toEqual(1);
410
- expect(was1Interrupted).toEqual(1);
411
- expect(was1Ended).toEqual(true);
412
- done();
413
- });
414
-
415
- prioritizer.create(task2, 26, {
416
- beforeInterrupted() {
417
- was2Interrupted++;
418
- },
419
- beforeEnded() {
420
- expect(task1).toHaveBeenCalledTimes(1);
421
- expect(task2).toHaveBeenCalledTimes(1);
422
- expect(task3).toHaveBeenCalledTimes(1);
423
- expect(was1Interrupted).toEqual(1);
424
- expect(was1Ended).toEqual(false);
425
- expect(was2Interrupted).toEqual(0);
426
- expect(was2Ended).toEqual(false);
427
- was2Ended = true;
428
- },
429
- }, taskCanceller.signal)
430
- .then((val) => {
431
- expect(val).toEqual(2);
432
- expect(was2Interrupted).toEqual(0);
433
- expect(was2Ended).toEqual(true);
434
- });
435
-
436
- prioritizer.create(task3, 10, {
437
- beforeInterrupted() {
438
- was3Interrupted++;
439
- },
440
- beforeEnded() {
441
- expect(task1).toHaveBeenCalledTimes(1);
442
- expect(task2).toHaveBeenCalledTimes(1);
443
- expect(task3).toHaveBeenCalledTimes(1);
444
- expect(was1Interrupted).toEqual(1);
445
- expect(was1Ended).toEqual(false);
446
- expect(was2Interrupted).toEqual(0);
447
- expect(was2Ended).toEqual(false);
448
- was3Ended = true;
449
- },
450
- }, taskCanceller.signal)
451
- .then((val) => {
452
- expect(val).toEqual(3);
453
- expect(was3Interrupted).toEqual(0);
454
- expect(was3Ended).toEqual(true);
455
- });
456
-
457
- expect(task1).toHaveBeenCalledTimes(1);
458
- expect(task2).toHaveBeenCalledTimes(0);
459
- expect(task3).toHaveBeenCalledTimes(1);
460
-
461
- prioritizer.updatePriority(task2, 1);
462
- expect(task1).toHaveBeenCalledTimes(1);
463
- expect(task2).toHaveBeenCalledTimes(1);
464
- expect(task3).toHaveBeenCalledTimes(1);
465
- });
466
-
467
- it("should restart interrupted task if given the right priority", (done) => {
468
- const task1 = jest.fn(generateTaskFunction(1));
469
- const task2 = jest.fn(generateTaskFunction(2));
470
- const task3 = jest.fn(generateTaskFunction(3));
471
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
472
- let was1Interrupted = 0;
473
- let was1Ended = false;
474
- let was2Interrupted = 0;
475
- let was2Ended = false;
476
- let was3Interrupted = 0;
477
- let was3Ended = false;
478
- const taskCanceller = new TaskCanceller();
479
-
480
- prioritizer.create(task1, 25, {
481
- beforeInterrupted() {
482
- prioritizer.updatePriority(task1, 1);
483
- was1Interrupted++;
484
- },
485
- beforeEnded() {
486
- expect(task1).toHaveBeenCalledTimes(2);
487
- expect(task2).toHaveBeenCalledTimes(1);
488
- expect(task3).toHaveBeenCalledTimes(0);
489
- expect(was2Interrupted).toEqual(0);
490
- expect(was2Ended).toEqual(true);
491
- expect(was3Interrupted).toEqual(0);
492
- expect(was3Ended).toEqual(false);
493
- was1Ended = true;
494
- },
495
- }, taskCanceller.signal)
496
- .then((val) => {
497
- expect(val).toEqual(1);
498
- expect(was1Interrupted).toEqual(1);
499
- expect(was1Ended).toEqual(true);
500
- done();
501
- });
502
-
503
- prioritizer.create(task2, 2, {
504
- beforeInterrupted() {
505
- was2Interrupted++;
506
- },
507
- beforeEnded() {
508
- expect(task1).toHaveBeenCalledTimes(2);
509
- expect(task2).toHaveBeenCalledTimes(1);
510
- expect(task3).toHaveBeenCalledTimes(0);
511
- expect(was1Interrupted).toEqual(1);
512
- expect(was1Ended).toEqual(false);
513
- expect(was2Interrupted).toEqual(0);
514
- expect(was2Ended).toEqual(false);
515
- was2Ended = true;
516
- },
517
- }, taskCanceller.signal)
518
- .then((val) => {
519
- expect(val).toEqual(2);
520
- expect(was2Interrupted).toEqual(0);
521
- expect(was2Ended).toEqual(true);
522
- });
523
-
524
- prioritizer.create(task3, 10, {
525
- beforeInterrupted() {
526
- was3Interrupted++;
527
- },
528
- beforeEnded() {
529
- expect(task1).toHaveBeenCalledTimes(2);
530
- expect(task2).toHaveBeenCalledTimes(1);
531
- expect(task3).toHaveBeenCalledTimes(1);
532
- expect(was1Interrupted).toEqual(1);
533
- expect(was1Ended).toEqual(true);
534
- expect(was2Interrupted).toEqual(0);
535
- expect(was2Ended).toEqual(true);
536
- was3Ended = true;
537
- },
538
- }, taskCanceller.signal)
539
- .then((val) => {
540
- expect(val).toEqual(3);
541
- expect(was3Interrupted).toEqual(0);
542
- expect(was3Ended).toEqual(true);
543
- });
544
- expect(task1).toHaveBeenCalledTimes(2);
545
- expect(task2).toHaveBeenCalledTimes(1);
546
- expect(task3).toHaveBeenCalledTimes(0);
547
- });
548
-
549
- it("should be able to update the priority of pending tasks", (done) => {
550
- const task1 = jest.fn(generateTaskFunction(1));
551
- const task2 = jest.fn(generateTaskFunction(2));
552
- const task3 = jest.fn(generateTaskFunction(3));
553
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
554
- let was1Interrupted = 0;
555
- let was1Ended = false;
556
- let was2Interrupted = 0;
557
- let was2Ended = false;
558
- let was3Interrupted = 0;
559
- let was3Ended = false;
560
- const taskCanceller = new TaskCanceller();
561
-
562
- prioritizer.create(task1, 25, {
563
- beforeInterrupted() {
564
- prioritizer.updatePriority(task1, 1);
565
- was1Interrupted++;
566
- },
567
- beforeEnded() {
568
- expect(task1).toHaveBeenCalledTimes(2);
569
- expect(task2).toHaveBeenCalledTimes(1);
570
- expect(task3).toHaveBeenCalledTimes(0);
571
- expect(was1Interrupted).toEqual(1);
572
- expect(was2Interrupted).toEqual(1);
573
- expect(was3Interrupted).toEqual(0);
574
- expect(was2Ended).toEqual(false);
575
- expect(was3Ended).toEqual(false);
576
- was1Ended = true;
577
- },
578
- }, taskCanceller.signal)
579
- .then((val) => {
580
- expect(val).toEqual(1);
581
- expect(was1Interrupted).toEqual(1);
582
- expect(was1Ended).toEqual(true);
583
- done();
584
- });
585
-
586
- prioritizer.create(task2, 2, {
587
- beforeInterrupted() {
588
- expect(was1Interrupted).toEqual(1);
589
- was2Interrupted++;
590
- },
591
- beforeEnded() {
592
- expect(task1).toHaveBeenCalledTimes(2);
593
- expect(task2).toHaveBeenCalledTimes(2);
594
- expect(task3).toHaveBeenCalledTimes(1);
595
- expect(was1Interrupted).toEqual(1);
596
- expect(was2Interrupted).toEqual(1);
597
- expect(was1Ended).toEqual(true);
598
- expect(was3Ended).toEqual(true);
599
- was2Ended = true;
600
- },
601
- }, taskCanceller.signal)
602
- .then((val) => {
603
- expect(val).toEqual(2);
604
- expect(was2Interrupted).toEqual(1);
605
- expect(was2Ended).toEqual(true);
606
- });
607
-
608
- prioritizer.create(task3, 10, {
609
- beforeInterrupted() {
610
- was3Interrupted++;
611
- },
612
- beforeEnded() {
613
- expect(task1).toHaveBeenCalledTimes(2);
614
- expect(task2).toHaveBeenCalledTimes(1);
615
- expect(task3).toHaveBeenCalledTimes(1);
616
- expect(was1Interrupted).toEqual(1);
617
- expect(was1Ended).toEqual(true);
618
- expect(was2Interrupted).toEqual(1);
619
- expect(was2Ended).toEqual(false);
620
- was3Ended = true;
621
- },
622
- }, taskCanceller.signal)
623
- .then((val) => {
624
- expect(val).toEqual(3);
625
- expect(was3Interrupted).toEqual(0);
626
- expect(was3Ended).toEqual(true);
627
- });
628
- expect(task1).toHaveBeenCalledTimes(2);
629
- expect(task2).toHaveBeenCalledTimes(1);
630
- expect(task3).toHaveBeenCalledTimes(0);
631
- expect(was1Interrupted).toEqual(1);
632
- expect(was2Interrupted).toEqual(0);
633
- expect(was3Interrupted).toEqual(0);
634
-
635
- prioritizer.updatePriority(task2, 25);
636
- expect(task1).toHaveBeenCalledTimes(2);
637
- expect(task2).toHaveBeenCalledTimes(1);
638
- expect(task3).toHaveBeenCalledTimes(0);
639
- expect(was1Interrupted).toEqual(1);
640
- expect(was2Interrupted).toEqual(1);
641
- expect(was3Interrupted).toEqual(0);
642
- });
643
-
644
- it("should be able to interrupt a task after a priority update on a pending task", (done) => {
645
- const task1 = jest.fn(generateTaskFunction(1));
646
- const task2 = jest.fn(generateTaskFunction(2));
647
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
648
- let was1Interrupted = 0;
649
- let was1Ended = false;
650
- let was2Interrupted = 0;
651
- let was2Ended = false;
652
- const taskCanceller = new TaskCanceller();
653
-
654
- prioritizer.create(task1, 25, {
655
- beforeInterrupted() {
656
- was1Interrupted++;
657
- },
658
- beforeEnded() {
659
- expect(task1).toHaveBeenCalledTimes(2);
660
- expect(task2).toHaveBeenCalledTimes(1);
661
- expect(was1Interrupted).toEqual(1);
662
- expect(was2Interrupted).toEqual(0);
663
- expect(was2Ended).toEqual(true);
664
- was1Ended = true;
665
- },
666
- }, taskCanceller.signal)
667
- .then((val) => {
668
- expect(val).toEqual(1);
669
- expect(was1Interrupted).toEqual(1);
670
- expect(was1Ended).toEqual(true);
671
- done();
672
- });
673
-
674
- prioritizer.create(task2, 25, {
675
- beforeInterrupted() {
676
- was2Interrupted++;
677
- },
678
- beforeEnded() {
679
- expect(task1).toHaveBeenCalledTimes(1);
680
- expect(task2).toHaveBeenCalledTimes(1);
681
- expect(was1Interrupted).toEqual(1);
682
- expect(was2Interrupted).toEqual(0);
683
- expect(was1Ended).toEqual(false);
684
- was2Ended = true;
685
- },
686
- }, taskCanceller.signal)
687
- .then((val) => {
688
- expect(val).toEqual(2);
689
- expect(was2Interrupted).toEqual(0);
690
- expect(was2Ended).toEqual(true);
691
- });
692
- expect(task1).toHaveBeenCalledTimes(1);
693
- expect(task2).toHaveBeenCalledTimes(1);
694
- expect(was1Interrupted).toEqual(0);
695
- expect(was2Interrupted).toEqual(0);
696
-
697
- prioritizer.updatePriority(task2, 5);
698
- expect(task1).toHaveBeenCalledTimes(1);
699
- expect(task2).toHaveBeenCalledTimes(1);
700
- expect(was1Interrupted).toEqual(1);
701
- expect(was2Interrupted).toEqual(0);
702
- });
703
-
704
- it("should not start right away an updated task which has still not the priority", (done) => {
705
- const task1 = jest.fn(generateTaskFunction(1));
706
- const task2 = jest.fn(generateTaskFunction(2));
707
- const prioritizer = new TaskPrioritizer({ prioritySteps: { high: 5, low: 20 } });
708
- let was1Interrupted = 0;
709
- let was1Ended = false;
710
- let was2Interrupted = 0;
711
- let was2Ended = false;
712
- const taskCanceller = new TaskCanceller();
713
-
714
- prioritizer.create(task1, 15, {
715
- beforeInterrupted() {
716
- was1Interrupted++;
717
- },
718
- beforeEnded() {
719
- expect(task1).toHaveBeenCalledTimes(1);
720
- expect(task2).toHaveBeenCalledTimes(0);
721
- expect(was1Interrupted).toEqual(0);
722
- expect(was2Interrupted).toEqual(0);
723
- expect(was2Ended).toEqual(false);
724
- was1Ended = true;
725
- },
726
- }, taskCanceller.signal)
727
- .then((val) => {
728
- expect(val).toEqual(1);
729
- expect(was1Interrupted).toEqual(0);
730
- expect(was1Ended).toEqual(true);
731
- });
732
-
733
- prioritizer.create(task2, 19, {
734
- beforeInterrupted() {
735
- was2Interrupted++;
736
- },
737
- beforeEnded() {
738
- expect(task1).toHaveBeenCalledTimes(1);
739
- expect(task2).toHaveBeenCalledTimes(1);
740
- expect(was1Interrupted).toEqual(0);
741
- expect(was2Interrupted).toEqual(0);
742
- expect(was1Ended).toEqual(true);
743
- was2Ended = true;
744
- },
745
- }, taskCanceller.signal)
746
- .then((val) => {
747
- expect(val).toEqual(2);
748
- expect(was2Interrupted).toEqual(0);
749
- expect(was2Ended).toEqual(true);
750
- done();
751
- });
752
- expect(task1).toHaveBeenCalledTimes(1);
753
- expect(task2).toHaveBeenCalledTimes(0);
754
- expect(was1Interrupted).toEqual(0);
755
- expect(was2Interrupted).toEqual(0);
756
-
757
- prioritizer.updatePriority(task2, 16);
758
- expect(task1).toHaveBeenCalledTimes(1);
759
- expect(task2).toHaveBeenCalledTimes(0);
760
- expect(was1Interrupted).toEqual(0);
761
- expect(was2Interrupted).toEqual(0);
762
- });
763
- });