rx-player 4.1.0 → 4.2.0-dev.2024080600

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 (1030) hide show
  1. package/CHANGELOG.md +5 -10
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  6. package/dist/commonjs/compat/add_class_name.js +1 -1
  7. package/dist/commonjs/compat/add_text_track.d.ts +2 -2
  8. package/dist/commonjs/compat/add_text_track.d.ts.map +1 -1
  9. package/dist/commonjs/compat/add_text_track.js +1 -1
  10. package/dist/commonjs/compat/browser_compatibility_types.d.ts +196 -13
  11. package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
  12. package/dist/commonjs/compat/browser_compatibility_types.js +29 -0
  13. package/dist/commonjs/compat/browser_version.js +1 -2
  14. package/dist/commonjs/compat/can_patch_isobmff.js +1 -1
  15. package/dist/commonjs/compat/can_rely_on_request_media_key_system_access.js +1 -2
  16. package/dist/commonjs/compat/can_rely_on_video_visibility_and_size.js +1 -1
  17. package/dist/commonjs/compat/can_reuse_media_keys.js +1 -1
  18. package/dist/commonjs/compat/change_source_buffer_type.js +1 -1
  19. package/dist/commonjs/compat/clear_element_src.d.ts +2 -1
  20. package/dist/commonjs/compat/clear_element_src.d.ts.map +1 -1
  21. package/dist/commonjs/compat/clear_element_src.js +1 -1
  22. package/dist/commonjs/compat/eme/close_session.js +1 -1
  23. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.d.ts +3 -2
  24. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.d.ts.map +1 -1
  25. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.js +1 -1
  26. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +2 -1
  27. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  28. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -3
  29. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +3 -2
  30. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  31. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +2 -3
  32. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts +5 -1
  33. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts.map +1 -1
  34. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts +4 -3
  35. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  36. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +3 -4
  37. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  38. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  39. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts +4 -3
  40. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts.map +1 -1
  41. package/dist/commonjs/compat/eme/eme-api-implementation.js +19 -5
  42. package/dist/commonjs/compat/eme/generate_key_request.js +2 -3
  43. package/dist/commonjs/compat/eme/get_init_data.d.ts +3 -1
  44. package/dist/commonjs/compat/eme/get_init_data.d.ts.map +1 -1
  45. package/dist/commonjs/compat/eme/get_init_data.js +3 -3
  46. package/dist/commonjs/compat/eme/get_uuid_kid_from_keystatus_kid.js +1 -1
  47. package/dist/commonjs/compat/eme/get_webkit_fairplay_initdata.js +1 -1
  48. package/dist/commonjs/compat/eme/load_session.js +1 -1
  49. package/dist/commonjs/compat/eme/set_media_keys.d.ts +2 -1
  50. package/dist/commonjs/compat/eme/set_media_keys.d.ts.map +1 -1
  51. package/dist/commonjs/compat/eme/set_media_keys.js +1 -2
  52. package/dist/commonjs/compat/enable_audio_track.js +1 -1
  53. package/dist/commonjs/compat/event_listeners.d.ts +26 -24
  54. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  55. package/dist/commonjs/compat/event_listeners.js +9 -21
  56. package/dist/commonjs/compat/generate_init_data.js +2 -2
  57. package/dist/commonjs/compat/get_start_date.d.ts +2 -1
  58. package/dist/commonjs/compat/get_start_date.d.ts.map +1 -1
  59. package/dist/commonjs/compat/get_start_date.js +1 -1
  60. package/dist/commonjs/compat/has_issues_with_high_media_source_duration.js +1 -1
  61. package/dist/commonjs/compat/has_worker_api.js +1 -1
  62. package/dist/commonjs/compat/is_codec_supported.js +1 -1
  63. package/dist/commonjs/compat/is_debug_mode_enabled.js +1 -1
  64. package/dist/commonjs/compat/is_vtt_cue.js +1 -1
  65. package/dist/commonjs/compat/make_vtt_cue.js +1 -1
  66. package/dist/commonjs/compat/on_height_width_change.js +1 -1
  67. package/dist/commonjs/compat/patch_webkit_source_buffer.js +1 -1
  68. package/dist/commonjs/compat/remove_cue.js +1 -1
  69. package/dist/commonjs/compat/should_await_set_media_keys.js +1 -1
  70. package/dist/commonjs/compat/should_favour_custom_safari_EME.js +1 -1
  71. package/dist/commonjs/compat/should_reload_media_source_on_decipherability_update.js +1 -1
  72. package/dist/commonjs/compat/should_renew_media_key_system_access.js +1 -1
  73. package/dist/commonjs/compat/should_unset_media_keys.js +1 -1
  74. package/dist/commonjs/compat/should_validate_metadata.js +1 -1
  75. package/dist/commonjs/compat/should_wait_for_data_before_loaded.js +1 -1
  76. package/dist/commonjs/compat/should_wait_for_have_enough_data.js +1 -1
  77. package/dist/commonjs/config.d.ts +1 -1
  78. package/dist/commonjs/core/adaptive/adaptive_representation_selector.js +1 -1
  79. package/dist/commonjs/core/adaptive/network_analyzer.js +1 -2
  80. package/dist/commonjs/core/adaptive/utils/filter_by_bitrate.js +1 -1
  81. package/dist/commonjs/core/adaptive/utils/filter_by_resolution.js +1 -1
  82. package/dist/commonjs/core/adaptive/utils/get_buffer_levels.js +1 -1
  83. package/dist/commonjs/core/adaptive/utils/select_optimal_representation.js +1 -1
  84. package/dist/commonjs/core/cmcd/cmcd_data_builder.d.ts +121 -0
  85. package/dist/commonjs/core/cmcd/cmcd_data_builder.d.ts.map +1 -0
  86. package/dist/commonjs/core/cmcd/cmcd_data_builder.js +341 -0
  87. package/dist/commonjs/core/cmcd/index.d.ts +4 -0
  88. package/dist/commonjs/core/cmcd/index.d.ts.map +1 -0
  89. package/dist/commonjs/core/cmcd/index.js +4 -0
  90. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts +8 -0
  91. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts.map +1 -1
  92. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +14 -11
  93. package/dist/commonjs/core/fetchers/segment/prioritized_segment_fetcher.js +1 -1
  94. package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts +43 -23
  95. package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts.map +1 -1
  96. package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +25 -37
  97. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -3
  98. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts.map +1 -1
  99. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.js +13 -5
  100. package/dist/commonjs/core/fetchers/utils/error_selector.js +1 -1
  101. package/dist/commonjs/core/fetchers/utils/schedule_request.js +2 -3
  102. package/dist/commonjs/core/main/common/create_content_time_boundaries_observer.js +1 -1
  103. package/dist/commonjs/core/main/common/get_buffered_data_per_media_buffer.js +1 -1
  104. package/dist/commonjs/core/main/worker/content_preparer.d.ts +7 -0
  105. package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -1
  106. package/dist/commonjs/core/main/worker/content_preparer.js +5 -2
  107. package/dist/commonjs/core/main/worker/send_message.js +2 -3
  108. package/dist/commonjs/core/main/worker/worker_main.d.ts.map +1 -1
  109. package/dist/commonjs/core/main/worker/worker_main.js +28 -38
  110. package/dist/commonjs/core/segment_sinks/garbage_collector.js +1 -1
  111. package/dist/commonjs/core/segment_sinks/inventory/utils.js +2 -3
  112. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +1 -1
  113. package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.js +1 -1
  114. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.js +1 -1
  115. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +1 -1
  116. package/dist/commonjs/core/stream/period/period_stream.js +1 -1
  117. package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.js +1 -1
  118. package/dist/commonjs/core/stream/representation/representation_stream.js +1 -1
  119. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.js +1 -1
  120. package/dist/commonjs/core/stream/representation/utils/check_for_discontinuity.js +1 -1
  121. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +1 -1
  122. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +1 -1
  123. package/dist/commonjs/core/stream/representation/utils/get_segment_priority.js +1 -1
  124. package/dist/commonjs/core/stream/representation/utils/push_init_segment.js +7 -7
  125. package/dist/commonjs/core/stream/representation/utils/push_media_segment.js +10 -10
  126. package/dist/commonjs/default_config.d.ts +1 -1
  127. package/dist/commonjs/default_config.d.ts.map +1 -1
  128. package/dist/commonjs/default_config.js +1 -0
  129. package/dist/commonjs/errors/error_message.js +1 -1
  130. package/dist/commonjs/errors/format_error.js +1 -1
  131. package/dist/commonjs/errors/is_known_error.js +1 -1
  132. package/dist/commonjs/experimental/features/local.d.ts.map +1 -1
  133. package/dist/commonjs/experimental/features/local.js +1 -4
  134. package/dist/commonjs/experimental/features/metaplaylist.d.ts.map +1 -1
  135. package/dist/commonjs/experimental/features/metaplaylist.js +1 -4
  136. package/dist/commonjs/experimental/features/multi_thread.js +1 -2
  137. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/dash.js +1 -1
  138. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/metaplaylist.js +1 -1
  139. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +1 -1
  140. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +2 -1
  141. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts.map +1 -1
  142. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +1 -1
  143. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -1
  144. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts.map +1 -1
  145. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +1 -1
  146. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts.map +1 -1
  147. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +14 -8
  148. package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +1 -1
  149. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api/index.d.ts.map +1 -1
  150. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api/index.js +1 -1
  151. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/capabilities.js +1 -1
  152. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +1 -1
  153. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +1 -1
  154. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +1 -1
  155. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  156. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +3 -3
  157. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -1
  158. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +1 -1
  159. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +1 -1
  160. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -1
  161. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/utils.js +2 -3
  162. package/dist/commonjs/features/add_features.js +1 -1
  163. package/dist/commonjs/features/features_object.d.ts.map +1 -1
  164. package/dist/commonjs/features/features_object.js +0 -1
  165. package/dist/commonjs/features/list/dash.d.ts.map +1 -1
  166. package/dist/commonjs/features/list/dash.js +1 -4
  167. package/dist/commonjs/features/list/dash_wasm.d.ts.map +1 -1
  168. package/dist/commonjs/features/list/dash_wasm.js +0 -2
  169. package/dist/commonjs/features/list/debug_element.js +1 -2
  170. package/dist/commonjs/features/list/directfile.js +1 -2
  171. package/dist/commonjs/features/list/eme.js +1 -2
  172. package/dist/commonjs/features/list/html_sami_parser.js +1 -2
  173. package/dist/commonjs/features/list/html_srt_parser.js +1 -2
  174. package/dist/commonjs/features/list/html_text_buffer.js +1 -2
  175. package/dist/commonjs/features/list/html_ttml_parser.js +1 -2
  176. package/dist/commonjs/features/list/html_vtt_parser.js +1 -2
  177. package/dist/commonjs/features/list/media_source_main.js +1 -2
  178. package/dist/commonjs/features/list/native_sami_parser.js +1 -2
  179. package/dist/commonjs/features/list/native_srt_parser.js +1 -2
  180. package/dist/commonjs/features/list/native_text_buffer.js +1 -2
  181. package/dist/commonjs/features/list/native_ttml_parser.js +1 -2
  182. package/dist/commonjs/features/list/native_vtt_parser.js +1 -2
  183. package/dist/commonjs/features/list/smooth.d.ts.map +1 -1
  184. package/dist/commonjs/features/list/smooth.js +1 -4
  185. package/dist/commonjs/features/types.d.ts +3 -11
  186. package/dist/commonjs/features/types.d.ts.map +1 -1
  187. package/dist/commonjs/index.js +2 -2
  188. package/dist/commonjs/main_thread/api/debug/modules/general_info.js +1 -1
  189. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_content.js +1 -1
  190. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_size.js +1 -1
  191. package/dist/commonjs/main_thread/api/debug/render.js +1 -1
  192. package/dist/commonjs/main_thread/api/debug/utils.js +5 -6
  193. package/dist/commonjs/main_thread/api/option_utils.d.ts +9 -2
  194. package/dist/commonjs/main_thread/api/option_utils.d.ts.map +1 -1
  195. package/dist/commonjs/main_thread/api/option_utils.js +7 -9
  196. package/dist/commonjs/main_thread/api/public_api.d.ts +23 -2
  197. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  198. package/dist/commonjs/main_thread/api/public_api.js +50 -12
  199. package/dist/commonjs/main_thread/api/utils.d.ts +5 -4
  200. package/dist/commonjs/main_thread/api/utils.d.ts.map +1 -1
  201. package/dist/commonjs/main_thread/api/utils.js +5 -6
  202. package/dist/commonjs/main_thread/decrypt/attach_media_keys.d.ts +3 -2
  203. package/dist/commonjs/main_thread/decrypt/attach_media_keys.d.ts.map +1 -1
  204. package/dist/commonjs/main_thread/decrypt/attach_media_keys.js +8 -9
  205. package/dist/commonjs/main_thread/decrypt/clear_on_stop.d.ts +2 -1
  206. package/dist/commonjs/main_thread/decrypt/clear_on_stop.d.ts.map +1 -1
  207. package/dist/commonjs/main_thread/decrypt/clear_on_stop.js +1 -1
  208. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts +26 -1
  209. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  210. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +86 -13
  211. package/dist/commonjs/main_thread/decrypt/create_or_load_session.js +1 -1
  212. package/dist/commonjs/main_thread/decrypt/create_session.js +1 -1
  213. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.d.ts +2 -1
  214. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.d.ts.map +1 -1
  215. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.js +1 -1
  216. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts +17 -2
  217. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  218. package/dist/commonjs/main_thread/decrypt/find_key_system.js +73 -3
  219. package/dist/commonjs/main_thread/decrypt/get_key_system_configuration.d.ts +2 -1
  220. package/dist/commonjs/main_thread/decrypt/get_key_system_configuration.d.ts.map +1 -1
  221. package/dist/commonjs/main_thread/decrypt/get_key_system_configuration.js +1 -1
  222. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts +5 -1
  223. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  224. package/dist/commonjs/main_thread/decrypt/get_media_keys.js +5 -3
  225. package/dist/commonjs/main_thread/decrypt/init_media_keys.d.ts +2 -1
  226. package/dist/commonjs/main_thread/decrypt/init_media_keys.d.ts.map +1 -1
  227. package/dist/commonjs/main_thread/decrypt/init_media_keys.js +1 -1
  228. package/dist/commonjs/main_thread/decrypt/session_events_listener.js +1 -1
  229. package/dist/commonjs/main_thread/decrypt/set_server_certificate.js +5 -4
  230. package/dist/commonjs/main_thread/decrypt/types.d.ts +1 -0
  231. package/dist/commonjs/main_thread/decrypt/types.d.ts.map +1 -1
  232. package/dist/commonjs/main_thread/decrypt/utils/are_init_values_compatible.js +1 -1
  233. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.js +1 -1
  234. package/dist/commonjs/main_thread/decrypt/utils/clean_old_loaded_sessions.js +1 -1
  235. package/dist/commonjs/main_thread/decrypt/utils/clean_old_stored_persistent_info.js +1 -1
  236. package/dist/commonjs/main_thread/decrypt/utils/get_drm_system_id.js +1 -1
  237. package/dist/commonjs/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts +14 -0
  238. package/dist/commonjs/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts.map +1 -0
  239. package/dist/commonjs/main_thread/decrypt/utils/is_compatible_codec_supported.js +53 -0
  240. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.js +1 -1
  241. package/dist/commonjs/main_thread/decrypt/utils/key_id_comparison.js +2 -3
  242. package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.d.ts +4 -3
  243. package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.d.ts.map +1 -1
  244. package/dist/commonjs/main_thread/init/directfile_content_initializer.d.ts +6 -1
  245. package/dist/commonjs/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
  246. package/dist/commonjs/main_thread/init/directfile_content_initializer.js +2 -13
  247. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +62 -4
  248. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  249. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +163 -28
  250. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +46 -4
  251. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  252. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +78 -140
  253. package/dist/commonjs/main_thread/init/send_message.js +1 -1
  254. package/dist/commonjs/main_thread/init/types.d.ts +6 -1
  255. package/dist/commonjs/main_thread/init/types.d.ts.map +1 -1
  256. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.js +3 -4
  257. package/dist/commonjs/main_thread/init/utils/create_media_source.d.ts +3 -2
  258. package/dist/commonjs/main_thread/init/utils/create_media_source.d.ts.map +1 -1
  259. package/dist/commonjs/main_thread/init/utils/create_media_source.js +2 -3
  260. package/dist/commonjs/main_thread/init/utils/get_initial_time.js +1 -1
  261. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.d.ts +2 -1
  262. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.d.ts.map +1 -1
  263. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.js +1 -1
  264. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts +2 -1
  265. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
  266. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.js +1 -1
  267. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.d.ts +17 -6
  268. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.d.ts.map +1 -1
  269. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.js +17 -22
  270. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +2 -1
  271. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts.map +1 -1
  272. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.d.ts +2 -1
  273. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.d.ts.map +1 -1
  274. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.js +1 -1
  275. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts +33 -0
  276. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -0
  277. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.js +224 -0
  278. package/dist/commonjs/main_thread/text_displayer/html/html_parsers.js +1 -1
  279. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.d.ts +2 -1
  280. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.d.ts.map +1 -1
  281. package/dist/commonjs/main_thread/text_displayer/html/update_proportional_elements.js +1 -1
  282. package/dist/commonjs/main_thread/text_displayer/html/utils.js +5 -6
  283. package/dist/commonjs/main_thread/text_displayer/native/native_parsers.js +1 -1
  284. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts +2 -1
  285. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
  286. package/dist/commonjs/main_thread/tracks_store/media_element_tracks_store.d.ts +6 -1
  287. package/dist/commonjs/main_thread/tracks_store/media_element_tracks_store.d.ts.map +1 -1
  288. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.d.ts +5 -2
  289. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.d.ts.map +1 -1
  290. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +7 -26
  291. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts +49 -25
  292. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  293. package/dist/commonjs/main_thread/tracks_store/tracks_store.js +263 -103
  294. package/dist/commonjs/manifest/classes/adaptation.d.ts +9 -9
  295. package/dist/commonjs/manifest/classes/adaptation.d.ts.map +1 -1
  296. package/dist/commonjs/manifest/classes/adaptation.js +50 -24
  297. package/dist/commonjs/manifest/classes/codec_support_cache.d.ts +45 -0
  298. package/dist/commonjs/manifest/classes/codec_support_cache.d.ts.map +1 -0
  299. package/dist/commonjs/manifest/classes/codec_support_cache.js +84 -0
  300. package/dist/commonjs/manifest/classes/index.d.ts +2 -2
  301. package/dist/commonjs/manifest/classes/index.d.ts.map +1 -1
  302. package/dist/commonjs/manifest/classes/manifest.d.ts +28 -6
  303. package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
  304. package/dist/commonjs/manifest/classes/manifest.js +46 -7
  305. package/dist/commonjs/manifest/classes/period.d.ts +6 -7
  306. package/dist/commonjs/manifest/classes/period.d.ts.map +1 -1
  307. package/dist/commonjs/manifest/classes/period.js +23 -14
  308. package/dist/commonjs/manifest/classes/representation.d.ts +10 -11
  309. package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
  310. package/dist/commonjs/manifest/classes/representation.js +64 -68
  311. package/dist/commonjs/manifest/classes/update_period_in_place.js +1 -1
  312. package/dist/commonjs/manifest/classes/update_periods.js +2 -3
  313. package/dist/commonjs/manifest/classes/utils.js +2 -3
  314. package/dist/commonjs/manifest/index.d.ts +2 -2
  315. package/dist/commonjs/manifest/types.d.ts +32 -5
  316. package/dist/commonjs/manifest/types.d.ts.map +1 -1
  317. package/dist/commonjs/manifest/utils.d.ts +1 -1
  318. package/dist/commonjs/manifest/utils.d.ts.map +1 -1
  319. package/dist/commonjs/manifest/utils.js +36 -20
  320. package/dist/commonjs/minimal.d.ts.map +1 -1
  321. package/dist/commonjs/minimal.js +2 -8
  322. package/dist/commonjs/mse/index.d.ts +1 -1
  323. package/dist/commonjs/mse/index.d.ts.map +1 -1
  324. package/dist/commonjs/mse/main_media_source_interface.d.ts +2 -1
  325. package/dist/commonjs/mse/main_media_source_interface.d.ts.map +1 -1
  326. package/dist/commonjs/mse/main_media_source_interface.js +5 -4
  327. package/dist/commonjs/mse/types.d.ts +0 -29
  328. package/dist/commonjs/mse/types.d.ts.map +1 -1
  329. package/dist/commonjs/mse/utils/end_of_stream.d.ts +3 -2
  330. package/dist/commonjs/mse/utils/end_of_stream.d.ts.map +1 -1
  331. package/dist/commonjs/mse/utils/end_of_stream.js +2 -3
  332. package/dist/commonjs/mse/utils/media_source_duration_updater.d.ts +2 -1
  333. package/dist/commonjs/mse/utils/media_source_duration_updater.d.ts.map +1 -1
  334. package/dist/commonjs/multithread_types.d.ts +26 -14
  335. package/dist/commonjs/multithread_types.d.ts.map +1 -1
  336. package/dist/commonjs/parsers/containers/isobmff/create_box.js +2 -3
  337. package/dist/commonjs/parsers/containers/isobmff/drm/playready.js +1 -2
  338. package/dist/commonjs/parsers/containers/isobmff/extract_complete_chunks.js +1 -1
  339. package/dist/commonjs/parsers/containers/isobmff/find_complete_box.js +1 -1
  340. package/dist/commonjs/parsers/containers/isobmff/get_box.js +7 -8
  341. package/dist/commonjs/parsers/containers/isobmff/read.js +5 -6
  342. package/dist/commonjs/parsers/containers/isobmff/take_pssh_out.js +2 -3
  343. package/dist/commonjs/parsers/containers/isobmff/utils.js +9 -9
  344. package/dist/commonjs/parsers/containers/matroska/utils.js +2 -3
  345. package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.js +1 -2
  346. package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
  347. package/dist/commonjs/parsers/manifest/dash/common/get_clock_offset.js +1 -1
  348. package/dist/commonjs/parsers/manifest/dash/common/get_hdr_information.js +1 -2
  349. package/dist/commonjs/parsers/manifest/dash/common/get_http_utc-timing_url.js +1 -1
  350. package/dist/commonjs/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +1 -1
  351. package/dist/commonjs/parsers/manifest/dash/common/get_periods_time_infos.js +1 -1
  352. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_init_segment.js +1 -1
  353. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +1 -1
  354. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts.map +1 -1
  355. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.js +1 -1
  356. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +1 -1
  357. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +1 -1
  358. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +1 -1
  359. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +1 -1
  360. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +2 -3
  361. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts.map +1 -1
  362. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +4 -4
  363. package/dist/commonjs/parsers/manifest/dash/common/indexes/tokens.js +3 -4
  364. package/dist/commonjs/parsers/manifest/dash/common/indexes/utils.js +1 -2
  365. package/dist/commonjs/parsers/manifest/dash/common/infer_adaptation_type.js +1 -1
  366. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +6 -2
  367. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts.map +1 -1
  368. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.js +7 -3
  369. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +1 -1
  370. package/dist/commonjs/parsers/manifest/dash/common/parse_availability_start_time.js +1 -1
  371. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.js +16 -2
  372. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.js +1 -1
  373. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.js +1 -1
  374. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +1 -1
  375. package/dist/commonjs/parsers/manifest/dash/common/resolve_base_urls.js +1 -1
  376. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +1 -2
  377. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/BaseURL.js +1 -1
  378. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/ContentComponent.js +1 -1
  379. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/ContentProtection.js +1 -1
  380. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/EventStream.js +1 -2
  381. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Initialization.js +1 -1
  382. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +1 -2
  383. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +1 -2
  384. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +1 -2
  385. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentBase.js +1 -1
  386. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentList.js +1 -1
  387. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTemplate.js +1 -1
  388. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTimeline.js +1 -1
  389. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentURL.js +1 -1
  390. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/utils.d.ts.map +1 -1
  391. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/utils.js +13 -13
  392. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/parse_from_xml_string.js +1 -1
  393. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +1 -2
  394. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/BaseURL.js +1 -1
  395. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/ContentComponent.js +1 -1
  396. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/ContentProtection.js +1 -1
  397. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +1 -1
  398. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Initialization.js +1 -1
  399. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.js +1 -2
  400. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.js +1 -2
  401. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.js +1 -2
  402. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentBase.js +1 -1
  403. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentList.js +1 -1
  404. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentTemplate.js +1 -1
  405. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentTimeline.js +1 -1
  406. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentURL.js +1 -1
  407. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/utils.d.ts.map +1 -1
  408. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/utils.js +12 -12
  409. package/dist/commonjs/parsers/manifest/dash/native-parser/parse_from_document.js +1 -1
  410. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -3
  411. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +1 -2
  412. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +1 -2
  413. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +1 -2
  414. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +2 -3
  415. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +2 -3
  416. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -3
  417. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +2 -3
  418. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +1 -2
  419. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +1 -2
  420. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +1 -2
  421. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +1 -2
  422. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +1 -2
  423. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +1 -2
  424. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.js +1 -2
  425. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/utils.js +2 -3
  426. package/dist/commonjs/parsers/manifest/local/parse_local_manifest.js +1 -1
  427. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +1 -1
  428. package/dist/commonjs/parsers/manifest/smooth/get_codecs.js +2 -3
  429. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.js +1 -1
  430. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.js +1 -1
  431. package/dist/commonjs/parsers/manifest/smooth/utils/add_segment_infos.js +1 -1
  432. package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.js +1 -1
  433. package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.js +1 -1
  434. package/dist/commonjs/parsers/manifest/smooth/utils/tokens.js +2 -3
  435. package/dist/commonjs/parsers/manifest/utils/check_manifest_ids.js +1 -1
  436. package/dist/commonjs/parsers/manifest/utils/clear_timeline_from_position.js +1 -1
  437. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.js +1 -1
  438. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.js +1 -1
  439. package/dist/commonjs/parsers/manifest/utils/get_maximum_positions.js +1 -1
  440. package/dist/commonjs/parsers/manifest/utils/get_minimum_position.js +1 -1
  441. package/dist/commonjs/parsers/manifest/utils/index_helpers.js +6 -7
  442. package/dist/commonjs/parsers/manifest/utils/update_segment_timeline.js +1 -1
  443. package/dist/commonjs/parsers/texttracks/srt/find_end_of_cue_block.js +1 -1
  444. package/dist/commonjs/parsers/texttracks/srt/get_cue_blocks.js +1 -1
  445. package/dist/commonjs/parsers/texttracks/srt/html.js +1 -1
  446. package/dist/commonjs/parsers/texttracks/srt/native.js +1 -1
  447. package/dist/commonjs/parsers/texttracks/srt/parse_cue.js +1 -1
  448. package/dist/commonjs/parsers/texttracks/srt/parse_timestamp.js +1 -1
  449. package/dist/commonjs/parsers/texttracks/ttml/get_parameters.js +1 -1
  450. package/dist/commonjs/parsers/texttracks/ttml/get_styling.js +2 -3
  451. package/dist/commonjs/parsers/texttracks/ttml/get_time_delimiters.js +1 -1
  452. package/dist/commonjs/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +2 -3
  453. package/dist/commonjs/parsers/texttracks/ttml/html/apply_extent.js +1 -1
  454. package/dist/commonjs/parsers/texttracks/ttml/html/apply_font_size.js +1 -1
  455. package/dist/commonjs/parsers/texttracks/ttml/html/apply_line_height.js +1 -1
  456. package/dist/commonjs/parsers/texttracks/ttml/html/apply_origin.js +1 -1
  457. package/dist/commonjs/parsers/texttracks/ttml/html/apply_padding.js +1 -1
  458. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.js +1 -1
  459. package/dist/commonjs/parsers/texttracks/ttml/html/generate_css_test_outline.js +1 -1
  460. package/dist/commonjs/parsers/texttracks/ttml/html/parse_cue.js +1 -1
  461. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.js +1 -1
  462. package/dist/commonjs/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +1 -1
  463. package/dist/commonjs/parsers/texttracks/ttml/native/parse_cue.js +1 -1
  464. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +1 -1
  465. package/dist/commonjs/parsers/texttracks/ttml/parse_ttml.js +1 -1
  466. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.js +1 -1
  467. package/dist/commonjs/parsers/texttracks/ttml/xml_utils.js +9 -10
  468. package/dist/commonjs/parsers/texttracks/webvtt/get_cue_blocks.js +1 -1
  469. package/dist/commonjs/parsers/texttracks/webvtt/get_style_blocks.js +1 -1
  470. package/dist/commonjs/parsers/texttracks/webvtt/html/convert_payload_to_html.js +1 -1
  471. package/dist/commonjs/parsers/texttracks/webvtt/html/create_default_style_elements.js +1 -1
  472. package/dist/commonjs/parsers/texttracks/webvtt/html/create_style_attribute.js +1 -1
  473. package/dist/commonjs/parsers/texttracks/webvtt/html/create_styled_element.js +1 -1
  474. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_style_block.js +1 -1
  475. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_to_div.js +1 -1
  476. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.js +1 -1
  477. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +1 -1
  478. package/dist/commonjs/parsers/texttracks/webvtt/native/set_settings_on_cue.js +1 -1
  479. package/dist/commonjs/parsers/texttracks/webvtt/native/to_native_cue.js +1 -1
  480. package/dist/commonjs/parsers/texttracks/webvtt/parse_cue_block.js +1 -1
  481. package/dist/commonjs/parsers/texttracks/webvtt/parse_timestamp.js +1 -1
  482. package/dist/commonjs/parsers/texttracks/webvtt/utils.js +6 -7
  483. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts +2 -1
  484. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  485. package/dist/commonjs/playback_observer/media_element_playback_observer.js +3 -5
  486. package/dist/commonjs/playback_observer/utils/generate_read_only_observer.js +1 -1
  487. package/dist/commonjs/public_types.d.ts +77 -0
  488. package/dist/commonjs/public_types.d.ts.map +1 -1
  489. package/dist/commonjs/tools/TextTrackRenderer/text_track_renderer.d.ts.map +1 -1
  490. package/dist/commonjs/tools/parseBIFThumbnails/index.js +1 -1
  491. package/dist/commonjs/transports/dash/construct_segment_url.js +1 -1
  492. package/dist/commonjs/transports/dash/get_events_out_of_emsgs.js +1 -1
  493. package/dist/commonjs/transports/dash/init_segment_loader.d.ts +2 -2
  494. package/dist/commonjs/transports/dash/init_segment_loader.d.ts.map +1 -1
  495. package/dist/commonjs/transports/dash/init_segment_loader.js +26 -7
  496. package/dist/commonjs/transports/dash/integrity_checks.d.ts +18 -0
  497. package/dist/commonjs/transports/dash/integrity_checks.d.ts.map +1 -0
  498. package/dist/commonjs/transports/dash/integrity_checks.js +209 -0
  499. package/dist/commonjs/transports/dash/{low_latency_segment_loader.d.ts → load_chunked_segment_data.d.ts} +14 -5
  500. package/dist/commonjs/transports/dash/load_chunked_segment_data.d.ts.map +1 -0
  501. package/dist/commonjs/transports/dash/load_chunked_segment_data.js +126 -0
  502. package/dist/commonjs/transports/dash/manifest_parser.js +1 -1
  503. package/dist/commonjs/transports/dash/pipelines.d.ts.map +1 -1
  504. package/dist/commonjs/transports/dash/pipelines.js +4 -2
  505. package/dist/commonjs/transports/dash/segment_loader.d.ts +2 -2
  506. package/dist/commonjs/transports/dash/segment_loader.d.ts.map +1 -1
  507. package/dist/commonjs/transports/dash/segment_loader.js +105 -31
  508. package/dist/commonjs/transports/dash/segment_parser.js +1 -1
  509. package/dist/commonjs/transports/dash/text_loader.d.ts.map +1 -1
  510. package/dist/commonjs/transports/dash/text_loader.js +122 -46
  511. package/dist/commonjs/transports/dash/text_parser.js +1 -1
  512. package/dist/commonjs/transports/local/pipelines.d.ts.map +1 -1
  513. package/dist/commonjs/transports/local/pipelines.js +2 -1
  514. package/dist/commonjs/transports/local/segment_loader.js +1 -1
  515. package/dist/commonjs/transports/local/segment_parser.js +1 -1
  516. package/dist/commonjs/transports/local/text_parser.js +1 -1
  517. package/dist/commonjs/transports/metaplaylist/manifest_loader.d.ts.map +1 -1
  518. package/dist/commonjs/transports/metaplaylist/manifest_loader.js +12 -4
  519. package/dist/commonjs/transports/metaplaylist/pipelines.d.ts.map +1 -1
  520. package/dist/commonjs/transports/metaplaylist/pipelines.js +3 -1
  521. package/dist/commonjs/transports/smooth/extract_timings_infos.js +1 -1
  522. package/dist/commonjs/transports/smooth/is_mp4_embedded_track.js +1 -1
  523. package/dist/commonjs/transports/smooth/isobmff/create_audio_init_segment.js +1 -1
  524. package/dist/commonjs/transports/smooth/isobmff/create_boxes.js +23 -24
  525. package/dist/commonjs/transports/smooth/isobmff/create_init_segment.js +1 -1
  526. package/dist/commonjs/transports/smooth/isobmff/create_traf_box.js +1 -1
  527. package/dist/commonjs/transports/smooth/isobmff/create_video_init_segment.js +1 -1
  528. package/dist/commonjs/transports/smooth/isobmff/get_aaces_header.js +1 -1
  529. package/dist/commonjs/transports/smooth/isobmff/parse_tfrf.js +1 -1
  530. package/dist/commonjs/transports/smooth/isobmff/parse_tfxd.js +1 -1
  531. package/dist/commonjs/transports/smooth/isobmff/patch_segment.js +1 -1
  532. package/dist/commonjs/transports/smooth/pipelines.d.ts.map +1 -1
  533. package/dist/commonjs/transports/smooth/pipelines.js +17 -4
  534. package/dist/commonjs/transports/smooth/segment_loader.d.ts.map +1 -1
  535. package/dist/commonjs/transports/smooth/segment_loader.js +82 -26
  536. package/dist/commonjs/transports/smooth/utils.js +2 -3
  537. package/dist/commonjs/transports/types.d.ts +17 -1
  538. package/dist/commonjs/transports/types.d.ts.map +1 -1
  539. package/dist/commonjs/transports/utils/add_query_string.d.ts +13 -0
  540. package/dist/commonjs/transports/utils/add_query_string.d.ts.map +1 -0
  541. package/dist/commonjs/transports/utils/add_query_string.js +54 -0
  542. package/dist/commonjs/transports/utils/byte_range.js +1 -1
  543. package/dist/commonjs/transports/utils/call_custom_manifest_loader.js +3 -3
  544. package/dist/commonjs/transports/utils/check_isobmff_integrity.js +1 -1
  545. package/dist/commonjs/transports/utils/generate_manifest_loader.d.ts +4 -4
  546. package/dist/commonjs/transports/utils/generate_manifest_loader.d.ts.map +1 -1
  547. package/dist/commonjs/transports/utils/generate_manifest_loader.js +20 -8
  548. package/dist/commonjs/transports/utils/get_isobmff_timing_infos.js +1 -1
  549. package/dist/commonjs/transports/utils/infer_segment_container.js +1 -1
  550. package/dist/commonjs/transports/utils/parse_text_track.js +5 -6
  551. package/dist/commonjs/utils/are_arrays_of_numbers_equal.js +1 -1
  552. package/dist/commonjs/utils/are_codecs_compatible.d.ts +4 -0
  553. package/dist/commonjs/utils/are_codecs_compatible.d.ts.map +1 -1
  554. package/dist/commonjs/utils/are_codecs_compatible.js +18 -8
  555. package/dist/commonjs/utils/array_find.js +1 -1
  556. package/dist/commonjs/utils/array_find_index.js +1 -1
  557. package/dist/commonjs/utils/array_includes.js +1 -1
  558. package/dist/commonjs/utils/assert.js +4 -4
  559. package/dist/commonjs/utils/base64.js +2 -3
  560. package/dist/commonjs/utils/byte_parsing.js +15 -16
  561. package/dist/commonjs/utils/cancellable_sleep.js +1 -1
  562. package/dist/commonjs/utils/create_cancellable_promise.js +1 -1
  563. package/dist/commonjs/utils/create_uuid.d.ts +9 -0
  564. package/dist/commonjs/utils/create_uuid.d.ts.map +1 -0
  565. package/dist/commonjs/utils/create_uuid.js +32 -0
  566. package/dist/commonjs/utils/deep_merge.js +1 -1
  567. package/dist/commonjs/utils/flat_map.js +1 -1
  568. package/dist/commonjs/utils/get_fuzzed_delay.js +1 -1
  569. package/dist/commonjs/utils/hash_buffer.js +1 -1
  570. package/dist/commonjs/utils/id_generator.js +1 -1
  571. package/dist/commonjs/utils/is_non_empty_string.js +1 -1
  572. package/dist/commonjs/utils/is_null_or_undefined.js +1 -1
  573. package/dist/commonjs/utils/languages/normalize.js +2 -3
  574. package/dist/commonjs/utils/logger.d.ts +21 -4
  575. package/dist/commonjs/utils/logger.d.ts.map +1 -1
  576. package/dist/commonjs/utils/logger.js +106 -36
  577. package/dist/commonjs/utils/monotonic_timestamp.js +1 -2
  578. package/dist/commonjs/utils/noop.js +1 -1
  579. package/dist/commonjs/utils/object_values.js +1 -2
  580. package/dist/commonjs/utils/ranges.js +22 -23
  581. package/dist/commonjs/utils/reference.js +1 -2
  582. package/dist/commonjs/utils/request/fetch.d.ts +2 -4
  583. package/dist/commonjs/utils/request/fetch.d.ts.map +1 -1
  584. package/dist/commonjs/utils/request/fetch.js +2 -3
  585. package/dist/commonjs/utils/request/xhr.d.ts +1 -3
  586. package/dist/commonjs/utils/request/xhr.d.ts.map +1 -1
  587. package/dist/commonjs/utils/request/xhr.js +1 -1
  588. package/dist/commonjs/utils/resolve_url.js +2 -3
  589. package/dist/commonjs/utils/retry_promise_with_backoff.js +2 -3
  590. package/dist/commonjs/utils/sleep.js +1 -1
  591. package/dist/commonjs/utils/starts_with.js +1 -1
  592. package/dist/commonjs/utils/string_parsing.js +10 -11
  593. package/dist/commonjs/utils/sync_or_async.d.ts +1 -1
  594. package/dist/commonjs/utils/sync_or_async.d.ts.map +1 -1
  595. package/dist/commonjs/utils/warn_once.js +1 -1
  596. package/dist/commonjs/utils/weak_map_memory.js +1 -1
  597. package/dist/commonjs/utils/wrapInPromise.js +1 -1
  598. package/dist/commonjs/utils/xml-parser.js +5 -6
  599. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  600. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  601. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  602. package/dist/es2017/compat/add_text_track.d.ts +2 -2
  603. package/dist/es2017/compat/add_text_track.d.ts.map +1 -1
  604. package/dist/es2017/compat/browser_compatibility_types.d.ts +196 -13
  605. package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
  606. package/dist/es2017/compat/browser_compatibility_types.js +29 -0
  607. package/dist/es2017/compat/clear_element_src.d.ts +2 -1
  608. package/dist/es2017/compat/clear_element_src.d.ts.map +1 -1
  609. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.d.ts +3 -2
  610. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.d.ts.map +1 -1
  611. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +2 -1
  612. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  613. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.js +1 -2
  614. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +3 -2
  615. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  616. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts +5 -1
  617. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts.map +1 -1
  618. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts +4 -3
  619. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  620. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +2 -3
  621. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  622. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  623. package/dist/es2017/compat/eme/eme-api-implementation.d.ts +4 -3
  624. package/dist/es2017/compat/eme/eme-api-implementation.d.ts.map +1 -1
  625. package/dist/es2017/compat/eme/eme-api-implementation.js +19 -5
  626. package/dist/es2017/compat/eme/get_init_data.d.ts +3 -1
  627. package/dist/es2017/compat/eme/get_init_data.d.ts.map +1 -1
  628. package/dist/es2017/compat/eme/get_init_data.js +2 -2
  629. package/dist/es2017/compat/eme/set_media_keys.d.ts +2 -1
  630. package/dist/es2017/compat/eme/set_media_keys.d.ts.map +1 -1
  631. package/dist/es2017/compat/event_listeners.d.ts +26 -24
  632. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  633. package/dist/es2017/compat/event_listeners.js +2 -14
  634. package/dist/es2017/compat/get_start_date.d.ts +2 -1
  635. package/dist/es2017/compat/get_start_date.d.ts.map +1 -1
  636. package/dist/es2017/config.d.ts +1 -1
  637. package/dist/es2017/core/cmcd/cmcd_data_builder.d.ts +121 -0
  638. package/dist/es2017/core/cmcd/cmcd_data_builder.d.ts.map +1 -0
  639. package/dist/es2017/core/cmcd/cmcd_data_builder.js +313 -0
  640. package/dist/es2017/core/cmcd/index.d.ts +4 -0
  641. package/dist/es2017/core/cmcd/index.d.ts.map +1 -0
  642. package/dist/es2017/core/cmcd/index.js +2 -0
  643. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts +8 -0
  644. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts.map +1 -1
  645. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.js +7 -2
  646. package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts +43 -23
  647. package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts.map +1 -1
  648. package/dist/es2017/core/fetchers/segment/segment_fetcher.js +21 -33
  649. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -3
  650. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts.map +1 -1
  651. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.js +14 -6
  652. package/dist/es2017/core/main/worker/content_preparer.d.ts +7 -0
  653. package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -1
  654. package/dist/es2017/core/main/worker/content_preparer.js +5 -2
  655. package/dist/es2017/core/main/worker/worker_main.d.ts.map +1 -1
  656. package/dist/es2017/core/main/worker/worker_main.js +19 -18
  657. package/dist/es2017/default_config.d.ts +1 -1
  658. package/dist/es2017/default_config.d.ts.map +1 -1
  659. package/dist/es2017/default_config.js +1 -0
  660. package/dist/es2017/experimental/features/local.d.ts.map +1 -1
  661. package/dist/es2017/experimental/features/local.js +0 -2
  662. package/dist/es2017/experimental/features/metaplaylist.d.ts.map +1 -1
  663. package/dist/es2017/experimental/features/metaplaylist.js +0 -2
  664. package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +2 -1
  665. package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts.map +1 -1
  666. package/dist/es2017/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -1
  667. package/dist/es2017/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts.map +1 -1
  668. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts.map +1 -1
  669. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +14 -8
  670. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api/index.d.ts.map +1 -1
  671. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api/index.js +1 -1
  672. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  673. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +1 -0
  674. package/dist/es2017/features/features_object.d.ts.map +1 -1
  675. package/dist/es2017/features/features_object.js +0 -1
  676. package/dist/es2017/features/list/dash.d.ts.map +1 -1
  677. package/dist/es2017/features/list/dash.js +0 -2
  678. package/dist/es2017/features/list/dash_wasm.d.ts.map +1 -1
  679. package/dist/es2017/features/list/dash_wasm.js +0 -2
  680. package/dist/es2017/features/list/smooth.d.ts.map +1 -1
  681. package/dist/es2017/features/list/smooth.js +0 -2
  682. package/dist/es2017/features/types.d.ts +3 -11
  683. package/dist/es2017/features/types.d.ts.map +1 -1
  684. package/dist/es2017/index.js +2 -2
  685. package/dist/es2017/main_thread/api/option_utils.d.ts +9 -2
  686. package/dist/es2017/main_thread/api/option_utils.d.ts.map +1 -1
  687. package/dist/es2017/main_thread/api/option_utils.js +4 -5
  688. package/dist/es2017/main_thread/api/public_api.d.ts +23 -2
  689. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  690. package/dist/es2017/main_thread/api/public_api.js +43 -11
  691. package/dist/es2017/main_thread/api/utils.d.ts +5 -4
  692. package/dist/es2017/main_thread/api/utils.d.ts.map +1 -1
  693. package/dist/es2017/main_thread/decrypt/attach_media_keys.d.ts +3 -2
  694. package/dist/es2017/main_thread/decrypt/attach_media_keys.d.ts.map +1 -1
  695. package/dist/es2017/main_thread/decrypt/clear_on_stop.d.ts +2 -1
  696. package/dist/es2017/main_thread/decrypt/clear_on_stop.d.ts.map +1 -1
  697. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts +26 -1
  698. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  699. package/dist/es2017/main_thread/decrypt/content_decryptor.js +70 -0
  700. package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.d.ts +2 -1
  701. package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.d.ts.map +1 -1
  702. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts +17 -2
  703. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  704. package/dist/es2017/main_thread/decrypt/find_key_system.js +48 -0
  705. package/dist/es2017/main_thread/decrypt/get_key_system_configuration.d.ts +2 -1
  706. package/dist/es2017/main_thread/decrypt/get_key_system_configuration.d.ts.map +1 -1
  707. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts +5 -1
  708. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  709. package/dist/es2017/main_thread/decrypt/get_media_keys.js +3 -1
  710. package/dist/es2017/main_thread/decrypt/init_media_keys.d.ts +2 -1
  711. package/dist/es2017/main_thread/decrypt/init_media_keys.d.ts.map +1 -1
  712. package/dist/es2017/main_thread/decrypt/types.d.ts +1 -0
  713. package/dist/es2017/main_thread/decrypt/types.d.ts.map +1 -1
  714. package/dist/es2017/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts +14 -0
  715. package/dist/es2017/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts.map +1 -0
  716. package/dist/es2017/main_thread/decrypt/utils/is_compatible_codec_supported.js +28 -0
  717. package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.d.ts +4 -3
  718. package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.d.ts.map +1 -1
  719. package/dist/es2017/main_thread/init/directfile_content_initializer.d.ts +6 -1
  720. package/dist/es2017/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
  721. package/dist/es2017/main_thread/init/directfile_content_initializer.js +1 -12
  722. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +62 -4
  723. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  724. package/dist/es2017/main_thread/init/media_source_content_initializer.js +142 -19
  725. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +46 -4
  726. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  727. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +67 -133
  728. package/dist/es2017/main_thread/init/types.d.ts +6 -1
  729. package/dist/es2017/main_thread/init/types.d.ts.map +1 -1
  730. package/dist/es2017/main_thread/init/utils/create_media_source.d.ts +3 -2
  731. package/dist/es2017/main_thread/init/utils/create_media_source.d.ts.map +1 -1
  732. package/dist/es2017/main_thread/init/utils/get_loaded_reference.d.ts +2 -1
  733. package/dist/es2017/main_thread/init/utils/get_loaded_reference.d.ts.map +1 -1
  734. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts +2 -1
  735. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
  736. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.d.ts +17 -6
  737. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.d.ts.map +1 -1
  738. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.js +16 -21
  739. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +2 -1
  740. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts.map +1 -1
  741. package/dist/es2017/main_thread/init/utils/throw_on_media_error.d.ts +2 -1
  742. package/dist/es2017/main_thread/init/utils/throw_on_media_error.d.ts.map +1 -1
  743. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts +33 -0
  744. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -0
  745. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.js +149 -0
  746. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.d.ts +2 -1
  747. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.d.ts.map +1 -1
  748. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts +2 -1
  749. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
  750. package/dist/es2017/main_thread/tracks_store/media_element_tracks_store.d.ts +6 -1
  751. package/dist/es2017/main_thread/tracks_store/media_element_tracks_store.d.ts.map +1 -1
  752. package/dist/es2017/main_thread/tracks_store/track_dispatcher.d.ts +5 -2
  753. package/dist/es2017/main_thread/tracks_store/track_dispatcher.d.ts.map +1 -1
  754. package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +7 -26
  755. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts +49 -25
  756. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  757. package/dist/es2017/main_thread/tracks_store/tracks_store.js +221 -98
  758. package/dist/es2017/manifest/classes/adaptation.d.ts +9 -9
  759. package/dist/es2017/manifest/classes/adaptation.d.ts.map +1 -1
  760. package/dist/es2017/manifest/classes/adaptation.js +50 -24
  761. package/dist/es2017/manifest/classes/codec_support_cache.d.ts +45 -0
  762. package/dist/es2017/manifest/classes/codec_support_cache.d.ts.map +1 -0
  763. package/dist/es2017/manifest/classes/codec_support_cache.js +58 -0
  764. package/dist/es2017/manifest/classes/index.d.ts +2 -2
  765. package/dist/es2017/manifest/classes/index.d.ts.map +1 -1
  766. package/dist/es2017/manifest/classes/manifest.d.ts +28 -6
  767. package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
  768. package/dist/es2017/manifest/classes/manifest.js +45 -7
  769. package/dist/es2017/manifest/classes/period.d.ts +6 -7
  770. package/dist/es2017/manifest/classes/period.d.ts.map +1 -1
  771. package/dist/es2017/manifest/classes/period.js +23 -14
  772. package/dist/es2017/manifest/classes/representation.d.ts +10 -11
  773. package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
  774. package/dist/es2017/manifest/classes/representation.js +56 -60
  775. package/dist/es2017/manifest/index.d.ts +2 -2
  776. package/dist/es2017/manifest/types.d.ts +32 -5
  777. package/dist/es2017/manifest/types.d.ts.map +1 -1
  778. package/dist/es2017/manifest/utils.d.ts +1 -1
  779. package/dist/es2017/manifest/utils.d.ts.map +1 -1
  780. package/dist/es2017/manifest/utils.js +19 -3
  781. package/dist/es2017/minimal.d.ts.map +1 -1
  782. package/dist/es2017/minimal.js +2 -8
  783. package/dist/es2017/mse/index.d.ts +1 -1
  784. package/dist/es2017/mse/index.d.ts.map +1 -1
  785. package/dist/es2017/mse/main_media_source_interface.d.ts +2 -1
  786. package/dist/es2017/mse/main_media_source_interface.d.ts.map +1 -1
  787. package/dist/es2017/mse/main_media_source_interface.js +5 -4
  788. package/dist/es2017/mse/types.d.ts +0 -29
  789. package/dist/es2017/mse/types.d.ts.map +1 -1
  790. package/dist/es2017/mse/utils/end_of_stream.d.ts +3 -2
  791. package/dist/es2017/mse/utils/end_of_stream.d.ts.map +1 -1
  792. package/dist/es2017/mse/utils/media_source_duration_updater.d.ts +2 -1
  793. package/dist/es2017/mse/utils/media_source_duration_updater.d.ts.map +1 -1
  794. package/dist/es2017/multithread_types.d.ts +26 -14
  795. package/dist/es2017/multithread_types.d.ts.map +1 -1
  796. package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts.map +1 -1
  797. package/dist/es2017/parsers/manifest/dash/common/indexes/template.js +1 -1
  798. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts.map +1 -1
  799. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +2 -1
  800. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +6 -2
  801. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts.map +1 -1
  802. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.js +7 -3
  803. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.js +15 -1
  804. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/utils.d.ts.map +1 -1
  805. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/utils.d.ts.map +1 -1
  806. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts +2 -1
  807. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  808. package/dist/es2017/playback_observer/media_element_playback_observer.js +3 -5
  809. package/dist/es2017/public_types.d.ts +77 -0
  810. package/dist/es2017/public_types.d.ts.map +1 -1
  811. package/dist/es2017/tools/TextTrackRenderer/text_track_renderer.d.ts.map +1 -1
  812. package/dist/es2017/transports/dash/init_segment_loader.d.ts +2 -2
  813. package/dist/es2017/transports/dash/init_segment_loader.d.ts.map +1 -1
  814. package/dist/es2017/transports/dash/init_segment_loader.js +14 -6
  815. package/dist/es2017/transports/dash/integrity_checks.d.ts +18 -0
  816. package/dist/es2017/transports/dash/integrity_checks.d.ts.map +1 -0
  817. package/dist/es2017/transports/dash/integrity_checks.js +150 -0
  818. package/dist/es2017/transports/dash/{low_latency_segment_loader.d.ts → load_chunked_segment_data.d.ts} +14 -5
  819. package/dist/es2017/transports/dash/load_chunked_segment_data.d.ts.map +1 -0
  820. package/dist/es2017/transports/dash/{low_latency_segment_loader.js → load_chunked_segment_data.js} +15 -12
  821. package/dist/es2017/transports/dash/pipelines.d.ts.map +1 -1
  822. package/dist/es2017/transports/dash/pipelines.js +3 -1
  823. package/dist/es2017/transports/dash/segment_loader.d.ts +2 -2
  824. package/dist/es2017/transports/dash/segment_loader.d.ts.map +1 -1
  825. package/dist/es2017/transports/dash/segment_loader.js +29 -10
  826. package/dist/es2017/transports/dash/text_loader.d.ts.map +1 -1
  827. package/dist/es2017/transports/dash/text_loader.js +40 -20
  828. package/dist/es2017/transports/local/pipelines.d.ts.map +1 -1
  829. package/dist/es2017/transports/local/pipelines.js +1 -0
  830. package/dist/es2017/transports/metaplaylist/manifest_loader.d.ts.map +1 -1
  831. package/dist/es2017/transports/metaplaylist/manifest_loader.js +11 -3
  832. package/dist/es2017/transports/metaplaylist/pipelines.d.ts.map +1 -1
  833. package/dist/es2017/transports/metaplaylist/pipelines.js +2 -0
  834. package/dist/es2017/transports/smooth/pipelines.d.ts.map +1 -1
  835. package/dist/es2017/transports/smooth/pipelines.js +16 -3
  836. package/dist/es2017/transports/smooth/segment_loader.d.ts.map +1 -1
  837. package/dist/es2017/transports/smooth/segment_loader.js +27 -16
  838. package/dist/es2017/transports/types.d.ts +17 -1
  839. package/dist/es2017/transports/types.d.ts.map +1 -1
  840. package/dist/es2017/transports/utils/add_query_string.d.ts +13 -0
  841. package/dist/es2017/transports/utils/add_query_string.d.ts.map +1 -0
  842. package/dist/es2017/transports/utils/add_query_string.js +51 -0
  843. package/dist/es2017/transports/utils/call_custom_manifest_loader.js +2 -2
  844. package/dist/es2017/transports/utils/generate_manifest_loader.d.ts +4 -4
  845. package/dist/es2017/transports/utils/generate_manifest_loader.d.ts.map +1 -1
  846. package/dist/es2017/transports/utils/generate_manifest_loader.js +19 -7
  847. package/dist/es2017/utils/are_codecs_compatible.d.ts +4 -0
  848. package/dist/es2017/utils/are_codecs_compatible.d.ts.map +1 -1
  849. package/dist/es2017/utils/are_codecs_compatible.js +17 -8
  850. package/dist/es2017/utils/create_uuid.d.ts +9 -0
  851. package/dist/es2017/utils/create_uuid.d.ts.map +1 -0
  852. package/dist/es2017/utils/create_uuid.js +29 -0
  853. package/dist/es2017/utils/logger.d.ts +21 -4
  854. package/dist/es2017/utils/logger.d.ts.map +1 -1
  855. package/dist/es2017/utils/logger.js +73 -13
  856. package/dist/es2017/utils/request/fetch.d.ts +2 -4
  857. package/dist/es2017/utils/request/fetch.d.ts.map +1 -1
  858. package/dist/es2017/utils/request/xhr.d.ts +1 -3
  859. package/dist/es2017/utils/request/xhr.d.ts.map +1 -1
  860. package/dist/es2017/utils/sync_or_async.d.ts +1 -1
  861. package/dist/es2017/utils/sync_or_async.d.ts.map +1 -1
  862. package/dist/es2017/utils/weak_map_memory.js +1 -1
  863. package/dist/mpd-parser.wasm +0 -0
  864. package/dist/rx-player.js +18 -17
  865. package/dist/worker.js +6 -5
  866. package/package.json +31 -35
  867. package/src/README.md +23 -20
  868. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  869. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  870. package/src/compat/__tests__/add_text_track.test.ts +4 -3
  871. package/src/compat/__tests__/change_source_buffer_type.test.ts +4 -3
  872. package/src/compat/add_text_track.ts +2 -2
  873. package/src/compat/browser_compatibility_types.ts +247 -13
  874. package/src/compat/clear_element_src.ts +2 -1
  875. package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +6 -6
  876. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +3 -4
  877. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +4 -5
  878. package/src/compat/eme/custom_media_keys/types.ts +6 -1
  879. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +11 -15
  880. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +2 -3
  881. package/src/compat/eme/eme-api-implementation.ts +40 -9
  882. package/src/compat/eme/get_init_data.ts +5 -3
  883. package/src/compat/eme/set_media_keys.ts +2 -1
  884. package/src/compat/event_listeners.ts +37 -12
  885. package/src/compat/get_start_date.ts +4 -2
  886. package/src/core/README.md +5 -0
  887. package/src/core/cmcd/cmcd_data_builder.ts +597 -0
  888. package/src/core/cmcd/index.ts +7 -0
  889. package/src/core/fetchers/manifest/manifest_fetcher.ts +18 -9
  890. package/src/core/fetchers/segment/segment_fetcher.ts +76 -42
  891. package/src/core/fetchers/segment/segment_fetcher_creator.ts +16 -10
  892. package/src/core/main/README.md +2 -2
  893. package/src/core/main/worker/content_preparer.ts +16 -1
  894. package/src/core/main/worker/worker_main.ts +34 -18
  895. package/src/core/segment_sinks/README.md +1 -1
  896. package/src/core/segment_sinks/inventory/segment_inventory.ts +1 -1
  897. package/src/default_config.ts +1 -0
  898. package/src/experimental/features/__tests__/local.test.ts +0 -3
  899. package/src/experimental/features/__tests__/metaplaylist.test.ts +0 -3
  900. package/src/experimental/features/local.ts +0 -2
  901. package/src/experimental/features/metaplaylist.ts +0 -2
  902. package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +2 -1
  903. package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +2 -1
  904. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +9 -8
  905. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +1 -1
  906. package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +1 -1
  907. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +1 -0
  908. package/src/features/features_object.ts +0 -1
  909. package/src/features/list/__tests__/dash.test.ts +0 -3
  910. package/src/features/list/__tests__/smooth.test.ts +0 -3
  911. package/src/features/list/dash.ts +0 -2
  912. package/src/features/list/dash_wasm.ts +0 -2
  913. package/src/features/list/smooth.ts +0 -2
  914. package/src/features/types.ts +3 -11
  915. package/src/index.ts +2 -2
  916. package/src/main_thread/README.md +1 -1
  917. package/src/main_thread/api/__tests__/option_utils.test.ts +1 -0
  918. package/src/main_thread/api/__tests__/utils.test.ts +12 -11
  919. package/src/main_thread/api/option_utils.ts +12 -3
  920. package/src/main_thread/api/public_api.ts +55 -13
  921. package/src/main_thread/api/utils.ts +5 -4
  922. package/src/main_thread/decrypt/__tests__/__global__/utils.ts +10 -5
  923. package/src/main_thread/decrypt/attach_media_keys.ts +3 -2
  924. package/src/main_thread/decrypt/clear_on_stop.ts +2 -1
  925. package/src/main_thread/decrypt/content_decryptor.ts +98 -5
  926. package/src/main_thread/decrypt/dispose_decryption_resources.ts +2 -1
  927. package/src/main_thread/decrypt/find_key_system.ts +85 -2
  928. package/src/main_thread/decrypt/get_key_system_configuration.ts +2 -1
  929. package/src/main_thread/decrypt/get_media_keys.ts +8 -2
  930. package/src/main_thread/decrypt/init_media_keys.ts +2 -1
  931. package/src/main_thread/decrypt/types.ts +2 -0
  932. package/src/main_thread/decrypt/utils/__tests__/is_compatible_codec_supported.test.ts +38 -0
  933. package/src/main_thread/decrypt/utils/is_compatible_codec_supported.ts +39 -0
  934. package/src/main_thread/decrypt/utils/media_keys_infos_store.ts +5 -7
  935. package/src/main_thread/init/directfile_content_initializer.ts +5 -13
  936. package/src/main_thread/init/media_source_content_initializer.ts +221 -42
  937. package/src/main_thread/init/multi_thread_content_initializer.ts +144 -151
  938. package/src/main_thread/init/types.ts +6 -1
  939. package/src/main_thread/init/utils/create_media_source.ts +4 -3
  940. package/src/main_thread/init/utils/get_loaded_reference.ts +2 -1
  941. package/src/main_thread/init/utils/initial_seek_and_play.ts +2 -1
  942. package/src/main_thread/init/utils/initialize_content_decryption.ts +40 -33
  943. package/src/main_thread/init/utils/stream_events_emitter/stream_events_emitter.ts +3 -2
  944. package/src/main_thread/init/utils/throw_on_media_error.ts +2 -2
  945. package/src/main_thread/init/utils/update_manifest_codec_support.ts +193 -0
  946. package/src/main_thread/text_displayer/html/html_text_displayer.ts +3 -2
  947. package/src/main_thread/text_displayer/native/native_text_displayer.ts +6 -3
  948. package/src/main_thread/tracks_store/media_element_tracks_store.ts +4 -4
  949. package/src/main_thread/tracks_store/track_dispatcher.ts +7 -26
  950. package/src/main_thread/tracks_store/tracks_store.ts +314 -184
  951. package/src/manifest/classes/__tests__/adaptation.test.ts +50 -19
  952. package/src/manifest/classes/__tests__/manifest.test.ts +37 -6
  953. package/src/manifest/classes/__tests__/period.test.ts +212 -99
  954. package/src/manifest/classes/__tests__/representation.test.ts +96 -103
  955. package/src/manifest/classes/__tests__/update_period_in_place.test.ts +20 -20
  956. package/src/manifest/classes/adaptation.ts +61 -28
  957. package/src/manifest/classes/codec_support_cache.ts +82 -0
  958. package/src/manifest/classes/index.ts +2 -2
  959. package/src/manifest/classes/manifest.ts +61 -7
  960. package/src/manifest/classes/period.ts +30 -14
  961. package/src/manifest/classes/representation.ts +73 -70
  962. package/src/manifest/index.ts +2 -2
  963. package/src/manifest/types.ts +33 -5
  964. package/src/manifest/utils.ts +25 -4
  965. package/src/minimal.ts +2 -9
  966. package/src/mse/index.ts +0 -1
  967. package/src/mse/main_media_source_interface.ts +11 -8
  968. package/src/mse/types.ts +1 -30
  969. package/src/mse/utils/end_of_stream.ts +9 -4
  970. package/src/mse/utils/media_source_duration_updater.ts +10 -6
  971. package/src/multithread_types.ts +27 -14
  972. package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +29 -17
  973. package/src/parsers/manifest/dash/common/indexes/template.ts +3 -1
  974. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +3 -1
  975. package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +7 -3
  976. package/src/parsers/manifest/dash/common/parse_mpd.ts +15 -1
  977. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +1 -1
  978. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.ts +6 -2
  979. package/src/playback_observer/media_element_playback_observer.ts +11 -11
  980. package/src/public_types.ts +86 -0
  981. package/src/tools/TextTrackRenderer/text_track_renderer.ts +1 -0
  982. package/src/transports/dash/init_segment_loader.ts +26 -6
  983. package/src/transports/dash/integrity_checks.ts +170 -0
  984. package/src/transports/dash/{low_latency_segment_loader.ts → load_chunked_segment_data.ts} +20 -17
  985. package/src/transports/dash/pipelines.ts +3 -0
  986. package/src/transports/dash/segment_loader.ts +47 -12
  987. package/src/transports/dash/text_loader.ts +50 -21
  988. package/src/transports/local/pipelines.ts +1 -0
  989. package/src/transports/metaplaylist/manifest_loader.ts +14 -3
  990. package/src/transports/metaplaylist/pipelines.ts +2 -0
  991. package/src/transports/smooth/pipelines.ts +19 -3
  992. package/src/transports/smooth/segment_loader.ts +33 -17
  993. package/src/transports/types.ts +19 -0
  994. package/src/transports/utils/__tests__/add_query_string.test.ts +108 -0
  995. package/src/transports/utils/add_query_string.ts +54 -0
  996. package/src/transports/utils/call_custom_manifest_loader.ts +2 -2
  997. package/src/transports/utils/generate_manifest_loader.ts +34 -13
  998. package/src/utils/__tests__/array_find.test.ts +3 -3
  999. package/src/utils/__tests__/array_find_index.test.ts +3 -3
  1000. package/src/utils/__tests__/logger.test.ts +174 -17
  1001. package/src/utils/are_codecs_compatible.ts +19 -11
  1002. package/src/utils/create_uuid.ts +28 -0
  1003. package/src/utils/logger.ts +83 -13
  1004. package/src/utils/request/fetch.ts +3 -3
  1005. package/src/utils/request/xhr.ts +2 -2
  1006. package/src/utils/weak_map_memory.ts +1 -1
  1007. package/dist/commonjs/mse/main_codec_support_prober.d.ts +0 -27
  1008. package/dist/commonjs/mse/main_codec_support_prober.d.ts.map +0 -1
  1009. package/dist/commonjs/mse/main_codec_support_prober.js +0 -44
  1010. package/dist/commonjs/mse/worker_codec_support_prober.d.ts +0 -43
  1011. package/dist/commonjs/mse/worker_codec_support_prober.d.ts.map +0 -1
  1012. package/dist/commonjs/mse/worker_codec_support_prober.js +0 -61
  1013. package/dist/commonjs/transports/dash/add_segment_integrity_checks_to_loader.d.ts +0 -25
  1014. package/dist/commonjs/transports/dash/add_segment_integrity_checks_to_loader.d.ts.map +0 -1
  1015. package/dist/commonjs/transports/dash/add_segment_integrity_checks_to_loader.js +0 -95
  1016. package/dist/commonjs/transports/dash/low_latency_segment_loader.d.ts.map +0 -1
  1017. package/dist/commonjs/transports/dash/low_latency_segment_loader.js +0 -77
  1018. package/dist/es2017/mse/main_codec_support_prober.d.ts +0 -27
  1019. package/dist/es2017/mse/main_codec_support_prober.d.ts.map +0 -1
  1020. package/dist/es2017/mse/main_codec_support_prober.js +0 -41
  1021. package/dist/es2017/mse/worker_codec_support_prober.d.ts +0 -43
  1022. package/dist/es2017/mse/worker_codec_support_prober.d.ts.map +0 -1
  1023. package/dist/es2017/mse/worker_codec_support_prober.js +0 -58
  1024. package/dist/es2017/transports/dash/add_segment_integrity_checks_to_loader.d.ts +0 -25
  1025. package/dist/es2017/transports/dash/add_segment_integrity_checks_to_loader.d.ts.map +0 -1
  1026. package/dist/es2017/transports/dash/add_segment_integrity_checks_to_loader.js +0 -81
  1027. package/dist/es2017/transports/dash/low_latency_segment_loader.d.ts.map +0 -1
  1028. package/src/mse/main_codec_support_prober.ts +0 -52
  1029. package/src/mse/worker_codec_support_prober.ts +0 -75
  1030. package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +0 -97
@@ -1,4 +1,3 @@
1
- import isCodecSupported from "../../compat/is_codec_supported";
2
1
  import mayMediaElementFailOnUndecipherableData from "../../compat/may_media_element_fail_on_undecipherable_data";
3
2
  import shouldReloadMediaSourceOnDecipherabilityUpdate from "../../compat/should_reload_media_source_on_decipherability_update";
4
3
  import { EncryptedMediaError, MediaError, NetworkError, OtherError, SourceBufferError, } from "../../errors";
@@ -25,6 +24,7 @@ import performInitialSeekAndPlay from "./utils/initial_seek_and_play";
25
24
  import RebufferingController from "./utils/rebuffering_controller";
26
25
  import StreamEventsEmitter from "./utils/stream_events_emitter/stream_events_emitter";
27
26
  import listenToMediaError from "./utils/throw_on_media_error";
27
+ import { updateManifestCodecSupport } from "./utils/update_manifest_codec_support";
28
28
  const generateContentId = idGenerator();
29
29
  /**
30
30
  * @class MultiThreadContentInitializer
@@ -62,6 +62,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
62
62
  const initialAudioBitrate = adaptiveOptions.initialBitrates.audio;
63
63
  this._currentContentInfo = {
64
64
  contentId,
65
+ contentDecryptor: null,
65
66
  manifest: null,
66
67
  mainThreadMediaSource: null,
67
68
  rebufferingController: null,
@@ -74,12 +75,13 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
74
75
  type: "prepare" /* MainThreadMessageType.PrepareContent */,
75
76
  value: {
76
77
  contentId,
78
+ cmcd: this._settings.cmcd,
77
79
  url: this._settings.url,
78
80
  hasText: this._hasTextBufferFeature(),
79
81
  transportOptions,
80
82
  initialVideoBitrate,
81
83
  initialAudioBitrate,
82
- manifestRetryOptions: this._settings.manifestRequestSettings,
84
+ manifestRetryOptions: Object.assign(Object.assign({}, this._settings.manifestRequestSettings), { lowLatencyMode: this._settings.lowLatencyMode }),
83
85
  segmentRetryOptions: this._settings.segmentRequestOptions,
84
86
  },
85
87
  });
@@ -152,10 +154,17 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
152
154
  });
153
155
  /** Translate errors coming from the media element into RxPlayer errors. */
154
156
  listenToMediaError(mediaElement, (error) => this._onFatalError(error), this._initCanceller.signal);
155
- /** Send content protection initialization data. */
157
+ /**
158
+ * Send content protection initialization data.
159
+ * TODO remove and use ContentDecryptor directly when possible.
160
+ */
156
161
  const lastContentProtection = new SharedReference(null);
157
162
  const mediaSourceStatus = new SharedReference(0 /* MediaSourceInitializationStatus.Nothing */);
158
- const drmInitializationStatus = this._initializeContentDecryption(mediaElement, lastContentProtection, mediaSourceStatus, () => reloadMediaSource(0, undefined, undefined), this._initCanceller.signal);
163
+ const { statusRef: drmInitializationStatus, contentDecryptor } = this._initializeContentDecryption(mediaElement, lastContentProtection, mediaSourceStatus, () => reloadMediaSource(0, undefined, undefined), this._initCanceller.signal);
164
+ const contentInfo = this._currentContentInfo;
165
+ if (contentInfo !== null) {
166
+ contentInfo.contentDecryptor = contentDecryptor;
167
+ }
159
168
  const playbackStartParams = {
160
169
  mediaElement,
161
170
  textDisplayer,
@@ -186,17 +195,17 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
186
195
  */
187
196
  const reloadMediaSource = (deltaPosition, minimumPosition, maximumPosition) => {
188
197
  var _a;
189
- const contentInfo = this._currentContentInfo;
190
- if (contentInfo === null) {
198
+ const reloadingContentInfo = this._currentContentInfo;
199
+ if (reloadingContentInfo === null) {
191
200
  log.warn("MTCI: Asked to reload when no content is loaded.");
192
201
  return;
193
202
  }
194
203
  const lastObservation = playbackObserver.getReference().getValue();
195
204
  const currentPosition = lastObservation.position.getWanted();
196
- const isPaused = ((_a = contentInfo.initialPlayPerformed) === null || _a === void 0 ? void 0 : _a.getValue()) === true ||
197
- contentInfo.autoPlay === undefined
205
+ const isPaused = ((_a = reloadingContentInfo.initialPlayPerformed) === null || _a === void 0 ? void 0 : _a.getValue()) === true ||
206
+ reloadingContentInfo.autoPlay === undefined
198
207
  ? lastObservation.paused
199
- : !contentInfo.autoPlay;
208
+ : !reloadingContentInfo.autoPlay;
200
209
  let position = currentPosition + deltaPosition;
201
210
  if (minimumPosition !== undefined) {
202
211
  position = Math.max(minimumPosition, position);
@@ -499,19 +508,8 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
499
508
  return;
500
509
  }
501
510
  const manifest = msgData.value.manifest;
502
- try {
503
- const codecUpdate = updateManifestCodecSupport(manifest);
504
- if (codecUpdate.length > 0) {
505
- sendMessage(this._settings.worker, {
506
- type: "codec-support-update" /* MainThreadMessageType.CodecSupportUpdate */,
507
- value: codecUpdate,
508
- });
509
- }
510
- }
511
- catch (err) {
512
- this._onFatalError(err);
513
- }
514
511
  this._currentContentInfo.manifest = manifest;
512
+ this._updateCodecSupport(manifest);
515
513
  this._startPlaybackIfReady(playbackStartParams);
516
514
  break;
517
515
  }
@@ -526,19 +524,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
526
524
  }
527
525
  replicateUpdatesOnManifestMetadata(manifest, msgData.value.manifest, msgData.value.updates);
528
526
  (_11 = (_10 = this._currentContentInfo) === null || _10 === void 0 ? void 0 : _10.streamEventsEmitter) === null || _11 === void 0 ? void 0 : _11.onManifestUpdate(manifest);
529
- // TODO only on added `Representation`?
530
- try {
531
- const codecUpdate = updateManifestCodecSupport(manifest);
532
- if (codecUpdate.length > 0) {
533
- sendMessage(this._settings.worker, {
534
- type: "codec-support-update" /* MainThreadMessageType.CodecSupportUpdate */,
535
- value: codecUpdate,
536
- });
537
- }
538
- }
539
- catch (err) {
540
- this._onFatalError(err);
541
- }
527
+ this._updateCodecSupport(manifest);
542
528
  this.trigger("manifestUpdate", msgData.value.updates);
543
529
  break;
544
530
  case "update-playback-rate" /* WorkerMessageType.UpdatePlaybackRate */:
@@ -866,11 +852,15 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
866
852
  this._onFatalError(err);
867
853
  }, { clearSignal: cancelSignal });
868
854
  const ref = new SharedReference({
869
- initializationState: { type: "initialized", value: null },
855
+ initializationState: {
856
+ type: "initialized",
857
+ value: null,
858
+ },
859
+ contentDecryptor: null,
870
860
  drmSystemId: undefined,
871
861
  });
872
862
  ref.finish(); // We know that no new value will be triggered
873
- return ref;
863
+ return { statusRef: ref, contentDecryptor: null };
874
864
  };
875
865
  if (keySystems.length === 0) {
876
866
  return createEmeDisabledReference("No `keySystems` option given.");
@@ -878,16 +868,28 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
878
868
  else if (features.decrypt === null) {
879
869
  return createEmeDisabledReference("EME feature not activated.");
880
870
  }
881
- const drmStatusRef = new SharedReference({
882
- initializationState: { type: "uninitialized", value: null },
883
- drmSystemId: undefined,
884
- }, cancelSignal);
885
871
  const ContentDecryptor = features.decrypt;
886
872
  if (!ContentDecryptor.hasEmeApis()) {
887
873
  return createEmeDisabledReference("EME API not available on the current page.");
888
874
  }
889
875
  log.debug("MTCI: Creating ContentDecryptor");
890
876
  const contentDecryptor = new ContentDecryptor(mediaElement, keySystems);
877
+ const drmStatusRef = new SharedReference({
878
+ initializationState: { type: "uninitialized", value: null },
879
+ drmSystemId: undefined,
880
+ }, cancelSignal);
881
+ const updateCodecSupportOnStateChange = (state) => {
882
+ var _a;
883
+ if (state > ContentDecryptorState.Initializing) {
884
+ const manifest = (_a = this._currentContentInfo) === null || _a === void 0 ? void 0 : _a.manifest;
885
+ if (isNullOrUndefined(manifest)) {
886
+ return;
887
+ }
888
+ this._updateCodecSupport(manifest);
889
+ contentDecryptor.removeEventListener("stateChange", updateCodecSupportOnStateChange);
890
+ }
891
+ };
892
+ contentDecryptor.addEventListener("stateChange", updateCodecSupportOnStateChange);
891
893
  contentDecryptor.addEventListener("keyIdsCompatibilityUpdate", (updates) => {
892
894
  if (this._currentContentInfo === null ||
893
895
  this._currentContentInfo.manifest === null) {
@@ -969,7 +971,31 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
969
971
  cancelSignal.register(() => {
970
972
  contentDecryptor.dispose();
971
973
  });
972
- return drmStatusRef;
974
+ return { statusRef: drmStatusRef, contentDecryptor };
975
+ }
976
+ /**
977
+ * Retrieves all unknown codecs from the current manifest, checks these unknown codecs
978
+ * to determine if they are supported, updates the manifest with the support
979
+ * status of these codecs, and forwards the list of supported codecs to the web worker.
980
+ * @param manifest
981
+ */
982
+ _updateCodecSupport(manifest) {
983
+ var _a, _b;
984
+ try {
985
+ const updatedCodecs = updateManifestCodecSupport(manifest, (_b = (_a = this._currentContentInfo) === null || _a === void 0 ? void 0 : _a.contentDecryptor) !== null && _b !== void 0 ? _b : null);
986
+ if (updatedCodecs.length > 0) {
987
+ sendMessage(this._settings.worker, {
988
+ type: "codec-support-update" /* MainThreadMessageType.CodecSupportUpdate */,
989
+ value: updatedCodecs,
990
+ });
991
+ // TODO what if one day the worker updates codec support by itself?
992
+ // We wouldn't know...
993
+ this.trigger("codecSupportUpdate", null);
994
+ }
995
+ }
996
+ catch (err) {
997
+ this._onFatalError(err);
998
+ }
973
999
  }
974
1000
  _hasTextBufferFeature() {
975
1001
  return ((this._settings.textTrackOptions.textTrackMode === "html" &&
@@ -1324,98 +1350,6 @@ function formatWorkerError(sentError) {
1324
1350
  return new OtherError(sentError.code, sentError.reason);
1325
1351
  }
1326
1352
  }
1327
- /**
1328
- * Ensure that all `Representation` and `Adaptation` have a known status
1329
- * for their codec support and probe it for cases where that's not the
1330
- * case.
1331
- *
1332
- * Because probing for codec support is always synchronous in the main thread,
1333
- * calling this function ensures that support is now known.
1334
- *
1335
- * @param {Object} manifest
1336
- */
1337
- function updateManifestCodecSupport(manifest) {
1338
- const codecSupportList = [];
1339
- const codecSupportMap = new Map();
1340
- manifest.periods.forEach((p) => {
1341
- var _a, _b, _c;
1342
- [
1343
- ...((_a = p.adaptations.audio) !== null && _a !== void 0 ? _a : []),
1344
- ...((_b = p.adaptations.video) !== null && _b !== void 0 ? _b : []),
1345
- ...((_c = p.adaptations.text) !== null && _c !== void 0 ? _c : []),
1346
- ].forEach((a) => {
1347
- let hasSupportedCodecs = false;
1348
- a.representations.forEach((r) => {
1349
- var _a, _b;
1350
- if (r.isSupported !== undefined) {
1351
- if (!hasSupportedCodecs && r.isSupported) {
1352
- hasSupportedCodecs = true;
1353
- }
1354
- return;
1355
- }
1356
- let isSupported = false;
1357
- const mimeType = (_a = r.mimeType) !== null && _a !== void 0 ? _a : "";
1358
- let codecs = (_b = r.codecs) !== null && _b !== void 0 ? _b : [];
1359
- if (codecs.length === 0) {
1360
- codecs = [""];
1361
- }
1362
- for (const codec of codecs) {
1363
- isSupported = checkCodecSupport(mimeType, codec);
1364
- if (isSupported) {
1365
- r.codecs = [codec];
1366
- break;
1367
- }
1368
- }
1369
- r.isSupported = isSupported;
1370
- if (r.isSupported) {
1371
- hasSupportedCodecs = true;
1372
- }
1373
- if (!hasSupportedCodecs) {
1374
- if (a.isSupported !== false) {
1375
- a.isSupported = false;
1376
- }
1377
- }
1378
- else {
1379
- a.isSupported = true;
1380
- }
1381
- });
1382
- });
1383
- ["audio", "video"].forEach((ttype) => {
1384
- const forType = p.adaptations[ttype];
1385
- if (forType !== undefined && forType.every((a) => a.isSupported === false)) {
1386
- throw new MediaError("MANIFEST_INCOMPATIBLE_CODECS_ERROR", "No supported " + ttype + " adaptations", { tracks: undefined });
1387
- }
1388
- });
1389
- });
1390
- return codecSupportList;
1391
- function checkCodecSupport(mimeType, codec) {
1392
- var _a;
1393
- const knownSupport = (_a = codecSupportMap.get(mimeType)) === null || _a === void 0 ? void 0 : _a.get(codec);
1394
- let isSupported;
1395
- if (knownSupport !== undefined) {
1396
- isSupported = knownSupport;
1397
- }
1398
- else {
1399
- const mimeTypeStr = `${mimeType};codecs="${codec}"`;
1400
- isSupported = isCodecSupported(mimeTypeStr);
1401
- codecSupportList.push({
1402
- mimeType,
1403
- codec,
1404
- result: isSupported,
1405
- });
1406
- const prevCodecMap = codecSupportMap.get(mimeType);
1407
- if (prevCodecMap !== undefined) {
1408
- prevCodecMap.set(codec, isSupported);
1409
- }
1410
- else {
1411
- const codecMap = new Map();
1412
- codecMap.set(codec, isSupported);
1413
- codecSupportMap.set(mimeType, codecMap);
1414
- }
1415
- }
1416
- return isSupported;
1417
- }
1418
- }
1419
1353
  function formatSourceBufferError(error) {
1420
1354
  if (error instanceof SourceBufferError) {
1421
1355
  return error;
@@ -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 { IMediaElement } from "../../compat/browser_compatibility_types";
16
17
  import type { ISegmentSinkMetrics } from "../../core/segment_sinks/segment_buffers_store";
17
18
  import type { IBufferType, IAdaptationChoice, IInbandEvent } from "../../core/types";
18
19
  import type { IPeriodsUpdateResult, IAdaptationMetadata, IManifestMetadata, IPeriodMetadata, IRepresentationMetadata, IDecipherabilityStatusChangedElement } from "../../manifest";
@@ -65,7 +66,7 @@ export declare abstract class ContentInitializer extends EventEmitter<IContentIn
65
66
  * information on what's playing on the `HTMLMediaElement` at regular
66
67
  * intervals.
67
68
  */
68
- abstract start(mediaElement: HTMLMediaElement, playbackObserver: IMediaElementPlaybackObserver): void;
69
+ abstract start(mediaElement: IMediaElement, playbackObserver: IMediaElementPlaybackObserver): void;
69
70
  /**
70
71
  * Update URL of the content currently being played (e.g. DASH's MPD).
71
72
  * @param {Array.<string>|undefined} urls - URLs to reach that content /
@@ -91,6 +92,10 @@ export interface IContentInitializerEvents {
91
92
  manifestReady: IManifestMetadata;
92
93
  /** Event sent after the Manifest has been updated. */
93
94
  manifestUpdate: IPeriodsUpdateResult;
95
+ /**
96
+ * The codecs support for some tracks may have changed.
97
+ */
98
+ codecSupportUpdate: null;
94
99
  /**
95
100
  * Event sent after the decipherability status of at least one Representation
96
101
  * in the Manifest has been updated.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/types.ts"],"names":[],"mappings":"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"}
@@ -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 { IMediaElement } from "../../../compat/browser_compatibility_types";
16
17
  import MainMediaSourceInterface from "../../../mse/main_media_source_interface";
17
18
  import type { CancellationSignal } from "../../../utils/task_canceller";
18
19
  /**
@@ -23,7 +24,7 @@ import type { CancellationSignal } from "../../../utils/task_canceller";
23
24
  * @param {HTMLMediaElement} mediaElement
24
25
  * @param {string|null} mediaSourceURL
25
26
  */
26
- export declare function resetMediaElement(mediaElement: HTMLMediaElement, mediaSourceURL: string | null): void;
27
+ export declare function resetMediaElement(mediaElement: IMediaElement, mediaSourceURL: string | null): void;
27
28
  /**
28
29
  * Create and open a new MediaSource object on the given media element.
29
30
  * Resolves with the MediaSource when done.
@@ -34,5 +35,5 @@ export declare function resetMediaElement(mediaElement: HTMLMediaElement, mediaS
34
35
  * @param {Object} unlinkSignal
35
36
  * @returns {Promise}
36
37
  */
37
- export default function openMediaSource(mediaElement: HTMLMediaElement, unlinkSignal: CancellationSignal): Promise<MainMediaSourceInterface>;
38
+ export default function openMediaSource(mediaElement: IMediaElement, unlinkSignal: CancellationSignal): Promise<MainMediaSourceInterface>;
38
39
  //# sourceMappingURL=create_media_source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create_media_source.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/create_media_source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,wBAAwB,MAAM,0CAA0C,CAAC;AAIhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,gBAAgB,EAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B,IAAI,CAiBN;AA6BD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CA0BnC"}
1
+ {"version":3,"file":"create_media_source.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/create_media_source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAGjF,OAAO,wBAAwB,MAAM,0CAA0C,CAAC;AAIhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B,IAAI,CAiBN;AA6BD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CA0BnC"}
@@ -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 { IMediaElement } from "../../../compat/browser_compatibility_types";
16
17
  import type { IPlaybackObservation, IReadOnlyPlaybackObserver } from "../../../playback_observer";
17
18
  import type { IReadOnlySharedReference } from "../../../utils/reference";
18
19
  import type { CancellationSignal } from "../../../utils/task_canceller";
@@ -25,5 +26,5 @@ import type { CancellationSignal } from "../../../utils/task_canceller";
25
26
  * @param {Object} cancelSignal
26
27
  * @returns {Object}
27
28
  */
28
- export default function getLoadedReference(playbackObserver: IReadOnlyPlaybackObserver<IPlaybackObservation>, mediaElement: HTMLMediaElement, isDirectfile: boolean, cancelSignal: CancellationSignal): IReadOnlySharedReference<boolean>;
29
+ export default function getLoadedReference(playbackObserver: IReadOnlyPlaybackObserver<IPlaybackObservation>, mediaElement: IMediaElement, isDirectfile: boolean, cancelSignal: CancellationSignal): IReadOnlySharedReference<boolean>;
29
30
  //# sourceMappingURL=get_loaded_reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get_loaded_reference.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/get_loaded_reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,gBAAgB,EAAE,yBAAyB,CAAC,oBAAoB,CAAC,EACjE,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,kBAAkB,GAC/B,wBAAwB,CAAC,OAAO,CAAC,CA0CnC"}
1
+ {"version":3,"file":"get_loaded_reference.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/get_loaded_reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAIjF,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,gBAAgB,EAAE,yBAAyB,CAAC,oBAAoB,CAAC,EACjE,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,kBAAkB,GAC/B,wBAAwB,CAAC,OAAO,CAAC,CA0CnC"}
@@ -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 { IMediaElement } from "../../../compat/browser_compatibility_types";
16
17
  import type { IMediaElementPlaybackObserver } from "../../../playback_observer";
17
18
  import type { IPlayerError } from "../../../public_types";
18
19
  import type { IReadOnlySharedReference } from "../../../utils/reference";
@@ -52,7 +53,7 @@ export interface IInitialSeekAndPlayObject {
52
53
  * @returns {Object}
53
54
  */
54
55
  export default function performInitialSeekAndPlay({ mediaElement, playbackObserver, startTime, mustAutoPlay, isDirectfile, onWarning, }: {
55
- mediaElement: HTMLMediaElement;
56
+ mediaElement: IMediaElement;
56
57
  playbackObserver: IMediaElementPlaybackObserver;
57
58
  startTime: number | (() => number);
58
59
  mustAutoPlay: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"initial_seek_and_play.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/initial_seek_and_play.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB;AAC3B,0EAA0E;AACxE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB;;;GAGG;GACD;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE;AAC9B,sCAAsC;GACpC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB,+CAA+C;AAC/C,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE3C;;;OAGG;IACH,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,EACE,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,EAAE;IACD,YAAY,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACxC,EACD,YAAY,EAAE,kBAAkB,GAC/B,yBAAyB,CAgN3B"}
1
+ {"version":3,"file":"initial_seek_and_play.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/initial_seek_and_play.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAKjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB;AAC3B,0EAA0E;AACxE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB;;;GAGG;GACD;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE;AAC9B,sCAAsC;GACpC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB,+CAA+C;AAC/C,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE3C;;;OAGG;IACH,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,EACE,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,EAAE;IACD,YAAY,EAAE,aAAa,CAAC;IAC5B,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACxC,EACD,YAAY,EAAE,kBAAkB,GAC/B,yBAAyB,CAgN3B"}
@@ -1,8 +1,11 @@
1
+ import type { IMediaElement } from "../../../compat/browser_compatibility_types";
2
+ import { EncryptedMediaError } from "../../../errors";
1
3
  import type { IKeySystemOption, IPlayerError } from "../../../public_types";
2
4
  import type { IReadOnlySharedReference } from "../../../utils/reference";
3
5
  import SharedReference from "../../../utils/reference";
4
6
  import type { CancellationSignal } from "../../../utils/task_canceller";
5
- import type { IContentProtection, IProcessedProtectionData } from "../../decrypt";
7
+ import type IContentDecryptor from "../../decrypt";
8
+ import type { IProcessedProtectionData } from "../../decrypt";
6
9
  /**
7
10
  * Initialize content decryption capabilities on the given `HTMLMediaElement`.
8
11
  *
@@ -16,17 +19,15 @@ import type { IContentProtection, IProcessedProtectionData } from "../../decrypt
16
19
  * decryption may be wanted.
17
20
  * @param {Array.<Object>} keySystems - Key system configuration(s) wanted
18
21
  * Empty array if no content decryption capability is wanted.
19
- * @param {Object} protectionRef - Reference through which content
20
22
  * protection initialization data will be sent through.
21
23
  * @param {Object} callbacks - Callbacks called at various decryption-related
22
24
  * events.
23
25
  * @param {Object} cancelSignal - When that signal emits, this function will
24
- * stop listening to various events as well as items sent through the
25
- * `protectionRef` parameter.
26
+ * stop listening to various events.
26
27
  * @returns {Object} - Reference emitting the current status regarding DRM
27
28
  * initialization.
28
29
  */
29
- export default function initializeContentDecryption(mediaElement: HTMLMediaElement, keySystems: IKeySystemOption[], protectionRef: IReadOnlySharedReference<null | IContentProtection>, callbacks: {
30
+ export default function initializeContentDecryption(mediaElement: IMediaElement, keySystems: IKeySystemOption[], callbacks: {
30
31
  onWarning: (err: IPlayerError) => void;
31
32
  onError: (err: Error) => void;
32
33
  onBlackListProtectionData: (val: IProcessedProtectionData) => void;
@@ -35,7 +36,17 @@ export default function initializeContentDecryption(mediaElement: HTMLMediaEleme
35
36
  blacklistedKeyIds: Uint8Array[];
36
37
  delistedKeyIds: Uint8Array[];
37
38
  }) => void;
38
- }, cancelSignal: CancellationSignal): IReadOnlySharedReference<IDrmInitializationStatus>;
39
+ onCodecSupportUpdate?: () => void;
40
+ }, cancelSignal: CancellationSignal): {
41
+ statusRef: IReadOnlySharedReference<IDrmInitializationStatus>;
42
+ contentDecryptor: {
43
+ enabled: true;
44
+ value: IContentDecryptor;
45
+ } | {
46
+ enabled: false;
47
+ value: EncryptedMediaError;
48
+ };
49
+ };
39
50
  /** Status of content decryption initialization. */
40
51
  interface IDrmInitializationStatus {
41
52
  /** Current initialization state the decryption logic is in. */
@@ -1 +1 @@
1
- {"version":3,"file":"initialize_content_decryption.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/initialize_content_decryption.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,2BAA2B,CACjD,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,aAAa,EAAE,wBAAwB,CAAC,IAAI,GAAG,kBAAkB,CAAC,EAClE,SAAS,EAAE;IACT,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,yBAAyB,EAAE,CAAC,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACnE,2BAA2B,EAAE,CAAC,OAAO,EAAE;QACrC,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAChC,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAChC,cAAc,EAAE,UAAU,EAAE,CAAC;KAC9B,KAAK,IAAI,CAAC;CACZ,EACD,YAAY,EAAE,kBAAkB,GAC/B,wBAAwB,CAAC,wBAAwB,CAAC,CA6GpD;AAED,mDAAmD;AACnD,UAAU,wBAAwB;IAChC,+DAA+D;IAC/D,mBAAmB,EAAE,8BAA8B,CAAC;IACpD;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,oFAAoF;AACpF,KAAK,8BAA8B;AACjC;;;;GAIG;AACD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE;AACxC;;;;;;;;;;;GAWG;GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE;QAAE,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CACpD;AACH;;;GAGG;GACD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"initialize_content_decryption.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/initialize_content_decryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,UAAU,2BAA2B,CACjD,YAAY,EAAE,aAAa,EAC3B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,SAAS,EAAE;IACT,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,yBAAyB,EAAE,CAAC,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACnE,2BAA2B,EAAE,CAAC,OAAO,EAAE;QACrC,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAChC,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAChC,cAAc,EAAE,UAAU,EAAE,CAAC;KAC9B,KAAK,IAAI,CAAC;IACX,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC,EACD,YAAY,EAAE,kBAAkB,GAC/B;IACD,SAAS,EAAE,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;IAC9D,gBAAgB,EACZ;QACE,OAAO,EAAE,IAAI,CAAC;QACd,KAAK,EAAE,iBAAiB,CAAC;KAC1B,GACD;QACE,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,mBAAmB,CAAC;KAC5B,CAAC;CACP,CAyGA;AAED,mDAAmD;AACnD,UAAU,wBAAwB;IAChC,+DAA+D;IAC/D,mBAAmB,EAAE,8BAA8B,CAAC;IACpD;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,oFAAoF;AACpF,KAAK,8BAA8B;AACjC;;;;GAIG;AACD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE;AACxC;;;;;;;;;;;GAWG;GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE;QAAE,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CACpD;AACH;;;GAGG;GACD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC"}
@@ -17,17 +17,15 @@ import { ContentDecryptorState } from "../../decrypt";
17
17
  * decryption may be wanted.
18
18
  * @param {Array.<Object>} keySystems - Key system configuration(s) wanted
19
19
  * Empty array if no content decryption capability is wanted.
20
- * @param {Object} protectionRef - Reference through which content
21
20
  * protection initialization data will be sent through.
22
21
  * @param {Object} callbacks - Callbacks called at various decryption-related
23
22
  * events.
24
23
  * @param {Object} cancelSignal - When that signal emits, this function will
25
- * stop listening to various events as well as items sent through the
26
- * `protectionRef` parameter.
24
+ * stop listening to various events.
27
25
  * @returns {Object} - Reference emitting the current status regarding DRM
28
26
  * initialization.
29
27
  */
30
- export default function initializeContentDecryption(mediaElement, keySystems, protectionRef, callbacks, cancelSignal) {
28
+ export default function initializeContentDecryption(mediaElement, keySystems, callbacks, cancelSignal) {
31
29
  if (keySystems.length === 0) {
32
30
  return createEmeDisabledReference("No `keySystems` option given.");
33
31
  }
@@ -46,6 +44,14 @@ export default function initializeContentDecryption(mediaElement, keySystems, pr
46
44
  }
47
45
  log.debug("Init: Creating ContentDecryptor");
48
46
  const contentDecryptor = new ContentDecryptor(mediaElement, keySystems);
47
+ const onStateChange = (state) => {
48
+ var _a;
49
+ if (state > ContentDecryptorState.Initializing) {
50
+ (_a = callbacks.onCodecSupportUpdate) === null || _a === void 0 ? void 0 : _a.call(callbacks);
51
+ contentDecryptor.removeEventListener("stateChange", onStateChange);
52
+ }
53
+ };
54
+ contentDecryptor.addEventListener("stateChange", onStateChange);
49
55
  contentDecryptor.addEventListener("stateChange", (state) => {
50
56
  if (state === ContentDecryptorState.WaitingForAttachment) {
51
57
  const isMediaLinked = new SharedReference(false);
@@ -86,31 +92,20 @@ export default function initializeContentDecryption(mediaElement, keySystems, pr
86
92
  contentDecryptor.addEventListener("keyIdsCompatibilityUpdate", (x) => {
87
93
  callbacks.onKeyIdsCompatibilityUpdate(x);
88
94
  });
89
- protectionRef.onUpdate((data) => {
90
- if (data === null) {
91
- return;
92
- }
93
- contentDecryptor.onInitializationData(data);
94
- }, { clearSignal: decryptorCanceller.signal });
95
95
  decryptorCanceller.signal.register(() => {
96
96
  contentDecryptor.dispose();
97
97
  });
98
- return drmStatusRef;
98
+ return {
99
+ statusRef: drmStatusRef,
100
+ contentDecryptor: { enabled: true, value: contentDecryptor },
101
+ };
99
102
  function createEmeDisabledReference(errMsg) {
100
- protectionRef.onUpdate((data, stopListening) => {
101
- if (data === null) {
102
- // initial value
103
- return;
104
- }
105
- stopListening();
106
- const err = new EncryptedMediaError("MEDIA_IS_ENCRYPTED_ERROR", errMsg);
107
- callbacks.onError(err);
108
- }, { clearSignal: cancelSignal });
103
+ const err = new EncryptedMediaError("MEDIA_IS_ENCRYPTED_ERROR", errMsg);
109
104
  const ref = new SharedReference({
110
105
  initializationState: { type: "initialized", value: null },
111
106
  drmSystemId: undefined,
112
107
  });
113
108
  ref.finish(); // We know that no new value will be triggered
114
- return ref;
109
+ return { statusRef: ref, contentDecryptor: { enabled: false, value: err } };
115
110
  }
116
111
  }
@@ -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 { IMediaElement } from "../../../../compat/browser_compatibility_types";
16
17
  import type { IManifestMetadata } from "../../../../manifest";
17
18
  import type { IPlaybackObservation, IReadOnlyPlaybackObserver } from "../../../../playback_observer";
18
19
  import EventEmitter from "../../../../utils/event_emitter";
@@ -36,7 +37,7 @@ export default class StreamEventsEmitter extends EventEmitter<IStreamEventsEmitt
36
37
  * @param {HTMLMediaElement} mediaElement
37
38
  * @param {Object} playbackObserver
38
39
  */
39
- constructor(manifest: IManifestMetadata, mediaElement: HTMLMediaElement, playbackObserver: IReadOnlyPlaybackObserver<IPlaybackObservation>);
40
+ constructor(manifest: IManifestMetadata, mediaElement: IMediaElement, playbackObserver: IReadOnlyPlaybackObserver<IPlaybackObservation>);
40
41
  start(): void;
41
42
  onManifestUpdate(man: IManifestMetadata): void;
42
43
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"stream_events_emitter.d.ts","sourceRoot":"","sources":["../../../../../../src/main_thread/init/utils/stream_events_emitter/stream_events_emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAK3D,OAAO,KAAK,EAEV,2BAA2B,EAC3B,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAEjB,UAAU,yBAAyB;IACjC,KAAK,EAAE,kBAAkB,GAAG,2BAA2B,CAAC;IACxD,SAAS,EAAE,kBAAkB,GAAG,2BAA2B,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IACtF,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,iBAAiB,CAAkD;IAC3E,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,kBAAkB,CAGxB;IACF,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;OAIG;gBAED,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,yBAAyB,CAAC,oBAAoB,CAAC;IAgB5D,KAAK,IAAI,IAAI;IAmEb,gBAAgB,CAAC,GAAG,EAAE,iBAAiB;IAKvC,IAAI,IAAI,IAAI;IAOnB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAiE1B"}
1
+ {"version":3,"file":"stream_events_emitter.d.ts","sourceRoot":"","sources":["../../../../../../src/main_thread/init/utils/stream_events_emitter/stream_events_emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAK3D,OAAO,KAAK,EAEV,2BAA2B,EAC3B,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAEjB,UAAU,yBAAyB;IACjC,KAAK,EAAE,kBAAkB,GAAG,2BAA2B,CAAC;IACxD,SAAS,EAAE,kBAAkB,GAAG,2BAA2B,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IACtF,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAkD;IAC3E,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,kBAAkB,CAGxB;IACF,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;OAIG;gBAED,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,yBAAyB,CAAC,oBAAoB,CAAC;IAgB5D,KAAK,IAAI,IAAI;IAmEb,gBAAgB,CAAC,GAAG,EAAE,iBAAiB;IAKvC,IAAI,IAAI,IAAI;IAOnB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAiE1B"}
@@ -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 { IMediaElement } from "../../../compat/browser_compatibility_types";
16
17
  import { MediaError } from "../../../errors";
17
18
  import type { CancellationSignal } from "../../../utils/task_canceller";
18
19
  /**
@@ -20,5 +21,5 @@ import type { CancellationSignal } from "../../../utils/task_canceller";
20
21
  * @param {Function} onError
21
22
  * @param {Object} cancelSignal
22
23
  */
23
- export default function listenToMediaError(mediaElement: HTMLMediaElement, onError: (error: MediaError) => void, cancelSignal: CancellationSignal): void;
24
+ export default function listenToMediaError(mediaElement: IMediaElement, onError: (error: MediaError) => void, cancelSignal: CancellationSignal): void;
24
25
  //# sourceMappingURL=throw_on_media_error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"throw_on_media_error.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/throw_on_media_error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,YAAY,EAAE,gBAAgB,EAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,YAAY,EAAE,kBAAkB,GAC/B,IAAI,CA8CN"}
1
+ {"version":3,"file":"throw_on_media_error.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/throw_on_media_error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,YAAY,EAAE,kBAAkB,GAC/B,IAAI,CA6CN"}
@@ -0,0 +1,33 @@
1
+ import type { IManifestMetadata } from "../../../manifest";
2
+ import type Manifest from "../../../manifest/classes";
3
+ import type { ICodecSupportInfo } from "../../../multithread_types";
4
+ import type ContentDecryptor from "../../decrypt";
5
+ /**
6
+ * Returns a list of all codecs that the support is not known yet on the given
7
+ * Manifest.
8
+ * If a representation with (`isSupported`) is undefined, we consider the
9
+ * codec support as unknown.
10
+ *
11
+ * This function iterates through all periods, adaptations, and representations,
12
+ * and collects unknown codecs.
13
+ *
14
+ * @returns {Array} The list of codecs with unknown support status.
15
+ */
16
+ export declare function getCodecsWithUnknownSupport(manifest: Manifest): Array<{
17
+ mimeType: string;
18
+ codec: string;
19
+ }>;
20
+ /**
21
+ * Ensure that all `Representation` and `Adaptation` have a known status
22
+ * for their codec support and probe it for cases where that's not the
23
+ * case.
24
+ *
25
+ * Because probing for codec support is always synchronous in the main thread,
26
+ * calling this function ensures that support is now known.
27
+ *
28
+ * @param {Object} manifest
29
+ * @param {Object|null} contentDecryptor
30
+ * @returns {boolean}
31
+ */
32
+ export declare function updateManifestCodecSupport(manifest: IManifestMetadata, contentDecryptor: ContentDecryptor | null): ICodecSupportInfo[];
33
+ //# sourceMappingURL=update_manifest_codec_support.d.ts.map