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,31 +14,32 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import arrayIncludes from "../../../../utils/array_includes";
17
- import isNonEmptyString from "../../../../utils/is_non_empty_string";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const array_includes_1 = require("../../../../utils/array_includes");
19
+ const is_non_empty_string_1 = require("../../../../utils/is_non_empty_string");
18
20
  /**
19
21
  * Add the corresponding settings on the given cue.
20
22
  * /!\ Mutates the cue given.
21
23
  * @param {Object} settings - settings for the cue, as a key-value object.
22
24
  * @param {ICompatVTTCue|TextTrackCue} cue
23
25
  */
24
- export default function setSettingsOnCue(settings, cue) {
25
- if (isNonEmptyString(settings.vertical) &&
26
+ function setSettingsOnCue(settings, cue) {
27
+ if ((0, is_non_empty_string_1.default)(settings.vertical) &&
26
28
  (settings.vertical === "rl" || settings.vertical === "lr")) {
27
29
  cue.vertical = settings.vertical;
28
30
  }
29
- if (isNonEmptyString(settings.line)) {
31
+ if ((0, is_non_empty_string_1.default)(settings.line)) {
30
32
  // Capture groups:
31
33
  // 1 -> percentage position
32
34
  // 2 -> optional decimals from percentage position
33
35
  // 3 -> optional follow-up of the string indicating alignment value
34
36
  // 4 -> alignment value
35
- var percentagePosition = /^(\d+(\.\d+)?)%(,([a-z]+))?/;
36
- var percentageMatches = percentagePosition.exec(settings.line);
37
+ const percentagePosition = /^(\d+(\.\d+)?)%(,([a-z]+))?/;
38
+ const percentageMatches = percentagePosition.exec(settings.line);
37
39
  if (Array.isArray(percentageMatches)) {
38
40
  cue.line = Number(percentageMatches[1]);
39
41
  cue.snapToLines = false;
40
- if (arrayIncludes(["start", "center", "end"], percentageMatches[4])) {
42
+ if ((0, array_includes_1.default)(["start", "center", "end"], percentageMatches[4])) {
41
43
  cue.lineAlign = percentageMatches[4];
42
44
  }
43
45
  }
@@ -46,22 +48,22 @@ export default function setSettingsOnCue(settings, cue) {
46
48
  // 1 -> line number
47
49
  // 2 -> optional follow-up of the string indicating alignment value
48
50
  // 3 -> alignment value
49
- var linePosition = /^(-?\d+)(,([a-z]+))?/;
50
- var lineMatches = linePosition.exec(settings.line);
51
+ const linePosition = /^(-?\d+)(,([a-z]+))?/;
52
+ const lineMatches = linePosition.exec(settings.line);
51
53
  if (Array.isArray(lineMatches)) {
52
54
  cue.line = Number(lineMatches[1]);
53
55
  cue.snapToLines = true;
54
- if (arrayIncludes(["start", "center", "end"], lineMatches[3])) {
56
+ if ((0, array_includes_1.default)(["start", "center", "end"], lineMatches[3])) {
55
57
  cue.lineAlign = lineMatches[3];
56
58
  }
57
59
  }
58
60
  }
59
61
  }
60
- if (isNonEmptyString(settings.position)) {
61
- var positionRegex = /^([\d\.]+)%(?:,(line-left|line-right|center))?$/;
62
- var positionArr = positionRegex.exec(settings.position);
62
+ if ((0, is_non_empty_string_1.default)(settings.position)) {
63
+ const positionRegex = /^([\d\.]+)%(?:,(line-left|line-right|center))?$/;
64
+ const positionArr = positionRegex.exec(settings.position);
63
65
  if (Array.isArray(positionArr) && positionArr.length >= 2) {
64
- var position = parseInt(positionArr[1], 10);
66
+ const position = parseInt(positionArr[1], 10);
65
67
  if (!isNaN(position)) {
66
68
  cue.position = position;
67
69
  if (positionArr[2] !== undefined) {
@@ -70,11 +72,12 @@ export default function setSettingsOnCue(settings, cue) {
70
72
  }
71
73
  }
72
74
  }
73
- if (isNonEmptyString(settings.size)) {
75
+ if ((0, is_non_empty_string_1.default)(settings.size)) {
74
76
  cue.size = settings.size;
75
77
  }
76
78
  if (typeof settings.align === "string" &&
77
- arrayIncludes(["start", "center", "end", "left"], settings.align)) {
79
+ (0, array_includes_1.default)(["start", "center", "end", "left"], settings.align)) {
78
80
  cue.align = settings.align;
79
81
  }
80
82
  }
83
+ exports.default = setSettingsOnCue;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,13 +14,15 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { makeVTTCue, } from "../../../../compat/index";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const index_1 = require("../../../../compat/index");
17
19
  /**
18
20
  * @param {Object} cue Object
19
21
  * @returns {TextTrackCue|ICompatVTTCue|null}
20
22
  */
21
- export default function toNativeCue(cueObj) {
22
- var start = cueObj.start, end = cueObj.end, payload = cueObj.payload;
23
- var text = payload.join("\n");
24
- return makeVTTCue(start, end, text);
23
+ function toNativeCue(cueObj) {
24
+ const { start, end, payload } = cueObj;
25
+ const text = payload.join("\n");
26
+ return (0, index_1.makeVTTCue)(start, end, text);
25
27
  }
28
+ exports.default = toNativeCue;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,17 +14,18 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import parseTimestamp from "./parse_timestamp";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const parse_timestamp_1 = require("./parse_timestamp");
17
19
  /**
18
20
  * Parse the settings part of a cue, into key-value object.
19
21
  * @param {string} settingsString
20
22
  * @returns {Object}
21
23
  */
22
24
  function parseSettings(settingsString) {
23
- var splittedSettings = settingsString.split(/ |\t/);
25
+ const splittedSettings = settingsString.split(/ |\t/);
24
26
  return splittedSettings
25
- .reduce(function (acc, setting) {
26
- var splittedSetting = setting.split(":");
27
+ .reduce((acc, setting) => {
28
+ const splittedSetting = setting.split(":");
27
29
  if (splittedSetting.length === 2) {
28
30
  acc[splittedSetting[0]] = splittedSetting[1];
29
31
  }
@@ -45,18 +47,20 @@ function parseTimeAndSettings(timeString) {
45
47
  // 1 -> start timestamp
46
48
  // 2 -> end timestamp
47
49
  // 3 - settings
48
- var lineRegex = /^([\d:.]+)[ |\t]+-->[ |\t]+([\d:.]+)[ |\t]*(.*)$/;
49
- var matches = lineRegex.exec(timeString);
50
+ const lineRegex = /^([\d:.]+)[ |\t]+-->[ |\t]+([\d:.]+)[ |\t]*(.*)$/;
51
+ const matches = lineRegex.exec(timeString);
50
52
  if (matches === null) {
51
53
  return null;
52
54
  }
53
- var start = parseTimestamp(matches[1]);
54
- var end = parseTimestamp(matches[2]);
55
+ const start = (0, parse_timestamp_1.default)(matches[1]);
56
+ const end = (0, parse_timestamp_1.default)(matches[2]);
55
57
  if (start == null || end == null) {
56
58
  return null;
57
59
  }
58
- var settings = parseSettings(matches[3]);
59
- return { start: start, end: end, settings: settings };
60
+ const settings = parseSettings(matches[3]);
61
+ return { start,
62
+ end,
63
+ settings };
60
64
  }
61
65
  /**
62
66
  * Parse cue block into a cue object which contains:
@@ -68,11 +72,11 @@ function parseTimeAndSettings(timeString) {
68
72
  * @param {Number} timeOffset
69
73
  * @returns {Object}
70
74
  */
71
- export default function parseCueBlock(cueLines, timeOffset) {
72
- var timingRegexp = /-->/;
73
- var timeString;
74
- var payload;
75
- var header;
75
+ function parseCueBlock(cueLines, timeOffset) {
76
+ const timingRegexp = /-->/;
77
+ let timeString;
78
+ let payload;
79
+ let header;
76
80
  if (!timingRegexp.test(cueLines[0])) {
77
81
  if (!timingRegexp.test(cueLines[1])) {
78
82
  // not a cue
@@ -86,11 +90,15 @@ export default function parseCueBlock(cueLines, timeOffset) {
86
90
  timeString = cueLines[0];
87
91
  payload = cueLines.slice(1, cueLines.length);
88
92
  }
89
- var timeAndSettings = parseTimeAndSettings(timeString);
93
+ const timeAndSettings = parseTimeAndSettings(timeString);
90
94
  if (timeAndSettings === null) {
91
95
  return null;
92
96
  }
93
- var start = timeAndSettings.start, end = timeAndSettings.end, settings = timeAndSettings.settings;
97
+ const { start, end, settings } = timeAndSettings;
94
98
  return { start: start + timeOffset,
95
- end: end + timeOffset, settings: settings, payload: payload, header: header };
99
+ end: end + timeOffset,
100
+ settings,
101
+ payload,
102
+ header };
96
103
  }
104
+ exports.default = parseCueBlock;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,22 +14,24 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import isNonEmptyString from "../../../utils/is_non_empty_string";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const is_non_empty_string_1 = require("../../../utils/is_non_empty_string");
17
19
  /**
18
20
  * Parse a single webvtt timestamp into seconds
19
21
  * @param {string} timestampString
20
22
  * @returns {Number|undefined}
21
23
  */
22
- export default function parseTimestamp(timestampString) {
23
- var splittedTS = timestampString.split(":").reverse();
24
- if (isNonEmptyString(splittedTS[2]) || isNonEmptyString(splittedTS[1])) {
25
- var hours = isNonEmptyString(splittedTS[2]) ? parseInt(splittedTS[2], 10) :
24
+ function parseTimestamp(timestampString) {
25
+ const splittedTS = timestampString.split(":").reverse();
26
+ if ((0, is_non_empty_string_1.default)(splittedTS[2]) || (0, is_non_empty_string_1.default)(splittedTS[1])) {
27
+ const hours = (0, is_non_empty_string_1.default)(splittedTS[2]) ? parseInt(splittedTS[2], 10) :
26
28
  0;
27
- var minutes = parseInt(splittedTS[1], 10);
28
- var seconds = parseFloat(splittedTS[0].replace(",", "."));
29
+ const minutes = parseInt(splittedTS[1], 10);
30
+ const seconds = parseFloat(splittedTS[0].replace(",", "."));
29
31
  if (isNaN(hours) || isNaN(minutes) || isNaN(seconds)) {
30
32
  return undefined;
31
33
  }
32
34
  return hours * 60 * 60 + minutes * 60 + seconds;
33
35
  }
34
36
  }
37
+ exports.default = parseTimestamp;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,7 +14,9 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import isNonEmptyString from "../../../utils/is_non_empty_string";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.findEndOfCueBlock = exports.isStartOfStyleBlock = exports.isStartOfRegionBlock = exports.isStartOfNoteBlock = exports.isStartOfCueBlock = exports.getFirstLineAfterHeader = void 0;
19
+ const is_non_empty_string_1 = require("../../../utils/is_non_empty_string");
17
20
  /**
18
21
  * Returns first line after the WEBVTT header.
19
22
  * That is, the line after the first blank line after the first line!
@@ -21,7 +24,7 @@ import isNonEmptyString from "../../../utils/is_non_empty_string";
21
24
  * @returns {Number}
22
25
  */
23
26
  function getFirstLineAfterHeader(linified) {
24
- var i = 0;
27
+ let i = 0;
25
28
  while (i < linified.length) {
26
29
  if (linified[i] === "") {
27
30
  return i + 1;
@@ -30,6 +33,7 @@ function getFirstLineAfterHeader(linified) {
30
33
  }
31
34
  return i;
32
35
  }
36
+ exports.getFirstLineAfterHeader = getFirstLineAfterHeader;
33
37
  /**
34
38
  * Returns true if the given line looks like the beginning of a Style block.
35
39
  * @param {string} text
@@ -42,6 +46,7 @@ function isStartOfStyleBlock(lines, index) {
42
46
  // on the second line
43
47
  (lines[index + 1] === undefined || lines[index + 1].indexOf("-->") < 0);
44
48
  }
49
+ exports.isStartOfStyleBlock = isStartOfStyleBlock;
45
50
  /**
46
51
  * Returns true if the given line looks like the beginning of a comment block.
47
52
  * @param {string} text
@@ -54,6 +59,7 @@ function isStartOfNoteBlock(lines, index) {
54
59
  // on the second line
55
60
  (lines[index + 1] === undefined || lines[index + 1].indexOf("-->") < 0);
56
61
  }
62
+ exports.isStartOfNoteBlock = isStartOfNoteBlock;
57
63
  /**
58
64
  * Returns true if the given line looks like the beginning of a region block.
59
65
  * @param {string} text
@@ -66,6 +72,7 @@ function isStartOfRegionBlock(lines, index) {
66
72
  // on the second line
67
73
  (lines[index + 1] === undefined || lines[index + 1].indexOf("-->") < 0);
68
74
  }
75
+ exports.isStartOfRegionBlock = isStartOfRegionBlock;
69
76
  /**
70
77
  * Returns true if the line given looks like the beginning of a cue.
71
78
  * You should provide to this function only lines following "empty" lines.
@@ -80,7 +87,7 @@ function isStartOfCueBlock(lines, index) {
80
87
  // - start of a region
81
88
  // - start of a style
82
89
  // Anything else whose first or second line is a timestamp line is a cue.
83
- var firstLine = lines[index];
90
+ const firstLine = lines[index];
84
91
  if (firstLine === undefined ||
85
92
  firstLine === "" ||
86
93
  isStartOfStyleBlock(lines, index) ||
@@ -91,9 +98,10 @@ function isStartOfCueBlock(lines, index) {
91
98
  if (firstLine.indexOf("-->") >= 0) {
92
99
  return true;
93
100
  }
94
- var secondLine = lines[index + 1];
101
+ const secondLine = lines[index + 1];
95
102
  return secondLine !== undefined && secondLine.indexOf("-->") >= 0;
96
103
  }
104
+ exports.isStartOfCueBlock = isStartOfCueBlock;
97
105
  /**
98
106
  * Find end of current WebVTT cue block.
99
107
  * @param {Array<string>} linified
@@ -101,13 +109,13 @@ function isStartOfCueBlock(lines, index) {
101
109
  * @returns {number}
102
110
  */
103
111
  function findEndOfCueBlock(linified, startOfCueBlock) {
104
- var firstEmptyLineIndex = startOfCueBlock + 1;
112
+ let firstEmptyLineIndex = startOfCueBlock + 1;
105
113
  // continue incrementing i until either:
106
114
  // - empty line
107
115
  // - end
108
- while (isNonEmptyString(linified[firstEmptyLineIndex])) {
116
+ while ((0, is_non_empty_string_1.default)(linified[firstEmptyLineIndex])) {
109
117
  firstEmptyLineIndex++;
110
118
  }
111
119
  return firstEmptyLineIndex;
112
120
  }
113
- export { getFirstLineAfterHeader, isStartOfCueBlock, isStartOfNoteBlock, isStartOfRegionBlock, isStartOfStyleBlock, findEndOfCueBlock, };
121
+ exports.findEndOfCueBlock = findEndOfCueBlock;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,4 +14,4 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- export {};
17
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,10 +14,16 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import TextTrackRenderer from "./text_track_renderer";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.VTT_PARSER = exports.TTML_PARSER = exports.SRT_PARSER = exports.SAMI_PARSER = void 0;
19
+ const text_track_renderer_1 = require("./text_track_renderer");
17
20
  // -- exported parsers --
18
- export { HTML_SAMI_PARSER as SAMI_PARSER } from "../../features/list/html_sami_parser";
19
- export { HTML_SRT_PARSER as SRT_PARSER } from "../../features/list/html_srt_parser";
20
- export { HTML_TTML_PARSER as TTML_PARSER } from "../../features/list/html_ttml_parser";
21
- export { HTML_VTT_PARSER as VTT_PARSER } from "../../features/list/html_vtt_parser";
22
- export default TextTrackRenderer;
21
+ var html_sami_parser_1 = require("../../features/list/html_sami_parser");
22
+ Object.defineProperty(exports, "SAMI_PARSER", { enumerable: true, get: function () { return html_sami_parser_1.HTML_SAMI_PARSER; } });
23
+ var html_srt_parser_1 = require("../../features/list/html_srt_parser");
24
+ Object.defineProperty(exports, "SRT_PARSER", { enumerable: true, get: function () { return html_srt_parser_1.HTML_SRT_PARSER; } });
25
+ var html_ttml_parser_1 = require("../../features/list/html_ttml_parser");
26
+ Object.defineProperty(exports, "TTML_PARSER", { enumerable: true, get: function () { return html_ttml_parser_1.HTML_TTML_PARSER; } });
27
+ var html_vtt_parser_1 = require("../../features/list/html_vtt_parser");
28
+ Object.defineProperty(exports, "VTT_PARSER", { enumerable: true, get: function () { return html_vtt_parser_1.HTML_VTT_PARSER; } });
29
+ exports.default = text_track_renderer_1.default;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,16 +14,24 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
16
18
  /* eslint-disable max-len */
17
- import HTMLTextSegmentBuffer from "../../core/segment_buffers/implementations/text/html";
19
+ const html_1 = require("../../core/segment_buffers/implementations/text/html");
18
20
  /* eslint-enable max-len */
19
- import { addFeatures, } from "../../features";
21
+ const features_1 = require("../../features");
20
22
  /**
21
23
  * Display custom text tracks in the given `textTrackElement`, synchronized
22
24
  * with the given `videoElement`.
23
25
  * @class TextTrackRenderer
24
26
  */
25
- var TextTrackRenderer = /** @class */ (function () {
27
+ class TextTrackRenderer {
28
+ /**
29
+ * Add a given parser from the list of features.
30
+ * @param {Array.<Function>} parsersList
31
+ */
32
+ static addParsers(parsersList) {
33
+ (0, features_1.addFeatures)(parsersList);
34
+ }
26
35
  /**
27
36
  * @param {Object} opts
28
37
  * @param {HTMLMediaElement} opts.videoElement - The media element the text
@@ -30,50 +39,43 @@ var TextTrackRenderer = /** @class */ (function () {
30
39
  * @param {HTMLElement} opt.textTrackElement - The HTML element which will
31
40
  * contain the text tracks.
32
41
  */
33
- function TextTrackRenderer(_a) {
34
- var videoElement = _a.videoElement, textTrackElement = _a.textTrackElement;
35
- this._segmentBuffer = new HTMLTextSegmentBuffer(videoElement, textTrackElement);
42
+ constructor({ videoElement, textTrackElement }) {
43
+ this._segmentBuffer = new html_1.default(videoElement, textTrackElement);
36
44
  }
37
- /**
38
- * Add a given parser from the list of features.
39
- * @param {Array.<Function>} parsersList
40
- */
41
- TextTrackRenderer.addParsers = function (parsersList) {
42
- addFeatures(parsersList);
43
- };
44
45
  /**
45
46
  * Set the currently displayed text track.
46
47
  * Replace previous one if one was already set.
47
48
  * @param {Object} args
48
49
  */
49
- TextTrackRenderer.prototype.setTextTrack = function (args) {
50
+ setTextTrack(args) {
50
51
  this._segmentBuffer.removeBufferSync(0, Number.MAX_VALUE);
51
- var timestampOffset = typeof args.timeOffset === "number" ?
52
+ const timestampOffset = typeof args.timeOffset === "number" ?
52
53
  args.timeOffset :
53
54
  0;
54
55
  this._segmentBuffer.pushChunkSync({ inventoryInfos: null,
55
56
  data: { initSegmentUniqueId: null,
56
- codec: args.type, timestampOffset: timestampOffset, appendWindow: [0, Infinity],
57
+ codec: args.type,
58
+ timestampOffset,
59
+ appendWindow: [0, Infinity],
57
60
  chunk: { start: 0,
58
61
  end: Number.MAX_VALUE,
59
62
  data: args.data,
60
63
  language: args.language,
61
64
  type: args.type } } });
62
- };
65
+ }
63
66
  /**
64
67
  * Completely remove the current text track.
65
68
  */
66
- TextTrackRenderer.prototype.removeTextTrack = function () {
69
+ removeTextTrack() {
67
70
  this._segmentBuffer.removeBufferSync(0, Number.MAX_VALUE);
68
- };
71
+ }
69
72
  /**
70
73
  * Dispose of most ressources taken by the TextTrackRenderer.
71
74
  * /!\ The TextTrackRenderer will be unusable after this method has been
72
75
  * called.
73
76
  */
74
- TextTrackRenderer.prototype.dispose = function () {
77
+ dispose() {
75
78
  this._segmentBuffer.dispose();
76
- };
77
- return TextTrackRenderer;
78
- }());
79
- export default TextTrackRenderer;
79
+ }
80
+ }
81
+ exports.default = TextTrackRenderer;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,7 +14,8 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import * as StringUtils_1 from "./string_utils";
17
- export { StringUtils_1 as StringUtils };
18
- import TextTrackRenderer from "./TextTrackRenderer";
19
- export { TextTrackRenderer };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TextTrackRenderer = exports.StringUtils = void 0;
19
+ exports.StringUtils = require("./string_utils");
20
+ const TextTrackRenderer_1 = require("./TextTrackRenderer");
21
+ exports.TextTrackRenderer = TextTrackRenderer_1.default;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,4 +14,12 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- export { beUtf16ToStr, utf16LEToStr, strToBeUtf16, strToUtf16LE, strToUtf8, utf8ToStr, } from "../utils/string_parsing";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.utf8ToStr = exports.strToUtf8 = exports.strToUtf16LE = exports.strToBeUtf16 = exports.utf16LEToStr = exports.beUtf16ToStr = void 0;
19
+ var string_parsing_1 = require("../utils/string_parsing");
20
+ Object.defineProperty(exports, "beUtf16ToStr", { enumerable: true, get: function () { return string_parsing_1.beUtf16ToStr; } });
21
+ Object.defineProperty(exports, "utf16LEToStr", { enumerable: true, get: function () { return string_parsing_1.utf16LEToStr; } });
22
+ Object.defineProperty(exports, "strToBeUtf16", { enumerable: true, get: function () { return string_parsing_1.strToBeUtf16; } });
23
+ Object.defineProperty(exports, "strToUtf16LE", { enumerable: true, get: function () { return string_parsing_1.strToUtf16LE; } });
24
+ Object.defineProperty(exports, "strToUtf8", { enumerable: true, get: function () { return string_parsing_1.strToUtf8; } });
25
+ Object.defineProperty(exports, "utf8ToStr", { enumerable: true, get: function () { return string_parsing_1.utf8ToStr; } });
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,20 +14,10 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- var __assign = (this && this.__assign) || function () {
17
- __assign = Object.assign || function(t) {
18
- for (var s, i = 1, n = arguments.length; i < n; i++) {
19
- s = arguments[i];
20
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
- t[p] = s[p];
22
- }
23
- return t;
24
- };
25
- return __assign.apply(this, arguments);
26
- };
27
- import TaskCanceller from "../../utils/task_canceller";
28
- import checkISOBMFFIntegrity from "../utils/check_isobmff_integrity";
29
- import inferSegmentContainer from "../utils/infer_segment_container";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const task_canceller_1 = require("../../utils/task_canceller");
19
+ const check_isobmff_integrity_1 = require("../utils/check_isobmff_integrity");
20
+ const infer_segment_container_1 = require("../utils/infer_segment_container");
30
21
  /**
31
22
  * Add multiple checks on the response given by the `segmentLoader` in argument.
32
23
  * If the response appear to be corrupted, the returned Promise will reject with
@@ -34,13 +25,13 @@ import inferSegmentContainer from "../utils/infer_segment_container";
34
25
  * @param {Function} segmentLoader
35
26
  * @returns {Function}
36
27
  */
37
- export default function addSegmentIntegrityChecks(segmentLoader) {
38
- return function (url, context, loaderOptions, initialCancelSignal, callbacks) {
39
- return new Promise(function (resolve, reject) {
40
- var requestCanceller = new TaskCanceller();
41
- var unlinkCanceller = requestCanceller.linkToSignal(initialCancelSignal);
28
+ function addSegmentIntegrityChecks(segmentLoader) {
29
+ return (url, context, loaderOptions, initialCancelSignal, callbacks) => {
30
+ return new Promise((resolve, reject) => {
31
+ const requestCanceller = new task_canceller_1.default();
32
+ const unlinkCanceller = requestCanceller.linkToSignal(initialCancelSignal);
42
33
  requestCanceller.signal.register(reject);
43
- segmentLoader(url, context, loaderOptions, requestCanceller.signal, __assign(__assign({}, callbacks), { onNewChunk: function (data) {
34
+ segmentLoader(url, context, loaderOptions, requestCanceller.signal, Object.assign(Object.assign({}, callbacks), { onNewChunk(data) {
44
35
  try {
45
36
  trowOnIntegrityError(data);
46
37
  callbacks.onNewChunk(data);
@@ -54,7 +45,7 @@ export default function addSegmentIntegrityChecks(segmentLoader) {
54
45
  reject(err);
55
46
  }
56
47
  } }))
57
- .then(function (info) {
48
+ .then((info) => {
58
49
  cleanUpCancellers();
59
50
  if (requestCanceller.isUsed()) {
60
51
  return;
@@ -69,7 +60,7 @@ export default function addSegmentIntegrityChecks(segmentLoader) {
69
60
  }
70
61
  }
71
62
  resolve(info);
72
- }, function (err) {
63
+ }, (err) => {
73
64
  cleanUpCancellers();
74
65
  reject(err);
75
66
  });
@@ -84,10 +75,11 @@ export default function addSegmentIntegrityChecks(segmentLoader) {
84
75
  */
85
76
  function trowOnIntegrityError(data) {
86
77
  if (!(data instanceof ArrayBuffer) && !(data instanceof Uint8Array) ||
87
- inferSegmentContainer(context.type, context.mimeType) !== "mp4") {
78
+ (0, infer_segment_container_1.default)(context.type, context.mimeType) !== "mp4") {
88
79
  return;
89
80
  }
90
- checkISOBMFFIntegrity(new Uint8Array(data), context.segment.isInit);
81
+ (0, check_isobmff_integrity_1.default)(new Uint8Array(data), context.segment.isInit);
91
82
  }
92
83
  };
93
84
  }
85
+ exports.default = addSegmentIntegrityChecks;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,11 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import resolveURL from "../../utils/resolve_url";
17
- export default function constructSegmentUrl(wantedCdn, segment) {
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const resolve_url_1 = require("../../utils/resolve_url");
19
+ function constructSegmentUrl(wantedCdn, segment) {
18
20
  return wantedCdn === null ? null :
19
21
  segment.url === null ? wantedCdn.baseUrl :
20
- resolveURL(wantedCdn.baseUrl, segment.url);
22
+ (0, resolve_url_1.default)(wantedCdn.baseUrl, segment.url);
21
23
  }
24
+ exports.default = constructSegmentUrl;