rx-player 4.0.0-dev.2023111400 → 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 (407) hide show
  1. package/CHANGELOG.md +11 -227
  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 +12 -35
  21. package/dist/_esm5.processed/core/api/option_utils.js +41 -230
  22. package/dist/_esm5.processed/core/api/public_api.d.ts +91 -266
  23. package/dist/_esm5.processed/core/api/public_api.js +439 -805
  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/native/native_text_segment_buffer.d.ts +1 -2
  55. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +2 -3
  56. package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +2 -2
  57. package/dist/_esm5.processed/core/segment_buffers/index.d.ts +2 -2
  58. package/dist/_esm5.processed/core/segment_buffers/index.js +2 -1
  59. package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +1 -0
  60. package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +1 -0
  61. package/dist/_esm5.processed/core/segment_buffers/inventory/utils.d.ts +33 -0
  62. package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +49 -0
  63. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +0 -1
  64. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +2 -16
  65. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +0 -15
  66. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +183 -93
  67. package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.d.ts +39 -0
  68. package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +133 -0
  69. package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +27 -13
  70. package/dist/_esm5.processed/core/stream/index.d.ts +2 -3
  71. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +2 -0
  72. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +5 -7
  73. package/dist/_esm5.processed/core/stream/period/period_stream.js +13 -12
  74. package/dist/_esm5.processed/core/stream/period/types.d.ts +5 -14
  75. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +2 -4
  76. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +10 -46
  77. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +29 -23
  78. package/dist/_esm5.processed/core/stream/representation/types.d.ts +11 -1
  79. package/dist/_esm5.processed/default_config.d.ts +35 -98
  80. package/dist/_esm5.processed/default_config.js +36 -113
  81. package/dist/_esm5.processed/errors/custom_loader_error.d.ts +1 -3
  82. package/dist/_esm5.processed/errors/custom_loader_error.js +1 -3
  83. package/dist/_esm5.processed/errors/media_error.js +2 -2
  84. package/dist/_esm5.processed/errors/network_error.d.ts +0 -1
  85. package/dist/_esm5.processed/errors/network_error.js +0 -1
  86. package/dist/_esm5.processed/errors/request_error.d.ts +2 -3
  87. package/dist/_esm5.processed/errors/request_error.js +2 -5
  88. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -3
  89. package/dist/_esm5.processed/features/features_object.js +0 -2
  90. package/dist/_esm5.processed/features/list/directfile.js +2 -5
  91. package/dist/_esm5.processed/features/list/index.d.ts +0 -2
  92. package/dist/_esm5.processed/features/list/index.js +0 -2
  93. package/dist/_esm5.processed/features/types.d.ts +3 -27
  94. package/dist/_esm5.processed/manifest/adaptation.d.ts +9 -11
  95. package/dist/_esm5.processed/manifest/adaptation.js +41 -30
  96. package/dist/_esm5.processed/manifest/index.d.ts +3 -4
  97. package/dist/_esm5.processed/manifest/manifest.d.ts +5 -54
  98. package/dist/_esm5.processed/manifest/manifest.js +5 -110
  99. package/dist/_esm5.processed/manifest/period.d.ts +4 -5
  100. package/dist/_esm5.processed/manifest/representation.d.ts +10 -5
  101. package/dist/_esm5.processed/manifest/representation.js +15 -5
  102. package/dist/_esm5.processed/manifest/representation_index/index.d.ts +2 -2
  103. package/dist/_esm5.processed/manifest/representation_index/static.d.ts +2 -0
  104. package/dist/_esm5.processed/manifest/representation_index/static.js +6 -0
  105. package/dist/_esm5.processed/manifest/representation_index/types.d.ts +42 -21
  106. package/dist/_esm5.processed/manifest/types.d.ts +0 -2
  107. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +17 -31
  108. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +26 -19
  109. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -0
  110. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +7 -1
  111. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +2 -6
  112. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +11 -8
  113. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +2 -0
  114. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +6 -0
  115. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +2 -2
  116. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.js +1 -6
  117. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +3 -5
  118. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +0 -2
  119. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +1 -1
  120. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +2 -2
  121. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +0 -2
  122. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +2 -2
  123. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +10 -6
  124. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +4 -2
  125. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +10 -1
  126. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +18 -2
  127. package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +4 -4
  128. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +3 -6
  129. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +1 -2
  130. package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -0
  131. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +6 -0
  132. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +6 -6
  133. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +12 -3
  134. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +11 -2
  135. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +0 -1
  136. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +11 -17
  137. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +21 -83
  138. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +53 -125
  139. package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +119 -0
  140. package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +159 -0
  141. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.d.ts +3 -6
  142. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +4 -4
  143. package/dist/_esm5.processed/parsers/manifest/types.d.ts +3 -3
  144. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +1 -8
  145. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +1 -9
  146. package/dist/_esm5.processed/public_types.d.ts +396 -308
  147. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +5 -4
  148. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +5 -4
  149. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +4 -4
  150. package/dist/_esm5.processed/transports/dash/manifest_parser.js +2 -3
  151. package/dist/_esm5.processed/transports/dash/pipelines.js +1 -4
  152. package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +2 -2
  153. package/dist/_esm5.processed/transports/dash/segment_loader.js +26 -20
  154. package/dist/_esm5.processed/transports/dash/segment_parser.js +19 -24
  155. package/dist/_esm5.processed/transports/dash/text_loader.js +5 -5
  156. package/dist/_esm5.processed/transports/dash/text_parser.js +28 -33
  157. package/dist/_esm5.processed/transports/local/pipelines.js +1 -10
  158. package/dist/_esm5.processed/transports/local/segment_loader.js +2 -2
  159. package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
  160. package/dist/_esm5.processed/transports/local/segment_parser.js +10 -10
  161. package/dist/_esm5.processed/transports/local/text_parser.d.ts +2 -2
  162. package/dist/_esm5.processed/transports/local/text_parser.js +23 -23
  163. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +34 -52
  164. package/dist/_esm5.processed/{utils/list_to_map.d.ts → transports/smooth/is_mp4_embedded_track.d.ts} +5 -5
  165. package/dist/_esm5.processed/{features/list/image_buffer.d.ts → transports/smooth/is_mp4_embedded_track.js} +7 -6
  166. package/dist/_esm5.processed/transports/smooth/pipelines.js +33 -190
  167. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +1 -1
  168. package/dist/_esm5.processed/transports/smooth/segment_loader.js +28 -22
  169. package/dist/_esm5.processed/transports/smooth/utils.d.ts +1 -26
  170. package/dist/_esm5.processed/transports/smooth/utils.js +1 -55
  171. package/dist/_esm5.processed/transports/types.d.ts +94 -89
  172. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +3 -3
  173. package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +3 -3
  174. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +5 -7
  175. package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +8 -12
  176. package/dist/_esm5.processed/transports/utils/parse_text_track.js +19 -21
  177. package/dist/_esm5.processed/utils/array_includes.d.ts +2 -1
  178. package/dist/_esm5.processed/utils/array_includes.js +30 -28
  179. package/dist/_esm5.processed/utils/request/xhr.js +5 -5
  180. package/dist/commonjs/compat/is_codec_supported.js +22 -1
  181. package/dist/commonjs/config.d.ts +1 -0
  182. package/dist/commonjs/core/api/debug/buffer_graph.js +2 -6
  183. package/dist/commonjs/core/api/debug/modules/general_info.js +17 -10
  184. package/dist/commonjs/core/api/option_utils.d.ts +2 -0
  185. package/dist/commonjs/core/api/option_utils.js +2 -3
  186. package/dist/commonjs/core/api/public_api.d.ts +9 -0
  187. package/dist/commonjs/core/api/public_api.js +34 -9
  188. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
  189. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +11 -3
  190. package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts +8 -1
  191. package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +8 -4
  192. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
  193. package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
  194. package/dist/commonjs/core/init/directfile_content_initializer.js +24 -7
  195. package/dist/commonjs/core/init/media_source_content_initializer.d.ts +6 -0
  196. package/dist/commonjs/core/init/media_source_content_initializer.js +4 -6
  197. package/dist/commonjs/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
  198. package/dist/commonjs/core/init/utils/content_time_boundaries_observer.js +16 -17
  199. package/dist/commonjs/core/init/utils/get_initial_time.d.ts +17 -3
  200. package/dist/commonjs/core/init/utils/get_initial_time.js +9 -7
  201. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +3 -3
  202. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +1 -1
  203. package/dist/commonjs/default_config.d.ts +5 -0
  204. package/dist/commonjs/default_config.js +5 -0
  205. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
  206. package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
  207. package/dist/commonjs/manifest/representation_index/static.d.ts +1 -1
  208. package/dist/commonjs/manifest/representation_index/static.js +2 -2
  209. package/dist/commonjs/manifest/representation_index/types.d.ts +4 -4
  210. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
  211. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.js +4 -3
  212. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
  213. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
  214. package/dist/commonjs/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
  215. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
  216. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.js +2 -2
  217. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
  218. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.js +42 -29
  219. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
  220. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
  221. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +250 -51
  222. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
  223. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
  224. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +13 -10
  225. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.js +27 -14
  226. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
  227. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.js +17 -18
  228. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
  229. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.js +21 -8
  230. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +7 -3
  231. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts +1 -1
  232. package/dist/commonjs/parsers/manifest/local/representation_index.js +3 -3
  233. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
  234. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.js +2 -2
  235. package/dist/commonjs/parsers/manifest/smooth/representation_index.d.ts +5 -5
  236. package/dist/commonjs/parsers/manifest/smooth/representation_index.js +25 -9
  237. package/dist/commonjs/parsers/manifest/utils/index_helpers.js +1 -1
  238. package/dist/commonjs/public_types.d.ts +78 -34
  239. package/dist/commonjs/transports/dash/init_segment_loader.js +10 -5
  240. package/dist/commonjs/transports/dash/manifest_parser.js +5 -2
  241. package/dist/commonjs/transports/dash/segment_loader.js +2 -1
  242. package/dist/commonjs/transports/dash/text_loader.js +2 -0
  243. package/dist/commonjs/transports/metaplaylist/manifest_loader.js +2 -1
  244. package/dist/commonjs/transports/metaplaylist/pipelines.js +4 -1
  245. package/dist/commonjs/transports/smooth/pipelines.js +4 -2
  246. package/dist/commonjs/transports/smooth/segment_loader.js +2 -1
  247. package/dist/commonjs/transports/types.d.ts +12 -0
  248. package/dist/commonjs/transports/utils/generate_manifest_loader.js +6 -3
  249. package/dist/commonjs/utils/request/fetch.d.ts +6 -0
  250. package/dist/commonjs/utils/request/fetch.js +29 -8
  251. package/dist/commonjs/utils/request/xhr.d.ts +11 -5
  252. package/dist/commonjs/utils/request/xhr.js +29 -8
  253. package/dist/es2017/compat/is_codec_supported.js +22 -1
  254. package/dist/es2017/config.d.ts +1 -0
  255. package/dist/es2017/core/api/debug/buffer_graph.js +2 -6
  256. package/dist/es2017/core/api/debug/modules/general_info.js +17 -10
  257. package/dist/es2017/core/api/option_utils.d.ts +2 -0
  258. package/dist/es2017/core/api/option_utils.js +2 -3
  259. package/dist/es2017/core/api/public_api.d.ts +9 -0
  260. package/dist/es2017/core/api/public_api.js +33 -8
  261. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
  262. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.js +11 -3
  263. package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts +8 -1
  264. package/dist/es2017/core/fetchers/segment/segment_fetcher.js +8 -4
  265. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
  266. package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
  267. package/dist/es2017/core/init/directfile_content_initializer.js +24 -7
  268. package/dist/es2017/core/init/media_source_content_initializer.d.ts +6 -0
  269. package/dist/es2017/core/init/media_source_content_initializer.js +4 -6
  270. package/dist/es2017/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
  271. package/dist/es2017/core/init/utils/content_time_boundaries_observer.js +16 -15
  272. package/dist/es2017/core/init/utils/get_initial_time.d.ts +17 -3
  273. package/dist/es2017/core/init/utils/get_initial_time.js +9 -7
  274. package/dist/es2017/core/stream/representation/utils/get_buffer_status.js +3 -3
  275. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -1
  276. package/dist/es2017/default_config.d.ts +5 -0
  277. package/dist/es2017/default_config.js +5 -0
  278. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
  279. package/dist/es2017/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
  280. package/dist/es2017/manifest/representation_index/static.d.ts +1 -1
  281. package/dist/es2017/manifest/representation_index/static.js +2 -2
  282. package/dist/es2017/manifest/representation_index/types.d.ts +4 -4
  283. package/dist/es2017/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
  284. package/dist/es2017/parsers/manifest/dash/common/indexes/base.js +4 -3
  285. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
  286. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
  287. package/dist/es2017/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
  288. package/dist/es2017/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
  289. package/dist/es2017/parsers/manifest/dash/common/indexes/list.js +2 -2
  290. package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
  291. package/dist/es2017/parsers/manifest/dash/common/indexes/template.js +40 -27
  292. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
  293. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
  294. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +246 -51
  295. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
  296. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
  297. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.js +11 -8
  298. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.js +27 -13
  299. package/dist/es2017/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
  300. package/dist/es2017/parsers/manifest/dash/common/parse_periods.js +13 -16
  301. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
  302. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.js +10 -8
  303. package/dist/es2017/parsers/manifest/dash/common/parse_representations.js +7 -3
  304. package/dist/es2017/parsers/manifest/local/representation_index.d.ts +1 -1
  305. package/dist/es2017/parsers/manifest/local/representation_index.js +3 -3
  306. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
  307. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.js +2 -2
  308. package/dist/es2017/parsers/manifest/smooth/representation_index.d.ts +5 -5
  309. package/dist/es2017/parsers/manifest/smooth/representation_index.js +25 -9
  310. package/dist/es2017/parsers/manifest/utils/index_helpers.js +1 -1
  311. package/dist/es2017/public_types.d.ts +78 -34
  312. package/dist/es2017/transports/dash/init_segment_loader.js +5 -0
  313. package/dist/es2017/transports/dash/manifest_parser.js +3 -0
  314. package/dist/es2017/transports/dash/segment_loader.js +1 -0
  315. package/dist/es2017/transports/dash/text_loader.js +2 -0
  316. package/dist/es2017/transports/metaplaylist/manifest_loader.js +1 -0
  317. package/dist/es2017/transports/metaplaylist/pipelines.js +4 -1
  318. package/dist/es2017/transports/smooth/pipelines.js +2 -0
  319. package/dist/es2017/transports/smooth/segment_loader.js +1 -0
  320. package/dist/es2017/transports/types.d.ts +12 -0
  321. package/dist/es2017/transports/utils/generate_manifest_loader.js +3 -0
  322. package/dist/es2017/utils/request/fetch.d.ts +6 -0
  323. package/dist/es2017/utils/request/fetch.js +29 -8
  324. package/dist/es2017/utils/request/xhr.d.ts +11 -5
  325. package/dist/es2017/utils/request/xhr.js +30 -9
  326. package/dist/rx-player.js +723 -376
  327. package/dist/rx-player.min.js +1 -1
  328. package/package.json +3 -4
  329. package/scripts/update-version +2 -0
  330. package/sonar-project.properties +1 -1
  331. package/src/compat/is_codec_supported.ts +23 -1
  332. package/src/core/api/debug/buffer_graph.ts +2 -5
  333. package/src/core/api/debug/modules/general_info.ts +15 -10
  334. package/src/core/api/option_utils.ts +3 -3
  335. package/src/core/api/public_api.ts +35 -7
  336. package/src/core/fetchers/manifest/manifest_fetcher.ts +21 -3
  337. package/src/core/fetchers/segment/segment_fetcher.ts +19 -5
  338. package/src/core/fetchers/segment/segment_fetcher_creator.ts +1 -0
  339. package/src/core/fetchers/utils/schedule_request.ts +1 -1
  340. package/src/core/init/directfile_content_initializer.ts +23 -7
  341. package/src/core/init/media_source_content_initializer.ts +13 -7
  342. package/src/core/init/utils/content_time_boundaries_observer.ts +23 -22
  343. package/src/core/init/utils/get_initial_time.ts +25 -12
  344. package/src/core/stream/representation/utils/get_buffer_status.ts +3 -3
  345. package/src/core/stream/representation/utils/get_needed_segments.ts +2 -2
  346. package/src/default_config.ts +5 -0
  347. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +3 -1
  348. package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +2 -0
  349. package/src/manifest/representation_index/static.ts +2 -2
  350. package/src/manifest/representation_index/types.ts +4 -4
  351. package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +182 -36
  352. package/src/parsers/manifest/dash/common/indexes/base.ts +12 -4
  353. package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +19 -5
  354. package/src/parsers/manifest/dash/common/indexes/index.ts +16 -4
  355. package/src/parsers/manifest/dash/common/indexes/list.ts +2 -2
  356. package/src/parsers/manifest/dash/common/indexes/template.ts +52 -31
  357. package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +4 -1
  358. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +366 -60
  359. package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +63 -25
  360. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +10 -4
  361. package/src/parsers/manifest/dash/common/parse_mpd.ts +28 -15
  362. package/src/parsers/manifest/dash/common/parse_periods.ts +12 -17
  363. package/src/parsers/manifest/dash/common/parse_representation_index.ts +50 -26
  364. package/src/parsers/manifest/dash/common/parse_representations.ts +9 -3
  365. package/src/parsers/manifest/local/representation_index.ts +3 -3
  366. package/src/parsers/manifest/metaplaylist/representation_index.ts +2 -2
  367. package/src/parsers/manifest/smooth/representation_index.ts +23 -9
  368. package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +1 -1
  369. package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +1 -1
  370. package/src/parsers/manifest/utils/index_helpers.ts +1 -1
  371. package/src/public_types.ts +79 -34
  372. package/src/transports/dash/init_segment_loader.ts +5 -0
  373. package/src/transports/dash/manifest_parser.ts +6 -0
  374. package/src/transports/dash/segment_loader.ts +1 -0
  375. package/src/transports/dash/text_loader.ts +2 -0
  376. package/src/transports/metaplaylist/manifest_loader.ts +1 -0
  377. package/src/transports/metaplaylist/pipelines.ts +4 -1
  378. package/src/transports/smooth/pipelines.ts +2 -0
  379. package/src/transports/smooth/segment_loader.ts +1 -0
  380. package/src/transports/types.ts +12 -0
  381. package/src/transports/utils/generate_manifest_loader.ts +3 -0
  382. package/src/utils/request/fetch.ts +35 -8
  383. package/src/utils/request/xhr.ts +45 -14
  384. package/dist/_esm5.processed/compat/fullscreen.d.ts +0 -32
  385. package/dist/_esm5.processed/compat/fullscreen.js +0 -78
  386. package/dist/_esm5.processed/compat/is_offline.d.ts +0 -39
  387. package/dist/_esm5.processed/compat/is_offline.js +0 -43
  388. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +0 -258
  389. package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +0 -989
  390. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +0 -75
  391. package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +0 -133
  392. package/dist/_esm5.processed/features/list/bif_parser.d.ts +0 -23
  393. package/dist/_esm5.processed/features/list/bif_parser.js +0 -27
  394. package/dist/_esm5.processed/features/list/image_buffer.js +0 -25
  395. package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +0 -38
  396. package/dist/_esm5.processed/transports/dash/image_pipelines.js +0 -129
  397. package/dist/_esm5.processed/utils/list_to_map.js +0 -28
  398. package/dist/_esm5.processed/utils/simple_set.d.ts +0 -51
  399. package/dist/_esm5.processed/utils/simple_set.js +0 -57
  400. package/dist/_esm5.processed/utils/uniq.d.ts +0 -36
  401. package/dist/_esm5.processed/utils/uniq.js +0 -43
  402. package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
  403. package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.js +0 -54
  404. package/dist/es2017/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
  405. package/dist/es2017/parsers/manifest/utils/is_segment_still_available.js +0 -51
  406. package/src/parsers/manifest/utils/is_segment_still_available.ts +0 -58
  407. package/src/typings/object-assign.d.ts +0 -48
@@ -21,7 +21,6 @@ import config from "../../config";
21
21
  import log from "../../log";
22
22
  import arrayIncludes from "../../utils/array_includes";
23
23
  import isNullOrUndefined from "../../utils/is_null_or_undefined";
24
- import { normalizeAudioTrack, normalizeTextTrack, } from "../../utils/languages";
25
24
  import objectAssign from "../../utils/object_assign";
26
25
  import warnOnce from "../../utils/warn_once";
27
26
  /**
@@ -38,19 +37,9 @@ function parseConstructorOptions(options) {
38
37
  var maxBufferBehind;
39
38
  var wantedBufferAhead;
40
39
  var maxVideoBufferSize;
41
- var throttleWhenHidden;
42
- var throttleVideoBitrateWhenHidden;
43
- var preferredAudioTracks;
44
- var preferredTextTracks;
45
- var preferredVideoTracks;
46
40
  var videoElement;
47
- var initialVideoBitrate;
48
- var initialAudioBitrate;
49
- var minAudioBitrate;
50
- var minVideoBitrate;
51
- var maxAudioBitrate;
52
- var maxVideoBitrate;
53
- var _a = config.getCurrent(), DEFAULT_INITIAL_BITRATES = _a.DEFAULT_INITIAL_BITRATES, DEFAULT_LIMIT_VIDEO_WIDTH = _a.DEFAULT_LIMIT_VIDEO_WIDTH, DEFAULT_MIN_BITRATES = _a.DEFAULT_MIN_BITRATES, DEFAULT_MAX_BITRATES = _a.DEFAULT_MAX_BITRATES, DEFAULT_MAX_BUFFER_AHEAD = _a.DEFAULT_MAX_BUFFER_AHEAD, DEFAULT_MAX_BUFFER_BEHIND = _a.DEFAULT_MAX_BUFFER_BEHIND, DEFAULT_MAX_VIDEO_BUFFER_SIZE = _a.DEFAULT_MAX_VIDEO_BUFFER_SIZE, DEFAULT_STOP_AT_END = _a.DEFAULT_STOP_AT_END, DEFAULT_THROTTLE_WHEN_HIDDEN = _a.DEFAULT_THROTTLE_WHEN_HIDDEN, DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN = _a.DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN, DEFAULT_WANTED_BUFFER_AHEAD = _a.DEFAULT_WANTED_BUFFER_AHEAD;
41
+ var baseBandwidth;
42
+ var _a = config.getCurrent(), DEFAULT_BASE_BANDWIDTH = _a.DEFAULT_BASE_BANDWIDTH, DEFAULT_LIMIT_VIDEO_WIDTH = _a.DEFAULT_LIMIT_VIDEO_WIDTH, DEFAULT_MAX_BUFFER_AHEAD = _a.DEFAULT_MAX_BUFFER_AHEAD, DEFAULT_MAX_BUFFER_BEHIND = _a.DEFAULT_MAX_BUFFER_BEHIND, DEFAULT_MAX_VIDEO_BUFFER_SIZE = _a.DEFAULT_MAX_VIDEO_BUFFER_SIZE, DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN = _a.DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN, DEFAULT_WANTED_BUFFER_AHEAD = _a.DEFAULT_WANTED_BUFFER_AHEAD;
54
43
  if (isNullOrUndefined(options.maxBufferAhead)) {
55
44
  maxBufferAhead = DEFAULT_MAX_BUFFER_AHEAD;
56
45
  }
@@ -94,61 +83,9 @@ function parseConstructorOptions(options) {
94
83
  var limitVideoWidth = isNullOrUndefined(options.limitVideoWidth) ?
95
84
  DEFAULT_LIMIT_VIDEO_WIDTH :
96
85
  !!options.limitVideoWidth;
97
- if (!isNullOrUndefined(options.throttleWhenHidden)) {
98
- warnOnce("`throttleWhenHidden` API is deprecated. Consider using " +
99
- "`throttleVideoBitrateWhenHidden` instead.");
100
- throttleWhenHidden = !!options.throttleWhenHidden;
101
- }
102
- else {
103
- throttleWhenHidden = DEFAULT_THROTTLE_WHEN_HIDDEN;
104
- }
105
- // `throttleWhenHidden` and `throttleVideoBitrateWhenHidden` can be in conflict
106
- // Do not activate the latter if the former is
107
- if (throttleWhenHidden) {
108
- throttleVideoBitrateWhenHidden = false;
109
- }
110
- else {
111
- throttleVideoBitrateWhenHidden =
112
- isNullOrUndefined(options.throttleVideoBitrateWhenHidden) ?
113
- DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN :
114
- !!options.throttleVideoBitrateWhenHidden;
115
- }
116
- if (options.preferredTextTracks !== undefined) {
117
- if (!Array.isArray(options.preferredTextTracks)) {
118
- warnOnce("Invalid `preferredTextTracks` option, it should be an Array");
119
- preferredTextTracks = [];
120
- }
121
- else {
122
- preferredTextTracks = options.preferredTextTracks;
123
- }
124
- }
125
- else {
126
- preferredTextTracks = [];
127
- }
128
- if (options.preferredAudioTracks !== undefined) {
129
- if (!Array.isArray(options.preferredAudioTracks)) {
130
- warnOnce("Invalid `preferredAudioTracks` option, it should be an Array");
131
- preferredAudioTracks = [];
132
- }
133
- else {
134
- preferredAudioTracks = options.preferredAudioTracks;
135
- }
136
- }
137
- else {
138
- preferredAudioTracks = [];
139
- }
140
- if (options.preferredVideoTracks !== undefined) {
141
- if (!Array.isArray(options.preferredVideoTracks)) {
142
- warnOnce("Invalid `preferredVideoTracks` option, it should be an Array");
143
- preferredVideoTracks = [];
144
- }
145
- else {
146
- preferredVideoTracks = options.preferredVideoTracks;
147
- }
148
- }
149
- else {
150
- preferredVideoTracks = [];
151
- }
86
+ var throttleVideoBitrateWhenHidden = isNullOrUndefined(options.throttleVideoBitrateWhenHidden) ?
87
+ DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN :
88
+ !!options.throttleVideoBitrateWhenHidden;
152
89
  if (isNullOrUndefined(options.videoElement)) {
153
90
  videoElement = document.createElement("video");
154
91
  }
@@ -160,77 +97,18 @@ function parseConstructorOptions(options) {
160
97
  throw new Error("Invalid videoElement parameter. Should be a HTMLMediaElement.");
161
98
  /* eslint-enable max-len */
162
99
  }
163
- if (isNullOrUndefined(options.initialVideoBitrate)) {
164
- initialVideoBitrate = DEFAULT_INITIAL_BITRATES.video;
100
+ if (isNullOrUndefined(options.baseBandwidth)) {
101
+ baseBandwidth = DEFAULT_BASE_BANDWIDTH;
165
102
  }
166
103
  else {
167
- initialVideoBitrate = Number(options.initialVideoBitrate);
168
- if (isNaN(initialVideoBitrate)) {
104
+ baseBandwidth = Number(options.baseBandwidth);
105
+ if (isNaN(baseBandwidth)) {
169
106
  /* eslint-disable max-len */
170
- throw new Error("Invalid initialVideoBitrate parameter. Should be a number.");
107
+ throw new Error("Invalid baseBandwidth parameter. Should be a number.");
171
108
  /* eslint-enable max-len */
172
109
  }
173
110
  }
174
- if (isNullOrUndefined(options.initialAudioBitrate)) {
175
- initialAudioBitrate = DEFAULT_INITIAL_BITRATES.audio;
176
- }
177
- else {
178
- initialAudioBitrate = Number(options.initialAudioBitrate);
179
- if (isNaN(initialAudioBitrate)) {
180
- /* eslint-disable max-len */
181
- throw new Error("Invalid initialAudioBitrate parameter. Should be a number.");
182
- /* eslint-enable max-len */
183
- }
184
- }
185
- if (isNullOrUndefined(options.minVideoBitrate)) {
186
- minVideoBitrate = DEFAULT_MIN_BITRATES.video;
187
- }
188
- else {
189
- minVideoBitrate = Number(options.minVideoBitrate);
190
- if (isNaN(minVideoBitrate)) {
191
- throw new Error("Invalid maxVideoBitrate parameter. Should be a number.");
192
- }
193
- }
194
- if (isNullOrUndefined(options.minAudioBitrate)) {
195
- minAudioBitrate = DEFAULT_MIN_BITRATES.audio;
196
- }
197
- else {
198
- minAudioBitrate = Number(options.minAudioBitrate);
199
- if (isNaN(minAudioBitrate)) {
200
- throw new Error("Invalid minAudioBitrate parameter. Should be a number.");
201
- }
202
- }
203
- if (isNullOrUndefined(options.maxVideoBitrate)) {
204
- maxVideoBitrate = DEFAULT_MAX_BITRATES.video;
205
- }
206
- else {
207
- maxVideoBitrate = Number(options.maxVideoBitrate);
208
- if (isNaN(maxVideoBitrate)) {
209
- throw new Error("Invalid maxVideoBitrate parameter. Should be a number.");
210
- }
211
- else if (minVideoBitrate > maxVideoBitrate) {
212
- throw new Error("Invalid maxVideoBitrate parameter. Its value, \"" +
213
- "".concat(maxVideoBitrate, "\", is inferior to the set minVideoBitrate, \"") +
214
- "".concat(minVideoBitrate, "\""));
215
- }
216
- }
217
- if (isNullOrUndefined(options.maxAudioBitrate)) {
218
- maxAudioBitrate = DEFAULT_MAX_BITRATES.audio;
219
- }
220
- else {
221
- maxAudioBitrate = Number(options.maxAudioBitrate);
222
- if (isNaN(maxAudioBitrate)) {
223
- throw new Error("Invalid maxAudioBitrate parameter. Should be a number.");
224
- }
225
- else if (minAudioBitrate > maxAudioBitrate) {
226
- throw new Error("Invalid maxAudioBitrate parameter. Its value, \"" +
227
- "".concat(maxAudioBitrate, "\", is inferior to the set minAudioBitrate, \"") +
228
- "".concat(minAudioBitrate, "\""));
229
- }
230
- }
231
- var stopAtEnd = isNullOrUndefined(options.stopAtEnd) ? DEFAULT_STOP_AT_END :
232
- !!options.stopAtEnd;
233
- return { maxBufferAhead: maxBufferAhead, maxBufferBehind: maxBufferBehind, limitVideoWidth: limitVideoWidth, videoElement: videoElement, wantedBufferAhead: wantedBufferAhead, maxVideoBufferSize: maxVideoBufferSize, throttleWhenHidden: throttleWhenHidden, throttleVideoBitrateWhenHidden: throttleVideoBitrateWhenHidden, preferredAudioTracks: preferredAudioTracks, preferredTextTracks: preferredTextTracks, preferredVideoTracks: preferredVideoTracks, initialAudioBitrate: initialAudioBitrate, initialVideoBitrate: initialVideoBitrate, minAudioBitrate: minAudioBitrate, minVideoBitrate: minVideoBitrate, maxAudioBitrate: maxAudioBitrate, maxVideoBitrate: maxVideoBitrate, stopAtEnd: stopAtEnd };
111
+ return { maxBufferAhead: maxBufferAhead, maxBufferBehind: maxBufferBehind, limitVideoWidth: limitVideoWidth, videoElement: videoElement, wantedBufferAhead: wantedBufferAhead, maxVideoBufferSize: maxVideoBufferSize, throttleVideoBitrateWhenHidden: throttleVideoBitrateWhenHidden, baseBandwidth: baseBandwidth };
234
112
  }
235
113
  /**
236
114
  * Check the format of given reload options.
@@ -271,30 +149,29 @@ function checkReloadOptions(options) {
271
149
  *
272
150
  * Throws if any mandatory option is not set.
273
151
  * @param {Object|undefined} options
274
- * @param {Object} ctx - The player context, needed for some default values.
275
152
  * @returns {Object}
276
153
  */
277
154
  function parseLoadVideoOptions(options) {
278
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
155
+ var _a, _b, _c;
279
156
  var url;
280
157
  var transport;
281
158
  var keySystems;
282
159
  var textTrackMode;
283
160
  var textTrackElement;
284
161
  var startAt;
285
- var _k = config.getCurrent(), DEFAULT_AUDIO_TRACK_SWITCHING_MODE = _k.DEFAULT_AUDIO_TRACK_SWITCHING_MODE, DEFAULT_AUTO_PLAY = _k.DEFAULT_AUTO_PLAY, DEFAULT_CODEC_SWITCHING_BEHAVIOR = _k.DEFAULT_CODEC_SWITCHING_BEHAVIOR, DEFAULT_ENABLE_FAST_SWITCHING = _k.DEFAULT_ENABLE_FAST_SWITCHING, DEFAULT_MANUAL_BITRATE_SWITCHING_MODE = _k.DEFAULT_MANUAL_BITRATE_SWITCHING_MODE, DEFAULT_SHOW_NATIVE_SUBTITLE = _k.DEFAULT_SHOW_NATIVE_SUBTITLE, DEFAULT_TEXT_TRACK_MODE = _k.DEFAULT_TEXT_TRACK_MODE;
162
+ var _d = config.getCurrent(), DEFAULT_AUTO_PLAY = _d.DEFAULT_AUTO_PLAY, DEFAULT_CODEC_SWITCHING_BEHAVIOR = _d.DEFAULT_CODEC_SWITCHING_BEHAVIOR, DEFAULT_ENABLE_FAST_SWITCHING = _d.DEFAULT_ENABLE_FAST_SWITCHING, DEFAULT_TEXT_TRACK_MODE = _d.DEFAULT_TEXT_TRACK_MODE;
286
163
  if (isNullOrUndefined(options)) {
287
164
  throw new Error("No option set on loadVideo");
288
165
  }
289
166
  if (!isNullOrUndefined(options.url)) {
290
167
  url = String(options.url);
291
168
  }
292
- else if (isNullOrUndefined((_a = options.transportOptions) === null || _a === void 0 ? void 0 : _a.initialManifest) &&
293
- isNullOrUndefined((_b = options.transportOptions) === null || _b === void 0 ? void 0 : _b.manifestLoader)) {
169
+ else if (isNullOrUndefined(options.initialManifest) &&
170
+ isNullOrUndefined(options.manifestLoader)) {
294
171
  throw new Error("Unable to load a content: no url set on loadVideo.\n" +
295
172
  "Please provide at least either an `url` argument, a " +
296
- "`transportOptions.initialManifest` option or a " +
297
- "`transportOptions.manifestLoader` option so the RxPlayer " +
173
+ "`initialManifest` option or a " +
174
+ "`manifestLoader` option so the RxPlayer " +
298
175
  "can load the content.");
299
176
  }
300
177
  if (isNullOrUndefined(options.transport)) {
@@ -303,11 +180,6 @@ function parseLoadVideoOptions(options) {
303
180
  else {
304
181
  transport = String(options.transport);
305
182
  }
306
- if (!isNullOrUndefined((_c = options.transportOptions) === null || _c === void 0 ? void 0 : _c.aggressiveMode)) {
307
- warnOnce("`transportOptions.aggressiveMode` is deprecated and won't " +
308
- "be present in the next major version. " +
309
- "Please open an issue if you still need this.");
310
- }
311
183
  var autoPlay = isNullOrUndefined(options.autoPlay) ? DEFAULT_AUTO_PLAY :
312
184
  !!options.autoPlay;
313
185
  if (isNullOrUndefined(options.keySystems)) {
@@ -323,11 +195,6 @@ function parseLoadVideoOptions(options) {
323
195
  throw new Error("Invalid key system given: Missing type string or " +
324
196
  "getLicense callback");
325
197
  }
326
- if (!isNullOrUndefined(keySystem.onKeyStatusesChange)) {
327
- warnOnce("`keySystems[].onKeyStatusesChange` is deprecated and won't " +
328
- "be present in the next major version. " +
329
- "Please open an issue if you still need this.");
330
- }
331
198
  if (!isNullOrUndefined(keySystem.throwOnLicenseExpiration)) {
332
199
  warnOnce("`keySystems[].throwOnLicenseExpiration` is deprecated and won't " +
333
200
  "be present in the next major version. " +
@@ -338,24 +205,17 @@ function parseLoadVideoOptions(options) {
338
205
  var lowLatencyMode = options.lowLatencyMode === undefined ?
339
206
  false :
340
207
  !!options.lowLatencyMode;
341
- var transportOptsArg = typeof options.transportOptions === "object" &&
342
- options.transportOptions !== null ?
343
- options.transportOptions :
344
- {};
345
- var initialManifest = (_d = options.transportOptions) === null || _d === void 0 ? void 0 : _d.initialManifest;
346
- var minimumManifestUpdateInterval = (_f = (_e = options.transportOptions) === null || _e === void 0 ? void 0 : _e.minimumManifestUpdateInterval) !== null && _f !== void 0 ? _f : 0;
347
- var audioTrackSwitchingMode = isNullOrUndefined(options.audioTrackSwitchingMode)
348
- ? DEFAULT_AUDIO_TRACK_SWITCHING_MODE
349
- : options.audioTrackSwitchingMode;
350
- if (!arrayIncludes(["seamless", "direct", "reload"], audioTrackSwitchingMode)) {
351
- log.warn("The `audioTrackSwitchingMode` loadVideo option must match one of " +
208
+ var initialManifest = options.initialManifest;
209
+ var minimumManifestUpdateInterval = (_a = options.minimumManifestUpdateInterval) !== null && _a !== void 0 ? _a : 0;
210
+ var defaultAudioTrackSwitchingMode = (_b = options.defaultAudioTrackSwitchingMode) !== null && _b !== void 0 ? _b : undefined;
211
+ if (defaultAudioTrackSwitchingMode !== undefined &&
212
+ !arrayIncludes(["seamless", "direct", "reload"], defaultAudioTrackSwitchingMode)) {
213
+ log.warn("The `defaultAudioTrackSwitchingMode` loadVideo option must match one of " +
352
214
  "the following strategy name:\n" +
353
215
  "- `seamless`\n" +
354
216
  "- `direct`\n" +
355
- "- `reload`\n" +
356
- "If badly set, " + DEFAULT_AUDIO_TRACK_SWITCHING_MODE +
357
- " strategy will be used as default");
358
- audioTrackSwitchingMode = DEFAULT_AUDIO_TRACK_SWITCHING_MODE;
217
+ "- `reload`");
218
+ defaultAudioTrackSwitchingMode = undefined;
359
219
  }
360
220
  var onCodecSwitch = isNullOrUndefined(options.onCodecSwitch)
361
221
  ? DEFAULT_CODEC_SWITCHING_BEHAVIOR
@@ -369,48 +229,7 @@ function parseLoadVideoOptions(options) {
369
229
  " will be used as default");
370
230
  onCodecSwitch = DEFAULT_CODEC_SWITCHING_BEHAVIOR;
371
231
  }
372
- var transportOptions = objectAssign({}, transportOptsArg, {
373
- /* eslint-disable import/no-deprecated */
374
- supplementaryImageTracks: [],
375
- supplementaryTextTracks: [],
376
- /* eslint-enable import/no-deprecated */
377
- lowLatencyMode: lowLatencyMode,
378
- });
379
- // remove already parsed data to simplify the `transportOptions` object
380
- delete transportOptions.initialManifest;
381
- delete transportOptions.minimumManifestUpdateInterval;
382
- if (options.supplementaryTextTracks !== undefined) {
383
- warnOnce("The `supplementaryTextTracks` loadVideo option is deprecated.\n" +
384
- "Please use the `TextTrackRenderer` tool instead.");
385
- var supplementaryTextTracks = Array.isArray(options.supplementaryTextTracks) ?
386
- options.supplementaryTextTracks : [options.supplementaryTextTracks];
387
- for (var _l = 0, supplementaryTextTracks_1 = supplementaryTextTracks; _l < supplementaryTextTracks_1.length; _l++) {
388
- var supplementaryTextTrack = supplementaryTextTracks_1[_l];
389
- if (typeof supplementaryTextTrack.language !== "string" ||
390
- typeof supplementaryTextTrack.mimeType !== "string" ||
391
- typeof supplementaryTextTrack.url !== "string") {
392
- throw new Error("Invalid supplementary text track given. " +
393
- "Missing either language, mimetype or url");
394
- }
395
- }
396
- transportOptions.supplementaryTextTracks = supplementaryTextTracks;
397
- }
398
- if (options.supplementaryImageTracks !== undefined) {
399
- warnOnce("The `supplementaryImageTracks` loadVideo option is deprecated.\n" +
400
- "Please use the `parseBifThumbnails` tool instead.");
401
- var supplementaryImageTracks = Array.isArray(options.supplementaryImageTracks) ?
402
- options.supplementaryImageTracks : [options.supplementaryImageTracks];
403
- for (var _m = 0, supplementaryImageTracks_1 = supplementaryImageTracks; _m < supplementaryImageTracks_1.length; _m++) {
404
- var supplementaryImageTrack = supplementaryImageTracks_1[_m];
405
- if (typeof supplementaryImageTrack.mimeType !== "string" ||
406
- typeof supplementaryImageTrack.url !== "string") {
407
- throw new Error("Invalid supplementary image track given. " +
408
- "Missing either mimetype or url");
409
- }
410
- }
411
- transportOptions.supplementaryImageTracks = supplementaryImageTracks;
412
- }
413
- if (!isNullOrUndefined((_g = options.transportOptions) === null || _g === void 0 ? void 0 : _g.manifestUpdateUrl)) {
232
+ if (!isNullOrUndefined(options.manifestUpdateUrl)) {
414
233
  warnOnce("`manifestUpdateUrl` API is deprecated, please open an issue if you" +
415
234
  " still rely on this.");
416
235
  }
@@ -423,24 +242,6 @@ function parseLoadVideoOptions(options) {
423
242
  }
424
243
  textTrackMode = options.textTrackMode;
425
244
  }
426
- if (!isNullOrUndefined(options.defaultAudioTrack)) {
427
- warnOnce("The `defaultAudioTrack` loadVideo option is deprecated.\n" +
428
- "Please use the `preferredAudioTracks` constructor option or the" +
429
- "`setPreferredAudioTracks` method instead");
430
- }
431
- var defaultAudioTrack = normalizeAudioTrack(options.defaultAudioTrack);
432
- if (!isNullOrUndefined(options.defaultTextTrack)) {
433
- warnOnce("The `defaultTextTrack` loadVideo option is deprecated.\n" +
434
- "Please use the `preferredTextTracks` constructor option or the" +
435
- "`setPreferredTextTracks` method instead");
436
- }
437
- var defaultTextTrack = normalizeTextTrack(options.defaultTextTrack);
438
- var hideNativeSubtitle = !DEFAULT_SHOW_NATIVE_SUBTITLE;
439
- if (!isNullOrUndefined(options.hideNativeSubtitle)) {
440
- warnOnce("The `hideNativeSubtitle` loadVideo option is deprecated");
441
- hideNativeSubtitle = !!options.hideNativeSubtitle;
442
- }
443
- var manualBitrateSwitchingMode = (_h = options.manualBitrateSwitchingMode) !== null && _h !== void 0 ? _h : DEFAULT_MANUAL_BITRATE_SWITCHING_MODE;
444
245
  var enableFastSwitching = isNullOrUndefined(options.enableFastSwitching) ?
445
246
  DEFAULT_ENABLE_FAST_SWITCHING :
446
247
  options.enableFastSwitching;
@@ -473,10 +274,20 @@ function parseLoadVideoOptions(options) {
473
274
  startAt = options.startAt;
474
275
  }
475
276
  }
476
- var networkConfig = (_j = options.networkConfig) !== null && _j !== void 0 ? _j : {};
477
- // TODO without cast
478
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
479
- return { autoPlay: autoPlay, defaultAudioTrack: defaultAudioTrack, defaultTextTrack: defaultTextTrack, enableFastSwitching: enableFastSwitching, hideNativeSubtitle: hideNativeSubtitle, keySystems: keySystems, initialManifest: initialManifest, lowLatencyMode: lowLatencyMode, manualBitrateSwitchingMode: manualBitrateSwitchingMode, audioTrackSwitchingMode: audioTrackSwitchingMode, minimumManifestUpdateInterval: minimumManifestUpdateInterval, networkConfig: networkConfig, onCodecSwitch: onCodecSwitch, startAt: startAt, textTrackElement: textTrackElement, textTrackMode: textTrackMode, transport: transport, transportOptions: transportOptions, url: url };
480
- /* eslint-enable @typescript-eslint/consistent-type-assertions */
277
+ var requestConfig = (_c = options.requestConfig) !== null && _c !== void 0 ? _c : {};
278
+ // All those eslint disable are needed because the option is voluntarily
279
+ // hidden from the base type to limit discovery of this hidden API.
280
+ /* eslint-disable @typescript-eslint/no-explicit-any */
281
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
282
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
283
+ return { __priv_patchLastSegmentInSidx: options.__priv_patchLastSegmentInSidx,
284
+ /* eslint-enable @typescript-eslint/no-explicit-any */
285
+ /* eslint-enable @typescript-eslint/no-unsafe-assignment */
286
+ /* eslint-enable @typescript-eslint/no-unsafe-member-access */
287
+ checkMediaSegmentIntegrity: options.checkMediaSegmentIntegrity, autoPlay: autoPlay, defaultAudioTrackSwitchingMode: defaultAudioTrackSwitchingMode, enableFastSwitching: enableFastSwitching, initialManifest: initialManifest, keySystems: keySystems, lowLatencyMode: lowLatencyMode, manifestLoader: options.manifestLoader,
288
+ manifestUpdateUrl: options.manifestUpdateUrl, minimumManifestUpdateInterval: minimumManifestUpdateInterval, requestConfig: requestConfig, onCodecSwitch: onCodecSwitch, referenceDateTime: options.referenceDateTime,
289
+ representationFilter: options.representationFilter,
290
+ segmentLoader: options.segmentLoader,
291
+ serverSyncInfos: options.serverSyncInfos, startAt: startAt, textTrackElement: textTrackElement, textTrackMode: textTrackMode, transport: transport, url: url };
481
292
  }
482
293
  export { checkReloadOptions, parseConstructorOptions, parseLoadVideoOptions, };