rx-player 4.0.0-dev.2023092900 → 4.0.0-dev.2023102700

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 (576) hide show
  1. package/CHANGELOG.md +221 -12
  2. package/FILES.md +0 -4
  3. package/MAINTAINERS.md +1 -0
  4. package/README.md +0 -21
  5. package/VERSION +1 -1
  6. package/dist/_esm5.processed/compat/add_class_name.js +6 -3
  7. package/dist/_esm5.processed/compat/add_text_track.js +11 -8
  8. package/dist/_esm5.processed/compat/browser_compatibility_types.js +13 -9
  9. package/dist/_esm5.processed/compat/browser_detection.js +49 -34
  10. package/dist/_esm5.processed/compat/browser_version.js +11 -8
  11. package/dist/_esm5.processed/compat/can_patch_isobmff.js +6 -3
  12. package/dist/_esm5.processed/compat/can_rely_on_video_visibility_and_size.js +9 -6
  13. package/dist/_esm5.processed/compat/can_reuse_media_keys.js +6 -3
  14. package/dist/_esm5.processed/compat/change_source_buffer_type.js +6 -3
  15. package/dist/_esm5.processed/compat/clear_element_src.js +12 -9
  16. package/dist/_esm5.processed/compat/eme/close_session.js +45 -106
  17. package/dist/_esm5.processed/compat/eme/constants.js +6 -3
  18. package/dist/_esm5.processed/compat/eme/custom_key_system_access.js +18 -22
  19. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +78 -102
  20. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +16 -6
  21. package/dist/_esm5.processed/compat/eme/custom_media_keys/moz_media_keys_constructor.js +18 -15
  22. package/dist/_esm5.processed/compat/eme/custom_media_keys/ms_media_keys_constructor.js +7 -5
  23. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +70 -88
  24. package/dist/_esm5.processed/compat/eme/custom_media_keys/types.js +2 -1
  25. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +91 -117
  26. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +7 -7
  27. package/dist/_esm5.processed/compat/eme/eme-api-implementation.js +82 -83
  28. package/dist/_esm5.processed/compat/eme/generate_key_request.js +36 -31
  29. package/dist/_esm5.processed/compat/eme/get_init_data.js +28 -25
  30. package/dist/_esm5.processed/compat/eme/get_uuid_kid_from_keystatus_kid.js +8 -5
  31. package/dist/_esm5.processed/compat/eme/get_webkit_fairplay_initdata.js +17 -14
  32. package/dist/_esm5.processed/compat/eme/index.js +13 -7
  33. package/dist/_esm5.processed/compat/eme/load_session.js +26 -69
  34. package/dist/_esm5.processed/compat/enable_audio_track.js +7 -4
  35. package/dist/_esm5.processed/compat/event_listeners.js +130 -102
  36. package/dist/_esm5.processed/compat/get_start_date.js +7 -4
  37. package/dist/_esm5.processed/compat/global_scope.js +7 -5
  38. package/dist/_esm5.processed/compat/has_issues_with_high_media_source_duration.js +6 -3
  39. package/dist/_esm5.processed/compat/index.js +47 -24
  40. package/dist/_esm5.processed/compat/is_codec_supported.js +8 -5
  41. package/dist/_esm5.processed/compat/is_debug_mode_enabled.js +4 -1
  42. package/dist/_esm5.processed/compat/is_node.js +5 -3
  43. package/dist/_esm5.processed/compat/is_seeking_approximate.js +5 -3
  44. package/dist/_esm5.processed/compat/is_vtt_cue.js +6 -3
  45. package/dist/_esm5.processed/compat/is_worker.js +3 -1
  46. package/dist/_esm5.processed/compat/make_vtt_cue.js +10 -7
  47. package/dist/_esm5.processed/compat/on_height_width_change.js +25 -22
  48. package/dist/_esm5.processed/compat/patch_webkit_source_buffer.js +19 -17
  49. package/dist/_esm5.processed/compat/remove_cue.js +12 -9
  50. package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +7 -4
  51. package/dist/_esm5.processed/compat/should_reload_media_source_on_decipherability_update.js +4 -1
  52. package/dist/_esm5.processed/compat/should_renew_media_key_system_access.js +6 -3
  53. package/dist/_esm5.processed/compat/should_unset_media_keys.js +6 -3
  54. package/dist/_esm5.processed/compat/should_validate_metadata.js +6 -3
  55. package/dist/_esm5.processed/compat/should_wait_for_data_before_loaded.js +6 -3
  56. package/dist/_esm5.processed/compat/should_wait_for_have_enough_data.js +6 -3
  57. package/dist/_esm5.processed/config.js +15 -14
  58. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +123 -94
  59. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.js +43 -42
  60. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.js +37 -44
  61. package/dist/_esm5.processed/core/adaptive/index.js +4 -2
  62. package/dist/_esm5.processed/core/adaptive/network_analyzer.js +75 -74
  63. package/dist/_esm5.processed/core/adaptive/utils/bandwidth_estimator.js +24 -23
  64. package/dist/_esm5.processed/core/adaptive/utils/ewma.js +13 -12
  65. package/dist/_esm5.processed/core/adaptive/utils/filter_by_bitrate.js +9 -6
  66. package/dist/_esm5.processed/core/adaptive/utils/filter_by_resolution.js +18 -19
  67. package/dist/_esm5.processed/core/adaptive/utils/get_buffer_levels.js +10 -7
  68. package/dist/_esm5.processed/core/adaptive/utils/last_estimate_storage.js +8 -7
  69. package/dist/_esm5.processed/core/adaptive/utils/pending_requests_store.js +26 -23
  70. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.js +25 -23
  71. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +6 -3
  72. package/dist/_esm5.processed/core/api/debug/buffer_graph.js +41 -40
  73. package/dist/_esm5.processed/core/api/debug/buffer_size_graph.js +31 -30
  74. package/dist/_esm5.processed/core/api/debug/constants.js +4 -1
  75. package/dist/_esm5.processed/core/api/debug/index.js +4 -2
  76. package/dist/_esm5.processed/core/api/debug/modules/general_info.js +64 -72
  77. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +49 -46
  78. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +15 -12
  79. package/dist/_esm5.processed/core/api/debug/render.js +16 -13
  80. package/dist/_esm5.processed/core/api/debug/utils.js +18 -13
  81. package/dist/_esm5.processed/core/api/index.js +7 -4
  82. package/dist/_esm5.processed/core/api/option_utils.js +85 -58
  83. package/dist/_esm5.processed/core/api/playback_observer.js +135 -124
  84. package/dist/_esm5.processed/core/api/public_api.js +610 -684
  85. package/dist/_esm5.processed/core/api/track_management/index.js +19 -3
  86. package/dist/_esm5.processed/core/api/track_management/media_element_tracks_store.js +233 -247
  87. package/dist/_esm5.processed/core/api/track_management/track_dispatcher.js +45 -58
  88. package/dist/_esm5.processed/core/api/track_management/tracks_store.js +300 -324
  89. package/dist/_esm5.processed/core/api/utils.js +32 -24
  90. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.js +155 -185
  91. package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +42 -81
  92. package/dist/_esm5.processed/core/decrypt/clear_on_stop.js +15 -12
  93. package/dist/_esm5.processed/core/decrypt/content_decryptor.js +392 -510
  94. package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +44 -90
  95. package/dist/_esm5.processed/core/decrypt/create_session.js +90 -149
  96. package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +24 -67
  97. package/dist/_esm5.processed/core/decrypt/find_key_system.js +94 -155
  98. package/dist/_esm5.processed/core/decrypt/get_key_system_configuration.js +6 -3
  99. package/dist/_esm5.processed/core/decrypt/get_media_keys.js +59 -109
  100. package/dist/_esm5.processed/core/decrypt/index.js +26 -7
  101. package/dist/_esm5.processed/core/decrypt/init_media_keys.js +17 -59
  102. package/dist/_esm5.processed/core/decrypt/session_events_listener.js +84 -155
  103. package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +50 -103
  104. package/dist/_esm5.processed/core/decrypt/types.js +5 -2
  105. package/dist/_esm5.processed/core/decrypt/utils/are_init_values_compatible.js +22 -19
  106. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.js +40 -61
  107. package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.js +17 -61
  108. package/dist/_esm5.processed/core/decrypt/utils/clean_old_stored_persistent_info.js +8 -5
  109. package/dist/_esm5.processed/core/decrypt/utils/get_drm_system_id.js +8 -5
  110. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +23 -23
  111. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.js +15 -12
  112. package/dist/_esm5.processed/core/decrypt/utils/key_id_comparison.js +14 -21
  113. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +26 -27
  114. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +206 -310
  115. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.js +8 -6
  116. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +103 -102
  117. package/dist/_esm5.processed/core/decrypt/utils/serializable_bytes.js +13 -12
  118. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.js +18 -16
  119. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.js +37 -56
  120. package/dist/_esm5.processed/core/fetchers/index.js +7 -3
  121. package/dist/_esm5.processed/core/fetchers/manifest/index.js +4 -2
  122. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +233 -313
  123. package/dist/_esm5.processed/core/fetchers/segment/index.js +4 -2
  124. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.js +12 -9
  125. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +218 -234
  126. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +20 -19
  127. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.js +73 -74
  128. package/dist/_esm5.processed/core/fetchers/utils/error_selector.js +8 -5
  129. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +210 -261
  130. package/dist/_esm5.processed/core/init/directfile_content_initializer.js +73 -99
  131. package/dist/_esm5.processed/core/init/index.js +5 -1
  132. package/dist/_esm5.processed/core/init/media_source_content_initializer.js +256 -320
  133. package/dist/_esm5.processed/core/init/types.js +7 -24
  134. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.js +109 -135
  135. package/dist/_esm5.processed/core/init/utils/create_media_source.js +35 -30
  136. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.js +12 -10
  137. package/dist/_esm5.processed/core/init/utils/end_of_stream.js +30 -26
  138. package/dist/_esm5.processed/core/init/utils/get_initial_time.js +41 -38
  139. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.js +13 -10
  140. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.js +29 -26
  141. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.js +30 -27
  142. package/dist/_esm5.processed/core/init/utils/media_source_duration_updater.js +58 -60
  143. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +140 -161
  144. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/are_same_stream_events.js +3 -1
  145. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/index.js +4 -2
  146. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +28 -30
  147. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.js +71 -90
  148. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/types.js +2 -1
  149. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.js +16 -13
  150. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +75 -126
  151. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +130 -147
  152. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/index.js +4 -2
  153. package/dist/_esm5.processed/core/segment_buffers/implementations/index.js +20 -3
  154. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +106 -125
  155. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/index.js +4 -2
  156. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/parsers.js +11 -8
  157. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +48 -47
  158. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/types.js +2 -1
  159. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/update_proportional_elements.js +18 -15
  160. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +22 -15
  161. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/index.js +4 -2
  162. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +65 -82
  163. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/parsers.js +11 -8
  164. package/dist/_esm5.processed/core/segment_buffers/implementations/types.js +19 -17
  165. package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +23 -22
  166. package/dist/_esm5.processed/core/segment_buffers/index.js +13 -6
  167. package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.js +24 -22
  168. package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +8 -3
  169. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +151 -150
  170. package/dist/_esm5.processed/core/segment_buffers/inventory/types.js +2 -1
  171. package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +9 -4
  172. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +82 -89
  173. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +118 -166
  174. package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +31 -28
  175. package/dist/_esm5.processed/core/stream/adaptation/index.js +19 -3
  176. package/dist/_esm5.processed/core/stream/adaptation/types.js +2 -1
  177. package/dist/_esm5.processed/core/stream/index.js +4 -2
  178. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.js +14 -16
  179. package/dist/_esm5.processed/core/stream/orchestrator/index.js +4 -2
  180. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +175 -222
  181. package/dist/_esm5.processed/core/stream/period/index.js +19 -3
  182. package/dist/_esm5.processed/core/stream/period/period_stream.js +172 -216
  183. package/dist/_esm5.processed/core/stream/period/types.js +2 -1
  184. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +34 -33
  185. package/dist/_esm5.processed/core/stream/representation/index.js +19 -3
  186. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +80 -68
  187. package/dist/_esm5.processed/core/stream/representation/types.js +2 -1
  188. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.js +33 -84
  189. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.js +32 -29
  190. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.js +126 -145
  191. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.js +32 -88
  192. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +61 -48
  193. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +71 -69
  194. package/dist/_esm5.processed/core/stream/representation/utils/get_segment_priority.js +8 -5
  195. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.js +22 -63
  196. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.js +49 -86
  197. package/dist/_esm5.processed/default_config.js +4 -2
  198. package/dist/_esm5.processed/errors/assertion_error.js +10 -26
  199. package/dist/_esm5.processed/errors/custom_loader_error.js +12 -28
  200. package/dist/_esm5.processed/errors/encrypted_media_error.js +16 -32
  201. package/dist/_esm5.processed/errors/error_codes.js +9 -4
  202. package/dist/_esm5.processed/errors/error_message.js +5 -2
  203. package/dist/_esm5.processed/errors/format_error.js +9 -7
  204. package/dist/_esm5.processed/errors/index.js +25 -11
  205. package/dist/_esm5.processed/errors/is_known_error.js +14 -11
  206. package/dist/_esm5.processed/errors/media_error.js +17 -33
  207. package/dist/_esm5.processed/errors/network_error.js +21 -37
  208. package/dist/_esm5.processed/errors/other_error.js +15 -31
  209. package/dist/_esm5.processed/errors/request_error.js +17 -33
  210. package/dist/_esm5.processed/experimental/features/dash_wasm.js +14 -11
  211. package/dist/_esm5.processed/experimental/features/debug_element.js +7 -4
  212. package/dist/_esm5.processed/experimental/features/index.d.ts +1 -0
  213. package/dist/_esm5.processed/experimental/features/index.js +11 -3
  214. package/dist/_esm5.processed/experimental/features/local.js +9 -6
  215. package/dist/_esm5.processed/experimental/features/metaplaylist.js +9 -6
  216. package/dist/_esm5.processed/experimental/index.js +5 -2
  217. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/dash.js +6 -3
  218. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/metaplaylist.js +6 -3
  219. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.js +7 -3
  220. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +22 -16
  221. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +22 -19
  222. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +6 -3
  223. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.js +2 -1
  224. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +125 -186
  225. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.js +11 -27
  226. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +76 -119
  227. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +24 -15
  228. package/dist/_esm5.processed/experimental/tools/index.js +11 -5
  229. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.js +38 -43
  230. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +31 -34
  231. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.js +21 -18
  232. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/index.js +4 -2
  233. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/log.js +5 -3
  234. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +20 -17
  235. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +21 -18
  236. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +13 -10
  237. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +16 -13
  238. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.js +16 -14
  239. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +14 -11
  240. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +14 -11
  241. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +19 -16
  242. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +11 -8
  243. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.js +5 -2
  244. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.js +25 -22
  245. package/dist/_esm5.processed/experimental/tools/parseBIFThumbnails.js +7 -4
  246. package/dist/_esm5.processed/features/add_features.js +11 -8
  247. package/dist/_esm5.processed/features/features_object.js +4 -2
  248. package/dist/_esm5.processed/features/index.js +7 -4
  249. package/dist/_esm5.processed/features/list/dash.js +11 -8
  250. package/dist/_esm5.processed/features/list/directfile.js +9 -5
  251. package/dist/_esm5.processed/features/list/eme.js +7 -4
  252. package/dist/_esm5.processed/features/list/html_sami_parser.js +9 -6
  253. package/dist/_esm5.processed/features/list/html_srt_parser.js +9 -6
  254. package/dist/_esm5.processed/features/list/html_text_buffer.js +7 -4
  255. package/dist/_esm5.processed/features/list/html_ttml_parser.js +9 -6
  256. package/dist/_esm5.processed/features/list/html_vtt_parser.js +9 -6
  257. package/dist/_esm5.processed/features/list/index.js +31 -14
  258. package/dist/_esm5.processed/features/list/native_sami_parser.js +9 -6
  259. package/dist/_esm5.processed/features/list/native_srt_parser.js +9 -6
  260. package/dist/_esm5.processed/features/list/native_text_buffer.js +7 -4
  261. package/dist/_esm5.processed/features/list/native_ttml_parser.js +9 -6
  262. package/dist/_esm5.processed/features/list/native_vtt_parser.js +9 -6
  263. package/dist/_esm5.processed/features/list/smooth.js +9 -6
  264. package/dist/_esm5.processed/features/types.js +2 -1
  265. package/dist/_esm5.processed/index.js +24 -9
  266. package/dist/_esm5.processed/log.js +5 -3
  267. package/dist/_esm5.processed/manifest/adaptation.js +52 -55
  268. package/dist/_esm5.processed/manifest/index.js +32 -13
  269. package/dist/_esm5.processed/manifest/manifest.js +112 -134
  270. package/dist/_esm5.processed/manifest/period.js +38 -42
  271. package/dist/_esm5.processed/manifest/representation.js +78 -61
  272. package/dist/_esm5.processed/manifest/representation_index/index.js +5 -2
  273. package/dist/_esm5.processed/manifest/representation_index/static.js +43 -42
  274. package/dist/_esm5.processed/manifest/representation_index/types.js +2 -1
  275. package/dist/_esm5.processed/manifest/types.js +5 -2
  276. package/dist/_esm5.processed/manifest/update_period_in_place.js +38 -48
  277. package/dist/_esm5.processed/manifest/update_periods.js +59 -69
  278. package/dist/_esm5.processed/manifest/utils.js +14 -9
  279. package/dist/_esm5.processed/minimal.js +9 -7
  280. package/dist/_esm5.processed/parsers/containers/isobmff/constants.js +4 -1
  281. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.js +14 -10
  282. package/dist/_esm5.processed/parsers/containers/isobmff/drm/index.js +5 -1
  283. package/dist/_esm5.processed/parsers/containers/isobmff/drm/playready.js +15 -11
  284. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +48 -40
  285. package/dist/_esm5.processed/parsers/containers/isobmff/index.js +27 -6
  286. package/dist/_esm5.processed/parsers/containers/isobmff/read.js +20 -14
  287. package/dist/_esm5.processed/parsers/containers/isobmff/take_pssh_out.js +25 -20
  288. package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +130 -112
  289. package/dist/_esm5.processed/parsers/containers/matroska/index.js +6 -1
  290. package/dist/_esm5.processed/parsers/containers/matroska/utils.js +67 -63
  291. package/dist/_esm5.processed/parsers/images/bif.js +40 -29
  292. package/dist/_esm5.processed/parsers/manifest/dash/common/attach_trickmode_track.js +10 -12
  293. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +10 -7
  294. package/dist/_esm5.processed/parsers/manifest/dash/common/get_clock_offset.js +8 -5
  295. package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.js +10 -6
  296. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +7 -6
  297. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +10 -6
  298. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.js +14 -9
  299. package/dist/_esm5.processed/parsers/manifest/dash/common/index.js +10 -4
  300. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +73 -67
  301. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +9 -4
  302. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +32 -25
  303. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/index.js +11 -5
  304. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +81 -70
  305. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +130 -123
  306. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +15 -12
  307. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +35 -32
  308. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +14 -9
  309. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +30 -22
  310. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/index.js +4 -2
  311. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +14 -11
  312. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +131 -129
  313. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +16 -10
  314. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/utils.js +7 -3
  315. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.js +19 -18
  316. package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.js +18 -17
  317. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +111 -111
  318. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_availability_start_time.js +4 -1
  319. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +86 -85
  320. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +97 -82
  321. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +39 -37
  322. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +61 -69
  323. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +12 -9
  324. package/dist/_esm5.processed/parsers/manifest/dash/index.js +8 -1
  325. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/index.js +4 -2
  326. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +66 -62
  327. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +7 -4
  328. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.js +7 -4
  329. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.js +22 -19
  330. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +22 -19
  331. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +11 -8
  332. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.js +38 -34
  333. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.js +34 -30
  334. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +44 -40
  335. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +24 -21
  336. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentList.js +15 -12
  337. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +21 -18
  338. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.js +6 -3
  339. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +12 -9
  340. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +60 -64
  341. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +33 -27
  342. package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.js +2 -1
  343. package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.js +2 -1
  344. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/index.js +4 -2
  345. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +192 -238
  346. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +67 -62
  347. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +8 -4
  348. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +11 -7
  349. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +17 -13
  350. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +29 -24
  351. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +38 -33
  352. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +37 -32
  353. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +43 -38
  354. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +9 -5
  355. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +16 -12
  356. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +11 -7
  357. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +20 -16
  358. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +11 -7
  359. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +11 -7
  360. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/index.js +5 -1
  361. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +10 -6
  362. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +22 -20
  363. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.js +2 -1
  364. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.js +6 -2
  365. package/dist/_esm5.processed/parsers/manifest/index.js +17 -1
  366. package/dist/_esm5.processed/parsers/manifest/local/index.js +4 -2
  367. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +30 -27
  368. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +71 -84
  369. package/dist/_esm5.processed/parsers/manifest/local/types.js +2 -1
  370. package/dist/_esm5.processed/parsers/manifest/metaplaylist/index.js +4 -2
  371. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +75 -72
  372. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +52 -52
  373. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +200 -176
  374. package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +13 -8
  375. package/dist/_esm5.processed/parsers/manifest/smooth/index.js +7 -4
  376. package/dist/_esm5.processed/parsers/manifest/smooth/parse_C_nodes.js +17 -14
  377. package/dist/_esm5.processed/parsers/manifest/smooth/parse_protection_node.js +17 -15
  378. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +102 -98
  379. package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +49 -48
  380. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +10 -7
  381. package/dist/_esm5.processed/parsers/manifest/smooth/utils/parseBoolean.js +4 -1
  382. package/dist/_esm5.processed/parsers/manifest/smooth/utils/reduceChildren.js +6 -3
  383. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.js +5 -1
  384. package/dist/_esm5.processed/parsers/manifest/types.js +2 -1
  385. package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.js +27 -24
  386. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +10 -7
  387. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.js +8 -5
  388. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.js +8 -5
  389. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.js +15 -12
  390. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.js +15 -12
  391. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +31 -22
  392. package/dist/_esm5.processed/parsers/manifest/utils/is_segment_still_available.js +9 -6
  393. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +38 -45
  394. package/dist/_esm5.processed/parsers/texttracks/index.js +2 -1
  395. package/dist/_esm5.processed/parsers/texttracks/sami/html.js +45 -43
  396. package/dist/_esm5.processed/parsers/texttracks/sami/native.js +41 -39
  397. package/dist/_esm5.processed/parsers/texttracks/srt/find_end_of_cue_block.js +7 -4
  398. package/dist/_esm5.processed/parsers/texttracks/srt/get_cue_blocks.js +11 -8
  399. package/dist/_esm5.processed/parsers/texttracks/srt/html.js +32 -29
  400. package/dist/_esm5.processed/parsers/texttracks/srt/native.js +16 -13
  401. package/dist/_esm5.processed/parsers/texttracks/srt/parse_cue.js +21 -18
  402. package/dist/_esm5.processed/parsers/texttracks/srt/parse_timestamp.js +10 -7
  403. package/dist/_esm5.processed/parsers/texttracks/ttml/get_parameters.js +37 -30
  404. package/dist/_esm5.processed/parsers/texttracks/ttml/get_styling.js +48 -48
  405. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.js +14 -11
  406. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +7 -2
  407. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +15 -12
  408. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +15 -12
  409. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_line_height.js +11 -8
  410. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +15 -12
  411. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_padding.js +25 -22
  412. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.js +117 -124
  413. package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +11 -8
  414. package/dist/_esm5.processed/parsers/texttracks/ttml/html/index.js +4 -2
  415. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.js +12 -8
  416. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_ttml_to_div.js +14 -11
  417. package/dist/_esm5.processed/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +10 -7
  418. package/dist/_esm5.processed/parsers/texttracks/ttml/native/index.js +4 -2
  419. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.js +38 -35
  420. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +11 -8
  421. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.js +58 -58
  422. package/dist/_esm5.processed/parsers/texttracks/ttml/regexps.js +27 -13
  423. package/dist/_esm5.processed/parsers/texttracks/ttml/resolve_styles_inheritance.js +18 -18
  424. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.js +28 -26
  425. package/dist/_esm5.processed/parsers/texttracks/ttml/xml_utils.js +37 -25
  426. package/dist/_esm5.processed/parsers/texttracks/types.js +2 -1
  427. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_cue_blocks.js +12 -9
  428. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_style_blocks.js +14 -11
  429. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/convert_payload_to_html.js +11 -8
  430. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.js +8 -5
  431. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +60 -60
  432. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.js +30 -27
  433. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/index.js +4 -2
  434. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_style_block.js +23 -26
  435. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_webvtt_to_div.js +20 -17
  436. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.js +23 -18
  437. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/index.js +4 -2
  438. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +19 -16
  439. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/set_settings_on_cue.js +20 -17
  440. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.js +8 -5
  441. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.js +26 -18
  442. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_timestamp.js +10 -7
  443. package/dist/_esm5.processed/parsers/texttracks/webvtt/utils.js +15 -7
  444. package/dist/_esm5.processed/public_types.js +2 -1
  445. package/dist/_esm5.processed/tools/TextTrackRenderer/index.js +13 -6
  446. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +26 -24
  447. package/dist/_esm5.processed/tools/index.js +6 -4
  448. package/dist/_esm5.processed/tools/string_utils.js +10 -1
  449. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +16 -24
  450. package/dist/_esm5.processed/transports/dash/construct_segment_url.js +6 -3
  451. package/dist/_esm5.processed/transports/dash/extract_complete_chunks.js +17 -14
  452. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.js +19 -16
  453. package/dist/_esm5.processed/transports/dash/index.js +4 -2
  454. package/dist/_esm5.processed/transports/dash/init_segment_loader.js +47 -27
  455. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.js +23 -16
  456. package/dist/_esm5.processed/transports/dash/manifest_parser.js +68 -60
  457. package/dist/_esm5.processed/transports/dash/pipelines.js +20 -17
  458. package/dist/_esm5.processed/transports/dash/segment_loader.js +49 -39
  459. package/dist/_esm5.processed/transports/dash/segment_parser.js +58 -39
  460. package/dist/_esm5.processed/transports/dash/text_loader.js +36 -30
  461. package/dist/_esm5.processed/transports/dash/text_parser.js +39 -29
  462. package/dist/_esm5.processed/transports/index.js +17 -1
  463. package/dist/_esm5.processed/transports/local/index.js +4 -2
  464. package/dist/_esm5.processed/transports/local/pipelines.js +26 -23
  465. package/dist/_esm5.processed/transports/local/segment_loader.js +26 -23
  466. package/dist/_esm5.processed/transports/local/segment_parser.js +36 -25
  467. package/dist/_esm5.processed/transports/local/text_parser.js +42 -27
  468. package/dist/_esm5.processed/transports/metaplaylist/index.js +4 -2
  469. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.js +11 -7
  470. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +91 -96
  471. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +26 -20
  472. package/dist/_esm5.processed/transports/smooth/index.js +4 -2
  473. package/dist/_esm5.processed/transports/smooth/is_mp4_embedded_track.js +4 -1
  474. package/dist/_esm5.processed/transports/smooth/isobmff/create_audio_init_segment.js +22 -19
  475. package/dist/_esm5.processed/transports/smooth/isobmff/create_boxes.js +92 -67
  476. package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.js +29 -26
  477. package/dist/_esm5.processed/transports/smooth/isobmff/create_traf_box.js +9 -6
  478. package/dist/_esm5.processed/transports/smooth/isobmff/create_video_init_segment.js +23 -20
  479. package/dist/_esm5.processed/transports/smooth/isobmff/get_aaces_header.js +10 -7
  480. package/dist/_esm5.processed/transports/smooth/isobmff/index.js +13 -6
  481. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfrf.js +19 -16
  482. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfxd.js +9 -6
  483. package/dist/_esm5.processed/transports/smooth/isobmff/patch_segment.js +41 -38
  484. package/dist/_esm5.processed/transports/smooth/pipelines.js +106 -96
  485. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +2 -2
  486. package/dist/_esm5.processed/transports/smooth/segment_loader.js +149 -153
  487. package/dist/_esm5.processed/transports/smooth/utils.js +7 -3
  488. package/dist/_esm5.processed/transports/types.js +2 -1
  489. package/dist/_esm5.processed/transports/utils/byte_range.js +6 -4
  490. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +23 -18
  491. package/dist/_esm5.processed/transports/utils/check_isobmff_integrity.js +14 -11
  492. package/dist/_esm5.processed/transports/utils/find_complete_box.js +11 -8
  493. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.js +22 -14
  494. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +13 -10
  495. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +4 -1
  496. package/dist/_esm5.processed/transports/utils/parse_text_track.js +40 -26
  497. package/dist/_esm5.processed/utils/are_arrays_of_numbers_equal.js +5 -2
  498. package/dist/_esm5.processed/utils/are_codecs_compatible.js +11 -9
  499. package/dist/_esm5.processed/utils/array_find.js +7 -4
  500. package/dist/_esm5.processed/utils/array_find_index.js +6 -3
  501. package/dist/_esm5.processed/utils/array_includes.js +12 -11
  502. package/dist/_esm5.processed/utils/assert.js +13 -9
  503. package/dist/_esm5.processed/utils/assert_unreachable.js +6 -3
  504. package/dist/_esm5.processed/utils/base64.js +23 -18
  505. package/dist/_esm5.processed/utils/byte_parsing.js +30 -17
  506. package/dist/_esm5.processed/utils/cancellable_sleep.js +8 -5
  507. package/dist/_esm5.processed/utils/create_cancellable_promise.js +7 -4
  508. package/dist/_esm5.processed/utils/deep_merge.js +10 -21
  509. package/dist/_esm5.processed/utils/event_emitter.js +24 -24
  510. package/dist/_esm5.processed/utils/flat_map.js +7 -4
  511. package/dist/_esm5.processed/utils/get_fuzzed_delay.js +6 -3
  512. package/dist/_esm5.processed/utils/hash_buffer.js +7 -4
  513. package/dist/_esm5.processed/utils/id_generator.js +6 -3
  514. package/dist/_esm5.processed/utils/initialization_segment_cache.js +11 -12
  515. package/dist/_esm5.processed/utils/is_non_empty_string.js +4 -1
  516. package/dist/_esm5.processed/utils/is_null_or_undefined.js +4 -1
  517. package/dist/_esm5.processed/utils/languages/ISO_639-1_to_ISO_639-3.js +4 -2
  518. package/dist/_esm5.processed/utils/languages/ISO_639-2_to_ISO_639-3.js +4 -2
  519. package/dist/_esm5.processed/utils/languages/index.js +7 -3
  520. package/dist/_esm5.processed/utils/languages/normalize.js +26 -20
  521. package/dist/_esm5.processed/utils/logger.js +24 -23
  522. package/dist/_esm5.processed/utils/monotonic_timestamp.js +4 -1
  523. package/dist/_esm5.processed/utils/noop.js +4 -1
  524. package/dist/_esm5.processed/utils/object_assign.js +8 -10
  525. package/dist/_esm5.processed/utils/object_values.js +6 -3
  526. package/dist/_esm5.processed/utils/ranges.js +94 -71
  527. package/dist/_esm5.processed/utils/reference.js +48 -52
  528. package/dist/_esm5.processed/utils/request/fetch.js +79 -109
  529. package/dist/_esm5.processed/utils/request/index.js +9 -4
  530. package/dist/_esm5.processed/utils/request/xhr.js +49 -37
  531. package/dist/_esm5.processed/utils/resolve_url.js +18 -18
  532. package/dist/_esm5.processed/utils/retry_promise_with_backoff.js +34 -81
  533. package/dist/_esm5.processed/utils/sleep.js +5 -2
  534. package/dist/_esm5.processed/utils/slice_uint8array.js +3 -1
  535. package/dist/_esm5.processed/utils/sorted_list.js +37 -40
  536. package/dist/_esm5.processed/utils/starts_with.js +5 -2
  537. package/dist/_esm5.processed/utils/string_parsing.js +84 -73
  538. package/dist/_esm5.processed/utils/take_first_set.js +9 -10
  539. package/dist/_esm5.processed/utils/task_canceller.js +51 -71
  540. package/dist/_esm5.processed/utils/warn_once.js +7 -4
  541. package/dist/_esm5.processed/utils/weak_map_memory.js +12 -11
  542. package/dist/_esm5.processed/utils/wrapInPromise.js +5 -2
  543. package/dist/mpd-parser.wasm +0 -0
  544. package/dist/rx-player.js +43758 -45493
  545. package/dist/rx-player.min.js +1 -1
  546. package/jest.config.js +1 -22
  547. package/package.json +22 -23
  548. package/scripts/build/constants.d.ts +1 -23
  549. package/scripts/build/generate_build.js +1 -1
  550. package/scripts/check_nodejs_import_compatibility.js +1 -1
  551. package/scripts/update-version +1 -4
  552. package/sonar-project.properties +1 -1
  553. package/src/compat/event_listeners.ts +8 -8
  554. package/src/compat/global_scope.ts +2 -0
  555. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +3 -3
  556. package/src/core/adaptive/adaptive_representation_selector.ts +27 -9
  557. package/src/core/adaptive/buffer_based_chooser.ts +1 -1
  558. package/src/core/adaptive/network_analyzer.ts +5 -4
  559. package/src/core/api/public_api.ts +2 -2
  560. package/src/core/api/track_management/track_dispatcher.ts +2 -1
  561. package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +1 -1
  562. package/src/core/fetchers/cdn_prioritizer.ts +1 -1
  563. package/src/experimental/features/__tests__/index.test.ts +19 -0
  564. package/src/experimental/features/index.ts +1 -0
  565. package/src/features/list/__tests__/index.test.ts +49 -0
  566. package/src/index.ts +28 -3
  567. package/src/transports/smooth/segment_loader.ts +4 -4
  568. package/src/typings/globals.d.ts +0 -42
  569. package/src/utils/request/fetch.ts +1 -1
  570. package/src/utils/request/xhr.ts +1 -1
  571. package/tsconfig.json +1 -1
  572. package/tsconfig.modules.json +3 -3
  573. package/dist/_esm5.processed/features/initialize_features.d.ts +0 -19
  574. package/dist/_esm5.processed/features/initialize_features.js +0 -108
  575. package/src/features/__tests__/initialize_features.test.ts +0 -657
  576. package/src/features/initialize_features.ts +0 -129
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,11 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { createBox } from "../../../parsers/containers/isobmff";
17
- import { be2toi, be4toi, concat, itobe2, itobe4, itobe8, } from "../../../utils/byte_parsing";
18
- import { hexToBytes, strToUtf8, } from "../../../utils/string_parsing";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.createVMHDBox = exports.createTfdtBox = exports.createTREXBox = exports.createTKHDBox = exports.createTENCBox = exports.createSTSDBox = exports.createSMHDBox = exports.createSCHMBox = exports.createSAIZBox = exports.createSAIOBox = exports.createMVHDBox = exports.createMP4ABox = exports.createMDHDBox = exports.createHDLRBox = exports.createFreeBox = exports.createFTYPBox = exports.createFRMABox = exports.createESDSBox = exports.createENCVBox = exports.createENCABox = exports.createDREFBox = exports.createAVCCBox = exports.createAVC1Box = void 0;
19
+ const isobmff_1 = require("../../../parsers/containers/isobmff");
20
+ const byte_parsing_1 = require("../../../utils/byte_parsing");
21
+ const string_parsing_1 = require("../../../utils/string_parsing");
19
22
  /**
20
23
  * @param {Number} width
21
24
  * @param {Number} height
@@ -27,20 +30,21 @@ import { hexToBytes, strToUtf8, } from "../../../utils/string_parsing";
27
30
  * @returns {Uint8Array}
28
31
  */
29
32
  function createAVC1Box(width, height, hRes, vRes, encName, colorDepth, avcc) {
30
- return createBox("avc1", concat(6, // 6 bytes reserved
31
- itobe2(1), 16, // drefIdx + QuickTime reserved, zeroes
32
- itobe2(width), // size 2 w
33
- itobe2(height), // size 2 h
34
- itobe2(hRes), 2, // reso 4 h
35
- itobe2(vRes), 2 + 4, // reso 4 v + QuickTime reserved, zeroes
33
+ return (0, isobmff_1.createBox)("avc1", (0, byte_parsing_1.concat)(6, // 6 bytes reserved
34
+ (0, byte_parsing_1.itobe2)(1), 16, // drefIdx + QuickTime reserved, zeroes
35
+ (0, byte_parsing_1.itobe2)(width), // size 2 w
36
+ (0, byte_parsing_1.itobe2)(height), // size 2 h
37
+ (0, byte_parsing_1.itobe2)(hRes), 2, // reso 4 h
38
+ (0, byte_parsing_1.itobe2)(vRes), 2 + 4, // reso 4 v + QuickTime reserved, zeroes
36
39
  [0, 1, encName.length], // frame count (default 1)
37
- strToUtf8(encName), // 1byte len + encoder name str
40
+ (0, string_parsing_1.strToUtf8)(encName), // 1byte len + encoder name str
38
41
  (31 - encName.length), // + padding
39
- itobe2(colorDepth), // color depth
42
+ (0, byte_parsing_1.itobe2)(colorDepth), // color depth
40
43
  [0xFF, 0xFF], // reserved ones
41
44
  avcc // avcc atom,
42
45
  ));
43
46
  }
47
+ exports.createAVC1Box = createAVC1Box;
44
48
  /**
45
49
  * @param {Number} width
46
50
  * @param {Number} height
@@ -53,20 +57,21 @@ function createAVC1Box(width, height, hRes, vRes, encName, colorDepth, avcc) {
53
57
  * @returns {Uint8Array}
54
58
  */
55
59
  function createENCVBox(width, height, hRes, vRes, encName, colorDepth, avcc, sinf) {
56
- return createBox("encv", concat(6, // 6 bytes reserved
57
- itobe2(1), 16, // drefIdx + QuickTime reserved, zeroes
58
- itobe2(width), // size 2 w
59
- itobe2(height), // size 2 h
60
- itobe2(hRes), 2, // reso 4 h
61
- itobe2(vRes), 2 + 4, // reso 4 v + QuickTime reserved, zeroes
60
+ return (0, isobmff_1.createBox)("encv", (0, byte_parsing_1.concat)(6, // 6 bytes reserved
61
+ (0, byte_parsing_1.itobe2)(1), 16, // drefIdx + QuickTime reserved, zeroes
62
+ (0, byte_parsing_1.itobe2)(width), // size 2 w
63
+ (0, byte_parsing_1.itobe2)(height), // size 2 h
64
+ (0, byte_parsing_1.itobe2)(hRes), 2, // reso 4 h
65
+ (0, byte_parsing_1.itobe2)(vRes), 2 + 4, // reso 4 v + QuickTime reserved, zeroes
62
66
  [0, 1, encName.length], // frame count (default 1)
63
- strToUtf8(encName), // 1byte len + encoder name str
67
+ (0, string_parsing_1.strToUtf8)(encName), // 1byte len + encoder name str
64
68
  (31 - encName.length), // + padding
65
- itobe2(colorDepth), // color depth
69
+ (0, byte_parsing_1.itobe2)(colorDepth), // color depth
66
70
  [0xFF, 0xFF], // reserved ones
67
71
  avcc, // avcc atom,
68
72
  sinf));
69
73
  }
74
+ exports.createENCVBox = createENCVBox;
70
75
  /**
71
76
  * @param {Number} drefIdx
72
77
  * @param {Number} channelsCount
@@ -77,8 +82,9 @@ function createENCVBox(width, height, hRes, vRes, encName, colorDepth, avcc, sin
77
82
  * @returns {Uint8Array}
78
83
  */
79
84
  function createMP4ABox(drefIdx, channelsCount, sampleSize, packetSize, sampleRate, esds) {
80
- return createBox("mp4a", concat(6, itobe2(drefIdx), 8, itobe2(channelsCount), itobe2(sampleSize), 2, itobe2(packetSize), itobe2(sampleRate), 2, esds));
85
+ return (0, isobmff_1.createBox)("mp4a", (0, byte_parsing_1.concat)(6, (0, byte_parsing_1.itobe2)(drefIdx), 8, (0, byte_parsing_1.itobe2)(channelsCount), (0, byte_parsing_1.itobe2)(sampleSize), 2, (0, byte_parsing_1.itobe2)(packetSize), (0, byte_parsing_1.itobe2)(sampleRate), 2, esds));
81
86
  }
87
+ exports.createMP4ABox = createMP4ABox;
82
88
  /**
83
89
  * @param {Number} drefIdx
84
90
  * @param {Number} channelsCount
@@ -91,80 +97,90 @@ function createMP4ABox(drefIdx, channelsCount, sampleSize, packetSize, sampleRat
91
97
  * @returns {Uint8Array}
92
98
  */
93
99
  function createENCABox(drefIdx, channelsCount, sampleSize, packetSize, sampleRate, esds, sinf) {
94
- return createBox("enca", concat(6, itobe2(drefIdx), 8, itobe2(channelsCount), itobe2(sampleSize), 2, itobe2(packetSize), itobe2(sampleRate), 2, esds, sinf));
100
+ return (0, isobmff_1.createBox)("enca", (0, byte_parsing_1.concat)(6, (0, byte_parsing_1.itobe2)(drefIdx), 8, (0, byte_parsing_1.itobe2)(channelsCount), (0, byte_parsing_1.itobe2)(sampleSize), 2, (0, byte_parsing_1.itobe2)(packetSize), (0, byte_parsing_1.itobe2)(sampleRate), 2, esds, sinf));
95
101
  }
102
+ exports.createENCABox = createENCABox;
96
103
  /**
97
104
  * @param {Uint8Array} url
98
105
  * @returns {Uint8Array}
99
106
  */
100
107
  function createDREFBox(url) {
101
108
  // only one description here... FIXME
102
- return createBox("dref", concat(7, [1], url));
109
+ return (0, isobmff_1.createBox)("dref", (0, byte_parsing_1.concat)(7, [1], url));
103
110
  }
111
+ exports.createDREFBox = createDREFBox;
104
112
  /**
105
113
  * @param {string} majorBrand
106
114
  * @param {Array.<string>} brands
107
115
  * @returns {Uint8Array}
108
116
  */
109
117
  function createFTYPBox(majorBrand, brands) {
110
- var content = concat.apply(void 0, [strToUtf8(majorBrand),
111
- [0, 0, 0, 1]].concat(brands.map(strToUtf8)));
112
- return createBox("ftyp", content);
118
+ const content = (0, byte_parsing_1.concat)(...[(0, string_parsing_1.strToUtf8)(majorBrand),
119
+ [0, 0, 0, 1]].concat(brands.map(string_parsing_1.strToUtf8)));
120
+ return (0, isobmff_1.createBox)("ftyp", content);
113
121
  }
122
+ exports.createFTYPBox = createFTYPBox;
114
123
  /**
115
124
  * @param {string} schemeType - four letters (eg "cenc" for Common Encryption)
116
125
  * @param {Number} schemeVersion - eg 65536
117
126
  * @returns {Uint8Array}
118
127
  */
119
128
  function createSCHMBox(schemeType, schemeVersion) {
120
- return createBox("schm", concat(4, strToUtf8(schemeType), itobe4(schemeVersion)));
129
+ return (0, isobmff_1.createBox)("schm", (0, byte_parsing_1.concat)(4, (0, string_parsing_1.strToUtf8)(schemeType), (0, byte_parsing_1.itobe4)(schemeVersion)));
121
130
  }
131
+ exports.createSCHMBox = createSCHMBox;
122
132
  /**
123
133
  * Create tfdt box from a decoding time.
124
134
  * @param {number} decodeTime
125
135
  * @returns {Uint8Array}
126
136
  */
127
137
  function createTfdtBox(decodeTime) {
128
- return createBox("tfdt", concat([1, 0, 0, 0], itobe8(decodeTime)));
138
+ return (0, isobmff_1.createBox)("tfdt", (0, byte_parsing_1.concat)([1, 0, 0, 0], (0, byte_parsing_1.itobe8)(decodeTime)));
129
139
  }
140
+ exports.createTfdtBox = createTfdtBox;
130
141
  /**
131
142
  * @returns {Uint8Array}
132
143
  */
133
144
  function createVMHDBox() {
134
- var arr = new Uint8Array(12);
145
+ const arr = new Uint8Array(12);
135
146
  arr[3] = 1; // QuickTime...
136
- return createBox("vmhd", arr);
147
+ return (0, isobmff_1.createBox)("vmhd", arr);
137
148
  }
149
+ exports.createVMHDBox = createVMHDBox;
138
150
  /**
139
151
  * @param {Number} trackId
140
152
  * @returns {Uint8Array}
141
153
  */
142
154
  function createTREXBox(trackId) {
143
155
  // default sample desc idx = 1
144
- return createBox("trex", concat(4, itobe4(trackId), [0, 0, 0, 1], 12));
156
+ return (0, isobmff_1.createBox)("trex", (0, byte_parsing_1.concat)(4, (0, byte_parsing_1.itobe4)(trackId), [0, 0, 0, 1], 12));
145
157
  }
158
+ exports.createTREXBox = createTREXBox;
146
159
  /**
147
160
  * @param {Number} length
148
161
  * @returns {Uint8Array}
149
162
  */
150
163
  function createFreeBox(length) {
151
- return createBox("free", new Uint8Array(length - 8));
164
+ return (0, isobmff_1.createBox)("free", new Uint8Array(length - 8));
152
165
  }
166
+ exports.createFreeBox = createFreeBox;
153
167
  /**
154
168
  * @param {Number} stream
155
169
  * @param {string} codecPrivateData - hex string
156
170
  * @returns {Uint8Array}
157
171
  */
158
172
  function createESDSBox(stream, codecPrivateData) {
159
- return createBox("esds", concat(4, [0x03, 0x19], itobe2(stream), [0x00, 0x04, 0x11, 0x40, 0x15], 11, [0x05, 0x02], hexToBytes(codecPrivateData), [0x06, 0x01, 0x02]));
173
+ return (0, isobmff_1.createBox)("esds", (0, byte_parsing_1.concat)(4, [0x03, 0x19], (0, byte_parsing_1.itobe2)(stream), [0x00, 0x04, 0x11, 0x40, 0x15], 11, [0x05, 0x02], (0, string_parsing_1.hexToBytes)(codecPrivateData), [0x06, 0x01, 0x02]));
160
174
  }
175
+ exports.createESDSBox = createESDSBox;
161
176
  /**
162
177
  * @param {string} dataFormat - four letters (eg "avc1")
163
178
  * @returns {Uint8Array}
164
179
  */
165
180
  function createFRMABox(dataFormat) {
166
- return createBox("frma", strToUtf8(dataFormat));
181
+ return (0, isobmff_1.createBox)("frma", (0, string_parsing_1.strToUtf8)(dataFormat));
167
182
  }
183
+ exports.createFRMABox = createFRMABox;
168
184
  /**
169
185
  * @param {Uint8Array} sps
170
186
  * @param {Uint8Array} pps
@@ -174,29 +190,30 @@ function createFRMABox(dataFormat) {
174
190
  * @returns {Uint8Array}
175
191
  */
176
192
  function createAVCCBox(sps, pps, nalLen) {
177
- var nal = (nalLen === 2) ? 0x1 :
193
+ const nal = (nalLen === 2) ? 0x1 :
178
194
  (nalLen === 4) ? 0x3 :
179
195
  0x0;
180
196
  // Deduce AVC Profile from SPS
181
- var h264Profile = sps[1];
182
- var h264CompatibleProfile = sps[2];
183
- var h264Level = sps[3];
184
- return createBox("avcC", concat([
197
+ const h264Profile = sps[1];
198
+ const h264CompatibleProfile = sps[2];
199
+ const h264Level = sps[3];
200
+ return (0, isobmff_1.createBox)("avcC", (0, byte_parsing_1.concat)([
185
201
  1,
186
202
  h264Profile,
187
203
  h264CompatibleProfile,
188
204
  h264Level,
189
205
  (0x3F << 2 | nal),
190
206
  (0xE0 | 1),
191
- ], itobe2(sps.length), sps, [1], itobe2(pps.length), pps));
207
+ ], (0, byte_parsing_1.itobe2)(sps.length), sps, [1], (0, byte_parsing_1.itobe2)(pps.length), pps));
192
208
  }
209
+ exports.createAVCCBox = createAVCCBox;
193
210
  /**
194
211
  * @param {string} type - "video"/"audio"/"hint"
195
212
  * @returns {Uint8Array}
196
213
  */
197
214
  function createHDLRBox(type) {
198
- var name;
199
- var handlerName;
215
+ let name;
216
+ let handlerName;
200
217
  switch (type) {
201
218
  case "video":
202
219
  name = "vide";
@@ -211,29 +228,32 @@ function createHDLRBox(type) {
211
228
  handlerName = "";
212
229
  break;
213
230
  }
214
- return createBox("hdlr", concat(8, strToUtf8(name), 12, strToUtf8(handlerName), 1 // handler name is C-style string (0 terminated)
231
+ return (0, isobmff_1.createBox)("hdlr", (0, byte_parsing_1.concat)(8, (0, string_parsing_1.strToUtf8)(name), 12, (0, string_parsing_1.strToUtf8)(handlerName), 1 // handler name is C-style string (0 terminated)
215
232
  ));
216
233
  }
234
+ exports.createHDLRBox = createHDLRBox;
217
235
  /**
218
236
  * @param {number} timescale
219
237
  * @returns {Uint8Array}
220
238
  */
221
239
  function createMDHDBox(timescale) {
222
- return createBox("mdhd", concat(12, itobe4(timescale), 8));
240
+ return (0, isobmff_1.createBox)("mdhd", (0, byte_parsing_1.concat)(12, (0, byte_parsing_1.itobe4)(timescale), 8));
223
241
  }
242
+ exports.createMDHDBox = createMDHDBox;
224
243
  /**
225
244
  * @param {Number} timescale
226
245
  * @param {Number} trackId
227
246
  * @returns {Uint8Array}
228
247
  */
229
248
  function createMVHDBox(timescale, trackId) {
230
- return createBox("mvhd", concat(12, itobe4(timescale), 4, [0, 1], 2, // we assume rate = 1;
249
+ return (0, isobmff_1.createBox)("mvhd", (0, byte_parsing_1.concat)(12, (0, byte_parsing_1.itobe4)(timescale), 4, [0, 1], 2, // we assume rate = 1;
231
250
  [1, 0], 10, // we assume volume = 100%;
232
251
  [0, 1], 14, // default matrix
233
252
  [0, 1], 14, // default matrix
234
- [64, 0, 0, 0], 26, itobe2(trackId + 1) // next trackId (=trackId + 1);
253
+ [64, 0, 0, 0], 26, (0, byte_parsing_1.itobe2)(trackId + 1) // next trackId (=trackId + 1);
235
254
  ));
236
255
  }
256
+ exports.createMVHDBox = createMVHDBox;
237
257
  /**
238
258
  * @param {Uint8Array} mfhd
239
259
  * @param {Uint8Array} tfhd
@@ -242,35 +262,36 @@ function createMVHDBox(timescale, trackId) {
242
262
  * @returns {Uint8Array}
243
263
  */
244
264
  function createSAIOBox(mfhd, tfhd, tfdt, trun) {
245
- return createBox("saio", concat(4, [0, 0, 0, 1], // ??
246
- itobe4(mfhd.length +
265
+ return (0, isobmff_1.createBox)("saio", (0, byte_parsing_1.concat)(4, [0, 0, 0, 1], // ??
266
+ (0, byte_parsing_1.itobe4)(mfhd.length +
247
267
  tfhd.length +
248
268
  tfdt.length +
249
269
  trun.length +
250
270
  8 + 8 + 8 + 8)));
251
271
  }
272
+ exports.createSAIOBox = createSAIOBox;
252
273
  /**
253
274
  * @param {Uint8Array} sencContent - including 8 bytes flags and entries count
254
275
  * @returns {Uint8Array}
255
276
  */
256
277
  function createSAIZBox(sencContent) {
257
278
  if (sencContent.length === 0) {
258
- return createBox("saiz", new Uint8Array(0));
279
+ return (0, isobmff_1.createBox)("saiz", new Uint8Array(0));
259
280
  }
260
- var flags = be4toi(sencContent, 0);
261
- var entries = be4toi(sencContent, 4);
262
- var arr = new Uint8Array(entries + 9);
263
- arr.set(itobe4(entries), 5);
264
- var i = 9;
265
- var j = 8;
266
- var pairsCnt;
267
- var pairsLen;
281
+ const flags = (0, byte_parsing_1.be4toi)(sencContent, 0);
282
+ const entries = (0, byte_parsing_1.be4toi)(sencContent, 4);
283
+ const arr = new Uint8Array(entries + 9);
284
+ arr.set((0, byte_parsing_1.itobe4)(entries), 5);
285
+ let i = 9;
286
+ let j = 8;
287
+ let pairsCnt;
288
+ let pairsLen;
268
289
  while (j < sencContent.length) {
269
290
  j += 8; // assuming IV is 8 bytes TODO handle 16 bytes IV
270
291
  // if we have extradata for each entry
271
292
  if ((flags & 0x2) === 0x2) {
272
293
  pairsLen = 2;
273
- pairsCnt = be2toi(sencContent, j);
294
+ pairsCnt = (0, byte_parsing_1.be2toi)(sencContent, j);
274
295
  j += (pairsCnt * 6) + 2;
275
296
  }
276
297
  else {
@@ -280,14 +301,16 @@ function createSAIZBox(sencContent) {
280
301
  arr[i] = pairsCnt * 6 + 8 + pairsLen;
281
302
  i++;
282
303
  }
283
- return createBox("saiz", arr);
304
+ return (0, isobmff_1.createBox)("saiz", arr);
284
305
  }
306
+ exports.createSAIZBox = createSAIZBox;
285
307
  /**
286
308
  * @returns {Uint8Array}
287
309
  */
288
310
  function createSMHDBox() {
289
- return createBox("smhd", new Uint8Array(8));
311
+ return (0, isobmff_1.createBox)("smhd", new Uint8Array(8));
290
312
  }
313
+ exports.createSMHDBox = createSMHDBox;
291
314
  /**
292
315
  * @param {Array.<Uint8Array>} reps - arrays of Uint8Array,
293
316
  * typically [avc1] or [encv, avc1]
@@ -295,9 +318,10 @@ function createSMHDBox() {
295
318
  */
296
319
  function createSTSDBox(reps) {
297
320
  // only one description here... FIXME
298
- var arrBase = [7, [reps.length]];
299
- return createBox("stsd", concat.apply(void 0, arrBase.concat(reps)));
321
+ const arrBase = [7, [reps.length]];
322
+ return (0, isobmff_1.createBox)("stsd", (0, byte_parsing_1.concat)(...arrBase.concat(reps)));
300
323
  }
324
+ exports.createSTSDBox = createSTSDBox;
301
325
  /**
302
326
  * @param {Number} width
303
327
  * @param {Number} height
@@ -305,17 +329,18 @@ function createSTSDBox(reps) {
305
329
  * @returns {Uint8Array}
306
330
  */
307
331
  function createTKHDBox(width, height, trackId) {
308
- return createBox("tkhd", concat(itobe4(1 + 2 + 4), 8, // we assume track is enabled,
332
+ return (0, isobmff_1.createBox)("tkhd", (0, byte_parsing_1.concat)((0, byte_parsing_1.itobe4)(1 + 2 + 4), 8, // we assume track is enabled,
309
333
  // in media and in preview.
310
- itobe4(trackId), 20, // we assume trackId = 1;
334
+ (0, byte_parsing_1.itobe4)(trackId), 20, // we assume trackId = 1;
311
335
  [1, 0, 0, 0], // we assume volume = 100%;
312
336
  [0, 1, 0, 0], 12, // default matrix
313
337
  [0, 1, 0, 0], 12, // default matrix
314
338
  [64, 0, 0, 0], // ??
315
- itobe2(width), 2, // width (TODO handle fixed)
316
- itobe2(height), 2 // height (TODO handle fixed)
339
+ (0, byte_parsing_1.itobe2)(width), 2, // width (TODO handle fixed)
340
+ (0, byte_parsing_1.itobe2)(height), 2 // height (TODO handle fixed)
317
341
  ));
318
342
  }
343
+ exports.createTKHDBox = createTKHDBox;
319
344
  /**
320
345
  * @param {Number} algId - eg 1
321
346
  * @param {Number} ivSize - eg 8
@@ -323,6 +348,6 @@ function createTKHDBox(width, height, trackId) {
323
348
  * @returns {Uint8Array}
324
349
  */
325
350
  function createTENCBox(algId, ivSize, keyId) {
326
- return createBox("tenc", concat(6, [algId, ivSize], keyId));
351
+ return (0, isobmff_1.createBox)("tenc", (0, byte_parsing_1.concat)(6, [algId, ivSize], keyId));
327
352
  }
328
- export { createAVC1Box, createAVCCBox, createDREFBox, createENCABox, createENCVBox, createESDSBox, createFRMABox, createFTYPBox, createFreeBox, createHDLRBox, createMDHDBox, createMP4ABox, createMVHDBox, createSAIOBox, createSAIZBox, createSCHMBox, createSMHDBox, createSTSDBox, createTENCBox, createTKHDBox, createTREXBox, createTfdtBox, createVMHDBox, };
353
+ exports.createTENCBox = createTENCBox;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,10 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { createBox, createBoxWithChildren, } from "../../../parsers/containers/isobmff";
17
- import { concat } from "../../../utils/byte_parsing";
18
- import { createDREFBox, createFTYPBox, createHDLRBox, createMDHDBox, createMVHDBox, createTKHDBox, createTREXBox, } from "./create_boxes";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const isobmff_1 = require("../../../parsers/containers/isobmff");
19
+ const byte_parsing_1 = require("../../../utils/byte_parsing");
20
+ const create_boxes_1 = require("./create_boxes");
19
21
  /**
20
22
  * @param {Uint8Array} mvhd
21
23
  * @param {Uint8Array} mvex
@@ -23,8 +25,8 @@ import { createDREFBox, createFTYPBox, createHDLRBox, createMDHDBox, createMVHDB
23
25
  * @returns {Array.<Uint8Array>}
24
26
  */
25
27
  function createMOOVBox(mvhd, mvex, trak) {
26
- var children = [mvhd, mvex, trak];
27
- return createBoxWithChildren("moov", children);
28
+ const children = [mvhd, mvex, trak];
29
+ return (0, isobmff_1.createBoxWithChildren)("moov", children);
28
30
  }
29
31
  /**
30
32
  * Create an initialization segment with the information given.
@@ -38,28 +40,29 @@ function createMOOVBox(mvhd, mvex, trak) {
38
40
  * {systemId: "DEADBEEF", codecPrivateData: "DEAFBEEF}
39
41
  * @returns {Uint8Array}
40
42
  */
41
- export default function createInitSegment(timescale, type, stsd, mhd, width, height) {
42
- var stbl = createBoxWithChildren("stbl", [
43
+ function createInitSegment(timescale, type, stsd, mhd, width, height) {
44
+ const stbl = (0, isobmff_1.createBoxWithChildren)("stbl", [
43
45
  stsd,
44
- createBox("stts", new Uint8Array(0x08)),
45
- createBox("stsc", new Uint8Array(0x08)),
46
- createBox("stsz", new Uint8Array(0x0C)),
47
- createBox("stco", new Uint8Array(0x08)),
46
+ (0, isobmff_1.createBox)("stts", new Uint8Array(0x08)),
47
+ (0, isobmff_1.createBox)("stsc", new Uint8Array(0x08)),
48
+ (0, isobmff_1.createBox)("stsz", new Uint8Array(0x0C)),
49
+ (0, isobmff_1.createBox)("stco", new Uint8Array(0x08)),
48
50
  ]);
49
- var url = createBox("url ", new Uint8Array([0, 0, 0, 1]));
50
- var dref = createDREFBox(url);
51
- var dinf = createBoxWithChildren("dinf", [dref]);
52
- var minf = createBoxWithChildren("minf", [mhd, dinf, stbl]);
53
- var hdlr = createHDLRBox(type);
54
- var mdhd = createMDHDBox(timescale); // this one is really important
55
- var mdia = createBoxWithChildren("mdia", [mdhd, hdlr, minf]);
56
- var tkhd = createTKHDBox(width, height, 1);
57
- var trak = createBoxWithChildren("trak", [tkhd, mdia]);
58
- var trex = createTREXBox(1);
59
- var mvex = createBoxWithChildren("mvex", [trex]);
60
- var mvhd = createMVHDBox(timescale, 1); // in fact, we don't give a sh** about
51
+ const url = (0, isobmff_1.createBox)("url ", new Uint8Array([0, 0, 0, 1]));
52
+ const dref = (0, create_boxes_1.createDREFBox)(url);
53
+ const dinf = (0, isobmff_1.createBoxWithChildren)("dinf", [dref]);
54
+ const minf = (0, isobmff_1.createBoxWithChildren)("minf", [mhd, dinf, stbl]);
55
+ const hdlr = (0, create_boxes_1.createHDLRBox)(type);
56
+ const mdhd = (0, create_boxes_1.createMDHDBox)(timescale); // this one is really important
57
+ const mdia = (0, isobmff_1.createBoxWithChildren)("mdia", [mdhd, hdlr, minf]);
58
+ const tkhd = (0, create_boxes_1.createTKHDBox)(width, height, 1);
59
+ const trak = (0, isobmff_1.createBoxWithChildren)("trak", [tkhd, mdia]);
60
+ const trex = (0, create_boxes_1.createTREXBox)(1);
61
+ const mvex = (0, isobmff_1.createBoxWithChildren)("mvex", [trex]);
62
+ const mvhd = (0, create_boxes_1.createMVHDBox)(timescale, 1); // in fact, we don't give a sh** about
61
63
  // this value :O
62
- var moov = createMOOVBox(mvhd, mvex, trak);
63
- var ftyp = createFTYPBox("isom", ["isom", "iso2", "iso6", "avc1", "dash"]);
64
- return concat(ftyp, moov);
64
+ const moov = createMOOVBox(mvhd, mvex, trak);
65
+ const ftyp = (0, create_boxes_1.createFTYPBox)("isom", ["isom", "iso2", "iso6", "avc1", "dash"]);
66
+ return (0, byte_parsing_1.concat)(ftyp, moov);
65
67
  }
68
+ exports.default = createInitSegment;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,12 +14,14 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { createBox, createBoxWithChildren, } from "../../../parsers/containers/isobmff";
17
- import { createSAIOBox, createSAIZBox, } from "./create_boxes";
18
- export default function createTrafBox(tfhd, tfdt, trun, mfhd, senc) {
19
- var trafs = [tfhd, tfdt, trun];
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const isobmff_1 = require("../../../parsers/containers/isobmff");
19
+ const create_boxes_1 = require("./create_boxes");
20
+ function createTrafBox(tfhd, tfdt, trun, mfhd, senc) {
21
+ const trafs = [tfhd, tfdt, trun];
20
22
  if (senc !== undefined) {
21
- trafs.push(createBox("senc", senc), createSAIZBox(senc), createSAIOBox(mfhd, tfhd, tfdt, trun));
23
+ trafs.push((0, isobmff_1.createBox)("senc", senc), (0, create_boxes_1.createSAIZBox)(senc), (0, create_boxes_1.createSAIOBox)(mfhd, tfhd, tfdt, trun));
22
24
  }
23
- return createBoxWithChildren("traf", trafs);
25
+ return (0, isobmff_1.createBoxWithChildren)("traf", trafs);
24
26
  }
27
+ exports.default = createTrafBox;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,10 +14,11 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { createBoxWithChildren } from "../../../parsers/containers/isobmff";
17
- import { hexToBytes } from "../../../utils/string_parsing";
18
- import { createAVC1Box, createAVCCBox, createENCVBox, createFRMABox, createSCHMBox, createSTSDBox, createTENCBox, createVMHDBox, } from "./create_boxes";
19
- import createInitSegment from "./create_init_segment";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const isobmff_1 = require("../../../parsers/containers/isobmff");
19
+ const string_parsing_1 = require("../../../utils/string_parsing");
20
+ const create_boxes_1 = require("./create_boxes");
21
+ const create_init_segment_1 = require("./create_init_segment");
20
22
  /**
21
23
  * Return full video Init segment as Uint8Array
22
24
  * @param {Number} timescale - lowest number, this one will be set into mdhd
@@ -30,28 +32,29 @@ import createInitSegment from "./create_init_segment";
30
32
  * @param {Uint8Array} [keyId]
31
33
  * @returns {Uint8Array}
32
34
  */
33
- export default function createVideoInitSegment(timescale, width, height, hRes, vRes, nalLength, codecPrivateData, keyId) {
34
- var _a = codecPrivateData.split("00000001"), spsHex = _a[1], ppsHex = _a[2];
35
+ function createVideoInitSegment(timescale, width, height, hRes, vRes, nalLength, codecPrivateData, keyId) {
36
+ const [, spsHex, ppsHex] = codecPrivateData.split("00000001");
35
37
  if (spsHex === undefined || ppsHex === undefined) {
36
38
  throw new Error("Smooth: unsupported codec private data.");
37
39
  }
38
- var sps = hexToBytes(spsHex);
39
- var pps = hexToBytes(ppsHex);
40
+ const sps = (0, string_parsing_1.hexToBytes)(spsHex);
41
+ const pps = (0, string_parsing_1.hexToBytes)(ppsHex);
40
42
  // TODO NAL length is forced to 4
41
- var avcc = createAVCCBox(sps, pps, nalLength);
42
- var stsd;
43
+ const avcc = (0, create_boxes_1.createAVCCBox)(sps, pps, nalLength);
44
+ let stsd;
43
45
  if (keyId === undefined) {
44
- var avc1 = createAVC1Box(width, height, hRes, vRes, "AVC Coding", 24, avcc);
45
- stsd = createSTSDBox([avc1]);
46
+ const avc1 = (0, create_boxes_1.createAVC1Box)(width, height, hRes, vRes, "AVC Coding", 24, avcc);
47
+ stsd = (0, create_boxes_1.createSTSDBox)([avc1]);
46
48
  }
47
49
  else {
48
- var tenc = createTENCBox(1, 8, keyId);
49
- var schi = createBoxWithChildren("schi", [tenc]);
50
- var schm = createSCHMBox("cenc", 65536);
51
- var frma = createFRMABox("avc1");
52
- var sinf = createBoxWithChildren("sinf", [frma, schm, schi]);
53
- var encv = createENCVBox(width, height, hRes, vRes, "AVC Coding", 24, avcc, sinf);
54
- stsd = createSTSDBox([encv]);
50
+ const tenc = (0, create_boxes_1.createTENCBox)(1, 8, keyId);
51
+ const schi = (0, isobmff_1.createBoxWithChildren)("schi", [tenc]);
52
+ const schm = (0, create_boxes_1.createSCHMBox)("cenc", 65536);
53
+ const frma = (0, create_boxes_1.createFRMABox)("avc1");
54
+ const sinf = (0, isobmff_1.createBoxWithChildren)("sinf", [frma, schm, schi]);
55
+ const encv = (0, create_boxes_1.createENCVBox)(width, height, hRes, vRes, "AVC Coding", 24, avcc, sinf);
56
+ stsd = (0, create_boxes_1.createSTSDBox)([encv]);
55
57
  }
56
- return createInitSegment(timescale, "video", stsd, createVMHDBox(), width, height);
58
+ return (0, create_init_segment_1.default)(timescale, "video", stsd, (0, create_boxes_1.createVMHDBox)(), width, height);
57
59
  }
60
+ exports.default = createVideoInitSegment;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,13 +14,14 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { itobe2 } from "../../../utils/byte_parsing";
17
- import { bytesToHex } from "../../../utils/string_parsing";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const byte_parsing_1 = require("../../../utils/byte_parsing");
19
+ const string_parsing_1 = require("../../../utils/string_parsing");
18
20
  /**
19
21
  * Sampling frequencies defined in MPEG-4 Audio.
20
22
  * @type {Array.<Number>}
21
23
  */
22
- var SAMPLING_FREQUENCIES = [
24
+ const SAMPLING_FREQUENCIES = [
23
25
  96000,
24
26
  88200,
25
27
  64000,
@@ -45,11 +47,12 @@ var SAMPLING_FREQUENCIES = [
45
47
  * @param {Number} chans (1 or 2)
46
48
  * @returns {string}
47
49
  */
48
- export default function getAacesHeader(type, frequency, chans) {
49
- var freq = SAMPLING_FREQUENCIES.indexOf(frequency); // TODO : handle Idx = 15...
50
- var val;
50
+ function getAacesHeader(type, frequency, chans) {
51
+ const freq = SAMPLING_FREQUENCIES.indexOf(frequency); // TODO : handle Idx = 15...
52
+ let val;
51
53
  val = (type & 0x3F) << 0x4;
52
54
  val = (val | (freq & 0x1F)) << 0x4;
53
55
  val = (val | (chans & 0x1F)) << 0x3;
54
- return bytesToHex(itobe2(val));
56
+ return (0, string_parsing_1.bytesToHex)((0, byte_parsing_1.itobe2)(val));
55
57
  }
58
+ exports.default = getAacesHeader;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,15 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import createAudioInitSegment from "./create_audio_init_segment";
17
- import createVideoInitSegment from "./create_video_init_segment";
18
- import parseTfrf from "./parse_tfrf";
19
- import parseTfxd from "./parse_tfxd";
20
- import patchSegment from "./patch_segment";
21
- export { createAudioInitSegment, createVideoInitSegment, parseTfrf, parseTfxd, patchSegment, };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.patchSegment = exports.parseTfxd = exports.parseTfrf = exports.createVideoInitSegment = exports.createAudioInitSegment = void 0;
19
+ const create_audio_init_segment_1 = require("./create_audio_init_segment");
20
+ exports.createAudioInitSegment = create_audio_init_segment_1.default;
21
+ const create_video_init_segment_1 = require("./create_video_init_segment");
22
+ exports.createVideoInitSegment = create_video_init_segment_1.default;
23
+ const parse_tfrf_1 = require("./parse_tfrf");
24
+ exports.parseTfrf = parse_tfrf_1.default;
25
+ const parse_tfxd_1 = require("./parse_tfxd");
26
+ exports.parseTfxd = parse_tfxd_1.default;
27
+ const patch_segment_1 = require("./patch_segment");
28
+ exports.patchSegment = patch_segment_1.default;