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,15 +14,18 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import log from "../../../log";
17
- import assert from "../../../utils/assert";
18
- import { be2toi, be3toi, be4toi, be8toi, concat, itobe4, itobe8, } from "../../../utils/byte_parsing";
19
- import { hexToBytes, readNullTerminatedString, } from "../../../utils/string_parsing";
20
- import { MAX_32_BIT_INT } from "./constants";
21
- import { createBox } from "./create_box";
22
- import { getPlayReadyKIDFromPrivateData } from "./drm";
23
- import { getBoxContent, getBoxOffsets, getChildBox, } from "./get_box";
24
- import { getEMSG, getMDIA, getTRAF, getTRAFs, } from "./read";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.parseEmsgBoxes = exports.updateBoxLength = exports.patchPssh = exports.getSegmentsFromSidx = exports.getDurationFromTrun = exports.getTrackFragmentDecodeTime = exports.getPlayReadyKIDFromPrivateData = exports.getMDHDTimescale = exports.getKeyIdFromInitSegment = void 0;
19
+ const log_1 = require("../../../log");
20
+ const assert_1 = require("../../../utils/assert");
21
+ const byte_parsing_1 = require("../../../utils/byte_parsing");
22
+ const string_parsing_1 = require("../../../utils/string_parsing");
23
+ const constants_1 = require("./constants");
24
+ const create_box_1 = require("./create_box");
25
+ const drm_1 = require("./drm");
26
+ Object.defineProperty(exports, "getPlayReadyKIDFromPrivateData", { enumerable: true, get: function () { return drm_1.getPlayReadyKIDFromPrivateData; } });
27
+ const get_box_1 = require("./get_box");
28
+ const read_1 = require("./read");
25
29
  /**
26
30
  * Parse the sidx part (segment index) of an ISOBMFF buffer and construct a
27
31
  * corresponding Array of available segments.
@@ -32,59 +36,59 @@ import { getEMSG, getMDIA, getTRAF, getTRAFs, } from "./read";
32
36
  * @returns {Object|null} {Array.<Object>} - Information about each subsegment.
33
37
  */
34
38
  function getSegmentsFromSidx(buf, sidxOffsetInWholeSegment) {
35
- var sidxOffsets = getBoxOffsets(buf, 0x73696478 /* "sidx" */);
39
+ const sidxOffsets = (0, get_box_1.getBoxOffsets)(buf, 0x73696478 /* "sidx" */);
36
40
  if (sidxOffsets === null) {
37
41
  return null;
38
42
  }
39
- var offset = sidxOffsetInWholeSegment;
40
- var boxSize = sidxOffsets[2] - sidxOffsets[0];
41
- var cursor = sidxOffsets[1];
43
+ let offset = sidxOffsetInWholeSegment;
44
+ const boxSize = sidxOffsets[2] - sidxOffsets[0];
45
+ let cursor = sidxOffsets[1];
42
46
  /* version(8) */
43
47
  /* flags(24) */
44
48
  /* reference_ID(32); */
45
49
  /* timescale(32); */
46
- var version = buf[cursor];
50
+ const version = buf[cursor];
47
51
  cursor += 4 + 4;
48
- var timescale = be4toi(buf, cursor);
52
+ const timescale = (0, byte_parsing_1.be4toi)(buf, cursor);
49
53
  cursor += 4;
50
54
  /* earliest_presentation_time(32 / 64) */
51
55
  /* first_offset(32 / 64) */
52
- var time;
56
+ let time;
53
57
  if (version === 0) {
54
- time = be4toi(buf, cursor);
58
+ time = (0, byte_parsing_1.be4toi)(buf, cursor);
55
59
  cursor += 4;
56
- offset += be4toi(buf, cursor) + boxSize;
60
+ offset += (0, byte_parsing_1.be4toi)(buf, cursor) + boxSize;
57
61
  cursor += 4;
58
62
  }
59
63
  else if (version === 1) {
60
- time = be8toi(buf, cursor);
64
+ time = (0, byte_parsing_1.be8toi)(buf, cursor);
61
65
  cursor += 8;
62
- offset += be8toi(buf, cursor) + boxSize;
66
+ offset += (0, byte_parsing_1.be8toi)(buf, cursor) + boxSize;
63
67
  cursor += 8;
64
68
  }
65
69
  else {
66
70
  return null;
67
71
  }
68
- var segments = [];
72
+ const segments = [];
69
73
  /* reserved(16) */
70
74
  /* reference_count(16) */
71
75
  cursor += 2;
72
- var count = be2toi(buf, cursor);
76
+ let count = (0, byte_parsing_1.be2toi)(buf, cursor);
73
77
  cursor += 2;
74
78
  while (--count >= 0) {
75
79
  /* reference_type(1) */
76
80
  /* reference_size(31) */
77
81
  /* segment_duration(32) */
78
82
  /* sap..(32) */
79
- var refChunk = be4toi(buf, cursor);
83
+ const refChunk = (0, byte_parsing_1.be4toi)(buf, cursor);
80
84
  cursor += 4;
81
- var refType = (refChunk & 0x80000000) >>> 31;
82
- var refSize = (refChunk & 0x7FFFFFFF);
85
+ const refType = (refChunk & 0x80000000) >>> 31;
86
+ const refSize = (refChunk & 0x7FFFFFFF);
83
87
  // when set to 1 indicates that the reference is to a sidx, else to media
84
88
  if (refType === 1) {
85
89
  throw new Error("sidx with reference_type `1` not yet implemented");
86
90
  }
87
- var duration = be4toi(buf, cursor);
91
+ const duration = (0, byte_parsing_1.be4toi)(buf, cursor);
88
92
  cursor += 4;
89
93
  // let sapChunk = be4toi(buf, cursor + 8);
90
94
  cursor += 4;
@@ -92,12 +96,16 @@ function getSegmentsFromSidx(buf, sidxOffsetInWholeSegment) {
92
96
  // let startsWithSap = (sapChunk & 0x80000000) >>> 31;
93
97
  // let sapType = (sapChunk & 0x70000000) >>> 28;
94
98
  // let sapDelta = sapChunk & 0x0FFFFFFF;
95
- segments.push({ time: time, duration: duration, timescale: timescale, range: [offset, offset + refSize - 1] });
99
+ segments.push({ time,
100
+ duration,
101
+ timescale,
102
+ range: [offset, offset + refSize - 1] });
96
103
  time += duration;
97
104
  offset += refSize;
98
105
  }
99
106
  return segments;
100
107
  }
108
+ exports.getSegmentsFromSidx = getSegmentsFromSidx;
101
109
  /**
102
110
  * Parse track Fragment Decode Time to get a precize initial time for this
103
111
  * segment (in the media timescale).
@@ -109,19 +117,20 @@ function getSegmentsFromSidx(buf, sidxOffsetInWholeSegment) {
109
117
  * @returns {Number | undefined}
110
118
  */
111
119
  function getTrackFragmentDecodeTime(buffer) {
112
- var traf = getTRAF(buffer);
120
+ const traf = (0, read_1.getTRAF)(buffer);
113
121
  if (traf === null) {
114
122
  return undefined;
115
123
  }
116
- var tfdt = getBoxContent(traf, 0x74666474 /* tfdt */);
124
+ const tfdt = (0, get_box_1.getBoxContent)(traf, 0x74666474 /* tfdt */);
117
125
  if (tfdt === null) {
118
126
  return undefined;
119
127
  }
120
- var version = tfdt[0];
121
- return version === 1 ? be8toi(tfdt, 4) :
122
- version === 0 ? be4toi(tfdt, 4) :
128
+ const version = tfdt[0];
129
+ return version === 1 ? (0, byte_parsing_1.be8toi)(tfdt, 4) :
130
+ version === 0 ? (0, byte_parsing_1.be4toi)(tfdt, 4) :
123
131
  undefined;
124
132
  }
133
+ exports.getTrackFragmentDecodeTime = getTrackFragmentDecodeTime;
125
134
  /**
126
135
  * Returns the "default sample duration" which is the default value for duration
127
136
  * of samples found in a "traf" ISOBMFF box.
@@ -131,16 +140,16 @@ function getTrackFragmentDecodeTime(buffer) {
131
140
  * @returns {number|undefined}
132
141
  */
133
142
  function getDefaultDurationFromTFHDInTRAF(traf) {
134
- var tfhd = getBoxContent(traf, 0x74666864 /* tfhd */);
143
+ const tfhd = (0, get_box_1.getBoxContent)(traf, 0x74666864 /* tfhd */);
135
144
  if (tfhd === null) {
136
145
  return undefined;
137
146
  }
138
- var cursor = /* version */ 1;
139
- var flags = be3toi(tfhd, cursor);
147
+ let cursor = /* version */ 1;
148
+ const flags = (0, byte_parsing_1.be3toi)(tfhd, cursor);
140
149
  cursor += 3;
141
- var hasBaseDataOffset = (flags & 0x000001) > 0;
142
- var hasSampleDescriptionIndex = (flags & 0x000002) > 0;
143
- var hasDefaultSampleDuration = (flags & 0x000008) > 0;
150
+ const hasBaseDataOffset = (flags & 0x000001) > 0;
151
+ const hasSampleDescriptionIndex = (flags & 0x000002) > 0;
152
+ const hasDefaultSampleDuration = (flags & 0x000008) > 0;
144
153
  if (!hasDefaultSampleDuration) {
145
154
  return undefined;
146
155
  }
@@ -151,7 +160,7 @@ function getDefaultDurationFromTFHDInTRAF(traf) {
151
160
  if (hasSampleDescriptionIndex) {
152
161
  cursor += 4;
153
162
  }
154
- var defaultDuration = be4toi(tfhd, cursor);
163
+ const defaultDuration = (0, byte_parsing_1.be4toi)(tfhd, cursor);
155
164
  return defaultDuration;
156
165
  }
157
166
  /**
@@ -163,39 +172,38 @@ function getDefaultDurationFromTFHDInTRAF(traf) {
163
172
  * @returns {number | undefined}
164
173
  */
165
174
  function getDurationFromTrun(buffer) {
166
- var trafs = getTRAFs(buffer);
175
+ const trafs = (0, read_1.getTRAFs)(buffer);
167
176
  if (trafs.length === 0) {
168
177
  return undefined;
169
178
  }
170
- var completeDuration = 0;
171
- for (var _i = 0, trafs_1 = trafs; _i < trafs_1.length; _i++) {
172
- var traf = trafs_1[_i];
173
- var trun = getBoxContent(traf, 0x7472756E /* trun */);
179
+ let completeDuration = 0;
180
+ for (const traf of trafs) {
181
+ const trun = (0, get_box_1.getBoxContent)(traf, 0x7472756E /* trun */);
174
182
  if (trun === null) {
175
183
  return undefined;
176
184
  }
177
- var cursor = 0;
178
- var version = trun[cursor];
185
+ let cursor = 0;
186
+ const version = trun[cursor];
179
187
  cursor += 1;
180
188
  if (version > 1) {
181
189
  return undefined;
182
190
  }
183
- var flags = be3toi(trun, cursor);
191
+ const flags = (0, byte_parsing_1.be3toi)(trun, cursor);
184
192
  cursor += 3;
185
- var hasSampleDuration = (flags & 0x000100) > 0;
186
- var defaultDuration = 0;
193
+ const hasSampleDuration = (flags & 0x000100) > 0;
194
+ let defaultDuration = 0;
187
195
  if (!hasSampleDuration) {
188
196
  defaultDuration = getDefaultDurationFromTFHDInTRAF(traf);
189
197
  if (defaultDuration === undefined) {
190
198
  return undefined;
191
199
  }
192
200
  }
193
- var hasDataOffset = (flags & 0x000001) > 0;
194
- var hasFirstSampleFlags = (flags & 0x000004) > 0;
195
- var hasSampleSize = (flags & 0x000200) > 0;
196
- var hasSampleFlags = (flags & 0x000400) > 0;
197
- var hasSampleCompositionOffset = (flags & 0x000800) > 0;
198
- var sampleCounts = be4toi(trun, cursor);
201
+ const hasDataOffset = (flags & 0x000001) > 0;
202
+ const hasFirstSampleFlags = (flags & 0x000004) > 0;
203
+ const hasSampleSize = (flags & 0x000200) > 0;
204
+ const hasSampleFlags = (flags & 0x000400) > 0;
205
+ const hasSampleCompositionOffset = (flags & 0x000800) > 0;
206
+ const sampleCounts = (0, byte_parsing_1.be4toi)(trun, cursor);
199
207
  cursor += 4;
200
208
  if (hasDataOffset) {
201
209
  cursor += 4;
@@ -203,11 +211,11 @@ function getDurationFromTrun(buffer) {
203
211
  if (hasFirstSampleFlags) {
204
212
  cursor += 4;
205
213
  }
206
- var i = sampleCounts;
207
- var duration = 0;
214
+ let i = sampleCounts;
215
+ let duration = 0;
208
216
  while (i-- > 0) {
209
217
  if (hasSampleDuration) {
210
- duration += be4toi(trun, cursor);
218
+ duration += (0, byte_parsing_1.be4toi)(trun, cursor);
211
219
  cursor += 4;
212
220
  }
213
221
  else {
@@ -227,6 +235,7 @@ function getDurationFromTrun(buffer) {
227
235
  }
228
236
  return completeDuration;
229
237
  }
238
+ exports.getDurationFromTrun = getDurationFromTrun;
230
239
  /**
231
240
  * Get timescale information from a movie header box. Found in init segments.
232
241
  * `undefined` if not found or not parsed.
@@ -236,32 +245,32 @@ function getDurationFromTrun(buffer) {
236
245
  * @returns {Number | undefined}
237
246
  */
238
247
  function getMDHDTimescale(buffer) {
239
- var mdia = getMDIA(buffer);
248
+ const mdia = (0, read_1.getMDIA)(buffer);
240
249
  if (mdia === null) {
241
250
  return undefined;
242
251
  }
243
- var mdhd = getBoxContent(mdia, 0x6D646864 /* "mdhd" */);
252
+ const mdhd = (0, get_box_1.getBoxContent)(mdia, 0x6D646864 /* "mdhd" */);
244
253
  if (mdhd === null) {
245
254
  return undefined;
246
255
  }
247
- var cursor = 0;
248
- var version = mdhd[cursor];
256
+ let cursor = 0;
257
+ const version = mdhd[cursor];
249
258
  cursor += 4;
250
- return version === 1 ? be4toi(mdhd, cursor + 16) :
251
- version === 0 ? be4toi(mdhd, cursor + 8) :
259
+ return version === 1 ? (0, byte_parsing_1.be4toi)(mdhd, cursor + 16) :
260
+ version === 0 ? (0, byte_parsing_1.be4toi)(mdhd, cursor + 8) :
252
261
  undefined;
253
262
  }
263
+ exports.getMDHDTimescale = getMDHDTimescale;
254
264
  /**
255
265
  * Creates a PSSH box with the given systemId and data.
256
266
  * @param {Array.<Object>} psshInfo
257
267
  * @returns {Uint8Array}
258
268
  */
259
- function createPssh(_a) {
260
- var systemId = _a.systemId, privateData = _a.privateData;
261
- var _systemId = systemId.replace(/-/g, "");
262
- assert(_systemId.length === 32);
263
- return createBox("pssh", concat(4, // 4 initial zeroed bytes
264
- hexToBytes(_systemId), itobe4(privateData.length), privateData));
269
+ function createPssh({ systemId, privateData }) {
270
+ const _systemId = systemId.replace(/-/g, "");
271
+ (0, assert_1.default)(_systemId.length === 32);
272
+ return (0, create_box_1.createBox)("pssh", (0, byte_parsing_1.concat)(4, // 4 initial zeroed bytes
273
+ (0, string_parsing_1.hexToBytes)(_systemId), (0, byte_parsing_1.itobe4)(privateData.length), privateData));
265
274
  }
266
275
  /**
267
276
  * Update ISOBMFF given to add a "pssh" box in the "moov" box for every content
@@ -274,18 +283,19 @@ function patchPssh(buf, psshList) {
274
283
  if (psshList == null || psshList.length === 0) {
275
284
  return buf;
276
285
  }
277
- var moovOffsets = getBoxOffsets(buf, 0x6D6F6F76 /* = "moov" */);
286
+ const moovOffsets = (0, get_box_1.getBoxOffsets)(buf, 0x6D6F6F76 /* = "moov" */);
278
287
  if (moovOffsets === null) {
279
288
  return buf;
280
289
  }
281
- var moov = buf.subarray(moovOffsets[0], moovOffsets[2]);
282
- var moovArr = [moov];
283
- for (var i = 0; i < psshList.length; i++) {
290
+ const moov = buf.subarray(moovOffsets[0], moovOffsets[2]);
291
+ const moovArr = [moov];
292
+ for (let i = 0; i < psshList.length; i++) {
284
293
  moovArr.push(createPssh(psshList[i]));
285
294
  }
286
- var newmoov = updateBoxLength(concat.apply(void 0, moovArr));
287
- return concat(buf.subarray(0, moovOffsets[0]), newmoov, buf.subarray(moovOffsets[2]));
295
+ const newmoov = updateBoxLength((0, byte_parsing_1.concat)(...moovArr));
296
+ return (0, byte_parsing_1.concat)(buf.subarray(0, moovOffsets[0]), newmoov, buf.subarray(moovOffsets[2]));
288
297
  }
298
+ exports.patchPssh = patchPssh;
289
299
  /**
290
300
  * Returns a new version of the given box with the size updated
291
301
  * so it reflects its actual size.
@@ -299,22 +309,22 @@ function patchPssh(buf, psshList) {
299
309
  * @returns {Uint8Array}
300
310
  */
301
311
  function updateBoxLength(buf) {
302
- var newLen = buf.length;
312
+ const newLen = buf.length;
303
313
  if (newLen < 4) {
304
314
  throw new Error("Cannot update box length: box too short");
305
315
  }
306
- var oldSize = be4toi(buf, 0);
316
+ const oldSize = (0, byte_parsing_1.be4toi)(buf, 0);
307
317
  if (oldSize === 0) {
308
- if (newLen > MAX_32_BIT_INT) {
309
- var newBox = new Uint8Array(newLen + 8);
310
- newBox.set(itobe4(1), 0);
318
+ if (newLen > constants_1.MAX_32_BIT_INT) {
319
+ const newBox = new Uint8Array(newLen + 8);
320
+ newBox.set((0, byte_parsing_1.itobe4)(1), 0);
311
321
  newBox.set(buf.subarray(4, 8), 4);
312
- newBox.set(itobe8(newLen + 8), 8);
322
+ newBox.set((0, byte_parsing_1.itobe8)(newLen + 8), 8);
313
323
  newBox.set(buf.subarray(8, newLen), 16);
314
324
  return newBox;
315
325
  }
316
326
  else {
317
- buf.set(itobe4(newLen), 0);
327
+ buf.set((0, byte_parsing_1.itobe4)(newLen), 0);
318
328
  return buf;
319
329
  }
320
330
  }
@@ -322,57 +332,64 @@ function updateBoxLength(buf) {
322
332
  if (newLen < 16) {
323
333
  throw new Error("Cannot update box length: box too short");
324
334
  }
325
- buf.set(itobe8(newLen), 8);
335
+ buf.set((0, byte_parsing_1.itobe8)(newLen), 8);
326
336
  return buf;
327
337
  }
328
- else if (newLen <= MAX_32_BIT_INT) {
329
- buf.set(itobe4(newLen), 0);
338
+ else if (newLen <= constants_1.MAX_32_BIT_INT) {
339
+ buf.set((0, byte_parsing_1.itobe4)(newLen), 0);
330
340
  return buf;
331
341
  }
332
342
  else {
333
- var newBox = new Uint8Array(newLen + 8);
334
- newBox.set(itobe4(1), 0);
343
+ const newBox = new Uint8Array(newLen + 8);
344
+ newBox.set((0, byte_parsing_1.itobe4)(1), 0);
335
345
  newBox.set(buf.subarray(4, 8), 4);
336
- newBox.set(itobe8(newLen + 8), 8);
346
+ newBox.set((0, byte_parsing_1.itobe8)(newLen + 8), 8);
337
347
  newBox.set(buf.subarray(8, newLen), 16);
338
348
  return newBox;
339
349
  }
340
350
  }
351
+ exports.updateBoxLength = updateBoxLength;
341
352
  /**
342
353
  * Parse EMSG boxes from ISOBMFF data.
343
354
  * @param {Uint8Array} buffer
344
355
  * @returns {Array.<Object> | undefined}
345
356
  */
346
357
  function parseEmsgBoxes(buffer) {
347
- var emsgs = [];
348
- var offset = 0;
358
+ const emsgs = [];
359
+ let offset = 0;
349
360
  while (offset < buffer.length) {
350
- var emsg = getEMSG(buffer, offset);
361
+ const emsg = (0, read_1.getEMSG)(buffer, offset);
351
362
  if (emsg === null) {
352
363
  break;
353
364
  }
354
- var length_1 = emsg.length;
355
- offset += length_1;
356
- var version = emsg[0];
365
+ const length = emsg.length;
366
+ offset += length;
367
+ const version = emsg[0];
357
368
  if (version !== 0) {
358
- log.warn("ISOBMFF: EMSG version " + version.toString() + " not supported.");
369
+ log_1.default.warn("ISOBMFF: EMSG version " + version.toString() + " not supported.");
359
370
  }
360
371
  else {
361
- var position = 4; // skip version + flags
362
- var _a = readNullTerminatedString(emsg, position), schemeIdEnd = _a.end, schemeIdUri = _a.string;
372
+ let position = 4; // skip version + flags
373
+ const { end: schemeIdEnd, string: schemeIdUri } = (0, string_parsing_1.readNullTerminatedString)(emsg, position);
363
374
  position = schemeIdEnd; // skip schemeIdUri
364
- var _b = readNullTerminatedString(emsg, position), valueEnd = _b.end, value = _b.string;
375
+ const { end: valueEnd, string: value } = (0, string_parsing_1.readNullTerminatedString)(emsg, position);
365
376
  position = valueEnd; // skip value
366
- var timescale = be4toi(emsg, position);
377
+ const timescale = (0, byte_parsing_1.be4toi)(emsg, position);
367
378
  position += 4; // skip timescale
368
- var presentationTimeDelta = be4toi(emsg, position);
379
+ const presentationTimeDelta = (0, byte_parsing_1.be4toi)(emsg, position);
369
380
  position += 4; // skip presentationTimeDelta
370
- var eventDuration = be4toi(emsg, position);
381
+ const eventDuration = (0, byte_parsing_1.be4toi)(emsg, position);
371
382
  position += 4; // skip eventDuration
372
- var id = be4toi(emsg, position);
383
+ const id = (0, byte_parsing_1.be4toi)(emsg, position);
373
384
  position += 4; // skip id
374
- var messageData = emsg.subarray(position, length_1);
375
- var emsgData = { schemeIdUri: schemeIdUri, value: value, timescale: timescale, presentationTimeDelta: presentationTimeDelta, eventDuration: eventDuration, id: id, messageData: messageData };
385
+ const messageData = emsg.subarray(position, length);
386
+ const emsgData = { schemeIdUri,
387
+ value,
388
+ timescale,
389
+ presentationTimeDelta,
390
+ eventDuration,
391
+ id,
392
+ messageData };
376
393
  emsgs.push(emsgData);
377
394
  }
378
395
  }
@@ -381,12 +398,13 @@ function parseEmsgBoxes(buffer) {
381
398
  }
382
399
  return emsgs;
383
400
  }
401
+ exports.parseEmsgBoxes = parseEmsgBoxes;
384
402
  /**
385
403
  * @param {Uint8Array} segment
386
404
  * @returns {Uint8Array|null}
387
405
  */
388
406
  function getKeyIdFromInitSegment(segment) {
389
- var stsd = getChildBox(segment, [0x6D6F6F76 /* moov */,
407
+ const stsd = (0, get_box_1.getChildBox)(segment, [0x6D6F6F76 /* moov */,
390
408
  0x7472616B /* trak */,
391
409
  0x6D646961 /* mdia */,
392
410
  0x6D696E66 /* minf */,
@@ -395,9 +413,9 @@ function getKeyIdFromInitSegment(segment) {
395
413
  if (stsd === null) {
396
414
  return null;
397
415
  }
398
- var stsdSubBoxes = stsd.subarray(8);
399
- var encBox = getBoxContent(stsdSubBoxes, 0x656E6376 /* encv */);
400
- var encContentOffset = 0;
416
+ const stsdSubBoxes = stsd.subarray(8);
417
+ let encBox = (0, get_box_1.getBoxContent)(stsdSubBoxes, 0x656E6376 /* encv */);
418
+ let encContentOffset = 0;
401
419
  if (encBox === null) {
402
420
  encContentOffset = 8 + // sample entry header
403
421
  8 + // reserved
@@ -406,7 +424,7 @@ function getKeyIdFromInitSegment(segment) {
406
424
  2 + // predefined
407
425
  2 + // reserved
408
426
  4; // samplerate
409
- encBox = getBoxContent(stsdSubBoxes, 0x656E6361 /* enca */);
427
+ encBox = (0, get_box_1.getBoxContent)(stsdSubBoxes, 0x656E6361 /* enca */);
410
428
  }
411
429
  else {
412
430
  encContentOffset = 8 + // sample entry header
@@ -423,7 +441,7 @@ function getKeyIdFromInitSegment(segment) {
423
441
  // There's no encryption data here
424
442
  return null;
425
443
  }
426
- var tenc = getChildBox(encBox.subarray(encContentOffset), [0x73696e66 /* sinf */,
444
+ const tenc = (0, get_box_1.getChildBox)(encBox.subarray(encContentOffset), [0x73696e66 /* sinf */,
427
445
  0x73636869 /* schi */,
428
446
  0x74656e63 /* tenc */]);
429
447
  if (tenc === null || tenc.byteLength < 24) {
@@ -431,4 +449,4 @@ function getKeyIdFromInitSegment(segment) {
431
449
  }
432
450
  return tenc.subarray(8, 24);
433
451
  }
434
- export { getKeyIdFromInitSegment, getMDHDTimescale, getPlayReadyKIDFromPrivateData, getTrackFragmentDecodeTime, getDurationFromTrun, getSegmentsFromSidx, patchPssh, updateBoxLength, parseEmsgBoxes, };
452
+ exports.getKeyIdFromInitSegment = getKeyIdFromInitSegment;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,4 +14,8 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- export { getSegmentsFromCues, getTimeCodeScale, } from "./utils";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.getTimeCodeScale = exports.getSegmentsFromCues = void 0;
19
+ var utils_1 = require("./utils");
20
+ Object.defineProperty(exports, "getSegmentsFromCues", { enumerable: true, get: function () { return utils_1.getSegmentsFromCues; } });
21
+ Object.defineProperty(exports, "getTimeCodeScale", { enumerable: true, get: function () { return utils_1.getTimeCodeScale; } });