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
@@ -61,6 +61,13 @@ export default class TracksStore extends EventEmitter {
61
61
  return acc;
62
62
  }, []);
63
63
  }
64
+ /**
65
+ * Callack that needs to be called as codec support is either first known or
66
+ * updated on the Manifest.
67
+ */
68
+ onManifestCodecSupportUpdate() {
69
+ this._selectInitialTrackIfNeeded();
70
+ }
64
71
  /**
65
72
  * Update the list of Periods handled by the TracksStore and make a
66
73
  * track choice decision for each of them.
@@ -95,7 +102,7 @@ export default class TracksStore extends EventEmitter {
95
102
  else if (oldPeriod === newPeriod) {
96
103
  newPListIdx++;
97
104
  const curWantedTextTrack = this._storedPeriodInfo[i].text.storedSettings;
98
- if (curWantedTextTrack !== null) {
105
+ if (!isNullOrUndefined(curWantedTextTrack)) {
99
106
  const textAdaptations = getSupportedAdaptations(newPeriod, "text");
100
107
  const stillHere = textAdaptations.some((a) => a.id === curWantedTextTrack.adaptation.id);
101
108
  if (!stillHere) {
@@ -113,13 +120,15 @@ export default class TracksStore extends EventEmitter {
113
120
  return; // The current TracksStore is disposed, we can abort
114
121
  }
115
122
  const periodItem = getPeriodItem(this._storedPeriodInfo, periodInfo.period.id);
116
- if (periodItem !== undefined && periodItem.text.storedSettings === null) {
123
+ if (periodItem !== undefined &&
124
+ periodItem.isPeriodAdvertised &&
125
+ periodItem.text.storedSettings === null) {
117
126
  (_a = periodItem.text.dispatcher) === null || _a === void 0 ? void 0 : _a.updateTrack(null);
118
127
  }
119
128
  }
120
129
  }
121
130
  const curWantedVideoTrack = this._storedPeriodInfo[i].video.storedSettings;
122
- if (curWantedVideoTrack !== null) {
131
+ if (!isNullOrUndefined(curWantedVideoTrack)) {
123
132
  const videoAdaptations = getSupportedAdaptations(newPeriod, "video");
124
133
  const stillHere = videoAdaptations.some((a) => a.id === curWantedVideoTrack.adaptation.id);
125
134
  if (!stillHere) {
@@ -153,13 +162,14 @@ export default class TracksStore extends EventEmitter {
153
162
  }
154
163
  const newPeriodItem = getPeriodItem(this._storedPeriodInfo, periodItem.period.id);
155
164
  if (newPeriodItem !== undefined &&
165
+ newPeriodItem.isPeriodAdvertised &&
156
166
  newPeriodItem.video.storedSettings === storedSettings) {
157
167
  (_b = newPeriodItem.video.dispatcher) === null || _b === void 0 ? void 0 : _b.updateTrack(storedSettings);
158
168
  }
159
169
  }
160
170
  }
161
171
  const curWantedAudioTrack = this._storedPeriodInfo[i].audio.storedSettings;
162
- if (curWantedAudioTrack !== null) {
172
+ if (!isNullOrUndefined(curWantedAudioTrack)) {
163
173
  const audioAdaptations = getSupportedAdaptations(newPeriod, "audio");
164
174
  const stillHere = audioAdaptations.some((a) => a.id === curWantedAudioTrack.adaptation.id);
165
175
  if (!stillHere) {
@@ -185,6 +195,7 @@ export default class TracksStore extends EventEmitter {
185
195
  }
186
196
  const newPeriodItem = getPeriodItem(this._storedPeriodInfo, periodItem.period.id);
187
197
  if (newPeriodItem !== undefined &&
198
+ newPeriodItem.isPeriodAdvertised &&
188
199
  newPeriodItem.audio.storedSettings === storedSettings) {
189
200
  (_c = newPeriodItem.audio.dispatcher) === null || _c === void 0 ? void 0 : _c.updateTrack(storedSettings);
190
201
  }
@@ -201,7 +212,7 @@ export default class TracksStore extends EventEmitter {
201
212
  }
202
213
  }
203
214
  else {
204
- const newPeriodInfo = generatePeriodInfo(newPeriod, true, this._isTrickModeTrackEnabled, this._defaultAudioTrackSwitchingMode);
215
+ const newPeriodInfo = generatePeriodInfo(newPeriod, true);
205
216
  // oldPeriod.start > newPeriod.start: insert newPeriod before
206
217
  this._storedPeriodInfo.splice(i, 0, newPeriodInfo);
207
218
  addedPeriods.push(newPeriodInfo);
@@ -214,7 +225,7 @@ export default class TracksStore extends EventEmitter {
214
225
  // Add further new Period
215
226
  const periodsToAdd = periods
216
227
  .slice(newPListIdx)
217
- .map((p) => generatePeriodInfo(p, true, this._isTrickModeTrackEnabled, this._defaultAudioTrackSwitchingMode));
228
+ .map((p) => generatePeriodInfo(p, true));
218
229
  this._storedPeriodInfo.push(...periodsToAdd);
219
230
  addedPeriods.push(...periodsToAdd);
220
231
  }
@@ -247,7 +258,7 @@ export default class TracksStore extends EventEmitter {
247
258
  let periodObj = getPeriodItem(this._storedPeriodInfo, period.id);
248
259
  if (periodObj === undefined) {
249
260
  // The Period has not yet been added.
250
- periodObj = generatePeriodInfo(period, false, this._isTrickModeTrackEnabled, this._defaultAudioTrackSwitchingMode);
261
+ periodObj = generatePeriodInfo(period, false);
251
262
  let found = false;
252
263
  for (let i = 0; i < this._storedPeriodInfo.length; i++) {
253
264
  if (this._storedPeriodInfo[i].period.start > period.start) {
@@ -259,29 +270,20 @@ export default class TracksStore extends EventEmitter {
259
270
  this._storedPeriodInfo.push(periodObj);
260
271
  }
261
272
  }
262
- if (!periodObj.isPeriodAdvertised) {
263
- periodObj.isPeriodAdvertised = true;
264
- this.trigger("newAvailablePeriods", [
265
- { id: period.id, start: period.start, end: period.end },
266
- ]);
267
- if (this._isDisposed) {
268
- return;
269
- }
270
- }
271
273
  if (periodObj[bufferType].dispatcher !== null) {
272
274
  log.error(`TS: Subject already added for ${bufferType} ` + `and Period ${period.start}`);
273
275
  return;
274
276
  }
275
- const trackSetting = periodObj[bufferType].storedSettings;
276
277
  const dispatcher = new TrackDispatcher(adaptationRef);
277
278
  periodObj[bufferType].dispatcher = dispatcher;
278
279
  dispatcher.addEventListener("noPlayableRepresentation", () => {
279
280
  var _a, _b, _c, _d;
280
- const nextAdaptation = arrayFind((_a = period.adaptations[bufferType]) !== null && _a !== void 0 ? _a : [], (a) => {
281
- if (a.isSupported === false) {
281
+ const nextAdaptation = arrayFind((_a = period.adaptations[bufferType]) !== null && _a !== void 0 ? _a : [], (adaptation) => {
282
+ if (adaptation.supportStatus.hasSupportedCodec === false ||
283
+ adaptation.supportStatus.isDecipherable === false) {
282
284
  return false;
283
285
  }
284
- const playableRepresentations = a.representations.filter((r) => r.isSupported === true && r.decipherable !== false);
286
+ const playableRepresentations = adaptation.representations.filter((r) => r.isSupported === true && r.decipherable !== false);
285
287
  return playableRepresentations.length > 0;
286
288
  });
287
289
  if (nextAdaptation === undefined) {
@@ -320,13 +322,44 @@ export default class TracksStore extends EventEmitter {
320
322
  dispatcher.addEventListener("noPlayableLockedRepresentation", () => {
321
323
  // TODO check that it doesn't already lead to segment loading or MediaSource
322
324
  // reloading
323
- trackSetting === null || trackSetting === void 0 ? void 0 : trackSetting.lockedRepresentations.setValue(null);
325
+ if (periodObj === undefined) {
326
+ return;
327
+ }
328
+ this.unlockVideoRepresentations(periodObj);
324
329
  this.trigger("brokenRepresentationsLock", {
325
330
  period: { id: period.id, start: period.start, end: period.end },
326
331
  trackType: bufferType,
327
332
  });
328
333
  });
329
- dispatcher.start(trackSetting);
334
+ this._selectInitialTrackIfNeeded();
335
+ // Ensure `newAvailablePeriods` is sent
336
+ if (this._shouldAdvertisePeriod(periodObj)) {
337
+ periodObj.isPeriodAdvertised = true;
338
+ this.trigger("newAvailablePeriods", [
339
+ {
340
+ id: period.id,
341
+ start: period.start,
342
+ end: period.end,
343
+ },
344
+ ]);
345
+ if (this._isDisposed) {
346
+ return;
347
+ }
348
+ }
349
+ // Ensure the initial track is set for each type now)
350
+ const trackTypes = ["audio", "video", "text"];
351
+ for (const ttype of trackTypes) {
352
+ const trackObj = periodObj[ttype];
353
+ if (periodObj.isPeriodAdvertised &&
354
+ trackObj.dispatcher !== null &&
355
+ !trackObj.dispatcher.hasSetTrack() &&
356
+ trackObj.storedSettings !== undefined) {
357
+ trackObj.dispatcher.updateTrack(trackObj.storedSettings);
358
+ }
359
+ if (this._isDisposed) {
360
+ return;
361
+ }
362
+ }
330
363
  }
331
364
  /**
332
365
  * Remove shared reference to choose an "audio", "video" or "text" Adaptation
@@ -490,8 +523,13 @@ export default class TracksStore extends EventEmitter {
490
523
  */
491
524
  _setAudioOrTextTrack({ bufferType, periodRef, trackId, switchingMode, lockedRepresentations, relativeResumingPosition, }) {
492
525
  var _a, _b;
526
+ if (!periodRef.isPeriodAdvertised) {
527
+ throw new Error("Wanted Period not yet advertised.");
528
+ }
493
529
  const period = periodRef.period;
494
- const wantedAdaptation = arrayFind((_a = period.adaptations[bufferType]) !== null && _a !== void 0 ? _a : [], ({ id, isSupported }) => isSupported === true && id === trackId);
530
+ const wantedAdaptation = arrayFind((_a = period.adaptations[bufferType]) !== null && _a !== void 0 ? _a : [], ({ id, supportStatus }) => supportStatus.hasSupportedCodec !== false &&
531
+ supportStatus.isDecipherable !== false &&
532
+ id === trackId);
495
533
  if (wantedAdaptation === undefined) {
496
534
  throw new Error(`Wanted ${bufferType} track not found.`);
497
535
  }
@@ -548,8 +586,13 @@ export default class TracksStore extends EventEmitter {
548
586
  setVideoTrack(payload) {
549
587
  var _a, _b;
550
588
  const { periodRef, trackId, switchingMode, lockedRepresentations, relativeResumingPosition, } = payload;
589
+ if (!periodRef.isPeriodAdvertised) {
590
+ throw new Error("Wanted Period not yet advertised.");
591
+ }
551
592
  const period = periodRef.period;
552
- const wantedAdaptation = arrayFind((_a = period.adaptations.video) !== null && _a !== void 0 ? _a : [], ({ id, isSupported }) => isSupported === true && id === trackId);
593
+ const wantedAdaptation = arrayFind((_a = period.adaptations.video) !== null && _a !== void 0 ? _a : [], ({ id, supportStatus }) => supportStatus.isDecipherable !== false &&
594
+ supportStatus.hasSupportedCodec !== false &&
595
+ id === trackId);
553
596
  if (wantedAdaptation === undefined) {
554
597
  throw new Error("Wanted video track not found.");
555
598
  }
@@ -601,6 +644,9 @@ export default class TracksStore extends EventEmitter {
601
644
  */
602
645
  disableTrack(periodObj, bufferType) {
603
646
  var _a, _b;
647
+ if (!periodObj.isPeriodAdvertised) {
648
+ throw new Error("Wanted Period not yet advertised.");
649
+ }
604
650
  const trackInfo = periodObj[bufferType];
605
651
  if (trackInfo.storedSettings === null) {
606
652
  return;
@@ -645,7 +691,7 @@ export default class TracksStore extends EventEmitter {
645
691
  * known.
646
692
  */
647
693
  getChosenAudioTrack(periodObj) {
648
- return periodObj.audio.storedSettings === null
694
+ return isNullOrUndefined(periodObj.audio.storedSettings)
649
695
  ? null
650
696
  : toAudioTrack(periodObj.audio.storedSettings.adaptation, true);
651
697
  }
@@ -660,7 +706,7 @@ export default class TracksStore extends EventEmitter {
660
706
  * @returns {Object|null} - The text track chosen for this Period
661
707
  */
662
708
  getChosenTextTrack(periodObj) {
663
- return periodObj.text.storedSettings === null
709
+ return isNullOrUndefined(periodObj.text.storedSettings)
664
710
  ? null
665
711
  : toTextTrack(periodObj.text.storedSettings.adaptation);
666
712
  }
@@ -675,7 +721,7 @@ export default class TracksStore extends EventEmitter {
675
721
  * @returns {Object|null} - The video track chosen for this Period
676
722
  */
677
723
  getChosenVideoTrack(periodObj) {
678
- if (periodObj.video.storedSettings === null) {
724
+ if (isNullOrUndefined(periodObj.video.storedSettings)) {
679
725
  return null;
680
726
  }
681
727
  return toVideoTrack(periodObj.video.storedSettings.adaptation, true);
@@ -691,7 +737,9 @@ export default class TracksStore extends EventEmitter {
691
737
  */
692
738
  getAvailableAudioTracks(periodObj) {
693
739
  const storedSettings = periodObj.audio.storedSettings;
694
- const currentId = storedSettings !== null ? storedSettings.adaptation.id : null;
740
+ const currentId = !isNullOrUndefined(storedSettings)
741
+ ? storedSettings.adaptation.id
742
+ : null;
695
743
  const adaptations = getSupportedAdaptations(periodObj.period, "audio");
696
744
  return adaptations.map((adaptation) => {
697
745
  const active = currentId === null ? false : currentId === adaptation.id;
@@ -709,7 +757,9 @@ export default class TracksStore extends EventEmitter {
709
757
  */
710
758
  getAvailableTextTracks(periodObj) {
711
759
  const storedSettings = periodObj.text.storedSettings;
712
- const currentId = storedSettings !== null ? storedSettings.adaptation.id : null;
760
+ const currentId = !isNullOrUndefined(storedSettings)
761
+ ? storedSettings.adaptation.id
762
+ : null;
713
763
  const adaptations = getSupportedAdaptations(periodObj.period, "text");
714
764
  return adaptations.map((adaptation) => {
715
765
  const active = currentId === null ? false : currentId === adaptation.id;
@@ -727,7 +777,9 @@ export default class TracksStore extends EventEmitter {
727
777
  */
728
778
  getAvailableVideoTracks(periodObj) {
729
779
  const storedSettings = periodObj.video.storedSettings;
730
- const currentId = storedSettings === null ? undefined : storedSettings.adaptation.id;
780
+ const currentId = isNullOrUndefined(storedSettings)
781
+ ? undefined
782
+ : storedSettings.adaptation.id;
731
783
  const adaptations = getSupportedAdaptations(periodObj.period, "video");
732
784
  return adaptations.map((adaptation) => {
733
785
  const active = currentId === null ? false : currentId === adaptation.id;
@@ -747,7 +799,7 @@ export default class TracksStore extends EventEmitter {
747
799
  }
748
800
  getLockedAudioRepresentations(periodObj) {
749
801
  const { storedSettings } = periodObj.audio;
750
- if (storedSettings === null) {
802
+ if (isNullOrUndefined(storedSettings)) {
751
803
  return null;
752
804
  }
753
805
  const lastLockedSettings = storedSettings.lockedRepresentations.getValue();
@@ -755,7 +807,7 @@ export default class TracksStore extends EventEmitter {
755
807
  }
756
808
  getLockedVideoRepresentations(periodObj) {
757
809
  const { storedSettings } = periodObj.video;
758
- if (storedSettings === null) {
810
+ if (isNullOrUndefined(storedSettings)) {
759
811
  return null;
760
812
  }
761
813
  const lastLockedSettings = storedSettings.lockedRepresentations.getValue();
@@ -764,7 +816,7 @@ export default class TracksStore extends EventEmitter {
764
816
  lockAudioRepresentations(periodObj, lockSettings) {
765
817
  var _a;
766
818
  const { storedSettings } = periodObj.audio;
767
- if (storedSettings === null) {
819
+ if (isNullOrUndefined(storedSettings)) {
768
820
  return;
769
821
  }
770
822
  const { DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE } = config.getCurrent();
@@ -778,7 +830,7 @@ export default class TracksStore extends EventEmitter {
778
830
  lockVideoRepresentations(periodObj, lockSettings) {
779
831
  var _a;
780
832
  const { storedSettings } = periodObj.video;
781
- if (storedSettings === null) {
833
+ if (isNullOrUndefined(storedSettings)) {
782
834
  return;
783
835
  }
784
836
  const { DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE } = config.getCurrent();
@@ -791,7 +843,7 @@ export default class TracksStore extends EventEmitter {
791
843
  }
792
844
  unlockAudioRepresentations(periodObj) {
793
845
  const { storedSettings } = periodObj.audio;
794
- if (storedSettings === null ||
846
+ if (isNullOrUndefined(storedSettings) ||
795
847
  storedSettings.lockedRepresentations.getValue() === null) {
796
848
  return;
797
849
  }
@@ -799,7 +851,7 @@ export default class TracksStore extends EventEmitter {
799
851
  }
800
852
  unlockVideoRepresentations(periodObj) {
801
853
  const { storedSettings } = periodObj.video;
802
- if (storedSettings === null ||
854
+ if (isNullOrUndefined(storedSettings) ||
803
855
  storedSettings.lockedRepresentations.getValue() === null) {
804
856
  return;
805
857
  }
@@ -819,7 +871,7 @@ export default class TracksStore extends EventEmitter {
819
871
  var _a;
820
872
  for (let i = 0; i < this._storedPeriodInfo.length; i++) {
821
873
  const periodObj = this._storedPeriodInfo[i];
822
- if (periodObj.video.storedSettings !== null) {
874
+ if (!isNullOrUndefined(periodObj.video.storedSettings)) {
823
875
  const chosenBaseTrack = periodObj.video.storedSettings.adaptationBase;
824
876
  if (chosenBaseTrack !== null) {
825
877
  const chosenTrack = getRightVideoTrack(chosenBaseTrack, this._isTrickModeTrackEnabled);
@@ -835,20 +887,23 @@ export default class TracksStore extends EventEmitter {
835
887
  const period = sliced[i].period;
836
888
  const videoItem = sliced[i].video;
837
889
  const storedSettings = videoItem.storedSettings;
838
- this.trigger("trackUpdate", {
839
- period: toExposedPeriod(period),
840
- trackType: "video",
841
- reason,
842
- });
843
- // The previous event trigger could have had side-effects, so we
844
- // re-check if we're still mostly in the same state
845
- if (this._isDisposed) {
846
- return; // Someone disposed the `TracksStore` on the previous side-effect
847
- }
848
- const newPeriodItem = getPeriodItem(this._storedPeriodInfo, period.id);
849
- if (newPeriodItem !== undefined &&
850
- newPeriodItem.video.storedSettings === storedSettings) {
851
- (_a = newPeriodItem.video.dispatcher) === null || _a === void 0 ? void 0 : _a.updateTrack(storedSettings);
890
+ if (storedSettings !== undefined) {
891
+ this.trigger("trackUpdate", {
892
+ period: toExposedPeriod(period),
893
+ trackType: "video",
894
+ reason,
895
+ });
896
+ // The previous event trigger could have had side-effects, so we
897
+ // re-check if we're still mostly in the same state
898
+ if (this._isDisposed) {
899
+ return; // Someone disposed the `TracksStore` on the previous side-effect
900
+ }
901
+ const newPeriodItem = getPeriodItem(this._storedPeriodInfo, period.id);
902
+ if (newPeriodItem !== undefined &&
903
+ newPeriodItem.isPeriodAdvertised &&
904
+ newPeriodItem.video.storedSettings === storedSettings) {
905
+ (_a = newPeriodItem.video.dispatcher) === null || _a === void 0 ? void 0 : _a.updateTrack(storedSettings);
906
+ }
852
907
  }
853
908
  }
854
909
  }
@@ -879,6 +934,117 @@ export default class TracksStore extends EventEmitter {
879
934
  }
880
935
  return filtered;
881
936
  }
937
+ /**
938
+ * Check or re-check all Periods for which both an initial track can be chosen
939
+ * and for which the `newAvailablePeriods` event can be triggered.
940
+ */
941
+ _selectInitialTrackIfNeeded() {
942
+ var _a, _b, _c, _d;
943
+ const { DEFAULT_VIDEO_TRACK_SWITCHING_MODE } = config.getCurrent();
944
+ const periodsToAdvertise = [];
945
+ const toDispatchTrack = [];
946
+ for (const trackStorePeriod of this._storedPeriodInfo) {
947
+ const { period } = trackStorePeriod;
948
+ if (trackStorePeriod.audio.storedSettings !== undefined &&
949
+ trackStorePeriod.video.storedSettings !== undefined &&
950
+ trackStorePeriod.text.storedSettings !== undefined) {
951
+ // already processed, continue
952
+ continue;
953
+ }
954
+ const adaptations = [
955
+ ...((_a = period.adaptations.audio) !== null && _a !== void 0 ? _a : []),
956
+ ...((_b = period.adaptations.video) !== null && _b !== void 0 ? _b : []),
957
+ ];
958
+ const hasCodecWithUndefinedSupport = adaptations.every((a) => a.supportStatus.hasCodecWithUndefinedSupport);
959
+ if (adaptations.length > 0 && hasCodecWithUndefinedSupport) {
960
+ // Not all codecs for that Period are known yet.
961
+ // Await until this is the case.
962
+ continue;
963
+ }
964
+ const audioAdaptation = getSupportedAdaptations(period, "audio")[0];
965
+ trackStorePeriod.audio.storedSettings =
966
+ audioAdaptation === undefined
967
+ ? null
968
+ : {
969
+ adaptation: audioAdaptation,
970
+ switchingMode: this._defaultAudioTrackSwitchingMode,
971
+ lockedRepresentations: new SharedReference(null),
972
+ };
973
+ const baseVideoAdaptation = getSupportedAdaptations(period, "video")[0];
974
+ const videoAdaptation = getRightVideoTrack(baseVideoAdaptation, this._isTrickModeTrackEnabled);
975
+ trackStorePeriod.video.storedSettings =
976
+ videoAdaptation === undefined
977
+ ? null
978
+ : {
979
+ adaptation: videoAdaptation,
980
+ adaptationBase: baseVideoAdaptation,
981
+ switchingMode: DEFAULT_VIDEO_TRACK_SWITCHING_MODE,
982
+ lockedRepresentations: new SharedReference(null),
983
+ };
984
+ let textAdaptation = null;
985
+ const forcedSubtitles = ((_c = period.adaptations.text) !== null && _c !== void 0 ? _c : []).filter((ad) => ad.isForcedSubtitles === true);
986
+ if (forcedSubtitles.length > 0) {
987
+ if (audioAdaptation !== null && audioAdaptation !== undefined) {
988
+ const sameLanguage = arrayFind(forcedSubtitles, (f) => f.normalizedLanguage === audioAdaptation.normalizedLanguage);
989
+ if (sameLanguage !== undefined) {
990
+ textAdaptation = sameLanguage;
991
+ }
992
+ }
993
+ if (textAdaptation === null) {
994
+ textAdaptation =
995
+ (_d = arrayFind(forcedSubtitles, (f) => f.normalizedLanguage === undefined)) !== null && _d !== void 0 ? _d : null;
996
+ }
997
+ }
998
+ trackStorePeriod.text.storedSettings =
999
+ textAdaptation === null
1000
+ ? null
1001
+ : {
1002
+ adaptation: textAdaptation,
1003
+ switchingMode: "direct",
1004
+ lockedRepresentations: new SharedReference(null),
1005
+ };
1006
+ toDispatchTrack.push(trackStorePeriod);
1007
+ if (this._shouldAdvertisePeriod(trackStorePeriod)) {
1008
+ trackStorePeriod.isPeriodAdvertised = true;
1009
+ periodsToAdvertise.push({ id: period.id, start: period.start, end: period.end });
1010
+ }
1011
+ }
1012
+ if (periodsToAdvertise.length > 0) {
1013
+ this.trigger("newAvailablePeriods", periodsToAdvertise);
1014
+ if (this._isDisposed) {
1015
+ return;
1016
+ }
1017
+ }
1018
+ for (const trackStorePeriod of toDispatchTrack) {
1019
+ if (!trackStorePeriod.isPeriodAdvertised) {
1020
+ continue;
1021
+ }
1022
+ const bufferTypes = ["audio", "video", "text"];
1023
+ for (const bufferType of bufferTypes) {
1024
+ const trackInfo = trackStorePeriod[bufferType];
1025
+ if (trackInfo.dispatcher !== null &&
1026
+ trackInfo.storedSettings !== undefined &&
1027
+ !trackInfo.dispatcher.hasSetTrack()) {
1028
+ trackInfo.dispatcher.updateTrack(trackInfo.storedSettings);
1029
+ if (this._isDisposed) {
1030
+ return;
1031
+ }
1032
+ }
1033
+ }
1034
+ }
1035
+ }
1036
+ /**
1037
+ * Returns `true` once a Period can be advertised through a `newAvailablePeriods`
1038
+ * event, after which track can begin to be set and updated.
1039
+ * @param {Object} periodObj
1040
+ * @returns {boolean}
1041
+ */
1042
+ _shouldAdvertisePeriod(periodObj) {
1043
+ return (!periodObj.isPeriodAdvertised &&
1044
+ periodObj.text.dispatcher !== null &&
1045
+ periodObj.video.dispatcher !== null &&
1046
+ periodObj.audio.dispatcher !== null);
1047
+ }
882
1048
  }
883
1049
  /**
884
1050
  * Returns the index of the given `period` in the given `periods`
@@ -937,60 +1103,17 @@ function getRightVideoTrack(adaptation, isTrickModeEnabled) {
937
1103
  * default track for each type.
938
1104
  * @param {Object} period
939
1105
  * @param {boolean} inManifest
940
- * @param {boolean} isTrickModeTrackEnabled
941
1106
  * @returns {object}
942
1107
  */
943
- function generatePeriodInfo(period, inManifest, isTrickModeTrackEnabled, defaultAudioTrackSwitchingMode) {
944
- var _a, _b;
945
- const audioAdaptation = getSupportedAdaptations(period, "audio")[0];
946
- const baseVideoAdaptation = getSupportedAdaptations(period, "video")[0];
947
- const videoAdaptation = getRightVideoTrack(baseVideoAdaptation, isTrickModeTrackEnabled);
948
- const { DEFAULT_VIDEO_TRACK_SWITCHING_MODE } = config.getCurrent();
949
- const audioSettings = audioAdaptation !== undefined
950
- ? {
951
- adaptation: audioAdaptation,
952
- switchingMode: defaultAudioTrackSwitchingMode,
953
- lockedRepresentations: new SharedReference(null),
954
- }
955
- : null;
956
- const videoSettings = videoAdaptation !== undefined
957
- ? {
958
- adaptation: videoAdaptation,
959
- adaptationBase: baseVideoAdaptation,
960
- switchingMode: DEFAULT_VIDEO_TRACK_SWITCHING_MODE,
961
- lockedRepresentations: new SharedReference(null),
962
- }
963
- : null;
964
- let textAdaptation = null;
965
- const forcedSubtitles = ((_a = period.adaptations.text) !== null && _a !== void 0 ? _a : []).filter((ad) => ad.isForcedSubtitles === true);
966
- if (forcedSubtitles.length > 0) {
967
- if (audioAdaptation !== null && audioAdaptation !== undefined) {
968
- const sameLanguage = arrayFind(forcedSubtitles, (f) => f.normalizedLanguage === audioAdaptation.normalizedLanguage);
969
- if (sameLanguage !== undefined) {
970
- textAdaptation = sameLanguage;
971
- }
972
- }
973
- if (textAdaptation === null) {
974
- textAdaptation =
975
- (_b = arrayFind(forcedSubtitles, (f) => f.normalizedLanguage === undefined)) !== null && _b !== void 0 ? _b : null;
976
- }
977
- }
978
- let textSettings = null;
979
- if (textAdaptation !== null) {
980
- textSettings = {
981
- adaptation: textAdaptation,
982
- switchingMode: "direct",
983
- lockedRepresentations: new SharedReference(null),
984
- };
985
- }
1108
+ function generatePeriodInfo(period, inManifest) {
986
1109
  return {
987
1110
  period,
988
1111
  inManifest,
989
1112
  isPeriodAdvertised: false,
990
1113
  isRemoved: false,
991
- audio: { storedSettings: audioSettings, dispatcher: null },
992
- video: { storedSettings: videoSettings, dispatcher: null },
993
- text: { storedSettings: textSettings, dispatcher: null },
1114
+ audio: { storedSettings: undefined, dispatcher: null },
1115
+ video: { storedSettings: undefined, dispatcher: null },
1116
+ text: { storedSettings: undefined, dispatcher: null },
994
1117
  };
995
1118
  }
996
1119
  function toExposedPeriod(p) {
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IAdaptationMetadata } from "../../manifest";
17
16
  import type { IParsedAdaptation } from "../../parsers/manifest";
18
17
  import type { ITrackType, IRepresentationFilter } from "../../public_types";
19
- import type { ICodecSupportList } from "./representation";
18
+ import type { IAdaptationMetadata, IAdaptationSupportStatus } from "../types";
19
+ import type CodecSupportCache from "./codec_support_cache";
20
20
  import Representation from "./representation";
21
21
  /**
22
22
  * Normalized Adaptation structure.
@@ -73,7 +73,7 @@ export default class Adaptation implements IAdaptationMetadata {
73
73
  /**
74
74
  * @see IRepresentationMetadata
75
75
  */
76
- isSupported: boolean | undefined;
76
+ supportStatus: IAdaptationSupportStatus;
77
77
  /**
78
78
  * @see IRepresentationMetadata
79
79
  */
@@ -91,7 +91,7 @@ export default class Adaptation implements IAdaptationMetadata {
91
91
  * @param {Object} parsedAdaptation
92
92
  * @param {Object|undefined} [options]
93
93
  */
94
- constructor(parsedAdaptation: IParsedAdaptation, options?: {
94
+ constructor(parsedAdaptation: IParsedAdaptation, cachedCodecSupport: CodecSupportCache, options?: {
95
95
  representationFilter?: IRepresentationFilter | undefined;
96
96
  isManuallyAdded?: boolean | undefined;
97
97
  });
@@ -99,17 +99,17 @@ export default class Adaptation implements IAdaptationMetadata {
99
99
  * Some environments (e.g. in a WebWorker) may not have the capability to know
100
100
  * if a mimetype+codec combination is supported on the current platform.
101
101
  *
102
- * Calling `refreshCodecSupport` manually with a clear list of codecs supported
103
- * once it has been requested on a compatible environment (e.g. in the main
104
- * thread) allows to work-around this issue.
102
+ * Calling `refreshCodecSupport` manually once the codecs supported are known
103
+ * by the current environnement allows to work-around this issue.
104
+ *
105
105
  *
106
106
  * If the right mimetype+codec combination is found in the provided object,
107
107
  * this `Adaptation`'s `isSupported` property will be updated accordingly as
108
108
  * well as all of its inner `Representation`'s `isSupported` attributes.
109
109
  *
110
- * @param {Array.<Object>} supportList
110
+ * @param {Array.<Object>} cachedCodecSupport
111
111
  */
112
- refreshCodecSupport(supportList: ICodecSupportList): void;
112
+ refreshCodecSupport(cachedCodecSupport: CodecSupportCache): void;
113
113
  /**
114
114
  * Returns the Representation linked to the given ID.
115
115
  * @param {number|string} wantedId
@@ -1 +1 @@
1
- {"version":3,"file":"adaptation.d.ts","sourceRoot":"","sources":["../../../../src/manifest/classes/adaptation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,mBAAmB;IAC5D,4DAA4D;IAC5D,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACI,aAAa,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,SAAgB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClD;;OAEG;IACH,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC;;OAEG;IACI,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACI,eAAe,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,KAAK,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACI,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACI,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC;;OAEG;IACI,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAE/C;;;;OAIG;gBAED,gBAAgB,EAAE,iBAAiB,EACnC,OAAO,GAAE;QACP,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACzD,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClC;IAsGR;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAgBzD;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS;IAIxE;;;;;;;;;;;;;OAaG;IACH,mBAAmB,IAAI,mBAAmB;CAqB3C"}
1
+ {"version":3,"file":"adaptation.d.ts","sourceRoot":"","sources":["../../../../src/manifest/classes/adaptation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EACV,mBAAmB,EAEnB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,mBAAmB;IAC5D,4DAA4D;IAC5D,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACI,aAAa,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,SAAgB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClD;;OAEG;IACH,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC;;OAEG;IACI,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACI,eAAe,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,KAAK,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACI,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACI,aAAa,EAAE,wBAAwB,CAAC;IAC/C;;OAEG;IACI,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAE/C;;;;OAIG;gBAED,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,iBAAiB,EACrC,OAAO,GAAE;QACP,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACzD,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClC;IAsHR;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI;IA4BhE;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS;IAIxE;;;;;;;;;;;;;OAaG;IACH,mBAAmB,IAAI,mBAAmB;CAqB3C"}