rx-player 3.33.4-dev.2024090600 → 3.33.4

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 (728) hide show
  1. package/.prettierignore +1 -0
  2. package/.prettierrc +4 -0
  3. package/.vscode/settings.json +9 -0
  4. package/CHANGELOG.md +1662 -1078
  5. package/MAINTAINERS.md +9 -12
  6. package/README.md +111 -127
  7. package/VERSION +1 -1
  8. package/dist/_esm5.processed/compat/add_class_name.js +4 -3
  9. package/dist/_esm5.processed/compat/add_text_track.d.ts +1 -1
  10. package/dist/_esm5.processed/compat/add_text_track.js +4 -4
  11. package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +2 -1
  12. package/dist/_esm5.processed/compat/browser_compatibility_types.js +15 -10
  13. package/dist/_esm5.processed/compat/browser_detection.js +8 -9
  14. package/dist/_esm5.processed/compat/can_reuse_media_keys.js +1 -1
  15. package/dist/_esm5.processed/compat/change_source_buffer_type.d.ts +1 -1
  16. package/dist/_esm5.processed/compat/eme/close_session.d.ts +1 -1
  17. package/dist/_esm5.processed/compat/eme/close_session.js +17 -13
  18. package/dist/_esm5.processed/compat/eme/custom_key_system_access.d.ts +1 -1
  19. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.d.ts +1 -1
  20. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +8 -9
  21. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -2
  22. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +1 -1
  23. package/dist/_esm5.processed/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
  24. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
  25. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +7 -9
  26. package/dist/_esm5.processed/compat/eme/custom_media_keys/types.d.ts +4 -1
  27. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.d.ts +2 -2
  28. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +6 -12
  29. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts +2 -1
  30. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +3 -3
  31. package/dist/_esm5.processed/compat/eme/eme-api-implementation.d.ts +4 -4
  32. package/dist/_esm5.processed/compat/eme/eme-api-implementation.js +26 -11
  33. package/dist/_esm5.processed/compat/eme/generate_key_request.d.ts +1 -1
  34. package/dist/_esm5.processed/compat/eme/generate_key_request.js +17 -20
  35. package/dist/_esm5.processed/compat/eme/get_init_data.d.ts +3 -1
  36. package/dist/_esm5.processed/compat/eme/get_init_data.js +7 -9
  37. package/dist/_esm5.processed/compat/eme/get_uuid_kid_from_keystatus_kid.js +2 -3
  38. package/dist/_esm5.processed/compat/eme/get_webkit_fairplay_initdata.js +12 -13
  39. package/dist/_esm5.processed/compat/eme/index.d.ts +8 -5
  40. package/dist/_esm5.processed/compat/eme/index.js +1 -1
  41. package/dist/_esm5.processed/compat/eme/load_session.d.ts +1 -1
  42. package/dist/_esm5.processed/compat/enable_audio_track.d.ts +1 -1
  43. package/dist/_esm5.processed/compat/event_listeners.d.ts +26 -24
  44. package/dist/_esm5.processed/compat/event_listeners.js +14 -29
  45. package/dist/_esm5.processed/compat/fullscreen.d.ts +1 -1
  46. package/dist/_esm5.processed/compat/fullscreen.js +1 -1
  47. package/dist/_esm5.processed/compat/generate_init_data.js +3 -5
  48. package/dist/_esm5.processed/compat/index.d.ts +6 -3
  49. package/dist/_esm5.processed/compat/index.js +2 -2
  50. package/dist/_esm5.processed/compat/is_vtt_cue.d.ts +1 -1
  51. package/dist/_esm5.processed/compat/make_vtt_cue.d.ts +1 -1
  52. package/dist/_esm5.processed/compat/on_height_width_change.d.ts +2 -2
  53. package/dist/_esm5.processed/compat/on_height_width_change.js +3 -2
  54. package/dist/_esm5.processed/compat/patch_webkit_source_buffer.js +28 -29
  55. package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +2 -2
  56. package/dist/_esm5.processed/compat/should_reload_media_source_on_decipherability_update.js +1 -2
  57. package/dist/_esm5.processed/config.d.ts +1 -1
  58. package/dist/_esm5.processed/config.js +0 -15
  59. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +7 -6
  60. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +45 -22
  61. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.d.ts +1 -1
  62. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.js +11 -10
  63. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.d.ts +4 -4
  64. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.js +7 -6
  65. package/dist/_esm5.processed/core/adaptive/index.d.ts +3 -2
  66. package/dist/_esm5.processed/core/adaptive/network_analyzer.d.ts +4 -4
  67. package/dist/_esm5.processed/core/adaptive/network_analyzer.js +43 -38
  68. package/dist/_esm5.processed/core/adaptive/utils/bandwidth_estimator.js +1 -1
  69. package/dist/_esm5.processed/core/adaptive/utils/ewma.js +1 -2
  70. package/dist/_esm5.processed/core/adaptive/utils/filter_by_bitrate.d.ts +1 -1
  71. package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.d.ts +1 -1
  72. package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.js +3 -6
  73. package/dist/_esm5.processed/core/adaptive/utils/get_buffer_levels.js +7 -4
  74. package/dist/_esm5.processed/core/adaptive/utils/last_estimate_storage.d.ts +1 -1
  75. package/dist/_esm5.processed/core/adaptive/utils/pending_requests_store.d.ts +2 -1
  76. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.d.ts +1 -1
  77. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.js +8 -5
  78. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +1 -1
  79. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +5 -3
  80. package/dist/_esm5.processed/core/api/debug/buffer_graph.d.ts +1 -1
  81. package/dist/_esm5.processed/core/api/debug/buffer_graph.js +3 -8
  82. package/dist/_esm5.processed/core/api/debug/buffer_size_graph.js +1 -2
  83. package/dist/_esm5.processed/core/api/debug/modules/general_info.d.ts +2 -2
  84. package/dist/_esm5.processed/core/api/debug/modules/general_info.js +17 -13
  85. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.d.ts +3 -3
  86. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +4 -2
  87. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.d.ts +2 -2
  88. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +1 -1
  89. package/dist/_esm5.processed/core/api/debug/render.d.ts +2 -2
  90. package/dist/_esm5.processed/core/api/debug/utils.d.ts +5 -5
  91. package/dist/_esm5.processed/core/api/index.d.ts +1 -1
  92. package/dist/_esm5.processed/core/api/option_utils.d.ts +3 -3
  93. package/dist/_esm5.processed/core/api/option_utils.js +85 -48
  94. package/dist/_esm5.processed/core/api/playback_observer.d.ts +16 -18
  95. package/dist/_esm5.processed/core/api/playback_observer.js +65 -42
  96. package/dist/_esm5.processed/core/api/public_api.d.ts +10 -9
  97. package/dist/_esm5.processed/core/api/public_api.js +103 -94
  98. package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.d.ts +1 -1
  99. package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.js +25 -14
  100. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +3 -3
  101. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +72 -80
  102. package/dist/_esm5.processed/core/api/utils.d.ts +5 -5
  103. package/dist/_esm5.processed/core/api/utils.js +5 -8
  104. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.d.ts +12 -54
  105. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.js +55 -66
  106. package/dist/_esm5.processed/core/decrypt/attach_media_keys.d.ts +10 -5
  107. package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +16 -8
  108. package/dist/_esm5.processed/core/decrypt/content_decryptor.d.ts +11 -2
  109. package/dist/_esm5.processed/core/decrypt/content_decryptor.js +136 -65
  110. package/dist/_esm5.processed/core/decrypt/create_or_load_session.d.ts +5 -4
  111. package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +18 -7
  112. package/dist/_esm5.processed/core/decrypt/create_session.d.ts +5 -4
  113. package/dist/_esm5.processed/core/decrypt/create_session.js +6 -12
  114. package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +1 -2
  115. package/dist/_esm5.processed/core/decrypt/find_key_system.d.ts +13 -3
  116. package/dist/_esm5.processed/core/decrypt/find_key_system.js +45 -22
  117. package/dist/_esm5.processed/core/decrypt/get_key_system_configuration.js +1 -2
  118. package/dist/_esm5.processed/core/decrypt/get_media_keys.d.ts +9 -4
  119. package/dist/_esm5.processed/core/decrypt/get_media_keys.js +17 -6
  120. package/dist/_esm5.processed/core/decrypt/init_media_keys.d.ts +3 -3
  121. package/dist/_esm5.processed/core/decrypt/session_events_listener.d.ts +2 -2
  122. package/dist/_esm5.processed/core/decrypt/session_events_listener.js +12 -16
  123. package/dist/_esm5.processed/core/decrypt/set_server_certificate.d.ts +3 -3
  124. package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +6 -7
  125. package/dist/_esm5.processed/core/decrypt/types.d.ts +11 -5
  126. package/dist/_esm5.processed/core/decrypt/utils/are_init_values_compatible.js +20 -12
  127. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.d.ts +2 -2
  128. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.js +5 -4
  129. package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.d.ts +1 -1
  130. package/dist/_esm5.processed/core/decrypt/utils/clean_old_stored_persistent_info.d.ts +1 -1
  131. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.d.ts +1 -1
  132. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +16 -9
  133. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.d.ts +1 -1
  134. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.js +1 -2
  135. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.d.ts +1 -1
  136. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +1 -2
  137. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.d.ts +11 -13
  138. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +13 -13
  139. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.d.ts +8 -3
  140. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.js +1 -2
  141. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.d.ts +3 -3
  142. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +27 -16
  143. package/dist/_esm5.processed/core/decrypt/utils/serializable_bytes.js +1 -1
  144. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.d.ts +1 -1
  145. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.js +19 -12
  146. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.d.ts +2 -2
  147. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.js +5 -6
  148. package/dist/_esm5.processed/core/fetchers/index.d.ts +6 -3
  149. package/dist/_esm5.processed/core/fetchers/index.js +1 -1
  150. package/dist/_esm5.processed/core/fetchers/manifest/index.d.ts +3 -2
  151. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +2 -2
  152. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +68 -61
  153. package/dist/_esm5.processed/core/fetchers/segment/index.d.ts +4 -3
  154. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.d.ts +4 -3
  155. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +9 -8
  156. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +41 -29
  157. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -5
  158. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +2 -3
  159. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.d.ts +1 -1
  160. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.js +19 -18
  161. package/dist/_esm5.processed/core/fetchers/utils/error_selector.d.ts +1 -1
  162. package/dist/_esm5.processed/core/fetchers/utils/error_selector.js +1 -1
  163. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +3 -3
  164. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +25 -25
  165. package/dist/_esm5.processed/core/init/directfile_content_initializer.d.ts +4 -4
  166. package/dist/_esm5.processed/core/init/directfile_content_initializer.js +21 -17
  167. package/dist/_esm5.processed/core/init/index.d.ts +2 -1
  168. package/dist/_esm5.processed/core/init/index.js +1 -1
  169. package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +9 -9
  170. package/dist/_esm5.processed/core/init/media_source_content_initializer.js +64 -32
  171. package/dist/_esm5.processed/core/init/types.d.ts +10 -12
  172. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.d.ts +6 -5
  173. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.js +20 -19
  174. package/dist/_esm5.processed/core/init/utils/create_media_source.d.ts +1 -1
  175. package/dist/_esm5.processed/core/init/utils/create_media_source.js +2 -3
  176. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.d.ts +6 -6
  177. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.js +5 -3
  178. package/dist/_esm5.processed/core/init/utils/end_of_stream.d.ts +1 -1
  179. package/dist/_esm5.processed/core/init/utils/get_initial_time.d.ts +1 -1
  180. package/dist/_esm5.processed/core/init/utils/get_initial_time.js +12 -15
  181. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.d.ts +3 -3
  182. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.js +1 -2
  183. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.d.ts +9 -9
  184. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.js +39 -3
  185. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.d.ts +9 -8
  186. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.js +12 -9
  187. package/dist/_esm5.processed/core/init/utils/media_source_duration_updater.js +10 -7
  188. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.d.ts +7 -6
  189. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +24 -24
  190. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/are_same_stream_events.js +1 -3
  191. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/index.d.ts +1 -1
  192. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +2 -2
  193. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +14 -6
  194. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.d.ts +3 -3
  195. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.js +12 -19
  196. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/types.d.ts +1 -1
  197. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.d.ts +1 -1
  198. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.js +11 -6
  199. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.d.ts +6 -6
  200. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +12 -13
  201. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.d.ts +3 -2
  202. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +6 -9
  203. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +3 -2
  204. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +1 -1
  205. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.d.ts +2 -1
  206. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +7 -7
  207. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.d.ts +1 -1
  208. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +4 -4
  209. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/update_proportional_elements.js +1 -2
  210. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.d.ts +1 -1
  211. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +2 -6
  212. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +2 -1
  213. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +2 -2
  214. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/parsers.d.ts +1 -1
  215. package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +5 -7
  216. package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +1 -1
  217. package/dist/_esm5.processed/core/segment_buffers/index.d.ts +8 -4
  218. package/dist/_esm5.processed/core/segment_buffers/index.js +2 -2
  219. package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.d.ts +1 -1
  220. package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +6 -4
  221. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +4 -4
  222. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +63 -54
  223. package/dist/_esm5.processed/core/segment_buffers/inventory/types.d.ts +1 -1
  224. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +2 -2
  225. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +17 -23
  226. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +3 -3
  227. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +49 -22
  228. package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +8 -7
  229. package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.d.ts +7 -6
  230. package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.js +2 -1
  231. package/dist/_esm5.processed/core/stream/index.d.ts +6 -5
  232. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.d.ts +3 -3
  233. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.js +2 -2
  234. package/dist/_esm5.processed/core/stream/orchestrator/index.d.ts +3 -2
  235. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +9 -7
  236. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +47 -34
  237. package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +3 -3
  238. package/dist/_esm5.processed/core/stream/period/period_stream.js +49 -16
  239. package/dist/_esm5.processed/core/stream/period/types.d.ts +15 -12
  240. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +9 -9
  241. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +26 -25
  242. package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +3 -3
  243. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +47 -23
  244. package/dist/_esm5.processed/core/stream/representation/types.d.ts +9 -8
  245. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.d.ts +4 -4
  246. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.js +10 -7
  247. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.d.ts +4 -3
  248. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.js +16 -18
  249. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.d.ts +7 -6
  250. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.js +11 -11
  251. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.d.ts +2 -2
  252. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.js +6 -8
  253. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.d.ts +5 -4
  254. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +40 -19
  255. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.d.ts +4 -3
  256. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +27 -28
  257. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.d.ts +6 -5
  258. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.js +7 -5
  259. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.d.ts +8 -7
  260. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.js +13 -10
  261. package/dist/_esm5.processed/default_config.js +20 -16
  262. package/dist/_esm5.processed/errors/encrypted_media_error.d.ts +2 -2
  263. package/dist/_esm5.processed/errors/encrypted_media_error.js +1 -1
  264. package/dist/_esm5.processed/errors/error_codes.d.ts +1 -1
  265. package/dist/_esm5.processed/errors/error_codes.js +1 -1
  266. package/dist/_esm5.processed/errors/format_error.d.ts +2 -2
  267. package/dist/_esm5.processed/errors/format_error.js +1 -2
  268. package/dist/_esm5.processed/errors/index.d.ts +6 -3
  269. package/dist/_esm5.processed/errors/index.js +2 -2
  270. package/dist/_esm5.processed/errors/is_known_error.d.ts +1 -1
  271. package/dist/_esm5.processed/errors/is_known_error.js +2 -2
  272. package/dist/_esm5.processed/errors/media_error.d.ts +3 -3
  273. package/dist/_esm5.processed/errors/media_error.js +4 -7
  274. package/dist/_esm5.processed/errors/network_error.d.ts +2 -2
  275. package/dist/_esm5.processed/errors/network_error.js +3 -3
  276. package/dist/_esm5.processed/errors/other_error.d.ts +1 -1
  277. package/dist/_esm5.processed/errors/other_error.js +1 -1
  278. package/dist/_esm5.processed/errors/request_error.d.ts +1 -1
  279. package/dist/_esm5.processed/experimental/features/dash_wasm.d.ts +2 -2
  280. package/dist/_esm5.processed/experimental/features/debug_element.d.ts +1 -1
  281. package/dist/_esm5.processed/experimental/features/local.d.ts +1 -1
  282. package/dist/_esm5.processed/experimental/features/metaplaylist.d.ts +1 -1
  283. package/dist/_esm5.processed/experimental/index.d.ts +1 -1
  284. package/dist/_esm5.processed/experimental/index.js +1 -1
  285. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
  286. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
  287. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
  288. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.js +2 -2
  289. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
  290. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +7 -3
  291. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +1 -1
  292. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +1 -2
  293. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -2
  294. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +2 -2
  295. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.d.ts +3 -2
  296. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +2 -2
  297. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +12 -18
  298. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +13 -23
  299. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.d.ts +1 -1
  300. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +8 -7
  301. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.d.ts +1 -1
  302. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.js +9 -13
  303. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +4 -3
  304. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +5 -3
  305. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.d.ts +1 -1
  306. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.js +10 -47
  307. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts +2 -1
  308. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +8 -5
  309. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.d.ts +2 -1
  310. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +21 -13
  311. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +2 -1
  312. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +22 -18
  313. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +4 -7
  314. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.d.ts +1 -1
  315. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +2 -1
  316. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +3 -5
  317. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.d.ts +1 -1
  318. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +4 -10
  319. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts +2 -1
  320. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -3
  321. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +2 -1
  322. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +2 -3
  323. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.d.ts +2 -2
  324. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
  325. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.js +6 -6
  326. package/dist/_esm5.processed/experimental/tools/parseBIFThumbnails.js +5 -4
  327. package/dist/_esm5.processed/features/add_features.d.ts +1 -1
  328. package/dist/_esm5.processed/features/features_object.d.ts +1 -1
  329. package/dist/_esm5.processed/features/features_object.js +4 -3
  330. package/dist/_esm5.processed/features/index.d.ts +3 -2
  331. package/dist/_esm5.processed/features/index.js +1 -1
  332. package/dist/_esm5.processed/features/list/bif_parser.d.ts +1 -1
  333. package/dist/_esm5.processed/features/list/dash.d.ts +1 -1
  334. package/dist/_esm5.processed/features/list/directfile.d.ts +1 -1
  335. package/dist/_esm5.processed/features/list/eme.d.ts +1 -1
  336. package/dist/_esm5.processed/features/list/html_sami_parser.d.ts +1 -1
  337. package/dist/_esm5.processed/features/list/html_srt_parser.d.ts +1 -1
  338. package/dist/_esm5.processed/features/list/html_text_buffer.d.ts +1 -1
  339. package/dist/_esm5.processed/features/list/html_ttml_parser.d.ts +1 -1
  340. package/dist/_esm5.processed/features/list/html_vtt_parser.d.ts +1 -1
  341. package/dist/_esm5.processed/features/list/image_buffer.d.ts +1 -1
  342. package/dist/_esm5.processed/features/list/native_sami_parser.d.ts +1 -1
  343. package/dist/_esm5.processed/features/list/native_srt_parser.d.ts +1 -1
  344. package/dist/_esm5.processed/features/list/native_text_buffer.d.ts +1 -1
  345. package/dist/_esm5.processed/features/list/native_ttml_parser.d.ts +1 -1
  346. package/dist/_esm5.processed/features/list/native_vtt_parser.d.ts +1 -1
  347. package/dist/_esm5.processed/features/list/smooth.d.ts +1 -1
  348. package/dist/_esm5.processed/features/types.d.ts +11 -11
  349. package/dist/_esm5.processed/manifest/adaptation.d.ts +3 -3
  350. package/dist/_esm5.processed/manifest/adaptation.js +24 -14
  351. package/dist/_esm5.processed/manifest/index.d.ts +9 -5
  352. package/dist/_esm5.processed/manifest/index.js +4 -8
  353. package/dist/_esm5.processed/manifest/manifest.d.ts +8 -7
  354. package/dist/_esm5.processed/manifest/manifest.js +37 -33
  355. package/dist/_esm5.processed/manifest/period.d.ts +4 -4
  356. package/dist/_esm5.processed/manifest/period.js +7 -14
  357. package/dist/_esm5.processed/manifest/representation.d.ts +4 -4
  358. package/dist/_esm5.processed/manifest/representation.js +5 -5
  359. package/dist/_esm5.processed/manifest/representation_index/index.d.ts +3 -2
  360. package/dist/_esm5.processed/manifest/representation_index/index.js +1 -1
  361. package/dist/_esm5.processed/manifest/representation_index/static.d.ts +1 -1
  362. package/dist/_esm5.processed/manifest/representation_index/static.js +6 -2
  363. package/dist/_esm5.processed/manifest/representation_index/types.d.ts +6 -5
  364. package/dist/_esm5.processed/manifest/update_period_in_place.d.ts +3 -3
  365. package/dist/_esm5.processed/manifest/update_period_in_place.js +9 -9
  366. package/dist/_esm5.processed/manifest/update_periods.d.ts +2 -2
  367. package/dist/_esm5.processed/manifest/update_periods.js +6 -3
  368. package/dist/_esm5.processed/manifest/utils.d.ts +4 -4
  369. package/dist/_esm5.processed/manifest/utils.js +6 -4
  370. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.d.ts +1 -1
  371. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.js +5 -4
  372. package/dist/_esm5.processed/parsers/containers/isobmff/drm/playready.js +2 -3
  373. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +3 -5
  374. package/dist/_esm5.processed/parsers/containers/isobmff/index.d.ts +5 -4
  375. package/dist/_esm5.processed/parsers/containers/isobmff/index.js +4 -4
  376. package/dist/_esm5.processed/parsers/containers/isobmff/read.d.ts +1 -1
  377. package/dist/_esm5.processed/parsers/containers/isobmff/read.js +9 -9
  378. package/dist/_esm5.processed/parsers/containers/isobmff/take_pssh_out.js +3 -4
  379. package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +51 -41
  380. package/dist/_esm5.processed/parsers/containers/matroska/index.d.ts +2 -1
  381. package/dist/_esm5.processed/parsers/containers/matroska/index.js +1 -1
  382. package/dist/_esm5.processed/parsers/containers/matroska/utils.js +29 -16
  383. package/dist/_esm5.processed/parsers/images/bif.js +15 -5
  384. package/dist/_esm5.processed/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
  385. package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.js +1 -3
  386. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
  387. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
  388. package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.js +4 -12
  389. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
  390. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +4 -5
  391. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
  392. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +5 -2
  393. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
  394. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.js +5 -6
  395. package/dist/_esm5.processed/parsers/manifest/dash/common/index.d.ts +3 -2
  396. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +4 -4
  397. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +34 -28
  398. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +2 -2
  399. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +7 -4
  400. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
  401. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -11
  402. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/index.d.ts +10 -5
  403. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -2
  404. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +30 -18
  405. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +3 -3
  406. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +56 -55
  407. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +1 -1
  408. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +2 -6
  409. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +1 -1
  410. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +11 -15
  411. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
  412. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +12 -9
  413. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +1 -1
  414. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +29 -19
  415. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/index.d.ts +3 -2
  416. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +6 -6
  417. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +73 -59
  418. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +2 -4
  419. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
  420. package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.js +7 -8
  421. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +4 -4
  422. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +52 -50
  423. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_availability_start_time.d.ts +1 -1
  424. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +6 -6
  425. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +52 -31
  426. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +4 -4
  427. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +41 -30
  428. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +4 -4
  429. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +1 -2
  430. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +4 -4
  431. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +63 -64
  432. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
  433. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +4 -2
  434. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +1 -1
  435. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +73 -37
  436. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +1 -1
  437. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +1 -2
  438. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +1 -1
  439. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +1 -1
  440. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +1 -1
  441. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +13 -7
  442. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +1 -1
  443. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +5 -3
  444. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +1 -1
  445. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.js +44 -27
  446. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +1 -1
  447. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.js +14 -8
  448. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +1 -1
  449. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +36 -18
  450. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +1 -1
  451. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +36 -18
  452. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +1 -1
  453. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +1 -1
  454. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +17 -8
  455. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +1 -1
  456. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +1 -1
  457. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +9 -5
  458. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +8 -26
  459. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +6 -12
  460. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.d.ts +2 -2
  461. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +9 -4
  462. package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +2 -2
  463. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/index.d.ts +3 -2
  464. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +1 -1
  465. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +29 -16
  466. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +3 -2
  467. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +22 -35
  468. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
  469. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +2 -2
  470. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +2 -2
  471. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +3 -1
  472. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +3 -2
  473. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +2 -4
  474. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts +3 -0
  475. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.js +9 -0
  476. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +3 -2
  477. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +5 -5
  478. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +3 -2
  479. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +9 -6
  480. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +3 -2
  481. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +8 -16
  482. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +2 -2
  483. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +2 -2
  484. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +5 -10
  485. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +3 -2
  486. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +2 -2
  487. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +11 -18
  488. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
  489. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +2 -4
  490. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +3 -2
  491. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +5 -5
  492. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
  493. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +5 -6
  494. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts +1 -1
  495. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +1 -2
  496. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  497. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +1 -1
  498. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.js +2 -4
  499. package/dist/_esm5.processed/parsers/manifest/local/index.d.ts +1 -1
  500. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
  501. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +25 -16
  502. package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -2
  503. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +5 -10
  504. package/dist/_esm5.processed/parsers/manifest/metaplaylist/index.d.ts +3 -2
  505. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
  506. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +33 -29
  507. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +2 -2
  508. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +9 -7
  509. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +3 -3
  510. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +136 -109
  511. package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +3 -3
  512. package/dist/_esm5.processed/parsers/manifest/smooth/index.d.ts +4 -2
  513. package/dist/_esm5.processed/parsers/manifest/smooth/index.js +1 -1
  514. package/dist/_esm5.processed/parsers/manifest/smooth/parse_C_nodes.js +6 -6
  515. package/dist/_esm5.processed/parsers/manifest/smooth/parse_protection_node.js +12 -8
  516. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +2 -2
  517. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +48 -53
  518. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +10 -7
  519. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.d.ts +1 -1
  520. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.js +2 -3
  521. package/dist/_esm5.processed/parsers/manifest/types.d.ts +2 -2
  522. package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
  523. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.d.ts +1 -1
  524. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +9 -6
  525. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
  526. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.js +5 -4
  527. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
  528. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.js +5 -4
  529. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.d.ts +1 -1
  530. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.js +10 -16
  531. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.d.ts +1 -1
  532. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.js +4 -10
  533. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +1 -1
  534. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +4 -5
  535. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
  536. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +18 -18
  537. package/dist/_esm5.processed/parsers/texttracks/index.d.ts +1 -1
  538. package/dist/_esm5.processed/parsers/texttracks/sami/html.d.ts +1 -1
  539. package/dist/_esm5.processed/parsers/texttracks/sami/html.js +15 -15
  540. package/dist/_esm5.processed/parsers/texttracks/sami/native.d.ts +1 -1
  541. package/dist/_esm5.processed/parsers/texttracks/sami/native.js +7 -14
  542. package/dist/_esm5.processed/parsers/texttracks/srt/html.js +6 -6
  543. package/dist/_esm5.processed/parsers/texttracks/srt/native.d.ts +1 -1
  544. package/dist/_esm5.processed/parsers/texttracks/srt/native.js +1 -7
  545. package/dist/_esm5.processed/parsers/texttracks/srt/parse_cue.js +4 -8
  546. package/dist/_esm5.processed/parsers/texttracks/ttml/get_parameters.js +4 -8
  547. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
  548. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.js +6 -8
  549. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +2 -2
  550. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +2 -6
  551. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +3 -4
  552. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +2 -6
  553. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_padding.js +2 -6
  554. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.d.ts +2 -2
  555. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.js +22 -21
  556. package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +2 -2
  557. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
  558. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.js +5 -3
  559. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
  560. package/dist/_esm5.processed/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +34 -19
  561. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
  562. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.js +9 -10
  563. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
  564. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.d.ts +3 -3
  565. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.js +28 -16
  566. package/dist/_esm5.processed/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
  567. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
  568. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.js +2 -2
  569. package/dist/_esm5.processed/parsers/texttracks/types.d.ts +1 -1
  570. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_cue_blocks.js +1 -1
  571. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_style_blocks.js +2 -1
  572. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
  573. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.d.ts +1 -1
  574. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +6 -12
  575. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
  576. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.js +7 -8
  577. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/index.d.ts +1 -1
  578. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_style_block.js +4 -4
  579. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_webvtt_to_div.d.ts +1 -1
  580. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
  581. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.js +4 -10
  582. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.d.ts +1 -1
  583. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -6
  584. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
  585. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.d.ts +1 -1
  586. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.js +1 -1
  587. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.js +2 -4
  588. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_timestamp.js +1 -2
  589. package/dist/_esm5.processed/parsers/texttracks/webvtt/utils.js +6 -6
  590. package/dist/_esm5.processed/public_types.d.ts +13 -11
  591. package/dist/_esm5.processed/tools/TextTrackRenderer/index.d.ts +3 -2
  592. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
  593. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +15 -10
  594. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.d.ts +1 -1
  595. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +2 -3
  596. package/dist/_esm5.processed/transports/dash/construct_segment_url.d.ts +2 -2
  597. package/dist/_esm5.processed/transports/dash/construct_segment_url.js +5 -3
  598. package/dist/_esm5.processed/transports/dash/extract_complete_chunks.js +2 -2
  599. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
  600. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.js +9 -10
  601. package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +3 -3
  602. package/dist/_esm5.processed/transports/dash/image_pipelines.js +32 -19
  603. package/dist/_esm5.processed/transports/dash/init_segment_loader.d.ts +3 -3
  604. package/dist/_esm5.processed/transports/dash/init_segment_loader.js +46 -22
  605. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.d.ts +2 -2
  606. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.js +13 -9
  607. package/dist/_esm5.processed/transports/dash/manifest_parser.d.ts +2 -2
  608. package/dist/_esm5.processed/transports/dash/manifest_parser.js +35 -22
  609. package/dist/_esm5.processed/transports/dash/pipelines.d.ts +1 -1
  610. package/dist/_esm5.processed/transports/dash/pipelines.js +11 -15
  611. package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +4 -4
  612. package/dist/_esm5.processed/transports/dash/segment_loader.js +30 -21
  613. package/dist/_esm5.processed/transports/dash/segment_parser.d.ts +2 -2
  614. package/dist/_esm5.processed/transports/dash/segment_parser.js +47 -21
  615. package/dist/_esm5.processed/transports/dash/text_loader.d.ts +2 -2
  616. package/dist/_esm5.processed/transports/dash/text_loader.js +19 -19
  617. package/dist/_esm5.processed/transports/dash/text_parser.d.ts +2 -2
  618. package/dist/_esm5.processed/transports/dash/text_parser.js +45 -24
  619. package/dist/_esm5.processed/transports/local/pipelines.d.ts +1 -1
  620. package/dist/_esm5.processed/transports/local/pipelines.js +7 -8
  621. package/dist/_esm5.processed/transports/local/segment_loader.d.ts +3 -3
  622. package/dist/_esm5.processed/transports/local/segment_loader.js +14 -6
  623. package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
  624. package/dist/_esm5.processed/transports/local/segment_parser.js +31 -13
  625. package/dist/_esm5.processed/transports/local/text_parser.d.ts +1 -1
  626. package/dist/_esm5.processed/transports/local/text_parser.js +44 -19
  627. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.d.ts +4 -4
  628. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.js +9 -5
  629. package/dist/_esm5.processed/transports/metaplaylist/pipelines.d.ts +1 -1
  630. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +25 -18
  631. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.d.ts +2 -2
  632. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +16 -15
  633. package/dist/_esm5.processed/transports/smooth/isobmff/create_audio_init_segment.js +3 -3
  634. package/dist/_esm5.processed/transports/smooth/isobmff/create_boxes.js +14 -32
  635. package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.js +2 -2
  636. package/dist/_esm5.processed/transports/smooth/isobmff/create_traf_box.js +2 -2
  637. package/dist/_esm5.processed/transports/smooth/isobmff/get_aaces_header.js +4 -16
  638. package/dist/_esm5.processed/transports/smooth/isobmff/index.d.ts +4 -2
  639. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfrf.js +2 -2
  640. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfxd.js +1 -1
  641. package/dist/_esm5.processed/transports/smooth/isobmff/patch_segment.js +11 -10
  642. package/dist/_esm5.processed/transports/smooth/pipelines.d.ts +1 -1
  643. package/dist/_esm5.processed/transports/smooth/pipelines.js +121 -79
  644. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +3 -3
  645. package/dist/_esm5.processed/transports/smooth/segment_loader.js +53 -27
  646. package/dist/_esm5.processed/transports/smooth/utils.d.ts +2 -2
  647. package/dist/_esm5.processed/transports/smooth/utils.js +7 -5
  648. package/dist/_esm5.processed/transports/types.d.ts +11 -25
  649. package/dist/_esm5.processed/transports/utils/byte_range.js +1 -2
  650. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.d.ts +3 -3
  651. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +13 -7
  652. package/dist/_esm5.processed/transports/utils/check_isobmff_integrity.js +3 -3
  653. package/dist/_esm5.processed/transports/utils/find_complete_box.js +3 -2
  654. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.d.ts +3 -3
  655. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.js +18 -6
  656. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
  657. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +12 -11
  658. package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +1 -1
  659. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +1 -3
  660. package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +4 -4
  661. package/dist/_esm5.processed/transports/utils/parse_text_track.js +9 -6
  662. package/dist/_esm5.processed/utils/are_codecs_compatible.js +5 -1
  663. package/dist/_esm5.processed/utils/array_includes.js +2 -6
  664. package/dist/_esm5.processed/utils/assert.js +3 -4
  665. package/dist/_esm5.processed/utils/base64.js +87 -29
  666. package/dist/_esm5.processed/utils/byte_parsing.js +60 -56
  667. package/dist/_esm5.processed/utils/cancellable_sleep.d.ts +1 -1
  668. package/dist/_esm5.processed/utils/create_cancellable_promise.d.ts +1 -1
  669. package/dist/_esm5.processed/utils/deep_merge.js +4 -4
  670. package/dist/_esm5.processed/utils/event_emitter.d.ts +1 -1
  671. package/dist/_esm5.processed/utils/get_fuzzed_delay.js +1 -1
  672. package/dist/_esm5.processed/utils/hash_buffer.js +1 -1
  673. package/dist/_esm5.processed/utils/initialization_segment_cache.d.ts +2 -2
  674. package/dist/_esm5.processed/utils/languages/index.d.ts +4 -2
  675. package/dist/_esm5.processed/utils/languages/index.js +2 -2
  676. package/dist/_esm5.processed/utils/languages/normalize.d.ts +2 -1
  677. package/dist/_esm5.processed/utils/languages/normalize.js +5 -3
  678. package/dist/_esm5.processed/utils/logger.js +7 -14
  679. package/dist/_esm5.processed/utils/object_assign.js +5 -5
  680. package/dist/_esm5.processed/utils/object_values.d.ts +1 -1
  681. package/dist/_esm5.processed/utils/object_values.js +2 -3
  682. package/dist/_esm5.processed/utils/ranges.d.ts +2 -1
  683. package/dist/_esm5.processed/utils/ranges.js +19 -23
  684. package/dist/_esm5.processed/utils/reference.d.ts +3 -3
  685. package/dist/_esm5.processed/utils/reference.js +1 -3
  686. package/dist/_esm5.processed/utils/request/fetch.d.ts +1 -1
  687. package/dist/_esm5.processed/utils/request/fetch.js +34 -23
  688. package/dist/_esm5.processed/utils/request/index.d.ts +6 -3
  689. package/dist/_esm5.processed/utils/request/index.js +2 -2
  690. package/dist/_esm5.processed/utils/request/xhr.d.ts +1 -1
  691. package/dist/_esm5.processed/utils/request/xhr.js +28 -17
  692. package/dist/_esm5.processed/utils/retry_promise_with_backoff.d.ts +2 -2
  693. package/dist/_esm5.processed/utils/slice_uint8array.js +3 -3
  694. package/dist/_esm5.processed/utils/starts_with.js +3 -3
  695. package/dist/_esm5.processed/utils/string_parsing.js +16 -18
  696. package/dist/_esm5.processed/utils/task_canceller.js +1 -2
  697. package/dist/_esm5.processed/utils/uniq.d.ts +1 -1
  698. package/dist/_esm5.processed/utils/uniq.js +4 -3
  699. package/dist/_esm5.processed/utils/weak_map_memory.js +0 -1
  700. package/dist/_esm5.processed/utils/wrapInPromise.d.ts +1 -1
  701. package/dist/mpd-parser.wasm +0 -0
  702. package/dist/rx-player.js +334 -234
  703. package/dist/rx-player.min.js +1 -1
  704. package/experimental/features/index.d.ts-E +16 -0
  705. package/experimental/features/index.js-E +16 -0
  706. package/experimental/index.d.ts +1 -1
  707. package/experimental/index.d.ts-E +16 -0
  708. package/experimental/index.js +1 -1
  709. package/experimental/index.js-E +16 -0
  710. package/experimental/tools/VideoThumbnailLoader/index.d.ts-E +18 -0
  711. package/experimental/tools/VideoThumbnailLoader/index.js-E +18 -0
  712. package/experimental/tools/index.d.ts-E +16 -0
  713. package/experimental/tools/index.js-E +16 -0
  714. package/features/index.d.ts-E +16 -0
  715. package/features/index.js-E +16 -0
  716. package/logger/index.d.ts-E +17 -0
  717. package/logger/index.js-E +17 -0
  718. package/minimal/index.d.ts-E +17 -0
  719. package/minimal/index.js-E +17 -0
  720. package/package.json +27 -12
  721. package/tools/TextTrackRenderer.d.ts-E +18 -0
  722. package/tools/TextTrackRenderer.js-E +18 -0
  723. package/tools/index.d.ts-E +16 -0
  724. package/tools/index.js-E +16 -0
  725. package/tools/string-utils.d.ts-E +18 -0
  726. package/tools/string-utils.js-E +18 -0
  727. package/types/index.d.ts-E +16 -0
  728. package/types/index.js-E +15 -0
package/dist/rx-player.js CHANGED
@@ -348,17 +348,6 @@ function eventPrefixed(eventNames, prefixes) {
348
348
  }));
349
349
  }, []);
350
350
  }
351
- /**
352
- * Returns a function allowing to add event listeners for particular event(s)
353
- * optionally automatically adding browser prefixes if needed.
354
- * @param {Array.<string>} eventNames - The event(s) to listen to. If multiple
355
- * events are set, the event listener will be triggered when any of them emits.
356
- * @param {Array.<string>|undefined} [prefixes] - Optional vendor prefixes with
357
- * which the event might also be sent. If not defined, default prefixes might be
358
- * tested.
359
- * @returns {Function} - Returns function allowing to easily add a callback to
360
- * be triggered when that event is emitted on a given event target.
361
- */
362
351
  function createCompatibleEventListener(eventNames, prefixes) {
363
352
  var mem;
364
353
  var prefixedEvents = eventPrefixed(eventNames, prefixes);
@@ -1861,7 +1850,7 @@ var DEFAULT_CONFIG = {
1861
1850
  * Defined in order of importance (first will be tested first etc.)
1862
1851
  * @type {Array.<string>}
1863
1852
  */
1864
- EME_DEFAULT_VIDEO_CODECS: ["video/mp4;codecs=\"avc1.4d401e\"", "video/mp4;codecs=\"avc1.42e01e\"", "video/webm;codecs=\"vp8\""],
1853
+ EME_DEFAULT_VIDEO_CODECS: ['video/mp4;codecs="avc1.4d401e"', 'video/mp4;codecs="avc1.42e01e"', 'video/webm;codecs="vp8"'],
1865
1854
  /**
1866
1855
  * Codecs used in the audioCapabilities of the MediaKeySystemConfiguration
1867
1856
  * (DRM).
@@ -1869,7 +1858,7 @@ var DEFAULT_CONFIG = {
1869
1858
  * Defined in order of importance (first will be tested first etc.)
1870
1859
  * @type {Array.<string>}
1871
1860
  */
1872
- EME_DEFAULT_AUDIO_CODECS: ["audio/mp4;codecs=\"mp4a.40.2\"", "audio/webm;codecs=opus"],
1861
+ EME_DEFAULT_AUDIO_CODECS: ['audio/mp4;codecs="mp4a.40.2"', "audio/webm;codecs=opus"],
1873
1862
  /**
1874
1863
  * Robustnesses used in the {audio,video}Capabilities of the
1875
1864
  * MediaKeySystemConfiguration (DRM).
@@ -2198,21 +2187,6 @@ function deepMerge(target) {
2198
2187
  return deepMerge.apply(void 0, [target].concat(sources));
2199
2188
  }
2200
2189
  ;// CONCATENATED MODULE: ./src/config.ts
2201
- /**
2202
- * Copyright 2015 CANAL+ Group
2203
- *
2204
- * Licensed under the Apache License, Version 2.0 (the "License");
2205
- * you may not use this file except in compliance with the License.
2206
- * You may obtain a copy of the License at
2207
- *
2208
- * http://www.apache.org/licenses/LICENSE-2.0
2209
- *
2210
- * Unless required by applicable law or agreed to in writing, software
2211
- * distributed under the License is distributed on an "AS IS" BASIS,
2212
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2213
- * See the License for the specific language governing permissions and
2214
- * limitations under the License.
2215
- */
2216
2190
 
2217
2191
 
2218
2192
  var ConfigHandler = /*#__PURE__*/function () {
@@ -3171,6 +3145,8 @@ var media_error = __webpack_require__(5575);
3171
3145
  var assert = __webpack_require__(7994);
3172
3146
  // EXTERNAL MODULE: ./src/utils/is_null_or_undefined.ts
3173
3147
  var is_null_or_undefined = __webpack_require__(6787);
3148
+ // EXTERNAL MODULE: ./src/utils/object_assign.ts
3149
+ var object_assign = __webpack_require__(8935);
3174
3150
  // EXTERNAL MODULE: ./src/compat/browser_detection.ts
3175
3151
  var browser_detection = __webpack_require__(443);
3176
3152
  // EXTERNAL MODULE: ./src/compat/event_listeners.ts
@@ -3782,9 +3758,7 @@ function getWebKitFairPlayInitData(initDataBytes, serverCertificateBytes) {
3782
3758
  var contentIdStr = skdIndexInInitData > -1 ? initDataUri.substring(skdIndexInInitData + 6) : initDataUri;
3783
3759
  var id = (0,string_parsing/* strToUtf16LE */.kY)(contentIdStr);
3784
3760
  var offset = 0;
3785
- var res = new Uint8Array(initData.byteLength
3786
- /* id length */ + 4 + id.byteLength
3787
- /* certificate length */ + 4 + serverCertificate.byteLength);
3761
+ var res = new Uint8Array(initData.byteLength + /* id length */4 + id.byteLength + /* certificate length */4 + serverCertificate.byteLength);
3788
3762
  res.set(initData);
3789
3763
  offset += initData.length;
3790
3764
  res.set((0,byte_parsing/* itole4 */.Wz)(id.byteLength), offset);
@@ -4050,6 +4024,7 @@ function getWebKitMediaKeysCallbacks() {
4050
4024
 
4051
4025
 
4052
4026
 
4027
+
4053
4028
  /**
4054
4029
  * Automatically detect and set which EME implementation should be used in the
4055
4030
  * current platform.
@@ -4083,8 +4058,8 @@ function getEmeApiImplementation(preferredApiType) {
4083
4058
  var isTypeSupported;
4084
4059
  var createCustomMediaKeys;
4085
4060
  if (preferredApiType === "webkit" && WebKitMediaKeysConstructor !== undefined) {
4086
- onEncrypted = (0,event_listeners/* createCompatibleEventListener */.jf)(["needkey"]);
4087
4061
  var callbacks = getWebKitMediaKeysCallbacks();
4062
+ onEncrypted = createOnEncryptedForWebkit();
4088
4063
  isTypeSupported = callbacks.isTypeSupported;
4089
4064
  createCustomMediaKeys = callbacks.createCustomMediaKeys;
4090
4065
  setMediaKeys = callbacks.setMediaKeys;
@@ -4100,7 +4075,7 @@ function getEmeApiImplementation(preferredApiType) {
4100
4075
  implementation = "older-webkit";
4101
4076
  // This is for WebKit with prefixed EME api
4102
4077
  } else if (WebKitMediaKeysConstructor !== undefined) {
4103
- onEncrypted = (0,event_listeners/* createCompatibleEventListener */.jf)(["needkey"]);
4078
+ onEncrypted = createOnEncryptedForWebkit();
4104
4079
  var _callbacks2 = getWebKitMediaKeysCallbacks();
4105
4080
  isTypeSupported = _callbacks2.isTypeSupported;
4106
4081
  createCustomMediaKeys = _callbacks2.createCustomMediaKeys;
@@ -4187,6 +4162,22 @@ function getEmeApiImplementation(preferredApiType) {
4187
4162
  implementation: implementation
4188
4163
  };
4189
4164
  }
4165
+ /**
4166
+ * Create an event listener for the "webkitneedkey" event
4167
+ * @returns
4168
+ */
4169
+ function createOnEncryptedForWebkit() {
4170
+ var compatibleEventListener = (0,event_listeners/* createCompatibleEventListener */.jf)(["needkey"], undefined /* prefixes */);
4171
+ var onEncrypted = function onEncrypted(target, listener, cancelSignal) {
4172
+ compatibleEventListener(target, function (event) {
4173
+ var patchedEvent = (0,object_assign/* default */.A)(event, {
4174
+ forceSessionRecreation: true
4175
+ });
4176
+ listener(patchedEvent);
4177
+ }, cancelSignal);
4178
+ };
4179
+ return onEncrypted;
4180
+ }
4190
4181
  /**
4191
4182
  * Set the given MediaKeys on the given HTMLMediaElement.
4192
4183
  * Emits null when done then complete.
@@ -4292,6 +4283,7 @@ var PSSH_TO_INTEGER = (0,byte_parsing/* be4toi */.mq)((0,string_parsing/* strToU
4292
4283
 
4293
4284
 
4294
4285
 
4286
+
4295
4287
  /**
4296
4288
  * Take in input initialization data from an encrypted event and generate the
4297
4289
  * corresponding array of initialization data values from it.
@@ -4381,8 +4373,9 @@ function isPSSHAlreadyEncountered(encounteredPSSHs, pssh) {
4381
4373
  */
4382
4374
  function getInitData(encryptedEvent) {
4383
4375
  var initData = encryptedEvent.initData,
4384
- initDataType = encryptedEvent.initDataType;
4385
- if (initData == null) {
4376
+ initDataType = encryptedEvent.initDataType,
4377
+ forceSessionRecreation = encryptedEvent.forceSessionRecreation;
4378
+ if ((0,is_null_or_undefined/* default */.A)(initData)) {
4386
4379
  log/* default */.A.warn("Compat: No init data found on media encrypted event.");
4387
4380
  return null;
4388
4381
  }
@@ -4390,7 +4383,8 @@ function getInitData(encryptedEvent) {
4390
4383
  var values = getInitializationDataValues(initDataBytes);
4391
4384
  return {
4392
4385
  type: initDataType,
4393
- values: values
4386
+ values: values,
4387
+ forceSessionRecreation: forceSessionRecreation
4394
4388
  };
4395
4389
  }
4396
4390
  // EXTERNAL MODULE: ./src/config.ts + 2 modules
@@ -4454,11 +4448,11 @@ function attachMediaKeys(_x, _x2, _x3) {
4454
4448
  }
4455
4449
  function _attachMediaKeys() {
4456
4450
  _attachMediaKeys = (0,asyncToGenerator/* default */.A)( /*#__PURE__*/regenerator_default().mark(function _callee(mediaElement, _ref, cancelSignal) {
4457
- var emeImplementation, keySystemOptions, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, previousState, closeAllSessions;
4451
+ var emeImplementation, keySystemOptions, askedConfiguration, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, previousState, closeAllSessions;
4458
4452
  return regenerator_default().wrap(function _callee$(_context) {
4459
4453
  while (1) switch (_context.prev = _context.next) {
4460
4454
  case 0:
4461
- emeImplementation = _ref.emeImplementation, keySystemOptions = _ref.keySystemOptions, loadedSessionsStore = _ref.loadedSessionsStore, mediaKeySystemAccess = _ref.mediaKeySystemAccess, mediaKeys = _ref.mediaKeys;
4455
+ emeImplementation = _ref.emeImplementation, keySystemOptions = _ref.keySystemOptions, askedConfiguration = _ref.askedConfiguration, loadedSessionsStore = _ref.loadedSessionsStore, mediaKeySystemAccess = _ref.mediaKeySystemAccess, mediaKeys = _ref.mediaKeys;
4462
4456
  previousState = media_keys_infos_store/* default */.A.getState(mediaElement);
4463
4457
  closeAllSessions = previousState !== null && previousState.loadedSessionsStore !== loadedSessionsStore ? previousState.loadedSessionsStore.closeAllSessions() : Promise.resolve();
4464
4458
  _context.next = 5;
@@ -4475,7 +4469,8 @@ function _attachMediaKeys() {
4475
4469
  keySystemOptions: keySystemOptions,
4476
4470
  mediaKeySystemAccess: mediaKeySystemAccess,
4477
4471
  mediaKeys: mediaKeys,
4478
- loadedSessionsStore: loadedSessionsStore
4472
+ loadedSessionsStore: loadedSessionsStore,
4473
+ askedConfiguration: askedConfiguration
4479
4474
  });
4480
4475
  if (!(mediaElement.mediaKeys === mediaKeys)) {
4481
4476
  _context.next = 10;
@@ -4906,7 +4901,10 @@ function _createOrLoadSession() {
4906
4901
  throw cancelSignal.cancellationError;
4907
4902
  case 16:
4908
4903
  _context.next = 18;
4909
- return cleanOldLoadedSessions(loadedSessionsStore, maxSessionCacheSize);
4904
+ return cleanOldLoadedSessions(loadedSessionsStore,
4905
+ // Account for the next session we will be creating
4906
+ // Note that `maxSessionCacheSize < 0 has special semantic (no limit)`
4907
+ maxSessionCacheSize <= 0 ? maxSessionCacheSize : maxSessionCacheSize - 1);
4910
4908
  case 18:
4911
4909
  if (!(cancelSignal.cancellationError !== null)) {
4912
4910
  _context.next = 20;
@@ -5032,7 +5030,7 @@ function canRelyOnRequestMediaKeySystemAccess(keySystem) {
5032
5030
  * the CDM is capable of creating a session and generating a request.
5033
5031
  */
5034
5032
  var DUMMY_PLAY_READY_HEADER = /* eslint-disable-next-line max-len */
5035
- "<WRMHEADER xmlns=\"http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader\" version=\"4.0.0.0\"><DATA><PROTECTINFO><KEYLEN>16</KEYLEN><ALGID>AESCTR</ALGID></PROTECTINFO><KID>ckB07BNLskeUq0qd83fTbA==</KID><DS_ID>yYIPDBca1kmMfL60IsfgAQ==</DS_ID><CUSTOMATTRIBUTES xmlns=\"\"><encryptionref>312_4024_2018127108</encryptionref></CUSTOMATTRIBUTES><CHECKSUM>U/tsUYRgMzw=</CHECKSUM></DATA></WRMHEADER>";
5033
+ '<WRMHEADER xmlns="http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader" version="4.0.0.0"><DATA><PROTECTINFO><KEYLEN>16</KEYLEN><ALGID>AESCTR</ALGID></PROTECTINFO><KID>ckB07BNLskeUq0qd83fTbA==</KID><DS_ID>yYIPDBca1kmMfL60IsfgAQ==</DS_ID><CUSTOMATTRIBUTES xmlns=""><encryptionref>312_4024_2018127108</encryptionref></CUSTOMATTRIBUTES><CHECKSUM>U/tsUYRgMzw=</CHECKSUM></DATA></WRMHEADER>';
5036
5034
  /**
5037
5035
  * Generate the "cenc" init data for playready from the PlayreadyHeader string.
5038
5036
  * @param {string} playreadyHeader - String representing the PlayreadyHeader XML.
@@ -5057,8 +5055,7 @@ function generatePlayReadyInitData(playreadyHeader) {
5057
5055
  // 2 bytes for record type
5058
5056
  recordLength,
5059
5057
  // 2 bytes for record length
5060
- recordValueEncoded // X bytes for record value
5061
- );
5058
+ recordValueEncoded);
5062
5059
  /** the systemId is define at https://dashif.org/identifiers/content_protection/ */
5063
5060
  var playreadySystemId = (0,string_parsing/* hexToBytes */.aT)("9a04f07998404286ab92e65be0885f95");
5064
5061
  return generateInitData(playReadyObject, playreadySystemId);
@@ -5085,8 +5082,7 @@ function generateInitData(data, systemId) {
5085
5082
  // 16 bytes for the systemId
5086
5083
  sizeOfData,
5087
5084
  // 4 bytes for the data size
5088
- data // X bytes for data
5089
- );
5085
+ data);
5090
5086
  }
5091
5087
  // EXTERNAL MODULE: ./src/utils/flat_map.ts
5092
5088
  var flat_map = __webpack_require__(3262);
@@ -5121,11 +5117,12 @@ var flat_map = __webpack_require__(3262);
5121
5117
 
5122
5118
  /**
5123
5119
  * @param {Array.<Object>} keySystems
5120
+ * @param {Object} askedConfiguration
5124
5121
  * @param {MediaKeySystemAccess} currentKeySystemAccess
5125
5122
  * @param {Object} currentKeySystemOptions
5126
5123
  * @returns {null|Object}
5127
5124
  */
5128
- function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, currentKeySystemOptions) {
5125
+ function checkCachedMediaKeySystemAccess(keySystems, askedConfiguration, currentKeySystemAccess, currentKeySystemOptions) {
5129
5126
  var mksConfiguration = currentKeySystemAccess.getConfiguration();
5130
5127
  if (shouldRenewMediaKeySystemAccess() || mksConfiguration == null) {
5131
5128
  return null;
@@ -5146,7 +5143,8 @@ function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, cur
5146
5143
  if (firstCompatibleOption != null) {
5147
5144
  return {
5148
5145
  keySystemOptions: firstCompatibleOption,
5149
- keySystemAccess: currentKeySystemAccess
5146
+ keySystemAccess: currentKeySystemAccess,
5147
+ askedConfiguration: askedConfiguration
5150
5148
  };
5151
5149
  }
5152
5150
  return null;
@@ -5268,6 +5266,10 @@ function buildKeySystemConfigurations(ksName, ksType, keySystem) {
5268
5266
  persistentState: persistentState,
5269
5267
  sessionTypes: sessionTypes
5270
5268
  };
5269
+ if (!(0,is_null_or_undefined/* default */.A)(keySystem.audioRobustnesses) || !(0,is_null_or_undefined/* default */.A)(keySystem.videoRobustnesses)) {
5270
+ // If the user specifically asked for robustnesses, we don't want to try without them
5271
+ return [wantedMediaKeySystemConfiguration];
5272
+ }
5271
5273
  return [wantedMediaKeySystemConfiguration,
5272
5274
  // Some legacy implementations have issues with `audioCapabilities` and
5273
5275
  // `videoCapabilities`, so we're including a supplementary
@@ -5300,13 +5302,14 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
5300
5302
  if (eme.implementation === currentState.emeImplementation.implementation) {
5301
5303
  // Fast way to find a compatible keySystem if the currently loaded
5302
5304
  // one as exactly the same compatibility options.
5303
- var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
5305
+ var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.askedConfiguration, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
5304
5306
  if (cachedKeySystemAccess !== null) {
5305
5307
  log/* default */.A.info("DRM: Found cached compatible keySystem");
5306
5308
  return Promise.resolve({
5307
5309
  type: "reuse-media-key-system-access",
5308
5310
  value: {
5309
5311
  mediaKeySystemAccess: cachedKeySystemAccess.keySystemAccess,
5312
+ askedConfiguration: cachedKeySystemAccess.askedConfiguration,
5310
5313
  options: cachedKeySystemAccess.keySystemOptions
5311
5314
  }
5312
5315
  });
@@ -5362,7 +5365,7 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
5362
5365
  }
5363
5366
  function _recursivelyTestKeySystems() {
5364
5367
  _recursivelyTestKeySystems = (0,asyncToGenerator/* default */.A)( /*#__PURE__*/regenerator_default().mark(function _callee(index) {
5365
- var _keySystemsType$index, keyName, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess;
5368
+ var _keySystemsType$index, keyName, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, configIdx, keySystemConfiguration;
5366
5369
  return regenerator_default().wrap(function _callee$(_context) {
5367
5370
  while (1) switch (_context.prev = _context.next) {
5368
5371
  case 0:
@@ -5381,35 +5384,47 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
5381
5384
  _keySystemsType$index = keySystemsType[index], keyName = _keySystemsType$index.keyName, keyType = _keySystemsType$index.keyType, keySystemOptions = _keySystemsType$index.keySystemOptions;
5382
5385
  keySystemConfigurations = buildKeySystemConfigurations(keyName, keyType, keySystemOptions);
5383
5386
  log/* default */.A.debug("DRM: Request keysystem access " + keyType + "," + (index + 1 + " of " + keySystemsType.length));
5384
- _context.prev = 7;
5385
- _context.next = 10;
5386
- return testKeySystem(keyType, keySystemConfigurations);
5387
- case 10:
5387
+ configIdx = 0;
5388
+ case 8:
5389
+ if (!(configIdx < keySystemConfigurations.length)) {
5390
+ _context.next = 26;
5391
+ break;
5392
+ }
5393
+ keySystemConfiguration = keySystemConfigurations[configIdx];
5394
+ _context.prev = 10;
5395
+ _context.next = 13;
5396
+ return testKeySystem(keyType, [keySystemConfiguration]);
5397
+ case 13:
5388
5398
  keySystemAccess = _context.sent;
5389
5399
  log/* default */.A.info("DRM: Found compatible keysystem", keyType, index + 1);
5390
5400
  return _context.abrupt("return", {
5391
5401
  type: "create-media-key-system-access",
5392
5402
  value: {
5393
5403
  options: keySystemOptions,
5404
+ askedConfiguration: keySystemConfiguration,
5394
5405
  mediaKeySystemAccess: keySystemAccess
5395
5406
  }
5396
5407
  });
5397
- case 15:
5398
- _context.prev = 15;
5399
- _context.t0 = _context["catch"](7);
5400
- log/* default */.A.debug("DRM: Rejected access to keysystem", keyType, index + 1);
5408
+ case 18:
5409
+ _context.prev = 18;
5410
+ _context.t0 = _context["catch"](10);
5411
+ log/* default */.A.debug("DRM: Rejected access to keysystem", keyType, index + 1, configIdx);
5401
5412
  if (!(cancelSignal.cancellationError !== null)) {
5402
- _context.next = 20;
5413
+ _context.next = 23;
5403
5414
  break;
5404
5415
  }
5405
5416
  throw cancelSignal.cancellationError;
5406
- case 20:
5417
+ case 23:
5418
+ configIdx++;
5419
+ _context.next = 8;
5420
+ break;
5421
+ case 26:
5407
5422
  return _context.abrupt("return", recursivelyTestKeySystems(index + 1));
5408
- case 21:
5423
+ case 27:
5409
5424
  case "end":
5410
5425
  return _context.stop();
5411
5426
  }
5412
- }, _callee, null, [[7, 15]]);
5427
+ }, _callee, null, [[10, 18]]);
5413
5428
  }));
5414
5429
  return _recursivelyTestKeySystems.apply(this, arguments);
5415
5430
  }
@@ -5533,7 +5548,7 @@ function patchInitData(initData) {
5533
5548
  }
5534
5549
  var currentPSSH = initData.subarray(offset, offset + len);
5535
5550
  // yep
5536
- if (initData[offset + 12] === 0x10 && initData[offset + 13] === 0x77 && initData[offset + 14] === 0xEF && initData[offset + 15] === 0xEC && initData[offset + 16] === 0xC0 && initData[offset + 17] === 0xB2 && initData[offset + 18] === 0x4D && initData[offset + 19] === 0x02 && initData[offset + 20] === 0xAC && initData[offset + 21] === 0xE3 && initData[offset + 22] === 0x3C && initData[offset + 23] === 0x1E && initData[offset + 24] === 0x52 && initData[offset + 25] === 0xE2 && initData[offset + 26] === 0xFB && initData[offset + 27] === 0x4B) {
5551
+ if (initData[offset + 12] === 0x10 && initData[offset + 13] === 0x77 && initData[offset + 14] === 0xef && initData[offset + 15] === 0xec && initData[offset + 16] === 0xc0 && initData[offset + 17] === 0xb2 && initData[offset + 18] === 0x4d && initData[offset + 19] === 0x02 && initData[offset + 20] === 0xac && initData[offset + 21] === 0xe3 && initData[offset + 22] === 0x3c && initData[offset + 23] === 0x1e && initData[offset + 24] === 0x52 && initData[offset + 25] === 0xe2 && initData[offset + 26] === 0xfb && initData[offset + 27] === 0x4b) {
5537
5552
  var cencOffsets = (0,get_box/* getNextBoxOffsets */.fP)(currentPSSH);
5538
5553
  var version = cencOffsets === null ? undefined : currentPSSH[cencOffsets[1]];
5539
5554
  log/* default */.A.info("Compat: CENC PSSH found with version", version);
@@ -5588,7 +5603,7 @@ function generateKeyRequest(session, initializationDataType, initializationData)
5588
5603
  // a rejected promise with a TypeError in that case).
5589
5604
  // Retry with a default "cenc" value for initialization data type if
5590
5605
  // we're in that condition.
5591
- log/* default */.A.warn("Compat: error while calling `generateRequest` with an empty " + "initialization data type. Retrying with a default \"cenc\" value.", error);
5606
+ log/* default */.A.warn("Compat: error while calling `generateRequest` with an empty " + 'initialization data type. Retrying with a default "cenc" value.', error);
5592
5607
  return session.generateRequest("cenc", patchedInit);
5593
5608
  });
5594
5609
  }
@@ -7329,7 +7344,7 @@ function getMediaKeysInfos(_x, _x2, _x3) {
7329
7344
  */
7330
7345
  function _getMediaKeysInfos() {
7331
7346
  _getMediaKeysInfos = (0,asyncToGenerator/* default */.A)( /*#__PURE__*/regenerator_default().mark(function _callee(mediaElement, keySystemsConfigs, cancelSignal) {
7332
- var evt, _evt$value, options, mediaKeySystemAccess, currentState, persistentSessionsStore, _mediaKeys, _loadedSessionsStore, mediaKeys, loadedSessionsStore;
7347
+ var evt, _evt$value, options, mediaKeySystemAccess, askedConfiguration, currentState, persistentSessionsStore, _mediaKeys, _loadedSessionsStore, mediaKeys, loadedSessionsStore;
7333
7348
  return regenerator_default().wrap(function _callee$(_context) {
7334
7349
  while (1) switch (_context.prev = _context.next) {
7335
7350
  case 0:
@@ -7343,7 +7358,7 @@ function _getMediaKeysInfos() {
7343
7358
  }
7344
7359
  throw cancelSignal.cancellationError;
7345
7360
  case 5:
7346
- _evt$value = evt.value, options = _evt$value.options, mediaKeySystemAccess = _evt$value.mediaKeySystemAccess;
7361
+ _evt$value = evt.value, options = _evt$value.options, mediaKeySystemAccess = _evt$value.mediaKeySystemAccess, askedConfiguration = _evt$value.askedConfiguration;
7347
7362
  currentState = media_keys_infos_store/* default */.A.getState(mediaElement);
7348
7363
  persistentSessionsStore = createPersistentSessionsStorage(options);
7349
7364
  if (!(canReuseMediaKeys() && currentState !== null && evt.type === "reuse-media-key-system-access")) {
@@ -7360,6 +7375,7 @@ function _getMediaKeysInfos() {
7360
7375
  return _context.abrupt("return", {
7361
7376
  mediaKeys: _mediaKeys,
7362
7377
  mediaKeySystemAccess: mediaKeySystemAccess,
7378
+ askedConfiguration: askedConfiguration,
7363
7379
  stores: {
7364
7380
  loadedSessionsStore: _loadedSessionsStore,
7365
7381
  persistentSessionsStore: persistentSessionsStore
@@ -7376,6 +7392,7 @@ function _getMediaKeysInfos() {
7376
7392
  return _context.abrupt("return", {
7377
7393
  mediaKeys: mediaKeys,
7378
7394
  mediaKeySystemAccess: mediaKeySystemAccess,
7395
+ askedConfiguration: askedConfiguration,
7379
7396
  stores: {
7380
7397
  loadedSessionsStore: loadedSessionsStore,
7381
7398
  persistentSessionsStore: persistentSessionsStore
@@ -7858,6 +7875,7 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
7858
7875
  session.closed.then(function () {
7859
7876
  return manualCanceller.cancel();
7860
7877
  })["catch"](function (err) {
7878
+ // Should never happen
7861
7879
  if (cancelSignal.isCancelled()) {
7862
7880
  return;
7863
7881
  }
@@ -8655,7 +8673,8 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
8655
8673
  var options = mediaKeysInfo.options,
8656
8674
  mediaKeys = mediaKeysInfo.mediaKeys,
8657
8675
  mediaKeySystemAccess = mediaKeysInfo.mediaKeySystemAccess,
8658
- stores = mediaKeysInfo.stores;
8676
+ stores = mediaKeysInfo.stores,
8677
+ askedConfiguration = mediaKeysInfo.askedConfiguration;
8659
8678
  var shouldDisableLock = options.disableMediaKeysAttachmentLock === true;
8660
8679
  if (shouldDisableLock) {
8661
8680
  this._stateData = {
@@ -8679,6 +8698,7 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
8679
8698
  loadedSessionsStore: stores.loadedSessionsStore,
8680
8699
  mediaKeySystemAccess: mediaKeySystemAccess,
8681
8700
  mediaKeys: mediaKeys,
8701
+ askedConfiguration: askedConfiguration,
8682
8702
  keySystemOptions: options
8683
8703
  };
8684
8704
  log/* default */.A.debug("DRM: Attaching current MediaKeys");
@@ -8922,7 +8942,7 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
8922
8942
  if (options.persistentLicense !== true) {
8923
8943
  wantedSessionType = "temporary";
8924
8944
  } else if (!canCreatePersistentSession(mediaKeySystemAccess)) {
8925
- log/* default */.A.warn("DRM: Cannot create \"persistent-license\" session: not supported");
8945
+ log/* default */.A.warn('DRM: Cannot create "persistent-license" session: not supported');
8926
8946
  wantedSessionType = "temporary";
8927
8947
  } else {
8928
8948
  wantedSessionType = "persistent-license";
@@ -9077,6 +9097,21 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
9077
9097
  if (compatibleSessionInfo === undefined) {
9078
9098
  return false;
9079
9099
  }
9100
+ /**
9101
+ * On Safari using Directfile, the old EME implementation triggers
9102
+ * the "webkitneedkey" event instead of "encrypted". There's an issue in
9103
+ * Safari where "webkitneedkey" fires too early before all tracks are added
9104
+ * from an HLS playlist.
9105
+ * Safari incorrectly assumes some keys are missing for these tracks,
9106
+ * leading to repeated "webkitneedkey" events. Because RxPlayer recognizes
9107
+ * it already has a session for these keys and ignores the events,
9108
+ * the content remains frozen. To resolve this, the session is re-created.
9109
+ */
9110
+ var forceSessionRecreation = initializationData.forceSessionRecreation;
9111
+ if (forceSessionRecreation === true) {
9112
+ this.removeSessionForInitData(initializationData, mediaKeysData);
9113
+ return false;
9114
+ }
9080
9115
  // Check if the compatible session is blacklisted
9081
9116
  var blacklistedSessionError = compatibleSessionInfo.blacklistedSessionError;
9082
9117
  if (!(0,is_null_or_undefined/* default */.A)(blacklistedSessionError)) {
@@ -9148,6 +9183,39 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
9148
9183
  }
9149
9184
  return false;
9150
9185
  }
9186
+ /**
9187
+ * Remove the session corresponding to the initData provided, and close it.
9188
+ * It does nothing if no session was found for this initData.
9189
+ * @param {Object} initData : The initialization data corresponding to the session
9190
+ * that need to be removed
9191
+ * @param {Object} mediaKeysData : The media keys data
9192
+ */;
9193
+ _proto.removeSessionForInitData = function removeSessionForInitData(initData, mediaKeysData) {
9194
+ var stores = mediaKeysData.stores;
9195
+ /** Remove the session and close it from the loadedSessionStore */
9196
+ var entry = stores.loadedSessionsStore.reuse(initData);
9197
+ if (entry !== null) {
9198
+ stores.loadedSessionsStore.closeSession(entry.mediaKeySession)["catch"](function () {
9199
+ return log/* default */.A.error("DRM: Cannot close the session from the loaded session store");
9200
+ });
9201
+ }
9202
+ /**
9203
+ * If set, a currently-used key session is already compatible to this
9204
+ * initialization data.
9205
+ */
9206
+ var compatibleSessionInfo = (0,array_find/* default */.A)(this._currentSessions, function (x) {
9207
+ return x.record.isCompatibleWith(initData);
9208
+ });
9209
+ if (compatibleSessionInfo === undefined) {
9210
+ return;
9211
+ }
9212
+ /** Remove the session from the currentSessions */
9213
+ var indexOf = this._currentSessions.indexOf(compatibleSessionInfo);
9214
+ if (indexOf !== -1) {
9215
+ log/* default */.A.debug("DRM: A session from a processed init is removed " + "due to forceSessionRecreation policy.");
9216
+ this._currentSessions.splice(indexOf, 1);
9217
+ }
9218
+ }
9151
9219
  /**
9152
9220
  * Callback that should be called if an error that made the current
9153
9221
  * `ContentDecryptor` instance unusable arised.
@@ -9892,21 +9960,27 @@ function getDirectFileInitialTime(mediaElement, startAt) {
9892
9960
  }
9893
9961
  var duration = mediaElement.duration;
9894
9962
  if (typeof startAt.fromLastPosition === "number") {
9895
- if ((0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(duration) || !isFinite(duration)) {
9896
- _log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("startAt.fromLastPosition set but no known duration, " + "beginning at 0.");
9897
- return 0;
9963
+ if (!(0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(duration) && isFinite(duration)) {
9964
+ return Math.max(0, duration + startAt.fromLastPosition);
9965
+ }
9966
+ if (mediaElement.seekable.length > 0) {
9967
+ var lastSegmentEnd = mediaElement.seekable.end(mediaElement.seekable.length - 1);
9968
+ if (isFinite(lastSegmentEnd)) {
9969
+ return Math.max(0, lastSegmentEnd + startAt.fromLastPosition);
9970
+ }
9898
9971
  }
9899
- return Math.max(0, duration + startAt.fromLastPosition);
9972
+ _log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("Init: startAt.fromLastPosition set but no known duration, " + "it may be too soon to seek");
9973
+ return undefined;
9900
9974
  } else if (typeof startAt.fromLivePosition === "number") {
9901
9975
  var livePosition = mediaElement.seekable.length > 0 ? mediaElement.seekable.end(0) : duration;
9902
9976
  if ((0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(livePosition)) {
9903
- _log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("startAt.fromLivePosition set but no known live position, " + "beginning at 0.");
9977
+ _log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("Init: startAt.fromLivePosition set but no known live position, " + "beginning at 0.");
9904
9978
  return 0;
9905
9979
  }
9906
9980
  return Math.max(0, livePosition + startAt.fromLivePosition);
9907
9981
  } else if (startAt.percentage != null) {
9908
9982
  if ((0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(duration) || !isFinite(duration)) {
9909
- _log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("startAt.percentage set but no known duration, " + "beginning at 0.");
9983
+ _log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("Init: startAt.percentage set but no known duration, " + "beginning at 0.");
9910
9984
  return 0;
9911
9985
  }
9912
9986
  var percentage = startAt.percentage;
@@ -12810,9 +12884,9 @@ var ManifestFetcher = /*#__PURE__*/function (_EventEmitter) {
12810
12884
  var externalClockOffset = manifest.clockOffset;
12811
12885
  if (unsafeMode) {
12812
12886
  this._consecutiveUnsafeMode += 1;
12813
- log/* default */.A.info("Init: Refreshing the Manifest in \"unsafeMode\" for the " + String(this._consecutiveUnsafeMode) + " consecutive time.");
12887
+ log/* default */.A.info('Init: Refreshing the Manifest in "unsafeMode" for the ' + String(this._consecutiveUnsafeMode) + " consecutive time.");
12814
12888
  } else if (this._consecutiveUnsafeMode > 0) {
12815
- log/* default */.A.info("Init: Not parsing the Manifest in \"unsafeMode\" anymore after " + String(this._consecutiveUnsafeMode) + " consecutive times.");
12889
+ log/* default */.A.info('Init: Not parsing the Manifest in "unsafeMode" anymore after ' + String(this._consecutiveUnsafeMode) + " consecutive times.");
12816
12890
  this._consecutiveUnsafeMode = 0;
12817
12891
  }
12818
12892
  if (this._isRefreshPending) {
@@ -14458,6 +14532,7 @@ function assertDataIsBufferSource(data) {
14458
14532
 
14459
14533
 
14460
14534
 
14535
+
14461
14536
  var POSSIBLE_BUFFER_TYPES = ["audio", "video", "text", "image"];
14462
14537
  /**
14463
14538
  * Allows to easily create and dispose SegmentBuffers, which are interfaces to
@@ -14619,9 +14694,10 @@ var SegmentBuffersStore = /*#__PURE__*/function () {
14619
14694
  }
14620
14695
  this._initializedSegmentBuffers[bufferType] = null;
14621
14696
  if (SegmentBuffersStore.isNative(bufferType)) {
14622
- this._onNativeBufferAddedOrDisabled.forEach(function (cb) {
14697
+ this._onNativeBufferAddedOrDisabled.slice().forEach(function (cb) {
14623
14698
  return cb();
14624
14699
  });
14700
+ (0,assert/* default */.h)(this._onNativeBufferAddedOrDisabled.length === 0);
14625
14701
  }
14626
14702
  }
14627
14703
  /**
@@ -14654,9 +14730,10 @@ var SegmentBuffersStore = /*#__PURE__*/function () {
14654
14730
  log/* default */.A.info("SB: Adding native SegmentBuffer with codec", codec);
14655
14731
  var nativeSegmentBuffer = new audio_video(bufferType, codec, this._mediaSource);
14656
14732
  this._initializedSegmentBuffers[bufferType] = nativeSegmentBuffer;
14657
- this._onNativeBufferAddedOrDisabled.forEach(function (cb) {
14733
+ this._onNativeBufferAddedOrDisabled.slice().forEach(function (cb) {
14658
14734
  return cb();
14659
14735
  });
14736
+ (0,assert/* default */.h)(this._onNativeBufferAddedOrDisabled.length === 0);
14660
14737
  return nativeSegmentBuffer;
14661
14738
  }
14662
14739
  if (memorizedSegmentBuffer != null) {
@@ -14832,7 +14909,6 @@ var sorted_list = __webpack_require__(7296);
14832
14909
  * ```
14833
14910
  * @class WeakMapMemory
14834
14911
  */
14835
- // eslint-disable-next-line @typescript-eslint/ban-types
14836
14912
  var WeakMapMemory = /*#__PURE__*/function () {
14837
14913
  /**
14838
14914
  * @param {Function}
@@ -17527,7 +17603,7 @@ function AdaptationStream(_ref, callbacks, parentCancelSignal) {
17527
17603
  var terminatingRepStreamCanceller = new task_canceller/* default */.Ay();
17528
17604
  terminatingRepStreamCanceller.linkToSignal(adapStreamCanceller.signal);
17529
17605
  var bufferGoal = (0,reference/* createMappedReference */.D)(wantedBufferAhead, function (prev) {
17530
- return prev * getBufferGoalRatio(representation);
17606
+ return getBufferGoal(representation, prev);
17531
17607
  }, terminatingRepStreamCanceller.signal);
17532
17608
  var maxBufferSize = adaptation.type === "video" ? maxVideoBufferSize : new reference/* default */.A(Infinity);
17533
17609
  log/* default */.A.info("Stream: changing representation", adaptation.type, representation.id, representation.bitrate);
@@ -17545,10 +17621,11 @@ function AdaptationStream(_ref, callbacks, parentCancelSignal) {
17545
17621
  var lastBufferGoalRatio = (_a = bufferGoalRatioMap.get(representation.id)) !== null && _a !== void 0 ? _a : 1;
17546
17622
  // 70%, 49%, 34.3%, 24%, 16.81%, 11.76%, 8.24% and 5.76%
17547
17623
  var newBufferGoalRatio = lastBufferGoalRatio * 0.7;
17548
- if (newBufferGoalRatio <= 0.05 || wba * newBufferGoalRatio <= 2) {
17549
- throw formattedError;
17550
- }
17551
17624
  bufferGoalRatioMap.set(representation.id, newBufferGoalRatio);
17625
+ if (newBufferGoalRatio <= 0.05 || getBufferGoal(representation, wba) <= 2) {
17626
+ representationStreamCallbacks.error(formattedError);
17627
+ return;
17628
+ }
17552
17629
  // We wait 4 seconds to let the situation evolve by itself before
17553
17630
  // retrying loading segments with a lower buffer goal
17554
17631
  (0,cancellable_sleep/* default */.A)(4000, adapStreamCanceller.signal).then(function () {
@@ -17581,16 +17658,26 @@ function AdaptationStream(_ref, callbacks, parentCancelSignal) {
17581
17658
  }, updatedCallbacks, adapStreamCanceller.signal);
17582
17659
  }
17583
17660
  /**
17584
- * @param {Object} representation
17661
+ * Returns how much media data should be pre-buffered for this
17662
+ * `Representation`, according to the `wantedBufferAhead` setting and previous
17663
+ * issues encountered with that `Representation`.
17664
+ * @param {Object} representation - The `Representation` you want to buffer.
17665
+ * @param {number} wba - The value of `wantedBufferAhead` set by the user.
17585
17666
  * @returns {number}
17586
17667
  */
17587
- function getBufferGoalRatio(representation) {
17668
+ function getBufferGoal(representation, wba) {
17588
17669
  var oldBufferGoalRatio = bufferGoalRatioMap.get(representation.id);
17589
17670
  var bufferGoalRatio = oldBufferGoalRatio !== undefined ? oldBufferGoalRatio : 1;
17590
17671
  if (oldBufferGoalRatio === undefined) {
17591
17672
  bufferGoalRatioMap.set(representation.id, bufferGoalRatio);
17592
17673
  }
17593
- return bufferGoalRatio;
17674
+ if (bufferGoalRatio < 1 && wba === Infinity) {
17675
+ // When `wba` is equal to `Infinity`, dividing it will still make it equal
17676
+ // to `Infinity`. To make the `bufferGoalRatio` still have an effect, we
17677
+ // just starts from a `wba` set to the high value of 5 minutes.
17678
+ return 5 * 60 * 1000 * bufferGoalRatio;
17679
+ }
17680
+ return wba * bufferGoalRatio;
17594
17681
  }
17595
17682
  }
17596
17683
  ;// CONCATENATED MODULE: ./src/core/stream/adaptation/index.ts
@@ -17661,7 +17748,11 @@ function areCodecsCompatible(a, b) {
17661
17748
  }
17662
17749
  var codecA = codecsA.substring(7);
17663
17750
  var codecB = codecsB.substring(7);
17664
- if (codecA.split(".")[0] !== codecB.split(".")[0]) {
17751
+ var initialPartA = codecA.split(".")[0];
17752
+ initialPartA = initialPartA === "hev1" ? "hvc1" : initialPartA;
17753
+ var initialPartB = codecB.split(".")[0];
17754
+ initialPartB = initialPartB === "hev1" ? "hvc1" : initialPartB;
17755
+ if (initialPartA !== initialPartB) {
17665
17756
  return false;
17666
17757
  }
17667
17758
  return true;
@@ -17775,16 +17866,15 @@ function getAdaptationSwitchStrategy(segmentBuffer, period, adaptation, playback
17775
17866
  // Period (which overlap a little with this one)
17776
17867
  /** Last segment before one for the current period. */
17777
17868
  var lastSegmentBefore = getLastSegmentBeforePeriod(inventory, period);
17778
- if (lastSegmentBefore !== null && (lastSegmentBefore.bufferedEnd === undefined || period.start - lastSegmentBefore.bufferedEnd < 1))
17869
+ if (lastSegmentBefore !== null && (lastSegmentBefore.bufferedEnd === undefined || period.start - lastSegmentBefore.bufferedEnd < 1)) {
17779
17870
  // Close to Period's start
17780
- {
17781
- // Exclude data close to the period's start to avoid cleaning
17782
- // to much
17783
- rangesToExclude.push({
17784
- start: 0,
17785
- end: period.start + 1
17786
- });
17787
- }
17871
+ // Exclude data close to the period's start to avoid cleaning
17872
+ // to much
17873
+ rangesToExclude.push({
17874
+ start: 0,
17875
+ end: period.start + 1
17876
+ });
17877
+ }
17788
17878
  // Next, exclude data around current position to avoid decoding issues
17789
17879
  var bufferType = adaptation.type;
17790
17880
  var _config$getCurrent = config/* default */.A.getCurrent(),
@@ -17809,14 +17899,13 @@ function getAdaptationSwitchStrategy(segmentBuffer, period, adaptation, playback
17809
17899
  if (period.end !== undefined) {
17810
17900
  /** first segment after for the current period. */
17811
17901
  var firstSegmentAfter = getFirstSegmentAfterPeriod(inventory, period);
17812
- if (firstSegmentAfter !== null && (firstSegmentAfter.bufferedStart === undefined || firstSegmentAfter.bufferedStart - period.end < 1))
17902
+ if (firstSegmentAfter !== null && (firstSegmentAfter.bufferedStart === undefined || firstSegmentAfter.bufferedStart - period.end < 1)) {
17813
17903
  // Close to Period's end
17814
- {
17815
- rangesToExclude.push({
17816
- start: period.end - 1,
17817
- end: Number.MAX_VALUE
17818
- });
17819
- }
17904
+ rangesToExclude.push({
17905
+ start: period.end - 1,
17906
+ end: Number.MAX_VALUE
17907
+ });
17908
+ }
17820
17909
  }
17821
17910
  var toRemove = (0,ranges/* excludeFromRanges */.bo)(unwantedRange, rangesToExclude);
17822
17911
  if (toRemove.length === 0) {
@@ -18353,7 +18442,7 @@ function createEmptyAdaptationStream(playbackObserver, wantedBufferAhead, buffer
18353
18442
  var wba = wantedBufferAhead.getValue();
18354
18443
  var position = observation.position.last;
18355
18444
  if (period.end !== undefined && position + wba >= period.end) {
18356
- log/* default */.A.debug("Stream: full \"empty\" AdaptationStream", bufferType);
18445
+ log/* default */.A.debug('Stream: full "empty" AdaptationStream', bufferType);
18357
18446
  hasFinishedLoading = true;
18358
18447
  }
18359
18448
  callbacks.streamStatusUpdate({
@@ -21528,7 +21617,38 @@ function performInitialSeekAndPlay(mediaElement, playbackObserver, startTime, mu
21528
21617
  // a sufficient `readyState` has been reached for directfile contents.
21529
21618
  // So let's divide the two possibilities here.
21530
21619
  var initialTime = typeof startTime === "function" ? startTime() : startTime;
21531
- if (shouldPreventSeekingAt0Initially() && initialTime === 0) {
21620
+ if (initialTime === undefined && isDirectfile && mediaElement.readyState < HTMLMediaElement.HAVE_CURRENT_DATA) {
21621
+ /**
21622
+ * The starting position may not be known yet.
21623
+ * Postpone the seek to a moment where the starting position should be known,
21624
+ * assumely it's when readyState is greater or equal to HAVE_CURRENT_DATA (2).
21625
+ * If the initiallySeekedTime is still `undefined` when the readyState is >= 2,
21626
+ * let assume that the initiallySeekedTime will never be known and continue
21627
+ * the logic without seeking.
21628
+ */
21629
+ playbackObserver.listen(function (obs, stopListening) {
21630
+ if (obs.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) {
21631
+ var observationInitialTime = typeof startTime === "function" ? startTime() : startTime;
21632
+ if (observationInitialTime === undefined) {
21633
+ initialSeekPerformed.setValue(true);
21634
+ initialSeekPerformed.finish();
21635
+ } else if (isDirectfile && browser_detection/* isSafariMobile */.dX) {
21636
+ // On safari mobile (version 17.1.2) seeking too early cause the video
21637
+ // to never buffer media data. Using setTimeout 0 defers the seek
21638
+ // to a moment at which safari should be more able to handle a seek.
21639
+ setTimeout(function () {
21640
+ performInitialSeek(observationInitialTime);
21641
+ }, 0);
21642
+ } else {
21643
+ performInitialSeek(observationInitialTime);
21644
+ }
21645
+ stopListening();
21646
+ }
21647
+ });
21648
+ } else if (initialTime === undefined) {
21649
+ initialSeekPerformed.setValue(true);
21650
+ initialSeekPerformed.finish();
21651
+ } else if (shouldPreventSeekingAt0Initially() && initialTime === 0) {
21532
21652
  initialSeekPerformed.setValue(true);
21533
21653
  initialSeekPerformed.finish();
21534
21654
  } else if (isDirectfile && browser_detection/* isSafariMobile */.dX) {
@@ -22983,14 +23103,13 @@ var TextTrackCuesStore = /*#__PURE__*/function () {
22983
23103
  var nextCue = cuesBuffer[indexOfNextCue];
22984
23104
  if (nextCue === undefined ||
22985
23105
  // no cue
22986
- areNearlyEqual(cuesInfosToInsert.end, nextCue.end, relativeDelta))
23106
+ areNearlyEqual(cuesInfosToInsert.end, nextCue.end, relativeDelta)) {
22987
23107
  // samey end
22988
- {
22989
- // ours: |AAAAA|
22990
- // the current one: |BBBBB|
22991
- // Result: |AAAAA|
22992
- cuesBuffer[indexOfNextCue] = cuesInfosToInsert;
22993
- } else if (nextCue.start >= cuesInfosToInsert.end) {
23108
+ // ours: |AAAAA|
23109
+ // the current one: |BBBBB|
23110
+ // Result: |AAAAA|
23111
+ cuesBuffer[indexOfNextCue] = cuesInfosToInsert;
23112
+ } else if (nextCue.start >= cuesInfosToInsert.end) {
22994
23113
  // Either
22995
23114
  // ours: |AAAAA|
22996
23115
  // the current one: |BBBBBB|
@@ -24315,9 +24434,7 @@ var SegmentInventory = /*#__PURE__*/function () {
24315
24434
  // (Those not in that TimeRange nor in the previous one)
24316
24435
  var numberOfSegmentToDelete = inventoryIndex - indexBefore;
24317
24436
  if (numberOfSegmentToDelete > 0) {
24318
- var lastDeletedSegment =
24319
- // last garbage-collected segment
24320
- inventory[indexBefore + numberOfSegmentToDelete - 1];
24437
+ var lastDeletedSegment = inventory[indexBefore + numberOfSegmentToDelete - 1]; // last garbage-collected segment
24321
24438
  lastDeletedSegmentInfos = {
24322
24439
  end: (_b = lastDeletedSegment.bufferedEnd) !== null && _b !== void 0 ? _b : lastDeletedSegment.end,
24323
24440
  precizeEnd: lastDeletedSegment.precizeEnd
@@ -27147,7 +27264,7 @@ function updatePeriodInPlace(oldPeriod, newPeriod, updateType) {
27147
27264
  return a.id === oldAdaptation.id;
27148
27265
  });
27149
27266
  if (newAdaptationIdx === -1) {
27150
- log/* default */.A.warn("Manifest: Adaptation \"" + oldAdaptations[_j].id + "\" not found when merging.");
27267
+ log/* default */.A.warn('Manifest: Adaptation "' + oldAdaptations[_j].id + '" not found when merging.');
27151
27268
  var _oldAdaptations$splic = oldAdaptations.splice(_j, 1),
27152
27269
  removed = _oldAdaptations$splic[0];
27153
27270
  _j--;
@@ -27754,8 +27871,7 @@ var Manifest = /*#__PURE__*/function (_EventEmitter) {
27754
27871
  * @param {Object|Array.<Object>} textTracks
27755
27872
  */;
27756
27873
  _proto._addSupplementaryTextAdaptations = function _addSupplementaryTextAdaptations( /* eslint-disable import/no-deprecated */
27757
- textTracks
27758
- /* eslint-enable import/no-deprecated */) {
27874
+ textTracks) {
27759
27875
  var _this3 = this;
27760
27876
  var _textTracks = Array.isArray(textTracks) ? textTracks : [textTracks];
27761
27877
  var newTextAdaptations = _textTracks.reduce(function (allSubs, _ref3) {
@@ -28277,7 +28393,7 @@ function getNextBoxOffsets(buf) {
28277
28393
  * @returns {Uint8Array|null}
28278
28394
  */
28279
28395
  function getTRAF(buffer) {
28280
- var moof = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer, 0x6D6F6F66 /* moof */);
28396
+ var moof = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer, 0x6d6f6f66 /* moof */);
28281
28397
  if (moof === null) {
28282
28398
  return null;
28283
28399
  }
@@ -28292,7 +28408,7 @@ function getTRAF(buffer) {
28292
28408
  * @returns {Array.<Uint8Array>}
28293
28409
  */
28294
28410
  function getTRAFs(buffer) {
28295
- var moofs = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxesContent */ .fj)(buffer, 0x6D6F6F66 /* moof */);
28411
+ var moofs = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxesContent */ .fj)(buffer, 0x6d6f6f66 /* moof */);
28296
28412
  return moofs.reduce(function (acc, moof) {
28297
28413
  var traf = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(moof, 0x74726166 /* traf */);
28298
28414
  if (traf !== null) {
@@ -28309,7 +28425,7 @@ function getTRAFs(buffer) {
28309
28425
  * @returns {Uint8Array|null}
28310
28426
  */
28311
28427
  function getMDAT(buf) {
28312
- return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf, 0x6D646174 /* "mdat" */);
28428
+ return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf, 0x6d646174 /* "mdat" */);
28313
28429
  }
28314
28430
  /**
28315
28431
  * Returns the content of the first "mdia" box encountered in the given ISOBMFF
@@ -28319,15 +28435,15 @@ function getMDAT(buf) {
28319
28435
  * @returns {Uint8Array|null}
28320
28436
  */
28321
28437
  function getMDIA(buf) {
28322
- var moov = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf, 0x6D6F6F76 /* moov */);
28438
+ var moov = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf, 0x6d6f6f76 /* moov */);
28323
28439
  if (moov === null) {
28324
28440
  return null;
28325
28441
  }
28326
- var trak = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(moov, 0x7472616B /* "trak" */);
28442
+ var trak = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(moov, 0x7472616b /* "trak" */);
28327
28443
  if (trak === null) {
28328
28444
  return null;
28329
28445
  }
28330
- return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(trak, 0x6D646961 /* "mdia" */);
28446
+ return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(trak, 0x6d646961 /* "mdia" */);
28331
28447
  }
28332
28448
  /**
28333
28449
  * Returns the content of the first "emsg" box encountered in the given ISOBMFF
@@ -28340,7 +28456,7 @@ function getEMSG(buffer, offset) {
28340
28456
  if (offset === void 0) {
28341
28457
  offset = 0;
28342
28458
  }
28343
- return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer.subarray(offset), 0x656D7367 /* emsg */);
28459
+ return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer.subarray(offset), 0x656d7367 /* emsg */);
28344
28460
  }
28345
28461
 
28346
28462
 
@@ -28435,7 +28551,7 @@ var get_box = __webpack_require__(8797);
28435
28551
  */
28436
28552
  function takePSSHOut(data) {
28437
28553
  var i = 0;
28438
- var moov = (0,get_box/* getBoxContent */.fZ)(data, 0x6D6F6F76 /* moov */);
28554
+ var moov = (0,get_box/* getBoxContent */.fZ)(data, 0x6d6f6f76 /* moov */);
28439
28555
  if (moov === null) {
28440
28556
  return [];
28441
28557
  }
@@ -28594,7 +28710,7 @@ function getSegmentsFromSidx(buf, sidxOffsetInWholeSegment) {
28594
28710
  var refChunk = (0,_utils_byte_parsing__WEBPACK_IMPORTED_MODULE_1__/* .be4toi */ .mq)(buf, cursor);
28595
28711
  cursor += 4;
28596
28712
  var refType = (refChunk & 0x80000000) >>> 31;
28597
- var refSize = refChunk & 0x7FFFFFFF;
28713
+ var refSize = refChunk & 0x7fffffff;
28598
28714
  // when set to 1 indicates that the reference is to a sidx, else to media
28599
28715
  if (refType === 1) {
28600
28716
  throw new Error("sidx with reference_type `1` not yet implemented");
@@ -28688,7 +28804,7 @@ function getDurationFromTrun(buffer) {
28688
28804
  var completeDuration = 0;
28689
28805
  for (var _iterator = _createForOfIteratorHelperLoose(trafs), _step; !(_step = _iterator()).done;) {
28690
28806
  var traf = _step.value;
28691
- var trun = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(traf, 0x7472756E /* trun */);
28807
+ var trun = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(traf, 0x7472756e /* trun */);
28692
28808
  if (trun === null) {
28693
28809
  return undefined;
28694
28810
  }
@@ -28757,7 +28873,7 @@ function getMDHDTimescale(buffer) {
28757
28873
  if (mdia === null) {
28758
28874
  return undefined;
28759
28875
  }
28760
- var mdhd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(mdia, 0x6D646864 /* "mdhd" */);
28876
+ var mdhd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(mdia, 0x6d646864 /* "mdhd" */);
28761
28877
  if (mdhd === null) {
28762
28878
  return undefined;
28763
28879
  }
@@ -28791,7 +28907,7 @@ function patchPssh(buf, psshList) {
28791
28907
  if (psshList == null || psshList.length === 0) {
28792
28908
  return buf;
28793
28909
  }
28794
- var moovOffsets = getBoxOffsets(buf, 0x6D6F6F76 /* = "moov" */);
28910
+ var moovOffsets = getBoxOffsets(buf, 0x6d6f6f76 /* = "moov" */);
28795
28911
  if (moovOffsets === null) {
28796
28912
  return buf;
28797
28913
  }
@@ -28910,12 +29026,12 @@ function parseEmsgBoxes(buffer) {
28910
29026
  * @returns {Uint8Array|null}
28911
29027
  */
28912
29028
  function getKeyIdFromInitSegment(segment) {
28913
- var stsd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getChildBox */ .o$)(segment, [0x6D6F6F76 /* moov */, 0x7472616B /* trak */, 0x6D646961 /* mdia */, 0x6D696E66 /* minf */, 0x7374626C /* stbl */, 0x73747364 /* stsd */]);
29029
+ var stsd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getChildBox */ .o$)(segment, [0x6d6f6f76 /* moov */, 0x7472616b /* trak */, 0x6d646961 /* mdia */, 0x6d696e66 /* minf */, 0x7374626c /* stbl */, 0x73747364 /* stsd */]);
28914
29030
  if (stsd === null) {
28915
29031
  return null;
28916
29032
  }
28917
29033
  var stsdSubBoxes = stsd.subarray(8);
28918
- var encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes, 0x656E6376 /* encv */);
29034
+ var encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes, 0x656e6376 /* encv */);
28919
29035
  var encContentOffset = 0;
28920
29036
  if (encBox === null) {
28921
29037
  encContentOffset = 8 +
@@ -28931,7 +29047,7 @@ function getKeyIdFromInitSegment(segment) {
28931
29047
  2 +
28932
29048
  // reserved
28933
29049
  4; // samplerate
28934
- encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes, 0x656E6361 /* enca */);
29050
+ encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes, 0x656e6361 /* enca */);
28935
29051
  } else {
28936
29052
  encContentOffset = 8 +
28937
29053
  // sample entry header
@@ -29057,7 +29173,7 @@ function parseBif(buf) {
29057
29173
  });
29058
29174
  index++;
29059
29175
  }
29060
- if (currentImageTimestamp === 0xFFFFFFFF) {
29176
+ if (currentImageTimestamp === 0xffffffff) {
29061
29177
  break;
29062
29178
  }
29063
29179
  previousImageInfo = {
@@ -30882,7 +30998,7 @@ function convertElementsToIndexSegment(item, previousItem, nextItem) {
30882
30998
  repeatCount: repeatCount === undefined ? 0 : repeatCount
30883
30999
  };
30884
31000
  }
30885
- log/* default */.A.warn("DASH: A \"S\" Element could not have been parsed.");
31001
+ log/* default */.A.warn('DASH: A "S" Element could not have been parsed.');
30886
31002
  return null;
30887
31003
  }
30888
31004
  ;// CONCATENATED MODULE: ./src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts
@@ -31142,7 +31258,7 @@ function constructTimelineFromPreviousTimeline(newElements, prevTimeline) {
31142
31258
  // Find first index in both timeline where a common segment is found.
31143
31259
  var commonStartInfo = findFirstCommonStartTime(prevTimeline, newElements);
31144
31260
  if (commonStartInfo === null) {
31145
- log/* default */.A.warn("DASH: Cannot perform \"based\" update. Common segment not found.");
31261
+ log/* default */.A.warn('DASH: Cannot perform "based" update. Common segment not found.');
31146
31262
  return constructTimelineFromElements(newElements);
31147
31263
  }
31148
31264
  var prevSegmentsIdx = commonStartInfo.prevSegmentsIdx,
@@ -31153,7 +31269,7 @@ function constructTimelineFromPreviousTimeline(newElements, prevTimeline) {
31153
31269
  var numberCommonEltGuess = prevTimeline.length - prevSegmentsIdx;
31154
31270
  var lastCommonEltNewEltsIdx = numberCommonEltGuess + newElementsIdx - 1;
31155
31271
  if (lastCommonEltNewEltsIdx >= newElements.length) {
31156
- log/* default */.A.info("DASH: Cannot perform \"based\" update. New timeline too short");
31272
+ log/* default */.A.info('DASH: Cannot perform "based" update. New timeline too short');
31157
31273
  return constructTimelineFromElements(newElements);
31158
31274
  }
31159
31275
  // Remove elements which are not available anymore
@@ -31164,14 +31280,14 @@ function constructTimelineFromPreviousTimeline(newElements, prevTimeline) {
31164
31280
  newTimeline[0].repeatCount -= repeatNumberInPrevSegments;
31165
31281
  }
31166
31282
  if (repeatNumberInNewElements > 0 && newElementsIdx !== 0) {
31167
- log/* default */.A.info("DASH: Cannot perform \"based\" update. " + "The new timeline has a different form.");
31283
+ log/* default */.A.info('DASH: Cannot perform "based" update. ' + "The new timeline has a different form.");
31168
31284
  return constructTimelineFromElements(newElements);
31169
31285
  }
31170
31286
  var prevLastElement = newTimeline[newTimeline.length - 1];
31171
31287
  var newCommonElt = parseSElement(newElements[lastCommonEltNewEltsIdx]);
31172
31288
  var newRepeatCountOffseted = ((_a = newCommonElt.repeatCount) !== null && _a !== void 0 ? _a : 0) - repeatNumberInNewElements;
31173
31289
  if (newCommonElt.duration !== prevLastElement.duration || prevLastElement.repeatCount > newRepeatCountOffseted) {
31174
- log/* default */.A.info("DASH: Cannot perform \"based\" update. " + "The new timeline has a different form at the beginning.");
31290
+ log/* default */.A.info('DASH: Cannot perform "based" update. ' + "The new timeline has a different form at the beginning.");
31175
31291
  return constructTimelineFromElements(newElements);
31176
31292
  }
31177
31293
  if (newCommonElt.repeatCount !== undefined && newCommonElt.repeatCount > prevLastElement.repeatCount) {
@@ -31440,9 +31556,8 @@ var TimelineRepresentationIndex = /*#__PURE__*/function () {
31440
31556
  return false;
31441
31557
  }
31442
31558
  if (this._scaledPeriodEnd === undefined) {
31443
- return scaledWantedEnd + segmentTimeRounding > this._scaledPeriodStart ? undefined :
31444
- // There may be future segments at this point
31445
- false; // Before the current Period
31559
+ return scaledWantedEnd + segmentTimeRounding > this._scaledPeriodStart ? undefined // There may be future segments at this point
31560
+ : false; // Before the current Period
31446
31561
  }
31447
31562
  // `true` if within the boundaries of this Period. `false` otherwise.
31448
31563
  return scaledWantedStart - segmentTimeRounding < this._scaledPeriodEnd && scaledWantedEnd + segmentTimeRounding > this._scaledPeriodStart;
@@ -33015,7 +33130,7 @@ function parseAdaptationSets(adaptationsIR, context) {
33015
33130
  var mergedInto = parsedAdaptations[type][mergedIntoIdx];
33016
33131
  if (mergedInto !== undefined && mergedInto[0].audioDescription === parsedAdaptationSet.audioDescription && mergedInto[0].closedCaption === parsedAdaptationSet.closedCaption && mergedInto[0].language === parsedAdaptationSet.language) {
33017
33132
  var _mergedInto$0$represe;
33018
- log/* default */.A.info("DASH Parser: merging \"switchable\" AdaptationSets", originalID, id);
33133
+ log/* default */.A.info('DASH Parser: merging "switchable" AdaptationSets', originalID, id);
33019
33134
  (_mergedInto$0$represe = mergedInto[0].representations).push.apply(_mergedInto$0$represe, parsedAdaptationSet.representations);
33020
33135
  mergedInto[1] = {
33021
33136
  priority: Math.max(priority, mergedInto[1].priority),
@@ -33338,7 +33453,7 @@ function generateStreamEvents(baseIr, periodStart, xmlNamespaces) {
33338
33453
  // encountering unknown namespaced attributes or elements in the given
33339
33454
  // `<Event>` xml subset.
33340
33455
  var parentNode = allNamespaces.reduce(function (acc, ns) {
33341
- return acc + "xmlns:" + ns.key + "=\"" + ns.value + "\" ";
33456
+ return acc + "xmlns:" + ns.key + '="' + ns.value + '" ';
33342
33457
  }, "<toremove ");
33343
33458
  parentNode += ">";
33344
33459
  var elementToString = (0,string_parsing/* utf8ToStr */.Es)(new Uint8Array(eventIr.eventStreamData));
@@ -35970,9 +36085,8 @@ function updateSegmentTimeline(oldTimeline, newTimeline) {
35970
36085
  }
35971
36086
  var newCurrRepeat = (newIndexStart - currElt.start) / currElt.duration - 1;
35972
36087
  if (newCurrRepeat % 1 === 0 && currElt.duration === newTimeline[0].duration) {
35973
- var newRepeatCount = newTimeline[0].repeatCount < 0 ? -1 :
35974
- // === maximum possible repeat
35975
- newTimeline[0].repeatCount + newCurrRepeat + 1;
36088
+ var newRepeatCount = newTimeline[0].repeatCount < 0 ? -1 // === maximum possible repeat
36089
+ : newTimeline[0].repeatCount + newCurrRepeat + 1;
35976
36090
  // replace that one and those after it
35977
36091
  oldTimeline.splice.apply(oldTimeline, [i, prevTimelineLength - i].concat(newTimeline));
35978
36092
  oldTimeline[i].start = currElt.start;
@@ -35997,7 +36111,7 @@ function updateSegmentTimeline(oldTimeline, newTimeline) {
35997
36111
  return false;
35998
36112
  } else {
35999
36113
  // the new has more depth
36000
- _log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn("RepresentationIndex: The new index is \"bigger\" than the previous one");
36114
+ _log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn('RepresentationIndex: The new index is "bigger" than the previous one');
36001
36115
  oldTimeline.splice.apply(oldTimeline, [0, prevTimelineLength].concat(newTimeline));
36002
36116
  return true;
36003
36117
  }
@@ -36009,7 +36123,7 @@ function updateSegmentTimeline(oldTimeline, newTimeline) {
36009
36123
  return false;
36010
36124
  }
36011
36125
  // the new one has more depth. full update
36012
- _log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn("RepresentationIndex: The new index is \"bigger\" than the previous one");
36126
+ _log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn('RepresentationIndex: The new index is "bigger" than the previous one');
36013
36127
  oldTimeline.splice.apply(oldTimeline, [0, prevTimelineLength].concat(newTimeline));
36014
36128
  return true;
36015
36129
  }
@@ -36117,8 +36231,8 @@ function decodeEntities(text) {
36117
36231
  * @param {string} lang
36118
36232
  */
36119
36233
  function parseSami(smi, timeOffset, lang) {
36120
- var syncOpen = /<sync[ >]/ig;
36121
- var syncClose = /<sync[ >]|<\/body>/ig;
36234
+ var syncOpen = /<sync[ >]/gi;
36235
+ var syncClose = /<sync[ >]|<\/body>/gi;
36122
36236
  var subs = [];
36123
36237
  var styleMatches = STYLE.exec(smi);
36124
36238
  var css = Array.isArray(styleMatches) ? styleMatches[1] : "";
@@ -36232,10 +36346,6 @@ function parseSami(smi, timeOffset, lang) {
36232
36346
  * See the License for the specific language governing permissions and
36233
36347
  * limitations under the License.
36234
36348
  */
36235
- /**
36236
- * /!\ This file is feature-switchable.
36237
- * It always should be imported through the `features` object.
36238
- */
36239
36349
 
36240
36350
 
36241
36351
  var HTML_ENTITIES = /&#([0-9]+);/g;
@@ -36316,8 +36426,8 @@ function decodeEntities(text) {
36316
36426
  * @returns {Array.<VTTCue|TextTrackCue>}
36317
36427
  */
36318
36428
  function parseSami(smi, timeOffset, lang) {
36319
- var syncOpen = /<sync[ >]/ig;
36320
- var syncClose = /<sync[ >]|<\/body>/ig;
36429
+ var syncOpen = /<sync[ >]/gi;
36430
+ var syncClose = /<sync[ >]|<\/body>/gi;
36321
36431
  var subs = [];
36322
36432
  var styleMatches = STYLE.exec(smi);
36323
36433
  var css = styleMatches !== null ? styleMatches[1] : "";
@@ -36667,12 +36777,6 @@ function isNodeFontWithColorProp(node) {
36667
36777
  * See the License for the specific language governing permissions and
36668
36778
  * limitations under the License.
36669
36779
  */
36670
- /**
36671
- * /!\ This file is feature-switchable.
36672
- * It always should be imported through the `features` object.
36673
- */
36674
- // srt to VTTCue parser, Done for fun.
36675
- // Heavily inspired from the WebVTT implementation
36676
36780
 
36677
36781
 
36678
36782
 
@@ -37382,7 +37486,7 @@ function applyFontSize(element, fontSize) {
37382
37486
  } else if (firstFontSize[2] === "%") {
37383
37487
  var toNum = Number(firstFontSize[1]);
37384
37488
  if (isNaN(toNum)) {
37385
- log/* default */.A.warn("TTML Parser: could not parse fontSize value \"" + firstFontSize[1] + "\" into a number");
37489
+ log/* default */.A.warn('TTML Parser: could not parse fontSize value "' + firstFontSize[1] + '" into a number');
37386
37490
  } else {
37387
37491
  element.style.position = "relative";
37388
37492
  addClassName(element, "proportional-style");
@@ -39850,10 +39954,6 @@ function toNativeCue(cueObj) {
39850
39954
  * See the License for the specific language governing permissions and
39851
39955
  * limitations under the License.
39852
39956
  */
39853
- /**
39854
- * /!\ This file is feature-switchable.
39855
- * It always should be imported through the `features` object.
39856
- */
39857
39957
 
39858
39958
 
39859
39959
 
@@ -40442,7 +40542,9 @@ function generateManifestParser(options) {
40442
40542
  return processMpdParserResponse(parsed);
40443
40543
  } else {
40444
40544
  log/* default */.A.debug("DASH: Awaiting WASM initialization before parsing the MPD.");
40445
- var initProm = parsers.wasm.waitForInitialization()["catch"](function () {});
40545
+ var initProm = parsers.wasm.waitForInitialization()["catch"](function () {
40546
+ /* ignore errors, we will check the status later */
40547
+ });
40446
40548
  return initProm.then(function () {
40447
40549
  if (parsers.wasm === null || parsers.wasm.status !== "initialized") {
40448
40550
  log/* default */.A.warn("DASH: WASM MPD parser initialization failed. " + "Running JS parser instead");
@@ -40642,10 +40744,10 @@ function getManifestAsArrayBuffer(manifestSrc) {
40642
40744
  */
40643
40745
  function doesXmlSeemsUtf8Encoded(xmlData) {
40644
40746
  var dv = new DataView(xmlData);
40645
- if (dv.getUint16(0) === 0xEFBB && dv.getUint8(2) === 0XBF) {
40747
+ if (dv.getUint16(0) === 0xefbb && dv.getUint8(2) === 0xbf) {
40646
40748
  // (UTF-8 BOM)
40647
40749
  return true;
40648
- } else if (dv.getUint16(0) === 0xFEFF || dv.getUint16(0) === 0xFFFe) {
40750
+ } else if (dv.getUint16(0) === 0xfeff || dv.getUint16(0) === 0xfffe) {
40649
40751
  // (UTF-16 BOM)
40650
40752
  return false;
40651
40753
  }
@@ -41111,7 +41213,7 @@ function extractCompleteChunks(buffer) {
41111
41213
  var currentBuffer = null;
41112
41214
  while (_position < buffer.length) {
41113
41215
  currentBuffer = buffer.subarray(_position, Infinity);
41114
- var moofIndex = (0,find_complete_box/* default */.A)(currentBuffer, 0x6D6F6F66 /* moof */);
41216
+ var moofIndex = (0,find_complete_box/* default */.A)(currentBuffer, 0x6d6f6f66 /* moof */);
41115
41217
  if (moofIndex < 0) {
41116
41218
  // no moof, not a segment.
41117
41219
  return [chunks, currentBuffer];
@@ -41122,7 +41224,7 @@ function extractCompleteChunks(buffer) {
41122
41224
  // not a complete moof segment
41123
41225
  return [chunks, currentBuffer];
41124
41226
  }
41125
- var mdatIndex = (0,find_complete_box/* default */.A)(currentBuffer, 0x6D646174 /* mdat */);
41227
+ var mdatIndex = (0,find_complete_box/* default */.A)(currentBuffer, 0x6d646174 /* mdat */);
41126
41228
  if (mdatIndex < 0) {
41127
41229
  // no mdat, not a segment.
41128
41230
  return [chunks, currentBuffer];
@@ -41427,14 +41529,14 @@ var utils = __webpack_require__(1134);
41427
41529
  */
41428
41530
 
41429
41531
  var SEGMENT_ID = 0x18538067;
41430
- var INFO_ID = 0x1549A966;
41431
- var TIMECODESCALE_ID = 0x2AD7B1;
41532
+ var INFO_ID = 0x1549a966;
41533
+ var TIMECODESCALE_ID = 0x2ad7b1;
41432
41534
  var DURATION_ID = 0x4489;
41433
- var CUES_ID = 0x1C53BB6B;
41434
- var CUE_POINT_ID = 0xBB;
41435
- var CUE_TIME_ID = 0xB3;
41436
- var CUE_TRACK_POSITIONS_ID = 0xB7;
41437
- var CUE_CLUSTER_POSITIONS_ID = 0xF1;
41535
+ var CUES_ID = 0x1c53bb6b;
41536
+ var CUE_POINT_ID = 0xbb;
41537
+ var CUE_TIME_ID = 0xb3;
41538
+ var CUE_TRACK_POSITIONS_ID = 0xb7;
41539
+ var CUE_CLUSTER_POSITIONS_ID = 0xf1;
41438
41540
  /**
41439
41541
  * Find the offsets of the value linked to the given element ID.
41440
41542
  * @param {number} elementID - ID for the searched element.
@@ -42109,6 +42211,7 @@ function getISOBMFFTextTrackFormat(representation) {
42109
42211
  }
42110
42212
  switch (codec.toLowerCase()) {
42111
42213
  case "stpp": // stpp === TTML in MP4
42214
+ case "stpp.ttml":
42112
42215
  case "stpp.ttml.im1t":
42113
42216
  return "ttml";
42114
42217
  case "wvtt":
@@ -43289,7 +43392,7 @@ function getAudioCodecs(codecPrivateData, fourCC) {
43289
43392
  if (fourCC === "AACH") {
43290
43393
  mpProfile = 5; // High Efficiency AAC Profile
43291
43394
  } else {
43292
- mpProfile = (0,is_non_empty_string/* default */.A)(codecPrivateData) ? (parseInt(codecPrivateData.substring(0, 2), 16) & 0xF8) >> 3 : 2;
43395
+ mpProfile = (0,is_non_empty_string/* default */.A)(codecPrivateData) ? (parseInt(codecPrivateData.substring(0, 2), 16) & 0xf8) >> 3 : 2;
43293
43396
  }
43294
43397
  if (mpProfile === 0) {
43295
43398
  // Return default audio codec
@@ -44100,7 +44203,7 @@ var get_box = __webpack_require__(8797);
44100
44203
  * @returns {Array.<Object>}
44101
44204
  */
44102
44205
  function parseTfrf(traf) {
44103
- var tfrf = (0,get_box/* getUuidContent */.$H)(traf, 0xD4807EF2, 0xCA394695, 0x8E5426CB, 0x9E46A79F);
44206
+ var tfrf = (0,get_box/* getUuidContent */.$H)(traf, 0xd4807ef2, 0xca394695, 0x8e5426cb, 0x9e46a79f);
44104
44207
  if (tfrf === undefined) {
44105
44208
  return [];
44106
44209
  }
@@ -44147,7 +44250,7 @@ function parseTfrf(traf) {
44147
44250
  * @returns {Object|undefined}
44148
44251
  */
44149
44252
  function parseTfxd(traf) {
44150
- var tfxd = (0,get_box/* getUuidContent */.$H)(traf, 0x6D1D9B05, 0x42D544E6, 0x80E2141D, 0xAFF757B2);
44253
+ var tfxd = (0,get_box/* getUuidContent */.$H)(traf, 0x6d1d9b05, 0x42d544e6, 0x80e2141d, 0xaff757b2);
44151
44254
  if (tfxd === undefined) {
44152
44255
  return undefined;
44153
44256
  }
@@ -44330,10 +44433,9 @@ function createAVC1Box(width, height, hRes, vRes, encName, colorDepth, avcc) {
44330
44433
  // + padding
44331
44434
  (0,byte_parsing/* itobe2 */.ww)(colorDepth),
44332
44435
  // color depth
44333
- [0xFF, 0xFF],
44436
+ [0xff, 0xff],
44334
44437
  // reserved ones
44335
- avcc // avcc atom,
44336
- ));
44438
+ avcc));
44337
44439
  }
44338
44440
  /**
44339
44441
  * @param {Number} width
@@ -44367,7 +44469,7 @@ function createENCVBox(width, height, hRes, vRes, encName, colorDepth, avcc, sin
44367
44469
  // + padding
44368
44470
  (0,byte_parsing/* itobe2 */.ww)(colorDepth),
44369
44471
  // color depth
44370
- [0xFF, 0xFF],
44472
+ [0xff, 0xff],
44371
44473
  // reserved ones
44372
44474
  avcc,
44373
44475
  // avcc atom,
@@ -44484,7 +44586,7 @@ function createAVCCBox(sps, pps, nalLen) {
44484
44586
  var h264Profile = sps[1];
44485
44587
  var h264CompatibleProfile = sps[2];
44486
44588
  var h264Level = sps[3];
44487
- return createBox("avcC", (0,byte_parsing/* concat */.xW)([1, h264Profile, h264CompatibleProfile, h264Level, 0x3F << 2 | nal, 0xE0 | 1], (0,byte_parsing/* itobe2 */.ww)(sps.length), sps, [1], (0,byte_parsing/* itobe2 */.ww)(pps.length), pps));
44589
+ return createBox("avcC", (0,byte_parsing/* concat */.xW)([1, h264Profile, h264CompatibleProfile, h264Level, 0x3f << 2 | nal, 0xe0 | 1], (0,byte_parsing/* itobe2 */.ww)(sps.length), sps, [1], (0,byte_parsing/* itobe2 */.ww)(pps.length), pps));
44488
44590
  }
44489
44591
  /**
44490
44592
  * @param {string} type - "video"/"audio"/"hint"
@@ -44507,8 +44609,7 @@ function createHDLRBox(type) {
44507
44609
  handlerName = "";
44508
44610
  break;
44509
44611
  }
44510
- return createBox("hdlr", (0,byte_parsing/* concat */.xW)(8, (0,string_parsing/* strToUtf8 */.eb)(name), 12, (0,string_parsing/* strToUtf8 */.eb)(handlerName), 1 // handler name is C-style string (0 terminated)
44511
- ));
44612
+ return createBox("hdlr", (0,byte_parsing/* concat */.xW)(8, (0,string_parsing/* strToUtf8 */.eb)(name), 12, (0,string_parsing/* strToUtf8 */.eb)(handlerName), 1));
44512
44613
  }
44513
44614
  /**
44514
44615
  * @param {number} timescale
@@ -44531,8 +44632,7 @@ function createMVHDBox(timescale, trackId) {
44531
44632
  // default matrix
44532
44633
  [0, 1], 14,
44533
44634
  // default matrix
44534
- [64, 0, 0, 0], 26, (0,byte_parsing/* itobe2 */.ww)(trackId + 1) // next trackId (=trackId + 1);
44535
- ));
44635
+ [64, 0, 0, 0], 26, (0,byte_parsing/* itobe2 */.ww)(trackId + 1)));
44536
44636
  }
44537
44637
  /**
44538
44638
  * @param {Uint8Array} mfhd
@@ -44616,8 +44716,7 @@ function createTKHDBox(width, height, trackId) {
44616
44716
  // ??
44617
44717
  (0,byte_parsing/* itobe2 */.ww)(width), 2,
44618
44718
  // width (TODO handle fixed)
44619
- (0,byte_parsing/* itobe2 */.ww)(height), 2 // height (TODO handle fixed)
44620
- ));
44719
+ (0,byte_parsing/* itobe2 */.ww)(height), 2));
44621
44720
  }
44622
44721
  /**
44623
44722
  * @param {Number} algId - eg 1
@@ -44683,18 +44782,18 @@ function createTrafBox(tfhd, tfdt, trun, mfhd, senc) {
44683
44782
  * @return {Uint8Array}
44684
44783
  */
44685
44784
  function patchSegment(segment, decodeTime) {
44686
- var oldMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(segment, 0x6D6F6F66 /* moof */);
44785
+ var oldMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(segment, 0x6d6f6f66 /* moof */);
44687
44786
  if (oldMoofOffsets === null) {
44688
44787
  throw new Error("Smooth: Invalid ISOBMFF given");
44689
44788
  }
44690
44789
  var oldMoofContent = segment.subarray(oldMoofOffsets[1], oldMoofOffsets[2]);
44691
- var mfhdBox = (0,get_box/* getBox */.YH)(oldMoofContent, 0x6D666864 /* mfhd */);
44790
+ var mfhdBox = (0,get_box/* getBox */.YH)(oldMoofContent, 0x6d666864 /* mfhd */);
44692
44791
  var trafContent = (0,get_box/* getBoxContent */.fZ)(oldMoofContent, 0x74726166 /* traf */);
44693
44792
  if (trafContent === null || mfhdBox === null) {
44694
44793
  throw new Error("Smooth: Invalid ISOBMFF given");
44695
44794
  }
44696
44795
  var tfhdOffsets = (0,get_box/* getBoxOffsets */.QL)(trafContent, 0x74666864 /* tfhd */);
44697
- var oldTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(trafContent, 0x7472756E /* trun */);
44796
+ var oldTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(trafContent, 0x7472756e /* trun */);
44698
44797
  if (tfhdOffsets === null || oldTrunOffsets === null) {
44699
44798
  throw new Error("Smooth: Invalid ISOBMFF given");
44700
44799
  }
@@ -44704,22 +44803,22 @@ function patchSegment(segment, decodeTime) {
44704
44803
  tfhdBox.set([0, 0, 0, 1], tfhdOffsets[1] - tfhdOffsets[0] + 4 /* version + flags */);
44705
44804
  var tfdtBox = createTfdtBox(decodeTime);
44706
44805
  var newTrunBox = updateTrunDataOffset(oldTrunBox, oldTrunOffsets[1] - oldTrunOffsets[0]);
44707
- var sencContent = (0,get_box/* getUuidContent */.$H)(trafContent, 0xA2394F52, 0x5A9B4F14, 0xA2446C42, 0x7C648DF4);
44806
+ var sencContent = (0,get_box/* getUuidContent */.$H)(trafContent, 0xa2394f52, 0x5a9b4f14, 0xa2446c42, 0x7c648df4);
44708
44807
  var newTrafBox = createTrafBox(tfhdBox, tfdtBox, newTrunBox, mfhdBox, sencContent);
44709
44808
  var newMoof = createBoxWithChildren("moof", [mfhdBox, newTrafBox]);
44710
- var newMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(newMoof, 0x6D6F6F66 /* moof */);
44809
+ var newMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(newMoof, 0x6d6f6f66 /* moof */);
44711
44810
  var newTrafOffsets = (0,get_box/* getBoxOffsets */.QL)(newTrafBox, 0x74726166 /* traf */);
44712
- var newTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(newTrunBox, 0x7472756E /* trun */);
44811
+ var newTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(newTrunBox, 0x7472756e /* trun */);
44713
44812
  if (newMoofOffsets === null || newTrafOffsets === null || newTrunOffsets === null) {
44714
44813
  throw new Error("Smooth: Invalid moof, trun or traf generation");
44715
44814
  }
44716
44815
  /** index of the `data_offset` property from the trun box in the whole "moof". */
44717
44816
  var indexOfTrunDataOffsetInMoof = newMoofOffsets[1] - newMoofOffsets[0] + mfhdBox.length + ( /* new traf size + name */
44718
44817
  newTrafOffsets[1] - newTrafOffsets[0]) + tfhdBox.length + tfdtBox.length + ( /* new trun size + name */
44719
- newTrunOffsets[1] - newTrunOffsets[0]) + 8 /* trun version + flags + `sample_count` */;
44818
+ newTrunOffsets[1] - newTrunOffsets[0]) + 8; /* trun version + flags + `sample_count` */
44720
44819
  var oldMoofLength = oldMoofOffsets[2] - oldMoofOffsets[0];
44721
44820
  var newMoofSizeDiff = newMoof.length - oldMoofLength;
44722
- var oldMdatOffset = (0,get_box/* getBoxOffsets */.QL)(segment, 0x6D646174 /* "mdat" */);
44821
+ var oldMdatOffset = (0,get_box/* getBoxOffsets */.QL)(segment, 0x6d646174 /* "mdat" */);
44723
44822
  if (oldMdatOffset === null) {
44724
44823
  throw new Error("Smooth: Invalid ISOBMFF given");
44725
44824
  }
@@ -44821,7 +44920,7 @@ function createMOOVBox(mvhd, mvex, trak) {
44821
44920
  * @returns {Uint8Array}
44822
44921
  */
44823
44922
  function createInitSegment(timescale, type, stsd, mhd, width, height) {
44824
- var stbl = createBoxWithChildren("stbl", [stsd, createBox("stts", new Uint8Array(0x08)), createBox("stsc", new Uint8Array(0x08)), createBox("stsz", new Uint8Array(0x0C)), createBox("stco", new Uint8Array(0x08))]);
44923
+ var stbl = createBoxWithChildren("stbl", [stsd, createBox("stts", new Uint8Array(0x08)), createBox("stsc", new Uint8Array(0x08)), createBox("stsz", new Uint8Array(0x0c)), createBox("stco", new Uint8Array(0x08))]);
44825
44924
  var url = createBox("url ", new Uint8Array([0, 0, 0, 1]));
44826
44925
  var dref = createDREFBox(url);
44827
44926
  var dinf = createBoxWithChildren("dinf", [dref]);
@@ -44935,9 +45034,9 @@ var SAMPLING_FREQUENCIES = [96000, 88200, 64000, 48000, 44100, 32000, 24000, 220
44935
45034
  function getAacesHeader(type, frequency, chans) {
44936
45035
  var freq = SAMPLING_FREQUENCIES.indexOf(frequency); // TODO : handle Idx = 15...
44937
45036
  var val;
44938
- val = (type & 0x3F) << 0x4;
44939
- val = (val | freq & 0x1F) << 0x4;
44940
- val = (val | chans & 0x1F) << 0x3;
45037
+ val = (type & 0x3f) << 0x4;
45038
+ val = (val | freq & 0x1f) << 0x4;
45039
+ val = (val | chans & 0x1f) << 0x3;
44941
45040
  return (0,string_parsing/* bytesToHex */.My)((0,byte_parsing/* itobe2 */.ww)(val));
44942
45041
  }
44943
45042
  ;// CONCATENATED MODULE: ./src/transports/smooth/isobmff/create_audio_init_segment.ts
@@ -45617,7 +45716,7 @@ function addNextSegments(adaptation, nextSegments, dlSegment) {
45617
45716
  segmentEnd = chunkInfos.duration !== undefined ? chunkInfos.time + chunkInfos.duration : segment.end;
45618
45717
  }
45619
45718
  var lcCodec = codec.toLowerCase();
45620
- if (mimeType === "application/ttml+xml+mp4" || lcCodec === "stpp" || lcCodec === "stpp.ttml.im1t") {
45719
+ if (mimeType === "application/ttml+xml+mp4" || lcCodec === "stpp" || lcCodec === "stpp.ttml" || lcCodec === "stpp.ttml.im1t") {
45621
45720
  _sdType = "ttml";
45622
45721
  } else if (lcCodec === "wvtt") {
45623
45722
  _sdType = "vtt";
@@ -45878,16 +45977,16 @@ function checkISOBMFFIntegrity(buffer, isInitSegment) {
45878
45977
  if (ftypIndex < 0) {
45879
45978
  throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `ftyp` box");
45880
45979
  }
45881
- var moovIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6D6F6F76 /* moov */);
45980
+ var moovIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6d6f6f76 /* moov */);
45882
45981
  if (moovIndex < 0) {
45883
45982
  throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `moov` box");
45884
45983
  }
45885
45984
  } else {
45886
- var moofIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6D6F6F66 /* moof */);
45985
+ var moofIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6d6f6f66 /* moof */);
45887
45986
  if (moofIndex < 0) {
45888
45987
  throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `moof` box");
45889
45988
  }
45890
- var mdatIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6D646174 /* mdat */);
45989
+ var mdatIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6d646174 /* mdat */);
45891
45990
  if (mdatIndex < 0) {
45892
45991
  throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `mdat` box");
45893
45992
  }
@@ -46627,8 +46726,8 @@ function bytesToBase64(bytes) {
46627
46726
  for (i = 2; i < length; i += 3) {
46628
46727
  result += base64abc[bytes[i - 2] >> 2];
46629
46728
  result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];
46630
- result += base64abc[(bytes[i - 1] & 0x0F) << 2 | bytes[i] >> 6];
46631
- result += base64abc[bytes[i] & 0x3F];
46729
+ result += base64abc[(bytes[i - 1] & 0x0f) << 2 | bytes[i] >> 6];
46730
+ result += base64abc[bytes[i] & 0x3f];
46632
46731
  }
46633
46732
  if (i === length + 1) {
46634
46733
  // 1 octet yet to write
@@ -46640,7 +46739,7 @@ function bytesToBase64(bytes) {
46640
46739
  // 2 octets yet to write
46641
46740
  result += base64abc[bytes[i - 2] >> 2];
46642
46741
  result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];
46643
- result += base64abc[(bytes[i - 1] & 0x0F) << 2];
46742
+ result += base64abc[(bytes[i - 1] & 0x0f) << 2];
46644
46743
  result += "=";
46645
46744
  }
46646
46745
  return result;
@@ -46670,8 +46769,8 @@ function base64ToBytes(str) {
46670
46769
  for (var i = 0, j = 0; i < n; i += 4, j += 3) {
46671
46770
  buffer = getBase64Code(paddedStr.charCodeAt(i)) << 18 | getBase64Code(paddedStr.charCodeAt(i + 1)) << 12 | getBase64Code(paddedStr.charCodeAt(i + 2)) << 6 | getBase64Code(paddedStr.charCodeAt(i + 3));
46672
46771
  result[j] = buffer >> 16;
46673
- result[j + 1] = buffer >> 8 & 0xFF;
46674
- result[j + 2] = buffer & 0xFF;
46772
+ result[j + 1] = buffer >> 8 & 0xff;
46773
+ result[j + 2] = buffer & 0xff;
46675
46774
  }
46676
46775
  return result.subarray(0, result.length - missingOctets);
46677
46776
  }
@@ -46785,7 +46884,7 @@ function be8toi(bytes, offset) {
46785
46884
  * @returns {Uint8Array}
46786
46885
  */
46787
46886
  function itobe2(num) {
46788
- return new Uint8Array([num >>> 8 & 0xFF, num & 0xFF]);
46887
+ return new Uint8Array([num >>> 8 & 0xff, num & 0xff]);
46789
46888
  }
46790
46889
  /**
46791
46890
  * Translate Integer to a Uint8Array of length 4 of the corresponding big-endian
@@ -46794,7 +46893,7 @@ function itobe2(num) {
46794
46893
  * @returns {Uint8Array}
46795
46894
  */
46796
46895
  function itobe4(num) {
46797
- return new Uint8Array([num >>> 24 & 0xFF, num >>> 16 & 0xFF, num >>> 8 & 0xFF, num & 0xFF]);
46896
+ return new Uint8Array([num >>> 24 & 0xff, num >>> 16 & 0xff, num >>> 8 & 0xff, num & 0xff]);
46798
46897
  }
46799
46898
  /**
46800
46899
  * Translate Integer to a Uint8Array of length 8 of the corresponding big-endian
@@ -46807,7 +46906,7 @@ function itobe4(num) {
46807
46906
  function itobe8(num) {
46808
46907
  var l = num % 0x100000000;
46809
46908
  var h = (num - l) / 0x100000000;
46810
- return new Uint8Array([h >>> 24 & 0xFF, h >>> 16 & 0xFF, h >>> 8 & 0xFF, h & 0xFF, l >>> 24 & 0xFF, l >>> 16 & 0xFF, l >>> 8 & 0xFF, l & 0xFF]);
46909
+ return new Uint8Array([h >>> 24 & 0xff, h >>> 16 & 0xff, h >>> 8 & 0xff, h & 0xff, l >>> 24 & 0xff, l >>> 16 & 0xff, l >>> 8 & 0xff, l & 0xff]);
46811
46910
  }
46812
46911
  /**
46813
46912
  * Translate groups of 2 little-endian bytes to Integer (from 0 up to 65535).
@@ -46843,7 +46942,7 @@ function le8toi(bytes, offset) {
46843
46942
  * @returns {Uint8Array}
46844
46943
  */
46845
46944
  function itole2(num) {
46846
- return new Uint8Array([num & 0xFF, num >>> 8 & 0xFF]);
46945
+ return new Uint8Array([num & 0xff, num >>> 8 & 0xff]);
46847
46946
  }
46848
46947
  /**
46849
46948
  * Translate Integer to a Uint8Array of length 4 of the corresponding
@@ -46852,7 +46951,7 @@ function itole2(num) {
46852
46951
  * @returns {Uint8Array}
46853
46952
  */
46854
46953
  function itole4(num) {
46855
- return new Uint8Array([num & 0xFF, num >>> 8 & 0xFF, num >>> 16 & 0xFF, num >>> 24 & 0xFF]);
46954
+ return new Uint8Array([num & 0xff, num >>> 8 & 0xff, num >>> 16 & 0xff, num >>> 24 & 0xff]);
46856
46955
  }
46857
46956
  /**
46858
46957
  * Check if an ArrayBuffer is equal to the bytes given.
@@ -49603,8 +49702,8 @@ function strToUtf16LE(str) {
49603
49702
  var res = new Uint8Array(buffer);
49604
49703
  for (var i = 0; i < res.length; i += 2) {
49605
49704
  var value = str.charCodeAt(i / 2);
49606
- res[i] = value & 0xFF;
49607
- res[i + 1] = value >> 8 & 0xFF;
49705
+ res[i] = value & 0xff;
49706
+ res[i + 1] = value >> 8 & 0xff;
49608
49707
  }
49609
49708
  return res;
49610
49709
  }
@@ -49619,8 +49718,8 @@ function strToBeUtf16(str) {
49619
49718
  var res = new Uint8Array(buffer);
49620
49719
  for (var i = 0; i < res.length; i += 2) {
49621
49720
  var value = str.charCodeAt(i / 2);
49622
- res[i + 1] = value & 0xFF;
49623
- res[i] = value >> 8 & 0xFF;
49721
+ res[i + 1] = value & 0xff;
49722
+ res[i] = value >> 8 & 0xff;
49624
49723
  }
49625
49724
  return res;
49626
49725
  }
@@ -49748,7 +49847,7 @@ function strToUtf8(str) {
49748
49847
  // UTF-16 representation
49749
49848
  var res = new Uint8Array(utf8Str.length);
49750
49849
  for (var _i = 0; _i < utf8Str.length; _i++) {
49751
- res[_i] = utf8Str.charCodeAt(_i) & 0xFF; // first byte should be 0x00 anyway
49850
+ res[_i] = utf8Str.charCodeAt(_i) & 0xff; // first byte should be 0x00 anyway
49752
49851
  }
49753
49852
  return res;
49754
49853
  }
@@ -49805,7 +49904,7 @@ function utf8ToStr(data) {
49805
49904
  }
49806
49905
  var uint8 = data;
49807
49906
  // If present, strip off the UTF-8 BOM.
49808
- if (uint8[0] === 0xEF && uint8[1] === 0xBB && uint8[2] === 0xBF) {
49907
+ if (uint8[0] === 0xef && uint8[1] === 0xbb && uint8[2] === 0xbf) {
49809
49908
  uint8 = uint8.subarray(3);
49810
49909
  }
49811
49910
  // We're basically doing strToUtf8 in reverse.
@@ -49844,7 +49943,7 @@ function hexToBytes(str) {
49844
49943
  var len = str.length;
49845
49944
  var arr = new Uint8Array(len / 2);
49846
49945
  for (var i = 0, j = 0; i < len; i += 2, j++) {
49847
- arr[j] = parseInt(str.substring(i, i + 2), 16) & 0xFF;
49946
+ arr[j] = parseInt(str.substring(i, i + 2), 16) & 0xff;
49848
49947
  }
49849
49948
  return arr;
49850
49949
  }
@@ -49862,7 +49961,7 @@ function bytesToHex(bytes, sep) {
49862
49961
  var hex = "";
49863
49962
  for (var i = 0; i < bytes.byteLength; i++) {
49864
49963
  hex += (bytes[i] >>> 4).toString(16);
49865
- hex += (bytes[i] & 0xF).toString(16);
49964
+ hex += (bytes[i] & 0xf).toString(16);
49866
49965
  if (sep.length > 0 && i < bytes.byteLength - 1) {
49867
49966
  hex += sep;
49868
49967
  }
@@ -51638,7 +51737,7 @@ function parseConstructorOptions(options) {
51638
51737
  if (isNaN(maxVideoBitrate)) {
51639
51738
  throw new Error("Invalid maxVideoBitrate parameter. Should be a number.");
51640
51739
  } else if (minVideoBitrate > maxVideoBitrate) {
51641
- throw new Error("Invalid maxVideoBitrate parameter. Its value, \"" + (maxVideoBitrate + "\", is inferior to the set minVideoBitrate, \"") + (minVideoBitrate + "\""));
51740
+ throw new Error('Invalid maxVideoBitrate parameter. Its value, "' + (maxVideoBitrate + "\", is inferior to the set minVideoBitrate, \"") + (minVideoBitrate + "\""));
51642
51741
  }
51643
51742
  }
51644
51743
  if ((0,is_null_or_undefined/* default */.A)(options.maxAudioBitrate)) {
@@ -51648,7 +51747,7 @@ function parseConstructorOptions(options) {
51648
51747
  if (isNaN(maxAudioBitrate)) {
51649
51748
  throw new Error("Invalid maxAudioBitrate parameter. Should be a number.");
51650
51749
  } else if (minAudioBitrate > maxAudioBitrate) {
51651
- throw new Error("Invalid maxAudioBitrate parameter. Its value, \"" + (maxAudioBitrate + "\", is inferior to the set minAudioBitrate, \"") + (minAudioBitrate + "\""));
51750
+ throw new Error('Invalid maxAudioBitrate parameter. Its value, "' + (maxAudioBitrate + "\", is inferior to the set minAudioBitrate, \"") + (minAudioBitrate + "\""));
51652
51751
  }
51653
51752
  }
51654
51753
  var stopAtEnd = (0,is_null_or_undefined/* default */.A)(options.stopAtEnd) ? DEFAULT_STOP_AT_END : !!options.stopAtEnd;
@@ -51836,14 +51935,14 @@ function parseLoadVideoOptions(options) {
51836
51935
  if (textTrackMode === "html") {
51837
51936
  // TODO Better way to express that in TypeScript?
51838
51937
  if ((0,is_null_or_undefined/* default */.A)(options.textTrackElement)) {
51839
- throw new Error("You have to provide a textTrackElement " + "in \"html\" textTrackMode.");
51938
+ throw new Error("You have to provide a textTrackElement " + 'in "html" textTrackMode.');
51840
51939
  } else if (!(options.textTrackElement instanceof HTMLElement)) {
51841
51940
  throw new Error("textTrackElement should be an HTMLElement.");
51842
51941
  } else {
51843
51942
  textTrackElement = options.textTrackElement;
51844
51943
  }
51845
51944
  } else if (!(0,is_null_or_undefined/* default */.A)(options.textTrackElement)) {
51846
- src_log/* default */.A.warn("API: You have set a textTrackElement without being in " + "an \"html\" textTrackMode. It will be ignored.");
51945
+ src_log/* default */.A.warn("API: You have set a textTrackElement without being in " + 'an "html" textTrackMode. It will be ignored.');
51847
51946
  }
51848
51947
  if (!(0,is_null_or_undefined/* default */.A)(options.startAt)) {
51849
51948
  if ("wallClockTime" in options.startAt && options.startAt.wallClockTime instanceof Date) {
@@ -53691,7 +53790,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
53691
53790
  // Workaround to support Firefox autoplay on FF 42.
53692
53791
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
53693
53792
  videoElement.preload = "auto";
53694
- _this.version = /* PLAYER_VERSION */"3.33.4-dev.2024090600";
53793
+ _this.version = /* PLAYER_VERSION */"3.33.4";
53695
53794
  _this.log = src_log/* default */.A;
53696
53795
  _this.state = "STOPPED";
53697
53796
  _this.videoElement = videoElement;
@@ -54933,7 +55032,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
54933
55032
  positionWanted = timeObj.wallClockTime;
54934
55033
  }
54935
55034
  } else {
54936
- throw new Error("invalid time object. You must set one of the " + "following properties: \"relative\", \"position\" or " + "\"wallClockTime\"");
55035
+ throw new Error("invalid time object. You must set one of the " + 'following properties: "relative", "position" or ' + '"wallClockTime"');
54937
55036
  }
54938
55037
  }
54939
55038
  if (positionWanted === undefined) {
@@ -56179,7 +56278,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
56179
56278
  * Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
56180
56279
  */
56181
56280
  Player._priv_currentlyUsedVideoElements = new WeakSet();
56182
- Player.version = /* PLAYER_VERSION */"3.33.4-dev.2024090600";
56281
+ Player.version = /* PLAYER_VERSION */"3.33.4";
56183
56282
  /* harmony default export */ var public_api = (Player);
56184
56283
  ;// CONCATENATED MODULE: ./src/core/api/index.ts
56185
56284
  /**
@@ -56220,6 +56319,7 @@ Player.version = /* PLAYER_VERSION */"3.33.4-dev.2024090600";
56220
56319
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
56221
56320
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
56222
56321
  /* eslint-disable @typescript-eslint/no-var-requires */
56322
+ /* eslint-disable @typescript-eslint/no-require-imports */
56223
56323
 
56224
56324
  /**
56225
56325
  * Selects the features to include.