rx-player 4.0.0-dev.2023110700 → 4.0.0-dev.2023120600

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 (479) hide show
  1. package/CHANGELOG.md +18 -226
  2. package/FILES.md +1 -1
  3. package/VERSION +1 -1
  4. package/dist/_esm5.processed/compat/add_text_track.d.ts +1 -3
  5. package/dist/_esm5.processed/compat/add_text_track.js +4 -7
  6. package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +0 -7
  7. package/dist/_esm5.processed/compat/event_listeners.d.ts +2 -15
  8. package/dist/_esm5.processed/compat/event_listeners.js +2 -37
  9. package/dist/_esm5.processed/compat/index.d.ts +1 -3
  10. package/dist/_esm5.processed/compat/index.js +1 -3
  11. package/dist/_esm5.processed/config.d.ts +9 -21
  12. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +0 -58
  13. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +14 -54
  14. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +2 -8
  15. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +2 -11
  16. package/dist/_esm5.processed/core/api/debug/buffer_graph.js +2 -6
  17. package/dist/_esm5.processed/core/api/debug/modules/general_info.js +13 -32
  18. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +3 -3
  19. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +1 -1
  20. package/dist/_esm5.processed/core/api/option_utils.d.ts +14 -35
  21. package/dist/_esm5.processed/core/api/option_utils.js +47 -230
  22. package/dist/_esm5.processed/core/api/public_api.d.ts +92 -266
  23. package/dist/_esm5.processed/core/api/public_api.js +451 -807
  24. package/dist/_esm5.processed/core/{segment_buffers/implementations/image → api/track_management}/index.d.ts +3 -2
  25. package/dist/_esm5.processed/core/{segment_buffers/implementations/image → api/track_management}/index.js +3 -2
  26. package/dist/_esm5.processed/core/api/{tracks_management/media_element_track_choice_manager.d.ts → track_management/media_element_tracks_store.d.ts} +15 -75
  27. package/dist/_esm5.processed/core/api/{tracks_management/media_element_track_choice_manager.js → track_management/media_element_tracks_store.js} +74 -193
  28. package/dist/_esm5.processed/core/api/track_management/track_dispatcher.d.ts +84 -0
  29. package/dist/_esm5.processed/core/api/track_management/track_dispatcher.js +158 -0
  30. package/dist/_esm5.processed/core/api/track_management/tracks_store.d.ts +406 -0
  31. package/dist/_esm5.processed/core/api/track_management/tracks_store.js +932 -0
  32. package/dist/_esm5.processed/core/api/utils.d.ts +1 -0
  33. package/dist/_esm5.processed/core/api/utils.js +28 -11
  34. package/dist/_esm5.processed/core/decrypt/content_decryptor.js +3 -3
  35. package/dist/_esm5.processed/core/decrypt/find_key_system.js +83 -71
  36. package/dist/_esm5.processed/core/decrypt/get_media_keys.js +6 -5
  37. package/dist/_esm5.processed/core/decrypt/session_events_listener.js +10 -72
  38. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.d.ts +4 -4
  39. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +6 -4
  40. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +1 -3
  41. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +7 -26
  42. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +3 -9
  43. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +16 -9
  44. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -3
  45. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +1 -1
  46. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +1 -6
  47. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +4 -41
  48. package/dist/_esm5.processed/core/init/directfile_content_initializer.js +1 -1
  49. package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +1 -8
  50. package/dist/_esm5.processed/core/init/media_source_content_initializer.js +5 -19
  51. package/dist/_esm5.processed/core/init/types.d.ts +5 -15
  52. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.d.ts +2 -36
  53. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +2 -82
  54. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
  55. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
  56. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +19 -2
  57. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +1 -2
  58. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +2 -3
  59. package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +2 -2
  60. package/dist/_esm5.processed/core/segment_buffers/index.d.ts +2 -2
  61. package/dist/_esm5.processed/core/segment_buffers/index.js +2 -1
  62. package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +1 -0
  63. package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +1 -0
  64. package/dist/_esm5.processed/core/segment_buffers/inventory/utils.d.ts +33 -0
  65. package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +49 -0
  66. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +0 -1
  67. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +2 -16
  68. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +0 -15
  69. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +183 -93
  70. package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.d.ts +39 -0
  71. package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +133 -0
  72. package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +27 -13
  73. package/dist/_esm5.processed/core/stream/index.d.ts +2 -3
  74. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +2 -0
  75. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +5 -7
  76. package/dist/_esm5.processed/core/stream/period/period_stream.js +13 -12
  77. package/dist/_esm5.processed/core/stream/period/types.d.ts +5 -14
  78. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +2 -4
  79. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +10 -46
  80. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +29 -23
  81. package/dist/_esm5.processed/core/stream/representation/types.d.ts +11 -1
  82. package/dist/_esm5.processed/default_config.d.ts +35 -98
  83. package/dist/_esm5.processed/default_config.js +36 -113
  84. package/dist/_esm5.processed/errors/custom_loader_error.d.ts +1 -3
  85. package/dist/_esm5.processed/errors/custom_loader_error.js +1 -3
  86. package/dist/_esm5.processed/errors/media_error.js +2 -2
  87. package/dist/_esm5.processed/errors/network_error.d.ts +0 -1
  88. package/dist/_esm5.processed/errors/network_error.js +0 -1
  89. package/dist/_esm5.processed/errors/request_error.d.ts +2 -3
  90. package/dist/_esm5.processed/errors/request_error.js +2 -5
  91. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -3
  92. package/dist/_esm5.processed/features/features_object.js +0 -2
  93. package/dist/_esm5.processed/features/list/directfile.js +2 -5
  94. package/dist/_esm5.processed/features/list/index.d.ts +0 -2
  95. package/dist/_esm5.processed/features/list/index.js +0 -2
  96. package/dist/_esm5.processed/features/types.d.ts +3 -27
  97. package/dist/_esm5.processed/manifest/adaptation.d.ts +9 -11
  98. package/dist/_esm5.processed/manifest/adaptation.js +41 -30
  99. package/dist/_esm5.processed/manifest/index.d.ts +3 -4
  100. package/dist/_esm5.processed/manifest/manifest.d.ts +5 -54
  101. package/dist/_esm5.processed/manifest/manifest.js +5 -110
  102. package/dist/_esm5.processed/manifest/period.d.ts +4 -5
  103. package/dist/_esm5.processed/manifest/representation.d.ts +10 -5
  104. package/dist/_esm5.processed/manifest/representation.js +33 -10
  105. package/dist/_esm5.processed/manifest/representation_index/index.d.ts +2 -2
  106. package/dist/_esm5.processed/manifest/representation_index/static.d.ts +2 -0
  107. package/dist/_esm5.processed/manifest/representation_index/static.js +6 -0
  108. package/dist/_esm5.processed/manifest/representation_index/types.d.ts +42 -21
  109. package/dist/_esm5.processed/manifest/types.d.ts +0 -2
  110. package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
  111. package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.js +26 -0
  112. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
  113. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +17 -31
  114. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +26 -19
  115. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -0
  116. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +7 -1
  117. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +2 -6
  118. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +11 -8
  119. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +2 -0
  120. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +6 -0
  121. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +2 -2
  122. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.js +1 -6
  123. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +3 -5
  124. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +0 -2
  125. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +1 -1
  126. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +2 -2
  127. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +0 -2
  128. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +2 -2
  129. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +29 -17
  130. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +13 -6
  131. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +7 -2
  132. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +10 -1
  133. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +18 -2
  134. package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +6 -4
  135. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +7 -6
  136. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +5 -2
  137. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  138. package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -0
  139. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +6 -0
  140. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +6 -6
  141. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +12 -3
  142. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +11 -2
  143. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +0 -1
  144. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +11 -17
  145. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +21 -83
  146. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +53 -125
  147. package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +119 -0
  148. package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +159 -0
  149. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.d.ts +3 -6
  150. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +4 -4
  151. package/dist/_esm5.processed/parsers/manifest/types.d.ts +4 -3
  152. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +1 -8
  153. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +1 -9
  154. package/dist/_esm5.processed/public_types.d.ts +396 -308
  155. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +5 -4
  156. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +5 -4
  157. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +4 -4
  158. package/dist/_esm5.processed/transports/dash/manifest_parser.js +2 -3
  159. package/dist/_esm5.processed/transports/dash/pipelines.js +1 -4
  160. package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +2 -2
  161. package/dist/_esm5.processed/transports/dash/segment_loader.js +26 -20
  162. package/dist/_esm5.processed/transports/dash/segment_parser.js +19 -24
  163. package/dist/_esm5.processed/transports/dash/text_loader.js +5 -5
  164. package/dist/_esm5.processed/transports/dash/text_parser.js +28 -33
  165. package/dist/_esm5.processed/transports/local/pipelines.js +1 -10
  166. package/dist/_esm5.processed/transports/local/segment_loader.js +2 -2
  167. package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
  168. package/dist/_esm5.processed/transports/local/segment_parser.js +10 -10
  169. package/dist/_esm5.processed/transports/local/text_parser.d.ts +2 -2
  170. package/dist/_esm5.processed/transports/local/text_parser.js +23 -23
  171. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +34 -52
  172. package/dist/_esm5.processed/{utils/list_to_map.d.ts → transports/smooth/is_mp4_embedded_track.d.ts} +5 -5
  173. package/dist/_esm5.processed/{features/list/image_buffer.d.ts → transports/smooth/is_mp4_embedded_track.js} +7 -6
  174. package/dist/_esm5.processed/transports/smooth/pipelines.js +33 -190
  175. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +1 -1
  176. package/dist/_esm5.processed/transports/smooth/segment_loader.js +28 -22
  177. package/dist/_esm5.processed/transports/smooth/utils.d.ts +1 -26
  178. package/dist/_esm5.processed/transports/smooth/utils.js +1 -55
  179. package/dist/_esm5.processed/transports/types.d.ts +94 -89
  180. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +3 -3
  181. package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +3 -3
  182. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +5 -7
  183. package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +8 -12
  184. package/dist/_esm5.processed/transports/utils/parse_text_track.js +19 -21
  185. package/dist/_esm5.processed/utils/array_includes.d.ts +2 -1
  186. package/dist/_esm5.processed/utils/array_includes.js +30 -28
  187. package/dist/_esm5.processed/utils/request/xhr.js +5 -5
  188. package/dist/commonjs/compat/is_codec_supported.js +22 -1
  189. package/dist/commonjs/compat/patch_webkit_source_buffer.js +2 -2
  190. package/dist/commonjs/config.d.ts +1 -0
  191. package/dist/commonjs/core/api/debug/buffer_graph.js +2 -6
  192. package/dist/commonjs/core/api/debug/modules/general_info.js +17 -10
  193. package/dist/commonjs/core/api/option_utils.d.ts +4 -0
  194. package/dist/commonjs/core/api/option_utils.js +8 -3
  195. package/dist/commonjs/core/api/public_api.d.ts +11 -1
  196. package/dist/commonjs/core/api/public_api.js +46 -11
  197. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
  198. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +11 -3
  199. package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts +8 -1
  200. package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +8 -4
  201. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
  202. package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
  203. package/dist/commonjs/core/init/directfile_content_initializer.js +24 -7
  204. package/dist/commonjs/core/init/media_source_content_initializer.d.ts +6 -0
  205. package/dist/commonjs/core/init/media_source_content_initializer.js +4 -6
  206. package/dist/commonjs/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
  207. package/dist/commonjs/core/init/utils/content_time_boundaries_observer.js +16 -17
  208. package/dist/commonjs/core/init/utils/get_initial_time.d.ts +17 -3
  209. package/dist/commonjs/core/init/utils/get_initial_time.js +9 -7
  210. package/dist/commonjs/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
  211. package/dist/commonjs/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
  212. package/dist/commonjs/core/segment_buffers/implementations/text/html/utils.js +19 -2
  213. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +2 -2
  214. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +3 -3
  215. package/dist/commonjs/core/stream/period/period_stream.js +2 -2
  216. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +3 -3
  217. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +1 -1
  218. package/dist/commonjs/default_config.d.ts +5 -0
  219. package/dist/commonjs/default_config.js +5 -0
  220. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
  221. package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
  222. package/dist/commonjs/manifest/representation.js +18 -5
  223. package/dist/commonjs/manifest/representation_index/static.d.ts +1 -1
  224. package/dist/commonjs/manifest/representation_index/static.js +2 -2
  225. package/dist/commonjs/manifest/representation_index/types.d.ts +4 -4
  226. package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
  227. package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.js +30 -0
  228. package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
  229. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
  230. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.js +4 -3
  231. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
  232. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
  233. package/dist/commonjs/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
  234. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
  235. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.js +2 -2
  236. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
  237. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.js +42 -29
  238. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
  239. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
  240. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +250 -51
  241. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
  242. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
  243. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +13 -10
  244. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.js +27 -14
  245. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
  246. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.js +17 -18
  247. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
  248. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.js +21 -8
  249. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +36 -20
  250. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +3 -0
  251. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.js +3 -0
  252. package/dist/commonjs/parsers/manifest/dash/node_parser_types.d.ts +2 -0
  253. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +4 -0
  254. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +4 -0
  255. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  256. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts +1 -1
  257. package/dist/commonjs/parsers/manifest/local/representation_index.js +3 -3
  258. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
  259. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.js +2 -2
  260. package/dist/commonjs/parsers/manifest/smooth/representation_index.d.ts +5 -5
  261. package/dist/commonjs/parsers/manifest/smooth/representation_index.js +25 -9
  262. package/dist/commonjs/parsers/manifest/types.d.ts +1 -0
  263. package/dist/commonjs/parsers/manifest/utils/index_helpers.js +1 -1
  264. package/dist/commonjs/public_types.d.ts +78 -34
  265. package/dist/commonjs/transports/dash/init_segment_loader.js +10 -5
  266. package/dist/commonjs/transports/dash/manifest_parser.js +5 -2
  267. package/dist/commonjs/transports/dash/segment_loader.js +2 -1
  268. package/dist/commonjs/transports/dash/text_loader.js +2 -0
  269. package/dist/commonjs/transports/metaplaylist/manifest_loader.js +2 -1
  270. package/dist/commonjs/transports/metaplaylist/pipelines.js +4 -1
  271. package/dist/commonjs/transports/smooth/pipelines.js +4 -2
  272. package/dist/commonjs/transports/smooth/segment_loader.js +2 -1
  273. package/dist/commonjs/transports/types.d.ts +12 -0
  274. package/dist/commonjs/transports/utils/generate_manifest_loader.js +6 -3
  275. package/dist/commonjs/utils/queue_microtask.d.ts +2 -0
  276. package/dist/commonjs/utils/queue_microtask.js +7 -0
  277. package/dist/commonjs/utils/request/fetch.d.ts +6 -0
  278. package/dist/commonjs/utils/request/fetch.js +29 -8
  279. package/dist/commonjs/utils/request/xhr.d.ts +11 -5
  280. package/dist/commonjs/utils/request/xhr.js +29 -8
  281. package/dist/es2017/compat/is_codec_supported.js +22 -1
  282. package/dist/es2017/compat/patch_webkit_source_buffer.js +2 -2
  283. package/dist/es2017/config.d.ts +1 -0
  284. package/dist/es2017/core/api/debug/buffer_graph.js +2 -6
  285. package/dist/es2017/core/api/debug/modules/general_info.js +17 -10
  286. package/dist/es2017/core/api/option_utils.d.ts +4 -0
  287. package/dist/es2017/core/api/option_utils.js +8 -3
  288. package/dist/es2017/core/api/public_api.d.ts +11 -1
  289. package/dist/es2017/core/api/public_api.js +44 -9
  290. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
  291. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.js +11 -3
  292. package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts +8 -1
  293. package/dist/es2017/core/fetchers/segment/segment_fetcher.js +8 -4
  294. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
  295. package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
  296. package/dist/es2017/core/init/directfile_content_initializer.js +24 -7
  297. package/dist/es2017/core/init/media_source_content_initializer.d.ts +6 -0
  298. package/dist/es2017/core/init/media_source_content_initializer.js +4 -6
  299. package/dist/es2017/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
  300. package/dist/es2017/core/init/utils/content_time_boundaries_observer.js +16 -15
  301. package/dist/es2017/core/init/utils/get_initial_time.d.ts +17 -3
  302. package/dist/es2017/core/init/utils/get_initial_time.js +9 -7
  303. package/dist/es2017/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
  304. package/dist/es2017/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
  305. package/dist/es2017/core/segment_buffers/implementations/text/html/utils.js +18 -2
  306. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +2 -2
  307. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +3 -3
  308. package/dist/es2017/core/stream/period/period_stream.js +2 -2
  309. package/dist/es2017/core/stream/representation/utils/get_buffer_status.js +3 -3
  310. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -1
  311. package/dist/es2017/default_config.d.ts +5 -0
  312. package/dist/es2017/default_config.js +5 -0
  313. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
  314. package/dist/es2017/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
  315. package/dist/es2017/manifest/representation.js +18 -5
  316. package/dist/es2017/manifest/representation_index/static.d.ts +1 -1
  317. package/dist/es2017/manifest/representation_index/static.js +2 -2
  318. package/dist/es2017/manifest/representation_index/types.d.ts +4 -4
  319. package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
  320. package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.js +26 -0
  321. package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
  322. package/dist/es2017/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
  323. package/dist/es2017/parsers/manifest/dash/common/indexes/base.js +4 -3
  324. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
  325. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
  326. package/dist/es2017/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
  327. package/dist/es2017/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
  328. package/dist/es2017/parsers/manifest/dash/common/indexes/list.js +2 -2
  329. package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
  330. package/dist/es2017/parsers/manifest/dash/common/indexes/template.js +40 -27
  331. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
  332. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
  333. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +246 -51
  334. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
  335. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
  336. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.js +11 -8
  337. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.js +27 -13
  338. package/dist/es2017/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
  339. package/dist/es2017/parsers/manifest/dash/common/parse_periods.js +13 -16
  340. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
  341. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.js +10 -8
  342. package/dist/es2017/parsers/manifest/dash/common/parse_representations.js +36 -20
  343. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +3 -0
  344. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.js +3 -0
  345. package/dist/es2017/parsers/manifest/dash/node_parser_types.d.ts +2 -0
  346. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +4 -0
  347. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +4 -0
  348. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  349. package/dist/es2017/parsers/manifest/local/representation_index.d.ts +1 -1
  350. package/dist/es2017/parsers/manifest/local/representation_index.js +3 -3
  351. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
  352. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.js +2 -2
  353. package/dist/es2017/parsers/manifest/smooth/representation_index.d.ts +5 -5
  354. package/dist/es2017/parsers/manifest/smooth/representation_index.js +25 -9
  355. package/dist/es2017/parsers/manifest/types.d.ts +1 -0
  356. package/dist/es2017/parsers/manifest/utils/index_helpers.js +1 -1
  357. package/dist/es2017/public_types.d.ts +78 -34
  358. package/dist/es2017/transports/dash/init_segment_loader.js +5 -0
  359. package/dist/es2017/transports/dash/manifest_parser.js +3 -0
  360. package/dist/es2017/transports/dash/segment_loader.js +1 -0
  361. package/dist/es2017/transports/dash/text_loader.js +2 -0
  362. package/dist/es2017/transports/metaplaylist/manifest_loader.js +1 -0
  363. package/dist/es2017/transports/metaplaylist/pipelines.js +4 -1
  364. package/dist/es2017/transports/smooth/pipelines.js +2 -0
  365. package/dist/es2017/transports/smooth/segment_loader.js +1 -0
  366. package/dist/es2017/transports/types.d.ts +12 -0
  367. package/dist/es2017/transports/utils/generate_manifest_loader.js +3 -0
  368. package/dist/es2017/utils/queue_microtask.d.ts +2 -0
  369. package/dist/es2017/utils/queue_microtask.js +5 -0
  370. package/dist/es2017/utils/request/fetch.d.ts +6 -0
  371. package/dist/es2017/utils/request/fetch.js +29 -8
  372. package/dist/es2017/utils/request/xhr.d.ts +11 -5
  373. package/dist/es2017/utils/request/xhr.js +30 -9
  374. package/dist/mpd-parser.wasm +0 -0
  375. package/dist/rx-player.js +900 -492
  376. package/dist/rx-player.min.js +1 -1
  377. package/package.json +3 -7
  378. package/scripts/update-version +2 -0
  379. package/sonar-project.properties +1 -1
  380. package/src/compat/is_codec_supported.ts +23 -1
  381. package/src/compat/patch_webkit_source_buffer.ts +2 -2
  382. package/src/core/api/debug/buffer_graph.ts +2 -5
  383. package/src/core/api/debug/modules/general_info.ts +15 -10
  384. package/src/core/api/option_utils.ts +11 -3
  385. package/src/core/api/public_api.ts +48 -8
  386. package/src/core/fetchers/manifest/manifest_fetcher.ts +21 -3
  387. package/src/core/fetchers/segment/segment_fetcher.ts +19 -5
  388. package/src/core/fetchers/segment/segment_fetcher_creator.ts +1 -0
  389. package/src/core/fetchers/utils/schedule_request.ts +1 -1
  390. package/src/core/init/directfile_content_initializer.ts +23 -7
  391. package/src/core/init/media_source_content_initializer.ts +13 -7
  392. package/src/core/init/utils/content_time_boundaries_observer.ts +23 -22
  393. package/src/core/init/utils/get_initial_time.ts +25 -12
  394. package/src/core/segment_buffers/implementations/text/html/__tests__/utils.test.ts +15 -0
  395. package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +57 -6
  396. package/src/core/segment_buffers/implementations/text/html/utils.ts +19 -2
  397. package/src/core/stream/adaptation/adaptation_stream.ts +2 -2
  398. package/src/core/stream/orchestrator/stream_orchestrator.ts +3 -3
  399. package/src/core/stream/period/period_stream.ts +2 -2
  400. package/src/core/stream/representation/utils/get_buffer_status.ts +3 -3
  401. package/src/core/stream/representation/utils/get_needed_segments.ts +2 -2
  402. package/src/default_config.ts +5 -0
  403. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +3 -1
  404. package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +2 -0
  405. package/src/manifest/representation.ts +19 -6
  406. package/src/manifest/representation_index/static.ts +2 -2
  407. package/src/manifest/representation_index/types.ts +4 -4
  408. package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +37 -0
  409. package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +20 -0
  410. package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +182 -36
  411. package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +32 -0
  412. package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +5 -0
  413. package/src/parsers/manifest/dash/common/indexes/base.ts +12 -4
  414. package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +19 -5
  415. package/src/parsers/manifest/dash/common/indexes/index.ts +16 -4
  416. package/src/parsers/manifest/dash/common/indexes/list.ts +2 -2
  417. package/src/parsers/manifest/dash/common/indexes/template.ts +52 -31
  418. package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +4 -1
  419. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +366 -60
  420. package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +63 -25
  421. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +10 -4
  422. package/src/parsers/manifest/dash/common/parse_mpd.ts +28 -15
  423. package/src/parsers/manifest/dash/common/parse_periods.ts +12 -17
  424. package/src/parsers/manifest/dash/common/parse_representation_index.ts +50 -26
  425. package/src/parsers/manifest/dash/common/parse_representations.ts +39 -20
  426. package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +4 -0
  427. package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +4 -0
  428. package/src/parsers/manifest/dash/node_parser_types.ts +2 -0
  429. package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +2 -0
  430. package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +2 -0
  431. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +4 -0
  432. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +4 -0
  433. package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +2 -0
  434. package/src/parsers/manifest/local/representation_index.ts +3 -3
  435. package/src/parsers/manifest/metaplaylist/representation_index.ts +2 -2
  436. package/src/parsers/manifest/smooth/representation_index.ts +23 -9
  437. package/src/parsers/manifest/types.ts +2 -0
  438. package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +1 -1
  439. package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +1 -1
  440. package/src/parsers/manifest/utils/index_helpers.ts +1 -1
  441. package/src/public_types.ts +79 -34
  442. package/src/transports/dash/init_segment_loader.ts +5 -0
  443. package/src/transports/dash/manifest_parser.ts +6 -0
  444. package/src/transports/dash/segment_loader.ts +1 -0
  445. package/src/transports/dash/text_loader.ts +2 -0
  446. package/src/transports/metaplaylist/manifest_loader.ts +1 -0
  447. package/src/transports/metaplaylist/pipelines.ts +4 -1
  448. package/src/transports/smooth/pipelines.ts +2 -0
  449. package/src/transports/smooth/segment_loader.ts +1 -0
  450. package/src/transports/types.ts +12 -0
  451. package/src/transports/utils/generate_manifest_loader.ts +3 -0
  452. package/src/utils/queue_microtask.ts +7 -0
  453. package/src/utils/request/fetch.ts +35 -8
  454. package/src/utils/request/xhr.ts +45 -14
  455. package/dist/_esm5.processed/compat/fullscreen.d.ts +0 -32
  456. package/dist/_esm5.processed/compat/fullscreen.js +0 -78
  457. package/dist/_esm5.processed/compat/is_offline.d.ts +0 -39
  458. package/dist/_esm5.processed/compat/is_offline.js +0 -43
  459. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +0 -258
  460. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +0 -989
  461. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +0 -75
  462. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +0 -133
  463. package/dist/_esm5.processed/features/list/bif_parser.d.ts +0 -23
  464. package/dist/_esm5.processed/features/list/bif_parser.js +0 -27
  465. package/dist/_esm5.processed/features/list/image_buffer.js +0 -25
  466. package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +0 -38
  467. package/dist/_esm5.processed/transports/dash/image_pipelines.js +0 -129
  468. package/dist/_esm5.processed/utils/list_to_map.js +0 -28
  469. package/dist/_esm5.processed/utils/simple_set.d.ts +0 -51
  470. package/dist/_esm5.processed/utils/simple_set.js +0 -57
  471. package/dist/_esm5.processed/utils/uniq.d.ts +0 -36
  472. package/dist/_esm5.processed/utils/uniq.js +0 -43
  473. package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
  474. package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.js +0 -54
  475. package/dist/es2017/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
  476. package/dist/es2017/parsers/manifest/utils/is_segment_still_available.js +0 -51
  477. package/src/parsers/manifest/utils/is_segment_still_available.ts +0 -58
  478. package/src/typings/next-tick.d.ts +0 -23
  479. package/src/typings/object-assign.d.ts +0 -48
@@ -15,8 +15,8 @@
15
15
  */
16
16
  import { IErrorCode, IErrorType } from "../../errors";
17
17
  import { IFeature } from "../../features";
18
- import Manifest from "../../manifest";
19
- import { IAdaptation, IAudioTrack, IAudioTrackPreference, IAvailableAudioTrack, IAvailableTextTrack, IAvailableVideoTrack, IBifThumbnail, IBitrateEstimate, IConstructorOptions, IDecipherabilityUpdateContent, IKeySystemConfigurationOutput, ILoadVideoOptions, IPeriod, IPlayerError, IPlayerState, IPositionUpdate, IRepresentation, IStreamEvent, ITextTrack, ITextTrackPreference, IVideoTrack, IVideoTrackPreference } from "../../public_types";
18
+ import Manifest, { Adaptation, Representation } from "../../manifest";
19
+ import { IAudioRepresentation, IAudioTrack, IAudioTrackSetting, IAvailableAudioTrack, IAvailableTextTrack, IAvailableVideoTrack, IBrokenRepresentationsLockContext, IConstructorOptions, IKeySystemConfigurationOutput, IKeySystemOption, ILoadVideoOptions, ILockedAudioRepresentationsSettings, ILockedVideoRepresentationsSettings, ITrackUpdateEventPayload, IPeriod, IPeriodChangeEvent, IPlayerError, IPlayerState, IPositionUpdate, IStreamEvent, ITextTrack, IVideoRepresentation, ITextTrackSetting, IVideoTrack, IVideoTrackSetting } from "../../public_types";
20
20
  import EventEmitter, { IListener } from "../../utils/event_emitter";
21
21
  import Logger from "../../utils/logger";
22
22
  import { IBufferedChunk, IBufferType } from "../segment_buffers";
@@ -73,20 +73,12 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
73
73
  * `null` when no content is currently loading or loaded.
74
74
  */
75
75
  private _priv_contentInfos;
76
- /** List of favorite audio tracks, in preference order. */
77
- private _priv_preferredAudioTracks;
78
- /** List of favorite text tracks, in preference order. */
79
- private _priv_preferredTextTracks;
80
- /** List of favorite video tracks, in preference order. */
81
- private _priv_preferredVideoTracks;
82
76
  /** If `true` trickMode video tracks will be chosen if available. */
83
77
  private _priv_preferTrickModeTracks;
84
78
  /** Refer to last picture in picture event received. */
85
79
  private _priv_pictureInPictureRef;
86
80
  /** Store wanted configuration for the `limitVideoWidth` option. */
87
81
  private readonly _priv_limitVideoWidth;
88
- /** Store wanted configuration for the `throttleWhenHidden` option. */
89
- private readonly _priv_throttleWhenHidden;
90
82
  /** Store wanted configuration for the `throttleVideoBitrateWhenHidden` option. */
91
83
  private readonly _priv_throttleVideoBitrateWhenHidden;
92
84
  /** Store volume when mute is called, to restore it on unmute. */
@@ -99,8 +91,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
99
91
  * on stop.
100
92
  */
101
93
  private _priv_contentEventsMemory;
102
- /** Determines whether or not the player should stop at the end of video playback. */
103
- private readonly _priv_stopAtEnd;
104
94
  /**
105
95
  * Information that can be relied on once `reload` is called.
106
96
  * It should refer to the last content being played.
@@ -169,6 +159,7 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
169
159
  position?: number;
170
160
  relative?: number;
171
161
  };
162
+ keySystems?: IKeySystemOption[];
172
163
  autoPlay?: boolean;
173
164
  }): void;
174
165
  createDebugElement(element: HTMLElement): {
@@ -185,29 +176,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
185
176
  * @returns {Object|null} - The current Error (`null` when no error).
186
177
  */
187
178
  getError(): Error | null;
188
- /**
189
- * Returns manifest/playlist object.
190
- * null if the player is STOPPED.
191
- * @deprecated
192
- * @returns {Manifest|null} - The current Manifest (`null` when not known).
193
- */
194
- getManifest(): Manifest | null;
195
- /**
196
- * Returns Adaptations (tracks) for every currently playing type
197
- * (audio/video/text...).
198
- * @deprecated
199
- * @returns {Object|null} - The current Adaptation objects, per type (`null`
200
- * when none is known for now.
201
- */
202
- getCurrentAdaptations(): Partial<Record<IBufferType, IAdaptation | null>> | null;
203
- /**
204
- * Returns representations (qualities) for every currently playing type
205
- * (audio/video/text...).
206
- * @deprecated
207
- * @returns {Object|null} - The current Representation objects, per type
208
- * (`null` when none is known for now.
209
- */
210
- getCurrentRepresentations(): Partial<Record<IBufferType, IRepresentation | null>> | null;
211
179
  /**
212
180
  * Returns the media DOM element used by the player.
213
181
  * You should not its HTML5 API directly and use the player's method instead,
@@ -216,12 +184,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
216
184
  * disposed)
217
185
  */
218
186
  getVideoElement(): HTMLMediaElement | null;
219
- /**
220
- * If one returns the first native text-track element attached to the media element.
221
- * @deprecated
222
- * @returns {TextTrack} - The native TextTrack attached (`null` when none)
223
- */
224
- getNativeTextTrack(): TextTrack | null;
225
187
  /**
226
188
  * Returns the player's current state.
227
189
  * @returns {string} - The current Player's state
@@ -262,12 +224,12 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
262
224
  */
263
225
  areTrickModeTracksEnabled(): boolean;
264
226
  /**
265
- * Returns the url of the currently considered Manifest, or of the content for
227
+ * Returns the URL(s) of the currently considered Manifest, or of the content for
266
228
  * directfile content.
267
- * @returns {string|undefined} - Current URL. `undefined` if not known or no
268
- * URL yet.
229
+ * @returns {Array.<string>|undefined} - Current URL. `undefined` if not known
230
+ * or no URL yet.
269
231
  */
270
- getUrl(): string | undefined;
232
+ getContentUrls(): string[] | undefined;
271
233
  /**
272
234
  * Update URL of the content currently being played (e.g. DASH's MPD).
273
235
  * @param {Array.<string>|undefined} urls - URLs to reach that content /
@@ -284,28 +246,14 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
284
246
  * NaN if no video is playing.
285
247
  * @returns {Number}
286
248
  */
287
- getVideoDuration(): number;
249
+ getMediaDuration(): number;
288
250
  /**
289
251
  * Returns in seconds the difference between:
290
252
  * - the end of the current contiguous loaded range.
291
253
  * - the current time
292
254
  * @returns {Number}
293
255
  */
294
- getVideoBufferGap(): number;
295
- /**
296
- * Returns in seconds the difference between:
297
- * - the end of the current contiguous loaded range.
298
- * - the start of the current contiguous loaded range.
299
- * @returns {Number}
300
- */
301
- getVideoLoadedTime(): number;
302
- /**
303
- * Returns in seconds the difference between:
304
- * - the current time.
305
- * - the start of the current contiguous loaded range.
306
- * @returns {Number}
307
- */
308
- getVideoPlayedTime(): number;
256
+ getCurrentBufferGap(): number;
309
257
  /**
310
258
  * Get the current position, in s, in wall-clock time.
311
259
  * That is:
@@ -404,55 +352,25 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
404
352
  preferTrickModeTracks?: boolean;
405
353
  }): void;
406
354
  /**
407
- * Returns all available bitrates for the current video Adaptation.
408
- * @returns {Array.<Number>}
409
- */
410
- getAvailableVideoBitrates(): number[];
411
- /**
412
- * Returns all available bitrates for the current audio Adaptation.
413
- * @returns {Array.<Number>}
414
- */
415
- getAvailableAudioBitrates(): number[];
416
- /**
417
- * Returns the manual audio bitrate set. -1 if in AUTO mode.
418
- * @returns {Number}
419
- */
420
- getManualAudioBitrate(): number;
421
- /**
422
- * Returns the manual video bitrate set. -1 if in AUTO mode.
423
- * @returns {Number}
424
- */
425
- getManualVideoBitrate(): number;
426
- /**
427
- * Returns currently considered bitrate for video segments.
428
- * @returns {Number|undefined}
429
- */
430
- getVideoBitrate(): number | undefined;
431
- /**
432
- * Returns currently considered bitrate for audio segments.
433
- * @returns {Number|undefined}
434
- */
435
- getAudioBitrate(): number | undefined;
436
- /**
437
- * Returns minimum wanted video bitrate currently set.
438
- * @returns {Number}
439
- */
440
- getMinVideoBitrate(): number;
441
- /**
442
- * Returns minimum wanted audio bitrate currently set.
443
- * @returns {Number}
444
- */
445
- getMinAudioBitrate(): number;
446
- /**
447
- * Returns maximum wanted video bitrate currently set.
448
- * @returns {Number}
355
+ * Returns video Representation currently considered for the current Period.
356
+ *
357
+ * Returns `null` if no video track is playing for the current Period.
358
+ *
359
+ * Returns `undefined` either when are not currently playing any Period or
360
+ * when we don't know which Representation is playing.
361
+ * @returns {Object|null|undefined}
449
362
  */
450
- getMaxVideoBitrate(): number;
363
+ getVideoRepresentation(): IVideoRepresentation | null | undefined;
451
364
  /**
452
- * Returns maximum wanted audio bitrate currently set.
453
- * @returns {Number}
365
+ * Returns audio Representation currently considered for the current Period.
366
+ *
367
+ * Returns `null` if no audio track is playing for the current Period.
368
+ *
369
+ * Returns `undefined` either when are not currently playing any Period or
370
+ * when we don't know which Representation is playing.
371
+ * @returns {Object|null|undefined}
454
372
  */
455
- getMaxAudioBitrate(): number;
373
+ getAudioRepresentation(): IAudioRepresentation | null | undefined;
456
374
  /**
457
375
  * Play/Resume the current video.
458
376
  * @returns {Promise}
@@ -474,23 +392,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
474
392
  } | {
475
393
  wallClockTime: number;
476
394
  }): number;
477
- /**
478
- * Returns true if the media element is full screen.
479
- * @deprecated
480
- * @returns {Boolean}
481
- */
482
- isFullscreen(): boolean;
483
- /**
484
- * Set/exit fullScreen.
485
- * @deprecated
486
- * @param {Boolean} [goFull=true] - if false, exit full screen.
487
- */
488
- setFullscreen(goFull?: boolean): void;
489
- /**
490
- * Exit from full screen mode.
491
- * @deprecated
492
- */
493
- exitFullscreen(): void;
494
395
  /**
495
396
  * Returns the current player's audio volume on the media element.
496
397
  * From 0 (no audio) to 1 (maximum volume).
@@ -516,38 +417,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
516
417
  * If the volume was set to 0, set a default volume instead (see config).
517
418
  */
518
419
  unMute(): void;
519
- /**
520
- * Force the video bitrate to a given value. Act as a ceil.
521
- * -1 to set it on AUTO Mode
522
- * @param {Number} btr
523
- */
524
- setVideoBitrate(btr: number): void;
525
- /**
526
- * Force the audio bitrate to a given value. Act as a ceil.
527
- * -1 to set it on AUTO Mode
528
- * @param {Number} btr
529
- */
530
- setAudioBitrate(btr: number): void;
531
- /**
532
- * Update the minimum video bitrate the user can switch to.
533
- * @param {Number} btr
534
- */
535
- setMinVideoBitrate(btr: number): void;
536
- /**
537
- * Update the minimum audio bitrate the user can switch to.
538
- * @param {Number} btr
539
- */
540
- setMinAudioBitrate(btr: number): void;
541
- /**
542
- * Update the maximum video bitrate the user can switch to.
543
- * @param {Number} btr
544
- */
545
- setMaxVideoBitrate(btr: number): void;
546
- /**
547
- * Update the maximum audio bitrate the user can switch to.
548
- * @param {Number} btr
549
- */
550
- setMaxAudioBitrate(btr: number): void;
551
420
  /**
552
421
  * Set the max buffer size for the buffer behind the current position.
553
422
  * Every buffer data before will be removed.
@@ -599,6 +468,7 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
599
468
  * @returns {string|null}
600
469
  */
601
470
  getCurrentKeySystem(): string | null;
471
+ getCurrentPeriod(): IPeriod | null;
602
472
  /**
603
473
  * Returns both the name of the key system (e.g. `"com.widevine.alpha"`) and
604
474
  * the `MediaKeySystemConfiguration` currently associated to the
@@ -609,108 +479,86 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
609
479
  */
610
480
  getKeySystemConfiguration(): IKeySystemConfigurationOutput | null;
611
481
  /**
612
- * Returns every available audio tracks for the current Period.
613
- * @returns {Array.<Object>|null}
482
+ * Returns the list of available Periods for which the current audio, video or
483
+ * text track can now be changed.
484
+ * @returns {Array.<Object>}
614
485
  */
615
- getAvailableAudioTracks(): IAvailableAudioTrack[];
486
+ getAvailablePeriods(): IPeriod[];
616
487
  /**
617
- * Returns every available text tracks for the current Period.
618
- * @returns {Array.<Object>|null}
488
+ * Returns every available audio tracks for a given Period - or the current
489
+ * one if no `periodId` is given.
490
+ * @param {string|undefined} [periodId]
491
+ * @returns {Array.<Object>}
492
+ */
493
+ getAvailableAudioTracks(periodId?: string | undefined): IAvailableAudioTrack[];
494
+ /**
495
+ * Returns every available text tracks for a given Period - or the current
496
+ * one if no `periodId` is given.
497
+ * @param {string|undefined} [periodId]
498
+ * @returns {Array.<Object>}
619
499
  */
620
- getAvailableTextTracks(): IAvailableTextTrack[];
500
+ getAvailableTextTracks(periodId?: string | undefined): IAvailableTextTrack[];
621
501
  /**
622
502
  * Returns every available video tracks for the current Period.
623
- * @returns {Array.<Object>|null}
503
+ * @param {string|undefined} [periodId]
504
+ * @returns {Array.<Object>}
624
505
  */
625
- getAvailableVideoTracks(): IAvailableVideoTrack[];
506
+ getAvailableVideoTracks(periodId?: string | undefined): IAvailableVideoTrack[];
626
507
  /**
627
508
  * Returns currently chosen audio language for the current Period.
628
- * @returns {string}
509
+ * @param {string|undefined} [periodId]
510
+ * @returns {Object|null|undefined}
629
511
  */
630
- getAudioTrack(): IAudioTrack | null | undefined;
512
+ getAudioTrack(periodId?: string | undefined): IAudioTrack | null | undefined;
631
513
  /**
632
514
  * Returns currently chosen subtitle for the current Period.
633
- * @returns {string}
515
+ * @param {string|undefined} [periodId]
516
+ * @returns {Object|null|undefined}
634
517
  */
635
- getTextTrack(): ITextTrack | null | undefined;
518
+ getTextTrack(periodId?: string | undefined): ITextTrack | null | undefined;
636
519
  /**
637
520
  * Returns currently chosen video track for the current Period.
638
- * @returns {string}
521
+ * @param {string|undefined} [periodId]
522
+ * @returns {Object|null|undefined}
639
523
  */
640
- getVideoTrack(): IVideoTrack | null | undefined;
524
+ getVideoTrack(periodId?: string | undefined): IVideoTrack | null | undefined;
641
525
  /**
642
526
  * Update the audio language for the current Period.
643
- * @param {string} audioId
644
- * @throws Error - the current content has no TrackChoiceManager.
527
+ * @param {string | object} arg
528
+ * @throws Error - the current content has no TracksStore.
645
529
  * @throws Error - the given id is linked to no audio track.
646
530
  */
647
- setAudioTrack(audioId: string): void;
531
+ setAudioTrack(arg: string | IAudioTrackSetting): void;
648
532
  /**
649
533
  * Update the text language for the current Period.
650
- * @param {string} sub
651
- * @throws Error - the current content has no TrackChoiceManager.
534
+ * @param {string | Object} arg
535
+ * @throws Error - the current content has no TracksStore.
652
536
  * @throws Error - the given id is linked to no text track.
653
537
  */
654
- setTextTrack(textId: string): void;
538
+ setTextTrack(arg: string | ITextTrackSetting): void;
655
539
  /**
656
540
  * Disable subtitles for the current content.
541
+ * @param {string|undefined} [periodId]
657
542
  */
658
- disableTextTrack(): void;
543
+ disableTextTrack(periodId?: string | undefined): void;
659
544
  /**
660
545
  * Update the video track for the current Period.
661
- * @param {string} videoId
662
- * @throws Error - the current content has no TrackChoiceManager.
546
+ * @param {string | Object} arg
547
+ * @throws Error - the current content has no TracksStore.
663
548
  * @throws Error - the given id is linked to no video track.
664
549
  */
665
- setVideoTrack(videoId: string): void;
550
+ setVideoTrack(arg: string | IVideoTrackSetting): void;
666
551
  /**
667
552
  * Disable video track for the current content.
553
+ * @param {string|undefined} [periodId]
668
554
  */
669
- disableVideoTrack(): void;
670
- /**
671
- * Returns the current list of preferred audio tracks, in preference order.
672
- * @returns {Array.<Object>}
673
- */
674
- getPreferredAudioTracks(): IAudioTrackPreference[];
675
- /**
676
- * Returns the current list of preferred text tracks, in preference order.
677
- * @returns {Array.<Object>}
678
- */
679
- getPreferredTextTracks(): ITextTrackPreference[];
680
- /**
681
- * Returns the current list of preferred text tracks, in preference order.
682
- * @returns {Array.<Object>}
683
- */
684
- getPreferredVideoTracks(): IVideoTrackPreference[];
685
- /**
686
- * Set the list of preferred audio tracks, in preference order.
687
- * @param {Array.<Object>} tracks
688
- * @param {boolean} shouldApply - `true` if those preferences should be
689
- * applied on the currently loaded Period. `false` if it should only
690
- * be applied to new content.
691
- */
692
- setPreferredAudioTracks(tracks: IAudioTrackPreference[], shouldApply?: boolean): void;
693
- /**
694
- * Set the list of preferred text tracks, in preference order.
695
- * @param {Array.<Object>} tracks
696
- * @param {boolean} shouldApply - `true` if those preferences should be
697
- * applied on the currently loaded Periods. `false` if it should only
698
- * be applied to new content.
699
- */
700
- setPreferredTextTracks(tracks: ITextTrackPreference[], shouldApply?: boolean): void;
701
- /**
702
- * Set the list of preferred text tracks, in preference order.
703
- * @param {Array.<Object>} tracks
704
- * @param {boolean} shouldApply - `true` if those preferences should be
705
- * applied on the currently loaded Period. `false` if it should only
706
- * be applied to new content.
707
- */
708
- setPreferredVideoTracks(tracks: IVideoTrackPreference[], shouldApply?: boolean): void;
709
- /**
710
- * @returns {Array.<Object>|null}
711
- * @deprecated
712
- */
713
- getImageTrackData(): IBifThumbnail[] | null;
555
+ disableVideoTrack(periodId?: string | undefined): void;
556
+ lockVideoRepresentations(arg: string[] | ILockedVideoRepresentationsSettings): void;
557
+ lockAudioRepresentations(arg: string[] | ILockedAudioRepresentationsSettings): void;
558
+ getLockedVideoRepresentations(periodId?: string | undefined): string[] | null;
559
+ getLockedAudioRepresentations(periodId?: string | undefined): string[] | null;
560
+ unlockVideoRepresentations(periodId?: string | undefined): void;
561
+ unlockAudioRepresentations(periodId?: string | undefined): void;
714
562
  /**
715
563
  * Get minimum seek-able position.
716
564
  * @returns {number}
@@ -730,6 +578,16 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
730
578
  * @returns {Array.<Object>|null}
731
579
  */
732
580
  __priv_getSegmentBufferContent(bufferType: IBufferType): IBufferedChunk[] | null;
581
+ /**
582
+ * /!\ For tools use only! Do not touch!
583
+ *
584
+ * Returns manifest/playlist object.
585
+ * null if the player is STOPPED.
586
+ * @returns {Manifest|null} - The current Manifest (`null` when not known).
587
+ */
588
+ __priv_getManifest(): Manifest | null;
589
+ __priv_getCurrentAdaptation(): Partial<Record<IBufferType, Adaptation | null>> | null;
590
+ __priv_getCurrentRepresentations(): Partial<Record<IBufferType, Representation | null>> | null;
733
591
  /**
734
592
  * Reset all state properties relative to a playing content.
735
593
  */
@@ -786,15 +644,7 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
786
644
  *
787
645
  * @param {Object} value
788
646
  */
789
- private _priv_onBitrateEstimationChange;
790
- /**
791
- * Triggered each time a textTrack is added to the video DOM Element.
792
- *
793
- * Trigger the right Player Event.
794
- *
795
- * @param {Array.<TextTrackElement>} tracks
796
- */
797
- private _priv_onNativeTextTracksNext;
647
+ private _priv_onBitrateEstimateChange;
798
648
  /**
799
649
  * Triggered each time the player state updates.
800
650
  *
@@ -812,23 +662,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
812
662
  * @param {Object} observation
813
663
  */
814
664
  private _priv_triggerPositionUpdate;
815
- /**
816
- * Trigger one of the "availableBitratesChange" event only if it changed from
817
- * the previously stored value.
818
- * @param {string} event
819
- * @param {Array.<number>} newVal
820
- * @param {Object} currentContentCancelSignal
821
- */
822
- private _priv_triggerAvailableBitratesChangeEvent;
823
- /**
824
- * Trigger one of the "bitrateChange" event only if it changed from the
825
- * previously stored value.
826
- * @param {string} event
827
- * @param {number} newVal
828
- * @param {Object} currentContentCancelSignal
829
- */
830
- private _priv_triggerCurrentBitrateChangeEvent;
831
- private _priv_getCurrentRepresentations;
832
665
  /**
833
666
  * @param {string} evt
834
667
  * @param {*} arg
@@ -836,12 +669,11 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
836
669
  */
837
670
  private _priv_triggerEventIfNotStopped;
838
671
  /**
839
- * @param {Object} defaultAudioTrack
840
- * @param {Object} defaultTextTrack
841
672
  * @param {Object} cancelSignal
842
673
  * @returns {Object}
843
674
  */
844
- private _priv_initializeMediaElementTrackChoiceManager;
675
+ private _priv_initializeMediaElementTracksStore;
676
+ private _priv_callTracksStoreGetterSetter;
845
677
  }
846
678
  /** Every events sent by the RxPlayer's public API. */
847
679
  interface IPublicAPIEvent {
@@ -850,26 +682,20 @@ interface IPublicAPIEvent {
850
682
  audioTrackChange: IAudioTrack | null;
851
683
  textTrackChange: ITextTrack | null;
852
684
  videoTrackChange: IVideoTrack | null;
853
- audioBitrateChange: number;
854
- videoBitrateChange: number;
855
- imageTrackUpdate: {
856
- data: IBifThumbnail[];
857
- };
858
- fullscreenChange: boolean;
859
- bitrateEstimationChange: IBitrateEstimate;
685
+ audioRepresentationChange: IVideoRepresentation | null;
686
+ videoRepresentationChange: IAudioRepresentation | null;
860
687
  volumeChange: number;
861
688
  error: IPlayerError | Error;
862
689
  warning: IPlayerError | Error;
863
- nativeTextTracksChange: TextTrack[];
864
- periodChange: IPeriod;
865
- availableAudioBitratesChange: number[];
866
- availableVideoBitratesChange: number[];
690
+ periodChange: IPeriodChangeEvent;
867
691
  availableAudioTracksChange: IAvailableAudioTrack[];
868
692
  availableTextTracksChange: IAvailableTextTrack[];
869
693
  availableVideoTracksChange: IAvailableVideoTrack[];
870
- decipherabilityUpdate: IDecipherabilityUpdateContent[];
871
694
  play: null;
872
695
  pause: null;
696
+ newAvailablePeriods: IPeriod[];
697
+ brokenRepresentationsLock: IBrokenRepresentationsLockContext;
698
+ trackUpdate: ITrackUpdateEventPayload;
873
699
  seeking: null;
874
700
  seeked: null;
875
701
  streamEvent: IStreamEvent;