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
@@ -46,13 +46,6 @@ export interface IABREstimate {
46
46
  * If `undefined`, we do not currently know the bitrate for the current type.
47
47
  */
48
48
  bitrate: undefined | number;
49
- /**
50
- * If `true`, the `representation` chosen in the current estimate object is
51
- * linked to a choice chosen manually by the user.
52
- *
53
- * If `false`, this estimate is just due to the adaptative logic.
54
- */
55
- manual: boolean;
56
49
  /**
57
50
  * The Representation considered as the most adapted to the current network
58
51
  * and playback conditions.
@@ -243,50 +236,6 @@ export interface IRepresentationEstimatorArguments {
243
236
  * Such contents have specific settings.
244
237
  */
245
238
  lowLatencyMode: boolean;
246
- /**
247
- * Reference allowing to set manually choose a Representation:
248
- *
249
- * The highest-quality Representation with a bitrate lower-or-equal to that
250
- * value will be chosen.
251
- * If no Representation has bitrate lower or equal to that value, the
252
- * Representation with the lowest bitrate will be chosen instead.
253
- *
254
- * If no Representation has a bitrate lower or equal to that value, the
255
- * Representation with the lowest bitrate will be chosen instead.
256
- *
257
- * Set it to a negative value to enable "adaptative mode" instead:
258
- * `getEstimateReference` will choose the best Representation based on the
259
- * current network and playback conditions.
260
- */
261
- manualBitrate: IReadOnlySharedReference<number>;
262
- /**
263
- * Set a bitrate floor (the minimum reachable bitrate) for adaptative
264
- * streaming.
265
- *
266
- * When `getEstimateReference` is choosing a `Representation` in
267
- * adaptive mode (e.g. no Representation has been manually chosen through
268
- * the `manualBitrate` reference), it will never choose a Representation
269
- * having a bitrate inferior to that value, with a notable exception:
270
- * If no Representation has a bitrate superior or equal to that value, the
271
- * Representation with the lowest bitrate will be chosen instead.
272
- *
273
- * You can set it to `0` to disable any effect of that option.
274
- */
275
- minAutoBitrate: IReadOnlySharedReference<number>;
276
- /**
277
- * Set a bitrate ceil (the maximum reachable bitrate) for adaptative
278
- * streaming.
279
- *
280
- * When `getEstimateReference` is choosing a `Representation` in
281
- * adaptive mode (e.g. no Representation has been manually chosen through
282
- * the `manualBitrate` reference), it will never choose a Representation
283
- * having a bitrate superior to that value, with a notable exception:
284
- * If no Representation has a bitrate lower or equal to that value, the
285
- * Representation with the lowest bitrate will be chosen instead.
286
- *
287
- * You can set it to `Infinity` to disable any effect of that option.
288
- */
289
- maxAutoBitrate: IReadOnlySharedReference<number>;
290
239
  /** The list of Representations `getEstimateReference` can choose from. */
291
240
  representations: IReadOnlySharedReference<Representation[]>;
292
241
  /** Context for the list of Representations to choose. */
@@ -343,12 +292,6 @@ export interface IAdaptiveRepresentationSelectorArguments {
343
292
  * Set it to `true` if you're playing such content.
344
293
  */
345
294
  lowLatencyMode: boolean;
346
- /** Minimum bitrate chosen when in adaptive mode, per type (0 by default) */
347
- minAutoBitrates: Partial<Record<IBufferType, IReadOnlySharedReference<number>>>;
348
- /** Maximum bitrate chosen when in adaptive mode, per type (0 by default) */
349
- maxAutoBitrates: Partial<Record<IBufferType, IReadOnlySharedReference<number>>>;
350
- /** Manually forced bitrate set for a given type (`-1` for adaptive mode) */
351
- manualBitrates: Partial<Record<IBufferType, IReadOnlySharedReference<number>>>;
352
295
  /** Allows to filter which Representations can be choosen. */
353
296
  throttlers: IRepresentationEstimatorThrottlers;
354
297
  }
@@ -358,6 +301,5 @@ export interface IAdaptiveRepresentationSelectorArguments {
358
301
  */
359
302
  export interface IRepresentationEstimatorThrottlers {
360
303
  limitWidth: Partial<Record<IBufferType, IReadOnlySharedReference<number>>>;
361
- throttle: Partial<Record<IBufferType, IReadOnlySharedReference<number>>>;
362
304
  throttleBitrate: Partial<Record<IBufferType, IReadOnlySharedReference<number>>>;
363
305
  }
@@ -30,12 +30,6 @@ import PendingRequestsStore from "./utils/pending_requests_store";
30
30
  import RepresentationScoreCalculator from "./utils/representation_score_calculator";
31
31
  import selectOptimalRepresentation from "./utils/select_optimal_representation";
32
32
  // Create default shared references
33
- var manualBitrateDefaultRef = new SharedReference(-1);
34
- manualBitrateDefaultRef.finish();
35
- var minAutoBitrateDefaultRef = new SharedReference(0);
36
- minAutoBitrateDefaultRef.finish();
37
- var maxAutoBitrateDefaultRef = new SharedReference(Infinity);
38
- maxAutoBitrateDefaultRef.finish();
39
33
  var limitWidthDefaultRef = new SharedReference(undefined);
40
34
  limitWidthDefaultRef.finish();
41
35
  var throttleBitrateDefaultRef = new SharedReference(Infinity);
@@ -54,7 +48,7 @@ export default function createAdaptiveRepresentationSelector(options) {
54
48
  * One per active media type.
55
49
  */
56
50
  var bandwidthEstimators = {};
57
- var manualBitrates = options.manualBitrates, minAutoBitrates = options.minAutoBitrates, maxAutoBitrates = options.maxAutoBitrates, initialBitrates = options.initialBitrates, throttlers = options.throttlers, lowLatencyMode = options.lowLatencyMode;
51
+ var initialBitrates = options.initialBitrates, throttlers = options.throttlers, lowLatencyMode = options.lowLatencyMode;
58
52
  /**
59
53
  * Returns Object emitting Representation estimates as well as callbacks
60
54
  * allowing to helping it produce them.
@@ -68,18 +62,15 @@ export default function createAdaptiveRepresentationSelector(options) {
68
62
  * @returns {Array.<Object>}
69
63
  */
70
64
  return function getEstimates(context, currentRepresentation, representations, playbackObserver, stopAllEstimates) {
71
- var _a, _b, _c, _d, _e, _f, _g;
65
+ var _a, _b, _c;
72
66
  var type = context.adaptation.type;
73
67
  var bandwidthEstimator = _getBandwidthEstimator(type);
74
- var manualBitrate = (_a = manualBitrates[type]) !== null && _a !== void 0 ? _a : manualBitrateDefaultRef;
75
- var minAutoBitrate = (_b = minAutoBitrates[type]) !== null && _b !== void 0 ? _b : minAutoBitrateDefaultRef;
76
- var maxAutoBitrate = (_c = maxAutoBitrates[type]) !== null && _c !== void 0 ? _c : maxAutoBitrateDefaultRef;
77
- var initialBitrate = (_d = initialBitrates[type]) !== null && _d !== void 0 ? _d : 0;
68
+ var initialBitrate = (_a = initialBitrates[type]) !== null && _a !== void 0 ? _a : 0;
78
69
  var filters = {
79
- limitWidth: (_e = throttlers.limitWidth[type]) !== null && _e !== void 0 ? _e : limitWidthDefaultRef,
80
- throttleBitrate: (_g = (_f = throttlers.throttleBitrate[type]) !== null && _f !== void 0 ? _f : throttlers.throttle[type]) !== null && _g !== void 0 ? _g : throttleBitrateDefaultRef,
70
+ limitWidth: (_b = throttlers.limitWidth[type]) !== null && _b !== void 0 ? _b : limitWidthDefaultRef,
71
+ throttleBitrate: (_c = throttlers.throttleBitrate[type]) !== null && _c !== void 0 ? _c : throttleBitrateDefaultRef,
81
72
  };
82
- return getEstimateReference({ bandwidthEstimator: bandwidthEstimator, context: context, currentRepresentation: currentRepresentation, filters: filters, initialBitrate: initialBitrate, manualBitrate: manualBitrate, minAutoBitrate: minAutoBitrate, maxAutoBitrate: maxAutoBitrate, playbackObserver: playbackObserver, representations: representations, lowLatencyMode: lowLatencyMode }, stopAllEstimates);
73
+ return getEstimateReference({ bandwidthEstimator: bandwidthEstimator, context: context, currentRepresentation: currentRepresentation, filters: filters, initialBitrate: initialBitrate, playbackObserver: playbackObserver, representations: representations, lowLatencyMode: lowLatencyMode }, stopAllEstimates);
83
74
  };
84
75
  /**
85
76
  * Returns interface allowing to estimate network throughtput for a given type.
@@ -117,7 +108,7 @@ export default function createAdaptiveRepresentationSelector(options) {
117
108
  * @returns {Array.<Object>}
118
109
  */
119
110
  function getEstimateReference(_a, stopAllEstimates) {
120
- var bandwidthEstimator = _a.bandwidthEstimator, context = _a.context, currentRepresentation = _a.currentRepresentation, filters = _a.filters, initialBitrate = _a.initialBitrate, lowLatencyMode = _a.lowLatencyMode, manualBitrate = _a.manualBitrate, maxAutoBitrate = _a.maxAutoBitrate, minAutoBitrate = _a.minAutoBitrate, playbackObserver = _a.playbackObserver, representationsRef = _a.representations;
111
+ var bandwidthEstimator = _a.bandwidthEstimator, context = _a.context, currentRepresentation = _a.currentRepresentation, filters = _a.filters, initialBitrate = _a.initialBitrate, lowLatencyMode = _a.lowLatencyMode, playbackObserver = _a.playbackObserver, representationsRef = _a.representations;
121
112
  var scoreCalculator = new RepresentationScoreCalculator();
122
113
  var networkAnalyzer = new NetworkAnalyzer(initialBitrate !== null && initialBitrate !== void 0 ? initialBitrate : 0, lowLatencyMode);
123
114
  var requestsStore = new PendingRequestsStore();
@@ -145,21 +136,10 @@ function getEstimateReference(_a, stopAllEstimates) {
145
136
  representationsRef.onUpdate(restartEstimatesProductionFromCurrentConditions, { clearSignal: stopAllEstimates });
146
137
  return { estimates: estimateRef, callbacks: callbacks };
147
138
  function createEstimateReference(representations, innerCancellationSignal) {
148
- if (representations.length === 0) {
149
- // No Representation given, return `null` as documented
150
- return new SharedReference({
151
- representation: null,
152
- bitrate: undefined,
153
- knownStableBitrate: undefined,
154
- manual: false,
155
- urgent: true,
156
- });
157
- }
158
- if (representations.length === 1) {
139
+ if (representations.length <= 1) {
159
140
  // There's only a single Representation. Just choose it.
160
141
  return new SharedReference({ bitrate: undefined,
161
142
  representation: representations[0],
162
- manual: false,
163
143
  urgent: true,
164
144
  knownStableBitrate: undefined });
165
145
  }
@@ -205,9 +185,6 @@ function getEstimateReference(_a, stopAllEstimates) {
205
185
  innerCancellationSignal.register(function () {
206
186
  onAddedSegment = noop;
207
187
  });
208
- manualBitrate.onUpdate(updateEstimate, { clearSignal: innerCancellationSignal });
209
- minAutoBitrate.onUpdate(updateEstimate, { clearSignal: innerCancellationSignal });
210
- maxAutoBitrate.onUpdate(updateEstimate, { clearSignal: innerCancellationSignal });
211
188
  filters.limitWidth.onUpdate(updateEstimate, { clearSignal: innerCancellationSignal });
212
189
  filters.limitWidth.onUpdate(updateEstimate, { clearSignal: innerCancellationSignal });
213
190
  return innerEstimateRef;
@@ -216,24 +193,10 @@ function getEstimateReference(_a, stopAllEstimates) {
216
193
  }
217
194
  /** Returns the actual estimate based on all methods and algorithm available. */
218
195
  function getCurrentEstimate() {
219
- var manualBitrateVal = manualBitrate.getValue();
220
- if (manualBitrateVal >= 0) {
221
- // A manual bitrate has been set. Just choose Representation according to it.
222
- var manualRepresentation = selectOptimalRepresentation(representations, manualBitrateVal, 0, Infinity);
223
- return {
224
- representation: manualRepresentation,
225
- bitrate: undefined,
226
- knownStableBitrate: undefined,
227
- manual: true,
228
- urgent: true, // a manual bitrate switch should happen immediately
229
- };
230
- }
231
196
  var bufferGap = lastPlaybackObservation.bufferGap, position = lastPlaybackObservation.position, maximumPosition = lastPlaybackObservation.maximumPosition;
232
197
  var widthLimit = filters.limitWidth.getValue();
233
198
  var bitrateThrottle = filters.throttleBitrate.getValue();
234
199
  var currentRepresentationVal = currentRepresentation.getValue();
235
- var minAutoBitrateVal = minAutoBitrate.getValue();
236
- var maxAutoBitrateVal = maxAutoBitrate.getValue();
237
200
  var filteredReps = getFilteredRepresentations(representations, widthLimit, bitrateThrottle);
238
201
  var requests = requestsStore.getRequests();
239
202
  var _a = networkAnalyzer
@@ -259,7 +222,7 @@ function getEstimateReference(_a, stopAllEstimates) {
259
222
  * This is a safe enough choice but might be lower than what the user
260
223
  * could actually profit from.
261
224
  */
262
- var chosenRepFromBandwidth = selectOptimalRepresentation(filteredReps, bitrateChosen, minAutoBitrateVal, maxAutoBitrateVal);
225
+ var chosenRepFromBandwidth = selectOptimalRepresentation(filteredReps, bitrateChosen);
263
226
  /**
264
227
  * Current optimal Representation's bandwidth choosen by a buffer-based
265
228
  * adaptive algorithm.
@@ -280,7 +243,7 @@ function getEstimateReference(_a, stopAllEstimates) {
280
243
  if (allowBufferBasedEstimates &&
281
244
  currentBufferBasedEstimate !== undefined &&
282
245
  currentBufferBasedEstimate > currentBestBitrate) {
283
- chosenRepFromBufferSize = selectOptimalRepresentation(filteredReps, currentBufferBasedEstimate, minAutoBitrateVal, maxAutoBitrateVal);
246
+ chosenRepFromBufferSize = selectOptimalRepresentation(filteredReps, currentBufferBasedEstimate);
284
247
  currentBestBitrate = chosenRepFromBufferSize.bitrate;
285
248
  }
286
249
  /**
@@ -313,30 +276,27 @@ function getEstimateReference(_a, stopAllEstimates) {
313
276
  return { bitrate: bandwidthEstimate,
314
277
  representation: chosenRepFromGuessMode,
315
278
  urgent: currentRepresentationVal === null ||
316
- chosenRepFromGuessMode.bitrate < currentRepresentationVal.bitrate,
317
- manual: false, knownStableBitrate: knownStableBitrate };
279
+ chosenRepFromGuessMode.bitrate < currentRepresentationVal.bitrate, knownStableBitrate: knownStableBitrate };
318
280
  }
319
281
  else if (chosenRepFromBufferSize !== null) {
320
282
  log.debug("ABR: Choosing representation with buffer-based estimation.", chosenRepFromBufferSize.bitrate, chosenRepFromBufferSize.id);
321
283
  prevEstimate.update(chosenRepFromBufferSize, bandwidthEstimate, 0 /* ABRAlgorithmType.BufferBased */);
322
284
  return { bitrate: bandwidthEstimate,
323
285
  representation: chosenRepFromBufferSize,
324
- urgent: networkAnalyzer.isUrgent(chosenRepFromBufferSize.bitrate, currentRepresentationVal, requests, lastPlaybackObservation),
325
- manual: false, knownStableBitrate: knownStableBitrate };
286
+ urgent: networkAnalyzer.isUrgent(chosenRepFromBufferSize.bitrate, currentRepresentationVal, requests, lastPlaybackObservation), knownStableBitrate: knownStableBitrate };
326
287
  }
327
288
  else {
328
289
  log.debug("ABR: Choosing representation with bandwidth estimation.", chosenRepFromBandwidth.bitrate, chosenRepFromBandwidth.id);
329
290
  prevEstimate.update(chosenRepFromBandwidth, bandwidthEstimate, 1 /* ABRAlgorithmType.BandwidthBased */);
330
291
  return { bitrate: bandwidthEstimate,
331
292
  representation: chosenRepFromBandwidth,
332
- urgent: networkAnalyzer.isUrgent(chosenRepFromBandwidth.bitrate, currentRepresentationVal, requests, lastPlaybackObservation),
333
- manual: false, knownStableBitrate: knownStableBitrate };
293
+ urgent: networkAnalyzer.isUrgent(chosenRepFromBandwidth.bitrate, currentRepresentationVal, requests, lastPlaybackObservation), knownStableBitrate: knownStableBitrate };
334
294
  }
335
295
  }
336
296
  }
337
297
  /**
338
298
  * Stop previous estimate production (if one) and restart it considering new
339
- * conditions (such as a manual bitrate and/or a new list of Representations).
299
+ * conditions (such as a new list of Representations).
340
300
  */
341
301
  function restartEstimatesProductionFromCurrentConditions() {
342
302
  var representations = representationsRef.getValue();
@@ -20,14 +20,8 @@ import { Representation } from "../../../manifest";
20
20
  * bitrates.
21
21
  * @param {Array.<Representation>} representations - The representations array,
22
22
  * sorted in bitrate ascending order.
23
- * @param {Number} optimalBitrate - The optimal bitrate the Representation
23
+ * @param {Number} wantedBitrate - The optimal bitrate the Representation
24
24
  * should have under the current condition.
25
- * @param {Number} minBitrate - The minimum bitrate the chosen Representation
26
- * should have. We will take the Representation with the maximum bitrate if none
27
- * is found.
28
- * @param {Number} maxBitrate - The maximum bitrate the chosen Representation
29
- * should have. We will take the Representation with the minimum bitrate if none
30
- * is found.
31
25
  * @returns {Representation|undefined}
32
26
  */
33
- export default function selectOptimalRepresentation(representations: Representation[], optimalBitrate: number, minBitrate: number, maxBitrate: number): Representation;
27
+ export default function selectOptimalRepresentation(representations: Representation[], wantedBitrate: number): Representation;
@@ -20,20 +20,11 @@ import arrayFindIndex from "../../../utils/array_find_index";
20
20
  * bitrates.
21
21
  * @param {Array.<Representation>} representations - The representations array,
22
22
  * sorted in bitrate ascending order.
23
- * @param {Number} optimalBitrate - The optimal bitrate the Representation
23
+ * @param {Number} wantedBitrate - The optimal bitrate the Representation
24
24
  * should have under the current condition.
25
- * @param {Number} minBitrate - The minimum bitrate the chosen Representation
26
- * should have. We will take the Representation with the maximum bitrate if none
27
- * is found.
28
- * @param {Number} maxBitrate - The maximum bitrate the chosen Representation
29
- * should have. We will take the Representation with the minimum bitrate if none
30
- * is found.
31
25
  * @returns {Representation|undefined}
32
26
  */
33
- export default function selectOptimalRepresentation(representations, optimalBitrate, minBitrate, maxBitrate) {
34
- var wantedBitrate = optimalBitrate <= minBitrate ? minBitrate :
35
- optimalBitrate >= maxBitrate ? maxBitrate :
36
- optimalBitrate;
27
+ export default function selectOptimalRepresentation(representations, wantedBitrate) {
37
28
  var firstIndexTooHigh = arrayFindIndex(representations, function (representation) { return representation.bitrate > wantedBitrate; });
38
29
  if (firstIndexTooHigh === -1) {
39
30
  return representations[representations.length - 1];
@@ -1,4 +1,4 @@
1
- var BUFFER_WIDTH_IN_SECONDS = 10000;
1
+ var BUFFER_WIDTH_IN_SECONDS = 30 * 60;
2
2
  var COLORS = [
3
3
  "#2ab7ca",
4
4
  "#fed766",
@@ -65,11 +65,7 @@ var SegmentBufferGraph = /** @class */ (function () {
65
65
  var minimumPosition;
66
66
  var maximumPosition;
67
67
  if (maximumPoint - minimumPoint > BUFFER_WIDTH_IN_SECONDS) {
68
- if (currentTime === undefined) {
69
- minimumPosition = minimumPoint;
70
- maximumPosition = maximumPoint;
71
- }
72
- else if (maximumPoint - currentTime < BUFFER_WIDTH_IN_SECONDS / 2) {
68
+ if (maximumPoint - currentTime < BUFFER_WIDTH_IN_SECONDS / 2) {
73
69
  maximumPosition = maximumPoint;
74
70
  minimumPosition = maximumPoint - BUFFER_WIDTH_IN_SECONDS;
75
71
  }
@@ -17,6 +17,7 @@ export default function constructDebugGeneralInfo(instance, parentElt, cancelSig
17
17
  representationsElt,
18
18
  ]);
19
19
  function updateGeneralInfo() {
20
+ var _a, _b, _c, _d, _e;
20
21
  var videoElement = instance.getVideoElement();
21
22
  if (videoElement === null) {
22
23
  // disposed player. Clean-up everything
@@ -28,7 +29,7 @@ export default function constructDebugGeneralInfo(instance, parentElt, cancelSig
28
29
  }
29
30
  else {
30
31
  var currentTime = instance.getPosition();
31
- var bufferGap = instance.getVideoBufferGap();
32
+ var bufferGap = instance.getCurrentBufferGap();
32
33
  var bufferGapStr = bufferGap === Infinity ? "0" : bufferGap.toFixed(2);
33
34
  var valuesLine1 = [
34
35
  ["ct", currentTime.toFixed(2)],
@@ -55,30 +56,6 @@ export default function constructDebugGeneralInfo(instance, parentElt, cancelSig
55
56
  if (mba !== Infinity) {
56
57
  valuesLine2.push(["mba", String(mba)]);
57
58
  }
58
- var mia = instance.getMinAudioBitrate();
59
- if (mia !== 0) {
60
- valuesLine2.push(["mia", String(mia)]);
61
- }
62
- var miv = instance.getMinVideoBitrate();
63
- if (miv !== 0) {
64
- valuesLine2.push(["miv", String(miv)]);
65
- }
66
- var maa = instance.getMaxAudioBitrate();
67
- if (maa !== Infinity) {
68
- valuesLine2.push(["maa", String(maa)]);
69
- }
70
- var mav = instance.getMaxVideoBitrate();
71
- if (mav !== Infinity) {
72
- valuesLine2.push(["mav", String(mav)]);
73
- }
74
- var fab = instance.getManualAudioBitrate();
75
- if (fab >= 0) {
76
- valuesLine2.push(["fab", String(fab)]);
77
- }
78
- var fvb = instance.getManualVideoBitrate();
79
- if (fvb >= 0) {
80
- valuesLine2.push(["fvb", String(fvb)]);
81
- }
82
59
  var mbs = instance.getMaxVideoBufferSize();
83
60
  if (mbs !== Infinity) {
84
61
  valuesLine2.push(["mbs", String(mbs)]);
@@ -99,12 +76,12 @@ export default function constructDebugGeneralInfo(instance, parentElt, cancelSig
99
76
  valuesLine3.push(["er", "\"".concat(String(error), "\"")]);
100
77
  }
101
78
  generalInfoElt.innerHTML = "";
102
- for (var _i = 0, _a = [valuesLine1, valuesLine2, valuesLine3]; _i < _a.length; _i++) {
103
- var valueSet = _a[_i];
79
+ for (var _i = 0, _f = [valuesLine1, valuesLine2, valuesLine3]; _i < _f.length; _i++) {
80
+ var valueSet = _f[_i];
104
81
  if (valueSet.length > 0) {
105
82
  var lineInfoElt = createElement("div");
106
- for (var _b = 0, valueSet_1 = valueSet; _b < valueSet_1.length; _b++) {
107
- var value = valueSet_1[_b];
83
+ for (var _g = 0, valueSet_1 = valueSet; _g < valueSet_1.length; _g++) {
84
+ var value = valueSet_1[_g];
108
85
  lineInfoElt.appendChild(createMetricTitle(value[0]));
109
86
  lineInfoElt.appendChild(createElement("span", {
110
87
  textContent: value[1] + " ",
@@ -114,7 +91,7 @@ export default function constructDebugGeneralInfo(instance, parentElt, cancelSig
114
91
  }
115
92
  }
116
93
  if (isExtendedMode(parentElt)) {
117
- var url = instance.getUrl();
94
+ var url = (_a = instance.getContentUrls()) === null || _a === void 0 ? void 0 : _a[0];
118
95
  if (url !== undefined) {
119
96
  var reducedUrl = url.length > 100 ?
120
97
  url.substring(0, 99) + "…" :
@@ -175,8 +152,12 @@ export default function constructDebugGeneralInfo(instance, parentElt, cancelSig
175
152
  ]);
176
153
  adaptationsElt.appendChild(textAdaps);
177
154
  }
178
- var videoBitrates = instance.getAvailableVideoBitrates();
179
- var audioBitrates = instance.getAvailableAudioBitrates();
155
+ var videoBitrates = (_c = (_b = instance.getVideoTrack()) === null || _b === void 0 ? void 0 : _b.representations.map(function (r) {
156
+ return r.bitrate;
157
+ }).filter(function (bitrate) { return bitrate !== undefined; })) !== null && _c !== void 0 ? _c : [];
158
+ var audioBitrates = (_e = (_d = instance.getAudioTrack()) === null || _d === void 0 ? void 0 : _d.representations.map(function (r) {
159
+ return r.bitrate;
160
+ }).filter(function (bitrate) { return bitrate !== undefined; })) !== null && _e !== void 0 ? _e : [];
180
161
  representationsElt.innerHTML = "";
181
162
  if (videoBitrates.length > 0) {
182
163
  representationsElt.appendChild(createMetricTitle("vb"));
@@ -67,9 +67,9 @@ export default function createSegmentBufferGraph(instance, bufferType, title, pa
67
67
  }
68
68
  }
69
69
  loadingRangeRepInfoElt.innerHTML = "";
70
- var rep = (_c = instance.getCurrentRepresentations()) === null || _c === void 0 ? void 0 : _c[bufferType];
71
- var adap = (_d = instance.getCurrentAdaptations()) === null || _d === void 0 ? void 0 : _d[bufferType];
72
- var manifest = instance.getManifest();
70
+ var rep = (_c = instance.__priv_getCurrentRepresentations()) === null || _c === void 0 ? void 0 : _c[bufferType];
71
+ var adap = (_d = instance.__priv_getCurrentAdaptation()) === null || _d === void 0 ? void 0 : _d[bufferType];
72
+ var manifest = instance.__priv_getManifest();
73
73
  if (manifest !== null && !isNullOrUndefined(rep) && !isNullOrUndefined(adap)) {
74
74
  var period = manifest.getPeriodForTime(currentTime);
75
75
  if (period !== undefined) {
@@ -22,7 +22,7 @@ export default function createSegmentBufferSizeGraph(instance, parentElt, cancel
22
22
  clearInterval(intervalId);
23
23
  return;
24
24
  }
25
- var bufferGap = instance.getVideoBufferGap();
25
+ var bufferGap = instance.getCurrentBufferGap();
26
26
  if (bufferGap === Infinity) {
27
27
  bufferSizeGraph.pushBufferSize(0);
28
28
  }
@@ -13,8 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ISupplementaryImageTrack, ISupplementaryTextTrack } from "../../manifest";
17
- import { IAudioTrackPreference, IAudioTrackSwitchingMode, IConstructorOptions, IKeySystemOption, ILoadedManifestFormat, ILoadVideoOptions, IManifestLoader, INetworkConfigOption, IRepresentationFilter, ISegmentLoader, IServerSyncInfos, ITextTrackPreference, IVideoTrackPreference } from "../../public_types";
16
+ import { IAudioTrackSwitchingMode, IConstructorOptions, IKeySystemOption, ILoadedManifestFormat, ILoadVideoOptions, IManifestLoader, IRequestConfig, IRepresentationFilter, ISegmentLoader, IServerSyncInfos } from "../../public_types";
18
17
  /** Value once parsed for the `startAt` option of the `loadVideo` method. */
19
18
  export type IParsedStartAtOption = {
20
19
  position: number;
@@ -27,20 +26,6 @@ export type IParsedStartAtOption = {
27
26
  } | {
28
27
  fromFirstPosition: number;
29
28
  };
30
- export interface IParsedTransportOptions {
31
- aggressiveMode?: boolean | undefined;
32
- checkMediaSegmentIntegrity?: boolean | undefined;
33
- lowLatencyMode: boolean;
34
- manifestLoader?: IManifestLoader | undefined;
35
- referenceDateTime?: number | undefined;
36
- representationFilter?: IRepresentationFilter | undefined;
37
- segmentLoader?: ISegmentLoader | undefined;
38
- serverSyncInfos?: IServerSyncInfos | undefined;
39
- manifestUpdateUrl?: string | undefined;
40
- supplementaryImageTracks?: ISupplementaryImageTrack[] | undefined;
41
- supplementaryTextTracks?: ISupplementaryTextTrack[] | undefined;
42
- __priv_patchLastSegmentInSidx?: boolean | undefined;
43
- }
44
29
  /** Options of the RxPlayer's constructor once parsed. */
45
30
  export interface IParsedConstructorOptions {
46
31
  maxBufferAhead: number;
@@ -48,19 +33,9 @@ export interface IParsedConstructorOptions {
48
33
  wantedBufferAhead: number;
49
34
  maxVideoBufferSize: number;
50
35
  limitVideoWidth: boolean;
51
- throttleWhenHidden: boolean;
52
36
  throttleVideoBitrateWhenHidden: boolean;
53
- preferredAudioTracks: IAudioTrackPreference[];
54
- preferredTextTracks: ITextTrackPreference[];
55
- preferredVideoTracks: IVideoTrackPreference[];
56
37
  videoElement: HTMLMediaElement;
57
- initialVideoBitrate: number;
58
- initialAudioBitrate: number;
59
- minAudioBitrate: number;
60
- minVideoBitrate: number;
61
- maxAudioBitrate: number;
62
- maxVideoBitrate: number;
63
- stopAtEnd: boolean;
38
+ baseBandwidth: number;
64
39
  }
65
40
  /**
66
41
  * Base type which the types for the parsed options of the RxPlayer's
@@ -74,15 +49,19 @@ interface IParsedLoadVideoOptionsBase {
74
49
  keySystems: IKeySystemOption[];
75
50
  lowLatencyMode: boolean;
76
51
  minimumManifestUpdateInterval: number;
77
- networkConfig: INetworkConfigOption;
78
- transportOptions: IParsedTransportOptions;
79
- defaultAudioTrack: IAudioTrackPreference | null | undefined;
80
- defaultTextTrack: ITextTrackPreference | null | undefined;
52
+ requestConfig: IRequestConfig;
81
53
  startAt: IParsedStartAtOption | undefined;
82
- manualBitrateSwitchingMode: "seamless" | "direct";
83
54
  enableFastSwitching: boolean;
84
- audioTrackSwitchingMode: IAudioTrackSwitchingMode;
55
+ defaultAudioTrackSwitchingMode: IAudioTrackSwitchingMode | undefined;
85
56
  onCodecSwitch: "continue" | "reload";
57
+ checkMediaSegmentIntegrity?: boolean | undefined;
58
+ manifestLoader?: IManifestLoader | undefined;
59
+ referenceDateTime?: number | undefined;
60
+ representationFilter?: IRepresentationFilter | undefined;
61
+ segmentLoader?: ISegmentLoader | undefined;
62
+ serverSyncInfos?: IServerSyncInfos | undefined;
63
+ manifestUpdateUrl?: string | undefined;
64
+ __priv_patchLastSegmentInSidx?: boolean | undefined;
86
65
  }
87
66
  /**
88
67
  * Options of the RxPlayer's `loadVideo` method once parsed when a "native"
@@ -90,7 +69,6 @@ interface IParsedLoadVideoOptionsBase {
90
69
  */
91
70
  interface IParsedLoadVideoOptionsNative extends IParsedLoadVideoOptionsBase {
92
71
  textTrackMode: "native";
93
- hideNativeSubtitle: boolean;
94
72
  }
95
73
  /**
96
74
  * Options of the RxPlayer's `loadVideo` method once parsed when an "html"
@@ -125,6 +103,8 @@ declare function checkReloadOptions(options?: {
125
103
  position?: number;
126
104
  relative?: number;
127
105
  };
106
+ keySystems?: IKeySystemOption[];
107
+ autoPlay?: boolean;
128
108
  }): void;
129
109
  /**
130
110
  * Parse options given to loadVideo and set default options as found
@@ -135,7 +115,6 @@ declare function checkReloadOptions(options?: {
135
115
  *
136
116
  * Throws if any mandatory option is not set.
137
117
  * @param {Object|undefined} options
138
- * @param {Object} ctx - The player context, needed for some default values.
139
118
  * @returns {Object}
140
119
  */
141
120
  declare function parseLoadVideoOptions(options: ILoadVideoOptions): IParsedLoadVideoOptions;