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,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 config from "../config";
17
- import log from "../log";
18
- import isNonEmptyString from "../utils/is_non_empty_string";
19
- import isNullOrUndefined from "../utils/is_null_or_undefined";
20
- import noop from "../utils/noop";
21
- import SharedReference from "../utils/reference";
22
- import globalScope from "./global_scope";
23
- var BROWSER_PREFIXES = ["", "webkit", "moz", "ms"];
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.onTextTrackRemoved = exports.onTextTrackAdded = exports.onSourceBufferUpdate = exports.onTimeUpdate = exports.onSourceOpen = exports.onSourceEnded = exports.onSourceClose = exports.onSeeking = exports.onSeeked = exports.onRemoveSourceBuffers = exports.onLoadedMetadata = exports.onKeyStatusesChange = exports.onKeyMessage = exports.onKeyError = exports.onKeyAdded = exports.onEnded = exports.getScreenResolutionRef = exports.getElementResolutionRef = exports.getVideoVisibilityRef = exports.getPictureOnPictureStateRef = exports.createCompatibleEventListener = exports.addEventListener = void 0;
19
+ const config_1 = require("../config");
20
+ const log_1 = require("../log");
21
+ const is_non_empty_string_1 = require("../utils/is_non_empty_string");
22
+ const is_null_or_undefined_1 = require("../utils/is_null_or_undefined");
23
+ const noop_1 = require("../utils/noop");
24
+ const reference_1 = require("../utils/reference");
25
+ const global_scope_1 = require("./global_scope");
26
+ const BROWSER_PREFIXES = ["", "webkit", "moz", "ms"];
24
27
  /**
25
28
  * Find the first supported event from the list given.
26
29
  * @param {HTMLElement} element
@@ -28,8 +31,8 @@ var BROWSER_PREFIXES = ["", "webkit", "moz", "ms"];
28
31
  * @returns {Boolean}
29
32
  */
30
33
  function isEventSupported(element, eventNameSuffix) {
31
- var clone = document.createElement(element.tagName);
32
- var eventName = "on" + eventNameSuffix;
34
+ const clone = document.createElement(element.tagName);
35
+ const eventName = "on" + eventNameSuffix;
33
36
  if (eventName in clone) {
34
37
  return true;
35
38
  }
@@ -46,7 +49,7 @@ function isEventSupported(element, eventNameSuffix) {
46
49
  */
47
50
  function findSupportedEvent(element, eventNames) {
48
51
  return eventNames
49
- .filter(function (name) { return isEventSupported(element, name); })[0];
52
+ .filter((name) => isEventSupported(element, name))[0];
50
53
  }
51
54
  /**
52
55
  * @param {Array.<string>} eventNames
@@ -54,11 +57,9 @@ function findSupportedEvent(element, eventNames) {
54
57
  * @returns {Array.<string>}
55
58
  */
56
59
  function eventPrefixed(eventNames, prefixes) {
57
- return eventNames.reduce(function (parent, name) {
58
- return parent.concat((prefixes === undefined ? BROWSER_PREFIXES :
59
- prefixes)
60
- .map(function (p) { return p + name; }));
61
- }, []);
60
+ return eventNames.reduce((parent, name) => parent.concat((prefixes === undefined ? BROWSER_PREFIXES :
61
+ prefixes)
62
+ .map((p) => p + name)), []);
62
63
  }
63
64
  /**
64
65
  * Returns a function allowing to add event listeners for particular event(s)
@@ -72,9 +73,9 @@ function eventPrefixed(eventNames, prefixes) {
72
73
  * be triggered when that event is emitted on a given event target.
73
74
  */
74
75
  function createCompatibleEventListener(eventNames, prefixes) {
75
- var mem;
76
- var prefixedEvents = eventPrefixed(eventNames, prefixes);
77
- return function (element, listener, cancelSignal) {
76
+ let mem;
77
+ const prefixedEvents = eventPrefixed(eventNames, prefixes);
78
+ return (element, listener, cancelSignal) => {
78
79
  if (cancelSignal.isCancelled()) {
79
80
  return;
80
81
  }
@@ -84,9 +85,9 @@ function createCompatibleEventListener(eventNames, prefixes) {
84
85
  if (typeof mem === "undefined") {
85
86
  mem = findSupportedEvent(element, prefixedEvents);
86
87
  }
87
- if (isNonEmptyString(mem)) {
88
+ if ((0, is_non_empty_string_1.default)(mem)) {
88
89
  element.addEventListener(mem, listener);
89
- cancelSignal.register(function () {
90
+ cancelSignal.register(() => {
90
91
  if (mem !== undefined) {
91
92
  element.removeEventListener(mem, listener);
92
93
  }
@@ -94,15 +95,15 @@ function createCompatibleEventListener(eventNames, prefixes) {
94
95
  }
95
96
  else {
96
97
  if (0 /* __ENVIRONMENT__.CURRENT_ENV */ === 1 /* __ENVIRONMENT__.DEV */) {
97
- log.warn("compat: element ".concat(element.tagName) +
98
+ log_1.default.warn(`compat: element ${element.tagName}` +
98
99
  " does not support any of these events: " +
99
100
  prefixedEvents.join(", "));
100
101
  }
101
102
  return;
102
103
  }
103
104
  }
104
- prefixedEvents.forEach(function (eventName) {
105
- var hasSetOnFn = false;
105
+ prefixedEvents.forEach(eventName => {
106
+ let hasSetOnFn = false;
106
107
  if (typeof element.addEventListener === "function") {
107
108
  element.addEventListener(eventName, listener);
108
109
  }
@@ -113,7 +114,7 @@ function createCompatibleEventListener(eventNames, prefixes) {
113
114
  element["on" + eventName] = listener;
114
115
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
115
116
  }
116
- cancelSignal.register(function () {
117
+ cancelSignal.register(() => {
117
118
  if (typeof element.removeEventListener === "function") {
118
119
  element.removeEventListener(eventName, listener);
119
120
  }
@@ -127,6 +128,7 @@ function createCompatibleEventListener(eventNames, prefixes) {
127
128
  });
128
129
  };
129
130
  }
131
+ exports.createCompatibleEventListener = createCompatibleEventListener;
130
132
  /**
131
133
  * Returns a reference:
132
134
  * - set to `true` when the document is visible
@@ -136,28 +138,28 @@ function createCompatibleEventListener(eventNames, prefixes) {
136
138
  * @returns {Object}
137
139
  */
138
140
  function getDocumentVisibilityRef(stopListening) {
139
- var prefix;
140
- var doc = document;
141
- if (doc.hidden != null) {
141
+ let prefix;
142
+ const doc = document;
143
+ if (!(0, is_null_or_undefined_1.default)(doc.hidden)) {
142
144
  prefix = "";
143
145
  }
144
- else if (doc.mozHidden != null) {
146
+ else if (!(0, is_null_or_undefined_1.default)(doc.mozHidden)) {
145
147
  prefix = "moz";
146
148
  }
147
- else if (doc.msHidden != null) {
149
+ else if (!(0, is_null_or_undefined_1.default)(doc.msHidden)) {
148
150
  prefix = "ms";
149
151
  }
150
- else if (doc.webkitHidden != null) {
152
+ else if (!(0, is_null_or_undefined_1.default)(doc.webkitHidden)) {
151
153
  prefix = "webkit";
152
154
  }
153
- var hidden = isNonEmptyString(prefix) ? prefix + "Hidden" :
155
+ const hidden = (0, is_non_empty_string_1.default)(prefix) ? prefix + "Hidden" :
154
156
  "hidden";
155
- var visibilityChangeEvent = isNonEmptyString(prefix) ? prefix + "visibilitychange" :
157
+ const visibilityChangeEvent = (0, is_non_empty_string_1.default)(prefix) ? prefix + "visibilitychange" :
156
158
  "visibilitychange";
157
- var isHidden = document[hidden];
158
- var ref = new SharedReference(!isHidden, stopListening);
159
- addEventListener(document, visibilityChangeEvent, function () {
160
- var isVisible = !(document[hidden]);
159
+ const isHidden = document[hidden];
160
+ const ref = new reference_1.default(!isHidden, stopListening);
161
+ addEventListener(document, visibilityChangeEvent, () => {
162
+ const isVisible = !(document[hidden]);
161
163
  ref.setValueIfChanged(isVisible);
162
164
  }, stopListening);
163
165
  return ref;
@@ -169,35 +171,36 @@ function getDocumentVisibilityRef(stopListening) {
169
171
  * @returns {Object}
170
172
  */
171
173
  function getPictureOnPictureStateRef(elt, stopListening) {
172
- var mediaElement = elt;
174
+ const mediaElement = elt;
173
175
  if (mediaElement.webkitSupportsPresentationMode === true &&
174
176
  typeof mediaElement.webkitSetPresentationMode === "function") {
175
- var isWebKitPIPEnabled = mediaElement.webkitPresentationMode === "picture-in-picture";
176
- var ref_1 = new SharedReference({
177
+ const isWebKitPIPEnabled = mediaElement.webkitPresentationMode === "picture-in-picture";
178
+ const ref = new reference_1.default({
177
179
  isEnabled: isWebKitPIPEnabled,
178
180
  pipWindow: null,
179
181
  }, stopListening);
180
- addEventListener(mediaElement, "webkitpresentationmodechanged", function () {
181
- var isEnabled = mediaElement.webkitPresentationMode === "picture-in-picture";
182
- ref_1.setValue({ isEnabled: isEnabled, pipWindow: null });
182
+ addEventListener(mediaElement, "webkitpresentationmodechanged", () => {
183
+ const isEnabled = mediaElement.webkitPresentationMode === "picture-in-picture";
184
+ ref.setValue({ isEnabled, pipWindow: null });
183
185
  }, stopListening);
184
- return ref_1;
186
+ return ref;
185
187
  }
186
- var isPIPEnabled = (document.pictureInPictureElement === mediaElement);
187
- var ref = new SharedReference({ isEnabled: isPIPEnabled,
188
+ const isPIPEnabled = (document.pictureInPictureElement === mediaElement);
189
+ const ref = new reference_1.default({ isEnabled: isPIPEnabled,
188
190
  pipWindow: null }, stopListening);
189
- addEventListener(mediaElement, "enterpictureinpicture", function (evt) {
191
+ addEventListener(mediaElement, "enterpictureinpicture", (evt) => {
190
192
  var _a;
191
193
  ref.setValue({
192
194
  isEnabled: true,
193
195
  pipWindow: (_a = evt.pictureInPictureWindow) !== null && _a !== void 0 ? _a : null,
194
196
  });
195
197
  }, stopListening);
196
- addEventListener(mediaElement, "leavepictureinpicture", function () {
198
+ addEventListener(mediaElement, "leavepictureinpicture", () => {
197
199
  ref.setValue({ isEnabled: false, pipWindow: null });
198
200
  }, stopListening);
199
201
  return ref;
200
202
  }
203
+ exports.getPictureOnPictureStateRef = getPictureOnPictureStateRef;
201
204
  /**
202
205
  * Returns a reference:
203
206
  * - Set to `true` when video is considered as visible (the page is visible
@@ -209,10 +212,10 @@ function getPictureOnPictureStateRef(elt, stopListening) {
209
212
  * @returns {Object}
210
213
  */
211
214
  function getVideoVisibilityRef(pipStatus, stopListening) {
212
- var isDocVisibleRef = getDocumentVisibilityRef(stopListening);
213
- var currentTimeout;
214
- var ref = new SharedReference(true, stopListening);
215
- stopListening.register(function () {
215
+ const isDocVisibleRef = getDocumentVisibilityRef(stopListening);
216
+ let currentTimeout;
217
+ const ref = new reference_1.default(true, stopListening);
218
+ stopListening.register(() => {
216
219
  clearTimeout(currentTimeout);
217
220
  currentTimeout = undefined;
218
221
  });
@@ -227,13 +230,14 @@ function getVideoVisibilityRef(pipStatus, stopListening) {
227
230
  ref.setValueIfChanged(true);
228
231
  }
229
232
  else {
230
- var INACTIVITY_DELAY = config.getCurrent().INACTIVITY_DELAY;
231
- currentTimeout = setTimeout(function () {
233
+ const { INACTIVITY_DELAY } = config_1.default.getCurrent();
234
+ currentTimeout = setTimeout(() => {
232
235
  ref.setValueIfChanged(false);
233
236
  }, INACTIVITY_DELAY);
234
237
  }
235
238
  }
236
239
  }
240
+ exports.getVideoVisibilityRef = getVideoVisibilityRef;
237
241
  /**
238
242
  * Get video width and height from the screen dimensions.
239
243
  * @param {Object} stopListening
@@ -241,26 +245,29 @@ function getVideoVisibilityRef(pipStatus, stopListening) {
241
245
  */
242
246
  function getScreenResolutionRef(stopListening) {
243
247
  var _a, _b;
244
- var pixelRatio = globalScope.devicePixelRatio == null ||
245
- globalScope.devicePixelRatio === 0 ? 1 :
246
- globalScope.devicePixelRatio;
247
- var ref = new SharedReference({ width: (_a = globalScope.screen) === null || _a === void 0 ? void 0 : _a.width,
248
- height: (_b = globalScope.screen) === null || _b === void 0 ? void 0 : _b.height, pixelRatio: pixelRatio }, stopListening);
249
- var interval = setInterval(checkScreenResolution, 20000);
248
+ const pixelRatio = global_scope_1.default.devicePixelRatio == null ||
249
+ global_scope_1.default.devicePixelRatio === 0 ? 1 :
250
+ global_scope_1.default.devicePixelRatio;
251
+ const ref = new reference_1.default({ width: (_a = global_scope_1.default.screen) === null || _a === void 0 ? void 0 : _a.width,
252
+ height: (_b = global_scope_1.default.screen) === null || _b === void 0 ? void 0 : _b.height,
253
+ pixelRatio }, stopListening);
254
+ const interval = setInterval(checkScreenResolution, 20000);
250
255
  stopListening.register(function stopUpdating() {
251
256
  clearInterval(interval);
252
257
  });
253
258
  return ref;
254
259
  function checkScreenResolution() {
255
- var oldVal = ref.getValue();
260
+ const oldVal = ref.getValue();
256
261
  if (oldVal.width !== screen.width ||
257
262
  oldVal.height !== screen.height ||
258
263
  oldVal.pixelRatio !== pixelRatio) {
259
264
  ref.setValue({ width: screen.width,
260
- height: screen.height, pixelRatio: pixelRatio });
265
+ height: screen.height,
266
+ pixelRatio });
261
267
  }
262
268
  }
263
269
  }
270
+ exports.getScreenResolutionRef = getScreenResolutionRef;
264
271
  /**
265
272
  * Get video width and height from HTML media element, or video estimated
266
273
  * dimensions when Picture-in-Picture is activated.
@@ -270,17 +277,18 @@ function getScreenResolutionRef(stopListening) {
270
277
  * @returns {Object}
271
278
  */
272
279
  function getElementResolutionRef(mediaElement, pipStatusRef, stopListening) {
273
- var pixelRatio = globalScope.devicePixelRatio == null ||
274
- globalScope.devicePixelRatio === 0 ? 1 :
275
- globalScope.devicePixelRatio;
276
- var ref = new SharedReference({ width: mediaElement.clientWidth,
277
- height: mediaElement.clientHeight, pixelRatio: pixelRatio }, stopListening);
278
- var clearPreviousEventListener = noop;
280
+ const pixelRatio = global_scope_1.default.devicePixelRatio == null ||
281
+ global_scope_1.default.devicePixelRatio === 0 ? 1 :
282
+ global_scope_1.default.devicePixelRatio;
283
+ const ref = new reference_1.default({ width: mediaElement.clientWidth,
284
+ height: mediaElement.clientHeight,
285
+ pixelRatio }, stopListening);
286
+ let clearPreviousEventListener = noop_1.default;
279
287
  pipStatusRef.onUpdate(checkElementResolution, { clearSignal: stopListening });
280
- addEventListener(globalScope, "resize", checkElementResolution, stopListening);
288
+ addEventListener(global_scope_1.default, "resize", checkElementResolution, stopListening);
281
289
  addEventListener(mediaElement, "enterpictureinpicture", checkElementResolution, stopListening);
282
290
  addEventListener(mediaElement, "leavepictureinpicture", checkElementResolution, stopListening);
283
- var interval = setInterval(checkElementResolution, 20000);
291
+ const interval = setInterval(checkElementResolution, 20000);
284
292
  checkElementResolution();
285
293
  stopListening.register(function stopUpdating() {
286
294
  clearPreviousEventListener();
@@ -289,122 +297,142 @@ function getElementResolutionRef(mediaElement, pipStatusRef, stopListening) {
289
297
  return ref;
290
298
  function checkElementResolution() {
291
299
  clearPreviousEventListener();
292
- var pipStatus = pipStatusRef.getValue();
293
- var pipWindow = pipStatus.pipWindow;
300
+ const pipStatus = pipStatusRef.getValue();
301
+ const { pipWindow } = pipStatus;
294
302
  if (!pipStatus.isEnabled) {
295
- var oldVal = ref.getValue();
303
+ const oldVal = ref.getValue();
296
304
  if (oldVal.width !== mediaElement.clientWidth ||
297
305
  oldVal.height !== mediaElement.clientHeight ||
298
306
  oldVal.pixelRatio !== pixelRatio) {
299
307
  ref.setValue({ width: mediaElement.clientWidth,
300
- height: mediaElement.clientHeight, pixelRatio: pixelRatio });
308
+ height: mediaElement.clientHeight,
309
+ pixelRatio });
301
310
  }
302
311
  }
303
- else if (!isNullOrUndefined(pipWindow)) {
304
- var onPipResize_1 = function () {
312
+ else if (!(0, is_null_or_undefined_1.default)(pipWindow)) {
313
+ const onPipResize = () => {
305
314
  updateToPipWindowResolution();
306
315
  };
307
- pipWindow.addEventListener("resize", onPipResize_1);
308
- clearPreviousEventListener = function () {
309
- pipWindow.removeEventListener("resize", onPipResize_1);
310
- clearPreviousEventListener = noop;
316
+ pipWindow.addEventListener("resize", onPipResize);
317
+ clearPreviousEventListener = () => {
318
+ pipWindow.removeEventListener("resize", onPipResize);
319
+ clearPreviousEventListener = noop_1.default;
311
320
  };
312
321
  updateToPipWindowResolution();
313
322
  }
314
323
  else {
315
- var oldVal = ref.getValue();
324
+ const oldVal = ref.getValue();
316
325
  if (oldVal.width !== undefined ||
317
326
  oldVal.height !== undefined ||
318
327
  oldVal.pixelRatio !== pixelRatio) {
319
328
  ref.setValue({ width: undefined,
320
- height: undefined, pixelRatio: pixelRatio });
329
+ height: undefined,
330
+ pixelRatio });
321
331
  }
322
332
  }
323
333
  function updateToPipWindowResolution() {
324
- var oldVal = ref.getValue();
334
+ const oldVal = ref.getValue();
325
335
  if (oldVal.width !== (pipWindow === null || pipWindow === void 0 ? void 0 : pipWindow.width) ||
326
336
  oldVal.height !== (pipWindow === null || pipWindow === void 0 ? void 0 : pipWindow.height) ||
327
337
  oldVal.pixelRatio !== pixelRatio) {
328
338
  ref.setValue({ width: pipWindow === null || pipWindow === void 0 ? void 0 : pipWindow.width,
329
- height: pipWindow === null || pipWindow === void 0 ? void 0 : pipWindow.height, pixelRatio: pixelRatio });
339
+ height: pipWindow === null || pipWindow === void 0 ? void 0 : pipWindow.height,
340
+ pixelRatio });
330
341
  }
331
342
  }
332
343
  }
333
344
  }
345
+ exports.getElementResolutionRef = getElementResolutionRef;
334
346
  /**
335
347
  * @param {HTMLMediaElement} mediaElement
336
348
  */
337
- var onLoadedMetadata = createCompatibleEventListener(["loadedmetadata"]);
349
+ const onLoadedMetadata = createCompatibleEventListener(["loadedmetadata"]);
350
+ exports.onLoadedMetadata = onLoadedMetadata;
338
351
  /**
339
352
  * @param {HTMLMediaElement} mediaElement
340
353
  */
341
- var onTimeUpdate = createCompatibleEventListener(["timeupdate"]);
354
+ const onTimeUpdate = createCompatibleEventListener(["timeupdate"]);
355
+ exports.onTimeUpdate = onTimeUpdate;
342
356
  /**
343
357
  * @param {TextTrackList} mediaElement
344
358
  */
345
- var onTextTrackAdded = createCompatibleEventListener(["addtrack"]);
359
+ const onTextTrackAdded = createCompatibleEventListener(["addtrack"]);
360
+ exports.onTextTrackAdded = onTextTrackAdded;
346
361
  /**
347
362
  * @param {TextTrackList} textTrackList
348
363
  */
349
- var onTextTrackRemoved = createCompatibleEventListener(["removetrack"]);
364
+ const onTextTrackRemoved = createCompatibleEventListener(["removetrack"]);
365
+ exports.onTextTrackRemoved = onTextTrackRemoved;
350
366
  /**
351
367
  * @param {MediaSource} mediaSource
352
368
  * @param {Function} listener
353
369
  * @param {Object} cancelSignal
354
370
  */
355
- var onSourceOpen = createCompatibleEventListener(["sourceopen", "webkitsourceopen"]);
371
+ const onSourceOpen = createCompatibleEventListener(["sourceopen", "webkitsourceopen"]);
372
+ exports.onSourceOpen = onSourceOpen;
356
373
  /**
357
374
  * @param {MediaSource} mediaSource
358
375
  * @param {Function} listener
359
376
  * @param {Object} cancelSignal
360
377
  */
361
- var onSourceClose = createCompatibleEventListener(["sourceclose", "webkitsourceclose"]);
378
+ const onSourceClose = createCompatibleEventListener(["sourceclose", "webkitsourceclose"]);
379
+ exports.onSourceClose = onSourceClose;
362
380
  /**
363
381
  * @param {MediaSource} mediaSource
364
382
  * @param {Function} listener
365
383
  * @param {Object} cancelSignal
366
384
  */
367
- var onSourceEnded = createCompatibleEventListener(["sourceended", "webkitsourceended"]);
385
+ const onSourceEnded = createCompatibleEventListener(["sourceended", "webkitsourceended"]);
386
+ exports.onSourceEnded = onSourceEnded;
368
387
  /**
369
388
  * @param {MediaSource} mediaSource
370
389
  * @param {Function} listener
371
390
  * @param {Object} cancelSignal
372
391
  */
373
- var onSourceBufferUpdate = createCompatibleEventListener(["update"]);
392
+ const onSourceBufferUpdate = createCompatibleEventListener(["update"]);
393
+ exports.onSourceBufferUpdate = onSourceBufferUpdate;
374
394
  /**
375
395
  * @param {SourceBufferList} sourceBuffers
376
396
  * @param {Function} listener
377
397
  * @param {Object} cancelSignal
378
398
  */
379
- var onRemoveSourceBuffers = createCompatibleEventListener(["removesourcebuffer"]);
399
+ const onRemoveSourceBuffers = createCompatibleEventListener(["removesourcebuffer"]);
400
+ exports.onRemoveSourceBuffers = onRemoveSourceBuffers;
380
401
  /**
381
402
  * @param {MediaKeySession} mediaKeySession
382
403
  */
383
- var onKeyMessage = createCompatibleEventListener(["keymessage", "message"]);
404
+ const onKeyMessage = createCompatibleEventListener(["keymessage", "message"]);
405
+ exports.onKeyMessage = onKeyMessage;
384
406
  /**
385
407
  * @param {MediaKeySession} mediaKeySession
386
408
  */
387
- var onKeyAdded = createCompatibleEventListener(["keyadded", "ready"]);
409
+ const onKeyAdded = createCompatibleEventListener(["keyadded", "ready"]);
410
+ exports.onKeyAdded = onKeyAdded;
388
411
  /**
389
412
  * @param {MediaKeySession} mediaKeySession
390
413
  */
391
- var onKeyError = createCompatibleEventListener(["keyerror", "error"]);
414
+ const onKeyError = createCompatibleEventListener(["keyerror", "error"]);
415
+ exports.onKeyError = onKeyError;
392
416
  /**
393
417
  * @param {MediaKeySession} mediaKeySession
394
418
  */
395
- var onKeyStatusesChange = createCompatibleEventListener(["keystatuseschange"]);
419
+ const onKeyStatusesChange = createCompatibleEventListener(["keystatuseschange"]);
420
+ exports.onKeyStatusesChange = onKeyStatusesChange;
396
421
  /**
397
422
  * @param {HTMLMediaElement} mediaElement
398
423
  */
399
- var onSeeking = createCompatibleEventListener(["seeking"]);
424
+ const onSeeking = createCompatibleEventListener(["seeking"]);
425
+ exports.onSeeking = onSeeking;
400
426
  /**
401
427
  * @param {HTMLMediaElement} mediaElement
402
428
  */
403
- var onSeeked = createCompatibleEventListener(["seeked"]);
429
+ const onSeeked = createCompatibleEventListener(["seeked"]);
430
+ exports.onSeeked = onSeeked;
404
431
  /**
405
432
  * @param {HTMLMediaElement} mediaElement
406
433
  */
407
- var onEnded = createCompatibleEventListener(["ended"]);
434
+ const onEnded = createCompatibleEventListener(["ended"]);
435
+ exports.onEnded = onEnded;
408
436
  /**
409
437
  * Utilitary function allowing to add an event listener and remove it
410
438
  * automatically once the given `CancellationSignal` emits.
@@ -417,8 +445,8 @@ var onEnded = createCompatibleEventListener(["ended"]);
417
445
  */
418
446
  function addEventListener(elt, evt, listener, stopListening) {
419
447
  elt.addEventListener(evt, listener);
420
- stopListening.register(function () {
448
+ stopListening.register(() => {
421
449
  elt.removeEventListener(evt, listener);
422
450
  });
423
451
  }
424
- export { addEventListener, createCompatibleEventListener, getPictureOnPictureStateRef, getVideoVisibilityRef, getElementResolutionRef, getScreenResolutionRef, onEnded, onKeyAdded, onKeyError, onKeyMessage, onKeyStatusesChange, onLoadedMetadata, onRemoveSourceBuffers, onSeeked, onSeeking, onSourceClose, onSourceEnded, onSourceOpen, onTimeUpdate, onSourceBufferUpdate, onTextTrackAdded, onTextTrackRemoved, };
452
+ exports.addEventListener = addEventListener;
@@ -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
  * Calculating a live-offseted media position necessitate to obtain first an
18
20
  * offset, and then adding that offset to the wanted position.
@@ -27,12 +29,12 @@
27
29
  * @param {HTMLMediaElement} mediaElement
28
30
  * @returns {number|undefined}
29
31
  */
30
- export default function getStartDate(mediaElement) {
31
- var _mediaElement = mediaElement;
32
+ function getStartDate(mediaElement) {
33
+ const _mediaElement = mediaElement;
32
34
  if (typeof _mediaElement.getStartDate === "function") {
33
- var startDate = _mediaElement.getStartDate();
35
+ const startDate = _mediaElement.getStartDate();
34
36
  if (typeof startDate === "object" && startDate !== null) {
35
- var startDateNum = +startDate;
37
+ const startDateNum = +startDate;
36
38
  if (!isNaN(startDateNum)) {
37
39
  return startDateNum / 1000;
38
40
  }
@@ -42,3 +44,4 @@ export default function getStartDate(mediaElement) {
42
44
  }
43
45
  }
44
46
  }
47
+ exports.default = getStartDate;
@@ -1,5 +1,7 @@
1
- import isNode from "./is_node";
2
- import isWorker from "./is_worker";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const is_node_1 = require("./is_node");
4
+ const is_worker_1 = require("./is_worker");
3
5
  /**
4
6
  * The current environment's global object, written in such a way to maximize
5
7
  * compatibility.
@@ -7,7 +9,7 @@ import isWorker from "./is_worker";
7
9
  * Though the RxPlayer should theoretically not be runnable in NodeJS, we still
8
10
  * had to support it for some applications implementing server-side rendering.
9
11
  */
10
- var globalScope = isWorker ? self :
11
- isNode ? global :
12
+ const globalScope = is_worker_1.default ? self :
13
+ is_node_1.default ? global :
12
14
  window;
13
- export default globalScope;
15
+ exports.default = globalScope;
@@ -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
  * Some platforms have issues when the `MediaSource`'s `duration` property
4
6
  * is set to a very high value (playback freezes) but not when setting it
@@ -19,8 +21,9 @@ import { isPlayStation5 } from "./browser_detection";
19
21
  *
20
22
  * @returns {boolean}
21
23
  */
22
- export default function hasIssuesWithHighMediaSourceDuration() {
24
+ function hasIssuesWithHighMediaSourceDuration() {
23
25
  // For now only seen on the Webkit present in the PlayStation 5, for which the
24
26
  // alternative is known to work.
25
- return isPlayStation5;
27
+ return browser_detection_1.isPlayStation5;
26
28
  }
29
+ exports.default = hasIssuesWithHighMediaSourceDuration;