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,546 +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
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
18
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
19
- /* eslint-disable @typescript-eslint/no-var-requires */
20
- /* eslint-disable @typescript-eslint/no-unsafe-call */
21
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
22
- /* eslint-disable @typescript-eslint/no-unsafe-return */
23
-
24
- import { IIndexSegment } from "../index_helpers";
25
-
26
- describe("Manifest Parsers utils - updateSegmentTimeline", () => {
27
- let mockLogWarn : jest.MockInstance<void, unknown[]> | undefined;
28
- let updateSegmentTimeline : ((a : IIndexSegment[],
29
- b : IIndexSegment[]) => boolean) | undefined;
30
- beforeEach(() => {
31
- jest.resetModules();
32
-
33
- mockLogWarn = jest.spyOn(jest.requireActual("../../../../log").default, "warn");
34
- updateSegmentTimeline = jest.requireActual("../update_segment_timeline").default;
35
- });
36
-
37
- afterEach(() => {
38
- mockLogWarn?.mockRestore();
39
- });
40
-
41
- /* eslint-disable max-len */
42
- it("should just replace with the new timeline if the old was empty", () => {
43
- /* eslint-enable max-len */
44
- const oldTimeline : IIndexSegment[] = [];
45
- const newTimeline1 = [{ start: 0, duration: 1000, repeatCount: 10 }];
46
- const newTimeline2 : IIndexSegment[] = [];
47
- expect(updateSegmentTimeline?.(oldTimeline, newTimeline1)).toEqual(true);
48
- expect(oldTimeline).toEqual(newTimeline1);
49
-
50
- oldTimeline.length = 0; // reset
51
- updateSegmentTimeline?.(oldTimeline, newTimeline2);
52
- expect(oldTimeline).toEqual(newTimeline2);
53
- expect(mockLogWarn).not.toHaveBeenCalled();
54
- });
55
-
56
- it("should not do anything if the new timeline is empty", () => {
57
- const oldTimeline = [{ start: 0, duration: 1000, repeatCount: 10 }];
58
- const newTimeline : IIndexSegment[] = [];
59
- const oldTimelineCloned = oldTimeline.slice();
60
- expect(updateSegmentTimeline?.(oldTimeline, newTimeline)).toEqual(false);
61
- expect(oldTimeline).toEqual(oldTimelineCloned);
62
- expect(mockLogWarn).not.toHaveBeenCalled();
63
- });
64
-
65
- it("should not do anything if the timelines are equal", () => {
66
- const oldTimeline1 = [{ start: 0, duration: 1000, repeatCount: 10 }];
67
- const newTimeline1 = [{ start: 0, duration: 1000, repeatCount: 10 }];
68
- const oldTimeline1Cloned = oldTimeline1.slice();
69
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
70
- expect(oldTimeline1).toEqual(oldTimeline1Cloned);
71
-
72
- const oldTimeline2 = [ { start: 0, duration: 1000, repeatCount: 10 },
73
- { start: 11000, duration: 1000, repeatCount: 0 },
74
- { start: 12000, duration: 1000, repeatCount: 1 } ];
75
- const newTimeline2 = [ { start: 0, duration: 1000, repeatCount: 10 },
76
- { start: 11000, duration: 1000, repeatCount: 0 },
77
- { start: 12000, duration: 1000, repeatCount: 1 } ];
78
- const oldTimeline2Cloned = oldTimeline2.slice();
79
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
80
- expect(oldTimeline2).toEqual(oldTimeline2Cloned);
81
- expect(mockLogWarn).not.toHaveBeenCalled();
82
- });
83
-
84
- /* eslint-disable max-len */
85
- it("should throw if the new timeline begin long after the old one", () => {
86
- /* eslint-enable max-len */
87
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 10 },
88
- { start: 11000, duration: 1000, repeatCount: 0 } ];
89
- const newTimeline1 = [ { start: 13000, duration: 1000, repeatCount: 10 },
90
- { start: 24000, duration: 1000, repeatCount: 0 },
91
- { start: 25000, duration: 1000, repeatCount: 1 } ];
92
- const oldTimeline1Cloned = oldTimeline1.slice();
93
-
94
- let err = null;
95
- try {
96
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).not.toHaveReturned();
97
- } catch (e) {
98
- err = e;
99
- }
100
-
101
- expect(err).toBeInstanceOf(Error);
102
-
103
- // Impossible check to shut-up TypeScript
104
- if (!(err instanceof Error)) {
105
- throw new Error("Impossible: already checked it was an Error instance");
106
- }
107
- expect((err as { type? : string }).type).toEqual("MEDIA_ERROR");
108
- expect((err as { code? : string }).code).toEqual("MANIFEST_UPDATE_ERROR");
109
- expect(err.message)
110
- .toEqual("MediaError (MANIFEST_UPDATE_ERROR) Cannot perform " +
111
- "partial update: not enough data");
112
- expect(oldTimeline1).toEqual(oldTimeline1Cloned);
113
- expect(mockLogWarn).not.toHaveBeenCalled();
114
- });
115
-
116
- it("should merge consecutive timelines", () => {
117
- const oldTimeline1 = [ { start: 0, duration: 500, repeatCount: 20 },
118
- { start: 11000, duration: 1000, repeatCount: 0 } ];
119
- const newTimeline1 = [ { start: 12000, duration: 1000, repeatCount: 11 },
120
- { start: 24000, duration: 1100, repeatCount: 0 },
121
- { start: 25100, duration: 1000, repeatCount: 1 } ];
122
- const oldTimeline1Cloned = oldTimeline1.slice();
123
- const newTimeline1Cloned = newTimeline1.slice();
124
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
125
- expect(oldTimeline1).toEqual([...oldTimeline1Cloned, ...newTimeline1Cloned]);
126
- expect(mockLogWarn).not.toHaveBeenCalled();
127
-
128
- // With repeats
129
-
130
- const oldTimeline2 = [ { start: 0, duration: 500, repeatCount: 20 },
131
- { start: 11000, duration: 1000, repeatCount: 8 } ];
132
- const newTimeline2 = [ { start: 20000, duration: 1000, repeatCount: 3 },
133
- { start: 24000, duration: 1100, repeatCount: 0 },
134
- { start: 25100, duration: 1000, repeatCount: 1 } ];
135
- const oldTimeline2Cloned = oldTimeline2.slice();
136
- const newTimeline2Cloned = newTimeline2.slice();
137
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
138
- expect(oldTimeline2).toEqual([...oldTimeline2Cloned, ...newTimeline2Cloned]);
139
- expect(mockLogWarn).not.toHaveBeenCalled();
140
- });
141
-
142
- /* eslint-disable max-len */
143
- it("should merge consecutive timelines with a repeatCount set to -1 for the old timeline", () => {
144
- /* eslint-enable max-len */
145
- const oldTimeline1 = [ { start: 0, duration: 500, repeatCount: 20 },
146
- { start: 11000, duration: 1000, repeatCount: -1 } ];
147
- const newTimeline1 = [ { start: 12000, duration: 1000, repeatCount: 11 },
148
- { start: 24000, duration: 1100, repeatCount: 0 },
149
- { start: 25100, duration: 1000, repeatCount: 1 } ];
150
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
151
- expect(oldTimeline1).toEqual([
152
- { start: 0, duration: 500, repeatCount: 20 },
153
- { start: 11000, duration: 1000, repeatCount: 0 },
154
- { start: 12000, duration: 1000, repeatCount: 11 },
155
- { start: 24000, duration: 1100, repeatCount: 0 },
156
- { start: 25100, duration: 1000, repeatCount: 1 },
157
- ]);
158
-
159
- const oldTimeline2 = [ { start: 0, duration: 500, repeatCount: 20 },
160
- { start: 11000, duration: 1000, repeatCount: -1 } ];
161
- const newTimeline2 = [ { start: 20000, duration: 1000, repeatCount: 3 },
162
- { start: 24000, duration: 1100, repeatCount: 0 },
163
- { start: 25100, duration: 1000, repeatCount: 1 } ];
164
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
165
- expect(oldTimeline2).toEqual([
166
- { start: 0, duration: 500, repeatCount: 20 },
167
- { start: 11000, duration: 1000, repeatCount: 8 },
168
- { start: 20000, duration: 1000, repeatCount: 3 },
169
- { start: 24000, duration: 1100, repeatCount: 0 },
170
- { start: 25100, duration: 1000, repeatCount: 1 },
171
- ]);
172
- expect(mockLogWarn).not.toHaveBeenCalled();
173
- });
174
-
175
- it("should merge perfectly overlapping timelines without repeatCounts", () => {
176
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
177
- { start: 1000, duration: 500, repeatCount: 0 },
178
- { start: 1500, duration: 1000, repeatCount: 0 } ];
179
- const newTimeline1 = [ { start: 1000, duration: 500, repeatCount: 0 },
180
- { start: 1500, duration: 1000, repeatCount: 0 },
181
- { start: 2500, duration: 500, repeatCount: 0 },
182
- { start: 3000, duration: 5000, repeatCount: 0 } ];
183
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
184
- expect(oldTimeline1).toEqual([
185
- { start: 0, duration: 1000, repeatCount: 0 },
186
- { start: 1000, duration: 500, repeatCount: 0 },
187
- { start: 1500, duration: 1000, repeatCount: 0 },
188
- { start: 2500, duration: 500, repeatCount: 0 },
189
- { start: 3000, duration: 5000, repeatCount: 0 },
190
- ]);
191
- expect(mockLogWarn).not.toHaveBeenCalled();
192
- });
193
-
194
- it("should merge perfectly overlapping timelines with repeatCounts", () => {
195
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
196
- { start: 1000, duration: 500, repeatCount: 21 },
197
- { start: 12000, duration: 1000, repeatCount: 0 } ];
198
- const newTimeline1 = [ { start: 2000, duration: 500, repeatCount: 19 },
199
- { start: 12000, duration: 1000, repeatCount: 0 },
200
- { start: 13000, duration: 7000, repeatCount: 0 },
201
- { start: 20000, duration: 5000, repeatCount: 0 } ];
202
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
203
- expect(oldTimeline1).toEqual([
204
- { start: 0, duration: 1000, repeatCount: 0 },
205
- { start: 1000, duration: 500, repeatCount: 21 },
206
- { start: 12000, duration: 1000, repeatCount: 0 },
207
- { start: 13000, duration: 7000, repeatCount: 0 },
208
- { start: 20000, duration: 5000, repeatCount: 0 },
209
- ]);
210
- expect(mockLogWarn).not.toHaveBeenCalled();
211
-
212
- const oldTimeline2 = [ { start: 1000, duration: 500, repeatCount: 21 },
213
- { start: 12000, duration: 1000, repeatCount: 0 } ];
214
- const newTimeline2 = [ { start: 2000, duration: 500, repeatCount: 19 },
215
- { start: 12000, duration: 1000, repeatCount: 0 },
216
- { start: 13000, duration: 7000, repeatCount: 0 },
217
- { start: 20000, duration: 5000, repeatCount: 0 } ];
218
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
219
- expect(oldTimeline2).toEqual([
220
- { start: 1000, duration: 500, repeatCount: 21 },
221
- { start: 12000, duration: 1000, repeatCount: 0 },
222
- { start: 13000, duration: 7000, repeatCount: 0 },
223
- { start: 20000, duration: 5000, repeatCount: 0 },
224
- ]);
225
-
226
- const oldTimeline3 = [ { start: 1000, duration: 500, repeatCount: 21 },
227
- { start: 12000, duration: 1000, repeatCount: 0 } ];
228
- const newTimeline3 = [ { start: 2000, duration: 500, repeatCount: -1 },
229
- { start: 12000, duration: 1000, repeatCount: 0 },
230
- { start: 13000, duration: 7000, repeatCount: 0 },
231
- { start: 20000, duration: 5000, repeatCount: 0 } ];
232
- expect(updateSegmentTimeline?.(oldTimeline3, newTimeline3)).toEqual(false);
233
- expect(oldTimeline3).toEqual([
234
- { start: 1000, duration: 500, repeatCount: -1 },
235
- { start: 12000, duration: 1000, repeatCount: 0 },
236
- { start: 13000, duration: 7000, repeatCount: 0 },
237
- { start: 20000, duration: 5000, repeatCount: 0 },
238
- ]);
239
- expect(mockLogWarn).not.toHaveBeenCalled();
240
- });
241
-
242
- it("should merge even if there are \"holes\" in the old timeline", () => {
243
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
244
- { start: 1000, duration: 500, repeatCount: 0 },
245
- { start: 12000, duration: 1000, repeatCount: 0 } ];
246
- const newTimeline1 = [ { start: 2000, duration: 500, repeatCount: 19 },
247
- { start: 12000, duration: 1000, repeatCount: 0 },
248
- { start: 13000, duration: 7000, repeatCount: 0 },
249
- { start: 20000, duration: 5000, repeatCount: 0 } ];
250
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
251
- expect(oldTimeline1).toEqual([
252
- { start: 0, duration: 1000, repeatCount: 0 },
253
- { start: 1000, duration: 500, repeatCount: 0 },
254
- { start: 2000, duration: 500, repeatCount: 19 },
255
- { start: 12000, duration: 1000, repeatCount: 0 },
256
- { start: 13000, duration: 7000, repeatCount: 0 },
257
- { start: 20000, duration: 5000, repeatCount: 0 },
258
- ]);
259
-
260
- const oldTimeline2 = [ { start: 0, duration: 1000, repeatCount: 0 },
261
- { start: 1000, duration: 500, repeatCount: 3 },
262
- { start: 12000, duration: 1000, repeatCount: 0 } ];
263
- const newTimeline2 = [ { start: 4000, duration: 500, repeatCount: 15 },
264
- { start: 12000, duration: 1000, repeatCount: 0 },
265
- { start: 13000, duration: 7000, repeatCount: 0 },
266
- { start: 20000, duration: 5000, repeatCount: 0 } ];
267
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
268
- expect(oldTimeline2).toEqual([
269
- { start: 0, duration: 1000, repeatCount: 0 },
270
- { start: 1000, duration: 500, repeatCount: 3 },
271
- { start: 4000, duration: 500, repeatCount: 15 },
272
- { start: 12000, duration: 1000, repeatCount: 0 },
273
- { start: 13000, duration: 7000, repeatCount: 0 },
274
- { start: 20000, duration: 5000, repeatCount: 0 },
275
- ]);
276
-
277
- expect(mockLogWarn).not.toHaveBeenCalled();
278
- });
279
-
280
- /* eslint-disable max-len */
281
- it("should handle cases where the new timeline's start cannot be reached with the old timeline's repeatCount ", () => {
282
- /* eslint-enable max-len */
283
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
284
- { start: 1000, duration: 500, repeatCount: 21 },
285
- { start: 12000, duration: 1000, repeatCount: 0 } ];
286
- const newTimeline1 = [ { start: 2700, duration: 500, repeatCount: 19 },
287
- { start: 12700, duration: 1000, repeatCount: 0 },
288
- { start: 13700, duration: 7000, repeatCount: 0 },
289
- { start: 20700, duration: 5000, repeatCount: 0 } ];
290
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
291
- expect(oldTimeline1).toEqual([
292
- { start: 0, duration: 1000, repeatCount: 0 },
293
- { start: 1000, duration: 500, repeatCount: 2 },
294
- { start: 2700, duration: 500, repeatCount: 19 },
295
- { start: 12700, duration: 1000, repeatCount: 0 },
296
- { start: 13700, duration: 7000, repeatCount: 0 },
297
- { start: 20700, duration: 5000, repeatCount: 0 },
298
- ]);
299
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
300
- expect(mockLogWarn).toHaveBeenCalledWith(
301
- "RepresentationIndex: Manifest update removed previous segments"
302
- );
303
- mockLogWarn?.mockClear();
304
-
305
- const oldTimeline2 = [ { start: 0, duration: 1000, repeatCount: 0 },
306
- { start: 1000, duration: 500, repeatCount: 21 } ];
307
- const newTimeline2 = [ { start: 2700, duration: 500, repeatCount: 19 },
308
- { start: 12700, duration: 1000, repeatCount: 0 },
309
- { start: 13700, duration: 7000, repeatCount: 0 },
310
- { start: 20700, duration: 5000, repeatCount: 0 } ];
311
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
312
- expect(oldTimeline2).toEqual([
313
- { start: 0, duration: 1000, repeatCount: 0 },
314
- { start: 1000, duration: 500, repeatCount: 2 },
315
- { start: 2700, duration: 500, repeatCount: 19 },
316
- { start: 12700, duration: 1000, repeatCount: 0 },
317
- { start: 13700, duration: 7000, repeatCount: 0 },
318
- { start: 20700, duration: 5000, repeatCount: 0 },
319
- ]);
320
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
321
- expect(mockLogWarn).toHaveBeenCalledWith(
322
- "RepresentationIndex: Manifest update removed previous segments"
323
- );
324
- mockLogWarn?.mockClear();
325
-
326
- const oldTimeline3 = [ { start: 0, duration: 1000, repeatCount: 0 },
327
- { start: 1000, duration: 500, repeatCount: 21 } ];
328
- const newTimeline3 = [ { start: 2700, duration: 500, repeatCount: 19 } ];
329
- expect(updateSegmentTimeline?.(oldTimeline3, newTimeline3)).toEqual(false);
330
- expect(oldTimeline3).toEqual([
331
- { start: 0, duration: 1000, repeatCount: 0 },
332
- { start: 1000, duration: 500, repeatCount: 2 },
333
- { start: 2700, duration: 500, repeatCount: 19 },
334
- ]);
335
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
336
- expect(mockLogWarn).toHaveBeenCalledWith(
337
- "RepresentationIndex: Manifest update removed previous segments"
338
- );
339
- });
340
-
341
- /* eslint-disable max-len */
342
- it("should handle cases where the repeatCount cannot be incremented due to different durations", () => {
343
- /* eslint-enable max-len */
344
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
345
- { start: 1000, duration: 500, repeatCount: 21 },
346
- { start: 12000, duration: 1000, repeatCount: 0 } ];
347
- const newTimeline1 = [ { start: 2000, duration: 1000, repeatCount: 9 },
348
- { start: 12000, duration: 1000, repeatCount: 0 },
349
- { start: 13000, duration: 7000, repeatCount: 0 },
350
- { start: 20000, duration: 5000, repeatCount: 0 } ];
351
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
352
- expect(oldTimeline1).toEqual([
353
- { start: 0, duration: 1000, repeatCount: 0 },
354
- { start: 1000, duration: 500, repeatCount: 1 },
355
- { start: 2000, duration: 1000, repeatCount: 9 },
356
- { start: 12000, duration: 1000, repeatCount: 0 },
357
- { start: 13000, duration: 7000, repeatCount: 0 },
358
- { start: 20000, duration: 5000, repeatCount: 0 },
359
- ]);
360
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
361
- expect(mockLogWarn).toHaveBeenCalledWith(
362
- "RepresentationIndex: Manifest update removed previous segments"
363
- );
364
- mockLogWarn?.mockClear();
365
-
366
- const oldTimeline2 = [ { start: 0, duration: 1000, repeatCount: 0 },
367
- { start: 1000, duration: 500, repeatCount: 21 } ];
368
- const newTimeline2 = [ { start: 2000, duration: 1000, repeatCount: 9 },
369
- { start: 12000, duration: 1000, repeatCount: 0 },
370
- { start: 13000, duration: 7000, repeatCount: 0 },
371
- { start: 20000, duration: 5000, repeatCount: 0 } ];
372
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
373
- expect(oldTimeline2).toEqual([
374
- { start: 0, duration: 1000, repeatCount: 0 },
375
- { start: 1000, duration: 500, repeatCount: 1 },
376
- { start: 2000, duration: 1000, repeatCount: 9 },
377
- { start: 12000, duration: 1000, repeatCount: 0 },
378
- { start: 13000, duration: 7000, repeatCount: 0 },
379
- { start: 20000, duration: 5000, repeatCount: 0 },
380
- ]);
381
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
382
- expect(mockLogWarn).toHaveBeenCalledWith(
383
- "RepresentationIndex: Manifest update removed previous segments"
384
- );
385
- mockLogWarn?.mockClear();
386
-
387
- const oldTimeline3 = [ { start: 1000, duration: 500, repeatCount: 21 } ];
388
- const newTimeline3 = [ { start: 2000, duration: 1000, repeatCount: 9 } ];
389
- expect(updateSegmentTimeline?.(oldTimeline3, newTimeline3)).toEqual(false);
390
- expect(oldTimeline3).toEqual([
391
- { start: 1000, duration: 500, repeatCount: 1 },
392
- { start: 2000, duration: 1000, repeatCount: 9 },
393
- ]);
394
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
395
- expect(mockLogWarn).toHaveBeenCalledWith(
396
- "RepresentationIndex: Manifest update removed previous segments"
397
- );
398
- });
399
-
400
- it("should handle and log when there is a direct overlap (not due to a repeat)", () => {
401
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
402
- { start: 1000, duration: 500, repeatCount: 0 },
403
- { start: 1500, duration: 1500, repeatCount: 0 },
404
- { start: 3000, duration: 9000, repeatCount: 0 } ];
405
- const newTimeline1 = [ { start: 2000, duration: 1000, repeatCount: 0 },
406
- { start: 3000, duration: 9000, repeatCount: 0 },
407
- { start: 12000, duration: 1000, repeatCount: 0 },
408
- { start: 13000, duration: 7000, repeatCount: 0 },
409
- { start: 20000, duration: 5000, repeatCount: 0 } ];
410
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(true);
411
- expect(oldTimeline1).toEqual([
412
- { start: 2000, duration: 1000, repeatCount: 0 },
413
- { start: 3000, duration: 9000, repeatCount: 0 },
414
- { start: 12000, duration: 1000, repeatCount: 0 },
415
- { start: 13000, duration: 7000, repeatCount: 0 },
416
- { start: 20000, duration: 5000, repeatCount: 0 },
417
- ]);
418
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
419
- expect(mockLogWarn).toHaveBeenCalledWith(
420
- "RepresentationIndex: Manifest update removed all previous segments"
421
- );
422
- });
423
-
424
- /* eslint-disable max-len */
425
- it("should handle the case where the new Timeline just increment the last repeatCount", () => {
426
- /* eslint-enable max-len */
427
- const oldTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
428
- { start: 1000, duration: 500, repeatCount: 21 } ];
429
- const newTimeline1 = [ { start: 1000, duration: 500, repeatCount: 51 } ];
430
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
431
- expect(oldTimeline1).toEqual([
432
- { start: 0, duration: 1000, repeatCount: 0 },
433
- { start: 1000, duration: 500, repeatCount: 51 },
434
- ]);
435
-
436
- const oldTimeline2 = [ { start: 1000, duration: 500, repeatCount: 64 } ];
437
- const newTimeline2 = [ { start: 1000, duration: 500, repeatCount: 72 } ];
438
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
439
- expect(oldTimeline2).toEqual([ { start: 1000, duration: 500, repeatCount: 72 } ]);
440
-
441
- const oldTimeline3 = [ { start: 1000, duration: 500, repeatCount: 64 } ];
442
- const newTimeline3 = [ { start: 1000, duration: 500, repeatCount: 72 },
443
- { start: 37500, duration: 1000, repeatCount: 5 }];
444
- expect(updateSegmentTimeline?.(oldTimeline3, newTimeline3)).toEqual(false);
445
- expect(oldTimeline3).toEqual([
446
- { start: 1000, duration: 500, repeatCount: 72 },
447
- { start: 37500, duration: 1000, repeatCount: 5 },
448
- ]);
449
-
450
- expect(mockLogWarn).not.toHaveBeenCalled();
451
- });
452
-
453
- it("should handle when the newer timeline has more depth than the older one", () => {
454
- const oldTimeline1 = [ { start: 1000, duration: 500, repeatCount: 21 },
455
- { start: 12000, duration: 1000, repeatCount: 0 } ];
456
- const newTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
457
- { start: 1000, duration: 500, repeatCount: 21 },
458
- { start: 12000, duration: 1000, repeatCount: 0 },
459
- { start: 13000, duration: 7000, repeatCount: 0 },
460
- { start: 20000, duration: 5000, repeatCount: 0 } ];
461
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(true);
462
- expect(oldTimeline1).toEqual([
463
- { start: 0, duration: 1000, repeatCount: 0 },
464
- { start: 1000, duration: 500, repeatCount: 21 },
465
- { start: 12000, duration: 1000, repeatCount: 0 },
466
- { start: 13000, duration: 7000, repeatCount: 0 },
467
- { start: 20000, duration: 5000, repeatCount: 0 },
468
- ]);
469
-
470
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
471
- expect(mockLogWarn)
472
- .toHaveBeenCalledWith(
473
- "RepresentationIndex: The new index is \"bigger\" than the previous one"
474
- );
475
-
476
- mockLogWarn?.mockClear();
477
-
478
- const oldTimeline2 = [ { start: 1000, duration: 500, repeatCount: 21 },
479
- { start: 12000, duration: 1000, repeatCount: -1 } ];
480
- const newTimeline2 = [ { start: 0, duration: 1000, repeatCount: 0 },
481
- { start: 1000, duration: 500, repeatCount: 21 },
482
- { start: 12000, duration: 1000, repeatCount: 0 },
483
- { start: 13000, duration: 7000, repeatCount: 0 },
484
- { start: 20000, duration: 5000, repeatCount: 0 } ];
485
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(true);
486
- expect(oldTimeline2).toEqual([
487
- { start: 0, duration: 1000, repeatCount: 0 },
488
- { start: 1000, duration: 500, repeatCount: 21 },
489
- { start: 12000, duration: 1000, repeatCount: 0 },
490
- { start: 13000, duration: 7000, repeatCount: 0 },
491
- { start: 20000, duration: 5000, repeatCount: 0 },
492
- ]);
493
-
494
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
495
- expect(mockLogWarn)
496
- .toHaveBeenCalledWith(
497
- "RepresentationIndex: The new index is \"bigger\" than the previous one"
498
- );
499
- });
500
-
501
- it("should handle when the newer timeline is actually older than the older one", () => {
502
- const oldTimeline1 = [ { start: 1000, duration: 500, repeatCount: 21 },
503
- { start: 12000, duration: 1000, repeatCount: 0 },
504
- { start: 13000, duration: 7000, repeatCount: 0 },
505
- { start: 20000, duration: 5000, repeatCount: 0 } ];
506
- const newTimeline1 = [ { start: 0, duration: 1000, repeatCount: 0 },
507
- { start: 1000, duration: 500, repeatCount: 21 } ];
508
- expect(updateSegmentTimeline?.(oldTimeline1, newTimeline1)).toEqual(false);
509
- expect(oldTimeline1).toEqual([
510
- { start: 1000, duration: 500, repeatCount: 21 },
511
- { start: 12000, duration: 1000, repeatCount: 0 },
512
- { start: 13000, duration: 7000, repeatCount: 0 },
513
- { start: 20000, duration: 5000, repeatCount: 0 },
514
- ]);
515
-
516
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
517
- expect(mockLogWarn)
518
- .toHaveBeenCalledWith(
519
- "RepresentationIndex: The new index is older than the previous one"
520
- );
521
-
522
- mockLogWarn?.mockClear();
523
-
524
- const oldTimeline2 = [ { start: 1000, duration: 500, repeatCount: 21 },
525
- { start: 12000, duration: 1000, repeatCount: 0 },
526
- { start: 13000, duration: 7000, repeatCount: 0 },
527
- { start: 20000, duration: 5000, repeatCount: -1 } ];
528
- const newTimeline2 = [ { start: 0, duration: 1000, repeatCount: 0 },
529
- { start: 1000, duration: 500, repeatCount: 21 } ];
530
- expect(updateSegmentTimeline?.(oldTimeline2, newTimeline2)).toEqual(false);
531
- expect(oldTimeline2).toEqual([
532
- { start: 1000, duration: 500, repeatCount: 21 },
533
- { start: 12000, duration: 1000, repeatCount: 0 },
534
- { start: 13000, duration: 7000, repeatCount: 0 },
535
- { start: 20000, duration: 5000, repeatCount: -1 },
536
- ]);
537
-
538
- expect(mockLogWarn).toHaveBeenCalledTimes(1);
539
- expect(mockLogWarn)
540
- .toHaveBeenCalledWith(
541
- "RepresentationIndex: The new index is older than the previous one"
542
- );
543
-
544
- mockLogWarn?.mockClear();
545
- });
546
- });
@@ -1,83 +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 log from "../../../log";
18
- import arrayIncludes from "../../../utils/array_includes";
19
- import {
20
- IParsedAdaptationType,
21
- IParsedManifest,
22
- } from "../types";
23
-
24
- /**
25
- * Ensure that no two periods, adaptations from the same period and
26
- * representations from the same adaptation, have the same ID.
27
- *
28
- * Log and mutate their ID if not until this is verified.
29
- *
30
- * @param {Object} manifest
31
- */
32
- export default function checkManifestIDs(
33
- manifest : IParsedManifest
34
- ) : void {
35
- const periodIDS : string[] = [];
36
- manifest.periods.forEach((period) => {
37
- const periodID = period.id;
38
- if (arrayIncludes(periodIDS, periodID)) {
39
- log.warn("Two periods with the same ID found. Updating.");
40
- const newID = periodID + "-dup";
41
- period.id = newID;
42
- checkManifestIDs(manifest);
43
- periodIDS.push(newID);
44
- } else {
45
- periodIDS.push(periodID);
46
- }
47
- const { adaptations } = period;
48
- const adaptationIDs : string[] = [];
49
- (Object.keys(adaptations) as IParsedAdaptationType[]).forEach((type) => {
50
- const adaptationsForType = adaptations[type];
51
- if (adaptationsForType === undefined) {
52
- return;
53
- }
54
- adaptationsForType.forEach(adaptation => {
55
- const adaptationID = adaptation.id;
56
- if (arrayIncludes(adaptationIDs, adaptationID)) {
57
- log.warn("Two adaptations with the same ID found. Updating.",
58
- adaptationID);
59
- const newID = adaptationID + "-dup";
60
- adaptation.id = newID;
61
- checkManifestIDs(manifest);
62
- adaptationIDs.push(newID);
63
- } else {
64
- adaptationIDs.push(adaptationID);
65
- }
66
- const representationIDs : Array<number|string> = [];
67
- adaptation.representations.forEach(representation => {
68
- const representationID = representation.id;
69
- if (arrayIncludes(representationIDs, representationID)) {
70
- log.warn("Two representations with the same ID found. Updating.",
71
- representationID);
72
- const newID = `${representationID}-dup`;
73
- representation.id = newID;
74
- checkManifestIDs(manifest);
75
- representationIDs.push(newID);
76
- } else {
77
- representationIDs.push(representationID);
78
- }
79
- });
80
- });
81
- });
82
- });
83
- }