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,53 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import addClassName from "./add_class_name";
17
- import addTextTrack from "./add_text_track";
18
- import { MediaSource_, } from "./browser_compatibility_types";
19
- import canPatchISOBMFFSegment from "./can_patch_isobmff";
20
- import canReuseMediaKeys from "./can_reuse_media_keys";
21
- import tryToChangeSourceBufferType from "./change_source_buffer_type";
22
- import clearElementSrc from "./clear_element_src";
23
- import enableAudioTrack from "./enable_audio_track";
24
- import * as events from "./event_listeners";
25
- import getStartDate from "./get_start_date";
26
- import isCodecSupported from "./is_codec_supported";
27
- import isNode from "./is_node";
28
- import isVTTCue from "./is_vtt_cue";
29
- import makeVTTCue from "./make_vtt_cue";
30
- import onHeightWidthChange from "./on_height_width_change";
31
- import patchWebkitSourceBuffer from "./patch_webkit_source_buffer";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.tryToChangeSourceBufferType = exports.shouldWaitForHaveEnoughData = exports.shouldWaitForDataBeforeLoaded = exports.shouldValidateMetadata = exports.shouldUnsetMediaKeys = exports.shouldRenewMediaKeySystemAccess = exports.shouldReloadMediaSourceOnDecipherabilityUpdate = exports.onHeightWidthChange = exports.MediaSource_ = exports.makeVTTCue = exports.isVTTCue = exports.isNode = exports.isCodecSupported = exports.getStartDate = exports.events = exports.enableAudioTrack = exports.clearElementSrc = exports.canReuseMediaKeys = exports.canPatchISOBMFFSegment = exports.addTextTrack = exports.addClassName = void 0;
19
+ const add_class_name_1 = require("./add_class_name");
20
+ exports.addClassName = add_class_name_1.default;
21
+ const add_text_track_1 = require("./add_text_track");
22
+ exports.addTextTrack = add_text_track_1.default;
23
+ const browser_compatibility_types_1 = require("./browser_compatibility_types");
24
+ Object.defineProperty(exports, "MediaSource_", { enumerable: true, get: function () { return browser_compatibility_types_1.MediaSource_; } });
25
+ const can_patch_isobmff_1 = require("./can_patch_isobmff");
26
+ exports.canPatchISOBMFFSegment = can_patch_isobmff_1.default;
27
+ const can_reuse_media_keys_1 = require("./can_reuse_media_keys");
28
+ exports.canReuseMediaKeys = can_reuse_media_keys_1.default;
29
+ const change_source_buffer_type_1 = require("./change_source_buffer_type");
30
+ exports.tryToChangeSourceBufferType = change_source_buffer_type_1.default;
31
+ const clear_element_src_1 = require("./clear_element_src");
32
+ exports.clearElementSrc = clear_element_src_1.default;
33
+ const enable_audio_track_1 = require("./enable_audio_track");
34
+ exports.enableAudioTrack = enable_audio_track_1.default;
35
+ const events = require("./event_listeners");
36
+ exports.events = events;
37
+ const get_start_date_1 = require("./get_start_date");
38
+ exports.getStartDate = get_start_date_1.default;
39
+ const is_codec_supported_1 = require("./is_codec_supported");
40
+ exports.isCodecSupported = is_codec_supported_1.default;
41
+ const is_node_1 = require("./is_node");
42
+ exports.isNode = is_node_1.default;
43
+ const is_vtt_cue_1 = require("./is_vtt_cue");
44
+ exports.isVTTCue = is_vtt_cue_1.default;
45
+ const make_vtt_cue_1 = require("./make_vtt_cue");
46
+ exports.makeVTTCue = make_vtt_cue_1.default;
47
+ const on_height_width_change_1 = require("./on_height_width_change");
48
+ exports.onHeightWidthChange = on_height_width_change_1.default;
49
+ const patch_webkit_source_buffer_1 = require("./patch_webkit_source_buffer");
32
50
  // eslint-disable-next-line max-len
33
- import shouldReloadMediaSourceOnDecipherabilityUpdate from "./should_reload_media_source_on_decipherability_update";
34
- import shouldRenewMediaKeySystemAccess from "./should_renew_media_key_system_access";
35
- import shouldUnsetMediaKeys from "./should_unset_media_keys";
36
- import shouldValidateMetadata from "./should_validate_metadata";
37
- import shouldWaitForDataBeforeLoaded from "./should_wait_for_data_before_loaded";
38
- import shouldWaitForHaveEnoughData from "./should_wait_for_have_enough_data";
51
+ const should_reload_media_source_on_decipherability_update_1 = require("./should_reload_media_source_on_decipherability_update");
52
+ exports.shouldReloadMediaSourceOnDecipherabilityUpdate = should_reload_media_source_on_decipherability_update_1.default;
53
+ const should_renew_media_key_system_access_1 = require("./should_renew_media_key_system_access");
54
+ exports.shouldRenewMediaKeySystemAccess = should_renew_media_key_system_access_1.default;
55
+ const should_unset_media_keys_1 = require("./should_unset_media_keys");
56
+ exports.shouldUnsetMediaKeys = should_unset_media_keys_1.default;
57
+ const should_validate_metadata_1 = require("./should_validate_metadata");
58
+ exports.shouldValidateMetadata = should_validate_metadata_1.default;
59
+ const should_wait_for_data_before_loaded_1 = require("./should_wait_for_data_before_loaded");
60
+ exports.shouldWaitForDataBeforeLoaded = should_wait_for_data_before_loaded_1.default;
61
+ const should_wait_for_have_enough_data_1 = require("./should_wait_for_have_enough_data");
62
+ exports.shouldWaitForHaveEnoughData = should_wait_for_have_enough_data_1.default;
39
63
  // TODO To remove. This seems to be the only side-effect done on import, which
40
64
  // we would prefer to disallow (both for the understandability of the code and
41
65
  // to better exploit tree shaking.
42
- patchWebkitSourceBuffer();
43
- export { addClassName, addTextTrack, canPatchISOBMFFSegment, canReuseMediaKeys, clearElementSrc, enableAudioTrack, events, getStartDate, isCodecSupported, isNode, isVTTCue, makeVTTCue, MediaSource_, onHeightWidthChange, shouldReloadMediaSourceOnDecipherabilityUpdate, shouldRenewMediaKeySystemAccess, shouldUnsetMediaKeys, shouldValidateMetadata, shouldWaitForDataBeforeLoaded, shouldWaitForHaveEnoughData, tryToChangeSourceBufferType, };
66
+ (0, patch_webkit_source_buffer_1.default)();
@@ -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 { MediaSource_ } from "./browser_compatibility_types";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const browser_compatibility_types_1 = require("./browser_compatibility_types");
17
19
  /**
18
20
  * Returns true if the given codec is supported by the browser's MediaSource
19
21
  * implementation.
@@ -23,14 +25,15 @@ import { MediaSource_ } from "./browser_compatibility_types";
23
25
  * codecs used within the file.
24
26
  * @returns {Boolean}
25
27
  */
26
- export default function isCodecSupported(mimeType) {
27
- if (MediaSource_ == null) {
28
+ function isCodecSupported(mimeType) {
29
+ if (browser_compatibility_types_1.MediaSource_ == null) {
28
30
  return false;
29
31
  }
30
32
  /* eslint-disable @typescript-eslint/unbound-method */
31
- if (typeof MediaSource_.isTypeSupported === "function") {
33
+ if (typeof browser_compatibility_types_1.MediaSource_.isTypeSupported === "function") {
32
34
  /* eslint-enable @typescript-eslint/unbound-method */
33
- return MediaSource_.isTypeSupported(mimeType);
35
+ return browser_compatibility_types_1.MediaSource_.isTypeSupported(mimeType);
34
36
  }
35
37
  return true;
36
38
  }
39
+ exports.default = isCodecSupported;
@@ -1,9 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
1
3
  /**
2
4
  * Some external tools set that boolean, in which case, we should enable DEBUG
3
5
  * logs and various tricks to make as much logs as available to those tools.
4
6
  *
5
7
  * @returns {boolean}
6
8
  */
7
- export default function isDebugModeEnabled() {
9
+ function isDebugModeEnabled() {
8
10
  return typeof __RX_PLAYER_DEBUG_MODE__ === "boolean" && __RX_PLAYER_DEBUG_MODE__;
9
11
  }
12
+ exports.default = isDebugModeEnabled;
@@ -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 isWorker from "./is_worker";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const is_worker_1 = require("./is_worker");
17
19
  /** `true` if we're currently in a Node.JS environment. */
18
- var isNode = typeof window === "undefined" && !isWorker;
19
- export default isNode;
20
+ const isNode = typeof window === "undefined" && !is_worker_1.default;
21
+ exports.default = isNode;
@@ -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 { isTizen } from "./browser_detection";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const browser_detection_1 = require("./browser_detection");
17
19
  /**
18
20
  * On some devices (right now only seen on Tizen), seeking through the
19
21
  * `currentTime` property can lead to the browser re-seeking once the
@@ -25,5 +27,5 @@ import { isTizen } from "./browser_detection";
25
27
  * This boolean is only `true` on the devices where this behavior has been
26
28
  * observed.
27
29
  */
28
- var isSeekingApproximate = isTizen;
29
- export default isSeekingApproximate;
30
+ const isSeekingApproximate = browser_detection_1.isTizen;
31
+ exports.default = isSeekingApproximate;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,14 +14,16 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import globalScope from "./global_scope";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const global_scope_1 = require("./global_scope");
17
19
  /**
18
20
  * Returns true if the given cue is an instance of a VTTCue.
19
21
  * @param {*} cue
20
22
  * @returns {boolean}
21
23
  */
22
- export default function isVTTCue(cue) {
24
+ function isVTTCue(cue) {
23
25
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
24
- return typeof globalScope.VTTCue === "function" && cue instanceof globalScope.VTTCue;
26
+ return typeof global_scope_1.default.VTTCue === "function" && cue instanceof global_scope_1.default.VTTCue;
25
27
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
26
28
  }
29
+ exports.default = isVTTCue;
@@ -1,5 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
1
3
  /**
2
4
  * `true` if the current code is running in a WebWorker.
3
5
  */
4
- export default typeof WorkerGlobalScope !== "undefined" &&
6
+ exports.default = typeof WorkerGlobalScope !== "undefined" &&
5
7
  self instanceof WorkerGlobalScope;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,10 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import log from "../log";
17
- import isNullOrUndefined from "../utils/is_null_or_undefined";
18
- import globalScope from "./global_scope";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const log_1 = require("../log");
19
+ const is_null_or_undefined_1 = require("../utils/is_null_or_undefined");
20
+ const global_scope_1 = require("./global_scope");
19
21
  /**
20
22
  * Creates a cue using the best platform-specific interface available.
21
23
  *
@@ -25,15 +27,15 @@ import globalScope from "./global_scope";
25
27
  * @returns {VTTCue|TextTrackCue|null} Text track cue or null if the parameters
26
28
  * were invalid.
27
29
  */
28
- export default function makeCue(startTime, endTime, payload) {
30
+ function makeCue(startTime, endTime, payload) {
29
31
  if (startTime >= endTime) {
30
32
  // IE/Edge will throw in this case.
31
33
  // See issue #501
32
- log.warn("Compat: Invalid cue times: ".concat(startTime, " - ").concat(endTime));
34
+ log_1.default.warn(`Compat: Invalid cue times: ${startTime} - ${endTime}`);
33
35
  return null;
34
36
  }
35
- if (isNullOrUndefined(globalScope.VTTCue)) {
36
- if (isNullOrUndefined(globalScope.TextTrackCue)) {
37
+ if ((0, is_null_or_undefined_1.default)(global_scope_1.default.VTTCue)) {
38
+ if ((0, is_null_or_undefined_1.default)(global_scope_1.default.TextTrackCue)) {
37
39
  throw new Error("VTT cues not supported in your target");
38
40
  }
39
41
  return new TextTrackCue(startTime, endTime, payload);
@@ -42,3 +44,4 @@ export default function makeCue(startTime, endTime, payload) {
42
44
  return new VTTCue(startTime, endTime, payload);
43
45
  }
44
46
  }
47
+ exports.default = makeCue;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,10 +14,11 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import log from "../log";
17
- import SharedReference from "../utils/reference";
18
- import globalScope from "./global_scope";
19
- var _ResizeObserver = globalScope.ResizeObserver;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const log_1 = require("../log");
19
+ const reference_1 = require("../utils/reference");
20
+ const global_scope_1 = require("./global_scope");
21
+ const _ResizeObserver = global_scope_1.default.ResizeObserver;
20
22
  /**
21
23
  * Emit the current height and width of the given `element` each time it
22
24
  * changes.
@@ -28,45 +30,46 @@ var _ResizeObserver = globalScope.ResizeObserver;
28
30
  * @param {number} interval
29
31
  * @returns {Object}
30
32
  */
31
- export default function onHeightWidthChange(element, interval, cancellationSignal) {
32
- var _a = element.getBoundingClientRect(), initHeight = _a.height, initWidth = _a.width;
33
- var ref = new SharedReference({
33
+ function onHeightWidthChange(element, interval, cancellationSignal) {
34
+ const { height: initHeight, width: initWidth } = element.getBoundingClientRect();
35
+ const ref = new reference_1.default({
34
36
  height: initHeight,
35
37
  width: initWidth,
36
38
  }, cancellationSignal);
37
- var lastHeight = initHeight;
38
- var lastWidth = initWidth;
39
+ let lastHeight = initHeight;
40
+ let lastWidth = initWidth;
39
41
  if (_ResizeObserver !== undefined) {
40
- var resizeObserver_1 = new _ResizeObserver(function (entries) {
42
+ const resizeObserver = new _ResizeObserver(entries => {
41
43
  if (entries.length === 0) {
42
- log.error("Compat: Resized but no observed element.");
44
+ log_1.default.error("Compat: Resized but no observed element.");
43
45
  return;
44
46
  }
45
- var entry = entries[0];
46
- var _a = entry.contentRect, height = _a.height, width = _a.width;
47
+ const entry = entries[0];
48
+ const { height, width } = entry.contentRect;
47
49
  if (height !== lastHeight || width !== lastWidth) {
48
50
  lastHeight = height;
49
51
  lastWidth = width;
50
- ref.setValue({ height: height, width: width });
52
+ ref.setValue({ height, width });
51
53
  }
52
54
  });
53
- resizeObserver_1.observe(element);
54
- cancellationSignal.register(function () {
55
- resizeObserver_1.disconnect();
55
+ resizeObserver.observe(element);
56
+ cancellationSignal.register(() => {
57
+ resizeObserver.disconnect();
56
58
  });
57
59
  }
58
60
  else {
59
- var intervalId_1 = setInterval(function () {
60
- var _a = element.getBoundingClientRect(), height = _a.height, width = _a.width;
61
+ const intervalId = setInterval(() => {
62
+ const { height, width } = element.getBoundingClientRect();
61
63
  if (height !== lastHeight || width !== lastWidth) {
62
64
  lastHeight = height;
63
65
  lastWidth = width;
64
- ref.setValue({ height: height, width: width });
66
+ ref.setValue({ height, width });
65
67
  }
66
68
  }, interval);
67
- cancellationSignal.register(function () {
68
- clearInterval(intervalId_1);
69
+ cancellationSignal.register(() => {
70
+ clearInterval(intervalId);
69
71
  });
70
72
  }
71
73
  return ref;
72
74
  }
75
+ exports.default = onHeightWidthChange;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,40 +14,40 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import nextTick from "next-tick";
17
- import EventEmitter from "../utils/event_emitter";
18
- import globalScope from "./global_scope";
19
- import isNode from "./is_node";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const next_tick_1 = require("next-tick");
19
+ const event_emitter_1 = require("../utils/event_emitter");
20
+ const global_scope_1 = require("./global_scope");
21
+ const is_node_1 = require("./is_node");
20
22
  // TODO This is the last ugly side-effect here.
21
23
  // Either remove it or find the best way to implement that
22
- export default function patchWebkitSourceBuffer() {
24
+ function patchWebkitSourceBuffer() {
23
25
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
24
26
  /* eslint-disable @typescript-eslint/no-unsafe-call */
25
27
  /* eslint-disable @typescript-eslint/no-explicit-any */
26
28
  // old WebKit SourceBuffer implementation,
27
29
  // where a synchronous append is used instead of appendBuffer
28
- if (!isNode && globalScope.WebKitSourceBuffer != null &&
29
- globalScope.WebKitSourceBuffer.prototype.addEventListener === undefined) {
30
+ if (!is_node_1.default && global_scope_1.default.WebKitSourceBuffer != null &&
31
+ global_scope_1.default.WebKitSourceBuffer.prototype.addEventListener === undefined) {
30
32
  /* eslint-enable @typescript-eslint/no-explicit-any */
31
33
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
32
- var sourceBufferWebkitRef = globalScope.WebKitSourceBuffer;
33
- var sourceBufferWebkitProto = sourceBufferWebkitRef.prototype;
34
- for (var fnName in EventEmitter.prototype) {
35
- if (EventEmitter.prototype.hasOwnProperty(fnName)) {
34
+ const sourceBufferWebkitRef = global_scope_1.default.WebKitSourceBuffer;
35
+ const sourceBufferWebkitProto = sourceBufferWebkitRef.prototype;
36
+ for (const fnName in event_emitter_1.default.prototype) {
37
+ if (event_emitter_1.default.prototype.hasOwnProperty(fnName)) {
36
38
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
- sourceBufferWebkitProto[fnName] = EventEmitter.prototype[fnName];
39
+ sourceBufferWebkitProto[fnName] = event_emitter_1.default.prototype[fnName];
38
40
  }
39
41
  }
40
42
  /* eslint-enable @typescript-eslint/no-unsafe-assignment */
41
43
  sourceBufferWebkitProto._listeners = [];
42
44
  sourceBufferWebkitProto._emitUpdate =
43
45
  function (eventName, val) {
44
- var _this = this;
45
- nextTick(function () {
46
+ (0, next_tick_1.default)(() => {
46
47
  /* eslint-disable no-invalid-this */
47
- _this.trigger(eventName, val);
48
- _this.updating = false;
49
- _this.trigger("updateend");
48
+ this.trigger(eventName, val);
49
+ this.updating = false;
50
+ this.trigger("updateend");
50
51
  /* eslint-enable no-invalid-this */
51
52
  });
52
53
  };
@@ -73,3 +74,4 @@ export default function patchWebkitSourceBuffer() {
73
74
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
74
75
  /* eslint-enable @typescript-eslint/no-unsafe-call */
75
76
  }
77
+ exports.default = patchWebkitSourceBuffer;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,8 +14,9 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import log from "../log";
17
- import { isFirefox } from "./browser_detection";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const log_1 = require("../log");
19
+ const browser_detection_1 = require("./browser_detection");
18
20
  /**
19
21
  * Return true if given cue is active.
20
22
  * @param {TextTrack} track
@@ -22,11 +24,11 @@ import { isFirefox } from "./browser_detection";
22
24
  * @returns {boolean}
23
25
  */
24
26
  function isActiveCue(track, cue) {
25
- var activeCues = track.activeCues;
27
+ const { activeCues } = track;
26
28
  if (activeCues === null) {
27
29
  return false;
28
30
  }
29
- for (var i = 0; i < activeCues.length; i++) {
31
+ for (let i = 0; i < activeCues.length; i++) {
30
32
  if (activeCues[i] === cue) {
31
33
  return true;
32
34
  }
@@ -38,18 +40,18 @@ function isActiveCue(track, cue) {
38
40
  * @param {TextTrack} track
39
41
  * @param {TextTrackCue} cue
40
42
  */
41
- export default function removeCue(track, cue) {
43
+ function removeCue(track, cue) {
42
44
  // On Firefox, cue doesn't dissapear when it is removed from track. Track
43
45
  // should be hidden, and shown again after removing cue, in order to
44
46
  // definitely clean the cue.
45
- if (isFirefox && isActiveCue(track, cue)) {
46
- var trackMode = track.mode;
47
+ if (browser_detection_1.isFirefox && isActiveCue(track, cue)) {
48
+ const trackMode = track.mode;
47
49
  track.mode = "hidden";
48
50
  try {
49
51
  track.removeCue(cue);
50
52
  }
51
53
  catch (err) {
52
- log.warn("Compat: Could not remove cue from text track.");
54
+ log_1.default.warn("Compat: Could not remove cue from text track.");
53
55
  }
54
56
  track.mode = trackMode;
55
57
  return;
@@ -58,6 +60,7 @@ export default function removeCue(track, cue) {
58
60
  track.removeCue(cue);
59
61
  }
60
62
  catch (err) {
61
- log.warn("Compat: Could not remove cue from text track.");
63
+ log_1.default.warn("Compat: Could not remove cue from text track.");
62
64
  }
63
65
  }
66
+ exports.default = removeCue;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,8 +14,9 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { isSafariDesktop, isSafariMobile, } from "./browser_detection";
17
- import { WebKitMediaKeysConstructor, } from "./eme/custom_media_keys/webkit_media_keys_constructor";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const browser_detection_1 = require("./browser_detection");
19
+ const webkit_media_keys_constructor_1 = require("./eme/custom_media_keys/webkit_media_keys_constructor");
18
20
  /**
19
21
  * On Safari 12.1, it seems that since fairplay CDM implementation
20
22
  * within the browser is not standard with EME w3c current spec, the
@@ -22,6 +24,7 @@ import { WebKitMediaKeysConstructor, } from "./eme/custom_media_keys/webkit_medi
22
24
  * if the drm (fairplay in most cases) is supported.
23
25
  * @returns {boolean}
24
26
  */
25
- export default function shouldFavourCustomSafariEME() {
26
- return (isSafariDesktop || isSafariMobile) && WebKitMediaKeysConstructor !== undefined;
27
+ function shouldFavourCustomSafariEME() {
28
+ return (browser_detection_1.isSafariDesktop || browser_detection_1.isSafariMobile) && webkit_media_keys_constructor_1.WebKitMediaKeysConstructor !== undefined;
27
29
  }
30
+ exports.default = shouldFavourCustomSafariEME;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,6 +14,7 @@
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
  /**
17
19
  * Returns true if we have to reload the MediaSource due to an update in the
18
20
  * decipherability status of some segments based on the current key sytem.
@@ -23,7 +25,8 @@
23
25
  * @param {string|undefined} currentKeySystem
24
26
  * @returns {Boolean}
25
27
  */
26
- export default function shouldReloadMediaSourceOnDecipherabilityUpdate(currentKeySystem) {
28
+ function shouldReloadMediaSourceOnDecipherabilityUpdate(currentKeySystem) {
27
29
  return currentKeySystem === undefined ||
28
30
  currentKeySystem.indexOf("widevine") < 0;
29
31
  }
32
+ exports.default = shouldReloadMediaSourceOnDecipherabilityUpdate;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,12 +14,14 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { isIE11 } from "./browser_detection";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const browser_detection_1 = require("./browser_detection");
17
19
  /**
18
20
  * Returns true if the current target require the MediaKeySystemAccess to be
19
21
  * renewed on each content.
20
22
  * @returns {Boolean}
21
23
  */
22
- export default function shouldRenewMediaKeySystemAccess() {
23
- return isIE11;
24
+ function shouldRenewMediaKeySystemAccess() {
25
+ return browser_detection_1.isIE11;
24
26
  }
27
+ exports.default = shouldRenewMediaKeySystemAccess;
@@ -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 { isIE11 } from "./browser_detection";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const browser_detection_1 = require("./browser_detection");
17
19
  /**
18
20
  * Returns true if the mediakeys associated to a media element should be
19
21
  * unset once the content is stopped.
20
22
  * Depends on the target.
21
23
  * @returns {Boolean}
22
24
  */
23
- export default function shouldUnsetMediaKeys() {
24
- return isIE11;
25
+ function shouldUnsetMediaKeys() {
26
+ return browser_detection_1.isIE11;
25
27
  }
28
+ exports.default = shouldUnsetMediaKeys;
@@ -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 { isSamsungBrowser } from "./browser_detection";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const browser_detection_1 = require("./browser_detection");
17
19
  /**
18
20
  * Returns true if the metadata received after a "loadedmetadata" event has
19
21
  * to be validated in the current browser (which means that we do not trust
20
22
  * this event on these browsers).
21
23
  * @returns {boolean}
22
24
  */
23
- export default function shouldValidateMetadata() {
24
- return isSamsungBrowser;
25
+ function shouldValidateMetadata() {
26
+ return browser_detection_1.isSamsungBrowser;
25
27
  }
28
+ exports.default = shouldValidateMetadata;
@@ -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 { isSafariMobile } from "./browser_detection";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const browser_detection_1 = require("./browser_detection");
17
19
  /**
18
20
  * On some browsers, the ready state might never go above `1` when autoplay is
19
21
  * blocked. On these cases, for now, we just advertise the content as "loaded".
@@ -22,9 +24,10 @@ import { isSafariMobile } from "./browser_detection";
22
24
  * @param {Boolean} isDirectfile
23
25
  * @returns {Boolean}
24
26
  */
25
- export default function shouldWaitForDataBeforeLoaded(isDirectfile, mustPlayInline) {
26
- if (isDirectfile && isSafariMobile) {
27
+ function shouldWaitForDataBeforeLoaded(isDirectfile, mustPlayInline) {
28
+ if (isDirectfile && browser_detection_1.isSafariMobile) {
27
29
  return mustPlayInline;
28
30
  }
29
31
  return true;
30
32
  }
33
+ exports.default = shouldWaitForDataBeforeLoaded;
@@ -1,4 +1,6 @@
1
- import { isPlayStation5 } from "./browser_detection";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const browser_detection_1 = require("./browser_detection");
2
4
  /**
3
5
  * An `HTMLMediaElement`'s readyState allows the browser to communicate whether
4
6
  * it can play a content reliably.
@@ -11,6 +13,7 @@ import { isPlayStation5 } from "./browser_detection";
11
13
  * `HAVE_ENOUGH_DATA` readyState before considering the content as loaded.
12
14
  * @returns {boolean}
13
15
  */
14
- export default function shouldWaitForHaveEnoughData() {
15
- return isPlayStation5;
16
+ function shouldWaitForHaveEnoughData() {
17
+ return browser_detection_1.isPlayStation5;
16
18
  }
19
+ exports.default = shouldWaitForHaveEnoughData;