rx-player 3.33.4-dev.2024090600 → 3.33.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/.prettierignore +1 -0
  2. package/.prettierrc +4 -0
  3. package/.vscode/settings.json +9 -0
  4. package/CHANGELOG.md +1662 -1078
  5. package/MAINTAINERS.md +9 -12
  6. package/README.md +111 -127
  7. package/VERSION +1 -1
  8. package/dist/_esm5.processed/compat/add_class_name.js +4 -3
  9. package/dist/_esm5.processed/compat/add_text_track.d.ts +1 -1
  10. package/dist/_esm5.processed/compat/add_text_track.js +4 -4
  11. package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +2 -1
  12. package/dist/_esm5.processed/compat/browser_compatibility_types.js +15 -10
  13. package/dist/_esm5.processed/compat/browser_detection.js +8 -9
  14. package/dist/_esm5.processed/compat/can_reuse_media_keys.js +1 -1
  15. package/dist/_esm5.processed/compat/change_source_buffer_type.d.ts +1 -1
  16. package/dist/_esm5.processed/compat/eme/close_session.d.ts +1 -1
  17. package/dist/_esm5.processed/compat/eme/close_session.js +17 -13
  18. package/dist/_esm5.processed/compat/eme/custom_key_system_access.d.ts +1 -1
  19. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.d.ts +1 -1
  20. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +8 -9
  21. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -2
  22. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +1 -1
  23. package/dist/_esm5.processed/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
  24. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
  25. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +7 -9
  26. package/dist/_esm5.processed/compat/eme/custom_media_keys/types.d.ts +4 -1
  27. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.d.ts +2 -2
  28. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +6 -12
  29. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts +2 -1
  30. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +3 -3
  31. package/dist/_esm5.processed/compat/eme/eme-api-implementation.d.ts +4 -4
  32. package/dist/_esm5.processed/compat/eme/eme-api-implementation.js +26 -11
  33. package/dist/_esm5.processed/compat/eme/generate_key_request.d.ts +1 -1
  34. package/dist/_esm5.processed/compat/eme/generate_key_request.js +17 -20
  35. package/dist/_esm5.processed/compat/eme/get_init_data.d.ts +3 -1
  36. package/dist/_esm5.processed/compat/eme/get_init_data.js +7 -9
  37. package/dist/_esm5.processed/compat/eme/get_uuid_kid_from_keystatus_kid.js +2 -3
  38. package/dist/_esm5.processed/compat/eme/get_webkit_fairplay_initdata.js +12 -13
  39. package/dist/_esm5.processed/compat/eme/index.d.ts +8 -5
  40. package/dist/_esm5.processed/compat/eme/index.js +1 -1
  41. package/dist/_esm5.processed/compat/eme/load_session.d.ts +1 -1
  42. package/dist/_esm5.processed/compat/enable_audio_track.d.ts +1 -1
  43. package/dist/_esm5.processed/compat/event_listeners.d.ts +26 -24
  44. package/dist/_esm5.processed/compat/event_listeners.js +14 -29
  45. package/dist/_esm5.processed/compat/fullscreen.d.ts +1 -1
  46. package/dist/_esm5.processed/compat/fullscreen.js +1 -1
  47. package/dist/_esm5.processed/compat/generate_init_data.js +3 -5
  48. package/dist/_esm5.processed/compat/index.d.ts +6 -3
  49. package/dist/_esm5.processed/compat/index.js +2 -2
  50. package/dist/_esm5.processed/compat/is_vtt_cue.d.ts +1 -1
  51. package/dist/_esm5.processed/compat/make_vtt_cue.d.ts +1 -1
  52. package/dist/_esm5.processed/compat/on_height_width_change.d.ts +2 -2
  53. package/dist/_esm5.processed/compat/on_height_width_change.js +3 -2
  54. package/dist/_esm5.processed/compat/patch_webkit_source_buffer.js +28 -29
  55. package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +2 -2
  56. package/dist/_esm5.processed/compat/should_reload_media_source_on_decipherability_update.js +1 -2
  57. package/dist/_esm5.processed/config.d.ts +1 -1
  58. package/dist/_esm5.processed/config.js +0 -15
  59. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +7 -6
  60. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +45 -22
  61. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.d.ts +1 -1
  62. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.js +11 -10
  63. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.d.ts +4 -4
  64. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.js +7 -6
  65. package/dist/_esm5.processed/core/adaptive/index.d.ts +3 -2
  66. package/dist/_esm5.processed/core/adaptive/network_analyzer.d.ts +4 -4
  67. package/dist/_esm5.processed/core/adaptive/network_analyzer.js +43 -38
  68. package/dist/_esm5.processed/core/adaptive/utils/bandwidth_estimator.js +1 -1
  69. package/dist/_esm5.processed/core/adaptive/utils/ewma.js +1 -2
  70. package/dist/_esm5.processed/core/adaptive/utils/filter_by_bitrate.d.ts +1 -1
  71. package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.d.ts +1 -1
  72. package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.js +3 -6
  73. package/dist/_esm5.processed/core/adaptive/utils/get_buffer_levels.js +7 -4
  74. package/dist/_esm5.processed/core/adaptive/utils/last_estimate_storage.d.ts +1 -1
  75. package/dist/_esm5.processed/core/adaptive/utils/pending_requests_store.d.ts +2 -1
  76. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.d.ts +1 -1
  77. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.js +8 -5
  78. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +1 -1
  79. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +5 -3
  80. package/dist/_esm5.processed/core/api/debug/buffer_graph.d.ts +1 -1
  81. package/dist/_esm5.processed/core/api/debug/buffer_graph.js +3 -8
  82. package/dist/_esm5.processed/core/api/debug/buffer_size_graph.js +1 -2
  83. package/dist/_esm5.processed/core/api/debug/modules/general_info.d.ts +2 -2
  84. package/dist/_esm5.processed/core/api/debug/modules/general_info.js +17 -13
  85. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.d.ts +3 -3
  86. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +4 -2
  87. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.d.ts +2 -2
  88. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +1 -1
  89. package/dist/_esm5.processed/core/api/debug/render.d.ts +2 -2
  90. package/dist/_esm5.processed/core/api/debug/utils.d.ts +5 -5
  91. package/dist/_esm5.processed/core/api/index.d.ts +1 -1
  92. package/dist/_esm5.processed/core/api/option_utils.d.ts +3 -3
  93. package/dist/_esm5.processed/core/api/option_utils.js +85 -48
  94. package/dist/_esm5.processed/core/api/playback_observer.d.ts +16 -18
  95. package/dist/_esm5.processed/core/api/playback_observer.js +65 -42
  96. package/dist/_esm5.processed/core/api/public_api.d.ts +10 -9
  97. package/dist/_esm5.processed/core/api/public_api.js +103 -94
  98. package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.d.ts +1 -1
  99. package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.js +25 -14
  100. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +3 -3
  101. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +72 -80
  102. package/dist/_esm5.processed/core/api/utils.d.ts +5 -5
  103. package/dist/_esm5.processed/core/api/utils.js +5 -8
  104. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.d.ts +12 -54
  105. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.js +55 -66
  106. package/dist/_esm5.processed/core/decrypt/attach_media_keys.d.ts +10 -5
  107. package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +16 -8
  108. package/dist/_esm5.processed/core/decrypt/content_decryptor.d.ts +11 -2
  109. package/dist/_esm5.processed/core/decrypt/content_decryptor.js +136 -65
  110. package/dist/_esm5.processed/core/decrypt/create_or_load_session.d.ts +5 -4
  111. package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +18 -7
  112. package/dist/_esm5.processed/core/decrypt/create_session.d.ts +5 -4
  113. package/dist/_esm5.processed/core/decrypt/create_session.js +6 -12
  114. package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +1 -2
  115. package/dist/_esm5.processed/core/decrypt/find_key_system.d.ts +13 -3
  116. package/dist/_esm5.processed/core/decrypt/find_key_system.js +45 -22
  117. package/dist/_esm5.processed/core/decrypt/get_key_system_configuration.js +1 -2
  118. package/dist/_esm5.processed/core/decrypt/get_media_keys.d.ts +9 -4
  119. package/dist/_esm5.processed/core/decrypt/get_media_keys.js +17 -6
  120. package/dist/_esm5.processed/core/decrypt/init_media_keys.d.ts +3 -3
  121. package/dist/_esm5.processed/core/decrypt/session_events_listener.d.ts +2 -2
  122. package/dist/_esm5.processed/core/decrypt/session_events_listener.js +12 -16
  123. package/dist/_esm5.processed/core/decrypt/set_server_certificate.d.ts +3 -3
  124. package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +6 -7
  125. package/dist/_esm5.processed/core/decrypt/types.d.ts +11 -5
  126. package/dist/_esm5.processed/core/decrypt/utils/are_init_values_compatible.js +20 -12
  127. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.d.ts +2 -2
  128. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.js +5 -4
  129. package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.d.ts +1 -1
  130. package/dist/_esm5.processed/core/decrypt/utils/clean_old_stored_persistent_info.d.ts +1 -1
  131. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.d.ts +1 -1
  132. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +16 -9
  133. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.d.ts +1 -1
  134. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.js +1 -2
  135. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.d.ts +1 -1
  136. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +1 -2
  137. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.d.ts +11 -13
  138. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +13 -13
  139. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.d.ts +8 -3
  140. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.js +1 -2
  141. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.d.ts +3 -3
  142. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +27 -16
  143. package/dist/_esm5.processed/core/decrypt/utils/serializable_bytes.js +1 -1
  144. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.d.ts +1 -1
  145. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.js +19 -12
  146. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.d.ts +2 -2
  147. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.js +5 -6
  148. package/dist/_esm5.processed/core/fetchers/index.d.ts +6 -3
  149. package/dist/_esm5.processed/core/fetchers/index.js +1 -1
  150. package/dist/_esm5.processed/core/fetchers/manifest/index.d.ts +3 -2
  151. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +2 -2
  152. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +68 -61
  153. package/dist/_esm5.processed/core/fetchers/segment/index.d.ts +4 -3
  154. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.d.ts +4 -3
  155. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +9 -8
  156. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +41 -29
  157. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -5
  158. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +2 -3
  159. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.d.ts +1 -1
  160. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.js +19 -18
  161. package/dist/_esm5.processed/core/fetchers/utils/error_selector.d.ts +1 -1
  162. package/dist/_esm5.processed/core/fetchers/utils/error_selector.js +1 -1
  163. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +3 -3
  164. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +25 -25
  165. package/dist/_esm5.processed/core/init/directfile_content_initializer.d.ts +4 -4
  166. package/dist/_esm5.processed/core/init/directfile_content_initializer.js +21 -17
  167. package/dist/_esm5.processed/core/init/index.d.ts +2 -1
  168. package/dist/_esm5.processed/core/init/index.js +1 -1
  169. package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +9 -9
  170. package/dist/_esm5.processed/core/init/media_source_content_initializer.js +64 -32
  171. package/dist/_esm5.processed/core/init/types.d.ts +10 -12
  172. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.d.ts +6 -5
  173. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.js +20 -19
  174. package/dist/_esm5.processed/core/init/utils/create_media_source.d.ts +1 -1
  175. package/dist/_esm5.processed/core/init/utils/create_media_source.js +2 -3
  176. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.d.ts +6 -6
  177. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.js +5 -3
  178. package/dist/_esm5.processed/core/init/utils/end_of_stream.d.ts +1 -1
  179. package/dist/_esm5.processed/core/init/utils/get_initial_time.d.ts +1 -1
  180. package/dist/_esm5.processed/core/init/utils/get_initial_time.js +12 -15
  181. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.d.ts +3 -3
  182. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.js +1 -2
  183. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.d.ts +9 -9
  184. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.js +39 -3
  185. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.d.ts +9 -8
  186. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.js +12 -9
  187. package/dist/_esm5.processed/core/init/utils/media_source_duration_updater.js +10 -7
  188. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.d.ts +7 -6
  189. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +24 -24
  190. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/are_same_stream_events.js +1 -3
  191. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/index.d.ts +1 -1
  192. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +2 -2
  193. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +14 -6
  194. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.d.ts +3 -3
  195. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.js +12 -19
  196. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/types.d.ts +1 -1
  197. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.d.ts +1 -1
  198. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.js +11 -6
  199. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.d.ts +6 -6
  200. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +12 -13
  201. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.d.ts +3 -2
  202. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +6 -9
  203. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +3 -2
  204. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +1 -1
  205. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.d.ts +2 -1
  206. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +7 -7
  207. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.d.ts +1 -1
  208. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +4 -4
  209. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/update_proportional_elements.js +1 -2
  210. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.d.ts +1 -1
  211. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +2 -6
  212. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +2 -1
  213. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +2 -2
  214. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/parsers.d.ts +1 -1
  215. package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +5 -7
  216. package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +1 -1
  217. package/dist/_esm5.processed/core/segment_buffers/index.d.ts +8 -4
  218. package/dist/_esm5.processed/core/segment_buffers/index.js +2 -2
  219. package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.d.ts +1 -1
  220. package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +6 -4
  221. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +4 -4
  222. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +63 -54
  223. package/dist/_esm5.processed/core/segment_buffers/inventory/types.d.ts +1 -1
  224. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +2 -2
  225. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +17 -23
  226. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +3 -3
  227. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +49 -22
  228. package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +8 -7
  229. package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.d.ts +7 -6
  230. package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.js +2 -1
  231. package/dist/_esm5.processed/core/stream/index.d.ts +6 -5
  232. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.d.ts +3 -3
  233. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.js +2 -2
  234. package/dist/_esm5.processed/core/stream/orchestrator/index.d.ts +3 -2
  235. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +9 -7
  236. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +47 -34
  237. package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +3 -3
  238. package/dist/_esm5.processed/core/stream/period/period_stream.js +49 -16
  239. package/dist/_esm5.processed/core/stream/period/types.d.ts +15 -12
  240. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +9 -9
  241. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +26 -25
  242. package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +3 -3
  243. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +47 -23
  244. package/dist/_esm5.processed/core/stream/representation/types.d.ts +9 -8
  245. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.d.ts +4 -4
  246. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.js +10 -7
  247. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.d.ts +4 -3
  248. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.js +16 -18
  249. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.d.ts +7 -6
  250. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.js +11 -11
  251. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.d.ts +2 -2
  252. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.js +6 -8
  253. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.d.ts +5 -4
  254. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +40 -19
  255. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.d.ts +4 -3
  256. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +27 -28
  257. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.d.ts +6 -5
  258. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.js +7 -5
  259. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.d.ts +8 -7
  260. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.js +13 -10
  261. package/dist/_esm5.processed/default_config.js +20 -16
  262. package/dist/_esm5.processed/errors/encrypted_media_error.d.ts +2 -2
  263. package/dist/_esm5.processed/errors/encrypted_media_error.js +1 -1
  264. package/dist/_esm5.processed/errors/error_codes.d.ts +1 -1
  265. package/dist/_esm5.processed/errors/error_codes.js +1 -1
  266. package/dist/_esm5.processed/errors/format_error.d.ts +2 -2
  267. package/dist/_esm5.processed/errors/format_error.js +1 -2
  268. package/dist/_esm5.processed/errors/index.d.ts +6 -3
  269. package/dist/_esm5.processed/errors/index.js +2 -2
  270. package/dist/_esm5.processed/errors/is_known_error.d.ts +1 -1
  271. package/dist/_esm5.processed/errors/is_known_error.js +2 -2
  272. package/dist/_esm5.processed/errors/media_error.d.ts +3 -3
  273. package/dist/_esm5.processed/errors/media_error.js +4 -7
  274. package/dist/_esm5.processed/errors/network_error.d.ts +2 -2
  275. package/dist/_esm5.processed/errors/network_error.js +3 -3
  276. package/dist/_esm5.processed/errors/other_error.d.ts +1 -1
  277. package/dist/_esm5.processed/errors/other_error.js +1 -1
  278. package/dist/_esm5.processed/errors/request_error.d.ts +1 -1
  279. package/dist/_esm5.processed/experimental/features/dash_wasm.d.ts +2 -2
  280. package/dist/_esm5.processed/experimental/features/debug_element.d.ts +1 -1
  281. package/dist/_esm5.processed/experimental/features/local.d.ts +1 -1
  282. package/dist/_esm5.processed/experimental/features/metaplaylist.d.ts +1 -1
  283. package/dist/_esm5.processed/experimental/index.d.ts +1 -1
  284. package/dist/_esm5.processed/experimental/index.js +1 -1
  285. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
  286. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
  287. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
  288. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.js +2 -2
  289. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
  290. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +7 -3
  291. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +1 -1
  292. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +1 -2
  293. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -2
  294. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +2 -2
  295. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.d.ts +3 -2
  296. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +2 -2
  297. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +12 -18
  298. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +13 -23
  299. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.d.ts +1 -1
  300. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +8 -7
  301. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.d.ts +1 -1
  302. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.js +9 -13
  303. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +4 -3
  304. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +5 -3
  305. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.d.ts +1 -1
  306. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.js +10 -47
  307. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts +2 -1
  308. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +8 -5
  309. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.d.ts +2 -1
  310. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +21 -13
  311. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +2 -1
  312. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +22 -18
  313. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +4 -7
  314. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.d.ts +1 -1
  315. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +2 -1
  316. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +3 -5
  317. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.d.ts +1 -1
  318. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +4 -10
  319. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts +2 -1
  320. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -3
  321. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +2 -1
  322. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +2 -3
  323. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.d.ts +2 -2
  324. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
  325. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.js +6 -6
  326. package/dist/_esm5.processed/experimental/tools/parseBIFThumbnails.js +5 -4
  327. package/dist/_esm5.processed/features/add_features.d.ts +1 -1
  328. package/dist/_esm5.processed/features/features_object.d.ts +1 -1
  329. package/dist/_esm5.processed/features/features_object.js +4 -3
  330. package/dist/_esm5.processed/features/index.d.ts +3 -2
  331. package/dist/_esm5.processed/features/index.js +1 -1
  332. package/dist/_esm5.processed/features/list/bif_parser.d.ts +1 -1
  333. package/dist/_esm5.processed/features/list/dash.d.ts +1 -1
  334. package/dist/_esm5.processed/features/list/directfile.d.ts +1 -1
  335. package/dist/_esm5.processed/features/list/eme.d.ts +1 -1
  336. package/dist/_esm5.processed/features/list/html_sami_parser.d.ts +1 -1
  337. package/dist/_esm5.processed/features/list/html_srt_parser.d.ts +1 -1
  338. package/dist/_esm5.processed/features/list/html_text_buffer.d.ts +1 -1
  339. package/dist/_esm5.processed/features/list/html_ttml_parser.d.ts +1 -1
  340. package/dist/_esm5.processed/features/list/html_vtt_parser.d.ts +1 -1
  341. package/dist/_esm5.processed/features/list/image_buffer.d.ts +1 -1
  342. package/dist/_esm5.processed/features/list/native_sami_parser.d.ts +1 -1
  343. package/dist/_esm5.processed/features/list/native_srt_parser.d.ts +1 -1
  344. package/dist/_esm5.processed/features/list/native_text_buffer.d.ts +1 -1
  345. package/dist/_esm5.processed/features/list/native_ttml_parser.d.ts +1 -1
  346. package/dist/_esm5.processed/features/list/native_vtt_parser.d.ts +1 -1
  347. package/dist/_esm5.processed/features/list/smooth.d.ts +1 -1
  348. package/dist/_esm5.processed/features/types.d.ts +11 -11
  349. package/dist/_esm5.processed/manifest/adaptation.d.ts +3 -3
  350. package/dist/_esm5.processed/manifest/adaptation.js +24 -14
  351. package/dist/_esm5.processed/manifest/index.d.ts +9 -5
  352. package/dist/_esm5.processed/manifest/index.js +4 -8
  353. package/dist/_esm5.processed/manifest/manifest.d.ts +8 -7
  354. package/dist/_esm5.processed/manifest/manifest.js +37 -33
  355. package/dist/_esm5.processed/manifest/period.d.ts +4 -4
  356. package/dist/_esm5.processed/manifest/period.js +7 -14
  357. package/dist/_esm5.processed/manifest/representation.d.ts +4 -4
  358. package/dist/_esm5.processed/manifest/representation.js +5 -5
  359. package/dist/_esm5.processed/manifest/representation_index/index.d.ts +3 -2
  360. package/dist/_esm5.processed/manifest/representation_index/index.js +1 -1
  361. package/dist/_esm5.processed/manifest/representation_index/static.d.ts +1 -1
  362. package/dist/_esm5.processed/manifest/representation_index/static.js +6 -2
  363. package/dist/_esm5.processed/manifest/representation_index/types.d.ts +6 -5
  364. package/dist/_esm5.processed/manifest/update_period_in_place.d.ts +3 -3
  365. package/dist/_esm5.processed/manifest/update_period_in_place.js +9 -9
  366. package/dist/_esm5.processed/manifest/update_periods.d.ts +2 -2
  367. package/dist/_esm5.processed/manifest/update_periods.js +6 -3
  368. package/dist/_esm5.processed/manifest/utils.d.ts +4 -4
  369. package/dist/_esm5.processed/manifest/utils.js +6 -4
  370. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.d.ts +1 -1
  371. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.js +5 -4
  372. package/dist/_esm5.processed/parsers/containers/isobmff/drm/playready.js +2 -3
  373. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +3 -5
  374. package/dist/_esm5.processed/parsers/containers/isobmff/index.d.ts +5 -4
  375. package/dist/_esm5.processed/parsers/containers/isobmff/index.js +4 -4
  376. package/dist/_esm5.processed/parsers/containers/isobmff/read.d.ts +1 -1
  377. package/dist/_esm5.processed/parsers/containers/isobmff/read.js +9 -9
  378. package/dist/_esm5.processed/parsers/containers/isobmff/take_pssh_out.js +3 -4
  379. package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +51 -41
  380. package/dist/_esm5.processed/parsers/containers/matroska/index.d.ts +2 -1
  381. package/dist/_esm5.processed/parsers/containers/matroska/index.js +1 -1
  382. package/dist/_esm5.processed/parsers/containers/matroska/utils.js +29 -16
  383. package/dist/_esm5.processed/parsers/images/bif.js +15 -5
  384. package/dist/_esm5.processed/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
  385. package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.js +1 -3
  386. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
  387. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
  388. package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.js +4 -12
  389. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
  390. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +4 -5
  391. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
  392. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +5 -2
  393. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
  394. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.js +5 -6
  395. package/dist/_esm5.processed/parsers/manifest/dash/common/index.d.ts +3 -2
  396. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +4 -4
  397. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +34 -28
  398. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +2 -2
  399. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +7 -4
  400. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
  401. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -11
  402. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/index.d.ts +10 -5
  403. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -2
  404. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +30 -18
  405. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +3 -3
  406. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +56 -55
  407. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +1 -1
  408. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +2 -6
  409. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +1 -1
  410. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +11 -15
  411. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
  412. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +12 -9
  413. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +1 -1
  414. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +29 -19
  415. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/index.d.ts +3 -2
  416. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +6 -6
  417. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +73 -59
  418. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +2 -4
  419. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
  420. package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.js +7 -8
  421. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +4 -4
  422. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +52 -50
  423. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_availability_start_time.d.ts +1 -1
  424. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +6 -6
  425. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +52 -31
  426. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +4 -4
  427. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +41 -30
  428. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +4 -4
  429. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +1 -2
  430. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +4 -4
  431. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +63 -64
  432. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
  433. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +4 -2
  434. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +1 -1
  435. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +73 -37
  436. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +1 -1
  437. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +1 -2
  438. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +1 -1
  439. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +1 -1
  440. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +1 -1
  441. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +13 -7
  442. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +1 -1
  443. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +5 -3
  444. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +1 -1
  445. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.js +44 -27
  446. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +1 -1
  447. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.js +14 -8
  448. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +1 -1
  449. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +36 -18
  450. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +1 -1
  451. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +36 -18
  452. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +1 -1
  453. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +1 -1
  454. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +17 -8
  455. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +1 -1
  456. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +1 -1
  457. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +9 -5
  458. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +8 -26
  459. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +6 -12
  460. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.d.ts +2 -2
  461. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +9 -4
  462. package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +2 -2
  463. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/index.d.ts +3 -2
  464. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +1 -1
  465. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +29 -16
  466. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +3 -2
  467. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +22 -35
  468. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
  469. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +2 -2
  470. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +2 -2
  471. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +3 -1
  472. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +3 -2
  473. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +2 -4
  474. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts +3 -0
  475. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.js +9 -0
  476. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +3 -2
  477. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +5 -5
  478. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +3 -2
  479. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +9 -6
  480. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +3 -2
  481. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +8 -16
  482. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +2 -2
  483. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +2 -2
  484. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +5 -10
  485. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +3 -2
  486. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +2 -2
  487. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +11 -18
  488. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
  489. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +2 -4
  490. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +3 -2
  491. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +5 -5
  492. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
  493. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +5 -6
  494. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts +1 -1
  495. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +1 -2
  496. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  497. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +1 -1
  498. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.js +2 -4
  499. package/dist/_esm5.processed/parsers/manifest/local/index.d.ts +1 -1
  500. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
  501. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +25 -16
  502. package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -2
  503. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +5 -10
  504. package/dist/_esm5.processed/parsers/manifest/metaplaylist/index.d.ts +3 -2
  505. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
  506. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +33 -29
  507. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +2 -2
  508. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +9 -7
  509. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +3 -3
  510. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +136 -109
  511. package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +3 -3
  512. package/dist/_esm5.processed/parsers/manifest/smooth/index.d.ts +4 -2
  513. package/dist/_esm5.processed/parsers/manifest/smooth/index.js +1 -1
  514. package/dist/_esm5.processed/parsers/manifest/smooth/parse_C_nodes.js +6 -6
  515. package/dist/_esm5.processed/parsers/manifest/smooth/parse_protection_node.js +12 -8
  516. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +2 -2
  517. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +48 -53
  518. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +10 -7
  519. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.d.ts +1 -1
  520. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.js +2 -3
  521. package/dist/_esm5.processed/parsers/manifest/types.d.ts +2 -2
  522. package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
  523. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.d.ts +1 -1
  524. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +9 -6
  525. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
  526. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.js +5 -4
  527. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
  528. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.js +5 -4
  529. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.d.ts +1 -1
  530. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.js +10 -16
  531. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.d.ts +1 -1
  532. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.js +4 -10
  533. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +1 -1
  534. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +4 -5
  535. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
  536. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +18 -18
  537. package/dist/_esm5.processed/parsers/texttracks/index.d.ts +1 -1
  538. package/dist/_esm5.processed/parsers/texttracks/sami/html.d.ts +1 -1
  539. package/dist/_esm5.processed/parsers/texttracks/sami/html.js +15 -15
  540. package/dist/_esm5.processed/parsers/texttracks/sami/native.d.ts +1 -1
  541. package/dist/_esm5.processed/parsers/texttracks/sami/native.js +7 -14
  542. package/dist/_esm5.processed/parsers/texttracks/srt/html.js +6 -6
  543. package/dist/_esm5.processed/parsers/texttracks/srt/native.d.ts +1 -1
  544. package/dist/_esm5.processed/parsers/texttracks/srt/native.js +1 -7
  545. package/dist/_esm5.processed/parsers/texttracks/srt/parse_cue.js +4 -8
  546. package/dist/_esm5.processed/parsers/texttracks/ttml/get_parameters.js +4 -8
  547. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
  548. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.js +6 -8
  549. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +2 -2
  550. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +2 -6
  551. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +3 -4
  552. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +2 -6
  553. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_padding.js +2 -6
  554. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.d.ts +2 -2
  555. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.js +22 -21
  556. package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +2 -2
  557. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
  558. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.js +5 -3
  559. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
  560. package/dist/_esm5.processed/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +34 -19
  561. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
  562. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.js +9 -10
  563. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
  564. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.d.ts +3 -3
  565. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.js +28 -16
  566. package/dist/_esm5.processed/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
  567. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
  568. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.js +2 -2
  569. package/dist/_esm5.processed/parsers/texttracks/types.d.ts +1 -1
  570. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_cue_blocks.js +1 -1
  571. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_style_blocks.js +2 -1
  572. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
  573. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.d.ts +1 -1
  574. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +6 -12
  575. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
  576. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.js +7 -8
  577. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/index.d.ts +1 -1
  578. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_style_block.js +4 -4
  579. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_webvtt_to_div.d.ts +1 -1
  580. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
  581. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.js +4 -10
  582. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.d.ts +1 -1
  583. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -6
  584. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
  585. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.d.ts +1 -1
  586. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.js +1 -1
  587. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.js +2 -4
  588. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_timestamp.js +1 -2
  589. package/dist/_esm5.processed/parsers/texttracks/webvtt/utils.js +6 -6
  590. package/dist/_esm5.processed/public_types.d.ts +13 -11
  591. package/dist/_esm5.processed/tools/TextTrackRenderer/index.d.ts +3 -2
  592. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
  593. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +15 -10
  594. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.d.ts +1 -1
  595. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +2 -3
  596. package/dist/_esm5.processed/transports/dash/construct_segment_url.d.ts +2 -2
  597. package/dist/_esm5.processed/transports/dash/construct_segment_url.js +5 -3
  598. package/dist/_esm5.processed/transports/dash/extract_complete_chunks.js +2 -2
  599. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
  600. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.js +9 -10
  601. package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +3 -3
  602. package/dist/_esm5.processed/transports/dash/image_pipelines.js +32 -19
  603. package/dist/_esm5.processed/transports/dash/init_segment_loader.d.ts +3 -3
  604. package/dist/_esm5.processed/transports/dash/init_segment_loader.js +46 -22
  605. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.d.ts +2 -2
  606. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.js +13 -9
  607. package/dist/_esm5.processed/transports/dash/manifest_parser.d.ts +2 -2
  608. package/dist/_esm5.processed/transports/dash/manifest_parser.js +35 -22
  609. package/dist/_esm5.processed/transports/dash/pipelines.d.ts +1 -1
  610. package/dist/_esm5.processed/transports/dash/pipelines.js +11 -15
  611. package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +4 -4
  612. package/dist/_esm5.processed/transports/dash/segment_loader.js +30 -21
  613. package/dist/_esm5.processed/transports/dash/segment_parser.d.ts +2 -2
  614. package/dist/_esm5.processed/transports/dash/segment_parser.js +47 -21
  615. package/dist/_esm5.processed/transports/dash/text_loader.d.ts +2 -2
  616. package/dist/_esm5.processed/transports/dash/text_loader.js +19 -19
  617. package/dist/_esm5.processed/transports/dash/text_parser.d.ts +2 -2
  618. package/dist/_esm5.processed/transports/dash/text_parser.js +45 -24
  619. package/dist/_esm5.processed/transports/local/pipelines.d.ts +1 -1
  620. package/dist/_esm5.processed/transports/local/pipelines.js +7 -8
  621. package/dist/_esm5.processed/transports/local/segment_loader.d.ts +3 -3
  622. package/dist/_esm5.processed/transports/local/segment_loader.js +14 -6
  623. package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
  624. package/dist/_esm5.processed/transports/local/segment_parser.js +31 -13
  625. package/dist/_esm5.processed/transports/local/text_parser.d.ts +1 -1
  626. package/dist/_esm5.processed/transports/local/text_parser.js +44 -19
  627. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.d.ts +4 -4
  628. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.js +9 -5
  629. package/dist/_esm5.processed/transports/metaplaylist/pipelines.d.ts +1 -1
  630. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +25 -18
  631. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.d.ts +2 -2
  632. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +16 -15
  633. package/dist/_esm5.processed/transports/smooth/isobmff/create_audio_init_segment.js +3 -3
  634. package/dist/_esm5.processed/transports/smooth/isobmff/create_boxes.js +14 -32
  635. package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.js +2 -2
  636. package/dist/_esm5.processed/transports/smooth/isobmff/create_traf_box.js +2 -2
  637. package/dist/_esm5.processed/transports/smooth/isobmff/get_aaces_header.js +4 -16
  638. package/dist/_esm5.processed/transports/smooth/isobmff/index.d.ts +4 -2
  639. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfrf.js +2 -2
  640. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfxd.js +1 -1
  641. package/dist/_esm5.processed/transports/smooth/isobmff/patch_segment.js +11 -10
  642. package/dist/_esm5.processed/transports/smooth/pipelines.d.ts +1 -1
  643. package/dist/_esm5.processed/transports/smooth/pipelines.js +121 -79
  644. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +3 -3
  645. package/dist/_esm5.processed/transports/smooth/segment_loader.js +53 -27
  646. package/dist/_esm5.processed/transports/smooth/utils.d.ts +2 -2
  647. package/dist/_esm5.processed/transports/smooth/utils.js +7 -5
  648. package/dist/_esm5.processed/transports/types.d.ts +11 -25
  649. package/dist/_esm5.processed/transports/utils/byte_range.js +1 -2
  650. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.d.ts +3 -3
  651. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +13 -7
  652. package/dist/_esm5.processed/transports/utils/check_isobmff_integrity.js +3 -3
  653. package/dist/_esm5.processed/transports/utils/find_complete_box.js +3 -2
  654. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.d.ts +3 -3
  655. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.js +18 -6
  656. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
  657. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +12 -11
  658. package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +1 -1
  659. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +1 -3
  660. package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +4 -4
  661. package/dist/_esm5.processed/transports/utils/parse_text_track.js +9 -6
  662. package/dist/_esm5.processed/utils/are_codecs_compatible.js +5 -1
  663. package/dist/_esm5.processed/utils/array_includes.js +2 -6
  664. package/dist/_esm5.processed/utils/assert.js +3 -4
  665. package/dist/_esm5.processed/utils/base64.js +87 -29
  666. package/dist/_esm5.processed/utils/byte_parsing.js +60 -56
  667. package/dist/_esm5.processed/utils/cancellable_sleep.d.ts +1 -1
  668. package/dist/_esm5.processed/utils/create_cancellable_promise.d.ts +1 -1
  669. package/dist/_esm5.processed/utils/deep_merge.js +4 -4
  670. package/dist/_esm5.processed/utils/event_emitter.d.ts +1 -1
  671. package/dist/_esm5.processed/utils/get_fuzzed_delay.js +1 -1
  672. package/dist/_esm5.processed/utils/hash_buffer.js +1 -1
  673. package/dist/_esm5.processed/utils/initialization_segment_cache.d.ts +2 -2
  674. package/dist/_esm5.processed/utils/languages/index.d.ts +4 -2
  675. package/dist/_esm5.processed/utils/languages/index.js +2 -2
  676. package/dist/_esm5.processed/utils/languages/normalize.d.ts +2 -1
  677. package/dist/_esm5.processed/utils/languages/normalize.js +5 -3
  678. package/dist/_esm5.processed/utils/logger.js +7 -14
  679. package/dist/_esm5.processed/utils/object_assign.js +5 -5
  680. package/dist/_esm5.processed/utils/object_values.d.ts +1 -1
  681. package/dist/_esm5.processed/utils/object_values.js +2 -3
  682. package/dist/_esm5.processed/utils/ranges.d.ts +2 -1
  683. package/dist/_esm5.processed/utils/ranges.js +19 -23
  684. package/dist/_esm5.processed/utils/reference.d.ts +3 -3
  685. package/dist/_esm5.processed/utils/reference.js +1 -3
  686. package/dist/_esm5.processed/utils/request/fetch.d.ts +1 -1
  687. package/dist/_esm5.processed/utils/request/fetch.js +34 -23
  688. package/dist/_esm5.processed/utils/request/index.d.ts +6 -3
  689. package/dist/_esm5.processed/utils/request/index.js +2 -2
  690. package/dist/_esm5.processed/utils/request/xhr.d.ts +1 -1
  691. package/dist/_esm5.processed/utils/request/xhr.js +28 -17
  692. package/dist/_esm5.processed/utils/retry_promise_with_backoff.d.ts +2 -2
  693. package/dist/_esm5.processed/utils/slice_uint8array.js +3 -3
  694. package/dist/_esm5.processed/utils/starts_with.js +3 -3
  695. package/dist/_esm5.processed/utils/string_parsing.js +16 -18
  696. package/dist/_esm5.processed/utils/task_canceller.js +1 -2
  697. package/dist/_esm5.processed/utils/uniq.d.ts +1 -1
  698. package/dist/_esm5.processed/utils/uniq.js +4 -3
  699. package/dist/_esm5.processed/utils/weak_map_memory.js +0 -1
  700. package/dist/_esm5.processed/utils/wrapInPromise.d.ts +1 -1
  701. package/dist/mpd-parser.wasm +0 -0
  702. package/dist/rx-player.js +334 -234
  703. package/dist/rx-player.min.js +1 -1
  704. package/experimental/features/index.d.ts-E +16 -0
  705. package/experimental/features/index.js-E +16 -0
  706. package/experimental/index.d.ts +1 -1
  707. package/experimental/index.d.ts-E +16 -0
  708. package/experimental/index.js +1 -1
  709. package/experimental/index.js-E +16 -0
  710. package/experimental/tools/VideoThumbnailLoader/index.d.ts-E +18 -0
  711. package/experimental/tools/VideoThumbnailLoader/index.js-E +18 -0
  712. package/experimental/tools/index.d.ts-E +16 -0
  713. package/experimental/tools/index.js-E +16 -0
  714. package/features/index.d.ts-E +16 -0
  715. package/features/index.js-E +16 -0
  716. package/logger/index.d.ts-E +17 -0
  717. package/logger/index.js-E +17 -0
  718. package/minimal/index.d.ts-E +17 -0
  719. package/minimal/index.js-E +17 -0
  720. package/package.json +27 -12
  721. package/tools/TextTrackRenderer.d.ts-E +18 -0
  722. package/tools/TextTrackRenderer.js-E +18 -0
  723. package/tools/index.d.ts-E +16 -0
  724. package/tools/index.js-E +16 -0
  725. package/tools/string-utils.d.ts-E +18 -0
  726. package/tools/string-utils.js-E +18 -0
  727. package/types/index.d.ts-E +16 -0
  728. package/types/index.js-E +15 -0
@@ -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 { ICustomMediaKeys } from "./custom_media_keys";
16
+ import type { ICustomMediaKeys } from "./custom_media_keys";
17
17
  export interface ICustomMediaKeySystemAccess {
18
18
  readonly keySystem: string;
19
19
  getConfiguration(): MediaKeySystemConfiguration;
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { MSMediaKeysConstructor } from "./ms_media_keys_constructor";
17
- import { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
17
+ import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
18
18
  declare class IE11CustomMediaKeys implements ICustomMediaKeys {
19
19
  private _videoElement?;
20
20
  private _mediaKeys?;
@@ -32,7 +32,7 @@ import EventEmitter from "../../../utils/event_emitter";
32
32
  import TaskCanceller from "../../../utils/task_canceller";
33
33
  import wrapInPromise from "../../../utils/wrapInPromise";
34
34
  import * as events from "../../event_listeners";
35
- import { MSMediaKeysConstructor, } from "./ms_media_keys_constructor";
35
+ import { MSMediaKeysConstructor } from "./ms_media_keys_constructor";
36
36
  var IE11MediaKeySession = /** @class */ (function (_super) {
37
37
  __extends(IE11MediaKeySession, _super);
38
38
  function IE11MediaKeySession(mk) {
@@ -62,9 +62,11 @@ var IE11MediaKeySession = /** @class */ (function (_super) {
62
62
  IE11MediaKeySession.prototype.generateRequest = function (_initDataType, initData) {
63
63
  var _this = this;
64
64
  return new Promise(function (resolve) {
65
- var initDataU8 = initData instanceof Uint8Array ? initData :
66
- initData instanceof ArrayBuffer ? new Uint8Array(initData) :
67
- new Uint8Array(initData.buffer);
65
+ var initDataU8 = initData instanceof Uint8Array
66
+ ? initData
67
+ : initData instanceof ArrayBuffer
68
+ ? new Uint8Array(initData)
69
+ : new Uint8Array(initData.buffer);
68
70
  _this._ss = _this._mk.createSession("video/mp4", initDataU8);
69
71
  events.onKeyMessage(_this._ss, function (evt) {
70
72
  var _a;
@@ -145,9 +147,7 @@ export default function getIE11MediaKeysCallbacks() {
145
147
  }
146
148
  return MSMediaKeysConstructor.isTypeSupported(keySystem);
147
149
  };
148
- var createCustomMediaKeys = function (keyType) {
149
- return new IE11CustomMediaKeys(keyType);
150
- };
150
+ var createCustomMediaKeys = function (keyType) { return new IE11CustomMediaKeys(keyType); };
151
151
  var setMediaKeys = function (elt, mediaKeys) {
152
152
  if (mediaKeys === null) {
153
153
  // msSetMediaKeys only accepts native MSMediaKeys as argument.
@@ -156,8 +156,7 @@ export default function getIE11MediaKeysCallbacks() {
156
156
  return Promise.resolve(undefined);
157
157
  }
158
158
  if (!(mediaKeys instanceof IE11CustomMediaKeys)) {
159
- throw new Error("Custom setMediaKeys is supposed to be called " +
160
- "with IE11 custom MediaKeys.");
159
+ throw new Error("Custom setMediaKeys is supposed to be called " + "with IE11 custom MediaKeys.");
161
160
  }
162
161
  return mediaKeys._setVideo(elt);
163
162
  };
@@ -1,7 +1,8 @@
1
1
  import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor } from "./ie11_media_keys";
2
2
  import getMozMediaKeysCallbacks, { MozMediaKeysConstructor } from "./moz_media_keys_constructor";
3
3
  import getOldKitWebKitMediaKeyCallbacks, { isOldWebkitMediaElement } from "./old_webkit_media_keys";
4
- import { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
4
+ import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
5
5
  import getWebKitMediaKeysCallbacks from "./webkit_media_keys";
6
6
  import { WebKitMediaKeysConstructor } from "./webkit_media_keys_constructor";
7
- export { getIE11MediaKeysCallbacks, MSMediaKeysConstructor, getMozMediaKeysCallbacks, MozMediaKeysConstructor, getOldKitWebKitMediaKeyCallbacks, isOldWebkitMediaElement, ICustomMediaKeys, ICustomMediaKeySession, getWebKitMediaKeysCallbacks, WebKitMediaKeysConstructor, };
7
+ export type { ICustomMediaKeys, ICustomMediaKeySession };
8
+ export { getIE11MediaKeysCallbacks, MSMediaKeysConstructor, getMozMediaKeysCallbacks, MozMediaKeysConstructor, getOldKitWebKitMediaKeyCallbacks, isOldWebkitMediaElement, getWebKitMediaKeysCallbacks, WebKitMediaKeysConstructor, };
@@ -1,4 +1,4 @@
1
- import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor, } from "./ie11_media_keys";
1
+ import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor } from "./ie11_media_keys";
2
2
  import getMozMediaKeysCallbacks, { MozMediaKeysConstructor, } from "./moz_media_keys_constructor";
3
3
  import getOldKitWebKitMediaKeyCallbacks, { isOldWebkitMediaElement, } from "./old_webkit_media_keys";
4
4
  import getWebKitMediaKeysCallbacks from "./webkit_media_keys";
@@ -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 { ICustomMediaKeys } from "./types";
16
+ import type { ICustomMediaKeys } from "./types";
17
17
  interface IMozMediaKeysConstructor {
18
18
  new (keySystem: string): ICustomMediaKeys;
19
19
  isTypeSupported(keySystem: string, type?: string | null): boolean;
@@ -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 { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
16
+ import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
17
17
  export interface IOldWebkitHTMLMediaElement extends HTMLVideoElement {
18
18
  webkitGenerateKeyRequest: (keyType: string, initData: ArrayBuffer) => void;
19
19
  webkitAddKey: (keyType: string, key: BufferSource, kid: BufferSource | null, sessionId: string) => void;
@@ -40,8 +40,7 @@ import wrapInPromise from "../../../utils/wrapInPromise";
40
40
  * @returns {Boolean}
41
41
  */
42
42
  export function isOldWebkitMediaElement(element) {
43
- return typeof element
44
- .webkitGenerateKeyRequest === "function";
43
+ return (typeof element.webkitGenerateKeyRequest === "function");
45
44
  }
46
45
  /**
47
46
  * MediaKeySession implementation for older versions of WebKit relying on APIs
@@ -64,16 +63,14 @@ var OldWebkitMediaKeySession = /** @class */ (function (_super) {
64
63
  };
65
64
  _this.closed = new Promise(function (resolve) {
66
65
  _this._closeSession = function () {
67
- ["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
68
- .forEach(function (evt) {
66
+ ["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
69
67
  mediaElement.removeEventListener(evt, onSessionRelatedEvent);
70
68
  mediaElement.removeEventListener("webkit".concat(evt), onSessionRelatedEvent);
71
69
  });
72
70
  resolve();
73
71
  };
74
72
  });
75
- ["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
76
- .forEach(function (evt) {
73
+ ["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
77
74
  mediaElement.addEventListener(evt, onSessionRelatedEvent);
78
75
  mediaElement.addEventListener("webkit".concat(evt), onSessionRelatedEvent);
79
76
  });
@@ -84,8 +81,7 @@ var OldWebkitMediaKeySession = /** @class */ (function (_super) {
84
81
  return new Promise(function (resolve, reject) {
85
82
  try {
86
83
  if (_this._key.indexOf("clearkey") >= 0) {
87
- var licenseTypedArray = license instanceof ArrayBuffer ? new Uint8Array(license) :
88
- license;
84
+ var licenseTypedArray = license instanceof ArrayBuffer ? new Uint8Array(license) : license;
89
85
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
90
86
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
91
87
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
@@ -173,7 +169,9 @@ export default function getOldWebKitMediaKeysCallbacks() {
173
169
  return false;
174
170
  }
175
171
  };
176
- var createCustomMediaKeys = function (keyType) { return new OldWebKitCustomMediaKeys(keyType); };
172
+ var createCustomMediaKeys = function (keyType) {
173
+ return new OldWebKitCustomMediaKeys(keyType);
174
+ };
177
175
  var setMediaKeys = function (elt, mediaKeys) {
178
176
  if (mediaKeys === null) {
179
177
  return Promise.resolve(undefined);
@@ -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 { IEventEmitter } from "../../../utils/event_emitter";
16
+ import type { IEventEmitter } from "../../../utils/event_emitter";
17
17
  export interface ICustomMediaKeySession extends IEventEmitter<IMediaKeySessionEvents> {
18
18
  readonly closed: Promise<void>;
19
19
  expiration: number;
@@ -41,3 +41,6 @@ export interface ICustomMediaKeyStatusMap {
41
41
  export interface IMediaKeySessionEvents {
42
42
  [key: string]: MediaKeyMessageEvent | Event;
43
43
  }
44
+ export interface ICustomMediaEncryptedEvent extends MediaEncryptedEvent {
45
+ forceSessionRecreation?: boolean | undefined;
46
+ }
@@ -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 { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
16
+ import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
17
17
  export interface ICustomWebKitMediaKeys {
18
- _setVideo: (videoElement: HTMLMediaElement) => void;
18
+ _setVideo: (videoElement: HTMLMediaElement) => Promise<unknown>;
19
19
  createSession(mimeType: string, initData: Uint8Array): ICustomMediaKeySession;
20
20
  setServerCertificate(setServerCertificate: BufferSource): Promise<void>;
21
21
  }
@@ -33,7 +33,7 @@ import noop from "../../../utils/noop";
33
33
  import startsWith from "../../../utils/starts_with";
34
34
  import wrapInPromise from "../../../utils/wrapInPromise";
35
35
  import getWebKitFairplayInitData from "../get_webkit_fairplay_initdata";
36
- import { WebKitMediaKeysConstructor, } from "./webkit_media_keys_constructor";
36
+ import { WebKitMediaKeysConstructor } from "./webkit_media_keys_constructor";
37
37
  /**
38
38
  * Check if keyType is for fairplay DRM
39
39
  * @param {string} keyType
@@ -188,14 +188,12 @@ var WebkitMediaKeySession = /** @class */ (function (_super) {
188
188
  /* eslint-disable @typescript-eslint/no-unsafe-call */
189
189
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
190
190
  /* eslint-disable @typescript-eslint/no-unsafe-return */
191
- ["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
192
- .forEach(function (evt) {
191
+ ["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
193
192
  session.addEventListener(evt, onEvent);
194
193
  session.addEventListener("webkit".concat(evt), onEvent);
195
194
  });
196
195
  this._unbindSession = function () {
197
- ["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
198
- .forEach(function (evt) {
196
+ ["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
199
197
  session.removeEventListener(evt, onEvent);
200
198
  session.removeEventListener("webkit".concat(evt), onEvent);
201
199
  });
@@ -222,8 +220,7 @@ var WebKitCustomMediaKeys = /** @class */ (function () {
222
220
  return setWebKitMediaKeys(this._videoElement, this._mediaKeys);
223
221
  };
224
222
  WebKitCustomMediaKeys.prototype.createSession = function ( /* sessionType */) {
225
- if (this._videoElement === undefined ||
226
- this._mediaKeys === undefined) {
223
+ if (this._videoElement === undefined || this._mediaKeys === undefined) {
227
224
  throw new Error("Video not attached to the MediaKeys");
228
225
  }
229
226
  return new WebkitMediaKeySession(this._videoElement, this._keyType, this._serverCertificate);
@@ -239,16 +236,13 @@ export default function getWebKitMediaKeysCallbacks() {
239
236
  throw new Error("No WebKitMediaKeys API.");
240
237
  }
241
238
  var isTypeSupported = WebKitMediaKeysConstructor.isTypeSupported;
242
- var createCustomMediaKeys = function (keyType) {
243
- return new WebKitCustomMediaKeys(keyType);
244
- };
239
+ var createCustomMediaKeys = function (keyType) { return new WebKitCustomMediaKeys(keyType); };
245
240
  var setMediaKeys = function (elt, mediaKeys) {
246
241
  if (mediaKeys === null) {
247
242
  return setWebKitMediaKeys(elt, mediaKeys);
248
243
  }
249
244
  if (!(mediaKeys instanceof WebKitCustomMediaKeys)) {
250
- throw new Error("Custom setMediaKeys is supposed to be called " +
251
- "with webkit custom MediaKeys.");
245
+ throw new Error("Custom setMediaKeys is supposed to be called " + "with webkit custom MediaKeys.");
252
246
  }
253
247
  return mediaKeys._setVideo(elt);
254
248
  };
@@ -19,4 +19,5 @@ interface IWebKitMediaKeysConstructor {
19
19
  isTypeSupported: (keyType: string) => boolean;
20
20
  }
21
21
  declare let WebKitMediaKeysConstructor: undefined | IWebKitMediaKeysConstructor;
22
- export { WebKitMediaKeysConstructor, IWebKitMediaKeys, };
22
+ export type { IWebKitMediaKeys };
23
+ export { WebKitMediaKeysConstructor };
@@ -22,11 +22,11 @@ if (!isNode) {
22
22
  if (WebKitMediaKeys !== undefined &&
23
23
  typeof WebKitMediaKeys.isTypeSupported === "function" &&
24
24
  typeof WebKitMediaKeys.prototype.createSession === "function" &&
25
- typeof HTMLMediaElement.prototype
26
- .webkitSetMediaKeys === "function") {
25
+ typeof HTMLMediaElement.prototype.webkitSetMediaKeys ===
26
+ "function") {
27
27
  WebKitMediaKeysConstructor = WebKitMediaKeys;
28
28
  }
29
29
  /* eslint-enable @typescript-eslint/no-unsafe-assignment */
30
30
  /* eslint-enable @typescript-eslint/no-unsafe-member-access */
31
31
  }
32
- export { WebKitMediaKeysConstructor, };
32
+ export { WebKitMediaKeysConstructor };
@@ -1,7 +1,7 @@
1
- import { CancellationSignal } from "../../utils/task_canceller";
2
- import { IEventTargetLike } from "../event_listeners";
1
+ import type { CancellationSignal } from "../../utils/task_canceller";
2
+ import type { IEventTargetLike } from "../event_listeners";
3
3
  import CustomMediaKeySystemAccess from "./custom_key_system_access";
4
- import { ICustomMediaKeys } from "./custom_media_keys/types";
4
+ import type { ICustomMediaEncryptedEvent, ICustomMediaKeys } from "./custom_media_keys/types";
5
5
  /**
6
6
  * Automatically detect and set which EME implementation should be used in the
7
7
  * current platform.
@@ -34,7 +34,7 @@ export interface IEmeApiImplementation {
34
34
  * @param {Object} cancelSignal - The event listener will be removed once that
35
35
  * `CancellationSignal` emits.
36
36
  */
37
- onEncrypted: (target: IEventTargetLike, listener: (evt: unknown) => void, cancelSignal: CancellationSignal) => void;
37
+ onEncrypted: (target: IEventTargetLike, listener: (evt: ICustomMediaEncryptedEvent) => void, cancelSignal: CancellationSignal) => void;
38
38
  /**
39
39
  * API allowing to attach a `MediaKeys` instance (or an `ICustomMediaKeys`) to
40
40
  * the HTMLMediaElement so it can start decoding.
@@ -1,6 +1,7 @@
1
1
  import { MediaError } from "../../errors";
2
2
  import assert from "../../utils/assert";
3
3
  import isNullOrUndefined from "../../utils/is_null_or_undefined";
4
+ import objectAssign from "../../utils/object_assign";
4
5
  import { isIE11 } from "../browser_detection";
5
6
  import { createCompatibleEventListener } from "../event_listeners";
6
7
  import isNode from "../is_node";
@@ -10,7 +11,7 @@ import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor, } from "./custom_med
10
11
  import getMozMediaKeysCallbacks, { MozMediaKeysConstructor, } from "./custom_media_keys/moz_media_keys_constructor";
11
12
  import getOldKitWebKitMediaKeyCallbacks, { isOldWebkitMediaElement, } from "./custom_media_keys/old_webkit_media_keys";
12
13
  import getWebKitMediaKeysCallbacks from "./custom_media_keys/webkit_media_keys";
13
- import { WebKitMediaKeysConstructor, } from "./custom_media_keys/webkit_media_keys_constructor";
14
+ import { WebKitMediaKeysConstructor } from "./custom_media_keys/webkit_media_keys_constructor";
14
15
  /**
15
16
  * Automatically detect and set which EME implementation should be used in the
16
17
  * current platform.
@@ -33,9 +34,8 @@ function getEmeApiImplementation(preferredApiType) {
33
34
  var implementation;
34
35
  if ((preferredApiType === "standard" ||
35
36
  (preferredApiType === "auto" && !shouldFavourCustomSafariEME())) &&
36
- (
37
37
  // eslint-disable-next-line @typescript-eslint/unbound-method
38
- isNode || !isNullOrUndefined(navigator.requestMediaKeySystemAccess))) {
38
+ (isNode || !isNullOrUndefined(navigator.requestMediaKeySystemAccess))) {
39
39
  requestMediaKeySystemAccess = function () {
40
40
  var args = [];
41
41
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -50,8 +50,8 @@ function getEmeApiImplementation(preferredApiType) {
50
50
  var isTypeSupported_1;
51
51
  var createCustomMediaKeys_1;
52
52
  if (preferredApiType === "webkit" && WebKitMediaKeysConstructor !== undefined) {
53
- onEncrypted = createCompatibleEventListener(["needkey"]);
54
53
  var callbacks = getWebKitMediaKeysCallbacks();
54
+ onEncrypted = createOnEncryptedForWebkit();
55
55
  isTypeSupported_1 = callbacks.isTypeSupported;
56
56
  createCustomMediaKeys_1 = callbacks.createCustomMediaKeys;
57
57
  setMediaKeys = callbacks.setMediaKeys;
@@ -69,7 +69,7 @@ function getEmeApiImplementation(preferredApiType) {
69
69
  // This is for WebKit with prefixed EME api
70
70
  }
71
71
  else if (WebKitMediaKeysConstructor !== undefined) {
72
- onEncrypted = createCompatibleEventListener(["needkey"]);
72
+ onEncrypted = createOnEncryptedForWebkit();
73
73
  var callbacks = getWebKitMediaKeysCallbacks();
74
74
  isTypeSupported_1 = callbacks.isTypeSupported;
75
75
  createCustomMediaKeys_1 = callbacks.createCustomMediaKeys;
@@ -97,8 +97,7 @@ function getEmeApiImplementation(preferredApiType) {
97
97
  var MK_1 = window.MediaKeys;
98
98
  var checkForStandardMediaKeys_1 = function () {
99
99
  if (MK_1 === undefined) {
100
- throw new MediaError("MEDIA_KEYS_NOT_SUPPORTED", "No `MediaKeys` implementation found " +
101
- "in the current browser.");
100
+ throw new MediaError("MEDIA_KEYS_NOT_SUPPORTED", "No `MediaKeys` implementation found " + "in the current browser.");
102
101
  }
103
102
  if (typeof MK_1.isTypeSupported === "undefined") {
104
103
  var message = "This browser seems to be unable to play encrypted " +
@@ -128,10 +127,10 @@ function getEmeApiImplementation(preferredApiType) {
128
127
  var keySystemConfiguration = keySystemConfigurations[i];
129
128
  var videoCapabilities = keySystemConfiguration.videoCapabilities, audioCapabilities = keySystemConfiguration.audioCapabilities, initDataTypes = keySystemConfiguration.initDataTypes, distinctiveIdentifier = keySystemConfiguration.distinctiveIdentifier;
130
129
  var supported = true;
131
- supported = supported &&
132
- (initDataTypes == null ||
133
- initDataTypes.some(function (idt) { return idt === "cenc"; }));
134
- supported = supported && (distinctiveIdentifier !== "required");
130
+ supported =
131
+ supported &&
132
+ (initDataTypes == null || initDataTypes.some(function (idt) { return idt === "cenc"; }));
133
+ supported = supported && distinctiveIdentifier !== "required";
135
134
  if (supported) {
136
135
  var keySystemConfigurationResponse = {
137
136
  initDataTypes: ["cenc"],
@@ -155,6 +154,22 @@ function getEmeApiImplementation(preferredApiType) {
155
154
  }
156
155
  return { requestMediaKeySystemAccess: requestMediaKeySystemAccess, onEncrypted: onEncrypted, setMediaKeys: setMediaKeys, implementation: implementation };
157
156
  }
157
+ /**
158
+ * Create an event listener for the "webkitneedkey" event
159
+ * @returns
160
+ */
161
+ function createOnEncryptedForWebkit() {
162
+ var compatibleEventListener = createCompatibleEventListener(["needkey"], undefined /* prefixes */);
163
+ var onEncrypted = function (target, listener, cancelSignal) {
164
+ compatibleEventListener(target, function (event) {
165
+ var patchedEvent = objectAssign(event, {
166
+ forceSessionRecreation: true,
167
+ });
168
+ listener(patchedEvent);
169
+ }, cancelSignal);
170
+ };
171
+ return onEncrypted;
172
+ }
158
173
  /**
159
174
  * Set the given MediaKeys on the given HTMLMediaElement.
160
175
  * Emits null when done then complete.
@@ -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 { ICustomMediaKeySession } from "./custom_media_keys";
16
+ import type { ICustomMediaKeySession } from "./custom_media_keys";
17
17
  /**
18
18
  * Modify "initialization data" sent to a `generateKeyRequest` EME call to
19
19
  * improve the player's browser compatibility:
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import log from "../../log";
17
17
  import { getNextBoxOffsets } from "../../parsers/containers/isobmff";
18
- import { be4toi, concat, } from "../../utils/byte_parsing";
18
+ import { be4toi, concat } from "../../utils/byte_parsing";
19
19
  import { PSSH_TO_INTEGER } from "./constants";
20
20
  /**
21
21
  * Modify "initialization data" sent to a `generateKeyRequest` EME call to
@@ -64,23 +64,22 @@ export function patchInitData(initData) {
64
64
  // yep
65
65
  if (initData[offset + 12] === 0x10 &&
66
66
  initData[offset + 13] === 0x77 &&
67
- initData[offset + 14] === 0xEF &&
68
- initData[offset + 15] === 0xEC &&
69
- initData[offset + 16] === 0xC0 &&
70
- initData[offset + 17] === 0xB2 &&
71
- initData[offset + 18] === 0x4D &&
67
+ initData[offset + 14] === 0xef &&
68
+ initData[offset + 15] === 0xec &&
69
+ initData[offset + 16] === 0xc0 &&
70
+ initData[offset + 17] === 0xb2 &&
71
+ initData[offset + 18] === 0x4d &&
72
72
  initData[offset + 19] === 0x02 &&
73
- initData[offset + 20] === 0xAC &&
74
- initData[offset + 21] === 0xE3 &&
75
- initData[offset + 22] === 0x3C &&
76
- initData[offset + 23] === 0x1E &&
73
+ initData[offset + 20] === 0xac &&
74
+ initData[offset + 21] === 0xe3 &&
75
+ initData[offset + 22] === 0x3c &&
76
+ initData[offset + 23] === 0x1e &&
77
77
  initData[offset + 24] === 0x52 &&
78
- initData[offset + 25] === 0xE2 &&
79
- initData[offset + 26] === 0xFB &&
80
- initData[offset + 27] === 0x4B) {
78
+ initData[offset + 25] === 0xe2 &&
79
+ initData[offset + 26] === 0xfb &&
80
+ initData[offset + 27] === 0x4b) {
81
81
  var cencOffsets = getNextBoxOffsets(currentPSSH);
82
- var version = cencOffsets === null ? undefined :
83
- currentPSSH[cencOffsets[1]];
82
+ var version = cencOffsets === null ? undefined : currentPSSH[cencOffsets[1]];
84
83
  log.info("Compat: CENC PSSH found with version", version);
85
84
  if (version === undefined) {
86
85
  log.warn("Compat: could not read version of CENC PSSH");
@@ -90,8 +89,7 @@ export function patchInitData(initData) {
90
89
  concatenatedCencs = concat(concatenatedCencs, currentPSSH);
91
90
  }
92
91
  else if (version === 1) {
93
- log.warn("Compat: cenc version 1 encountered, " +
94
- "removing every other cenc pssh box.");
92
+ log.warn("Compat: cenc version 1 encountered, " + "removing every other cenc pssh box.");
95
93
  concatenatedCencs = currentPSSH;
96
94
  foundCencV1 = true;
97
95
  }
@@ -130,8 +128,7 @@ export default function generateKeyRequest(session, initializationDataType, init
130
128
  patchedInit = initializationData;
131
129
  }
132
130
  var initDataType = initializationDataType !== null && initializationDataType !== void 0 ? initializationDataType : "";
133
- return session.generateRequest(initDataType, patchedInit)
134
- .catch(function (error) {
131
+ return session.generateRequest(initDataType, patchedInit).catch(function (error) {
135
132
  if (initDataType !== "" || !(error instanceof TypeError)) {
136
133
  throw error;
137
134
  }
@@ -141,7 +138,7 @@ export default function generateKeyRequest(session, initializationDataType, init
141
138
  // Retry with a default "cenc" value for initialization data type if
142
139
  // we're in that condition.
143
140
  log.warn("Compat: error while calling `generateRequest` with an empty " +
144
- "initialization data type. Retrying with a default \"cenc\" value.", error);
141
+ 'initialization data type. Retrying with a default "cenc" value.', error);
145
142
  return session.generateRequest("cenc", patchedInit);
146
143
  });
147
144
  }
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import type { ICustomMediaEncryptedEvent } from "./custom_media_keys/types";
16
17
  /** Data recuperated from parsing the payload of an `encrypted` event. */
17
18
  export interface IEncryptedEventData {
18
19
  /**
@@ -42,6 +43,7 @@ export interface IEncryptedEventData {
42
43
  */
43
44
  data: Uint8Array;
44
45
  }>;
46
+ forceSessionRecreation?: boolean | undefined;
45
47
  }
46
48
  /**
47
49
  * Take out the two things we need on an encryptedEvent:
@@ -54,4 +56,4 @@ export interface IEncryptedEventData {
54
56
  * @throws {EncryptedMediaError} - Throws if no initialization data is
55
57
  * encountered in the given event.
56
58
  */
57
- export default function getInitData(encryptedEvent: MediaEncryptedEvent): IEncryptedEventData | null;
59
+ export default function getInitData(encryptedEvent: ICustomMediaEncryptedEvent): IEncryptedEventData | null;
@@ -17,6 +17,7 @@ import log from "../../log";
17
17
  import { getPsshSystemID } from "../../parsers/containers/isobmff";
18
18
  import areArraysOfNumbersEqual from "../../utils/are_arrays_of_numbers_equal";
19
19
  import { be4toi } from "../../utils/byte_parsing";
20
+ import isNullOrUndefined from "../../utils/is_null_or_undefined";
20
21
  import { PSSH_TO_INTEGER } from "./constants";
21
22
  /**
22
23
  * Take in input initialization data from an encrypted event and generate the
@@ -36,14 +37,12 @@ function getInitializationDataValues(initData) {
36
37
  if (initData.length < offset + 8 ||
37
38
  be4toi(initData, offset + 4) !== PSSH_TO_INTEGER) {
38
39
  log.warn("Compat: Unrecognized initialization data. Use as is.");
39
- return [{ systemId: undefined,
40
- data: initData }];
40
+ return [{ systemId: undefined, data: initData }];
41
41
  }
42
42
  var len = be4toi(new Uint8Array(initData), offset);
43
43
  if (offset + len > initData.length) {
44
44
  log.warn("Compat: Unrecognized initialization data. Use as is.");
45
- return [{ systemId: undefined,
46
- data: initData }];
45
+ return [{ systemId: undefined, data: initData }];
47
46
  }
48
47
  var currentPSSH = initData.subarray(offset, offset + len);
49
48
  var systemId = getPsshSystemID(currentPSSH, 8);
@@ -63,8 +62,7 @@ function getInitializationDataValues(initData) {
63
62
  }
64
63
  if (offset !== initData.length) {
65
64
  log.warn("Compat: Unrecognized initialization data. Use as is.");
66
- return [{ systemId: undefined,
67
- data: initData }];
65
+ return [{ systemId: undefined, data: initData }];
68
66
  }
69
67
  return result;
70
68
  }
@@ -101,12 +99,12 @@ function isPSSHAlreadyEncountered(encounteredPSSHs, pssh) {
101
99
  * encountered in the given event.
102
100
  */
103
101
  export default function getInitData(encryptedEvent) {
104
- var initData = encryptedEvent.initData, initDataType = encryptedEvent.initDataType;
105
- if (initData == null) {
102
+ var initData = encryptedEvent.initData, initDataType = encryptedEvent.initDataType, forceSessionRecreation = encryptedEvent.forceSessionRecreation;
103
+ if (isNullOrUndefined(initData)) {
106
104
  log.warn("Compat: No init data found on media encrypted event.");
107
105
  return null;
108
106
  }
109
107
  var initDataBytes = new Uint8Array(initData);
110
108
  var values = getInitializationDataValues(initDataBytes);
111
- return { type: initDataType, values: values };
109
+ return { type: initDataType, values: values, forceSessionRecreation: forceSessionRecreation };
112
110
  }
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { guidToUuid } from "../../utils/string_parsing";
17
- import { isEdgeChromium, isIEOrEdge, } from "../browser_detection";
17
+ import { isEdgeChromium, isIEOrEdge } from "../browser_detection";
18
18
  /**
19
19
  * Get KID from MediaKeySession keyStatus, and convert it in usual big-endian kid
20
20
  * if necessary. On EDGE, Microsoft Playready KID are presented into little-endian GUID.
@@ -23,8 +23,7 @@ import { isEdgeChromium, isIEOrEdge, } from "../browser_detection";
23
23
  * @returns {Uint8Array}
24
24
  */
25
25
  export default function getUUIDKIDFromKeyStatusKID(keySystem, baseKeyId) {
26
- if (keySystem.indexOf("playready") !== -1 &&
27
- (isIEOrEdge || isEdgeChromium)) {
26
+ if (keySystem.indexOf("playready") !== -1 && (isIEOrEdge || isEdgeChromium)) {
28
27
  return guidToUuid(baseKeyId);
29
28
  }
30
29
  return baseKeyId;
@@ -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 { itole4, le4toi, } from "../../utils/byte_parsing";
17
- import { strToUtf16LE, utf16LEToStr, } from "../../utils/string_parsing";
16
+ import { itole4, le4toi } from "../../utils/byte_parsing";
17
+ import { strToUtf16LE, utf16LEToStr } from "../../utils/string_parsing";
18
18
  /**
19
19
  * Create formatted fairplay initdata for WebKit createSession.
20
20
  * Layout is :
@@ -25,25 +25,24 @@ import { strToUtf16LE, utf16LEToStr, } from "../../utils/string_parsing";
25
25
  * @returns {Uint8Array}
26
26
  */
27
27
  export default function getWebKitFairPlayInitData(initDataBytes, serverCertificateBytes) {
28
- var initData = initDataBytes instanceof Uint8Array ? initDataBytes :
29
- new Uint8Array(initDataBytes);
30
- var serverCertificate = serverCertificateBytes instanceof Uint8Array ?
31
- serverCertificateBytes :
32
- new Uint8Array(serverCertificateBytes);
28
+ var initData = initDataBytes instanceof Uint8Array ? initDataBytes : new Uint8Array(initDataBytes);
29
+ var serverCertificate = serverCertificateBytes instanceof Uint8Array
30
+ ? serverCertificateBytes
31
+ : new Uint8Array(serverCertificateBytes);
33
32
  var length = le4toi(initData, 0);
34
33
  if (length + 4 !== initData.length) {
35
34
  throw new Error("Unsupported WebKit initData.");
36
35
  }
37
36
  var initDataUri = utf16LEToStr(initData);
38
37
  var skdIndexInInitData = initDataUri.indexOf("skd://");
39
- var contentIdStr = skdIndexInInitData > -1 ?
40
- initDataUri.substring(skdIndexInInitData + 6) :
41
- initDataUri;
38
+ var contentIdStr = skdIndexInInitData > -1 ? initDataUri.substring(skdIndexInInitData + 6) : initDataUri;
42
39
  var id = strToUtf16LE(contentIdStr);
43
40
  var offset = 0;
44
- var res = new Uint8Array(initData.byteLength
45
- /* id length */ + 4 + id.byteLength
46
- /* certificate length */ + 4 + serverCertificate.byteLength);
41
+ var res = new Uint8Array(initData.byteLength +
42
+ /* id length */ 4 +
43
+ id.byteLength +
44
+ /* certificate length */ 4 +
45
+ serverCertificate.byteLength);
47
46
  res.set(initData);
48
47
  offset += initData.length;
49
48
  res.set(itole4(id.byteLength), offset);
@@ -14,11 +14,14 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import closeSession from "./close_session";
17
- import { ICustomMediaKeySystemAccess } from "./custom_key_system_access";
18
- import { ICustomMediaKeys, ICustomMediaKeySession } from "./custom_media_keys";
19
- import defaultEmeImplementation, { IEmeApiImplementation, IPreferredEmeApiType } from "./eme-api-implementation";
17
+ import type { ICustomMediaKeySystemAccess } from "./custom_key_system_access";
18
+ import type { ICustomMediaKeys, ICustomMediaKeySession } from "./custom_media_keys";
19
+ import type { IEmeApiImplementation, IPreferredEmeApiType } from "./eme-api-implementation";
20
+ import defaultEmeImplementation from "./eme-api-implementation";
20
21
  import generateKeyRequest from "./generate_key_request";
21
- import getInitData, { IEncryptedEventData } from "./get_init_data";
22
+ import type { IEncryptedEventData } from "./get_init_data";
23
+ import getInitData from "./get_init_data";
22
24
  import loadSession from "./load_session";
23
25
  export default defaultEmeImplementation;
24
- export { closeSession, generateKeyRequest, getInitData, loadSession, IEmeApiImplementation, IPreferredEmeApiType, ICustomMediaKeySession, ICustomMediaKeySystemAccess, ICustomMediaKeys, IEncryptedEventData, };
26
+ export type { IEmeApiImplementation, IPreferredEmeApiType, ICustomMediaKeySession, ICustomMediaKeySystemAccess, ICustomMediaKeys, IEncryptedEventData, };
27
+ export { closeSession, generateKeyRequest, getInitData, loadSession };
@@ -19,4 +19,4 @@ import generateKeyRequest from "./generate_key_request";
19
19
  import getInitData from "./get_init_data";
20
20
  import loadSession from "./load_session";
21
21
  export default defaultEmeImplementation;
22
- export { closeSession, generateKeyRequest, getInitData, loadSession, };
22
+ export { closeSession, generateKeyRequest, getInitData, loadSession };