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,27 +14,28 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import features from "../../features";
17
- import generateManifestLoader from "../utils/generate_manifest_loader";
18
- import generateManifestParser from "./manifest_parser";
19
- import generateSegmentLoader from "./segment_loader";
20
- import generateAudioVideoSegmentParser from "./segment_parser";
21
- import generateTextTrackLoader from "./text_loader";
22
- import generateTextTrackParser from "./text_parser";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const features_1 = require("../../features");
19
+ const generate_manifest_loader_1 = require("../utils/generate_manifest_loader");
20
+ const manifest_parser_1 = require("./manifest_parser");
21
+ const segment_loader_1 = require("./segment_loader");
22
+ const segment_parser_1 = require("./segment_parser");
23
+ const text_loader_1 = require("./text_loader");
24
+ const text_parser_1 = require("./text_parser");
23
25
  /**
24
26
  * Returns pipelines used for DASH streaming.
25
27
  * @param {Object} options
26
28
  * implementation. Used for each generated http request.
27
29
  * @returns {Object}
28
30
  */
29
- export default function (options) {
30
- var manifestLoader = generateManifestLoader({ customManifestLoader: options.manifestLoader }, mightUseDashWasmFeature() ? "text" :
31
+ function default_1(options) {
32
+ const manifestLoader = (0, generate_manifest_loader_1.default)({ customManifestLoader: options.manifestLoader }, mightUseDashWasmFeature() ? "text" :
31
33
  "arraybuffer");
32
- var manifestParser = generateManifestParser(options);
33
- var segmentLoader = generateSegmentLoader(options);
34
- var audioVideoSegmentParser = generateAudioVideoSegmentParser(options);
35
- var textTrackLoader = generateTextTrackLoader(options);
36
- var textTrackParser = generateTextTrackParser(options);
34
+ const manifestParser = (0, manifest_parser_1.default)(options);
35
+ const segmentLoader = (0, segment_loader_1.default)(options);
36
+ const audioVideoSegmentParser = (0, segment_parser_1.default)(options);
37
+ const textTrackLoader = (0, text_loader_1.default)(options);
38
+ const textTrackParser = (0, text_parser_1.default)(options);
37
39
  return { manifest: { loadManifest: manifestLoader,
38
40
  parseManifest: manifestParser },
39
41
  audio: { loadSegment: segmentLoader,
@@ -43,13 +45,14 @@ export default function (options) {
43
45
  text: { loadSegment: textTrackLoader,
44
46
  parseSegment: textTrackParser } };
45
47
  }
48
+ exports.default = default_1;
46
49
  /**
47
50
  * Returns true if the DASH-WASM parser is either initialized or being
48
51
  * initialized.
49
52
  * @returns {boolean}
50
53
  */
51
54
  function mightUseDashWasmFeature() {
52
- return features.dashParsers.wasm !== null &&
53
- (features.dashParsers.wasm.status === "initialized" ||
54
- features.dashParsers.wasm.status === "initializing");
55
+ return features_1.default.dashParsers.wasm !== null &&
56
+ (features_1.default.dashParsers.wasm.status === "initialized" ||
57
+ features_1.default.dashParsers.wasm.status === "initializing");
55
58
  }
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,15 +14,17 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { CustomLoaderError } from "../../errors";
17
- import request, { fetchIsSupported, } from "../../utils/request";
18
- import warnOnce from "../../utils/warn_once";
19
- import byteRange from "../utils/byte_range";
20
- import inferSegmentContainer from "../utils/infer_segment_container";
21
- import addSegmentIntegrityChecks from "./add_segment_integrity_checks_to_loader";
22
- import constructSegmentUrl from "./construct_segment_url";
23
- import initSegmentLoader from "./init_segment_loader";
24
- import lowLatencySegmentLoader from "./low_latency_segment_loader";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.regularSegmentLoader = void 0;
19
+ const errors_1 = require("../../errors");
20
+ const request_1 = require("../../utils/request");
21
+ const warn_once_1 = require("../../utils/warn_once");
22
+ const byte_range_1 = require("../utils/byte_range");
23
+ const infer_segment_container_1 = require("../utils/infer_segment_container");
24
+ const add_segment_integrity_checks_to_loader_1 = require("./add_segment_integrity_checks_to_loader");
25
+ const construct_segment_url_1 = require("./construct_segment_url");
26
+ const init_segment_loader_1 = require("./init_segment_loader");
27
+ const low_latency_segment_loader_1 = require("./low_latency_segment_loader");
25
28
  /**
26
29
  * Segment loader triggered if there was no custom-defined one in the API.
27
30
  * @param {string} url
@@ -32,37 +35,40 @@ import lowLatencySegmentLoader from "./low_latency_segment_loader";
32
35
  * @param {Object} cancelSignal
33
36
  * @returns {Promise}
34
37
  */
35
- export function regularSegmentLoader(url, context, lowLatencyMode, options, callbacks, cancelSignal) {
38
+ function regularSegmentLoader(url, context, lowLatencyMode, options, callbacks, cancelSignal) {
36
39
  if (context.segment.isInit) {
37
- return initSegmentLoader(url, context.segment, options, cancelSignal, callbacks);
40
+ return (0, init_segment_loader_1.default)(url, context.segment, options, cancelSignal, callbacks);
38
41
  }
39
- var containerType = inferSegmentContainer(context.type, context.mimeType);
42
+ const containerType = (0, infer_segment_container_1.default)(context.type, context.mimeType);
40
43
  if (lowLatencyMode && (containerType === "mp4" || containerType === undefined)) {
41
- if (fetchIsSupported()) {
42
- return lowLatencySegmentLoader(url, context, options, callbacks, cancelSignal);
44
+ if ((0, request_1.fetchIsSupported)()) {
45
+ return (0, low_latency_segment_loader_1.default)(url, context, options, callbacks, cancelSignal);
43
46
  }
44
47
  else {
45
- warnOnce("DASH: Your browser does not have the fetch API. You will have " +
48
+ (0, warn_once_1.default)("DASH: Your browser does not have the fetch API. You will have " +
46
49
  "a higher chance of rebuffering when playing close to the live edge");
47
50
  }
48
51
  }
49
- var segment = context.segment;
50
- return request({ url: url, responseType: "arraybuffer",
52
+ const { segment } = context;
53
+ return (0, request_1.default)({ url,
54
+ responseType: "arraybuffer",
51
55
  headers: segment.range !== undefined ?
52
- { Range: byteRange(segment.range) } :
56
+ { Range: (0, byte_range_1.default)(segment.range) } :
53
57
  undefined,
54
- timeout: options.timeout, cancelSignal: cancelSignal, onProgress: callbacks.onProgress })
55
- .then(function (data) { return ({ resultType: "segment-loaded",
56
- resultData: data }); });
58
+ timeout: options.timeout,
59
+ cancelSignal,
60
+ onProgress: callbacks.onProgress })
61
+ .then((data) => ({ resultType: "segment-loaded",
62
+ resultData: data }));
57
63
  }
64
+ exports.regularSegmentLoader = regularSegmentLoader;
58
65
  /**
59
66
  * @param {Object} config
60
67
  * @returns {Function}
61
68
  */
62
- export default function generateSegmentLoader(_a) {
63
- var lowLatencyMode = _a.lowLatencyMode, customSegmentLoader = _a.segmentLoader, checkMediaSegmentIntegrity = _a.checkMediaSegmentIntegrity;
69
+ function generateSegmentLoader({ lowLatencyMode, segmentLoader: customSegmentLoader, checkMediaSegmentIntegrity }) {
64
70
  return checkMediaSegmentIntegrity !== true ? segmentLoader :
65
- addSegmentIntegrityChecks(segmentLoader);
71
+ (0, add_segment_integrity_checks_to_loader_1.default)(segmentLoader);
66
72
  /**
67
73
  * @param {Object|null} wantedCdn
68
74
  * @param {Object} context
@@ -72,7 +78,7 @@ export default function generateSegmentLoader(_a) {
72
78
  * @returns {Promise.<Object>}
73
79
  */
74
80
  function segmentLoader(wantedCdn, context, options, cancelSignal, callbacks) {
75
- var url = constructSegmentUrl(wantedCdn, context.segment);
81
+ const url = (0, construct_segment_url_1.default)(wantedCdn, context.segment);
76
82
  if (url == null) {
77
83
  return Promise.resolve({ resultType: "segment-created",
78
84
  resultData: null });
@@ -80,14 +86,14 @@ export default function generateSegmentLoader(_a) {
80
86
  if (lowLatencyMode || customSegmentLoader === undefined) {
81
87
  return regularSegmentLoader(url, context, lowLatencyMode, options, callbacks, cancelSignal);
82
88
  }
83
- return new Promise(function (res, rej) {
89
+ return new Promise((res, rej) => {
84
90
  /** `true` when the custom segmentLoader should not be active anymore. */
85
- var hasFinished = false;
91
+ let hasFinished = false;
86
92
  /**
87
93
  * Callback triggered when the custom segment loader has a response.
88
94
  * @param {Object} _args
89
95
  */
90
- var resolve = function (_args) {
96
+ const resolve = (_args) => {
91
97
  if (hasFinished || cancelSignal.isCancelled()) {
92
98
  return;
93
99
  }
@@ -102,7 +108,7 @@ export default function generateSegmentLoader(_a) {
102
108
  * Callback triggered when the custom segment loader fails
103
109
  * @param {*} err - The corresponding error encountered
104
110
  */
105
- var reject = function (err) {
111
+ const reject = (err) => {
106
112
  var _a, _b;
107
113
  if (hasFinished || cancelSignal.isCancelled()) {
108
114
  return;
@@ -110,13 +116,13 @@ export default function generateSegmentLoader(_a) {
110
116
  hasFinished = true;
111
117
  cancelSignal.deregister(abortCustomLoader);
112
118
  // Format error and send it
113
- var castedErr = err;
114
- var message = (_a = castedErr === null || castedErr === void 0 ? void 0 : castedErr.message) !== null && _a !== void 0 ? _a : "Unknown error when fetching a DASH segment through a " +
119
+ const castedErr = err;
120
+ const message = (_a = castedErr === null || castedErr === void 0 ? void 0 : castedErr.message) !== null && _a !== void 0 ? _a : "Unknown error when fetching a DASH segment through a " +
115
121
  "custom segmentLoader.";
116
- var emittedErr = new CustomLoaderError(message, (_b = castedErr === null || castedErr === void 0 ? void 0 : castedErr.canRetry) !== null && _b !== void 0 ? _b : false, castedErr === null || castedErr === void 0 ? void 0 : castedErr.xhr);
122
+ const emittedErr = new errors_1.CustomLoaderError(message, (_b = castedErr === null || castedErr === void 0 ? void 0 : castedErr.canRetry) !== null && _b !== void 0 ? _b : false, castedErr === null || castedErr === void 0 ? void 0 : castedErr.xhr);
117
123
  rej(emittedErr);
118
124
  };
119
- var progress = function (_args) {
125
+ const progress = (_args) => {
120
126
  if (hasFinished || cancelSignal.isCancelled()) {
121
127
  return;
122
128
  }
@@ -128,7 +134,7 @@ export default function generateSegmentLoader(_a) {
128
134
  * Callback triggered when the custom segment loader wants to fallback to
129
135
  * the "regular" implementation
130
136
  */
131
- var fallback = function () {
137
+ const fallback = () => {
132
138
  if (hasFinished || cancelSignal.isCancelled()) {
133
139
  return;
134
140
  }
@@ -137,17 +143,20 @@ export default function generateSegmentLoader(_a) {
137
143
  regularSegmentLoader(url, context, lowLatencyMode, options, callbacks, cancelSignal)
138
144
  .then(res, rej);
139
145
  };
140
- var customCallbacks = { reject: reject, resolve: resolve, progress: progress, fallback: fallback };
141
- var byteRanges;
146
+ const customCallbacks = { reject, resolve, progress, fallback };
147
+ let byteRanges;
142
148
  if (context.segment.range !== undefined) {
143
149
  byteRanges = [context.segment.range];
144
150
  if (context.segment.indexRange !== undefined) {
145
151
  byteRanges.push(context.segment.indexRange);
146
152
  }
147
153
  }
148
- var args = { isInit: context.segment.isInit,
149
- timeout: options.timeout, byteRanges: byteRanges, trackType: context.type, url: url };
150
- var abort = customSegmentLoader(args, customCallbacks);
154
+ const args = { isInit: context.segment.isInit,
155
+ timeout: options.timeout,
156
+ byteRanges,
157
+ trackType: context.type,
158
+ url };
159
+ const abort = customSegmentLoader(args, customCallbacks);
151
160
  cancelSignal.register(abortCustomLoader);
152
161
  /**
153
162
  * The logic to run when the custom loader is cancelled while pending.
@@ -166,3 +175,4 @@ export default function generateSegmentLoader(_a) {
166
175
  });
167
176
  }
168
177
  }
178
+ exports.default = generateSegmentLoader;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,25 +14,25 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { getMDHDTimescale, getSegmentsFromSidx, takePSSHOut, } from "../../parsers/containers/isobmff";
17
- import { getKeyIdFromInitSegment, parseEmsgBoxes, } from "../../parsers/containers/isobmff/utils";
18
- import { getSegmentsFromCues, getTimeCodeScale, } from "../../parsers/containers/matroska";
19
- import isNullOrUndefined from "../../utils/is_null_or_undefined";
20
- import takeFirstSet from "../../utils/take_first_set";
21
- import getISOBMFFTimingInfos from "../utils/get_isobmff_timing_infos";
22
- import inferSegmentContainer from "../utils/infer_segment_container";
23
- import getEventsOutOfEMSGs from "./get_events_out_of_emsgs";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const isobmff_1 = require("../../parsers/containers/isobmff");
19
+ const utils_1 = require("../../parsers/containers/isobmff/utils");
20
+ const matroska_1 = require("../../parsers/containers/matroska");
21
+ const is_null_or_undefined_1 = require("../../utils/is_null_or_undefined");
22
+ const take_first_set_1 = require("../../utils/take_first_set");
23
+ const get_isobmff_timing_infos_1 = require("../utils/get_isobmff_timing_infos");
24
+ const infer_segment_container_1 = require("../utils/infer_segment_container");
25
+ const get_events_out_of_emsgs_1 = require("./get_events_out_of_emsgs");
24
26
  /**
25
27
  * @param {Object} config
26
28
  * @returns {Function}
27
29
  */
28
- export default function generateAudioVideoSegmentParser(_a) {
29
- var __priv_patchLastSegmentInSidx = _a.__priv_patchLastSegmentInSidx;
30
+ function generateAudioVideoSegmentParser({ __priv_patchLastSegmentInSidx }) {
30
31
  return function audioVideoSegmentParser(loadedSegment, context, initTimescale) {
31
32
  var _a;
32
- var segment = context.segment, periodStart = context.periodStart, periodEnd = context.periodEnd;
33
- var data = loadedSegment.data, isChunked = loadedSegment.isChunked;
34
- var appendWindow = [periodStart, periodEnd];
33
+ const { segment, periodStart, periodEnd } = context;
34
+ const { data, isChunked } = loadedSegment;
35
+ const appendWindow = [periodStart, periodEnd];
35
36
  if (data === null) {
36
37
  if (segment.isInit) {
37
38
  return { segmentType: "init",
@@ -45,55 +46,70 @@ export default function generateAudioVideoSegmentParser(_a) {
45
46
  chunkSize: 0,
46
47
  chunkInfos: null,
47
48
  chunkOffset: 0,
48
- protectionData: [], appendWindow: appendWindow };
49
+ protectionData: [],
50
+ appendWindow };
49
51
  }
50
- var chunkData = data instanceof Uint8Array ? data :
52
+ const chunkData = data instanceof Uint8Array ? data :
51
53
  new Uint8Array(data);
52
- var containerType = inferSegmentContainer(context.type, context.mimeType);
54
+ const containerType = (0, infer_segment_container_1.default)(context.type, context.mimeType);
53
55
  // TODO take a look to check if this is an ISOBMFF/webm?
54
- var seemsToBeMP4 = containerType === "mp4" || containerType === undefined;
55
- var protectionData = [];
56
+ const seemsToBeMP4 = containerType === "mp4" || containerType === undefined;
57
+ const protectionData = [];
56
58
  if (seemsToBeMP4) {
57
- var psshInfo = takePSSHOut(chunkData);
58
- var keyId = void 0;
59
+ const psshInfo = (0, isobmff_1.takePSSHOut)(chunkData);
60
+ let keyId;
59
61
  if (segment.isInit) {
60
- keyId = (_a = getKeyIdFromInitSegment(chunkData)) !== null && _a !== void 0 ? _a : undefined;
62
+ keyId = (_a = (0, utils_1.getKeyIdFromInitSegment)(chunkData)) !== null && _a !== void 0 ? _a : undefined;
61
63
  }
62
64
  if (psshInfo.length > 0 || keyId !== undefined) {
63
- protectionData.push({ initDataType: "cenc", keyId: keyId, initData: psshInfo });
65
+ protectionData.push({ initDataType: "cenc", keyId, initData: psshInfo });
64
66
  }
65
67
  }
66
68
  if (!segment.isInit) {
67
- var chunkInfos = seemsToBeMP4 ? getISOBMFFTimingInfos(chunkData, isChunked, segment, initTimescale) :
69
+ const chunkInfos = seemsToBeMP4 ? (0, get_isobmff_timing_infos_1.default)(chunkData, isChunked, segment, initTimescale) :
68
70
  null; // TODO extract time info from webm
69
- var chunkOffset = takeFirstSet(segment.timestampOffset, 0);
71
+ const chunkOffset = (0, take_first_set_1.default)(segment.timestampOffset, 0);
70
72
  if (seemsToBeMP4) {
71
- var parsedEMSGs = parseEmsgBoxes(chunkData);
73
+ const parsedEMSGs = (0, utils_1.parseEmsgBoxes)(chunkData);
72
74
  if (parsedEMSGs !== undefined) {
73
- var whitelistedEMSGs = parsedEMSGs.filter(function (evt) {
75
+ const whitelistedEMSGs = parsedEMSGs.filter((evt) => {
74
76
  if (segment.privateInfos === undefined ||
75
77
  segment.privateInfos.isEMSGWhitelisted === undefined) {
76
78
  return false;
77
79
  }
78
80
  return segment.privateInfos.isEMSGWhitelisted(evt);
79
81
  });
80
- var events = getEventsOutOfEMSGs(whitelistedEMSGs, context.manifestPublishTime);
82
+ const events = (0, get_events_out_of_emsgs_1.default)(whitelistedEMSGs, context.manifestPublishTime);
81
83
  if (events !== undefined) {
82
- var needsManifestRefresh = events.needsManifestRefresh, inbandEvents = events.inbandEvents;
83
- return { segmentType: "media", chunkData: chunkData, chunkSize: chunkData.length, chunkInfos: chunkInfos, chunkOffset: chunkOffset, appendWindow: appendWindow, inbandEvents: inbandEvents, protectionData: protectionData, needsManifestRefresh: needsManifestRefresh };
84
+ const { needsManifestRefresh, inbandEvents } = events;
85
+ return { segmentType: "media",
86
+ chunkData,
87
+ chunkSize: chunkData.length,
88
+ chunkInfos,
89
+ chunkOffset,
90
+ appendWindow,
91
+ inbandEvents,
92
+ protectionData,
93
+ needsManifestRefresh };
84
94
  }
85
95
  }
86
96
  }
87
- return { segmentType: "media", chunkData: chunkData, chunkSize: chunkData.length, chunkInfos: chunkInfos, chunkOffset: chunkOffset, protectionData: protectionData, appendWindow: appendWindow };
97
+ return { segmentType: "media",
98
+ chunkData,
99
+ chunkSize: chunkData.length,
100
+ chunkInfos,
101
+ chunkOffset,
102
+ protectionData,
103
+ appendWindow };
88
104
  }
89
105
  // we're handling an initialization segment
90
- var indexRange = segment.indexRange;
91
- var segmentList;
106
+ const { indexRange } = segment;
107
+ let segmentList;
92
108
  if (containerType === "webm") {
93
- segmentList = getSegmentsFromCues(chunkData, 0);
109
+ segmentList = (0, matroska_1.getSegmentsFromCues)(chunkData, 0);
94
110
  }
95
111
  else if (seemsToBeMP4) {
96
- segmentList = getSegmentsFromSidx(chunkData, Array.isArray(indexRange) ?
112
+ segmentList = (0, isobmff_1.getSegmentsFromSidx)(chunkData, Array.isArray(indexRange) ?
97
113
  indexRange[0] :
98
114
  0);
99
115
  // This is a very specific handling for streams we know have a very
@@ -106,20 +122,23 @@ export default function generateAudioVideoSegmentParser(_a) {
106
122
  if (__priv_patchLastSegmentInSidx === true &&
107
123
  segmentList !== null &&
108
124
  segmentList.length > 0) {
109
- var lastSegment = segmentList[segmentList.length - 1];
125
+ const lastSegment = segmentList[segmentList.length - 1];
110
126
  if (Array.isArray(lastSegment.range)) {
111
127
  lastSegment.range[1] = Infinity;
112
128
  }
113
129
  }
114
130
  }
115
- var timescale = seemsToBeMP4 ? getMDHDTimescale(chunkData) :
116
- containerType === "webm" ? getTimeCodeScale(chunkData, 0) :
131
+ const timescale = seemsToBeMP4 ? (0, isobmff_1.getMDHDTimescale)(chunkData) :
132
+ containerType === "webm" ? (0, matroska_1.getTimeCodeScale)(chunkData, 0) :
117
133
  undefined;
118
- var parsedTimescale = isNullOrUndefined(timescale) ? undefined :
134
+ const parsedTimescale = (0, is_null_or_undefined_1.default)(timescale) ? undefined :
119
135
  timescale;
120
136
  return { segmentType: "init",
121
137
  initializationData: chunkData,
122
- initializationDataSize: chunkData.length, protectionData: protectionData, initTimescale: parsedTimescale,
138
+ initializationDataSize: chunkData.length,
139
+ protectionData,
140
+ initTimescale: parsedTimescale,
123
141
  segmentList: segmentList !== null && segmentList !== void 0 ? segmentList : undefined };
124
142
  };
125
143
  }
144
+ exports.default = generateAudioVideoSegmentParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,23 +14,23 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import request, { fetchIsSupported, } from "../../utils/request";
17
- import warnOnce from "../../utils/warn_once";
18
- import byteRange from "../utils/byte_range";
19
- import inferSegmentContainer from "../utils/infer_segment_container";
20
- import addSegmentIntegrityChecks from "./add_segment_integrity_checks_to_loader";
21
- import constructSegmentUrl from "./construct_segment_url";
22
- import initSegmentLoader from "./init_segment_loader";
23
- import lowLatencySegmentLoader from "./low_latency_segment_loader";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const request_1 = require("../../utils/request");
19
+ const warn_once_1 = require("../../utils/warn_once");
20
+ const byte_range_1 = require("../utils/byte_range");
21
+ const infer_segment_container_1 = require("../utils/infer_segment_container");
22
+ const add_segment_integrity_checks_to_loader_1 = require("./add_segment_integrity_checks_to_loader");
23
+ const construct_segment_url_1 = require("./construct_segment_url");
24
+ const init_segment_loader_1 = require("./init_segment_loader");
25
+ const low_latency_segment_loader_1 = require("./low_latency_segment_loader");
24
26
  /**
25
27
  * Perform requests for "text" segments
26
28
  * @param {boolean} lowLatencyMode
27
29
  * @returns {Function}
28
30
  */
29
- export default function generateTextTrackLoader(_a) {
30
- var lowLatencyMode = _a.lowLatencyMode, checkMediaSegmentIntegrity = _a.checkMediaSegmentIntegrity;
31
+ function generateTextTrackLoader({ lowLatencyMode, checkMediaSegmentIntegrity }) {
31
32
  return checkMediaSegmentIntegrity !== true ? textTrackLoader :
32
- addSegmentIntegrityChecks(textTrackLoader);
33
+ (0, add_segment_integrity_checks_to_loader_1.default)(textTrackLoader);
33
34
  /**
34
35
  * @param {Object|null} wantedCdn
35
36
  * @param {Object} context
@@ -39,44 +40,49 @@ export default function generateTextTrackLoader(_a) {
39
40
  * @returns {Promise}
40
41
  */
41
42
  function textTrackLoader(wantedCdn, context, options, cancelSignal, callbacks) {
42
- var segment = context.segment;
43
- var range = segment.range;
44
- var url = constructSegmentUrl(wantedCdn, segment);
43
+ const { segment } = context;
44
+ const { range } = segment;
45
+ const url = (0, construct_segment_url_1.default)(wantedCdn, segment);
45
46
  if (url === null) {
46
47
  return Promise.resolve({ resultType: "segment-created",
47
48
  resultData: null });
48
49
  }
49
50
  if (segment.isInit) {
50
- return initSegmentLoader(url, segment, options, cancelSignal, callbacks);
51
+ return (0, init_segment_loader_1.default)(url, segment, options, cancelSignal, callbacks);
51
52
  }
52
- var containerType = inferSegmentContainer(context.type, context.mimeType);
53
- var seemsToBeMP4 = containerType === "mp4" || containerType === undefined;
53
+ const containerType = (0, infer_segment_container_1.default)(context.type, context.mimeType);
54
+ const seemsToBeMP4 = containerType === "mp4" || containerType === undefined;
54
55
  if (lowLatencyMode && seemsToBeMP4) {
55
- if (fetchIsSupported()) {
56
- return lowLatencySegmentLoader(url, context, options, callbacks, cancelSignal);
56
+ if ((0, request_1.fetchIsSupported)()) {
57
+ return (0, low_latency_segment_loader_1.default)(url, context, options, callbacks, cancelSignal);
57
58
  }
58
59
  else {
59
- warnOnce("DASH: Your browser does not have the fetch API. You will have " +
60
+ (0, warn_once_1.default)("DASH: Your browser does not have the fetch API. You will have " +
60
61
  "a higher chance of rebuffering when playing close to the live edge");
61
62
  }
62
63
  }
63
64
  if (seemsToBeMP4) {
64
- return request({ url: url, responseType: "arraybuffer",
65
+ return (0, request_1.default)({ url,
66
+ responseType: "arraybuffer",
65
67
  headers: Array.isArray(range) ?
66
- { Range: byteRange(range) } :
68
+ { Range: (0, byte_range_1.default)(range) } :
67
69
  null,
68
70
  timeout: options.timeout,
69
- onProgress: callbacks.onProgress, cancelSignal: cancelSignal })
70
- .then(function (data) { return ({ resultType: "segment-loaded",
71
- resultData: data }); });
71
+ onProgress: callbacks.onProgress,
72
+ cancelSignal })
73
+ .then((data) => ({ resultType: "segment-loaded",
74
+ resultData: data }));
72
75
  }
73
- return request({ url: url, responseType: "text",
76
+ return (0, request_1.default)({ url,
77
+ responseType: "text",
74
78
  headers: Array.isArray(range) ?
75
- { Range: byteRange(range) } :
79
+ { Range: (0, byte_range_1.default)(range) } :
76
80
  null,
77
81
  timeout: options.timeout,
78
- onProgress: callbacks.onProgress, cancelSignal: cancelSignal })
79
- .then(function (data) { return ({ resultType: "segment-loaded",
80
- resultData: data }); });
82
+ onProgress: callbacks.onProgress,
83
+ cancelSignal })
84
+ .then((data) => ({ resultType: "segment-loaded",
85
+ resultData: data }));
81
86
  }
82
87
  }
88
+ exports.default = generateTextTrackLoader;