rx-player 3.33.0-dev.2024011500 → 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 (817) hide show
  1. package/CHANGELOG.md +14 -1
  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.js +24 -9
  9. package/dist/rx-player.min.js +1 -1
  10. package/package.json +6 -6
  11. package/.editorconfig +0 -22
  12. package/.eslintrc.js +0 -406
  13. package/.github/workflows/checks.yml +0 -101
  14. package/.github/workflows/perfs.yml +0 -22
  15. package/.github/workflows/sonarcloud_analysis.yml +0 -20
  16. package/CONTRIBUTING.md +0 -272
  17. package/FILES.md +0 -283
  18. package/jest.config.js +0 -73
  19. package/manifest.mpd +0 -149
  20. package/scripts/README.md +0 -11
  21. package/scripts/build/constants.d.ts +0 -53
  22. package/scripts/build/generate_build.js +0 -190
  23. package/scripts/build/templates/experimental/features/index.d.ts +0 -16
  24. package/scripts/build/templates/experimental/features/index.js +0 -16
  25. package/scripts/build/templates/experimental/index.d.ts +0 -16
  26. package/scripts/build/templates/experimental/index.js +0 -16
  27. package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.d.ts +0 -18
  28. package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.js +0 -18
  29. package/scripts/build/templates/experimental/tools/index.d.ts +0 -16
  30. package/scripts/build/templates/experimental/tools/index.js +0 -16
  31. package/scripts/build/templates/features/index.d.ts +0 -16
  32. package/scripts/build/templates/features/index.js +0 -16
  33. package/scripts/build/templates/logger/index.d.ts +0 -17
  34. package/scripts/build/templates/logger/index.js +0 -17
  35. package/scripts/build/templates/minimal/index.d.ts +0 -17
  36. package/scripts/build/templates/minimal/index.js +0 -17
  37. package/scripts/build/templates/tools/TextTrackRenderer.d.ts +0 -18
  38. package/scripts/build/templates/tools/TextTrackRenderer.js +0 -18
  39. package/scripts/build/templates/tools/index.d.ts +0 -16
  40. package/scripts/build/templates/tools/index.js +0 -16
  41. package/scripts/build/templates/tools/string-utils.d.ts +0 -18
  42. package/scripts/build/templates/tools/string-utils.js +0 -18
  43. package/scripts/build/templates/types/index.d.ts +0 -16
  44. package/scripts/build/templates/types/index.js +0 -15
  45. package/scripts/canal-release.patch +0 -316
  46. package/scripts/check_nodejs_import_compatibility.js +0 -60
  47. package/scripts/deploy_new_demo +0 -123
  48. package/scripts/fast_demo_build.js +0 -129
  49. package/scripts/generate_certificate +0 -19
  50. package/scripts/generate_demo_list.js +0 -105
  51. package/scripts/generate_documentation_list.js +0 -109
  52. package/scripts/generate_full_demo.js +0 -201
  53. package/scripts/generate_standalone_demo.js +0 -82
  54. package/scripts/launch_static_server.js +0 -163
  55. package/scripts/list-npm-scripts.js +0 -207
  56. package/scripts/make-dev-releases +0 -90
  57. package/scripts/report_build_sizes +0 -96
  58. package/scripts/run_standalone_demo.js +0 -27
  59. package/scripts/start_demo_web_server.js +0 -44
  60. package/scripts/update-version +0 -48
  61. package/scripts/update_gh-pages_demo +0 -132
  62. package/scripts/update_gh-pages_doc +0 -106
  63. package/scripts/utils/display_webpack_errors.js +0 -33
  64. package/scripts/utils/get_human_readable_hours.js +0 -14
  65. package/scripts/wasm-strip.js +0 -359
  66. package/sonar-project.properties +0 -7
  67. package/src/README.md +0 -136
  68. package/src/compat/README.md +0 -29
  69. package/src/compat/__tests__/add_text_track.test.ts +0 -176
  70. package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -152
  71. package/src/compat/__tests__/browser_version.test.ts +0 -84
  72. package/src/compat/__tests__/can_patch_isobmff.test.ts +0 -50
  73. package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +0 -78
  74. package/src/compat/__tests__/can_reuse_media_keys.test.ts +0 -31
  75. package/src/compat/__tests__/change_source_buffer_type.test.ts +0 -60
  76. package/src/compat/__tests__/clear_element_src.test.ts +0 -252
  77. package/src/compat/__tests__/enable_audio_track.test.ts +0 -341
  78. package/src/compat/__tests__/fullscreen.test.ts +0 -286
  79. package/src/compat/__tests__/is_codec_supported.test.ts +0 -78
  80. package/src/compat/__tests__/is_offline.test.ts +0 -65
  81. package/src/compat/__tests__/is_seeking_approximate.test.ts +0 -48
  82. package/src/compat/__tests__/is_vtt_cue.test.ts +0 -71
  83. package/src/compat/__tests__/make_vtt_cue.test.ts +0 -97
  84. package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +0 -144
  85. package/src/compat/__tests__/remove_cue.test.ts +0 -229
  86. package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +0 -128
  87. package/src/compat/__tests__/should_reload_media_source_on_decipherability_update.test.ts +0 -50
  88. package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +0 -55
  89. package/src/compat/__tests__/should_unset_media_keys.test.ts +0 -53
  90. package/src/compat/__tests__/should_validate_metadata.test.ts +0 -53
  91. package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +0 -121
  92. package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +0 -36
  93. package/src/compat/add_class_name.ts +0 -41
  94. package/src/compat/add_text_track.ts +0 -58
  95. package/src/compat/browser_compatibility_types.ts +0 -222
  96. package/src/compat/browser_detection.ts +0 -172
  97. package/src/compat/browser_version.ts +0 -44
  98. package/src/compat/can_patch_isobmff.ts +0 -30
  99. package/src/compat/can_rely_on_video_visibility_and_size.ts +0 -52
  100. package/src/compat/can_reuse_media_keys.ts +0 -20
  101. package/src/compat/change_source_buffer_type.ts +0 -66
  102. package/src/compat/clear_element_src.ts +0 -55
  103. package/src/compat/eme/close_session.ts +0 -111
  104. package/src/compat/eme/constants.ts +0 -21
  105. package/src/compat/eme/custom_key_system_access.ts +0 -67
  106. package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +0 -186
  107. package/src/compat/eme/custom_media_keys/index.ts +0 -28
  108. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +0 -88
  109. package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +0 -69
  110. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +0 -235
  111. package/src/compat/eme/custom_media_keys/types.ts +0 -67
  112. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +0 -308
  113. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +0 -50
  114. package/src/compat/eme/eme-api-implementation.ts +0 -318
  115. package/src/compat/eme/generate_key_request.ts +0 -162
  116. package/src/compat/eme/get_init_data.ts +0 -159
  117. package/src/compat/eme/get_uuid_kid_from_keystatus_kid.ts +0 -37
  118. package/src/compat/eme/get_webkit_fairplay_initdata.ts +0 -75
  119. package/src/compat/eme/index.ts +0 -47
  120. package/src/compat/eme/load_session.ts +0 -67
  121. package/src/compat/enable_audio_track.ts +0 -33
  122. package/src/compat/event_listeners.ts +0 -566
  123. package/src/compat/fullscreen.ts +0 -87
  124. package/src/compat/get_start_date.ts +0 -48
  125. package/src/compat/has_issues_with_high_media_source_duration.ts +0 -27
  126. package/src/compat/index.ts +0 -87
  127. package/src/compat/is_codec_supported.ts +0 -40
  128. package/src/compat/is_debug_mode_enabled.ts +0 -12
  129. package/src/compat/is_node.ts +0 -18
  130. package/src/compat/is_offline.ts +0 -44
  131. package/src/compat/is_seeking_approximate.ts +0 -32
  132. package/src/compat/is_vtt_cue.ts +0 -30
  133. package/src/compat/make_vtt_cue.ts +0 -51
  134. package/src/compat/on_height_width_change.ts +0 -119
  135. package/src/compat/patch_webkit_source_buffer.ts +0 -89
  136. package/src/compat/remove_cue.ts +0 -64
  137. package/src/compat/should_favour_custom_safari_EME.ts +0 -34
  138. package/src/compat/should_prevent_seeking_at_0_initially.ts +0 -19
  139. package/src/compat/should_reload_media_source_on_decipherability_update.ts +0 -32
  140. package/src/compat/should_renew_media_key_system_access.ts +0 -26
  141. package/src/compat/should_unset_media_keys.ts +0 -27
  142. package/src/compat/should_validate_metadata.ts +0 -27
  143. package/src/compat/should_wait_for_data_before_loaded.ts +0 -35
  144. package/src/compat/should_wait_for_have_enough_data.ts +0 -17
  145. package/src/config.ts +0 -32
  146. package/src/core/README.md +0 -56
  147. package/src/core/adaptive/README.md +0 -147
  148. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +0 -548
  149. package/src/core/adaptive/adaptive_representation_selector.ts +0 -916
  150. package/src/core/adaptive/buffer_based_chooser.ts +0 -264
  151. package/src/core/adaptive/guess_based_chooser.ts +0 -309
  152. package/src/core/adaptive/index.ts +0 -45
  153. package/src/core/adaptive/network_analyzer.ts +0 -419
  154. package/src/core/adaptive/utils/__tests__/bandwith_estimator.test.ts +0 -134
  155. package/src/core/adaptive/utils/__tests__/ewma.test.ts +0 -79
  156. package/src/core/adaptive/utils/__tests__/filter_by_bitrate.test.ts +0 -56
  157. package/src/core/adaptive/utils/__tests__/filter_by_width.test.ts +0 -60
  158. package/src/core/adaptive/utils/__tests__/get_buffer_levels.test.ts +0 -48
  159. package/src/core/adaptive/utils/__tests__/select_optimal_representation.test.ts +0 -243
  160. package/src/core/adaptive/utils/bandwidth_estimator.ts +0 -88
  161. package/src/core/adaptive/utils/ewma.ts +0 -59
  162. package/src/core/adaptive/utils/filter_by_bitrate.ts +0 -46
  163. package/src/core/adaptive/utils/filter_by_width.ts +0 -49
  164. package/src/core/adaptive/utils/get_buffer_levels.ts +0 -50
  165. package/src/core/adaptive/utils/last_estimate_storage.ts +0 -79
  166. package/src/core/adaptive/utils/pending_requests_store.ts +0 -147
  167. package/src/core/adaptive/utils/representation_score_calculator.ts +0 -168
  168. package/src/core/adaptive/utils/select_optimal_representation.ts +0 -54
  169. package/src/core/api/README.md +0 -36
  170. package/src/core/api/__tests__/option_utils.test.ts +0 -1668
  171. package/src/core/api/__tests__/public_api.test.ts +0 -857
  172. package/src/core/api/__tests__/utils.test.ts +0 -195
  173. package/src/core/api/debug/buffer_graph.ts +0 -244
  174. package/src/core/api/debug/buffer_size_graph.ts +0 -130
  175. package/src/core/api/debug/constants.ts +0 -2
  176. package/src/core/api/debug/index.ts +0 -3
  177. package/src/core/api/debug/modules/general_info.ts +0 -213
  178. package/src/core/api/debug/modules/segment_buffer_content.ts +0 -155
  179. package/src/core/api/debug/modules/segment_buffer_size.ts +0 -48
  180. package/src/core/api/debug/render.ts +0 -40
  181. package/src/core/api/debug/utils.ts +0 -103
  182. package/src/core/api/index.ts +0 -27
  183. package/src/core/api/option_utils.ts +0 -700
  184. package/src/core/api/playback_observer.ts +0 -994
  185. package/src/core/api/public_api.ts +0 -3247
  186. package/src/core/api/tracks_management/__tests__/media_element_track_choice_manager.test.ts +0 -184
  187. package/src/core/api/tracks_management/media_element_track_choice_manager.ts +0 -975
  188. package/src/core/api/tracks_management/track_choice_manager.ts +0 -1280
  189. package/src/core/api/utils.ts +0 -216
  190. package/src/core/decrypt/README.md +0 -22
  191. package/src/core/decrypt/__tests__/__global__/get_license.test.ts +0 -422
  192. package/src/core/decrypt/__tests__/__global__/init_data.test.ts +0 -677
  193. package/src/core/decrypt/__tests__/__global__/media_key_system_access.test.ts +0 -528
  194. package/src/core/decrypt/__tests__/__global__/media_keys.test.ts +0 -343
  195. package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +0 -264
  196. package/src/core/decrypt/__tests__/__global__/utils.ts +0 -491
  197. package/src/core/decrypt/attach_media_keys.ts +0 -121
  198. package/src/core/decrypt/clear_on_stop.ts +0 -47
  199. package/src/core/decrypt/content_decryptor.ts +0 -1246
  200. package/src/core/decrypt/create_or_load_session.ts +0 -133
  201. package/src/core/decrypt/create_session.ts +0 -214
  202. package/src/core/decrypt/dispose_decryption_resources.ts +0 -54
  203. package/src/core/decrypt/find_key_system.ts +0 -376
  204. package/src/core/decrypt/get_key_system_configuration.ts +0 -51
  205. package/src/core/decrypt/get_media_keys.ts +0 -147
  206. package/src/core/decrypt/index.ts +0 -36
  207. package/src/core/decrypt/init_media_keys.ts +0 -60
  208. package/src/core/decrypt/session_events_listener.ts +0 -386
  209. package/src/core/decrypt/set_server_certificate.ts +0 -105
  210. package/src/core/decrypt/types.ts +0 -404
  211. package/src/core/decrypt/utils/__tests__/are_init_values_compatible.test.ts +0 -261
  212. package/src/core/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -158
  213. package/src/core/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +0 -133
  214. package/src/core/decrypt/utils/are_init_values_compatible.ts +0 -140
  215. package/src/core/decrypt/utils/check_key_statuses.ts +0 -193
  216. package/src/core/decrypt/utils/clean_old_loaded_sessions.ts +0 -45
  217. package/src/core/decrypt/utils/clean_old_stored_persistent_info.ts +0 -48
  218. package/src/core/decrypt/utils/get_drm_system_id.ts +0 -42
  219. package/src/core/decrypt/utils/init_data_values_container.ts +0 -119
  220. package/src/core/decrypt/utils/is_session_usable.ts +0 -62
  221. package/src/core/decrypt/utils/key_id_comparison.ts +0 -57
  222. package/src/core/decrypt/utils/key_session_record.ts +0 -174
  223. package/src/core/decrypt/utils/loaded_sessions_store.ts +0 -505
  224. package/src/core/decrypt/utils/media_keys_infos_store.ts +0 -85
  225. package/src/core/decrypt/utils/persistent_sessions_store.ts +0 -358
  226. package/src/core/decrypt/utils/serializable_bytes.ts +0 -59
  227. package/src/core/decrypt/utils/server_certificate_store.ts +0 -133
  228. package/src/core/fetchers/README.md +0 -84
  229. package/src/core/fetchers/cdn_prioritizer.ts +0 -207
  230. package/src/core/fetchers/index.ts +0 -38
  231. package/src/core/fetchers/manifest/index.ts +0 -28
  232. package/src/core/fetchers/manifest/manifest_fetcher.ts +0 -798
  233. package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +0 -763
  234. package/src/core/fetchers/segment/index.ts +0 -28
  235. package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +0 -113
  236. package/src/core/fetchers/segment/segment_fetcher.ts +0 -482
  237. package/src/core/fetchers/segment/segment_fetcher_creator.ts +0 -129
  238. package/src/core/fetchers/segment/task_prioritizer.ts +0 -455
  239. package/src/core/fetchers/utils/error_selector.ts +0 -38
  240. package/src/core/fetchers/utils/schedule_request.ts +0 -493
  241. package/src/core/init/README.md +0 -81
  242. package/src/core/init/directfile_content_initializer.ts +0 -310
  243. package/src/core/init/index.ts +0 -22
  244. package/src/core/init/media_source_content_initializer.ts +0 -878
  245. package/src/core/init/types.ts +0 -266
  246. package/src/core/init/utils/__tests__/are_same_stream_events.test.ts +0 -84
  247. package/src/core/init/utils/__tests__/refresh_scheduled_events_list.test.ts +0 -94
  248. package/src/core/init/utils/content_time_boundaries_observer.ts +0 -646
  249. package/src/core/init/utils/create_media_source.ts +0 -139
  250. package/src/core/init/utils/create_stream_playback_observer.ts +0 -132
  251. package/src/core/init/utils/end_of_stream.ts +0 -108
  252. package/src/core/init/utils/get_initial_time.ts +0 -165
  253. package/src/core/init/utils/get_loaded_reference.ts +0 -82
  254. package/src/core/init/utils/initial_seek_and_play.ts +0 -237
  255. package/src/core/init/utils/initialize_content_decryption.ts +0 -172
  256. package/src/core/init/utils/media_source_duration_updater.ts +0 -349
  257. package/src/core/init/utils/rebuffering_controller.ts +0 -642
  258. package/src/core/init/utils/stream_events_emitter/are_same_stream_events.ts +0 -42
  259. package/src/core/init/utils/stream_events_emitter/index.ts +0 -22
  260. package/src/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.ts +0 -74
  261. package/src/core/init/utils/stream_events_emitter/stream_events_emitter.ts +0 -252
  262. package/src/core/init/utils/stream_events_emitter/types.ts +0 -46
  263. package/src/core/init/utils/throw_on_media_error.ts +0 -74
  264. package/src/core/segment_buffers/README.md +0 -219
  265. package/src/core/segment_buffers/garbage_collector.ts +0 -177
  266. package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +0 -650
  267. package/src/core/segment_buffers/implementations/audio_video/index.ts +0 -18
  268. package/src/core/segment_buffers/implementations/image/image_segment_buffer.ts +0 -152
  269. package/src/core/segment_buffers/implementations/image/index.ts +0 -18
  270. package/src/core/segment_buffers/implementations/index.ts +0 -20
  271. package/src/core/segment_buffers/implementations/text/html/__tests__/utils.test.ts +0 -343
  272. package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +0 -527
  273. package/src/core/segment_buffers/implementations/text/html/index.ts +0 -24
  274. package/src/core/segment_buffers/implementations/text/html/parsers.ts +0 -49
  275. package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +0 -391
  276. package/src/core/segment_buffers/implementations/text/html/types.ts +0 -23
  277. package/src/core/segment_buffers/implementations/text/html/update_proportional_elements.ts +0 -93
  278. package/src/core/segment_buffers/implementations/text/html/utils.ts +0 -139
  279. package/src/core/segment_buffers/implementations/text/native/index.ts +0 -19
  280. package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +0 -340
  281. package/src/core/segment_buffers/implementations/text/native/parsers.ts +0 -47
  282. package/src/core/segment_buffers/implementations/types.ts +0 -386
  283. package/src/core/segment_buffers/implementations/utils/manual_time_ranges.ts +0 -80
  284. package/src/core/segment_buffers/index.ts +0 -67
  285. package/src/core/segment_buffers/inventory/buffered_history.ts +0 -131
  286. package/src/core/segment_buffers/inventory/index.ts +0 -30
  287. package/src/core/segment_buffers/inventory/segment_inventory.ts +0 -1111
  288. package/src/core/segment_buffers/inventory/types.ts +0 -35
  289. package/src/core/segment_buffers/segment_buffers_store.ts +0 -383
  290. package/src/core/stream/README.md +0 -59
  291. package/src/core/stream/adaptation/adaptation_stream.ts +0 -378
  292. package/src/core/stream/adaptation/index.ts +0 -20
  293. package/src/core/stream/adaptation/types.ts +0 -199
  294. package/src/core/stream/adaptation/utils/create_representation_estimator.ts +0 -114
  295. package/src/core/stream/index.ts +0 -38
  296. package/src/core/stream/orchestrator/README.md +0 -349
  297. package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +0 -70
  298. package/src/core/stream/orchestrator/index.ts +0 -30
  299. package/src/core/stream/orchestrator/stream_orchestrator.ts +0 -664
  300. package/src/core/stream/period/index.ts +0 -20
  301. package/src/core/stream/period/period_stream.ts +0 -469
  302. package/src/core/stream/period/types.ts +0 -132
  303. package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +0 -287
  304. package/src/core/stream/representation/README.md +0 -16
  305. package/src/core/stream/representation/index.ts +0 -20
  306. package/src/core/stream/representation/representation_stream.ts +0 -474
  307. package/src/core/stream/representation/types.ts +0 -292
  308. package/src/core/stream/representation/utils/append_segment_to_buffer.ts +0 -77
  309. package/src/core/stream/representation/utils/check_for_discontinuity.ts +0 -305
  310. package/src/core/stream/representation/utils/downloading_queue.ts +0 -603
  311. package/src/core/stream/representation/utils/force_garbage_collection.ts +0 -113
  312. package/src/core/stream/representation/utils/get_buffer_status.ts +0 -322
  313. package/src/core/stream/representation/utils/get_needed_segments.ts +0 -617
  314. package/src/core/stream/representation/utils/get_segment_priority.ts +0 -43
  315. package/src/core/stream/representation/utils/push_init_segment.ts +0 -85
  316. package/src/core/stream/representation/utils/push_media_segment.ts +0 -113
  317. package/src/default_config.ts +0 -1293
  318. package/src/errors/README.md +0 -6
  319. package/src/errors/__tests__/assertion_error.test.ts +0 -26
  320. package/src/errors/__tests__/encrypted_media_error.test.ts +0 -45
  321. package/src/errors/__tests__/error_message.test.ts +0 -23
  322. package/src/errors/__tests__/format_error.test.ts +0 -62
  323. package/src/errors/__tests__/is_known_error.test.ts +0 -65
  324. package/src/errors/__tests__/media_error.test.ts +0 -55
  325. package/src/errors/__tests__/network_error.test.ts +0 -84
  326. package/src/errors/__tests__/other_error.test.ts +0 -53
  327. package/src/errors/__tests__/request_error.test.ts +0 -45
  328. package/src/errors/assertion_error.ts +0 -40
  329. package/src/errors/custom_loader_error.ts +0 -57
  330. package/src/errors/encrypted_media_error.ts +0 -71
  331. package/src/errors/error_codes.ts +0 -149
  332. package/src/errors/error_message.ts +0 -30
  333. package/src/errors/format_error.ts +0 -39
  334. package/src/errors/index.ts +0 -52
  335. package/src/errors/is_known_error.ts +0 -35
  336. package/src/errors/media_error.ts +0 -118
  337. package/src/errors/network_error.ts +0 -74
  338. package/src/errors/other_error.ts +0 -50
  339. package/src/errors/request_error.ts +0 -76
  340. package/src/experimental/README.md +0 -16
  341. package/src/experimental/features/__tests__/dash_wasm.test.ts +0 -44
  342. package/src/experimental/features/__tests__/debug_element.test.ts +0 -12
  343. package/src/experimental/features/__tests__/index.test.ts +0 -19
  344. package/src/experimental/features/__tests__/local.test.ts +0 -35
  345. package/src/experimental/features/__tests__/metaplaylist.test.ts +0 -35
  346. package/src/experimental/features/dash_wasm.ts +0 -41
  347. package/src/experimental/features/debug_element.ts +0 -13
  348. package/src/experimental/features/index.ts +0 -20
  349. package/src/experimental/features/local.ts +0 -28
  350. package/src/experimental/features/metaplaylist.ts +0 -28
  351. package/src/experimental/index.ts +0 -5
  352. package/src/experimental/tools/VideoThumbnailLoader/features/dash.ts +0 -23
  353. package/src/experimental/tools/VideoThumbnailLoader/features/metaplaylist.ts +0 -23
  354. package/src/experimental/tools/VideoThumbnailLoader/index.ts +0 -25
  355. package/src/experimental/tools/VideoThumbnailLoader/load_and_push_segment.ts +0 -77
  356. package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +0 -75
  357. package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +0 -54
  358. package/src/experimental/tools/VideoThumbnailLoader/types.ts +0 -39
  359. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +0 -423
  360. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.ts +0 -34
  361. package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +0 -141
  362. package/src/experimental/tools/createMetaplaylist/index.ts +0 -72
  363. package/src/experimental/tools/index.ts +0 -27
  364. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +0 -37
  365. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +0 -140
  366. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +0 -153
  367. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +0 -405
  368. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +0 -136
  369. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +0 -294
  370. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +0 -189
  371. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/utils.test.ts +0 -361
  372. package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +0 -184
  373. package/src/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.ts +0 -136
  374. package/src/experimental/tools/mediaCapabilitiesProber/capabilities.ts +0 -169
  375. package/src/experimental/tools/mediaCapabilitiesProber/index.ts +0 -18
  376. package/src/experimental/tools/mediaCapabilitiesProber/log.ts +0 -21
  377. package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +0 -67
  378. package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +0 -89
  379. package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +0 -100
  380. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -66
  381. package/src/experimental/tools/mediaCapabilitiesProber/probers/index.ts +0 -44
  382. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +0 -66
  383. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.ts +0 -100
  384. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +0 -105
  385. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +0 -54
  386. package/src/experimental/tools/mediaCapabilitiesProber/types.ts +0 -75
  387. package/src/experimental/tools/mediaCapabilitiesProber/utils.ts +0 -107
  388. package/src/experimental/tools/parseBIFThumbnails.ts +0 -39
  389. package/src/features/README.md +0 -11
  390. package/src/features/__tests__/add_features.test.ts +0 -69
  391. package/src/features/__tests__/initialize_features.test.ts +0 -674
  392. package/src/features/add_features.ts +0 -37
  393. package/src/features/features_object.ts +0 -37
  394. package/src/features/index.ts +0 -40
  395. package/src/features/initialize_features.ts +0 -136
  396. package/src/features/list/__tests__/bif_parser.test.ts +0 -30
  397. package/src/features/list/__tests__/dash.test.ts +0 -41
  398. package/src/features/list/__tests__/directfile.test.ts +0 -35
  399. package/src/features/list/__tests__/eme.test.ts +0 -28
  400. package/src/features/list/__tests__/html_sami_parser.test.ts +0 -33
  401. package/src/features/list/__tests__/html_srt_parser.test.ts +0 -33
  402. package/src/features/list/__tests__/html_text_buffer.test.ts +0 -29
  403. package/src/features/list/__tests__/html_ttml_parser.test.ts +0 -33
  404. package/src/features/list/__tests__/html_vtt_parser.test.ts +0 -33
  405. package/src/features/list/__tests__/image_buffer.test.ts +0 -28
  406. package/src/features/list/__tests__/index.test.ts +0 -55
  407. package/src/features/list/__tests__/native_sami_parser.test.ts +0 -33
  408. package/src/features/list/__tests__/native_srt_parser.test.ts +0 -33
  409. package/src/features/list/__tests__/native_text_buffer.test.ts +0 -29
  410. package/src/features/list/__tests__/native_ttml_parser.test.ts +0 -33
  411. package/src/features/list/__tests__/native_vtt_parser.test.ts +0 -33
  412. package/src/features/list/__tests__/smooth.test.ts +0 -36
  413. package/src/features/list/bif_parser.ts +0 -31
  414. package/src/features/list/dash.ts +0 -36
  415. package/src/features/list/directfile.ts +0 -35
  416. package/src/features/list/eme.ts +0 -29
  417. package/src/features/list/html_sami_parser.ts +0 -31
  418. package/src/features/list/html_srt_parser.ts +0 -31
  419. package/src/features/list/html_text_buffer.ts +0 -29
  420. package/src/features/list/html_ttml_parser.ts +0 -31
  421. package/src/features/list/html_vtt_parser.ts +0 -31
  422. package/src/features/list/image_buffer.ts +0 -29
  423. package/src/features/list/index.ts +0 -32
  424. package/src/features/list/native_sami_parser.ts +0 -32
  425. package/src/features/list/native_srt_parser.ts +0 -32
  426. package/src/features/list/native_text_buffer.ts +0 -30
  427. package/src/features/list/native_ttml_parser.ts +0 -32
  428. package/src/features/list/native_vtt_parser.ts +0 -32
  429. package/src/features/list/smooth.ts +0 -32
  430. package/src/features/types.ts +0 -183
  431. package/src/index.ts +0 -38
  432. package/src/log.ts +0 -22
  433. package/src/manifest/README.md +0 -55
  434. package/src/manifest/__tests__/adaptation.test.ts +0 -485
  435. package/src/manifest/__tests__/manifest.test.ts +0 -428
  436. package/src/manifest/__tests__/period.test.ts +0 -769
  437. package/src/manifest/__tests__/representation.test.ts +0 -297
  438. package/src/manifest/__tests__/update_period_in_place.test.ts +0 -1074
  439. package/src/manifest/__tests__/update_periods.test.ts +0 -845
  440. package/src/manifest/adaptation.ts +0 -294
  441. package/src/manifest/index.ts +0 -67
  442. package/src/manifest/manifest.ts +0 -811
  443. package/src/manifest/period.ts +0 -211
  444. package/src/manifest/representation.ts +0 -451
  445. package/src/manifest/representation_index/__tests__/static.test.ts +0 -74
  446. package/src/manifest/representation_index/index.ts +0 -31
  447. package/src/manifest/representation_index/static.ts +0 -158
  448. package/src/manifest/representation_index/types.ts +0 -433
  449. package/src/manifest/types.ts +0 -33
  450. package/src/manifest/update_period_in_place.ts +0 -142
  451. package/src/manifest/update_periods.ts +0 -201
  452. package/src/manifest/utils.ts +0 -60
  453. package/src/minimal.ts +0 -34
  454. package/src/parsers/README.md +0 -12
  455. package/src/parsers/containers/isobmff/constants.ts +0 -24
  456. package/src/parsers/containers/isobmff/create_box.ts +0 -81
  457. package/src/parsers/containers/isobmff/drm/index.ts +0 -17
  458. package/src/parsers/containers/isobmff/drm/playready.ts +0 -45
  459. package/src/parsers/containers/isobmff/get_box.ts +0 -278
  460. package/src/parsers/containers/isobmff/index.ts +0 -51
  461. package/src/parsers/containers/isobmff/read.ts +0 -105
  462. package/src/parsers/containers/isobmff/take_pssh_out.ts +0 -101
  463. package/src/parsers/containers/isobmff/utils.ts +0 -555
  464. package/src/parsers/containers/matroska/index.ts +0 -21
  465. package/src/parsers/containers/matroska/utils.ts +0 -313
  466. package/src/parsers/images/bif.ts +0 -128
  467. package/src/parsers/manifest/dash/common/__tests__/attach_trickmode_track.test.ts +0 -65
  468. package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +0 -37
  469. package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +0 -162
  470. package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +0 -65
  471. package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +0 -165
  472. package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -118
  473. package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +0 -290
  474. package/src/parsers/manifest/dash/common/__tests__/parse_availability_start_time.test.ts +0 -63
  475. package/src/parsers/manifest/dash/common/attach_trickmode_track.ts +0 -55
  476. package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +0 -32
  477. package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +0 -87
  478. package/src/parsers/manifest/dash/common/get_clock_offset.ts +0 -41
  479. package/src/parsers/manifest/dash/common/get_hdr_information.ts +0 -94
  480. package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +0 -46
  481. package/src/parsers/manifest/dash/common/get_minimum_and_maximum_positions.ts +0 -39
  482. package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +0 -91
  483. package/src/parsers/manifest/dash/common/index.ts +0 -40
  484. package/src/parsers/manifest/dash/common/indexes/__tests__/tokens.test.ts +0 -60
  485. package/src/parsers/manifest/dash/common/indexes/base.ts +0 -444
  486. package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +0 -55
  487. package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +0 -148
  488. package/src/parsers/manifest/dash/common/indexes/index.ts +0 -39
  489. package/src/parsers/manifest/dash/common/indexes/list.ts +0 -338
  490. package/src/parsers/manifest/dash/common/indexes/template.ts +0 -652
  491. package/src/parsers/manifest/dash/common/indexes/timeline/__tests__/parse_s_element.test.ts +0 -115
  492. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +0 -54
  493. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.ts +0 -102
  494. package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +0 -66
  495. package/src/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.ts +0 -153
  496. package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +0 -21
  497. package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +0 -72
  498. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +0 -1049
  499. package/src/parsers/manifest/dash/common/indexes/tokens.ts +0 -127
  500. package/src/parsers/manifest/dash/common/indexes/utils.ts +0 -32
  501. package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +0 -142
  502. package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +0 -165
  503. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +0 -569
  504. package/src/parsers/manifest/dash/common/parse_availability_start_time.ts +0 -35
  505. package/src/parsers/manifest/dash/common/parse_mpd.ts +0 -399
  506. package/src/parsers/manifest/dash/common/parse_periods.ts +0 -363
  507. package/src/parsers/manifest/dash/common/parse_representation_index.ts +0 -199
  508. package/src/parsers/manifest/dash/common/parse_representations.ts +0 -352
  509. package/src/parsers/manifest/dash/common/resolve_base_urls.ts +0 -58
  510. package/src/parsers/manifest/dash/index.ts +0 -22
  511. package/src/parsers/manifest/dash/js-parser/__tests__/parse_from_document.test.ts +0 -45
  512. package/src/parsers/manifest/dash/js-parser/index.ts +0 -18
  513. package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +0 -381
  514. package/src/parsers/manifest/dash/js-parser/node_parsers/BaseURL.ts +0 -35
  515. package/src/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.ts +0 -49
  516. package/src/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.ts +0 -94
  517. package/src/parsers/manifest/dash/js-parser/node_parsers/EventStream.ts +0 -117
  518. package/src/parsers/manifest/dash/js-parser/node_parsers/Initialization.ts +0 -48
  519. package/src/parsers/manifest/dash/js-parser/node_parsers/MPD.ts +0 -180
  520. package/src/parsers/manifest/dash/js-parser/node_parsers/Period.ts +0 -152
  521. package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +0 -234
  522. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.ts +0 -112
  523. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentList.ts +0 -50
  524. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.ts +0 -98
  525. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.ts +0 -35
  526. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.ts +0 -63
  527. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/AdaptationSet.test.ts +0 -407
  528. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentComponent.test.ts +0 -67
  529. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentProtection.test.ts +0 -223
  530. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/Initialization.test.ts +0 -139
  531. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentTimeline.test.ts +0 -119
  532. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentURL.test.ts +0 -205
  533. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/utils.test.ts +0 -218
  534. package/src/parsers/manifest/dash/js-parser/node_parsers/utils.ts +0 -384
  535. package/src/parsers/manifest/dash/js-parser/parse_from_document.ts +0 -129
  536. package/src/parsers/manifest/dash/node_parser_types.ts +0 -431
  537. package/src/parsers/manifest/dash/parsers_types.ts +0 -91
  538. package/src/parsers/manifest/dash/wasm-parser/Cargo.lock +0 -25
  539. package/src/parsers/manifest/dash/wasm-parser/Cargo.toml +0 -16
  540. package/src/parsers/manifest/dash/wasm-parser/README.md +0 -267
  541. package/src/parsers/manifest/dash/wasm-parser/index.ts +0 -21
  542. package/src/parsers/manifest/dash/wasm-parser/rs/errors.rs +0 -28
  543. package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +0 -373
  544. package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +0 -85
  545. package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +0 -414
  546. package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +0 -472
  547. package/src/parsers/manifest/dash/wasm-parser/rs/processor/s_element.rs +0 -72
  548. package/src/parsers/manifest/dash/wasm-parser/rs/reader.rs +0 -17
  549. package/src/parsers/manifest/dash/wasm-parser/rs/reportable.rs +0 -147
  550. package/src/parsers/manifest/dash/wasm-parser/rs/utils.rs +0 -217
  551. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +0 -477
  552. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +0 -343
  553. package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +0 -38
  554. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.ts +0 -53
  555. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +0 -62
  556. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +0 -144
  557. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +0 -183
  558. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +0 -180
  559. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +0 -215
  560. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.ts +0 -44
  561. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.ts +0 -115
  562. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +0 -61
  563. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.ts +0 -133
  564. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.ts +0 -70
  565. package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +0 -66
  566. package/src/parsers/manifest/dash/wasm-parser/ts/generators/index.ts +0 -17
  567. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +0 -66
  568. package/src/parsers/manifest/dash/wasm-parser/ts/parsers_stack.ts +0 -80
  569. package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +0 -298
  570. package/src/parsers/manifest/dash/wasm-parser/ts/utils.ts +0 -47
  571. package/src/parsers/manifest/index.ts +0 -17
  572. package/src/parsers/manifest/local/index.ts +0 -25
  573. package/src/parsers/manifest/local/parse_local_manifest.ts +0 -164
  574. package/src/parsers/manifest/local/representation_index.ts +0 -246
  575. package/src/parsers/manifest/local/types.ts +0 -291
  576. package/src/parsers/manifest/metaplaylist/index.ts +0 -28
  577. package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +0 -335
  578. package/src/parsers/manifest/metaplaylist/representation_index.ts +0 -251
  579. package/src/parsers/manifest/smooth/create_parser.ts +0 -699
  580. package/src/parsers/manifest/smooth/get_codecs.ts +0 -55
  581. package/src/parsers/manifest/smooth/index.ts +0 -26
  582. package/src/parsers/manifest/smooth/parse_C_nodes.ts +0 -69
  583. package/src/parsers/manifest/smooth/parse_protection_node.ts +0 -72
  584. package/src/parsers/manifest/smooth/representation_index.ts +0 -704
  585. package/src/parsers/manifest/smooth/utils/add_segment_infos.ts +0 -77
  586. package/src/parsers/manifest/smooth/utils/parseBoolean.ts +0 -31
  587. package/src/parsers/manifest/smooth/utils/reduceChildren.ts +0 -36
  588. package/src/parsers/manifest/smooth/utils/tokens.ts +0 -46
  589. package/src/parsers/manifest/types.ts +0 -395
  590. package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +0 -161
  591. package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +0 -161
  592. package/src/parsers/manifest/utils/__tests__/index_helpers.test.ts +0 -55
  593. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +0 -546
  594. package/src/parsers/manifest/utils/check_manifest_ids.ts +0 -83
  595. package/src/parsers/manifest/utils/clear_timeline_from_position.ts +0 -74
  596. package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +0 -48
  597. package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +0 -50
  598. package/src/parsers/manifest/utils/get_maximum_positions.ts +0 -87
  599. package/src/parsers/manifest/utils/get_minimum_position.ts +0 -80
  600. package/src/parsers/manifest/utils/index_helpers.ts +0 -204
  601. package/src/parsers/manifest/utils/update_segment_timeline.ts +0 -141
  602. package/src/parsers/texttracks/index.ts +0 -21
  603. package/src/parsers/texttracks/sami/html.ts +0 -219
  604. package/src/parsers/texttracks/sami/native.ts +0 -192
  605. package/src/parsers/texttracks/srt/__tests__/find_end_of_cue_block.test.ts +0 -99
  606. package/src/parsers/texttracks/srt/__tests__/get_cue_blocks.test.ts +0 -119
  607. package/src/parsers/texttracks/srt/__tests__/parse_cue.test.ts +0 -123
  608. package/src/parsers/texttracks/srt/__tests__/parse_timestamp.test.ts +0 -36
  609. package/src/parsers/texttracks/srt/find_end_of_cue_block.ts +0 -46
  610. package/src/parsers/texttracks/srt/get_cue_blocks.ts +0 -49
  611. package/src/parsers/texttracks/srt/html.ts +0 -182
  612. package/src/parsers/texttracks/srt/native.ts +0 -74
  613. package/src/parsers/texttracks/srt/parse_cue.ts +0 -76
  614. package/src/parsers/texttracks/srt/parse_timestamp.ts +0 -37
  615. package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +0 -248
  616. package/src/parsers/texttracks/ttml/get_parameters.ts +0 -106
  617. package/src/parsers/texttracks/ttml/get_styling.ts +0 -146
  618. package/src/parsers/texttracks/ttml/get_time_delimiters.ts +0 -49
  619. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.test.ts +0 -190
  620. package/src/parsers/texttracks/ttml/html/__tests__/generate_css_test_outline.test.ts +0 -32
  621. package/src/parsers/texttracks/ttml/html/__tests__/ttml_color_to_css_color.test.ts +0 -62
  622. package/src/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.ts +0 -67
  623. package/src/parsers/texttracks/ttml/html/apply_extent.ts +0 -65
  624. package/src/parsers/texttracks/ttml/html/apply_font_size.ts +0 -62
  625. package/src/parsers/texttracks/ttml/html/apply_line_height.ts +0 -50
  626. package/src/parsers/texttracks/ttml/html/apply_origin.ts +0 -64
  627. package/src/parsers/texttracks/ttml/html/apply_padding.ts +0 -141
  628. package/src/parsers/texttracks/ttml/html/create_element.ts +0 -549
  629. package/src/parsers/texttracks/ttml/html/generate_css_test_outline.ts +0 -46
  630. package/src/parsers/texttracks/ttml/html/index.ts +0 -23
  631. package/src/parsers/texttracks/ttml/html/parse_cue.ts +0 -65
  632. package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +0 -58
  633. package/src/parsers/texttracks/ttml/html/ttml_color_to_css_color.ts +0 -68
  634. package/src/parsers/texttracks/ttml/native/index.ts +0 -23
  635. package/src/parsers/texttracks/ttml/native/parse_cue.ts +0 -245
  636. package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +0 -39
  637. package/src/parsers/texttracks/ttml/parse_ttml.ts +0 -206
  638. package/src/parsers/texttracks/ttml/regexps.ts +0 -65
  639. package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +0 -84
  640. package/src/parsers/texttracks/ttml/time_parsing.ts +0 -156
  641. package/src/parsers/texttracks/ttml/xml_utils.ts +0 -166
  642. package/src/parsers/texttracks/types.ts +0 -34
  643. package/src/parsers/texttracks/webvtt/__tests__/get_cue_blocks.test.ts +0 -218
  644. package/src/parsers/texttracks/webvtt/__tests__/get_style_blocks.test.ts +0 -65
  645. package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +0 -249
  646. package/src/parsers/texttracks/webvtt/__tests__/parse_timestamp.test.ts +0 -39
  647. package/src/parsers/texttracks/webvtt/__tests__/utils.test.ts +0 -401
  648. package/src/parsers/texttracks/webvtt/get_cue_blocks.ts +0 -51
  649. package/src/parsers/texttracks/webvtt/get_style_blocks.ts +0 -56
  650. package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +0 -106
  651. package/src/parsers/texttracks/webvtt/html/__tests__/create_default_style_elements.test.ts +0 -44
  652. package/src/parsers/texttracks/webvtt/html/__tests__/create_style_attribute.test.ts +0 -139
  653. package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +0 -140
  654. package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +0 -345
  655. package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +0 -181
  656. package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +0 -234
  657. package/src/parsers/texttracks/webvtt/html/convert_payload_to_html.ts +0 -46
  658. package/src/parsers/texttracks/webvtt/html/create_default_style_elements.ts +0 -26
  659. package/src/parsers/texttracks/webvtt/html/create_style_attribute.ts +0 -222
  660. package/src/parsers/texttracks/webvtt/html/create_styled_element.ts +0 -95
  661. package/src/parsers/texttracks/webvtt/html/index.ts +0 -25
  662. package/src/parsers/texttracks/webvtt/html/parse_style_block.ts +0 -76
  663. package/src/parsers/texttracks/webvtt/html/parse_webvtt_to_div.ts +0 -67
  664. package/src/parsers/texttracks/webvtt/html/to_html.ts +0 -96
  665. package/src/parsers/texttracks/webvtt/native/index.ts +0 -23
  666. package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +0 -70
  667. package/src/parsers/texttracks/webvtt/native/set_settings_on_cue.ts +0 -95
  668. package/src/parsers/texttracks/webvtt/native/to_native_cue.ts +0 -34
  669. package/src/parsers/texttracks/webvtt/parse_cue_block.ts +0 -128
  670. package/src/parsers/texttracks/webvtt/parse_timestamp.ts +0 -40
  671. package/src/parsers/texttracks/webvtt/utils.ts +0 -135
  672. package/src/public_types.ts +0 -846
  673. package/src/tools/README.md +0 -4
  674. package/src/tools/TextTrackRenderer/index.ts +0 -28
  675. package/src/tools/TextTrackRenderer/text_track_renderer.ts +0 -107
  676. package/src/tools/index.ts +0 -20
  677. package/src/tools/string_utils.ts +0 -24
  678. package/src/transports/README.md +0 -276
  679. package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +0 -98
  680. package/src/transports/dash/construct_segment_url.ts +0 -28
  681. package/src/transports/dash/extract_complete_chunks.ts +0 -66
  682. package/src/transports/dash/get_events_out_of_emsgs.ts +0 -105
  683. package/src/transports/dash/image_pipelines.ts +0 -122
  684. package/src/transports/dash/index.ts +0 -23
  685. package/src/transports/dash/init_segment_loader.ts +0 -114
  686. package/src/transports/dash/low_latency_segment_loader.ts +0 -87
  687. package/src/transports/dash/manifest_parser.ts +0 -325
  688. package/src/transports/dash/pipelines.ts +0 -72
  689. package/src/transports/dash/segment_loader.ts +0 -249
  690. package/src/transports/dash/segment_parser.ts +0 -194
  691. package/src/transports/dash/text_loader.ts +0 -120
  692. package/src/transports/dash/text_parser.ts +0 -234
  693. package/src/transports/index.ts +0 -17
  694. package/src/transports/local/index.ts +0 -18
  695. package/src/transports/local/pipelines.ts +0 -100
  696. package/src/transports/local/segment_loader.ts +0 -198
  697. package/src/transports/local/segment_parser.ts +0 -101
  698. package/src/transports/local/text_parser.ts +0 -185
  699. package/src/transports/metaplaylist/README.md +0 -94
  700. package/src/transports/metaplaylist/index.ts +0 -23
  701. package/src/transports/metaplaylist/manifest_loader.ts +0 -62
  702. package/src/transports/metaplaylist/pipelines.ts +0 -425
  703. package/src/transports/smooth/extract_timings_infos.ts +0 -142
  704. package/src/transports/smooth/index.ts +0 -23
  705. package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +0 -231
  706. package/src/transports/smooth/isobmff/create_audio_init_segment.ts +0 -84
  707. package/src/transports/smooth/isobmff/create_boxes.ts +0 -481
  708. package/src/transports/smooth/isobmff/create_init_segment.ts +0 -100
  709. package/src/transports/smooth/isobmff/create_traf_box.ts +0 -40
  710. package/src/transports/smooth/isobmff/create_video_init_segment.ts +0 -78
  711. package/src/transports/smooth/isobmff/get_aaces_header.ts +0 -62
  712. package/src/transports/smooth/isobmff/index.ts +0 -32
  713. package/src/transports/smooth/isobmff/parse_tfrf.ts +0 -57
  714. package/src/transports/smooth/isobmff/parse_tfxd.ts +0 -38
  715. package/src/transports/smooth/isobmff/patch_segment.ts +0 -171
  716. package/src/transports/smooth/pipelines.ts +0 -533
  717. package/src/transports/smooth/segment_loader.ts +0 -288
  718. package/src/transports/smooth/utils.ts +0 -106
  719. package/src/transports/types.ts +0 -809
  720. package/src/transports/utils/__tests__/byte_range.test.ts +0 -35
  721. package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +0 -148
  722. package/src/transports/utils/__tests__/find_complete_box.test.ts +0 -138
  723. package/src/transports/utils/__tests__/infer_segment_container.test.ts +0 -227
  724. package/src/transports/utils/byte_range.ts +0 -25
  725. package/src/transports/utils/call_custom_manifest_loader.ts +0 -147
  726. package/src/transports/utils/check_isobmff_integrity.ts +0 -50
  727. package/src/transports/utils/find_complete_box.ts +0 -63
  728. package/src/transports/utils/generate_manifest_loader.ts +0 -97
  729. package/src/transports/utils/get_isobmff_timing_infos.ts +0 -86
  730. package/src/transports/utils/infer_segment_container.ts +0 -56
  731. package/src/transports/utils/parse_text_track.ts +0 -176
  732. package/src/typings/README.md +0 -7
  733. package/src/typings/globals.d.ts +0 -83
  734. package/src/typings/next-tick.d.ts +0 -23
  735. package/src/utils/README.md +0 -5
  736. package/src/utils/__tests__/are_arrays_of_numbers_equal.test.ts +0 -86
  737. package/src/utils/__tests__/are_codecs_compatible.test.ts +0 -88
  738. package/src/utils/__tests__/array_find.test.ts +0 -113
  739. package/src/utils/__tests__/array_find_index.test.ts +0 -113
  740. package/src/utils/__tests__/array_includes.test.ts +0 -151
  741. package/src/utils/__tests__/assert.test.ts +0 -237
  742. package/src/utils/__tests__/assert_unreachable.test.ts +0 -40
  743. package/src/utils/__tests__/base64.test.ts +0 -147
  744. package/src/utils/__tests__/byte_parsing.test.ts +0 -267
  745. package/src/utils/__tests__/deep_merge.test.ts +0 -48
  746. package/src/utils/__tests__/event_emitter.test.ts +0 -579
  747. package/src/utils/__tests__/flat_map.test.ts +0 -71
  748. package/src/utils/__tests__/get_fuzzed_delay.test.ts +0 -32
  749. package/src/utils/__tests__/hash_buffer.test.ts +0 -105
  750. package/src/utils/__tests__/id_generator.test.ts +0 -80
  751. package/src/utils/__tests__/initialization_segment_cache.test.ts +0 -245
  752. package/src/utils/__tests__/is_non_empty_string.test.ts +0 -41
  753. package/src/utils/__tests__/is_null_or_undefined.test.ts +0 -33
  754. package/src/utils/__tests__/list_to_map.test.ts +0 -46
  755. package/src/utils/__tests__/logger.test.ts +0 -214
  756. package/src/utils/__tests__/noop.test.ts +0 -23
  757. package/src/utils/__tests__/object_assign.test.ts +0 -56
  758. package/src/utils/__tests__/object_values.test.ts +0 -26
  759. package/src/utils/__tests__/ranges.test.ts +0 -907
  760. package/src/utils/__tests__/resolve_url.test.ts +0 -100
  761. package/src/utils/__tests__/simple_set.test.ts +0 -57
  762. package/src/utils/__tests__/sorted_list.test.ts +0 -335
  763. package/src/utils/__tests__/starts_with.test.ts +0 -65
  764. package/src/utils/__tests__/string_parsing.test.ts +0 -267
  765. package/src/utils/__tests__/uniq.test.ts +0 -134
  766. package/src/utils/__tests__/warn_once.test.ts +0 -38
  767. package/src/utils/__tests__/weak_map_memory.test.ts +0 -188
  768. package/src/utils/are_arrays_of_numbers_equal.ts +0 -39
  769. package/src/utils/are_codecs_compatible.ts +0 -51
  770. package/src/utils/array_find.ts +0 -55
  771. package/src/utils/array_find_index.ts +0 -54
  772. package/src/utils/array_includes.ts +0 -93
  773. package/src/utils/assert.ts +0 -65
  774. package/src/utils/assert_unreachable.ts +0 -45
  775. package/src/utils/base64.ts +0 -153
  776. package/src/utils/byte_parsing.ts +0 -256
  777. package/src/utils/cancellable_sleep.ts +0 -41
  778. package/src/utils/create_cancellable_promise.ts +0 -69
  779. package/src/utils/deep_merge.ts +0 -49
  780. package/src/utils/event_emitter.ts +0 -147
  781. package/src/utils/flat_map.ts +0 -50
  782. package/src/utils/get_fuzzed_delay.ts +0 -27
  783. package/src/utils/hash_buffer.ts +0 -42
  784. package/src/utils/id_generator.ts +0 -35
  785. package/src/utils/initialization_segment_cache.ts +0 -68
  786. package/src/utils/is_non_empty_string.ts +0 -23
  787. package/src/utils/is_null_or_undefined.ts +0 -27
  788. package/src/utils/languages/ISO_639-1_to_ISO_639-3.ts +0 -207
  789. package/src/utils/languages/ISO_639-2_to_ISO_639-3.ts +0 -43
  790. package/src/utils/languages/__tests__/normalize.test.ts +0 -290
  791. package/src/utils/languages/index.ts +0 -29
  792. package/src/utils/languages/normalize.ts +0 -152
  793. package/src/utils/list_to_map.ts +0 -32
  794. package/src/utils/logger.ts +0 -100
  795. package/src/utils/noop.ts +0 -26
  796. package/src/utils/object_assign.ts +0 -60
  797. package/src/utils/object_values.ts +0 -31
  798. package/src/utils/ranges.ts +0 -499
  799. package/src/utils/reference.ts +0 -390
  800. package/src/utils/request/fetch.ts +0 -250
  801. package/src/utils/request/index.ts +0 -38
  802. package/src/utils/request/xhr.ts +0 -287
  803. package/src/utils/resolve_url.ts +0 -126
  804. package/src/utils/retry_promise_with_backoff.ts +0 -95
  805. package/src/utils/simple_set.ts +0 -67
  806. package/src/utils/sleep.ts +0 -14
  807. package/src/utils/slice_uint8array.ts +0 -53
  808. package/src/utils/sorted_list.ts +0 -240
  809. package/src/utils/starts_with.ts +0 -42
  810. package/src/utils/string_parsing.ts +0 -414
  811. package/src/utils/task_canceller.ts +0 -367
  812. package/src/utils/uniq.ts +0 -49
  813. package/src/utils/warn_once.ts +0 -34
  814. package/src/utils/weak_map_memory.ts +0 -89
  815. package/src/utils/wrapInPromise.ts +0 -24
  816. package/tsconfig.json +0 -28
  817. package/tsconfig.modules.json +0 -36
@@ -1,481 +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 { createBox } from "../../../parsers/containers/isobmff";
18
- import {
19
- be2toi,
20
- be4toi,
21
- concat,
22
- itobe2,
23
- itobe4,
24
- itobe8,
25
- } from "../../../utils/byte_parsing";
26
- import {
27
- hexToBytes,
28
- strToUtf8,
29
- } from "../../../utils/string_parsing";
30
-
31
- /**
32
- * @param {Number} width
33
- * @param {Number} height
34
- * @param {Number} hRes - horizontal resolution, eg 72
35
- * @param {Number} vRes - vertical resolution, eg 72
36
- * @param {string} encName
37
- * @param {Number} colorDepth - eg 24
38
- * @param {Uint8Array} avcc - Uint8Array representing the avcC atom
39
- * @returns {Uint8Array}
40
- */
41
- function createAVC1Box(
42
- width : number,
43
- height : number,
44
- hRes : number,
45
- vRes : number,
46
- encName : string,
47
- colorDepth : number,
48
- avcc : Uint8Array
49
- ) : Uint8Array {
50
- return createBox("avc1", concat(
51
- 6, // 6 bytes reserved
52
- itobe2(1), 16, // drefIdx + QuickTime reserved, zeroes
53
- itobe2(width), // size 2 w
54
- itobe2(height), // size 2 h
55
- itobe2(hRes), 2, // reso 4 h
56
- itobe2(vRes), 2 + 4, // reso 4 v + QuickTime reserved, zeroes
57
- [0, 1, encName.length], // frame count (default 1)
58
- strToUtf8(encName), // 1byte len + encoder name str
59
- (31 - encName.length), // + padding
60
- itobe2(colorDepth), // color depth
61
- [0xFF, 0xFF], // reserved ones
62
- avcc // avcc atom,
63
- ));
64
- }
65
-
66
- /**
67
- * @param {Number} width
68
- * @param {Number} height
69
- * @param {Number} hRes - horizontal resolution, eg 72
70
- * @param {Number} vRes - vertical resolution, eg 72
71
- * @param {string} encName
72
- * @param {Number} colorDepth - eg 24
73
- * @param {Uint8Array} avcc - Uint8Array representing the avcC atom
74
- * @param {Uint8Array} sinf - Uint8Array representing the sinf atom
75
- * @returns {Uint8Array}
76
- */
77
- function createENCVBox(
78
- width : number,
79
- height : number,
80
- hRes : number,
81
- vRes : number,
82
- encName : string,
83
- colorDepth : number,
84
- avcc : Uint8Array,
85
- sinf : Uint8Array
86
- ) : Uint8Array {
87
- return createBox("encv", concat(
88
- 6, // 6 bytes reserved
89
- itobe2(1), 16, // drefIdx + QuickTime reserved, zeroes
90
- itobe2(width), // size 2 w
91
- itobe2(height), // size 2 h
92
- itobe2(hRes), 2, // reso 4 h
93
- itobe2(vRes), 2 + 4, // reso 4 v + QuickTime reserved, zeroes
94
- [0, 1, encName.length], // frame count (default 1)
95
- strToUtf8(encName), // 1byte len + encoder name str
96
- (31 - encName.length), // + padding
97
- itobe2(colorDepth), // color depth
98
- [0xFF, 0xFF], // reserved ones
99
- avcc, // avcc atom,
100
- sinf
101
- ));
102
- }
103
-
104
- /**
105
- * @param {Number} drefIdx
106
- * @param {Number} channelsCount
107
- * @param {Number} sampleSize
108
- * @param {Number} packetSize
109
- * @param {Number} sampleRate
110
- * @param {Uint8Array} esds - Uint8Array representing the esds atom
111
- * @returns {Uint8Array}
112
- */
113
- function createMP4ABox(
114
- drefIdx : number,
115
- channelsCount : number,
116
- sampleSize : number,
117
- packetSize : number,
118
- sampleRate : number,
119
- esds : Uint8Array
120
- ) : Uint8Array {
121
- return createBox("mp4a", concat(
122
- 6,
123
- itobe2(drefIdx), 8,
124
- itobe2(channelsCount),
125
- itobe2(sampleSize), 2,
126
- itobe2(packetSize),
127
- itobe2(sampleRate), 2,
128
- esds
129
- ));
130
- }
131
-
132
- /**
133
- * @param {Number} drefIdx
134
- * @param {Number} channelsCount
135
- * @param {Number} sampleSize
136
- * @param {Number} packetSize
137
- * @param {Number} sampleRate
138
- * @param {Uint8Array} esds - Uint8Array representing the esds atom
139
- * @param {Uint8Array} [sinf] - Uint8Array representing the sinf atom,
140
- * only if name == "enca"
141
- * @returns {Uint8Array}
142
- */
143
- function createENCABox(
144
- drefIdx : number,
145
- channelsCount : number,
146
- sampleSize : number,
147
- packetSize : number,
148
- sampleRate : number,
149
- esds : Uint8Array,
150
- sinf : Uint8Array
151
- ) : Uint8Array {
152
- return createBox("enca", concat(
153
- 6,
154
- itobe2(drefIdx), 8,
155
- itobe2(channelsCount),
156
- itobe2(sampleSize), 2,
157
- itobe2(packetSize),
158
- itobe2(sampleRate), 2,
159
- esds,
160
- sinf
161
- ));
162
- }
163
-
164
- /**
165
- * @param {Uint8Array} url
166
- * @returns {Uint8Array}
167
- */
168
- function createDREFBox(url : Uint8Array) : Uint8Array {
169
- // only one description here... FIXME
170
- return createBox("dref", concat(7, [1], url));
171
- }
172
-
173
- /**
174
- * @param {string} majorBrand
175
- * @param {Array.<string>} brands
176
- * @returns {Uint8Array}
177
- */
178
- function createFTYPBox(majorBrand : string, brands : string[]) : Uint8Array {
179
- const content = concat(...[ strToUtf8(majorBrand),
180
- [0, 0, 0, 1] ].concat(brands.map(strToUtf8)));
181
- return createBox("ftyp", content);
182
- }
183
-
184
- /**
185
- * @param {string} schemeType - four letters (eg "cenc" for Common Encryption)
186
- * @param {Number} schemeVersion - eg 65536
187
- * @returns {Uint8Array}
188
- */
189
- function createSCHMBox(schemeType : string, schemeVersion : number) : Uint8Array {
190
- return createBox("schm", concat(4, strToUtf8(schemeType), itobe4(schemeVersion)));
191
- }
192
-
193
- /**
194
- * Create tfdt box from a decoding time.
195
- * @param {number} decodeTime
196
- * @returns {Uint8Array}
197
- */
198
- function createTfdtBox(decodeTime : number) : Uint8Array {
199
- return createBox("tfdt", concat([1, 0, 0, 0], itobe8(decodeTime)));
200
- }
201
-
202
- /**
203
- * @returns {Uint8Array}
204
- */
205
- function createVMHDBox() : Uint8Array {
206
- const arr = new Uint8Array(12);
207
- arr[3] = 1; // QuickTime...
208
- return createBox("vmhd", arr);
209
- }
210
-
211
- /**
212
- * @param {Number} trackId
213
- * @returns {Uint8Array}
214
- */
215
- function createTREXBox(trackId : number) : Uint8Array {
216
- // default sample desc idx = 1
217
- return createBox("trex", concat(4, itobe4(trackId), [0, 0, 0, 1], 12));
218
- }
219
-
220
- /**
221
- * @param {Number} length
222
- * @returns {Uint8Array}
223
- */
224
- function createFreeBox(length : number) : Uint8Array {
225
- return createBox("free", new Uint8Array(length - 8));
226
- }
227
-
228
- /**
229
- * @param {Number} stream
230
- * @param {string} codecPrivateData - hex string
231
- * @returns {Uint8Array}
232
- */
233
- function createESDSBox(stream : number, codecPrivateData : string) : Uint8Array {
234
- return createBox("esds", concat(
235
- 4,
236
- [0x03, 0x19],
237
- itobe2(stream),
238
- [0x00, 0x04, 0x11, 0x40, 0x15], 11,
239
- [0x05, 0x02],
240
- hexToBytes(codecPrivateData),
241
- [0x06, 0x01, 0x02]
242
- ));
243
- }
244
-
245
- /**
246
- * @param {string} dataFormat - four letters (eg "avc1")
247
- * @returns {Uint8Array}
248
- */
249
- function createFRMABox(dataFormat : string) : Uint8Array {
250
- return createBox("frma", strToUtf8(dataFormat));
251
- }
252
-
253
- /**
254
- * @param {Uint8Array} sps
255
- * @param {Uint8Array} pps
256
- * @param {Number} nalLen - NAL Unit length: 1, 2 or 4 bytes
257
- * eg: avcc(0x4d, 0x40, 0x0d, 4, 0xe1, "674d400d96560c0efcb80a70505050a0",
258
- * 1, "68ef3880")
259
- * @returns {Uint8Array}
260
- */
261
- function createAVCCBox(
262
- sps : Uint8Array,
263
- pps : Uint8Array,
264
- nalLen : number
265
- ) : Uint8Array {
266
- const nal = (nalLen === 2) ? 0x1 :
267
- (nalLen === 4) ? 0x3 :
268
- 0x0;
269
-
270
- // Deduce AVC Profile from SPS
271
- const h264Profile = sps[1];
272
- const h264CompatibleProfile = sps[2];
273
- const h264Level = sps[3];
274
-
275
- return createBox("avcC", concat(
276
- [
277
- 1,
278
- h264Profile,
279
- h264CompatibleProfile,
280
- h264Level,
281
- (0x3F << 2 | nal),
282
- (0xE0 | 1),
283
- ],
284
- itobe2(sps.length), sps, [1],
285
- itobe2(pps.length), pps
286
- ));
287
- }
288
-
289
- /**
290
- * @param {string} type - "video"/"audio"/"hint"
291
- * @returns {Uint8Array}
292
- */
293
- function createHDLRBox(type : "audio"|"video"|"hint") : Uint8Array {
294
- let name;
295
- let handlerName;
296
-
297
- switch (type) {
298
- case "video":
299
- name = "vide";
300
- handlerName = "VideoHandler";
301
- break;
302
- case "audio":
303
- name = "soun";
304
- handlerName = "SoundHandler";
305
- break;
306
- default:
307
- name = "hint";
308
- handlerName = "";
309
- break;
310
- }
311
-
312
- return createBox("hdlr", concat(
313
- 8,
314
- strToUtf8(name), 12,
315
- strToUtf8(handlerName),
316
- 1 // handler name is C-style string (0 terminated)
317
- ));
318
- }
319
-
320
- /**
321
- * @param {number} timescale
322
- * @returns {Uint8Array}
323
- */
324
- function createMDHDBox(timescale : number) : Uint8Array {
325
- return createBox("mdhd", concat(12, itobe4(timescale), 8));
326
- }
327
-
328
- /**
329
- * @param {Number} timescale
330
- * @param {Number} trackId
331
- * @returns {Uint8Array}
332
- */
333
- function createMVHDBox(timescale : number, trackId : number) : Uint8Array {
334
- return createBox("mvhd", concat(
335
- 12,
336
- itobe4(timescale), 4,
337
- [0, 1], 2, // we assume rate = 1;
338
- [1, 0], 10, // we assume volume = 100%;
339
- [0, 1], 14, // default matrix
340
- [0, 1], 14, // default matrix
341
- [64, 0, 0, 0], 26,
342
- itobe2(trackId + 1) // next trackId (=trackId + 1);
343
- ));
344
- }
345
-
346
- /**
347
- * @param {Uint8Array} mfhd
348
- * @param {Uint8Array} tfhd
349
- * @param {Uint8Array} tfdt
350
- * @param {Uint8Array} trun
351
- * @returns {Uint8Array}
352
- */
353
- function createSAIOBox(
354
- mfhd : Uint8Array,
355
- tfhd : Uint8Array,
356
- tfdt : Uint8Array,
357
- trun : Uint8Array
358
- ) : Uint8Array {
359
- return createBox("saio", concat(
360
- 4, [0, 0, 0, 1], // ??
361
- itobe4(
362
- mfhd.length +
363
- tfhd.length +
364
- tfdt.length +
365
- trun.length +
366
- 8 + 8 + 8 + 8
367
- )
368
- ));
369
- }
370
-
371
- /**
372
- * @param {Uint8Array} sencContent - including 8 bytes flags and entries count
373
- * @returns {Uint8Array}
374
- */
375
- function createSAIZBox(sencContent : Uint8Array) : Uint8Array {
376
- if (sencContent.length === 0) {
377
- return createBox("saiz", new Uint8Array(0));
378
- }
379
-
380
- const flags = be4toi(sencContent, 0);
381
- const entries = be4toi(sencContent, 4);
382
-
383
- const arr = new Uint8Array(entries + 9);
384
- arr.set(itobe4(entries), 5);
385
-
386
- let i = 9;
387
- let j = 8;
388
- let pairsCnt;
389
- let pairsLen;
390
- while (j < sencContent.length) {
391
- j += 8; // assuming IV is 8 bytes TODO handle 16 bytes IV
392
- // if we have extradata for each entry
393
- if ((flags & 0x2) === 0x2) {
394
- pairsLen = 2;
395
- pairsCnt = be2toi(sencContent, j);
396
- j += (pairsCnt * 6) + 2;
397
- } else {
398
- pairsCnt = 0;
399
- pairsLen = 0;
400
- }
401
- arr[i] = pairsCnt * 6 + 8 + pairsLen;
402
- i++;
403
- }
404
-
405
- return createBox("saiz", arr);
406
- }
407
-
408
- /**
409
- * @returns {Uint8Array}
410
- */
411
- function createSMHDBox() : Uint8Array {
412
- return createBox("smhd", new Uint8Array(8));
413
- }
414
-
415
- /**
416
- * @param {Array.<Uint8Array>} reps - arrays of Uint8Array,
417
- * typically [avc1] or [encv, avc1]
418
- * @returns {Uint8Array}
419
- */
420
- function createSTSDBox(reps : Uint8Array[]) : Uint8Array {
421
- // only one description here... FIXME
422
- const arrBase : Array<Uint8Array|number[]|number> = [7, [reps.length]];
423
- return createBox("stsd", concat(...arrBase.concat(reps)));
424
- }
425
-
426
- /**
427
- * @param {Number} width
428
- * @param {Number} height
429
- * @param {Number} trackId
430
- * @returns {Uint8Array}
431
- */
432
- function createTKHDBox(width : number, height : number, trackId : number) : Uint8Array {
433
- return createBox("tkhd", concat(
434
- itobe4(1 + 2 + 4), 8, // we assume track is enabled,
435
- // in media and in preview.
436
- itobe4(trackId), 20, // we assume trackId = 1;
437
- [1, 0, 0, 0], // we assume volume = 100%;
438
- [0, 1, 0, 0], 12, // default matrix
439
- [0, 1, 0, 0], 12, // default matrix
440
- [64, 0, 0, 0], // ??
441
- itobe2(width), 2, // width (TODO handle fixed)
442
- itobe2(height), 2 // height (TODO handle fixed)
443
- ));
444
- }
445
-
446
- /**
447
- * @param {Number} algId - eg 1
448
- * @param {Number} ivSize - eg 8
449
- * @param {string} keyId - Hex KID 93789920e8d6520098577df8f2dd5546
450
- * @returns {Uint8Array}
451
- */
452
- function createTENCBox(algId : number, ivSize : number, keyId : Uint8Array) : Uint8Array {
453
- return createBox("tenc", concat(6, [algId, ivSize], keyId
454
- ));
455
- }
456
-
457
- export {
458
- createAVC1Box,
459
- createAVCCBox,
460
- createDREFBox,
461
- createENCABox,
462
- createENCVBox,
463
- createESDSBox,
464
- createFRMABox,
465
- createFTYPBox,
466
- createFreeBox,
467
- createHDLRBox,
468
- createMDHDBox,
469
- createMP4ABox,
470
- createMVHDBox,
471
- createSAIOBox,
472
- createSAIZBox,
473
- createSCHMBox,
474
- createSMHDBox,
475
- createSTSDBox,
476
- createTENCBox,
477
- createTKHDBox,
478
- createTREXBox,
479
- createTfdtBox,
480
- createVMHDBox,
481
- };
@@ -1,100 +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 {
18
- createBox,
19
- createBoxWithChildren,
20
- } from "../../../parsers/containers/isobmff";
21
- import { concat } from "../../../utils/byte_parsing";
22
- import {
23
- createDREFBox,
24
- createFTYPBox,
25
- createHDLRBox,
26
- createMDHDBox,
27
- createMVHDBox,
28
- createTKHDBox,
29
- createTREXBox,
30
- } from "./create_boxes";
31
-
32
- export type IPSSList = Array<{
33
- systemId : string;
34
- privateData? : Uint8Array;
35
- keyIds? : Uint8Array;
36
- }>;
37
-
38
- /**
39
- * @param {Uint8Array} mvhd
40
- * @param {Uint8Array} mvex
41
- * @param {Uint8Array} trak
42
- * @returns {Array.<Uint8Array>}
43
- */
44
- function createMOOVBox(
45
- mvhd : Uint8Array,
46
- mvex : Uint8Array,
47
- trak : Uint8Array
48
- ) : Uint8Array {
49
- const children = [mvhd, mvex, trak];
50
- return createBoxWithChildren("moov", children);
51
- }
52
-
53
- /**
54
- * Create an initialization segment with the information given.
55
- * @param {Number} timescale
56
- * @param {string} type
57
- * @param {Uint8Array} stsd
58
- * @param {Uint8Array} mhd
59
- * @param {Number} width
60
- * @param {Number} height
61
- * @param {Array.<Object>} pssList - List of dict, example:
62
- * {systemId: "DEADBEEF", codecPrivateData: "DEAFBEEF}
63
- * @returns {Uint8Array}
64
- */
65
- export default function createInitSegment(
66
- timescale : number,
67
- type : "audio"|"video",
68
- stsd : Uint8Array,
69
- mhd : Uint8Array,
70
- width : number,
71
- height : number
72
- ) : Uint8Array {
73
-
74
- const stbl = createBoxWithChildren("stbl", [
75
- stsd,
76
- createBox("stts", new Uint8Array(0x08)),
77
- createBox("stsc", new Uint8Array(0x08)),
78
- createBox("stsz", new Uint8Array(0x0C)),
79
- createBox("stco", new Uint8Array(0x08)),
80
- ]);
81
-
82
- const url = createBox("url ", new Uint8Array([0, 0, 0, 1]));
83
- const dref = createDREFBox(url);
84
- const dinf = createBoxWithChildren("dinf", [dref]);
85
- const minf = createBoxWithChildren("minf", [mhd, dinf, stbl]);
86
- const hdlr = createHDLRBox(type);
87
- const mdhd = createMDHDBox(timescale); // this one is really important
88
- const mdia = createBoxWithChildren("mdia", [mdhd, hdlr, minf]);
89
- const tkhd = createTKHDBox(width, height, 1);
90
- const trak = createBoxWithChildren("trak", [tkhd, mdia]);
91
- const trex = createTREXBox(1);
92
- const mvex = createBoxWithChildren("mvex", [trex]);
93
- const mvhd = createMVHDBox(timescale, 1); // in fact, we don't give a sh** about
94
- // this value :O
95
-
96
- const moov = createMOOVBox(mvhd, mvex, trak);
97
- const ftyp = createFTYPBox("isom", ["isom", "iso2", "iso6", "avc1", "dash"]);
98
-
99
- return concat(ftyp, moov);
100
- }
@@ -1,40 +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 {
18
- createBox,
19
- createBoxWithChildren,
20
- } from "../../../parsers/containers/isobmff";
21
- import {
22
- createSAIOBox,
23
- createSAIZBox,
24
- } from "./create_boxes";
25
-
26
- export default function createTrafBox(
27
- tfhd : Uint8Array,
28
- tfdt : Uint8Array,
29
- trun : Uint8Array,
30
- mfhd : Uint8Array,
31
- senc?: Uint8Array
32
- ) : Uint8Array {
33
- const trafs = [tfhd, tfdt, trun];
34
- if (senc !== undefined) {
35
- trafs.push(createBox("senc", senc),
36
- createSAIZBox(senc),
37
- createSAIOBox(mfhd, tfhd, tfdt, trun));
38
- }
39
- return createBoxWithChildren("traf", trafs);
40
- }
@@ -1,78 +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 { createBoxWithChildren } from "../../../parsers/containers/isobmff";
18
- import { hexToBytes } from "../../../utils/string_parsing";
19
- import {
20
- createAVC1Box,
21
- createAVCCBox,
22
- createENCVBox,
23
- createFRMABox,
24
- createSCHMBox,
25
- createSTSDBox,
26
- createTENCBox,
27
- createVMHDBox,
28
- } from "./create_boxes";
29
- import createInitSegment from "./create_init_segment";
30
-
31
- /**
32
- * Return full video Init segment as Uint8Array
33
- * @param {Number} timescale - lowest number, this one will be set into mdhd
34
- * *10000 in mvhd, e.g. 1000
35
- * @param {Number} width
36
- * @param {Number} height
37
- * @param {Number} hRes
38
- * @param {Number} vRes
39
- * @param {Number} nalLength (1, 2 or 4)
40
- * @param {string} codecPrivateData
41
- * @param {Uint8Array} [keyId]
42
- * @returns {Uint8Array}
43
- */
44
- export default function createVideoInitSegment(
45
- timescale : number,
46
- width : number,
47
- height : number,
48
- hRes : number,
49
- vRes : number,
50
- nalLength : number,
51
- codecPrivateData : string,
52
- keyId? : Uint8Array
53
- ) : Uint8Array {
54
- const [, spsHex, ppsHex] = codecPrivateData.split("00000001");
55
- if (spsHex === undefined || ppsHex === undefined) {
56
- throw new Error("Smooth: unsupported codec private data.");
57
- }
58
- const sps = hexToBytes(spsHex);
59
- const pps = hexToBytes(ppsHex);
60
-
61
- // TODO NAL length is forced to 4
62
- const avcc = createAVCCBox(sps, pps, nalLength);
63
- let stsd;
64
- if (keyId === undefined) {
65
- const avc1 = createAVC1Box(width, height, hRes, vRes, "AVC Coding", 24, avcc);
66
- stsd = createSTSDBox([avc1]);
67
- } else {
68
- const tenc = createTENCBox(1, 8, keyId);
69
- const schi = createBoxWithChildren("schi", [tenc]);
70
- const schm = createSCHMBox("cenc", 65536);
71
- const frma = createFRMABox("avc1");
72
- const sinf = createBoxWithChildren("sinf", [frma, schm, schi]);
73
- const encv = createENCVBox(width, height, hRes, vRes, "AVC Coding", 24, avcc, sinf);
74
- stsd = createSTSDBox([encv]);
75
- }
76
-
77
- return createInitSegment(timescale, "video", stsd, createVMHDBox(), width, height);
78
- }