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,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 { extend, filterConfigurationWithCapabilities, } from "./utils";
17
- var decodingInfos = [
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const utils_1 = require("./utils");
19
+ const decodingInfos = [
18
20
  "type",
19
21
  {
20
22
  video: [
@@ -35,10 +37,10 @@ var decodingInfos = [
35
37
  ],
36
38
  },
37
39
  ];
38
- var getStatusForPolicy = [
40
+ const getStatusForPolicy = [
39
41
  "hdcp",
40
42
  ];
41
- var isTypeSupported = [
43
+ const isTypeSupported = [
42
44
  {
43
45
  video: [
44
46
  "contentType",
@@ -50,14 +52,14 @@ var isTypeSupported = [
50
52
  ],
51
53
  },
52
54
  ];
53
- var matchMedia = [
55
+ const matchMedia = [
54
56
  {
55
57
  display: [
56
58
  "colorSpace",
57
59
  ],
58
60
  },
59
61
  ];
60
- var requestMediaKeySystemAccess = [
62
+ const requestMediaKeySystemAccess = [
61
63
  {
62
64
  keySystem: [
63
65
  "type",
@@ -75,7 +77,7 @@ var requestMediaKeySystemAccess = [
75
77
  ],
76
78
  },
77
79
  ];
78
- var isTypeSupportedWithFeatures = [
80
+ const isTypeSupportedWithFeatures = [
79
81
  "type",
80
82
  {
81
83
  video: [
@@ -121,13 +123,13 @@ var isTypeSupportedWithFeatures = [
121
123
  ],
122
124
  },
123
125
  ];
124
- var capabilites = {
125
- decodingInfos: decodingInfos,
126
- getStatusForPolicy: getStatusForPolicy,
127
- isTypeSupported: isTypeSupported,
128
- matchMedia: matchMedia,
129
- requestMediaKeySystemAccess: requestMediaKeySystemAccess,
130
- isTypeSupportedWithFeatures: isTypeSupportedWithFeatures,
126
+ const capabilites = {
127
+ decodingInfos,
128
+ getStatusForPolicy,
129
+ isTypeSupported,
130
+ matchMedia,
131
+ requestMediaKeySystemAccess,
132
+ isTypeSupportedWithFeatures,
131
133
  };
132
134
  /**
133
135
  * Get probed configuration.
@@ -135,8 +137,9 @@ var capabilites = {
135
137
  * @param {Array<string>} probers
136
138
  * @returns {Object}
137
139
  */
138
- export default function getProbedConfiguration(config, probers) {
139
- var target = [];
140
- extend(target, probers.map(function (prober) { return capabilites[prober]; }));
141
- return filterConfigurationWithCapabilities(target, config);
140
+ function getProbedConfiguration(config, probers) {
141
+ const target = [];
142
+ (0, utils_1.extend)(target, probers.map((prober) => capabilites[prober]));
143
+ return (0, utils_1.filterConfigurationWithCapabilities)(target, config);
142
144
  }
145
+ exports.default = getProbedConfiguration;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,5 +14,6 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import MediaCapabilitiesProber from "./api";
17
- export default MediaCapabilitiesProber;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const api_1 = require("./api");
19
+ exports.default = api_1.default;
@@ -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
  */
16
- import Logger from "../../../utils/logger";
17
- var logger = new Logger();
18
- export default logger;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const logger_1 = require("../../../utils/logger");
19
+ const logger = new logger_1.default();
20
+ exports.default = logger;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,38 +14,40 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import eme from "../../../../compat/eme";
17
- import isNullOrUndefined from "../../../../utils/is_null_or_undefined";
18
- import log from "../log";
19
- import { ProberStatus, } from "../types";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const eme_1 = require("../../../../compat/eme");
19
+ const is_null_or_undefined_1 = require("../../../../utils/is_null_or_undefined");
20
+ const log_1 = require("../log");
21
+ const types_1 = require("../types");
20
22
  /**
21
23
  * @param {Object} mediaConfig
22
24
  * @returns {Promise}
23
25
  */
24
- export default function probeDRMInfos(mediaConfig) {
25
- var keySystem = mediaConfig.keySystem;
26
+ function probeDRMInfos(mediaConfig) {
27
+ const keySystem = mediaConfig.keySystem;
26
28
  if (keySystem == null || keySystem.type == null) {
27
29
  return Promise.reject("MediaCapabilitiesProber >>> API_CALL: " +
28
30
  "Missing a type argument to request a media key system access.");
29
31
  }
30
- var type = keySystem.type;
31
- var configuration = keySystem.configuration === undefined ? {} :
32
+ const type = keySystem.type;
33
+ const configuration = keySystem.configuration === undefined ? {} :
32
34
  keySystem.configuration;
33
- var result = { type: type, configuration: configuration };
34
- if (isNullOrUndefined(eme.requestMediaKeySystemAccess)) {
35
- log.debug("MediaCapabilitiesProber >>> API_CALL: " +
35
+ const result = { type, configuration };
36
+ if ((0, is_null_or_undefined_1.default)(eme_1.default.requestMediaKeySystemAccess)) {
37
+ log_1.default.debug("MediaCapabilitiesProber >>> API_CALL: " +
36
38
  "Your browser has no API to request a media key system access.");
37
39
  // In that case, the API lack means that no EME workflow may be started.
38
40
  // So, the DRM configuration is not supported.
39
- return Promise.resolve([ProberStatus.NotSupported, result]);
41
+ return Promise.resolve([types_1.ProberStatus.NotSupported, result]);
40
42
  }
41
- return eme.requestMediaKeySystemAccess(type, [configuration])
42
- .then(function (keySystemAccess) {
43
+ return eme_1.default.requestMediaKeySystemAccess(type, [configuration])
44
+ .then((keySystemAccess) => {
43
45
  result.compatibleConfiguration = keySystemAccess.getConfiguration();
44
- var status = [ProberStatus.Supported, result];
46
+ const status = [types_1.ProberStatus.Supported, result];
45
47
  return status;
46
48
  })
47
- .catch(function () {
48
- return [ProberStatus.NotSupported, result];
49
+ .catch(() => {
50
+ return [types_1.ProberStatus.NotSupported, result];
49
51
  });
50
52
  }
53
+ exports.default = probeDRMInfos;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,15 +14,16 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import eme from "../../../../compat/eme";
17
- import isNullOrUndefined from "../../../../utils/is_null_or_undefined";
18
- import { ProberStatus, } from "../types";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const eme_1 = require("../../../../compat/eme");
19
+ const is_null_or_undefined_1 = require("../../../../utils/is_null_or_undefined");
20
+ const types_1 = require("../types");
19
21
  /**
20
22
  * @param {Object} config
21
23
  * @returns {Promise}
22
24
  */
23
- export default function probeHDCPPolicy(config) {
24
- if (isNullOrUndefined(eme.requestMediaKeySystemAccess)) {
25
+ function probeHDCPPolicy(config) {
26
+ if ((0, is_null_or_undefined_1.default)(eme_1.default.requestMediaKeySystemAccess)) {
25
27
  return Promise.reject("MediaCapabilitiesProber >>> API_CALL: " +
26
28
  "API not available");
27
29
  }
@@ -29,10 +31,10 @@ export default function probeHDCPPolicy(config) {
29
31
  return Promise.reject("MediaCapabilitiesProber >>> API_CALL: " +
30
32
  "Missing policy argument for calling getStatusForPolicy.");
31
33
  }
32
- var hdcp = "hdcp-" + config.hdcp;
33
- var policy = { minHdcpVersion: hdcp };
34
- var keySystem = "org.w3.clearkey";
35
- var drmConfig = {
34
+ const hdcp = "hdcp-" + config.hdcp;
35
+ const policy = { minHdcpVersion: hdcp };
36
+ const keySystem = "org.w3.clearkey";
37
+ const drmConfig = {
36
38
  initDataTypes: ["cenc"],
37
39
  audioCapabilities: [{
38
40
  contentType: "audio/mp4;codecs=\"mp4a.40.2\"",
@@ -41,9 +43,9 @@ export default function probeHDCPPolicy(config) {
41
43
  contentType: "video/mp4;codecs=\"avc1.42E01E\"",
42
44
  }],
43
45
  };
44
- return eme.requestMediaKeySystemAccess(keySystem, [drmConfig])
45
- .then(function (mediaKeysSystemAccess) {
46
- return mediaKeysSystemAccess.createMediaKeys().then(function (mediaKeys) {
46
+ return eme_1.default.requestMediaKeySystemAccess(keySystem, [drmConfig])
47
+ .then((mediaKeysSystemAccess) => {
48
+ return mediaKeysSystemAccess.createMediaKeys().then((mediaKeys) => {
47
49
  if (!("getStatusForPolicy" in mediaKeys)) {
48
50
  // do the check here, as mediaKeys can be either be native MediaKeys or
49
51
  // custom MediaKeys from compat.
@@ -51,19 +53,20 @@ export default function probeHDCPPolicy(config) {
51
53
  "getStatusForPolicy API not available");
52
54
  }
53
55
  return mediaKeys.getStatusForPolicy(policy)
54
- .then(function (result) {
55
- var status;
56
+ .then((result) => {
57
+ let status;
56
58
  if (result === "usable") {
57
- status = [ProberStatus.Supported];
59
+ status = [types_1.ProberStatus.Supported];
58
60
  }
59
61
  else {
60
- status = [ProberStatus.NotSupported];
62
+ status = [types_1.ProberStatus.NotSupported];
61
63
  }
62
64
  return status;
63
65
  });
64
- }).catch(function () {
65
- var status = [ProberStatus.Unknown];
66
+ }).catch(() => {
67
+ const status = [types_1.ProberStatus.Unknown];
66
68
  return status;
67
69
  });
68
70
  });
69
71
  }
72
+ exports.default = probeHDCPPolicy;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,13 +14,14 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { ProberStatus, } from "../types";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const types_1 = require("../types");
17
19
  /**
18
20
  * Check if the required APIs are available.
19
21
  * @returns {Promise}
20
22
  */
21
23
  function isMediaCapabilitiesAPIAvailable() {
22
- return new Promise(function (resolve) {
24
+ return new Promise((resolve) => {
23
25
  if (!("mediaCapabilities" in navigator)) {
24
26
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
25
27
  "MediaCapabilities API not available");
@@ -39,17 +41,17 @@ function isMediaCapabilitiesAPIAvailable() {
39
41
  * @param {Object} config
40
42
  * @returns {Promise}
41
43
  */
42
- export default function probeDecodingInfos(config) {
44
+ function probeDecodingInfos(config) {
43
45
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
44
- return isMediaCapabilitiesAPIAvailable().then(function () {
45
- var hasVideoConfig = (config.type !== undefined && config.type.length > 0 &&
46
+ return isMediaCapabilitiesAPIAvailable().then(() => {
47
+ const hasVideoConfig = (config.type !== undefined && config.type.length > 0 &&
46
48
  config.video !== undefined &&
47
49
  config.video.bitrate !== undefined &&
48
50
  config.video.contentType !== undefined && config.video.contentType.length > 0 &&
49
51
  config.video.framerate !== undefined && config.video.framerate.length > 0 &&
50
52
  config.video.height !== undefined &&
51
53
  config.video.width !== undefined);
52
- var hasAudioConfig = (config.type !== undefined && config.type.length > 0 &&
54
+ const hasAudioConfig = (config.type !== undefined && config.type.length > 0 &&
53
55
  config.audio !== undefined &&
54
56
  config.audio.bitrate !== undefined &&
55
57
  config.audio.channels !== undefined && config.audio.channels.length > 0 &&
@@ -68,12 +70,13 @@ export default function probeDecodingInfos(config) {
68
70
  /* eslint-enable @typescript-eslint/no-unsafe-call */
69
71
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
70
72
  /* eslint-enable @typescript-eslint/no-unsafe-return */
71
- .then(function (result) {
73
+ .then((result) => {
72
74
  return [
73
- result.supported ? ProberStatus.Supported : ProberStatus.NotSupported,
75
+ result.supported ? types_1.ProberStatus.Supported : types_1.ProberStatus.NotSupported,
74
76
  ];
75
- }).catch(function () {
76
- return [ProberStatus.NotSupported];
77
+ }).catch(() => {
78
+ return [types_1.ProberStatus.NotSupported];
77
79
  });
78
80
  });
79
81
  }
82
+ exports.default = probeDecodingInfos;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,53 +14,55 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { MediaSource_ } from "../../../../compat";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.findDefaultAudioCodec = exports.findDefaultVideoCodec = void 0;
19
+ const compat_1 = require("../../../../compat");
17
20
  /**
18
21
  * Check if one of given video codecs are supported for decode.
19
22
  * These video codecs are chose for their wide proven compatibility and
20
23
  * popularity.
21
24
  * @returns {string}
22
25
  */
23
- export function findDefaultVideoCodec() {
24
- var videoCodecs = [
26
+ function findDefaultVideoCodec() {
27
+ const videoCodecs = [
25
28
  "video/mp4;codecs=\"avc1.4d401e\"",
26
29
  "video/mp4;codecs=\"avc1.42e01e\"",
27
30
  "video/webm;codecs=\"vp8\"",
28
31
  ];
29
32
  /* eslint-disable @typescript-eslint/unbound-method */
30
- if (MediaSource_ == null || typeof MediaSource_.isTypeSupported !== "function") {
33
+ if (compat_1.MediaSource_ == null || typeof compat_1.MediaSource_.isTypeSupported !== "function") {
31
34
  /* eslint-enable @typescript-eslint/unbound-method */
32
35
  throw new Error("Cannot check video codec support: No API available.");
33
36
  }
34
- for (var _i = 0, videoCodecs_1 = videoCodecs; _i < videoCodecs_1.length; _i++) {
35
- var codec = videoCodecs_1[_i];
36
- if (MediaSource_.isTypeSupported(codec)) {
37
+ for (const codec of videoCodecs) {
38
+ if (compat_1.MediaSource_.isTypeSupported(codec)) {
37
39
  return codec;
38
40
  }
39
41
  }
40
42
  throw new Error("No default video codec found.");
41
43
  }
44
+ exports.findDefaultVideoCodec = findDefaultVideoCodec;
42
45
  /**
43
46
  * Check if one of given audio codecs are supported for decode.
44
47
  * These audio codecs are chose for their wide proven compatibility and
45
48
  * popularity.
46
49
  * @returns {string}
47
50
  */
48
- export function findDefaultAudioCodec() {
49
- var audioCodecs = [
51
+ function findDefaultAudioCodec() {
52
+ const audioCodecs = [
50
53
  "audio/mp4;codecs=\"mp4a.40.2\"",
51
54
  "audio/webm;codecs=opus",
52
55
  ];
53
56
  /* eslint-disable @typescript-eslint/unbound-method */
54
- if (MediaSource_ == null || typeof MediaSource_.isTypeSupported !== "function") {
57
+ if (compat_1.MediaSource_ == null || typeof compat_1.MediaSource_.isTypeSupported !== "function") {
55
58
  /* eslint-enable @typescript-eslint/unbound-method */
56
59
  throw new Error("Cannot check audio codec support: No API available.");
57
60
  }
58
- for (var _i = 0, audioCodecs_1 = audioCodecs; _i < audioCodecs_1.length; _i++) {
59
- var codec = audioCodecs_1[_i];
60
- if (MediaSource_.isTypeSupported(codec)) {
61
+ for (const codec of audioCodecs) {
62
+ if (compat_1.MediaSource_.isTypeSupported(codec)) {
61
63
  return codec;
62
64
  }
63
65
  }
64
66
  throw new Error("No default audio codec found.");
65
67
  }
68
+ exports.findDefaultAudioCodec = findDefaultAudioCodec;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,18 +14,19 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import probeFromDecodingConfig from "./decodingInfo";
17
- import probeFromDRMInfos from "./DRMInfos";
18
- import probeFromHDCPPolicy from "./HDCPPolicy";
19
- import probeFromMediaContentType from "./mediaContentType";
20
- import probeFromMediaContentTypeWithFeatures from "./mediaContentTypeWithFeatures";
21
- import probeFromMediaDisplayInfos from "./mediaDisplayInfos";
22
- var probers = {
23
- isTypeSupported: probeFromMediaContentType,
24
- isTypeSupportedWithFeatures: probeFromMediaContentTypeWithFeatures,
25
- matchMedia: probeFromMediaDisplayInfos,
26
- decodingInfos: probeFromDecodingConfig,
27
- requestMediaKeySystemAccess: probeFromDRMInfos,
28
- getStatusForPolicy: probeFromHDCPPolicy,
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const decodingInfo_1 = require("./decodingInfo");
19
+ const DRMInfos_1 = require("./DRMInfos");
20
+ const HDCPPolicy_1 = require("./HDCPPolicy");
21
+ const mediaContentType_1 = require("./mediaContentType");
22
+ const mediaContentTypeWithFeatures_1 = require("./mediaContentTypeWithFeatures");
23
+ const mediaDisplayInfos_1 = require("./mediaDisplayInfos");
24
+ const probers = {
25
+ isTypeSupported: mediaContentType_1.default,
26
+ isTypeSupportedWithFeatures: mediaContentTypeWithFeatures_1.default,
27
+ matchMedia: mediaDisplayInfos_1.default,
28
+ decodingInfos: decodingInfo_1.default,
29
+ requestMediaKeySystemAccess: DRMInfos_1.default,
30
+ getStatusForPolicy: HDCPPolicy_1.default,
29
31
  };
30
- export default probers;
32
+ exports.default = probers;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,25 +14,26 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { MediaSource_ } from "../../../../compat";
17
- import { ProberStatus, } from "../types";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const compat_1 = require("../../../../compat");
19
+ const types_1 = require("../types");
18
20
  /**
19
21
  * @param {Object} config
20
22
  * @returns {Promise}
21
23
  */
22
- export default function probeContentType(config) {
23
- return new Promise(function (resolve) {
24
- if (MediaSource_ == null) {
24
+ function probeContentType(config) {
25
+ return new Promise((resolve) => {
26
+ if (compat_1.MediaSource_ == null) {
25
27
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
26
28
  "MediaSource API not available");
27
29
  }
28
30
  /* eslint-disable @typescript-eslint/unbound-method */
29
- if (typeof MediaSource_.isTypeSupported !== "function") {
31
+ if (typeof compat_1.MediaSource_.isTypeSupported !== "function") {
30
32
  /* eslint-enable @typescript-eslint/unbound-method */
31
33
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
32
34
  "isTypeSupported not available");
33
35
  }
34
- var contentTypes = [];
36
+ const contentTypes = [];
35
37
  if (config.video !== undefined &&
36
38
  config.video.contentType !== undefined &&
37
39
  config.video.contentType.length > 0) {
@@ -46,12 +48,13 @@ export default function probeContentType(config) {
46
48
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
47
49
  "Not enough arguments for calling isTypeSupported.");
48
50
  }
49
- for (var i = 0; i < contentTypes.length; i++) {
50
- if (!MediaSource_.isTypeSupported(contentTypes[i])) {
51
- resolve([ProberStatus.NotSupported]);
51
+ for (let i = 0; i < contentTypes.length; i++) {
52
+ if (!compat_1.MediaSource_.isTypeSupported(contentTypes[i])) {
53
+ resolve([types_1.ProberStatus.NotSupported]);
52
54
  return;
53
55
  }
54
56
  }
55
- resolve([ProberStatus.Supported]);
57
+ resolve([types_1.ProberStatus.Supported]);
56
58
  });
57
59
  }
60
+ exports.default = probeContentType;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,15 +14,16 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { findDefaultVideoCodec } from "../defaultCodecsFinder";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const defaultCodecsFinder_1 = require("../defaultCodecsFinder");
17
19
  /**
18
20
  * @param {Object} config
19
21
  * @returns {string|null}
20
22
  */
21
- export default function formatTypeSupportedWithFeaturesConfigForAPI(config) {
22
- var video = config.video, audio = config.audio, outputHdcp = config.hdcp, display = config.display;
23
- var defaultVideoCodec = findDefaultVideoCodec();
24
- var str = (function () {
23
+ function formatTypeSupportedWithFeaturesConfigForAPI(config) {
24
+ const { video, audio, hdcp: outputHdcp, display } = config;
25
+ const defaultVideoCodec = (0, defaultCodecsFinder_1.findDefaultVideoCodec)();
26
+ let str = (() => {
25
27
  if (video === undefined ||
26
28
  video.contentType === undefined ||
27
29
  video.contentType.length === 0) {
@@ -32,14 +34,14 @@ export default function formatTypeSupportedWithFeaturesConfigForAPI(config) {
32
34
  if (audio !== undefined &&
33
35
  audio.contentType !== undefined &&
34
36
  audio.contentType.length > 0) {
35
- var regex = /codecs="(.*?)"/;
36
- var match = regex.exec(audio.contentType);
37
+ const regex = /codecs="(.*?)"/;
38
+ const match = regex.exec(audio.contentType);
37
39
  if (match != null) {
38
- var codec = match[1];
40
+ const codec = match[1];
39
41
  str = str.substring(0, str.length - 2) + "," + codec;
40
42
  }
41
43
  }
42
- var feat = [];
44
+ const feat = [];
43
45
  if (video !== undefined &&
44
46
  video.width !== undefined &&
45
47
  video.width > 0) {
@@ -77,8 +79,8 @@ export default function formatTypeSupportedWithFeaturesConfigForAPI(config) {
77
79
  }
78
80
  }
79
81
  if (outputHdcp !== undefined && outputHdcp.length > 0) {
80
- var specifiedHDCPinConfig = parseFloat(outputHdcp);
81
- var hdcp = specifiedHDCPinConfig >= 2.2 ? 2 : 1;
82
+ const specifiedHDCPinConfig = parseFloat(outputHdcp);
83
+ const hdcp = specifiedHDCPinConfig >= 2.2 ? 2 : 1;
82
84
  feat.push("hdcp=" + hdcp.toString());
83
85
  }
84
86
  if (feat.length > 0) {
@@ -87,3 +89,4 @@ export default function formatTypeSupportedWithFeaturesConfigForAPI(config) {
87
89
  }
88
90
  return str;
89
91
  }
92
+ exports.default = formatTypeSupportedWithFeaturesConfigForAPI;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,21 +14,22 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import globalScope from "../../../../../compat/global_scope";
17
- import { ProberStatus, } from "../../types";
18
- import formatConfig from "./format";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const global_scope_1 = require("../../../../../compat/global_scope");
19
+ const types_1 = require("../../types");
20
+ const format_1 = require("./format");
19
21
  /**
20
22
  * @returns {Promise}
21
23
  */
22
24
  function isTypeSupportedWithFeaturesAPIAvailable() {
23
- return new Promise(function (resolve) {
24
- if (!("MSMediaKeys" in globalScope)) {
25
+ return new Promise((resolve) => {
26
+ if (!("MSMediaKeys" in global_scope_1.default)) {
25
27
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
26
28
  "MSMediaKeys API not available");
27
29
  }
28
30
  /* eslint-disable @typescript-eslint/no-explicit-any */
29
31
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
30
- if (!("isTypeSupportedWithFeatures" in globalScope.MSMediaKeys)) {
32
+ if (!("isTypeSupportedWithFeatures" in global_scope_1.default.MSMediaKeys)) {
31
33
  /* eslint-enable @typescript-eslint/no-explicit-any */
32
34
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
33
35
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
@@ -40,10 +42,10 @@ function isTypeSupportedWithFeaturesAPIAvailable() {
40
42
  * @param {Object} config
41
43
  * @returns {Promise}
42
44
  */
43
- export default function probeTypeWithFeatures(config) {
44
- return isTypeSupportedWithFeaturesAPIAvailable().then(function () {
45
- var keySystem = config.keySystem;
46
- var type = (function () {
45
+ function probeTypeWithFeatures(config) {
46
+ return isTypeSupportedWithFeaturesAPIAvailable().then(() => {
47
+ const keySystem = config.keySystem;
48
+ const type = (() => {
47
49
  if (keySystem === undefined ||
48
50
  keySystem.type === undefined ||
49
51
  keySystem.type.length === 0) {
@@ -51,12 +53,12 @@ export default function probeTypeWithFeatures(config) {
51
53
  }
52
54
  return keySystem.type;
53
55
  })();
54
- var features = formatConfig(config);
56
+ const features = (0, format_1.default)(config);
55
57
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
56
58
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
57
59
  /* eslint-disable @typescript-eslint/no-unsafe-call */
58
60
  /* eslint-disable @typescript-eslint/no-explicit-any */
59
- var result = globalScope.MSMediaKeys.isTypeSupportedWithFeatures(type, features);
61
+ const result = global_scope_1.default.MSMediaKeys.isTypeSupportedWithFeatures(type, features);
60
62
  /* eslint-enable @typescript-eslint/no-explicit-any */
61
63
  /* eslint-enable @typescript-eslint/no-unsafe-assignment */
62
64
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
@@ -69,16 +71,17 @@ export default function probeTypeWithFeatures(config) {
69
71
  else {
70
72
  switch (support) {
71
73
  case "Not Supported":
72
- return [ProberStatus.NotSupported];
74
+ return [types_1.ProberStatus.NotSupported];
73
75
  case "Maybe":
74
- return [ProberStatus.Unknown];
76
+ return [types_1.ProberStatus.Unknown];
75
77
  case "Probably":
76
- return [ProberStatus.Supported];
78
+ return [types_1.ProberStatus.Supported];
77
79
  default:
78
- return [ProberStatus.Unknown];
80
+ return [types_1.ProberStatus.Unknown];
79
81
  }
80
82
  }
81
83
  }
82
84
  return formatSupport(result);
83
85
  });
84
86
  }
87
+ exports.default = probeTypeWithFeatures;