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,142 +14,117 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- var __extends = (this && this.__extends) || (function () {
17
- var extendStatics = function (d, b) {
18
- extendStatics = Object.setPrototypeOf ||
19
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
21
- return extendStatics(d, b);
22
- };
23
- return function (d, b) {
24
- if (typeof b !== "function" && b !== null)
25
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
26
- extendStatics(d, b);
27
- function __() { this.constructor = d; }
28
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
29
- };
30
- })();
31
- import EventEmitter from "../../../utils/event_emitter";
32
- import TaskCanceller from "../../../utils/task_canceller";
33
- import wrapInPromise from "../../../utils/wrapInPromise";
34
- import * as events from "../../event_listeners";
35
- import { MSMediaKeysConstructor, } from "./ms_media_keys_constructor";
36
- var IE11MediaKeySession = /** @class */ (function (_super) {
37
- __extends(IE11MediaKeySession, _super);
38
- function IE11MediaKeySession(mk) {
39
- var _this = _super.call(this) || this;
40
- _this.expiration = NaN;
41
- _this.keyStatuses = new Map();
42
- _this._mk = mk;
43
- _this._sessionClosingCanceller = new TaskCanceller();
44
- _this.closed = new Promise(function (resolve) {
45
- _this._sessionClosingCanceller.signal.register(function () { return resolve(); });
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MSMediaKeysConstructor = void 0;
19
+ const event_emitter_1 = require("../../../utils/event_emitter");
20
+ const task_canceller_1 = require("../../../utils/task_canceller");
21
+ const wrapInPromise_1 = require("../../../utils/wrapInPromise");
22
+ const events = require("../../event_listeners");
23
+ const ms_media_keys_constructor_1 = require("./ms_media_keys_constructor");
24
+ Object.defineProperty(exports, "MSMediaKeysConstructor", { enumerable: true, get: function () { return ms_media_keys_constructor_1.MSMediaKeysConstructor; } });
25
+ class IE11MediaKeySession extends event_emitter_1.default {
26
+ constructor(mk) {
27
+ super();
28
+ this.expiration = NaN;
29
+ this.keyStatuses = new Map();
30
+ this._mk = mk;
31
+ this._sessionClosingCanceller = new task_canceller_1.default();
32
+ this.closed = new Promise((resolve) => {
33
+ this._sessionClosingCanceller.signal.register(() => resolve());
46
34
  });
47
- _this.update = function (license) {
48
- return new Promise(function (resolve, reject) {
49
- if (_this._ss === undefined) {
35
+ this.update = (license) => {
36
+ return new Promise((resolve, reject) => {
37
+ if (this._ss === undefined) {
50
38
  return reject("MediaKeySession not set.");
51
39
  }
52
40
  try {
53
- resolve(_this._ss.update(license, ""));
41
+ resolve(this._ss.update(license, ""));
54
42
  }
55
43
  catch (err) {
56
44
  reject(err);
57
45
  }
58
46
  });
59
47
  };
60
- return _this;
61
48
  }
62
- IE11MediaKeySession.prototype.generateRequest = function (_initDataType, initData) {
63
- var _this = this;
64
- return new Promise(function (resolve) {
65
- var initDataU8 = initData instanceof Uint8Array ? initData :
49
+ generateRequest(_initDataType, initData) {
50
+ return new Promise((resolve) => {
51
+ const initDataU8 = initData instanceof Uint8Array ? initData :
66
52
  initData instanceof ArrayBuffer ? new Uint8Array(initData) :
67
53
  new Uint8Array(initData.buffer);
68
- _this._ss = _this._mk.createSession("video/mp4", initDataU8);
69
- events.onKeyMessage(_this._ss, function (evt) {
54
+ this._ss = this._mk.createSession("video/mp4", initDataU8);
55
+ events.onKeyMessage(this._ss, (evt) => {
70
56
  var _a;
71
- _this.trigger((_a = evt.type) !== null && _a !== void 0 ? _a : "message", evt);
72
- }, _this._sessionClosingCanceller.signal);
73
- events.onKeyAdded(_this._ss, function (evt) {
57
+ this.trigger((_a = evt.type) !== null && _a !== void 0 ? _a : "message", evt);
58
+ }, this._sessionClosingCanceller.signal);
59
+ events.onKeyAdded(this._ss, (evt) => {
74
60
  var _a;
75
- _this.trigger((_a = evt.type) !== null && _a !== void 0 ? _a : "keyadded", evt);
76
- }, _this._sessionClosingCanceller.signal);
77
- events.onKeyError(_this._ss, function (evt) {
61
+ this.trigger((_a = evt.type) !== null && _a !== void 0 ? _a : "keyadded", evt);
62
+ }, this._sessionClosingCanceller.signal);
63
+ events.onKeyError(this._ss, (evt) => {
78
64
  var _a;
79
- _this.trigger((_a = evt.type) !== null && _a !== void 0 ? _a : "keyerror", evt);
80
- }, _this._sessionClosingCanceller.signal);
65
+ this.trigger((_a = evt.type) !== null && _a !== void 0 ? _a : "keyerror", evt);
66
+ }, this._sessionClosingCanceller.signal);
81
67
  resolve();
82
68
  });
83
- };
84
- IE11MediaKeySession.prototype.close = function () {
85
- var _this = this;
86
- return new Promise(function (resolve) {
87
- if (_this._ss != null) {
88
- _this._ss.close();
89
- _this._ss = undefined;
69
+ }
70
+ close() {
71
+ return new Promise((resolve) => {
72
+ if (this._ss != null) {
73
+ this._ss.close();
74
+ this._ss = undefined;
90
75
  }
91
- _this._sessionClosingCanceller.cancel();
76
+ this._sessionClosingCanceller.cancel();
92
77
  resolve();
93
78
  });
94
- };
95
- IE11MediaKeySession.prototype.load = function () {
79
+ }
80
+ load() {
96
81
  return Promise.resolve(false);
97
- };
98
- IE11MediaKeySession.prototype.remove = function () {
82
+ }
83
+ remove() {
99
84
  return Promise.resolve();
100
- };
101
- Object.defineProperty(IE11MediaKeySession.prototype, "sessionId", {
102
- get: function () {
103
- var _a, _b;
104
- return (_b = (_a = this._ss) === null || _a === void 0 ? void 0 : _a.sessionId) !== null && _b !== void 0 ? _b : "";
105
- },
106
- enumerable: false,
107
- configurable: true
108
- });
109
- return IE11MediaKeySession;
110
- }(EventEmitter));
111
- var IE11CustomMediaKeys = /** @class */ (function () {
112
- function IE11CustomMediaKeys(keyType) {
113
- if (MSMediaKeysConstructor === undefined) {
85
+ }
86
+ get sessionId() {
87
+ var _a, _b;
88
+ return (_b = (_a = this._ss) === null || _a === void 0 ? void 0 : _a.sessionId) !== null && _b !== void 0 ? _b : "";
89
+ }
90
+ }
91
+ class IE11CustomMediaKeys {
92
+ constructor(keyType) {
93
+ if (ms_media_keys_constructor_1.MSMediaKeysConstructor === undefined) {
114
94
  throw new Error("No MSMediaKeys API.");
115
95
  }
116
- this._mediaKeys = new MSMediaKeysConstructor(keyType);
96
+ this._mediaKeys = new ms_media_keys_constructor_1.MSMediaKeysConstructor(keyType);
117
97
  }
118
- IE11CustomMediaKeys.prototype._setVideo = function (videoElement) {
119
- var _this = this;
120
- return wrapInPromise(function () {
121
- _this._videoElement = videoElement;
122
- if (_this._videoElement.msSetMediaKeys !== undefined) {
123
- _this._videoElement.msSetMediaKeys(_this._mediaKeys);
98
+ _setVideo(videoElement) {
99
+ return (0, wrapInPromise_1.default)(() => {
100
+ this._videoElement = videoElement;
101
+ if (this._videoElement.msSetMediaKeys !== undefined) {
102
+ this._videoElement.msSetMediaKeys(this._mediaKeys);
124
103
  }
125
104
  });
126
- };
127
- IE11CustomMediaKeys.prototype.createSession = function ( /* sessionType */) {
105
+ }
106
+ createSession( /* sessionType */) {
128
107
  if (this._videoElement === undefined || this._mediaKeys === undefined) {
129
108
  throw new Error("Video not attached to the MediaKeys");
130
109
  }
131
110
  return new IE11MediaKeySession(this._mediaKeys);
132
- };
133
- IE11CustomMediaKeys.prototype.setServerCertificate = function () {
111
+ }
112
+ setServerCertificate() {
134
113
  throw new Error("Server certificate is not implemented in your browser");
135
- };
136
- return IE11CustomMediaKeys;
137
- }());
138
- export default function getIE11MediaKeysCallbacks() {
139
- var isTypeSupported = function (keySystem, type) {
140
- if (MSMediaKeysConstructor === undefined) {
114
+ }
115
+ }
116
+ function getIE11MediaKeysCallbacks() {
117
+ const isTypeSupported = (keySystem, type) => {
118
+ if (ms_media_keys_constructor_1.MSMediaKeysConstructor === undefined) {
141
119
  throw new Error("No MSMediaKeys API.");
142
120
  }
143
121
  if (type !== undefined) {
144
- return MSMediaKeysConstructor.isTypeSupported(keySystem, type);
122
+ return ms_media_keys_constructor_1.MSMediaKeysConstructor.isTypeSupported(keySystem, type);
145
123
  }
146
- return MSMediaKeysConstructor.isTypeSupported(keySystem);
147
- };
148
- var createCustomMediaKeys = function (keyType) {
149
- return new IE11CustomMediaKeys(keyType);
124
+ return ms_media_keys_constructor_1.MSMediaKeysConstructor.isTypeSupported(keySystem);
150
125
  };
151
- var setMediaKeys = function (elt, mediaKeys) {
126
+ const createCustomMediaKeys = (keyType) => new IE11CustomMediaKeys(keyType);
127
+ const setMediaKeys = (elt, mediaKeys) => {
152
128
  if (mediaKeys === null) {
153
129
  // msSetMediaKeys only accepts native MSMediaKeys as argument.
154
130
  // Calling it with null or undefined will raise an exception.
@@ -162,9 +138,9 @@ export default function getIE11MediaKeysCallbacks() {
162
138
  return mediaKeys._setVideo(elt);
163
139
  };
164
140
  return {
165
- isTypeSupported: isTypeSupported,
166
- createCustomMediaKeys: createCustomMediaKeys,
167
- setMediaKeys: setMediaKeys,
141
+ isTypeSupported,
142
+ createCustomMediaKeys,
143
+ setMediaKeys,
168
144
  };
169
145
  }
170
- export { MSMediaKeysConstructor };
146
+ exports.default = getIE11MediaKeysCallbacks;
@@ -1,6 +1,16 @@
1
- import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor, } from "./ie11_media_keys";
2
- import getMozMediaKeysCallbacks, { MozMediaKeysConstructor, } from "./moz_media_keys_constructor";
3
- import getOldKitWebKitMediaKeyCallbacks, { isOldWebkitMediaElement, } from "./old_webkit_media_keys";
4
- import getWebKitMediaKeysCallbacks from "./webkit_media_keys";
5
- import { WebKitMediaKeysConstructor } from "./webkit_media_keys_constructor";
6
- export { getIE11MediaKeysCallbacks, MSMediaKeysConstructor, getMozMediaKeysCallbacks, MozMediaKeysConstructor, getOldKitWebKitMediaKeyCallbacks, isOldWebkitMediaElement, getWebKitMediaKeysCallbacks, WebKitMediaKeysConstructor, };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebKitMediaKeysConstructor = exports.getWebKitMediaKeysCallbacks = exports.isOldWebkitMediaElement = exports.getOldKitWebKitMediaKeyCallbacks = exports.MozMediaKeysConstructor = exports.getMozMediaKeysCallbacks = exports.MSMediaKeysConstructor = exports.getIE11MediaKeysCallbacks = void 0;
4
+ const ie11_media_keys_1 = require("./ie11_media_keys");
5
+ exports.getIE11MediaKeysCallbacks = ie11_media_keys_1.default;
6
+ Object.defineProperty(exports, "MSMediaKeysConstructor", { enumerable: true, get: function () { return ie11_media_keys_1.MSMediaKeysConstructor; } });
7
+ const moz_media_keys_constructor_1 = require("./moz_media_keys_constructor");
8
+ exports.getMozMediaKeysCallbacks = moz_media_keys_constructor_1.default;
9
+ Object.defineProperty(exports, "MozMediaKeysConstructor", { enumerable: true, get: function () { return moz_media_keys_constructor_1.MozMediaKeysConstructor; } });
10
+ const old_webkit_media_keys_1 = require("./old_webkit_media_keys");
11
+ exports.getOldKitWebKitMediaKeyCallbacks = old_webkit_media_keys_1.default;
12
+ Object.defineProperty(exports, "isOldWebkitMediaElement", { enumerable: true, get: function () { return old_webkit_media_keys_1.isOldWebkitMediaElement; } });
13
+ const webkit_media_keys_1 = require("./webkit_media_keys");
14
+ exports.getWebKitMediaKeysCallbacks = webkit_media_keys_1.default;
15
+ const webkit_media_keys_constructor_1 = require("./webkit_media_keys_constructor");
16
+ Object.defineProperty(exports, "WebKitMediaKeysConstructor", { enumerable: true, get: function () { return webkit_media_keys_constructor_1.WebKitMediaKeysConstructor; } });
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,10 +14,12 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import wrapInPromise from "../../../utils/wrapInPromise";
17
- import globalScope from "../../global_scope";
18
- var MozMediaKeysConstructor;
19
- var MozMediaKeys = globalScope.MozMediaKeys;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MozMediaKeysConstructor = void 0;
19
+ const wrapInPromise_1 = require("../../../utils/wrapInPromise");
20
+ const global_scope_1 = require("../../global_scope");
21
+ let MozMediaKeysConstructor;
22
+ const { MozMediaKeys } = global_scope_1.default;
20
23
  if (MozMediaKeys !== undefined &&
21
24
  MozMediaKeys.prototype !== undefined &&
22
25
  typeof MozMediaKeys.isTypeSupported === "function" &&
@@ -24,11 +27,10 @@ if (MozMediaKeys !== undefined &&
24
27
  typeof MozMediaKeys.prototype.createSession === "function"
25
28
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
26
29
  ) {
27
- MozMediaKeysConstructor = MozMediaKeys;
30
+ exports.MozMediaKeysConstructor = MozMediaKeysConstructor = MozMediaKeys;
28
31
  }
29
- export { MozMediaKeysConstructor };
30
- export default function getMozMediaKeysCallbacks() {
31
- var isTypeSupported = function (keySystem, type) {
32
+ function getMozMediaKeysCallbacks() {
33
+ const isTypeSupported = (keySystem, type) => {
32
34
  if (MozMediaKeysConstructor === undefined) {
33
35
  throw new Error("No MozMediaKeys API.");
34
36
  }
@@ -37,15 +39,15 @@ export default function getMozMediaKeysCallbacks() {
37
39
  }
38
40
  return MozMediaKeysConstructor.isTypeSupported(keySystem);
39
41
  };
40
- var createCustomMediaKeys = function (keyType) {
42
+ const createCustomMediaKeys = (keyType) => {
41
43
  if (MozMediaKeysConstructor === undefined) {
42
44
  throw new Error("No MozMediaKeys API.");
43
45
  }
44
46
  return new MozMediaKeysConstructor(keyType);
45
47
  };
46
- var setMediaKeys = function (mediaElement, mediaKeys) {
47
- return wrapInPromise(function () {
48
- var elt = mediaElement;
48
+ const setMediaKeys = (mediaElement, mediaKeys) => {
49
+ return (0, wrapInPromise_1.default)(() => {
50
+ const elt = mediaElement;
49
51
  if (elt.mozSetMediaKeys === undefined ||
50
52
  typeof elt.mozSetMediaKeys !== "function") {
51
53
  throw new Error("Can't set video on MozMediaKeys.");
@@ -54,8 +56,9 @@ export default function getMozMediaKeysCallbacks() {
54
56
  });
55
57
  };
56
58
  return {
57
- isTypeSupported: isTypeSupported,
58
- createCustomMediaKeys: createCustomMediaKeys,
59
- setMediaKeys: setMediaKeys,
59
+ isTypeSupported,
60
+ createCustomMediaKeys,
61
+ setMediaKeys,
60
62
  };
61
63
  }
64
+ exports.default = getMozMediaKeysCallbacks;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,11 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import globalScope from "../../global_scope";
17
- var MSMediaKeysConstructor;
18
- var MSMediaKeys = globalScope.MSMediaKeys;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MSMediaKeysConstructor = void 0;
19
+ const global_scope_1 = require("../../global_scope");
20
+ let MSMediaKeysConstructor;
21
+ const { MSMediaKeys } = global_scope_1.default;
19
22
  if (MSMediaKeys !== undefined &&
20
23
  MSMediaKeys.prototype !== undefined &&
21
24
  typeof MSMediaKeys.isTypeSupported === "function" &&
@@ -23,6 +26,5 @@ if (MSMediaKeys !== undefined &&
23
26
  typeof MSMediaKeys.prototype.createSession === "function"
24
27
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
25
28
  ) {
26
- MSMediaKeysConstructor = MSMediaKeys;
29
+ exports.MSMediaKeysConstructor = MSMediaKeysConstructor = MSMediaKeys;
27
30
  }
28
- export { MSMediaKeysConstructor };
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,156 +14,136 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- var __extends = (this && this.__extends) || (function () {
17
- var extendStatics = function (d, b) {
18
- extendStatics = Object.setPrototypeOf ||
19
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
21
- return extendStatics(d, b);
22
- };
23
- return function (d, b) {
24
- if (typeof b !== "function" && b !== null)
25
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
26
- extendStatics(d, b);
27
- function __() { this.constructor = d; }
28
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
29
- };
30
- })();
31
- import { base64ToBytes } from "../../../utils/base64";
32
- import EventEmitter from "../../../utils/event_emitter";
33
- import noop from "../../../utils/noop";
34
- import { utf8ToStr } from "../../../utils/string_parsing";
35
- import wrapInPromise from "../../../utils/wrapInPromise";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.isOldWebkitMediaElement = void 0;
19
+ const base64_1 = require("../../../utils/base64");
20
+ const event_emitter_1 = require("../../../utils/event_emitter");
21
+ const noop_1 = require("../../../utils/noop");
22
+ const string_parsing_1 = require("../../../utils/string_parsing");
23
+ const wrapInPromise_1 = require("../../../utils/wrapInPromise");
36
24
  /**
37
25
  * Returns true if the given media element has old webkit methods
38
26
  * corresponding to the IOldWebkitHTMLMediaElement interface.
39
27
  * @param {HTMLMediaElement} element
40
28
  * @returns {Boolean}
41
29
  */
42
- export function isOldWebkitMediaElement(element) {
30
+ function isOldWebkitMediaElement(element) {
43
31
  return typeof element
44
32
  .webkitGenerateKeyRequest === "function";
45
33
  }
34
+ exports.isOldWebkitMediaElement = isOldWebkitMediaElement;
46
35
  /**
47
36
  * MediaKeySession implementation for older versions of WebKit relying on APIs
48
37
  * such as `webkitGenerateKeyRequest` `webkitAddKey` to be called on the
49
38
  * HTMLMediaElement.
50
39
  * @class OldWebkitMediaKeySession
51
40
  */
52
- var OldWebkitMediaKeySession = /** @class */ (function (_super) {
53
- __extends(OldWebkitMediaKeySession, _super);
54
- function OldWebkitMediaKeySession(mediaElement, keySystem) {
55
- var _this = _super.call(this) || this;
56
- _this._vid = mediaElement;
57
- _this._key = keySystem;
58
- _this.sessionId = "";
59
- _this._closeSession = noop; // Just here to make TypeScript happy
60
- _this.keyStatuses = new Map();
61
- _this.expiration = NaN;
62
- var onSessionRelatedEvent = function (evt) {
63
- _this.trigger(evt.type, evt);
41
+ class OldWebkitMediaKeySession extends event_emitter_1.default {
42
+ constructor(mediaElement, keySystem) {
43
+ super();
44
+ this._vid = mediaElement;
45
+ this._key = keySystem;
46
+ this.sessionId = "";
47
+ this._closeSession = noop_1.default; // Just here to make TypeScript happy
48
+ this.keyStatuses = new Map();
49
+ this.expiration = NaN;
50
+ const onSessionRelatedEvent = (evt) => {
51
+ this.trigger(evt.type, evt);
64
52
  };
65
- _this.closed = new Promise(function (resolve) {
66
- _this._closeSession = function () {
53
+ this.closed = new Promise((resolve) => {
54
+ this._closeSession = () => {
67
55
  ["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
68
- .forEach(function (evt) {
56
+ .forEach(evt => {
69
57
  mediaElement.removeEventListener(evt, onSessionRelatedEvent);
70
- mediaElement.removeEventListener("webkit".concat(evt), onSessionRelatedEvent);
58
+ mediaElement.removeEventListener(`webkit${evt}`, onSessionRelatedEvent);
71
59
  });
72
60
  resolve();
73
61
  };
74
62
  });
75
63
  ["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
76
- .forEach(function (evt) {
64
+ .forEach(evt => {
77
65
  mediaElement.addEventListener(evt, onSessionRelatedEvent);
78
- mediaElement.addEventListener("webkit".concat(evt), onSessionRelatedEvent);
66
+ mediaElement.addEventListener(`webkit${evt}`, onSessionRelatedEvent);
79
67
  });
80
- return _this;
81
68
  }
82
- OldWebkitMediaKeySession.prototype.update = function (license) {
83
- var _this = this;
84
- return new Promise(function (resolve, reject) {
69
+ update(license) {
70
+ return new Promise((resolve, reject) => {
85
71
  try {
86
- if (_this._key.indexOf("clearkey") >= 0) {
87
- var licenseTypedArray = license instanceof ArrayBuffer ? new Uint8Array(license) :
72
+ if (this._key.indexOf("clearkey") >= 0) {
73
+ const licenseTypedArray = license instanceof ArrayBuffer ? new Uint8Array(license) :
88
74
  license;
89
75
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
90
76
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
91
77
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
92
- var json = JSON.parse(utf8ToStr(licenseTypedArray));
93
- var key = base64ToBytes(json.keys[0].k);
94
- var kid = base64ToBytes(json.keys[0].kid);
78
+ const json = JSON.parse((0, string_parsing_1.utf8ToStr)(licenseTypedArray));
79
+ const key = (0, base64_1.base64ToBytes)(json.keys[0].k);
80
+ const kid = (0, base64_1.base64ToBytes)(json.keys[0].kid);
95
81
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
96
82
  /* eslint-enable @typescript-eslint/no-unsafe-argument */
97
83
  /* eslint-enable @typescript-eslint/no-unsafe-assignment */
98
- resolve(_this._vid.webkitAddKey(_this._key, key, kid, /* sessionId */ ""));
84
+ resolve(this._vid.webkitAddKey(this._key, key, kid, /* sessionId */ ""));
99
85
  }
100
86
  else {
101
- resolve(_this._vid.webkitAddKey(_this._key, license, null, /* sessionId */ ""));
87
+ resolve(this._vid.webkitAddKey(this._key, license, null, /* sessionId */ ""));
102
88
  }
103
89
  }
104
90
  catch (err) {
105
91
  reject(err);
106
92
  }
107
93
  });
108
- };
109
- OldWebkitMediaKeySession.prototype.generateRequest = function (_initDataType, initData) {
110
- var _this = this;
111
- return new Promise(function (resolve) {
112
- _this._vid.webkitGenerateKeyRequest(_this._key, initData);
94
+ }
95
+ generateRequest(_initDataType, initData) {
96
+ return new Promise((resolve) => {
97
+ this._vid.webkitGenerateKeyRequest(this._key, initData);
113
98
  resolve();
114
99
  });
115
- };
116
- OldWebkitMediaKeySession.prototype.close = function () {
117
- var _this = this;
118
- return new Promise(function (resolve) {
119
- _this._closeSession();
100
+ }
101
+ close() {
102
+ return new Promise((resolve) => {
103
+ this._closeSession();
120
104
  resolve();
121
105
  });
122
- };
106
+ }
123
107
  /**
124
108
  * Load a Persistent MediaKeySession.
125
109
  * Do nothing here because this implementation doesn't handle them.
126
110
  * @returns {Promise.<boolean>}
127
111
  */
128
- OldWebkitMediaKeySession.prototype.load = function () {
112
+ load() {
129
113
  // Not implemented. Always return false as in "no session with that id".
130
114
  return Promise.resolve(false);
131
- };
132
- OldWebkitMediaKeySession.prototype.remove = function () {
115
+ }
116
+ remove() {
133
117
  return Promise.resolve();
134
- };
135
- return OldWebkitMediaKeySession;
136
- }(EventEmitter));
137
- var OldWebKitCustomMediaKeys = /** @class */ (function () {
138
- function OldWebKitCustomMediaKeys(keySystem) {
118
+ }
119
+ }
120
+ class OldWebKitCustomMediaKeys {
121
+ constructor(keySystem) {
139
122
  this._keySystem = keySystem;
140
123
  }
141
- OldWebKitCustomMediaKeys.prototype._setVideo = function (videoElement) {
142
- var _this = this;
143
- return wrapInPromise(function () {
124
+ _setVideo(videoElement) {
125
+ return (0, wrapInPromise_1.default)(() => {
144
126
  if (!isOldWebkitMediaElement(videoElement)) {
145
127
  throw new Error("Video not attached to the MediaKeys");
146
128
  }
147
- _this._videoElement = videoElement;
129
+ this._videoElement = videoElement;
148
130
  });
149
- };
150
- OldWebKitCustomMediaKeys.prototype.createSession = function ( /* sessionType */) {
131
+ }
132
+ createSession( /* sessionType */) {
151
133
  if (this._videoElement == null) {
152
134
  throw new Error("Video not attached to the MediaKeys");
153
135
  }
154
136
  return new OldWebkitMediaKeySession(this._videoElement, this._keySystem);
155
- };
156
- OldWebKitCustomMediaKeys.prototype.setServerCertificate = function () {
137
+ }
138
+ setServerCertificate() {
157
139
  throw new Error("Server certificate is not implemented in your browser");
158
- };
159
- return OldWebKitCustomMediaKeys;
160
- }());
161
- export default function getOldWebKitMediaKeysCallbacks() {
162
- var isTypeSupported = function (keyType) {
140
+ }
141
+ }
142
+ function getOldWebKitMediaKeysCallbacks() {
143
+ const isTypeSupported = function (keyType) {
163
144
  // get any <video> element from the DOM or create one
164
145
  // and try the `canPlayType` method
165
- var videoElement = document.querySelector("video");
146
+ let videoElement = document.querySelector("video");
166
147
  if (videoElement == null) {
167
148
  videoElement = document.createElement("video");
168
149
  }
@@ -173,8 +154,8 @@ export default function getOldWebKitMediaKeysCallbacks() {
173
154
  return false;
174
155
  }
175
156
  };
176
- var createCustomMediaKeys = function (keyType) { return new OldWebKitCustomMediaKeys(keyType); };
177
- var setMediaKeys = function (elt, mediaKeys) {
157
+ const createCustomMediaKeys = (keyType) => new OldWebKitCustomMediaKeys(keyType);
158
+ const setMediaKeys = (elt, mediaKeys) => {
178
159
  if (mediaKeys === null) {
179
160
  return Promise.resolve(undefined);
180
161
  }
@@ -185,8 +166,9 @@ export default function getOldWebKitMediaKeysCallbacks() {
185
166
  return mediaKeys._setVideo(elt);
186
167
  };
187
168
  return {
188
- isTypeSupported: isTypeSupported,
189
- createCustomMediaKeys: createCustomMediaKeys,
190
- setMediaKeys: setMediaKeys,
169
+ isTypeSupported,
170
+ createCustomMediaKeys,
171
+ setMediaKeys,
191
172
  };
192
173
  }
174
+ exports.default = getOldWebKitMediaKeysCallbacks;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,4 +14,4 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- export {};
17
+ Object.defineProperty(exports, "__esModule", { value: true });