rx-player 3.33.0 → 3.33.2

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,809 +0,0 @@
1
- /**
2
- * Copyright 2015 CANAL+ Group
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import { IInbandEvent } from "../core/stream";
18
- import Manifest, {
19
- Adaptation,
20
- ISegment,
21
- ISupplementaryImageTrack,
22
- ISupplementaryTextTrack,
23
- Period,
24
- Representation,
25
- } from "../manifest";
26
- import { ICdnMetadata } from "../parsers/manifest";
27
- import {
28
- IBifThumbnail,
29
- ILoadedManifestFormat,
30
- IManifestLoader,
31
- IRepresentationFilter,
32
- ISegmentLoader as ICustomSegmentLoader,
33
- IServerSyncInfos,
34
- } from "../public_types";
35
- import TaskCanceller, {
36
- CancellationSignal,
37
- } from "../utils/task_canceller";
38
-
39
- /**
40
- * Interface returned by any transport implementation.
41
- * @param {Object} options - Options allowing to configure the transport's
42
- * behavior.
43
- * @returns {Object} - The "transport pipelines". Those are all APIs for this
44
- * transport implementation.
45
- */
46
- export type ITransportFunction = (options : ITransportOptions) =>
47
- ITransportPipelines;
48
-
49
- /**
50
- * Every API implemented for a transport implementation, allowing to load and
51
- * parse the Manifest or any segment.
52
- */
53
- export interface ITransportPipelines {
54
- /** Functions allowing to load an parse the Manifest for this transport. */
55
- manifest : ITransportManifestPipeline;
56
-
57
- /** Functions allowing to load an parse audio segments. */
58
- audio : ISegmentPipeline<ILoadedAudioVideoSegmentFormat,
59
- Uint8Array | ArrayBuffer | null>;
60
- /** Functions allowing to load an parse video segments. */
61
- video : ISegmentPipeline<ILoadedAudioVideoSegmentFormat,
62
- Uint8Array | ArrayBuffer | null>;
63
- /** Functions allowing to load an parse text (e.g. subtitles) segments. */
64
- text : ISegmentPipeline<ILoadedTextSegmentFormat,
65
- ITextTrackSegmentData | null>;
66
- /** Functions allowing to load an parse image (e.g. thumbnails) segments. */
67
- image : ISegmentPipeline<ILoadedImageSegmentFormat,
68
- IImageTrackSegmentData | null>;
69
- }
70
-
71
- /** Functions allowing to load and parse the Manifest. */
72
- export interface ITransportManifestPipeline {
73
- /**
74
- * "Loader" of the Manifest pipeline, allowing to request a Manifest so it can
75
- * later be parsed by the `parseManifest` function.
76
- *
77
- * @param {string|undefined} url - URL of the Manifest we want to load.
78
- * `undefined` if the Manifest doesn't have an URL linked to it, in which case
79
- * the Manifest should be loaded through another mean.
80
- * @param {CancellationSignal} cancellationSignal - Signal which will allow to
81
- * cancel the loading operation if the Manifest is not needed anymore (for
82
- * example, if the content has just been stopped).
83
- * When cancelled, the promise returned by this function will reject with a
84
- * `CancellationError`.
85
- * @returns {Promise.<Object>} - Promise emitting the loaded Manifest, that
86
- * then can be parsed through the `parseManifest` function.
87
- *
88
- * Rejects in two cases:
89
- * - The loading operation has been cancelled through the `cancelSignal`
90
- * given in argument.
91
- * In that case, this Promise will reject with a `CancellationError`.
92
- * - The loading operation failed, most likely due to a request error.
93
- * In that case, this Promise will reject with the corresponding Error.
94
- */
95
- loadManifest : (
96
- url : string | undefined,
97
- options : IManifestLoaderOptions,
98
- cancelSignal : CancellationSignal,
99
- ) => Promise<IRequestedData<ILoadedManifestFormat>>;
100
-
101
- /**
102
- * "Parser" of the Manifest pipeline, allowing to parse a loaded Manifest so
103
- * it can be exploited by the rest of the RxPlayer's logic.
104
- *
105
- * @param {Object} manifestData - Response obtained from the `loadManifest`
106
- * function.
107
- * @param {Object} parserOptions - Various options relative to the parsing
108
- * operation.
109
- * @param {Function} onWarnings - Callbacks called:
110
- * - when minor Manifest parsing errors are found
111
- * - when `scheduleRequest` rejects on requests this function can do
112
- * without.
113
- * @param {CancellationSignal} cancelSignal - Cancellation signal which will
114
- * allow to abort the parsing operation if you do not want the Manifest
115
- * anymore.
116
- *
117
- * That cancellationSignal can be triggered at any time, such as:
118
- * - after a warning is received
119
- * - while a request scheduled through the `scheduleRequest` argument is
120
- * pending.
121
- *
122
- * `parseManifest` will interrupt all operations if the signal has been
123
- * triggered in one of those scenarios, and will automatically reject with
124
- * the corresponding `CancellationError` instance.
125
- * @param {Function} scheduleRequest - Allows `parseManifest` to schedule
126
- * network requests, for example to fetch sub-parts of the Manifest or
127
- * supplementary resources we can only know of at Manifest parsing time.
128
- *
129
- * All requests scheduled through `scheduleRequest` should abort (and the
130
- * corresponding Promise reject a `CancellationError`) when/if `cancelSignal`
131
- * is triggered.
132
- *
133
- * If a request scheduled through `scheduleRequest` rejects with an error:
134
- * - either the error was due to a cancellation, in which case
135
- * `parseManifest` should reject the same error immediately.
136
- * - either the requested resource was mandatory to parse the Manifest
137
- * in which case `parseManifest` will reject with the same error.
138
- * - either the parser can make up for that error, in which case it will
139
- * just be emitted as a warning and `parseManifest` will continue its
140
- * operations.
141
- * @returns {Object | Promise.<Object>} - Returns directly the Manifest data
142
- * if the parsing can be performed synchronously or through a Promise if it
143
- * needs to perform network requests first through the `scheduleRequest`
144
- * function.
145
- *
146
- * Throws if an error happens synchronously and rejects if it happens
147
- * asynchronously.
148
- *
149
- * If this error is due to a failed request performed through the
150
- * `scheduleRequest` argument, then the rejected error should be the same one
151
- * than the one rejected by `scheduleRequest`.
152
- *
153
- * If this error is due to a cancellation instead (indicated through the
154
- * `cancelSignal` argument), then the rejected error should be the
155
- * `CancellationError` instance instead.
156
- */
157
- parseManifest : (
158
- manifestData : IRequestedData<unknown>,
159
- parserOptions : IManifestParserOptions,
160
- onWarnings : (warnings : Error[]) => void,
161
- cancelSignal : CancellationSignal,
162
- scheduleRequest : IManifestParserRequestScheduler
163
- ) => IManifestParserResult |
164
- Promise<IManifestParserResult>;
165
-
166
- /**
167
- * @deprecated
168
- * "Resolves the Manifest's URL, to obtain its true URL.
169
- * This is a deprecated function which corresponds to an old use case at
170
- * Canal+ where the URL of the Manifest first need to be parsed from a .wsx
171
- * file.
172
- * Thankfully this API should not be used anymore, though to not break
173
- * compatibility, we have to keep it until a v4.x.x release.
174
- *
175
- * @param {string | undefined} url - URL used to obtain the real URL of the
176
- * Manifest.
177
- * @param {CancellationSignal} cancelSignal - Cancellation signal which will
178
- * allow to abort the resolving operation if you do not want the Manifest
179
- * anymore.
180
- * When cancelled, the promise returned by this function will reject with a
181
- * `CancellationError`.
182
- * @returns {Promise.<string|undefined>} - Promise emitting the "real" URL of
183
- * the Manifest, that should be loaded by the `loadManifest` function.
184
- * `undefined` if the URL is either unknown or inexistant.
185
- *
186
- * Rejects in two cases:
187
- *
188
- * 1. The resolving operation has been aborted through the `cancelSignal`
189
- * given in argument.
190
- * In that case, this Promise will reject a `CancellationError`.
191
- *
192
- * 2. The resolving operation failed, most likely due to a request error.
193
- * In that case, this Promise will reject the corresponding Error.
194
- */
195
- resolveManifestUrl? : (
196
- url : string | undefined,
197
- cancelSignal : CancellationSignal,
198
- ) => Promise<string | undefined>;
199
- }
200
-
201
- /**
202
- * Options given to the `loadManifest` method of an
203
- * `ITransportManifestPipeline` to configure its behavior.
204
- */
205
- export interface IManifestLoaderOptions {
206
- /**
207
- * Timeout, in milliseconds, after which a manifest request should be aborted
208
- * with the corresponding error.
209
- *
210
- * `undefined` means that no timeout will be enforced.
211
- */
212
- timeout? : number | undefined;
213
- }
214
-
215
- /** Functions allowing to load and parse segments of any type. */
216
- export interface ISegmentPipeline<
217
- TLoadedFormat,
218
- TParsedSegmentDataFormat,
219
- > {
220
- loadSegment : ISegmentLoader<TLoadedFormat>;
221
- parseSegment : ISegmentParser<TLoadedFormat,
222
- TParsedSegmentDataFormat>;
223
- }
224
-
225
- /**
226
- * Segment loader function, allowing to load a segment of any type.
227
- * @param {string|null} wantedCdn - CDN metadata for the CDN on which the
228
- * segment should be downloaded.
229
- * `null` if we do not have such CDN (in which case the segment should be loaded
230
- * through other means, such as information taken from the segment's content).
231
- * @param {Object} content - Content linked to the wanted segment.
232
- * @param {CancellationSignal} cancelSignal - Cancellation signal which will
233
- * allow to cancel the loading operation if the segment is not needed anymore.
234
- *
235
- * When cancelled, this loader should stop any pending operation (such as an
236
- * HTTP request) and the Promise returned should reject immediately with a
237
- * `CancellationError`, generated through this CancellationSignal object.
238
- * @param {Object} callbacks - Callbacks called on various loader events.
239
- * @returns {Promise.<Object>} - Promise resolving when it has finished loading
240
- * the segment.
241
- */
242
- export type ISegmentLoader<TLoadedFormat> = (
243
- wantedCdn : ICdnMetadata | null,
244
- content : ISegmentContext,
245
- options : ISegmentLoaderOptions,
246
- cancelSignal : CancellationSignal,
247
- callbacks : ISegmentLoaderCallbacks<TLoadedFormat>
248
- ) => Promise<ISegmentLoaderResultSegmentCreated<TLoadedFormat> |
249
- ISegmentLoaderResultSegmentLoaded<TLoadedFormat> |
250
- ISegmentLoaderResultChunkedComplete>;
251
-
252
- /** Options given to an `ISegmentLoader` to configure its behavior. */
253
- export interface ISegmentLoaderOptions {
254
- /**
255
- * Timeout, in milliseconds, after which a segment request should be aborted
256
- * with the corresponding error.
257
- *
258
- * `undefined` means that no timeout will be enforced.
259
- */
260
- timeout? : number | undefined;
261
- }
262
-
263
- /**
264
- * Segment parser function, allowing to parse a chunk (which may be a sub-part
265
- * of a segment) of any type.
266
- *
267
- * This function will throw if it encounters any error it cannot recover from.
268
- */
269
- export type ISegmentParser<
270
- TLoadedFormat,
271
- TParsedSegmentDataFormat
272
- > = (
273
- /** Attributes of the corresponding loader's response. */
274
- loadedSegment : {
275
- /** The loaded segment data. */
276
- data : TLoadedFormat;
277
- /**
278
- * If `true`,`data` is only a "chunk" of the whole segment (which potentially
279
- * will contain multiple chunks).
280
- * If `false`, `data` is the data for the whole segment.
281
- */
282
- isChunked : boolean;
283
- },
284
- /** Context about the wanted segment. */
285
- content : ISegmentContext,
286
- /**
287
- * "Timescale" obtained from parsing the wanted representation's initialization
288
- * segment.
289
- *
290
- * `undefined` if either no such `timescale` has been parsed yet or if this
291
- * value doesn't exist for the wanted segment.
292
- *
293
- * This value can be useful when parsing the loaded segment's data.
294
- */
295
- initTimescale : number | undefined
296
- ) =>
297
- /**
298
- * The parsed data.
299
- *
300
- * Can be of two types:
301
- * - `ISegmentParserParsedInitChunk`: When the parsed chunk was part of an
302
- * initialization segment.
303
- * Such segments only serve to initialize the decoder and do not contain
304
- * any decodable media data.
305
- * - `ISegmentParserParsedMediaChunk`: When the parsed chunk was part of a
306
- * media segment.
307
- * Such segments generally contain decodable media data.
308
- */
309
- ISegmentParserParsedInitChunk<TParsedSegmentDataFormat> |
310
- ISegmentParserParsedMediaChunk<TParsedSegmentDataFormat>;
311
-
312
- export interface IManifestParserOptions {
313
- /**
314
- * If set, offset to add to `performance.now()` to obtain the current
315
- * server's time.
316
- */
317
- externalClockOffset : number | undefined;
318
- /** Original URL used for the full version of the Manifest. */
319
- originalUrl : string | undefined;
320
- /** The previous value of the Manifest (when updating). */
321
- previousManifest : Manifest | null;
322
- /**
323
- * If set to `true`, the Manifest parser can perform advanced optimizations
324
- * to speed-up the parsing process. Those optimizations might lead to a
325
- * de-synchronization with what is actually on the server, hence the "unsafe"
326
- * part.
327
- * To use with moderation and only when needed.
328
- */
329
- unsafeMode : boolean;
330
- }
331
-
332
- export interface IManifestParserCallbacks {
333
- onWarning : (warning : Error) => void;
334
-
335
- /**
336
- * @param {Function} performRequest - Function performing the request
337
- * @param {TaskCanceller} canceller - Interface allowing to cancel the request
338
- * performed by the `performRequest` argument.
339
- * @returns {Promise.<Object>}
340
- */
341
- scheduleRequest : (
342
- performRequest : () => Promise< IRequestedData< Document | string > >,
343
- canceller : TaskCanceller
344
- ) => Promise< IRequestedData< Document | string > >;
345
- }
346
-
347
- /**
348
- * Function allowing a Manifest parser to perform a request needed for the
349
- * parsing of the Manifest.
350
- *
351
- * @param {Function} performRequest - Function performing the wanted request.
352
- * Note that this function might be called multiple times depending on the error
353
- * obtained at the last call.
354
- *
355
- * Should resolve with the requested data on success.
356
- *
357
- * Rejects in two cases:
358
- * - The request has been cancelled through the `canceller` given.
359
- * In that case, this Promise will reject with a `CancellationError`.
360
- *
361
- * - The request failed.
362
- * In that case, this Promise will reject with the corresponding Error.
363
- *
364
- * @param {TaskCanceller} canceller - Interface allowing to cancel the request
365
- * performed by the `performRequest` argument.
366
- *
367
- * When triggered, the request should be aborted and the Promise returned by
368
- * `performRequest` should reject the corresponding `CancellationError`.
369
- *
370
- * The Promise returned by that function should in consequence also reject the
371
- * same `CancellationError`.
372
- *
373
- * @returns {Promise.<Object>} - Promise resolving with the requested data on
374
- * success.
375
- *
376
- * Rejects in two cases:
377
- * - The request has been cancelled through the `canceller` given.
378
- * In that case, this Promise will reject with a `CancellationError`.
379
- *
380
- * - All the attempts to perform the request failed.
381
- * In that case, this Promise will reject with the Error corresponding to
382
- * the last performed request.
383
- */
384
- export type IManifestParserRequestScheduler =
385
- (
386
- performRequest : () => Promise< IRequestedData< ILoadedManifestFormat > >
387
- ) => Promise< IRequestedData< ILoadedManifestFormat > >;
388
-
389
- // Either the Manifest can be parsed directly, in which case a
390
- // IManifestParserResult is returned, either the Manifest parser needs to
391
- // perform supplementary requests first
392
-
393
- /** Event emitted when a Manifest has been parsed by a Manifest parser. */
394
- export interface IManifestParserResult {
395
- /** The parsed Manifest Object itself. */
396
- manifest : Manifest;
397
- /**
398
- * "Real" URL (post-redirection) at which the Manifest can be refreshed.
399
- *
400
- * Note that this doesn't always apply e.g. some Manifest might need multiple
401
- * URLs to be fetched, some other might need to fetch no URL.
402
- * This property should only be set when a unique URL is sufficient to
403
- * retrieve the whole data.
404
- */
405
- url? : string | undefined;
406
- }
407
-
408
- /**
409
- * Allow the parser to ask for loading supplementary ressources while still
410
- * profiting from the same retries and error management than the loader.
411
- */
412
- export interface IManifestParserRequestNeeded {
413
- resultType : "request-needed";
414
- performRequest : IManifestParserRequest;
415
- }
416
-
417
- /**
418
- * Time information for a single segment.
419
- * Those variables expose the best guess we have on the effective duration and
420
- * starting time that the corresponding segment should have at decoding time.
421
- */
422
- export interface IChunkTimeInfo {
423
- /**
424
- * Difference between the latest and the earliest presentation time
425
- * available in that chunk, in seconds.
426
- *
427
- * If multiple chunks are present in a single segment (e.g. low-latency CMAF
428
- * chunks, this is only the duration of the current chunk).
429
- *
430
- * Either `undefined` or set to `0` for an initialization segment.
431
- */
432
- duration : number | undefined;
433
- /** Earliest presentation time available in that segment, in seconds. */
434
- time : number;
435
- }
436
-
437
- /** Text track segment data, once parsed. */
438
- export interface ITextTrackSegmentData {
439
- /** The text track data, in the format indicated in `type`. */
440
- data : string;
441
- /** The format of `data` (examples: "ttml", "srt" or "vtt") */
442
- type : string;
443
- /**
444
- * Language in which the text track is, as a language code.
445
- * This is mostly needed for "sami" subtitles, to know which cues can / should
446
- * be parsed.
447
- */
448
- language? : string | undefined;
449
- /** start time from which the segment apply, in seconds. */
450
- start? : number | undefined;
451
- /** end time until which the segment apply, in seconds. */
452
- end? : number | undefined;
453
- }
454
-
455
- /** Format under which image data is decodable by the RxPlayer. */
456
- export interface IImageTrackSegmentData {
457
- data : IBifThumbnail[]; // image track data, in the given type
458
- end : number; // end time time until which the segment apply
459
- start : number; // start time from which the segment apply
460
- timescale : number; // timescale to convert the start and end into seconds
461
- type : string; // the type of the data (example: "bif")
462
- }
463
-
464
- export type IManifestParserRequest1 = (
465
- (
466
- /**
467
- * Cancellation signal which will allow to cancel the request if the
468
- * Manifest is not needed anymore.
469
- *
470
- * When cancelled, this parser should stop any pending operation (such as an
471
- * HTTP request) and the Promise returned should reject immediately after with
472
- * a `CancellationError`.
473
- */
474
- cancelSignal : CancellationSignal,
475
- ) => Promise< IRequestedData< Document | string > >
476
- );
477
- export type IManifestParserRequest = (
478
- /**
479
- * Cancellation signal which will allow to cancel the request if the
480
- * Manifest is not needed anymore.
481
- *
482
- * When cancelled, this parser should stop any pending operation (such as an
483
- * HTTP request) and the Promise returned should reject immediately after with
484
- * a `CancellationError`.
485
- */
486
- cancelSignal : CancellationSignal,
487
- ) => Promise< IManifestParserResult |
488
- IManifestParserRequestNeeded >;
489
-
490
- export interface ITransportAudioVideoSegmentPipeline {
491
- loadSegment : ISegmentLoader<ILoadedAudioVideoSegmentFormat>;
492
- parseSegment : ISegmentParser<ILoadedAudioVideoSegmentFormat,
493
- Uint8Array | ArrayBuffer | null>;
494
- }
495
-
496
- export interface ITransportTextSegmentPipeline {
497
- loadSegment : ISegmentLoader<ILoadedTextSegmentFormat>;
498
- parseSegment : ISegmentParser<ILoadedTextSegmentFormat,
499
- ITextTrackSegmentData | null>;
500
- }
501
-
502
- export interface ITransportImageSegmentPipeline {
503
- loadSegment : ISegmentLoader<ILoadedImageSegmentFormat>;
504
- parseSegment : ISegmentParser<ILoadedImageSegmentFormat,
505
- IImageTrackSegmentData | null>;
506
- }
507
-
508
- export type ITransportSegmentPipeline = ITransportAudioVideoSegmentPipeline |
509
- ITransportTextSegmentPipeline |
510
- ITransportImageSegmentPipeline;
511
-
512
- export type ITransportPipeline = ITransportManifestPipeline |
513
- ITransportSegmentPipeline;
514
-
515
- export interface ISegmentContext {
516
- /** Manifest object related to this segment. */
517
- manifest : Manifest;
518
- /** Period object related to this segment. */
519
- period : Period;
520
- /** Adaptation object related to this segment. */
521
- adaptation : Adaptation;
522
- /** Representation Object related to this segment. */
523
- representation : Representation;
524
- /** Segment we want to load. */
525
- segment : ISegment;
526
- }
527
-
528
- export interface ISegmentLoaderCallbacks<T> {
529
- /**
530
- * Callback called when new progress information on a segment request is
531
- * available.
532
- * The information emitted though this callback can be used to gather
533
- * metrics on a current, un-terminated, request.
534
- */
535
- onProgress : (info : ISegmentLoadingProgressInformation) => void;
536
- /**
537
- * Callback called when a decodable sub-part of the segment is available.
538
- *
539
- * Note that this callback is only called if the loader decides to load the
540
- * wanted segment in a "chunk" mode, that is, when the segment is loaded
541
- * decodable chunk by decodable chunk, each being a subpart of this same
542
- * segment.
543
- *
544
- * In that case, this callback might be called multiple times for subsequent
545
- * decodable chunks until the Promise resolves.
546
- *
547
- * Not all segments are loaded in a "chunk" mode.
548
- * The alternatives to this mode are:
549
- *
550
- * - when the segment is created locally without needing to perform any
551
- * request.
552
- *
553
- * - when the segment is loaded as a whole.
554
- *
555
- * In both of those other cases, the segment data can be retrieved in the
556
- * Promise returned by the segment loader instead.
557
- */
558
- onNewChunk : (data : T) => void;
559
- }
560
-
561
- /** Information related to a pending Segment request progressing. */
562
- export interface ISegmentLoadingProgressInformation {
563
- /** Time since the beginning of the request so far, in seconds. */
564
- duration : number;
565
- /** Size of the data already downloaded, in bytes. */
566
- size : number;
567
- /** Size of whole data to download (data already-loaded included), in bytes. */
568
- totalSize? : number | undefined;
569
- }
570
-
571
- /**
572
- * Result returned by a segment loader when a segment has been loaded in a
573
- * "chunk" mode.
574
- * In that mode, the segment has been divided into multiple decodable chunks
575
- * each sent in order through the `onNewChunk` callback of the corresponding
576
- * loader.
577
- */
578
- export interface ISegmentLoaderResultChunkedComplete {
579
- resultType : "chunk-complete";
580
- /** Information on the request performed. */
581
- resultData : IChunkCompleteInformation;
582
- }
583
-
584
- /**
585
- * Result returned by a segment loader when a segment has been loaded
586
- * by performing a request.
587
- */
588
- export interface ISegmentLoaderResultSegmentLoaded<T> {
589
- resultType : "segment-loaded";
590
- /** Segment data and information on the request. */
591
- resultData : IRequestedData<T>;
592
- }
593
-
594
- /**
595
- * Result returned by a segment loader when a segment has been fully
596
- * created locally and thus did not depend on a request.
597
- * TODO merge with ISegmentLoaderResultSegmentLoaded?
598
- */
599
- export interface ISegmentLoaderResultSegmentCreated<T> {
600
- resultType : "segment-created";
601
- /** The data iself. */
602
- resultData : T;
603
- }
604
-
605
- /** Data emitted in a `ISegmentLoaderResultChunkedComplete`. */
606
- export interface IChunkCompleteInformation {
607
- /** Duration the request took to be performed, in seconds. */
608
- requestDuration : number | undefined;
609
- /**
610
- * "Real" URL (post-redirection) at which the segment was loaded.
611
- *
612
- * Note that this doesn't always apply e.g. some segment might need multiple
613
- * URLs to be fetched, some other might need to fetch no URL.
614
- * This property should only be set when a unique URL is sufficient to
615
- * retrieve the whole data.
616
- */
617
- url? : string | undefined;
618
- /**
619
- * Time at which the request began in terms of `performance.now`.
620
- * If fetching the corresponding data necessitated to perform multiple
621
- * requests, this time corresponds to the first request made.
622
- */
623
- sendingTime? : number | undefined;
624
- /**
625
- * Time at which the request ended in terms of `performance.now`.
626
- * If fetching the corresponding data necessitated to perform multiple
627
- * requests, this time corresponds to the last request to end.
628
- */
629
- receivedTime? : number | undefined;
630
- /** Size in bytes of the loaded data. `undefined` if we don't know. */
631
- size : number | undefined;
632
- }
633
-
634
- /** Format of a loaded audio and video segment before parsing. */
635
- export type ILoadedAudioVideoSegmentFormat = Uint8Array |
636
- ArrayBuffer |
637
- null;
638
-
639
- /** Format of a loaded text segment before parsing. */
640
- export type ILoadedTextSegmentFormat = Uint8Array |
641
- ArrayBuffer |
642
- string |
643
- null;
644
-
645
- /** Format of a loaded image segment before parsing. */
646
- export type ILoadedImageSegmentFormat = Uint8Array |
647
- ArrayBuffer |
648
- null;
649
-
650
- /**
651
- * Result returned by a segment parser when it parsed a chunk from an init
652
- * segment (which does not contain media data).
653
- */
654
- export interface ISegmentParserParsedInitChunk<DataType> {
655
- segmentType : "init";
656
- /**
657
- * Initialization segment that can be directly pushed to the corresponding
658
- * buffer.
659
- */
660
- initializationData : DataType | null;
661
- /**
662
- * Timescale metadata found inside this initialization segment.
663
- * That timescale might be useful when parsing further merdia segments.
664
- */
665
- initTimescale? : number | undefined;
666
- /**
667
- * If set to `true`, some protection information has been found in this
668
- * initialization segment and lead the corresponding `Representation`
669
- * object to be updated with that new information.
670
- *
671
- * In that case, you can re-check any encryption-related information with the
672
- * `Representation` linked to that segment.
673
- *
674
- * In the great majority of cases, this is set to `true` when new content
675
- * protection initialization data to have been encountered.
676
- */
677
- protectionDataUpdate : boolean;
678
- /**
679
- * Size in bytes of `initializationData`.
680
- * `undefined` if unknown.
681
- *
682
- * Note: In some cases, such as when `initializationData` is under a format
683
- * whose size is difficult to estimate (e.g. a JavaScript object), the
684
- * `initializationDataSize` may either be set to `undefined` or, if available,
685
- * to a sensible estimate (e.g. when a JavaScript object wraps large binary
686
- * data, `initializationDataSize` may refer to that binary data only).
687
- */
688
- initializationDataSize : number | undefined;
689
- }
690
-
691
- /**
692
- * Result returned by a segment parser when it parsed a chunk from a media
693
- * segment (which contains media data, unlike an initialization segment).
694
- */
695
- export interface ISegmentParserParsedMediaChunk<DataType> {
696
- segmentType : "media";
697
- /**
698
- * Parsed chunk of data that can be decoded.
699
- * `null` if no data was parsed.
700
- */
701
- chunkData : DataType | null;
702
- /**
703
- * Time information on this parsed chunk.
704
- * `null` if unknown.
705
- */
706
- chunkInfos : IChunkTimeInfo | null;
707
- /**
708
- * Size in bytes of `chunkData`.
709
- * `undefined` if unknown.
710
- *
711
- * Note: In some cases, such as when `chunkData` is under a format whose size
712
- * is difficult to estimate (e.g. a JavaScript object), the `chunkSize` may
713
- * either be set to `undefined` or, if available, to a sensible estimate (e.g.
714
- * when a JavaScript object wraps large binary data, `chunkSize` may refer to
715
- * that binary data only).
716
- */
717
- chunkSize : number | undefined;
718
- /**
719
- * time offset, in seconds, to add to the absolute timed data defined in
720
- * `chunkData` to obtain the "real" wanted effective time.
721
- *
722
- * For example:
723
- * If `chunkData` announces (when parsed by the demuxer or decoder) that the
724
- * segment begins at 32 seconds, and `chunkOffset` equals to `4`, then the
725
- * segment should really begin at 36 seconds (32 + 4).
726
- *
727
- * Note that `chunkInfos` needs not to be offseted as it should already
728
- * contain the correct time information.
729
- */
730
- chunkOffset : number;
731
- /**
732
- * start and end windows for the segment (part of the chunk respectively
733
- * before and after that time will be ignored).
734
- * `undefined` when their is no such limitation.
735
- */
736
- appendWindow : [ number | undefined,
737
- number | undefined ];
738
- /**
739
- * If set and not empty, then "events" have been encountered in this parsed
740
- * chunks.
741
- */
742
- inbandEvents? : IInbandEvent[] | undefined;
743
- /**
744
- * If set to `true`, then parsing this chunk revealed that the current
745
- * Manifest instance needs to be refreshed.
746
- */
747
- needsManifestRefresh?: boolean;
748
- /**
749
- * If set to `true`, some protection information has been found in this
750
- * media segment and lead the corresponding `Representation` object to be
751
- * updated with that new information.
752
- *
753
- * In that case, you can re-check any encryption-related information with the
754
- * `Representation` linked to that segment.
755
- *
756
- * In the great majority of cases, this is set to `true` when new content
757
- * protection initialization data to have been encountered.
758
- */
759
- protectionDataUpdate : boolean;
760
- }
761
-
762
- /** Describe data loaded through a request. */
763
- export interface IRequestedData<T> {
764
- /** The loaded response data. */
765
- responseData : T;
766
- /** Duration the request took to be performed, in seconds. */
767
- requestDuration : number | undefined;
768
- /**
769
- * "Real" URL (post-redirection) at which the data can be loaded.
770
- *
771
- * Note that this doesn't always apply e.g. some data might need multiple
772
- * URLs to be fetched, some other might need to fetch no URL.
773
- * This property should only be set when a unique URL is sufficient to
774
- * retrieve the whole data.
775
- */
776
- url? : string | undefined;
777
- /**
778
- * Time at which the request began in terms of `performance.now`.
779
- * If fetching the corresponding data necessitated to perform multiple
780
- * requests, this time corresponds to the first request made.
781
- */
782
- sendingTime? : number | undefined;
783
- /**
784
- * Time at which the request ended in terms of `performance.now`.
785
- * If fetching the corresponding data necessitated to perform multiple
786
- * requests, this time corresponds to the last request to end.
787
- */
788
- receivedTime? : number | undefined;
789
- /** Size in bytes of the loaded data. `undefined` if we don't know. */
790
- size : number | undefined;
791
- }
792
-
793
- export interface ITransportOptions {
794
- aggressiveMode? : boolean | undefined;
795
- checkMediaSegmentIntegrity? : boolean | undefined;
796
- lowLatencyMode : boolean;
797
- manifestLoader?: IManifestLoader | undefined;
798
- manifestUpdateUrl? : string | undefined;
799
- referenceDateTime? : number | undefined;
800
- representationFilter? : IRepresentationFilter | undefined;
801
- segmentLoader? : ICustomSegmentLoader | undefined;
802
- serverSyncInfos? : IServerSyncInfos | undefined;
803
- /* eslint-disable import/no-deprecated */
804
- supplementaryImageTracks? : ISupplementaryImageTrack[] | undefined;
805
- supplementaryTextTracks? : ISupplementaryTextTrack[] | undefined;
806
- /* eslint-enable import/no-deprecated */
807
-
808
- __priv_patchLastSegmentInSidx? : boolean | undefined;
809
- }