rx-player 3.33.4-dev.2024083000 → 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 (730) hide show
  1. package/.prettierignore +1 -0
  2. package/.prettierrc +4 -0
  3. package/.vscode/settings.json +9 -0
  4. package/CHANGELOG.md +1662 -1076
  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.d.ts +3 -1
  14. package/dist/_esm5.processed/compat/browser_detection.js +18 -10
  15. package/dist/_esm5.processed/compat/can_reuse_media_keys.d.ts +4 -0
  16. package/dist/_esm5.processed/compat/can_reuse_media_keys.js +6 -2
  17. package/dist/_esm5.processed/compat/change_source_buffer_type.d.ts +1 -1
  18. package/dist/_esm5.processed/compat/eme/close_session.d.ts +1 -1
  19. package/dist/_esm5.processed/compat/eme/close_session.js +17 -13
  20. package/dist/_esm5.processed/compat/eme/custom_key_system_access.d.ts +1 -1
  21. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.d.ts +1 -1
  22. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +8 -9
  23. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -2
  24. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +1 -1
  25. package/dist/_esm5.processed/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
  26. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
  27. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +7 -9
  28. package/dist/_esm5.processed/compat/eme/custom_media_keys/types.d.ts +4 -1
  29. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.d.ts +2 -2
  30. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +6 -12
  31. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts +2 -1
  32. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +3 -3
  33. package/dist/_esm5.processed/compat/eme/eme-api-implementation.d.ts +4 -4
  34. package/dist/_esm5.processed/compat/eme/eme-api-implementation.js +26 -11
  35. package/dist/_esm5.processed/compat/eme/generate_key_request.d.ts +1 -1
  36. package/dist/_esm5.processed/compat/eme/generate_key_request.js +17 -20
  37. package/dist/_esm5.processed/compat/eme/get_init_data.d.ts +3 -1
  38. package/dist/_esm5.processed/compat/eme/get_init_data.js +7 -9
  39. package/dist/_esm5.processed/compat/eme/get_uuid_kid_from_keystatus_kid.js +2 -3
  40. package/dist/_esm5.processed/compat/eme/get_webkit_fairplay_initdata.js +12 -13
  41. package/dist/_esm5.processed/compat/eme/index.d.ts +8 -5
  42. package/dist/_esm5.processed/compat/eme/index.js +1 -1
  43. package/dist/_esm5.processed/compat/eme/load_session.d.ts +1 -1
  44. package/dist/_esm5.processed/compat/enable_audio_track.d.ts +1 -1
  45. package/dist/_esm5.processed/compat/event_listeners.d.ts +26 -24
  46. package/dist/_esm5.processed/compat/event_listeners.js +14 -29
  47. package/dist/_esm5.processed/compat/fullscreen.d.ts +1 -1
  48. package/dist/_esm5.processed/compat/fullscreen.js +1 -1
  49. package/dist/_esm5.processed/compat/generate_init_data.js +3 -5
  50. package/dist/_esm5.processed/compat/index.d.ts +6 -3
  51. package/dist/_esm5.processed/compat/index.js +2 -2
  52. package/dist/_esm5.processed/compat/is_vtt_cue.d.ts +1 -1
  53. package/dist/_esm5.processed/compat/make_vtt_cue.d.ts +1 -1
  54. package/dist/_esm5.processed/compat/on_height_width_change.d.ts +2 -2
  55. package/dist/_esm5.processed/compat/on_height_width_change.js +3 -2
  56. package/dist/_esm5.processed/compat/patch_webkit_source_buffer.js +28 -29
  57. package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +2 -2
  58. package/dist/_esm5.processed/compat/should_reload_media_source_on_decipherability_update.js +1 -2
  59. package/dist/_esm5.processed/config.d.ts +1 -1
  60. package/dist/_esm5.processed/config.js +0 -15
  61. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +7 -6
  62. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +45 -22
  63. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.d.ts +1 -1
  64. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.js +11 -10
  65. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.d.ts +4 -4
  66. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.js +7 -6
  67. package/dist/_esm5.processed/core/adaptive/index.d.ts +3 -2
  68. package/dist/_esm5.processed/core/adaptive/network_analyzer.d.ts +4 -4
  69. package/dist/_esm5.processed/core/adaptive/network_analyzer.js +43 -38
  70. package/dist/_esm5.processed/core/adaptive/utils/bandwidth_estimator.js +1 -1
  71. package/dist/_esm5.processed/core/adaptive/utils/ewma.js +1 -2
  72. package/dist/_esm5.processed/core/adaptive/utils/filter_by_bitrate.d.ts +1 -1
  73. package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.d.ts +1 -1
  74. package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.js +3 -6
  75. package/dist/_esm5.processed/core/adaptive/utils/get_buffer_levels.js +7 -4
  76. package/dist/_esm5.processed/core/adaptive/utils/last_estimate_storage.d.ts +1 -1
  77. package/dist/_esm5.processed/core/adaptive/utils/pending_requests_store.d.ts +2 -1
  78. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.d.ts +1 -1
  79. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.js +8 -5
  80. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +1 -1
  81. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +5 -3
  82. package/dist/_esm5.processed/core/api/debug/buffer_graph.d.ts +1 -1
  83. package/dist/_esm5.processed/core/api/debug/buffer_graph.js +3 -8
  84. package/dist/_esm5.processed/core/api/debug/buffer_size_graph.js +1 -2
  85. package/dist/_esm5.processed/core/api/debug/modules/general_info.d.ts +2 -2
  86. package/dist/_esm5.processed/core/api/debug/modules/general_info.js +17 -13
  87. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.d.ts +3 -3
  88. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +4 -2
  89. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.d.ts +2 -2
  90. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +1 -1
  91. package/dist/_esm5.processed/core/api/debug/render.d.ts +2 -2
  92. package/dist/_esm5.processed/core/api/debug/utils.d.ts +5 -5
  93. package/dist/_esm5.processed/core/api/index.d.ts +1 -1
  94. package/dist/_esm5.processed/core/api/option_utils.d.ts +3 -3
  95. package/dist/_esm5.processed/core/api/option_utils.js +85 -48
  96. package/dist/_esm5.processed/core/api/playback_observer.d.ts +16 -18
  97. package/dist/_esm5.processed/core/api/playback_observer.js +65 -42
  98. package/dist/_esm5.processed/core/api/public_api.d.ts +10 -9
  99. package/dist/_esm5.processed/core/api/public_api.js +103 -94
  100. package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.d.ts +1 -1
  101. package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.js +25 -14
  102. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +3 -3
  103. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +72 -80
  104. package/dist/_esm5.processed/core/api/utils.d.ts +5 -5
  105. package/dist/_esm5.processed/core/api/utils.js +5 -8
  106. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.d.ts +12 -54
  107. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.js +55 -66
  108. package/dist/_esm5.processed/core/decrypt/attach_media_keys.d.ts +10 -5
  109. package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +16 -8
  110. package/dist/_esm5.processed/core/decrypt/content_decryptor.d.ts +11 -2
  111. package/dist/_esm5.processed/core/decrypt/content_decryptor.js +136 -65
  112. package/dist/_esm5.processed/core/decrypt/create_or_load_session.d.ts +5 -4
  113. package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +18 -7
  114. package/dist/_esm5.processed/core/decrypt/create_session.d.ts +5 -4
  115. package/dist/_esm5.processed/core/decrypt/create_session.js +6 -12
  116. package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +1 -2
  117. package/dist/_esm5.processed/core/decrypt/find_key_system.d.ts +13 -3
  118. package/dist/_esm5.processed/core/decrypt/find_key_system.js +45 -22
  119. package/dist/_esm5.processed/core/decrypt/get_key_system_configuration.js +1 -2
  120. package/dist/_esm5.processed/core/decrypt/get_media_keys.d.ts +9 -4
  121. package/dist/_esm5.processed/core/decrypt/get_media_keys.js +17 -6
  122. package/dist/_esm5.processed/core/decrypt/init_media_keys.d.ts +3 -3
  123. package/dist/_esm5.processed/core/decrypt/session_events_listener.d.ts +2 -2
  124. package/dist/_esm5.processed/core/decrypt/session_events_listener.js +12 -16
  125. package/dist/_esm5.processed/core/decrypt/set_server_certificate.d.ts +3 -3
  126. package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +6 -7
  127. package/dist/_esm5.processed/core/decrypt/types.d.ts +11 -5
  128. package/dist/_esm5.processed/core/decrypt/utils/are_init_values_compatible.js +20 -12
  129. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.d.ts +2 -2
  130. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.js +5 -4
  131. package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.d.ts +1 -1
  132. package/dist/_esm5.processed/core/decrypt/utils/clean_old_stored_persistent_info.d.ts +1 -1
  133. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.d.ts +1 -1
  134. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +16 -9
  135. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.d.ts +1 -1
  136. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.js +1 -2
  137. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.d.ts +1 -1
  138. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +1 -2
  139. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.d.ts +11 -13
  140. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +13 -13
  141. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.d.ts +8 -3
  142. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.js +1 -2
  143. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.d.ts +3 -3
  144. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +27 -16
  145. package/dist/_esm5.processed/core/decrypt/utils/serializable_bytes.js +1 -1
  146. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.d.ts +1 -1
  147. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.js +19 -12
  148. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.d.ts +2 -2
  149. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.js +5 -6
  150. package/dist/_esm5.processed/core/fetchers/index.d.ts +6 -3
  151. package/dist/_esm5.processed/core/fetchers/index.js +1 -1
  152. package/dist/_esm5.processed/core/fetchers/manifest/index.d.ts +3 -2
  153. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +2 -2
  154. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +68 -61
  155. package/dist/_esm5.processed/core/fetchers/segment/index.d.ts +4 -3
  156. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.d.ts +4 -3
  157. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +9 -8
  158. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +41 -29
  159. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -5
  160. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +2 -3
  161. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.d.ts +1 -1
  162. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.js +19 -18
  163. package/dist/_esm5.processed/core/fetchers/utils/error_selector.d.ts +1 -1
  164. package/dist/_esm5.processed/core/fetchers/utils/error_selector.js +1 -1
  165. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +3 -3
  166. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +25 -25
  167. package/dist/_esm5.processed/core/init/directfile_content_initializer.d.ts +4 -4
  168. package/dist/_esm5.processed/core/init/directfile_content_initializer.js +21 -17
  169. package/dist/_esm5.processed/core/init/index.d.ts +2 -1
  170. package/dist/_esm5.processed/core/init/index.js +1 -1
  171. package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +9 -9
  172. package/dist/_esm5.processed/core/init/media_source_content_initializer.js +64 -32
  173. package/dist/_esm5.processed/core/init/types.d.ts +10 -12
  174. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.d.ts +6 -5
  175. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.js +20 -19
  176. package/dist/_esm5.processed/core/init/utils/create_media_source.d.ts +1 -1
  177. package/dist/_esm5.processed/core/init/utils/create_media_source.js +2 -3
  178. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.d.ts +6 -6
  179. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.js +5 -3
  180. package/dist/_esm5.processed/core/init/utils/end_of_stream.d.ts +1 -1
  181. package/dist/_esm5.processed/core/init/utils/get_initial_time.d.ts +1 -1
  182. package/dist/_esm5.processed/core/init/utils/get_initial_time.js +12 -15
  183. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.d.ts +3 -3
  184. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.js +1 -2
  185. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.d.ts +9 -9
  186. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.js +39 -3
  187. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.d.ts +9 -8
  188. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.js +12 -9
  189. package/dist/_esm5.processed/core/init/utils/media_source_duration_updater.js +10 -7
  190. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.d.ts +7 -6
  191. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +24 -24
  192. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/are_same_stream_events.js +1 -3
  193. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/index.d.ts +1 -1
  194. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +2 -2
  195. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +14 -6
  196. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.d.ts +3 -3
  197. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.js +12 -19
  198. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/types.d.ts +1 -1
  199. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.d.ts +1 -1
  200. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.js +11 -6
  201. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.d.ts +6 -6
  202. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +12 -13
  203. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.d.ts +3 -2
  204. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +6 -9
  205. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +3 -2
  206. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +1 -1
  207. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.d.ts +2 -1
  208. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +7 -7
  209. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.d.ts +1 -1
  210. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +4 -4
  211. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/update_proportional_elements.js +1 -2
  212. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.d.ts +1 -1
  213. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +2 -6
  214. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +2 -1
  215. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +2 -2
  216. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/parsers.d.ts +1 -1
  217. package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +5 -7
  218. package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +1 -1
  219. package/dist/_esm5.processed/core/segment_buffers/index.d.ts +8 -4
  220. package/dist/_esm5.processed/core/segment_buffers/index.js +2 -2
  221. package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.d.ts +1 -1
  222. package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +6 -4
  223. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +4 -4
  224. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +63 -54
  225. package/dist/_esm5.processed/core/segment_buffers/inventory/types.d.ts +1 -1
  226. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +2 -2
  227. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +17 -23
  228. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +3 -3
  229. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +49 -22
  230. package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +8 -7
  231. package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.d.ts +7 -6
  232. package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.js +2 -1
  233. package/dist/_esm5.processed/core/stream/index.d.ts +6 -5
  234. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.d.ts +3 -3
  235. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.js +2 -2
  236. package/dist/_esm5.processed/core/stream/orchestrator/index.d.ts +3 -2
  237. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +9 -7
  238. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +47 -34
  239. package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +3 -3
  240. package/dist/_esm5.processed/core/stream/period/period_stream.js +49 -16
  241. package/dist/_esm5.processed/core/stream/period/types.d.ts +15 -12
  242. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +9 -9
  243. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +26 -25
  244. package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +3 -3
  245. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +47 -23
  246. package/dist/_esm5.processed/core/stream/representation/types.d.ts +9 -8
  247. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.d.ts +4 -4
  248. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.js +10 -7
  249. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.d.ts +4 -3
  250. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.js +16 -18
  251. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.d.ts +7 -6
  252. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.js +11 -11
  253. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.d.ts +2 -2
  254. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.js +6 -8
  255. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.d.ts +5 -4
  256. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +40 -19
  257. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.d.ts +4 -3
  258. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +27 -28
  259. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.d.ts +6 -5
  260. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.js +7 -5
  261. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.d.ts +8 -7
  262. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.js +13 -10
  263. package/dist/_esm5.processed/default_config.js +20 -16
  264. package/dist/_esm5.processed/errors/encrypted_media_error.d.ts +2 -2
  265. package/dist/_esm5.processed/errors/encrypted_media_error.js +1 -1
  266. package/dist/_esm5.processed/errors/error_codes.d.ts +1 -1
  267. package/dist/_esm5.processed/errors/error_codes.js +1 -1
  268. package/dist/_esm5.processed/errors/format_error.d.ts +2 -2
  269. package/dist/_esm5.processed/errors/format_error.js +1 -2
  270. package/dist/_esm5.processed/errors/index.d.ts +6 -3
  271. package/dist/_esm5.processed/errors/index.js +2 -2
  272. package/dist/_esm5.processed/errors/is_known_error.d.ts +1 -1
  273. package/dist/_esm5.processed/errors/is_known_error.js +2 -2
  274. package/dist/_esm5.processed/errors/media_error.d.ts +3 -3
  275. package/dist/_esm5.processed/errors/media_error.js +4 -7
  276. package/dist/_esm5.processed/errors/network_error.d.ts +2 -2
  277. package/dist/_esm5.processed/errors/network_error.js +3 -3
  278. package/dist/_esm5.processed/errors/other_error.d.ts +1 -1
  279. package/dist/_esm5.processed/errors/other_error.js +1 -1
  280. package/dist/_esm5.processed/errors/request_error.d.ts +1 -1
  281. package/dist/_esm5.processed/experimental/features/dash_wasm.d.ts +2 -2
  282. package/dist/_esm5.processed/experimental/features/debug_element.d.ts +1 -1
  283. package/dist/_esm5.processed/experimental/features/local.d.ts +1 -1
  284. package/dist/_esm5.processed/experimental/features/metaplaylist.d.ts +1 -1
  285. package/dist/_esm5.processed/experimental/index.d.ts +1 -1
  286. package/dist/_esm5.processed/experimental/index.js +1 -1
  287. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
  288. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
  289. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
  290. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.js +2 -2
  291. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
  292. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +7 -3
  293. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +1 -1
  294. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +1 -2
  295. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -2
  296. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +2 -2
  297. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.d.ts +3 -2
  298. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +2 -2
  299. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +12 -18
  300. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +13 -23
  301. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.d.ts +1 -1
  302. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +8 -7
  303. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.d.ts +1 -1
  304. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.js +9 -13
  305. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +4 -3
  306. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +5 -3
  307. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.d.ts +1 -1
  308. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.js +10 -47
  309. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts +2 -1
  310. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +8 -5
  311. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.d.ts +2 -1
  312. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +21 -13
  313. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +2 -1
  314. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +22 -18
  315. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +4 -7
  316. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.d.ts +1 -1
  317. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +2 -1
  318. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +3 -5
  319. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.d.ts +1 -1
  320. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +4 -10
  321. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts +2 -1
  322. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -3
  323. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +2 -1
  324. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +2 -3
  325. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.d.ts +2 -2
  326. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
  327. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.js +6 -6
  328. package/dist/_esm5.processed/experimental/tools/parseBIFThumbnails.js +5 -4
  329. package/dist/_esm5.processed/features/add_features.d.ts +1 -1
  330. package/dist/_esm5.processed/features/features_object.d.ts +1 -1
  331. package/dist/_esm5.processed/features/features_object.js +4 -3
  332. package/dist/_esm5.processed/features/index.d.ts +3 -2
  333. package/dist/_esm5.processed/features/index.js +1 -1
  334. package/dist/_esm5.processed/features/list/bif_parser.d.ts +1 -1
  335. package/dist/_esm5.processed/features/list/dash.d.ts +1 -1
  336. package/dist/_esm5.processed/features/list/directfile.d.ts +1 -1
  337. package/dist/_esm5.processed/features/list/eme.d.ts +1 -1
  338. package/dist/_esm5.processed/features/list/html_sami_parser.d.ts +1 -1
  339. package/dist/_esm5.processed/features/list/html_srt_parser.d.ts +1 -1
  340. package/dist/_esm5.processed/features/list/html_text_buffer.d.ts +1 -1
  341. package/dist/_esm5.processed/features/list/html_ttml_parser.d.ts +1 -1
  342. package/dist/_esm5.processed/features/list/html_vtt_parser.d.ts +1 -1
  343. package/dist/_esm5.processed/features/list/image_buffer.d.ts +1 -1
  344. package/dist/_esm5.processed/features/list/native_sami_parser.d.ts +1 -1
  345. package/dist/_esm5.processed/features/list/native_srt_parser.d.ts +1 -1
  346. package/dist/_esm5.processed/features/list/native_text_buffer.d.ts +1 -1
  347. package/dist/_esm5.processed/features/list/native_ttml_parser.d.ts +1 -1
  348. package/dist/_esm5.processed/features/list/native_vtt_parser.d.ts +1 -1
  349. package/dist/_esm5.processed/features/list/smooth.d.ts +1 -1
  350. package/dist/_esm5.processed/features/types.d.ts +11 -11
  351. package/dist/_esm5.processed/manifest/adaptation.d.ts +3 -3
  352. package/dist/_esm5.processed/manifest/adaptation.js +24 -14
  353. package/dist/_esm5.processed/manifest/index.d.ts +9 -5
  354. package/dist/_esm5.processed/manifest/index.js +4 -8
  355. package/dist/_esm5.processed/manifest/manifest.d.ts +8 -7
  356. package/dist/_esm5.processed/manifest/manifest.js +37 -33
  357. package/dist/_esm5.processed/manifest/period.d.ts +4 -4
  358. package/dist/_esm5.processed/manifest/period.js +7 -14
  359. package/dist/_esm5.processed/manifest/representation.d.ts +4 -4
  360. package/dist/_esm5.processed/manifest/representation.js +5 -5
  361. package/dist/_esm5.processed/manifest/representation_index/index.d.ts +3 -2
  362. package/dist/_esm5.processed/manifest/representation_index/index.js +1 -1
  363. package/dist/_esm5.processed/manifest/representation_index/static.d.ts +1 -1
  364. package/dist/_esm5.processed/manifest/representation_index/static.js +6 -2
  365. package/dist/_esm5.processed/manifest/representation_index/types.d.ts +6 -5
  366. package/dist/_esm5.processed/manifest/update_period_in_place.d.ts +3 -3
  367. package/dist/_esm5.processed/manifest/update_period_in_place.js +9 -9
  368. package/dist/_esm5.processed/manifest/update_periods.d.ts +2 -2
  369. package/dist/_esm5.processed/manifest/update_periods.js +6 -3
  370. package/dist/_esm5.processed/manifest/utils.d.ts +4 -4
  371. package/dist/_esm5.processed/manifest/utils.js +6 -4
  372. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.d.ts +1 -1
  373. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.js +5 -4
  374. package/dist/_esm5.processed/parsers/containers/isobmff/drm/playready.js +2 -3
  375. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +3 -5
  376. package/dist/_esm5.processed/parsers/containers/isobmff/index.d.ts +5 -4
  377. package/dist/_esm5.processed/parsers/containers/isobmff/index.js +4 -4
  378. package/dist/_esm5.processed/parsers/containers/isobmff/read.d.ts +1 -1
  379. package/dist/_esm5.processed/parsers/containers/isobmff/read.js +9 -9
  380. package/dist/_esm5.processed/parsers/containers/isobmff/take_pssh_out.js +3 -4
  381. package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +51 -41
  382. package/dist/_esm5.processed/parsers/containers/matroska/index.d.ts +2 -1
  383. package/dist/_esm5.processed/parsers/containers/matroska/index.js +1 -1
  384. package/dist/_esm5.processed/parsers/containers/matroska/utils.js +29 -16
  385. package/dist/_esm5.processed/parsers/images/bif.js +15 -5
  386. package/dist/_esm5.processed/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
  387. package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.js +1 -3
  388. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
  389. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
  390. package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.js +4 -12
  391. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
  392. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +4 -5
  393. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
  394. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +5 -2
  395. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
  396. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.js +5 -6
  397. package/dist/_esm5.processed/parsers/manifest/dash/common/index.d.ts +3 -2
  398. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +4 -4
  399. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +34 -28
  400. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +2 -2
  401. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +7 -4
  402. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
  403. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -11
  404. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/index.d.ts +10 -5
  405. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -2
  406. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +30 -18
  407. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +3 -3
  408. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +56 -55
  409. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +1 -1
  410. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +2 -6
  411. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +1 -1
  412. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +11 -15
  413. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
  414. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +12 -9
  415. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +1 -1
  416. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +29 -19
  417. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/index.d.ts +3 -2
  418. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +6 -6
  419. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +73 -59
  420. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +2 -4
  421. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
  422. package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.js +7 -8
  423. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +4 -4
  424. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +52 -50
  425. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_availability_start_time.d.ts +1 -1
  426. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +6 -6
  427. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +52 -31
  428. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +4 -4
  429. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +41 -30
  430. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +4 -4
  431. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +1 -2
  432. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +4 -4
  433. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +63 -64
  434. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
  435. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +4 -2
  436. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +1 -1
  437. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +73 -37
  438. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +1 -1
  439. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +1 -2
  440. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +1 -1
  441. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +1 -1
  442. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +1 -1
  443. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +13 -7
  444. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +1 -1
  445. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +5 -3
  446. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +1 -1
  447. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.js +44 -27
  448. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +1 -1
  449. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.js +14 -8
  450. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +1 -1
  451. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +36 -18
  452. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +1 -1
  453. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +36 -18
  454. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +1 -1
  455. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +1 -1
  456. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +17 -8
  457. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +1 -1
  458. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +1 -1
  459. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +9 -5
  460. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +8 -26
  461. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +6 -12
  462. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.d.ts +2 -2
  463. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +9 -4
  464. package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +2 -2
  465. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/index.d.ts +3 -2
  466. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +1 -1
  467. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +29 -16
  468. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +3 -2
  469. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +22 -35
  470. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
  471. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +2 -2
  472. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +2 -2
  473. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +3 -1
  474. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +3 -2
  475. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +2 -4
  476. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts +3 -0
  477. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.js +9 -0
  478. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +3 -2
  479. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +5 -5
  480. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +3 -2
  481. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +9 -6
  482. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +3 -2
  483. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +8 -16
  484. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +2 -2
  485. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +2 -2
  486. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +5 -10
  487. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +3 -2
  488. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +2 -2
  489. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +11 -18
  490. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
  491. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +2 -4
  492. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +3 -2
  493. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +5 -5
  494. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
  495. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +5 -6
  496. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts +1 -1
  497. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +1 -2
  498. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  499. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +1 -1
  500. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.js +2 -4
  501. package/dist/_esm5.processed/parsers/manifest/local/index.d.ts +1 -1
  502. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
  503. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +25 -16
  504. package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -2
  505. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +5 -10
  506. package/dist/_esm5.processed/parsers/manifest/metaplaylist/index.d.ts +3 -2
  507. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
  508. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +33 -29
  509. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +2 -2
  510. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +9 -7
  511. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +3 -3
  512. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +136 -109
  513. package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +3 -3
  514. package/dist/_esm5.processed/parsers/manifest/smooth/index.d.ts +4 -2
  515. package/dist/_esm5.processed/parsers/manifest/smooth/index.js +1 -1
  516. package/dist/_esm5.processed/parsers/manifest/smooth/parse_C_nodes.js +6 -6
  517. package/dist/_esm5.processed/parsers/manifest/smooth/parse_protection_node.js +12 -8
  518. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +2 -2
  519. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +48 -53
  520. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +10 -7
  521. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.d.ts +1 -1
  522. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.js +2 -3
  523. package/dist/_esm5.processed/parsers/manifest/types.d.ts +2 -2
  524. package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
  525. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.d.ts +1 -1
  526. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +9 -6
  527. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
  528. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.js +5 -4
  529. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
  530. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.js +5 -4
  531. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.d.ts +1 -1
  532. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.js +10 -16
  533. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.d.ts +1 -1
  534. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.js +4 -10
  535. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +1 -1
  536. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +4 -5
  537. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
  538. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +18 -18
  539. package/dist/_esm5.processed/parsers/texttracks/index.d.ts +1 -1
  540. package/dist/_esm5.processed/parsers/texttracks/sami/html.d.ts +1 -1
  541. package/dist/_esm5.processed/parsers/texttracks/sami/html.js +15 -15
  542. package/dist/_esm5.processed/parsers/texttracks/sami/native.d.ts +1 -1
  543. package/dist/_esm5.processed/parsers/texttracks/sami/native.js +7 -14
  544. package/dist/_esm5.processed/parsers/texttracks/srt/html.js +6 -6
  545. package/dist/_esm5.processed/parsers/texttracks/srt/native.d.ts +1 -1
  546. package/dist/_esm5.processed/parsers/texttracks/srt/native.js +1 -7
  547. package/dist/_esm5.processed/parsers/texttracks/srt/parse_cue.js +4 -8
  548. package/dist/_esm5.processed/parsers/texttracks/ttml/get_parameters.js +4 -8
  549. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
  550. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.js +6 -8
  551. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +2 -2
  552. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +2 -6
  553. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +3 -4
  554. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +2 -6
  555. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_padding.js +2 -6
  556. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.d.ts +2 -2
  557. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.js +22 -21
  558. package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +2 -2
  559. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
  560. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.js +5 -3
  561. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
  562. package/dist/_esm5.processed/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +34 -19
  563. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
  564. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.js +9 -10
  565. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
  566. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.d.ts +3 -3
  567. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.js +28 -16
  568. package/dist/_esm5.processed/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
  569. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
  570. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.js +2 -2
  571. package/dist/_esm5.processed/parsers/texttracks/types.d.ts +1 -1
  572. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_cue_blocks.js +1 -1
  573. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_style_blocks.js +2 -1
  574. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
  575. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.d.ts +1 -1
  576. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +6 -12
  577. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
  578. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.js +7 -8
  579. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/index.d.ts +1 -1
  580. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_style_block.js +4 -4
  581. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_webvtt_to_div.d.ts +1 -1
  582. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
  583. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.js +4 -10
  584. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.d.ts +1 -1
  585. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -6
  586. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
  587. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.d.ts +1 -1
  588. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.js +1 -1
  589. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.js +2 -4
  590. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_timestamp.js +1 -2
  591. package/dist/_esm5.processed/parsers/texttracks/webvtt/utils.js +6 -6
  592. package/dist/_esm5.processed/public_types.d.ts +13 -11
  593. package/dist/_esm5.processed/tools/TextTrackRenderer/index.d.ts +3 -2
  594. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
  595. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +15 -10
  596. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.d.ts +1 -1
  597. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +2 -3
  598. package/dist/_esm5.processed/transports/dash/construct_segment_url.d.ts +2 -2
  599. package/dist/_esm5.processed/transports/dash/construct_segment_url.js +5 -3
  600. package/dist/_esm5.processed/transports/dash/extract_complete_chunks.js +2 -2
  601. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
  602. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.js +9 -10
  603. package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +3 -3
  604. package/dist/_esm5.processed/transports/dash/image_pipelines.js +32 -19
  605. package/dist/_esm5.processed/transports/dash/init_segment_loader.d.ts +3 -3
  606. package/dist/_esm5.processed/transports/dash/init_segment_loader.js +46 -22
  607. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.d.ts +2 -2
  608. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.js +13 -9
  609. package/dist/_esm5.processed/transports/dash/manifest_parser.d.ts +2 -2
  610. package/dist/_esm5.processed/transports/dash/manifest_parser.js +35 -22
  611. package/dist/_esm5.processed/transports/dash/pipelines.d.ts +1 -1
  612. package/dist/_esm5.processed/transports/dash/pipelines.js +11 -15
  613. package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +4 -4
  614. package/dist/_esm5.processed/transports/dash/segment_loader.js +30 -21
  615. package/dist/_esm5.processed/transports/dash/segment_parser.d.ts +2 -2
  616. package/dist/_esm5.processed/transports/dash/segment_parser.js +47 -21
  617. package/dist/_esm5.processed/transports/dash/text_loader.d.ts +2 -2
  618. package/dist/_esm5.processed/transports/dash/text_loader.js +19 -19
  619. package/dist/_esm5.processed/transports/dash/text_parser.d.ts +2 -2
  620. package/dist/_esm5.processed/transports/dash/text_parser.js +45 -24
  621. package/dist/_esm5.processed/transports/local/pipelines.d.ts +1 -1
  622. package/dist/_esm5.processed/transports/local/pipelines.js +7 -8
  623. package/dist/_esm5.processed/transports/local/segment_loader.d.ts +3 -3
  624. package/dist/_esm5.processed/transports/local/segment_loader.js +14 -6
  625. package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
  626. package/dist/_esm5.processed/transports/local/segment_parser.js +31 -13
  627. package/dist/_esm5.processed/transports/local/text_parser.d.ts +1 -1
  628. package/dist/_esm5.processed/transports/local/text_parser.js +44 -19
  629. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.d.ts +4 -4
  630. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.js +9 -5
  631. package/dist/_esm5.processed/transports/metaplaylist/pipelines.d.ts +1 -1
  632. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +25 -18
  633. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.d.ts +2 -2
  634. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +16 -15
  635. package/dist/_esm5.processed/transports/smooth/isobmff/create_audio_init_segment.js +3 -3
  636. package/dist/_esm5.processed/transports/smooth/isobmff/create_boxes.js +14 -32
  637. package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.js +2 -2
  638. package/dist/_esm5.processed/transports/smooth/isobmff/create_traf_box.js +2 -2
  639. package/dist/_esm5.processed/transports/smooth/isobmff/get_aaces_header.js +4 -16
  640. package/dist/_esm5.processed/transports/smooth/isobmff/index.d.ts +4 -2
  641. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfrf.js +2 -2
  642. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfxd.js +1 -1
  643. package/dist/_esm5.processed/transports/smooth/isobmff/patch_segment.js +11 -10
  644. package/dist/_esm5.processed/transports/smooth/pipelines.d.ts +1 -1
  645. package/dist/_esm5.processed/transports/smooth/pipelines.js +121 -79
  646. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +3 -3
  647. package/dist/_esm5.processed/transports/smooth/segment_loader.js +53 -27
  648. package/dist/_esm5.processed/transports/smooth/utils.d.ts +2 -2
  649. package/dist/_esm5.processed/transports/smooth/utils.js +7 -5
  650. package/dist/_esm5.processed/transports/types.d.ts +11 -25
  651. package/dist/_esm5.processed/transports/utils/byte_range.js +1 -2
  652. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.d.ts +3 -3
  653. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +13 -7
  654. package/dist/_esm5.processed/transports/utils/check_isobmff_integrity.js +3 -3
  655. package/dist/_esm5.processed/transports/utils/find_complete_box.js +3 -2
  656. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.d.ts +3 -3
  657. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.js +18 -6
  658. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
  659. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +12 -11
  660. package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +1 -1
  661. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +1 -3
  662. package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +4 -4
  663. package/dist/_esm5.processed/transports/utils/parse_text_track.js +9 -6
  664. package/dist/_esm5.processed/utils/are_codecs_compatible.js +5 -1
  665. package/dist/_esm5.processed/utils/array_includes.js +2 -6
  666. package/dist/_esm5.processed/utils/assert.js +3 -4
  667. package/dist/_esm5.processed/utils/base64.js +87 -29
  668. package/dist/_esm5.processed/utils/byte_parsing.js +60 -56
  669. package/dist/_esm5.processed/utils/cancellable_sleep.d.ts +1 -1
  670. package/dist/_esm5.processed/utils/create_cancellable_promise.d.ts +1 -1
  671. package/dist/_esm5.processed/utils/deep_merge.js +4 -4
  672. package/dist/_esm5.processed/utils/event_emitter.d.ts +1 -1
  673. package/dist/_esm5.processed/utils/get_fuzzed_delay.js +1 -1
  674. package/dist/_esm5.processed/utils/hash_buffer.js +1 -1
  675. package/dist/_esm5.processed/utils/initialization_segment_cache.d.ts +2 -2
  676. package/dist/_esm5.processed/utils/languages/index.d.ts +4 -2
  677. package/dist/_esm5.processed/utils/languages/index.js +2 -2
  678. package/dist/_esm5.processed/utils/languages/normalize.d.ts +2 -1
  679. package/dist/_esm5.processed/utils/languages/normalize.js +5 -3
  680. package/dist/_esm5.processed/utils/logger.js +7 -14
  681. package/dist/_esm5.processed/utils/object_assign.js +5 -5
  682. package/dist/_esm5.processed/utils/object_values.d.ts +1 -1
  683. package/dist/_esm5.processed/utils/object_values.js +2 -3
  684. package/dist/_esm5.processed/utils/ranges.d.ts +2 -1
  685. package/dist/_esm5.processed/utils/ranges.js +19 -23
  686. package/dist/_esm5.processed/utils/reference.d.ts +3 -3
  687. package/dist/_esm5.processed/utils/reference.js +1 -3
  688. package/dist/_esm5.processed/utils/request/fetch.d.ts +1 -1
  689. package/dist/_esm5.processed/utils/request/fetch.js +34 -23
  690. package/dist/_esm5.processed/utils/request/index.d.ts +6 -3
  691. package/dist/_esm5.processed/utils/request/index.js +2 -2
  692. package/dist/_esm5.processed/utils/request/xhr.d.ts +1 -1
  693. package/dist/_esm5.processed/utils/request/xhr.js +28 -17
  694. package/dist/_esm5.processed/utils/retry_promise_with_backoff.d.ts +2 -2
  695. package/dist/_esm5.processed/utils/slice_uint8array.js +3 -3
  696. package/dist/_esm5.processed/utils/starts_with.js +3 -3
  697. package/dist/_esm5.processed/utils/string_parsing.js +16 -18
  698. package/dist/_esm5.processed/utils/task_canceller.js +1 -2
  699. package/dist/_esm5.processed/utils/uniq.d.ts +1 -1
  700. package/dist/_esm5.processed/utils/uniq.js +4 -3
  701. package/dist/_esm5.processed/utils/weak_map_memory.js +0 -1
  702. package/dist/_esm5.processed/utils/wrapInPromise.d.ts +1 -1
  703. package/dist/mpd-parser.wasm +0 -0
  704. package/dist/rx-player.js +345 -236
  705. package/dist/rx-player.min.js +1 -1
  706. package/experimental/features/index.d.ts-E +16 -0
  707. package/experimental/features/index.js-E +16 -0
  708. package/experimental/index.d.ts +1 -1
  709. package/experimental/index.d.ts-E +16 -0
  710. package/experimental/index.js +1 -1
  711. package/experimental/index.js-E +16 -0
  712. package/experimental/tools/VideoThumbnailLoader/index.d.ts-E +18 -0
  713. package/experimental/tools/VideoThumbnailLoader/index.js-E +18 -0
  714. package/experimental/tools/index.d.ts-E +16 -0
  715. package/experimental/tools/index.js-E +16 -0
  716. package/features/index.d.ts-E +16 -0
  717. package/features/index.js-E +16 -0
  718. package/logger/index.d.ts-E +17 -0
  719. package/logger/index.js-E +17 -0
  720. package/minimal/index.d.ts-E +17 -0
  721. package/minimal/index.js-E +17 -0
  722. package/package.json +29 -14
  723. package/tools/TextTrackRenderer.d.ts-E +18 -0
  724. package/tools/TextTrackRenderer.js-E +18 -0
  725. package/tools/index.d.ts-E +16 -0
  726. package/tools/index.js-E +16 -0
  727. package/tools/string-utils.d.ts-E +18 -0
  728. package/tools/string-utils.js-E +18 -0
  729. package/types/index.d.ts-E +16 -0
  730. package/types/index.js-E +15 -0
@@ -89,8 +89,7 @@ export default function createSession(stores, initData, wantedSessionType, cance
89
89
  function createTemporarySession(loadedSessionsStore, initData) {
90
90
  log.info("DRM: Creating a new temporary session");
91
91
  var entry = loadedSessionsStore.createSession(initData, "temporary");
92
- return Promise.resolve({ type: "created-session" /* MediaKeySessionLoadingType.Created */,
93
- value: entry });
92
+ return Promise.resolve({ type: "created-session" /* MediaKeySessionLoadingType.Created */, value: entry });
94
93
  }
95
94
  /**
96
95
  * Create a persistent MediaKeySession and try to load on it a previous
@@ -150,8 +149,7 @@ function createAndTryToRetrievePersistentSession(loadedSessionsStore, persistent
150
149
  throw cancelSignal.cancellationError;
151
150
  }
152
151
  newEntry = loadedSessionsStore.createSession(initData, "persistent-license");
153
- return [2 /*return*/, { type: "created-session" /* MediaKeySessionLoadingType.Created */,
154
- value: newEntry }];
152
+ return [2 /*return*/, { type: "created-session" /* MediaKeySessionLoadingType.Created */, value: newEntry }];
155
153
  }
156
154
  });
157
155
  });
@@ -167,8 +165,7 @@ function createAndTryToRetrievePersistentSession(loadedSessionsStore, persistent
167
165
  entry = loadedSessionsStore.createSession(initData, "persistent-license");
168
166
  storedEntry = persistentSessionsStore.getAndReuse(initData);
169
167
  if (storedEntry === null) {
170
- return [2 /*return*/, { type: "created-session" /* MediaKeySessionLoadingType.Created */,
171
- value: entry }];
168
+ return [2 /*return*/, { type: "created-session" /* MediaKeySessionLoadingType.Created */, value: entry }];
172
169
  }
173
170
  _a.label = 1;
174
171
  case 1:
@@ -187,14 +184,12 @@ function createAndTryToRetrievePersistentSession(loadedSessionsStore, persistent
187
184
  // in that specific case.
188
185
  loadedSessionsStore.removeSessionWithoutClosingIt(entry.mediaKeySession);
189
186
  newEntry = loadedSessionsStore.createSession(initData, "persistent-license");
190
- return [2 /*return*/, { type: "created-session" /* MediaKeySessionLoadingType.Created */,
191
- value: newEntry }];
187
+ return [2 /*return*/, { type: "created-session" /* MediaKeySessionLoadingType.Created */, value: newEntry }];
192
188
  }
193
189
  if (hasLoadedSession && isSessionUsable(entry.mediaKeySession)) {
194
190
  persistentSessionsStore.add(initData, initData.keyIds, entry.mediaKeySession);
195
191
  log.info("DRM: Succeeded to load persistent session.");
196
- return [2 /*return*/, { type: "loaded-persistent-session" /* MediaKeySessionLoadingType.LoadedPersistentSession */,
197
- value: entry }];
192
+ return [2 /*return*/, { type: "loaded-persistent-session" /* MediaKeySessionLoadingType.LoadedPersistentSession */, value: entry }];
198
193
  }
199
194
  // Unusable persistent session: recreate a new session from scratch.
200
195
  log.warn("DRM: Previous persistent session not usable anymore.");
@@ -202,8 +197,7 @@ function createAndTryToRetrievePersistentSession(loadedSessionsStore, persistent
202
197
  case 3:
203
198
  err_1 = _a.sent();
204
199
  log.warn("DRM: Unable to load persistent session: " +
205
- (err_1 instanceof Error ? err_1.toString() :
206
- "Unknown Error"));
200
+ (err_1 instanceof Error ? err_1.toString() : "Unknown Error"));
207
201
  return [2 /*return*/, recreatePersistentSession()];
208
202
  case 4: return [2 /*return*/];
209
203
  }
@@ -74,8 +74,7 @@ export default function disposeDecryptionResources(mediaElement) {
74
74
  case 1:
75
75
  _a.sent();
76
76
  return [2 /*return*/, Promise.race([
77
- currentState.emeImplementation.setMediaKeys(mediaElement, null)
78
- .catch(function (err) {
77
+ currentState.emeImplementation.setMediaKeys(mediaElement, null).catch(function (err) {
79
78
  log.error("DRM: Could not reset MediaKeys", err instanceof Error ? err : "Unknown Error");
80
79
  }),
81
80
  // Because we know how much EME has implementation issues, let's not block
@@ -13,11 +13,21 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ICustomMediaKeySystemAccess } from "../../compat/eme";
17
- import { IKeySystemOption } from "../../public_types";
18
- import { CancellationSignal } from "../../utils/task_canceller";
16
+ import type { ICustomMediaKeySystemAccess } from "../../compat/eme";
17
+ import type { IKeySystemOption } from "../../public_types";
18
+ import type { CancellationSignal } from "../../utils/task_canceller";
19
19
  export interface IMediaKeySystemAccessInfos {
20
+ /** `MediaKeySystemAccess` to use to create `MediaKeys` instances. */
20
21
  mediaKeySystemAccess: MediaKeySystemAccess | ICustomMediaKeySystemAccess;
22
+ /**
23
+ * The MediaKeySystemConfiguration that has been provided to the
24
+ * `requestMediaKeySystemAccess` API.
25
+ */
26
+ askedConfiguration: MediaKeySystemConfiguration;
27
+ /**
28
+ * Corresponding `keySystems` element that has led to the creation of the
29
+ * `MediaKeySystemAccess`.
30
+ */
21
31
  options: IKeySystemOption;
22
32
  }
23
33
  export interface IReuseMediaKeySystemAccessEvent {
@@ -60,8 +60,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
60
60
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
61
61
  }
62
62
  };
63
- import { shouldRenewMediaKeySystemAccess, } from "../../compat";
64
- import { canRelyOnRequestMediaKeySystemAccess, } from "../../compat/can_rely_on_request_media_key_system_access";
63
+ import { shouldRenewMediaKeySystemAccess } from "../../compat";
64
+ import { canRelyOnRequestMediaKeySystemAccess } from "../../compat/can_rely_on_request_media_key_system_access";
65
65
  import eme from "../../compat/eme";
66
66
  import { generatePlayReadyInitData, DUMMY_PLAY_READY_HEADER, } from "../../compat/generate_init_data";
67
67
  import config from "../../config";
@@ -73,11 +73,12 @@ import isNullOrUndefined from "../../utils/is_null_or_undefined";
73
73
  import MediaKeysInfosStore from "./utils/media_keys_infos_store";
74
74
  /**
75
75
  * @param {Array.<Object>} keySystems
76
+ * @param {Object} askedConfiguration
76
77
  * @param {MediaKeySystemAccess} currentKeySystemAccess
77
78
  * @param {Object} currentKeySystemOptions
78
79
  * @returns {null|Object}
79
80
  */
80
- function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, currentKeySystemOptions) {
81
+ function checkCachedMediaKeySystemAccess(keySystems, askedConfiguration, currentKeySystemAccess, currentKeySystemOptions) {
81
82
  var mksConfiguration = currentKeySystemAccess.getConfiguration();
82
83
  if (shouldRenewMediaKeySystemAccess() || mksConfiguration == null) {
83
84
  return null;
@@ -98,8 +99,11 @@ function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, cur
98
99
  return true;
99
100
  })[0];
100
101
  if (firstCompatibleOption != null) {
101
- return { keySystemOptions: firstCompatibleOption,
102
- keySystemAccess: currentKeySystemAccess };
102
+ return {
103
+ keySystemOptions: firstCompatibleOption,
104
+ keySystemAccess: currentKeySystemAccess,
105
+ askedConfiguration: askedConfiguration,
106
+ };
103
107
  }
104
108
  return null;
105
109
  }
@@ -195,14 +199,12 @@ function buildKeySystemConfigurations(ksName, ksType, keySystem) {
195
199
  // https://www.w3.org/TR/encrypted-media/#get-supported-configuration-and-consent
196
200
  var videoCapabilities = flatMap(videoRobustnesses, function (robustness) {
197
201
  return EME_DEFAULT_VIDEO_CODECS.map(function (contentType) {
198
- return robustness === undefined ? { contentType: contentType } :
199
- { contentType: contentType, robustness: robustness };
202
+ return robustness === undefined ? { contentType: contentType } : { contentType: contentType, robustness: robustness };
200
203
  });
201
204
  });
202
205
  var audioCapabilities = flatMap(audioRobustnesses, function (robustness) {
203
206
  return EME_DEFAULT_AUDIO_CODECS.map(function (contentType) {
204
- return robustness === undefined ? { contentType: contentType } :
205
- { contentType: contentType, robustness: robustness };
207
+ return robustness === undefined ? { contentType: contentType } : { contentType: contentType, robustness: robustness };
206
208
  });
207
209
  });
208
210
  var wantedMediaKeySystemConfiguration = {
@@ -213,6 +215,11 @@ function buildKeySystemConfigurations(ksName, ksType, keySystem) {
213
215
  persistentState: persistentState,
214
216
  sessionTypes: sessionTypes,
215
217
  };
218
+ if (!isNullOrUndefined(keySystem.audioRobustnesses) ||
219
+ !isNullOrUndefined(keySystem.videoRobustnesses)) {
220
+ // If the user specifically asked for robustnesses, we don't want to try without them
221
+ return [wantedMediaKeySystemConfiguration];
222
+ }
216
223
  return [
217
224
  wantedMediaKeySystemConfiguration,
218
225
  // Some legacy implementations have issues with `audioCapabilities` and
@@ -244,13 +251,16 @@ export default function getMediaKeySystemAccess(mediaElement, keySystemsConfigs,
244
251
  if (eme.implementation === currentState.emeImplementation.implementation) {
245
252
  // Fast way to find a compatible keySystem if the currently loaded
246
253
  // one as exactly the same compatibility options.
247
- var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
254
+ var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.askedConfiguration, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
248
255
  if (cachedKeySystemAccess !== null) {
249
256
  log.info("DRM: Found cached compatible keySystem");
250
257
  return Promise.resolve({
251
258
  type: "reuse-media-key-system-access",
252
- value: { mediaKeySystemAccess: cachedKeySystemAccess.keySystemAccess,
253
- options: cachedKeySystemAccess.keySystemOptions },
259
+ value: {
260
+ mediaKeySystemAccess: cachedKeySystemAccess.keySystemAccess,
261
+ askedConfiguration: cachedKeySystemAccess.askedConfiguration,
262
+ options: cachedKeySystemAccess.keySystemOptions,
263
+ },
254
264
  });
255
265
  }
256
266
  }
@@ -293,7 +303,7 @@ export default function getMediaKeySystemAccess(mediaElement, keySystemsConfigs,
293
303
  */
294
304
  function recursivelyTestKeySystems(index) {
295
305
  return __awaiter(this, void 0, void 0, function () {
296
- var _a, keyName, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, _1;
306
+ var _a, keyName, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, configIdx, keySystemConfiguration, _1;
297
307
  return __generator(this, function (_b) {
298
308
  switch (_b.label) {
299
309
  case 0:
@@ -310,24 +320,37 @@ export default function getMediaKeySystemAccess(mediaElement, keySystemsConfigs,
310
320
  keySystemConfigurations = buildKeySystemConfigurations(keyName, keyType, keySystemOptions);
311
321
  log.debug("DRM: Request keysystem access ".concat(keyType, ",") +
312
322
  "".concat(index + 1, " of ").concat(keySystemsType.length));
323
+ configIdx = 0;
313
324
  _b.label = 1;
314
325
  case 1:
315
- _b.trys.push([1, 3, , 4]);
316
- return [4 /*yield*/, testKeySystem(keyType, keySystemConfigurations)];
326
+ if (!(configIdx < keySystemConfigurations.length)) return [3 /*break*/, 6];
327
+ keySystemConfiguration = keySystemConfigurations[configIdx];
328
+ _b.label = 2;
317
329
  case 2:
330
+ _b.trys.push([2, 4, , 5]);
331
+ return [4 /*yield*/, testKeySystem(keyType, [keySystemConfiguration])];
332
+ case 3:
318
333
  keySystemAccess = _b.sent();
319
334
  log.info("DRM: Found compatible keysystem", keyType, index + 1);
320
- return [2 /*return*/, { type: "create-media-key-system-access",
321
- value: { options: keySystemOptions,
322
- mediaKeySystemAccess: keySystemAccess } }];
323
- case 3:
335
+ return [2 /*return*/, {
336
+ type: "create-media-key-system-access",
337
+ value: {
338
+ options: keySystemOptions,
339
+ askedConfiguration: keySystemConfiguration,
340
+ mediaKeySystemAccess: keySystemAccess,
341
+ },
342
+ }];
343
+ case 4:
324
344
  _1 = _b.sent();
325
- log.debug("DRM: Rejected access to keysystem", keyType, index + 1);
345
+ log.debug("DRM: Rejected access to keysystem", keyType, index + 1, configIdx);
326
346
  if (cancelSignal.cancellationError !== null) {
327
347
  throw cancelSignal.cancellationError;
328
348
  }
329
- return [2 /*return*/, recursivelyTestKeySystems(index + 1)];
330
- case 4: return [2 /*return*/];
349
+ return [3 /*break*/, 5];
350
+ case 5:
351
+ configIdx++;
352
+ return [3 /*break*/, 1];
353
+ case 6: return [2 /*return*/, recursivelyTestKeySystems(index + 1)];
331
354
  }
332
355
  });
333
356
  });
@@ -39,6 +39,5 @@ export default function getKeySystemConfiguration(mediaElement) {
39
39
  */
40
40
  export function getCurrentKeySystem(mediaElement) {
41
41
  var currentState = MediaKeysInfosStore.getState(mediaElement);
42
- return currentState == null ? null :
43
- currentState.keySystemOptions.type;
42
+ return currentState == null ? null : currentState.keySystemOptions.type;
44
43
  }
@@ -13,14 +13,19 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ICustomMediaKeys, ICustomMediaKeySystemAccess } from "../../compat/eme";
17
- import { IKeySystemOption } from "../../public_types";
18
- import { CancellationSignal } from "../../utils/task_canceller";
19
- import { IMediaKeySessionStores } from "./types";
16
+ import type { ICustomMediaKeys, ICustomMediaKeySystemAccess } from "../../compat/eme";
17
+ import type { IKeySystemOption } from "../../public_types";
18
+ import type { CancellationSignal } from "../../utils/task_canceller";
19
+ import type { IMediaKeySessionStores } from "./types";
20
20
  /** Object returned by `getMediaKeysInfos`. */
21
21
  export interface IMediaKeysInfos {
22
22
  /** The MediaKeySystemAccess which allowed to create the MediaKeys instance. */
23
23
  mediaKeySystemAccess: MediaKeySystemAccess | ICustomMediaKeySystemAccess;
24
+ /**
25
+ * The MediaKeySystemConfiguration that has been provided to the
26
+ * `requestMediaKeySystemAccess` API.
27
+ */
28
+ askedConfiguration: MediaKeySystemConfiguration;
24
29
  /** The MediaKeys instance. */
25
30
  mediaKeys: MediaKeys | ICustomMediaKeys;
26
31
  /** Stores allowing to create and retrieve MediaKeySessions. */
@@ -89,7 +89,7 @@ function createPersistentSessionsStorage(keySystemOptions) {
89
89
  */
90
90
  export default function getMediaKeysInfos(mediaElement, keySystemsConfigs, cancelSignal) {
91
91
  return __awaiter(this, void 0, void 0, function () {
92
- var evt, _a, options, mediaKeySystemAccess, currentState, persistentSessionsStore, mediaKeys_1, loadedSessionsStore_1, mediaKeys, loadedSessionsStore;
92
+ var evt, _a, options, mediaKeySystemAccess, askedConfiguration, currentState, persistentSessionsStore, mediaKeys_1, loadedSessionsStore_1, mediaKeys, loadedSessionsStore;
93
93
  return __generator(this, function (_b) {
94
94
  switch (_b.label) {
95
95
  case 0: return [4 /*yield*/, getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)];
@@ -98,7 +98,7 @@ export default function getMediaKeysInfos(mediaElement, keySystemsConfigs, cance
98
98
  if (cancelSignal.cancellationError !== null) {
99
99
  throw cancelSignal.cancellationError;
100
100
  }
101
- _a = evt.value, options = _a.options, mediaKeySystemAccess = _a.mediaKeySystemAccess;
101
+ _a = evt.value, options = _a.options, mediaKeySystemAccess = _a.mediaKeySystemAccess, askedConfiguration = _a.askedConfiguration;
102
102
  currentState = MediaKeysInfosStore.getState(mediaElement);
103
103
  persistentSessionsStore = createPersistentSessionsStorage(options);
104
104
  if (canReuseMediaKeys() &&
@@ -111,7 +111,13 @@ export default function getMediaKeysInfos(mediaElement, keySystemsConfigs, cance
111
111
  if (ServerCertificateStore.hasOne(mediaKeys_1) === false ||
112
112
  (!isNullOrUndefined(options.serverCertificate) &&
113
113
  ServerCertificateStore.has(mediaKeys_1, options.serverCertificate))) {
114
- return [2 /*return*/, { mediaKeys: mediaKeys_1, mediaKeySystemAccess: mediaKeySystemAccess, stores: { loadedSessionsStore: loadedSessionsStore_1, persistentSessionsStore: persistentSessionsStore }, options: options }];
114
+ return [2 /*return*/, {
115
+ mediaKeys: mediaKeys_1,
116
+ mediaKeySystemAccess: mediaKeySystemAccess,
117
+ askedConfiguration: askedConfiguration,
118
+ stores: { loadedSessionsStore: loadedSessionsStore_1, persistentSessionsStore: persistentSessionsStore },
119
+ options: options,
120
+ }];
115
121
  }
116
122
  }
117
123
  return [4 /*yield*/, createMediaKeys(mediaKeySystemAccess)];
@@ -119,7 +125,13 @@ export default function getMediaKeysInfos(mediaElement, keySystemsConfigs, cance
119
125
  mediaKeys = _b.sent();
120
126
  log.info("DRM: MediaKeys created with success");
121
127
  loadedSessionsStore = new LoadedSessionsStore(mediaKeys);
122
- return [2 /*return*/, { mediaKeys: mediaKeys, mediaKeySystemAccess: mediaKeySystemAccess, stores: { loadedSessionsStore: loadedSessionsStore, persistentSessionsStore: persistentSessionsStore }, options: options }];
128
+ return [2 /*return*/, {
129
+ mediaKeys: mediaKeys,
130
+ mediaKeySystemAccess: mediaKeySystemAccess,
131
+ askedConfiguration: askedConfiguration,
132
+ stores: { loadedSessionsStore: loadedSessionsStore, persistentSessionsStore: persistentSessionsStore },
133
+ options: options,
134
+ }];
123
135
  }
124
136
  });
125
137
  });
@@ -146,8 +158,7 @@ function createMediaKeys(mediaKeySystemAccess) {
146
158
  return [2 /*return*/, mediaKeys];
147
159
  case 3:
148
160
  error_1 = _a.sent();
149
- message = error_1 instanceof Error ? error_1.message :
150
- "Unknown error when creating MediaKeys.";
161
+ message = error_1 instanceof Error ? error_1.message : "Unknown error when creating MediaKeys.";
151
162
  throw new EncryptedMediaError("CREATE_MEDIA_KEYS_ERROR", message);
152
163
  case 4: return [2 /*return*/];
153
164
  }
@@ -13,9 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { IKeySystemOption } from "../../public_types";
17
- import { CancellationSignal } from "../../utils/task_canceller";
18
- import { IMediaKeysInfos } from "./get_media_keys";
16
+ import type { IKeySystemOption } from "../../public_types";
17
+ import type { CancellationSignal } from "../../utils/task_canceller";
18
+ import type { IMediaKeysInfos } from "./get_media_keys";
19
19
  /**
20
20
  * Get media keys infos from key system configs then attach media keys to media element.
21
21
  * @param {HTMLMediaElement} mediaElement
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ICustomMediaKeySession } from "../../compat/eme";
17
- import { IKeySystemOption, IPlayerError } from "../../public_types";
16
+ import type { ICustomMediaKeySession } from "../../compat/eme";
17
+ import type { IKeySystemOption, IPlayerError } from "../../public_types";
18
18
  import { CancellationSignal } from "../../utils/task_canceller";
19
19
  /**
20
20
  * Listen to various events from a MediaKeySession and react accordingly
@@ -70,7 +70,7 @@ import log from "../../log";
70
70
  import isNonEmptyString from "../../utils/is_non_empty_string";
71
71
  import isNullOrUndefined from "../../utils/is_null_or_undefined";
72
72
  import retryPromiseWithBackoff from "../../utils/retry_promise_with_backoff";
73
- import TaskCanceller, { CancellationSignal, } from "../../utils/task_canceller";
73
+ import TaskCanceller, { CancellationSignal } from "../../utils/task_canceller";
74
74
  import checkKeyStatuses from "./utils/check_key_statuses";
75
75
  var onKeyError = events.onKeyError, onKeyMessage = events.onKeyMessage, onKeyStatusesChange = events.onKeyStatusesChange;
76
76
  /**
@@ -92,6 +92,7 @@ export default function SessionEventsListener(session, keySystemOptions, keySyst
92
92
  session.closed
93
93
  .then(function () { return manualCanceller.cancel(); })
94
94
  .catch(function (err) {
95
+ // Should never happen
95
96
  if (cancelSignal.isCancelled()) {
96
97
  return;
97
98
  }
@@ -116,9 +117,9 @@ export default function SessionEventsListener(session, keySystemOptions, keySyst
116
117
  onKeyMessage(session, function (evt) {
117
118
  var messageEvent = evt;
118
119
  var message = new Uint8Array(messageEvent.message);
119
- var messageType = isNonEmptyString(messageEvent.messageType) ?
120
- messageEvent.messageType :
121
- "license-request";
120
+ var messageType = isNonEmptyString(messageEvent.messageType)
121
+ ? messageEvent.messageType
122
+ : "license-request";
122
123
  log.info("DRM: Received message event, type ".concat(messageType), session.sessionId);
123
124
  var backoffOptions = getLicenseBackoffOptions(getLicenseConfig.retry);
124
125
  retryPromiseWithBackoff(function () { return runGetLicense(message, messageType); }, backoffOptions, manualCanceller.signal)
@@ -250,16 +251,15 @@ export default function SessionEventsListener(session, keySystemOptions, keySyst
250
251
  try {
251
252
  log.debug("DRM: Calling `getLicense`", messageType);
252
253
  var getLicense = keySystemOptions.getLicense(message, messageType);
253
- var getLicenseTimeout_1 = isNullOrUndefined(getLicenseConfig.timeout) ?
254
- 10 * 1000 :
255
- getLicenseConfig.timeout;
254
+ var getLicenseTimeout_1 = isNullOrUndefined(getLicenseConfig.timeout)
255
+ ? 10 * 1000
256
+ : getLicenseConfig.timeout;
256
257
  if (getLicenseTimeout_1 >= 0) {
257
258
  timeoutId = setTimeout(function () {
258
259
  rej(new GetLicenseTimeoutError("\"getLicense\" timeout exceeded (".concat(getLicenseTimeout_1, " ms)")));
259
260
  }, getLicenseTimeout_1);
260
261
  }
261
- Promise.resolve(getLicense)
262
- .then(clearTimeoutAndResolve, clearTimeoutAndReject);
262
+ Promise.resolve(getLicense).then(clearTimeoutAndResolve, clearTimeoutAndReject);
263
263
  }
264
264
  catch (err) {
265
265
  clearTimeoutAndReject(err);
@@ -294,9 +294,7 @@ export default function SessionEventsListener(session, keySystemOptions, keySyst
294
294
  isNullOrUndefined(error) ||
295
295
  error.noRetry !== true;
296
296
  },
297
- onRetry: function (error) {
298
- return callbacks.onWarning(formatGetLicenseError(error));
299
- },
297
+ onRetry: function (error) { return callbacks.onWarning(formatGetLicenseError(error)); },
300
298
  };
301
299
  }
302
300
  }
@@ -308,8 +306,7 @@ export default function SessionEventsListener(session, keySystemOptions, keySyst
308
306
  */
309
307
  function formatGetLicenseError(error) {
310
308
  if (error instanceof GetLicenseTimeoutError) {
311
- return new EncryptedMediaError("KEY_LOAD_TIMEOUT", "The license server took too much time to " +
312
- "respond.");
309
+ return new EncryptedMediaError("KEY_LOAD_TIMEOUT", "The license server took too much time to " + "respond.");
313
310
  }
314
311
  var err = new EncryptedMediaError("KEY_LOAD_ERROR", "An error occured when calling `getLicense`.");
315
312
  if (!isNullOrUndefined(error) &&
@@ -340,8 +337,7 @@ function updateSessionWithMessage(session, message) {
340
337
  return [3 /*break*/, 4];
341
338
  case 3:
342
339
  error_2 = _a.sent();
343
- reason = error_2 instanceof Error ? error_2.toString() :
344
- "`session.update` failed";
340
+ reason = error_2 instanceof Error ? error_2.toString() : "`session.update` failed";
345
341
  throw new EncryptedMediaError("KEY_UPDATE_ERROR", reason);
346
342
  case 4:
347
343
  log.info("DRM: MediaKeySession update succeeded.");
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ICustomMediaKeys } from "../../compat/eme";
17
- import { IPlayerError } from "../../public_types";
16
+ import type { ICustomMediaKeys } from "../../compat/eme";
17
+ import type { IPlayerError } from "../../public_types";
18
18
  /**
19
19
  * Call the setServerCertificate API with the given certificate.
20
20
  * Resolves on success, rejects on failure.
@@ -48,4 +48,4 @@ export default function trySettingServerCertificate(mediaKeys: ICustomMediaKeys
48
48
  type: "error";
49
49
  value: IPlayerError;
50
50
  }>;
51
- export { trySettingServerCertificate, setServerCertificate, };
51
+ export { trySettingServerCertificate, setServerCertificate };
@@ -49,7 +49,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
49
49
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
50
  }
51
51
  };
52
- import { EncryptedMediaError, isKnownError, } from "../../errors";
52
+ import { EncryptedMediaError, isKnownError } from "../../errors";
53
53
  import log from "../../log";
54
54
  import ServerCertificateStore from "./utils/server_certificate_store";
55
55
  /**
@@ -83,8 +83,7 @@ function setServerCertificate(mediaKeys, serverCertificate) {
83
83
  case 2:
84
84
  error_1 = _a.sent();
85
85
  log.warn("DRM: mediaKeys.setServerCertificate returned an error", error_1 instanceof Error ? error_1 : "");
86
- reason = error_1 instanceof Error ? error_1.toString() :
87
- "`setServerCertificate` error";
86
+ reason = error_1 instanceof Error ? error_1.toString() : "`setServerCertificate` error";
88
87
  throw new EncryptedMediaError("LICENSE_SERVER_CERTIFICATE_ERROR", reason);
89
88
  case 3: return [2 /*return*/];
90
89
  }
@@ -129,13 +128,13 @@ export default function trySettingServerCertificate(mediaKeys, serverCertificate
129
128
  return [2 /*return*/, { type: "success", value: result }];
130
129
  case 3:
131
130
  error_2 = _a.sent();
132
- formattedErr = isKnownError(error_2) ?
133
- error_2 :
134
- new EncryptedMediaError("LICENSE_SERVER_CERTIFICATE_ERROR", "Unknown error when setting the server certificate.");
131
+ formattedErr = isKnownError(error_2)
132
+ ? error_2
133
+ : new EncryptedMediaError("LICENSE_SERVER_CERTIFICATE_ERROR", "Unknown error when setting the server certificate.");
135
134
  return [2 /*return*/, { type: "error", value: formattedErr }];
136
135
  case 4: return [2 /*return*/];
137
136
  }
138
137
  });
139
138
  });
140
139
  }
141
- export { trySettingServerCertificate, setServerCertificate, };
140
+ export { trySettingServerCertificate, setServerCertificate };
@@ -13,11 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import Manifest, { Adaptation, Period, Representation } from "../../manifest";
17
- import { IPlayerError } from "../../public_types";
18
- import InitDataValuesContainer from "./utils/init_data_values_container";
19
- import LoadedSessionsStore from "./utils/loaded_sessions_store";
20
- import PersistentSessionsStore from "./utils/persistent_sessions_store";
16
+ import type { Adaptation, Period, Representation } from "../../manifest";
17
+ import type Manifest from "../../manifest";
18
+ import type { IPlayerError } from "../../public_types";
19
+ import type InitDataValuesContainer from "./utils/init_data_values_container";
20
+ import type LoadedSessionsStore from "./utils/loaded_sessions_store";
21
+ import type PersistentSessionsStore from "./utils/persistent_sessions_store";
21
22
  /** Events sent by the `ContentDecryptor`, in a `{ event: payload }` format. */
22
23
  export interface IContentDecryptorEvent {
23
24
  /**
@@ -103,6 +104,11 @@ export interface IProtectionData {
103
104
  /** Protection initialization data actually processed by the `ContentDecryptor`. */
104
105
  export interface IProcessedProtectionData extends Omit<IProtectionData, "values"> {
105
106
  values: InitDataValuesContainer;
107
+ /**
108
+ * Enforce to recreate the media key session if there is already a session created
109
+ * with this init data
110
+ */
111
+ forceSessionRecreation?: boolean | undefined;
106
112
  }
107
113
  /**
108
114
  * Represent the initialization data linked to a key system that can be used to
@@ -66,12 +66,16 @@ function _isAInB(a, b) {
66
66
  if (bElt.hash !== firstAElt.hash) {
67
67
  return false;
68
68
  }
69
- var aData = firstAElt.data instanceof Uint8Array ? firstAElt.data :
70
- typeof firstAElt.data === "string" ? SerializableBytes.decode(firstAElt.data) :
71
- firstAElt.data.initData;
72
- var bData = bElt.data instanceof Uint8Array ? bElt.data :
73
- typeof bElt.data === "string" ? SerializableBytes.decode(bElt.data) :
74
- bElt.data.initData;
69
+ var aData = firstAElt.data instanceof Uint8Array
70
+ ? firstAElt.data
71
+ : typeof firstAElt.data === "string"
72
+ ? SerializableBytes.decode(firstAElt.data)
73
+ : firstAElt.data.initData;
74
+ var bData = bElt.data instanceof Uint8Array
75
+ ? bElt.data
76
+ : typeof bElt.data === "string"
77
+ ? SerializableBytes.decode(bElt.data)
78
+ : bElt.data.initData;
75
79
  if (!areArraysOfNumbersEqual(aData, bData)) {
76
80
  return false;
77
81
  }
@@ -90,12 +94,16 @@ function _isAInB(a, b) {
90
94
  if (aElt.hash !== bNewElt.hash) {
91
95
  return false;
92
96
  }
93
- var aNewData = aElt.data instanceof Uint8Array ? aElt.data :
94
- typeof aElt.data === "string" ? SerializableBytes.decode(aElt.data) :
95
- aElt.data.initData;
96
- var bNewData = bNewElt.data instanceof Uint8Array ? bNewElt.data :
97
- typeof bNewElt.data === "string" ? SerializableBytes.decode(bNewElt.data) :
98
- bNewElt.data.initData;
97
+ var aNewData = aElt.data instanceof Uint8Array
98
+ ? aElt.data
99
+ : typeof aElt.data === "string"
100
+ ? SerializableBytes.decode(aElt.data)
101
+ : aElt.data.initData;
102
+ var bNewData = bNewElt.data instanceof Uint8Array
103
+ ? bNewElt.data
104
+ : typeof bNewElt.data === "string"
105
+ ? SerializableBytes.decode(bNewElt.data)
106
+ : bNewElt.data.initData;
99
107
  if (!areArraysOfNumbersEqual(aNewData, bNewData)) {
100
108
  return false;
101
109
  }
@@ -13,9 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ICustomMediaKeySession } from "../../../compat/eme";
16
+ import type { ICustomMediaKeySession } from "../../../compat/eme";
17
17
  import { EncryptedMediaError } from "../../../errors";
18
- import { IKeySystemOption, IPlayerError } from "../../../public_types";
18
+ import type { IKeySystemOption, IPlayerError } from "../../../public_types";
19
19
  /**
20
20
  * Error thrown when the MediaKeySession has to be closed due to a trigger
21
21
  * specified by user configuration.
@@ -68,9 +68,11 @@ var DecommissionedSessionError = /** @class */ (function (_super) {
68
68
  return DecommissionedSessionError;
69
69
  }(Error));
70
70
  export { DecommissionedSessionError };
71
- var KEY_STATUSES = { EXPIRED: "expired",
71
+ var KEY_STATUSES = {
72
+ EXPIRED: "expired",
72
73
  INTERNAL_ERROR: "internal-error",
73
- OUTPUT_RESTRICTED: "output-restricted" };
74
+ OUTPUT_RESTRICTED: "output-restricted",
75
+ };
74
76
  /**
75
77
  * Look at the current key statuses in the sessions and construct the
76
78
  * appropriate warnings, whitelisted and blacklisted key ids.
@@ -91,8 +93,7 @@ export default function checkKeyStatuses(session, options, keySystem) {
91
93
  // Hack present because the order of the arguments has changed in spec
92
94
  // and is not the same between some versions of Edge and Chrome.
93
95
  var _a = (function () {
94
- return (typeof _arg1 === "string" ? [_arg1, _arg2] :
95
- [_arg2, _arg1]);
96
+ return (typeof _arg1 === "string" ? [_arg1, _arg2] : [_arg2, _arg1]);
96
97
  })(), keyStatus = _a[0], keyStatusKeyId = _a[1];
97
98
  var keyId = getUUIDKidFromKeyStatusKID(keySystem, new Uint8Array(keyStatusKeyId));
98
99
  var keyStatusObj = { keyId: keyId.buffer, keyStatus: keyStatus };
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import LoadedSessionsStore from "./loaded_sessions_store";
16
+ import type LoadedSessionsStore from "./loaded_sessions_store";
17
17
  /**
18
18
  * Close sessions from the loadedSessionsStore to allow at maximum `limit`
19
19
  * stored MediaKeySessions in it.
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import PersistentSessionsStore from "./persistent_sessions_store";
16
+ import type PersistentSessionsStore from "./persistent_sessions_store";
17
17
  /**
18
18
  * Remove old information from a PersistentSessionsStore so that it respects the
19
19
  * given `limit` as a maximum size. This can be used to prevent its size from