rx-player 4.2.0-dev.2024090300 → 4.2.0-dev.2024090500

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 (596) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  5. package/dist/commonjs/compat/add_class_name.d.ts.map +1 -1
  6. package/dist/commonjs/compat/add_class_name.js +1 -2
  7. package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
  8. package/dist/commonjs/compat/browser_compatibility_types.js +4 -1
  9. package/dist/commonjs/compat/clear_element_src.js +1 -1
  10. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  11. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
  12. package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
  13. package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
  14. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  15. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
  16. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  17. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
  18. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  19. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  20. package/dist/commonjs/compat/eme/eme-api-implementation.js +0 -2
  21. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  22. package/dist/commonjs/compat/event_listeners.js +2 -6
  23. package/dist/commonjs/compat/has_mse_in_worker.js +1 -1
  24. package/dist/commonjs/compat/is_codec_supported.d.ts.map +1 -1
  25. package/dist/commonjs/compat/is_codec_supported.js +0 -2
  26. package/dist/commonjs/compat/is_vtt_cue.d.ts.map +1 -1
  27. package/dist/commonjs/compat/is_vtt_cue.js +1 -2
  28. package/dist/commonjs/compat/on_height_width_change.d.ts.map +1 -1
  29. package/dist/commonjs/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  30. package/dist/commonjs/compat/patch_webkit_source_buffer.js +8 -18
  31. package/dist/commonjs/compat/remove_cue.js +2 -2
  32. package/dist/commonjs/core/fetchers/index.d.ts +4 -4
  33. package/dist/commonjs/core/fetchers/index.d.ts.map +1 -1
  34. package/dist/commonjs/core/fetchers/index.js +2 -2
  35. package/dist/commonjs/core/fetchers/segment/index.d.ts +6 -5
  36. package/dist/commonjs/core/fetchers/segment/index.d.ts.map +1 -1
  37. package/dist/commonjs/core/fetchers/segment/index.js +2 -2
  38. package/dist/{es2017/core/stream/representation/utils/downloading_queue.d.ts → commonjs/core/fetchers/segment/segment_queue.d.ts} +63 -80
  39. package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts.map +1 -0
  40. package/dist/commonjs/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +132 -111
  41. package/dist/commonjs/core/fetchers/segment/{segment_fetcher_creator.d.ts → segment_queue_creator.d.ts} +25 -12
  42. package/dist/commonjs/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
  43. package/dist/commonjs/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +15 -9
  44. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts +9 -0
  45. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  46. package/dist/commonjs/core/fetchers/segment/task_prioritizer.js +38 -8
  47. package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
  48. package/dist/commonjs/core/main/common/content_time_boundaries_observer.js +21 -10
  49. package/dist/commonjs/core/main/worker/content_preparer.d.ts +3 -3
  50. package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -1
  51. package/dist/commonjs/core/main/worker/content_preparer.js +2 -2
  52. package/dist/commonjs/core/main/worker/send_message.js +1 -1
  53. package/dist/commonjs/core/main/worker/worker_main.js +2 -2
  54. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
  55. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.js +39 -30
  56. package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  57. package/dist/commonjs/core/segment_sinks/segment_buffers_store.js +3 -2
  58. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts +1 -1
  59. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  60. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +3 -3
  61. package/dist/commonjs/core/stream/adaptation/types.d.ts +2 -2
  62. package/dist/commonjs/core/stream/adaptation/types.d.ts.map +1 -1
  63. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  64. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.js +27 -6
  65. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
  66. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  67. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +3 -3
  68. package/dist/commonjs/core/stream/period/period_stream.d.ts +1 -1
  69. package/dist/commonjs/core/stream/period/period_stream.d.ts.map +1 -1
  70. package/dist/commonjs/core/stream/period/period_stream.js +2 -2
  71. package/dist/commonjs/core/stream/period/types.d.ts +2 -2
  72. package/dist/commonjs/core/stream/period/types.d.ts.map +1 -1
  73. package/dist/commonjs/core/stream/representation/representation_stream.d.ts +1 -1
  74. package/dist/commonjs/core/stream/representation/representation_stream.d.ts.map +1 -1
  75. package/dist/commonjs/core/stream/representation/representation_stream.js +19 -28
  76. package/dist/commonjs/core/stream/representation/types.d.ts +2 -2
  77. package/dist/commonjs/core/stream/representation/types.d.ts.map +1 -1
  78. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  79. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +39 -18
  80. package/dist/commonjs/core/types.d.ts +2 -2
  81. package/dist/commonjs/core/types.d.ts.map +1 -1
  82. package/dist/commonjs/default_config.d.ts.map +1 -1
  83. package/dist/commonjs/default_config.js +0 -8
  84. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  85. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
  86. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  87. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
  88. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  89. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
  90. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
  91. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
  92. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  93. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
  94. package/dist/commonjs/features/add_features.d.ts.map +1 -1
  95. package/dist/commonjs/features/add_features.js +31 -10
  96. package/dist/commonjs/main_thread/api/option_utils.d.ts.map +1 -1
  97. package/dist/commonjs/main_thread/api/option_utils.js +2 -6
  98. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  99. package/dist/commonjs/main_thread/api/public_api.js +33 -27
  100. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  101. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.js +4 -3
  102. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +6 -6
  103. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  104. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +32 -37
  105. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.js +1 -5
  106. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +3 -7
  107. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +1 -1
  108. package/dist/commonjs/main_thread/types.d.ts.map +1 -1
  109. package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
  110. package/dist/commonjs/manifest/classes/manifest.js +0 -6
  111. package/dist/commonjs/manifest/utils.d.ts.map +1 -1
  112. package/dist/commonjs/manifest/utils.js +72 -62
  113. package/dist/commonjs/mse/main_media_source_interface.js +1 -1
  114. package/dist/commonjs/multithread_types.d.ts +2 -2
  115. package/dist/commonjs/multithread_types.d.ts.map +1 -1
  116. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  117. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
  118. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  119. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
  120. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
  121. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
  122. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
  123. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
  124. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
  125. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
  126. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  127. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
  128. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
  129. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
  130. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
  131. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
  132. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
  133. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
  134. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
  135. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
  136. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  137. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  138. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
  139. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  140. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
  141. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  142. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  143. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  144. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
  145. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  146. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
  147. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  148. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
  149. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts.map +1 -1
  150. package/dist/commonjs/parsers/manifest/local/representation_index.js +29 -8
  151. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  152. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +31 -10
  153. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  154. package/dist/commonjs/parsers/manifest/smooth/create_parser.js +2 -1
  155. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.js +26 -4
  156. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.js +29 -7
  157. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.js +29 -7
  158. package/dist/commonjs/parsers/texttracks/srt/html.js +28 -6
  159. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.js +1 -1
  160. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.js +29 -7
  161. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  162. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +26 -5
  163. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  164. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.js +25 -4
  165. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
  166. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  167. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.js +9 -3
  168. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +30 -8
  169. package/dist/commonjs/public_types.d.ts +5 -7
  170. package/dist/commonjs/public_types.d.ts.map +1 -1
  171. package/dist/commonjs/transports/smooth/extract_timings_infos.js +30 -8
  172. package/dist/commonjs/utils/array_find.d.ts +1 -1
  173. package/dist/commonjs/utils/array_find.d.ts.map +1 -1
  174. package/dist/commonjs/utils/array_find.js +3 -1
  175. package/dist/commonjs/utils/array_find_index.d.ts +1 -1
  176. package/dist/commonjs/utils/array_find_index.d.ts.map +1 -1
  177. package/dist/commonjs/utils/array_find_index.js +3 -1
  178. package/dist/commonjs/utils/array_includes.d.ts.map +1 -1
  179. package/dist/commonjs/utils/array_includes.js +1 -3
  180. package/dist/commonjs/utils/assert.d.ts.map +1 -1
  181. package/dist/commonjs/utils/assert.js +0 -2
  182. package/dist/commonjs/utils/base64.d.ts +1 -1
  183. package/dist/commonjs/utils/base64.d.ts.map +1 -1
  184. package/dist/commonjs/utils/base64.js +3 -2
  185. package/dist/commonjs/utils/event_emitter.js +1 -1
  186. package/dist/commonjs/utils/flat_map.d.ts.map +1 -1
  187. package/dist/commonjs/utils/flat_map.js +1 -2
  188. package/dist/commonjs/utils/id_generator.d.ts.map +1 -1
  189. package/dist/commonjs/utils/id_generator.js +0 -1
  190. package/dist/commonjs/utils/logger.js +1 -1
  191. package/dist/commonjs/utils/monotonic_timestamp.js +2 -2
  192. package/dist/commonjs/utils/noop.js +1 -2
  193. package/dist/commonjs/utils/object_assign.d.ts.map +1 -1
  194. package/dist/commonjs/utils/object_assign.js +27 -6
  195. package/dist/commonjs/utils/object_values.d.ts.map +1 -1
  196. package/dist/commonjs/utils/object_values.js +1 -1
  197. package/dist/commonjs/utils/reference.js +1 -1
  198. package/dist/commonjs/utils/request/xhr.js +1 -1
  199. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  200. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  201. package/dist/es2017/compat/add_class_name.d.ts.map +1 -1
  202. package/dist/es2017/compat/add_class_name.js +1 -2
  203. package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
  204. package/dist/es2017/compat/browser_compatibility_types.js +4 -1
  205. package/dist/es2017/compat/clear_element_src.js +1 -1
  206. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  207. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
  208. package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
  209. package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
  210. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  211. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
  212. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  213. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
  214. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  215. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
  216. package/dist/es2017/compat/eme/eme-api-implementation.js +0 -2
  217. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  218. package/dist/es2017/compat/event_listeners.js +2 -6
  219. package/dist/es2017/compat/has_mse_in_worker.js +1 -1
  220. package/dist/es2017/compat/is_codec_supported.d.ts.map +1 -1
  221. package/dist/es2017/compat/is_codec_supported.js +0 -2
  222. package/dist/es2017/compat/is_vtt_cue.d.ts.map +1 -1
  223. package/dist/es2017/compat/is_vtt_cue.js +1 -2
  224. package/dist/es2017/compat/on_height_width_change.d.ts.map +1 -1
  225. package/dist/es2017/compat/patch_webkit_source_buffer.d.ts.map +1 -1
  226. package/dist/es2017/compat/patch_webkit_source_buffer.js +8 -18
  227. package/dist/es2017/compat/remove_cue.js +2 -2
  228. package/dist/es2017/core/fetchers/index.d.ts +4 -4
  229. package/dist/es2017/core/fetchers/index.d.ts.map +1 -1
  230. package/dist/es2017/core/fetchers/index.js +2 -2
  231. package/dist/es2017/core/fetchers/segment/index.d.ts +6 -5
  232. package/dist/es2017/core/fetchers/segment/index.d.ts.map +1 -1
  233. package/dist/es2017/core/fetchers/segment/index.js +2 -2
  234. package/dist/{commonjs/core/stream/representation/utils/downloading_queue.d.ts → es2017/core/fetchers/segment/segment_queue.d.ts} +63 -80
  235. package/dist/es2017/core/fetchers/segment/segment_queue.d.ts.map +1 -0
  236. package/dist/es2017/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +126 -105
  237. package/dist/es2017/core/fetchers/segment/{segment_fetcher_creator.d.ts → segment_queue_creator.d.ts} +25 -12
  238. package/dist/es2017/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
  239. package/dist/es2017/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +12 -6
  240. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts +9 -0
  241. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  242. package/dist/es2017/core/fetchers/segment/task_prioritizer.js +10 -2
  243. package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
  244. package/dist/es2017/core/main/common/content_time_boundaries_observer.js +4 -4
  245. package/dist/es2017/core/main/worker/content_preparer.d.ts +3 -3
  246. package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -1
  247. package/dist/es2017/core/main/worker/content_preparer.js +3 -3
  248. package/dist/es2017/core/main/worker/send_message.js +1 -1
  249. package/dist/es2017/core/main/worker/worker_main.js +2 -2
  250. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
  251. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.js +1 -2
  252. package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  253. package/dist/es2017/core/segment_sinks/segment_buffers_store.js +3 -2
  254. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts +1 -1
  255. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  256. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +3 -3
  257. package/dist/es2017/core/stream/adaptation/types.d.ts +2 -2
  258. package/dist/es2017/core/stream/adaptation/types.d.ts.map +1 -1
  259. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  260. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.js +1 -2
  261. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
  262. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  263. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +3 -3
  264. package/dist/es2017/core/stream/period/period_stream.d.ts +1 -1
  265. package/dist/es2017/core/stream/period/period_stream.d.ts.map +1 -1
  266. package/dist/es2017/core/stream/period/period_stream.js +2 -2
  267. package/dist/es2017/core/stream/period/types.d.ts +2 -2
  268. package/dist/es2017/core/stream/period/types.d.ts.map +1 -1
  269. package/dist/es2017/core/stream/representation/representation_stream.d.ts +1 -1
  270. package/dist/es2017/core/stream/representation/representation_stream.d.ts.map +1 -1
  271. package/dist/es2017/core/stream/representation/representation_stream.js +19 -28
  272. package/dist/es2017/core/stream/representation/types.d.ts +2 -2
  273. package/dist/es2017/core/stream/representation/types.d.ts.map +1 -1
  274. package/dist/es2017/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  275. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -2
  276. package/dist/es2017/core/types.d.ts +2 -2
  277. package/dist/es2017/core/types.d.ts.map +1 -1
  278. package/dist/es2017/default_config.d.ts.map +1 -1
  279. package/dist/es2017/default_config.js +0 -8
  280. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  281. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
  282. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
  283. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
  284. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  285. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
  286. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
  287. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
  288. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  289. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
  290. package/dist/es2017/features/add_features.d.ts.map +1 -1
  291. package/dist/es2017/features/add_features.js +1 -2
  292. package/dist/es2017/main_thread/api/option_utils.d.ts.map +1 -1
  293. package/dist/es2017/main_thread/api/option_utils.js +2 -6
  294. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  295. package/dist/es2017/main_thread/api/public_api.js +29 -23
  296. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  297. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.js +2 -1
  298. package/dist/es2017/main_thread/init/media_source_content_initializer.js +6 -6
  299. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  300. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +7 -12
  301. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.js +1 -5
  302. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +3 -7
  303. package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +1 -1
  304. package/dist/es2017/main_thread/types.d.ts.map +1 -1
  305. package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
  306. package/dist/es2017/manifest/classes/manifest.js +0 -6
  307. package/dist/es2017/manifest/utils.d.ts.map +1 -1
  308. package/dist/es2017/manifest/utils.js +1 -2
  309. package/dist/es2017/mse/main_media_source_interface.js +1 -1
  310. package/dist/es2017/multithread_types.d.ts +2 -2
  311. package/dist/es2017/multithread_types.d.ts.map +1 -1
  312. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  313. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
  314. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  315. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
  316. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
  317. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
  318. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
  319. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
  320. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
  321. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
  322. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  323. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
  324. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
  325. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
  326. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
  327. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
  328. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
  329. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
  330. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
  331. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
  332. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  333. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +1 -2
  334. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  335. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
  336. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  337. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
  338. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  339. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  340. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  341. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
  342. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  343. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
  344. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  345. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
  346. package/dist/es2017/parsers/manifest/local/representation_index.d.ts.map +1 -1
  347. package/dist/es2017/parsers/manifest/local/representation_index.js +1 -2
  348. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  349. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.js +2 -3
  350. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  351. package/dist/es2017/parsers/manifest/smooth/create_parser.js +2 -1
  352. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.js +2 -2
  353. package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.js +2 -2
  354. package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.js +2 -2
  355. package/dist/es2017/parsers/texttracks/srt/html.js +2 -2
  356. package/dist/es2017/parsers/texttracks/ttml/html/create_element.js +1 -1
  357. package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.js +3 -3
  358. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  359. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +1 -2
  360. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  361. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.js +1 -2
  362. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
  363. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  364. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.js +9 -3
  365. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -2
  366. package/dist/es2017/public_types.d.ts +5 -7
  367. package/dist/es2017/public_types.d.ts.map +1 -1
  368. package/dist/es2017/transports/smooth/extract_timings_infos.js +3 -3
  369. package/dist/es2017/utils/array_find.d.ts +1 -1
  370. package/dist/es2017/utils/array_find.d.ts.map +1 -1
  371. package/dist/es2017/utils/array_find.js +3 -1
  372. package/dist/es2017/utils/array_find_index.d.ts +1 -1
  373. package/dist/es2017/utils/array_find_index.d.ts.map +1 -1
  374. package/dist/es2017/utils/array_find_index.js +3 -1
  375. package/dist/es2017/utils/array_includes.d.ts.map +1 -1
  376. package/dist/es2017/utils/array_includes.js +1 -3
  377. package/dist/es2017/utils/assert.d.ts.map +1 -1
  378. package/dist/es2017/utils/assert.js +0 -2
  379. package/dist/es2017/utils/base64.d.ts +1 -1
  380. package/dist/es2017/utils/base64.d.ts.map +1 -1
  381. package/dist/es2017/utils/base64.js +3 -2
  382. package/dist/es2017/utils/event_emitter.js +1 -1
  383. package/dist/es2017/utils/flat_map.d.ts.map +1 -1
  384. package/dist/es2017/utils/flat_map.js +1 -2
  385. package/dist/es2017/utils/id_generator.d.ts.map +1 -1
  386. package/dist/es2017/utils/id_generator.js +0 -1
  387. package/dist/es2017/utils/logger.js +1 -1
  388. package/dist/es2017/utils/monotonic_timestamp.js +2 -2
  389. package/dist/es2017/utils/noop.js +1 -2
  390. package/dist/es2017/utils/object_assign.d.ts.map +1 -1
  391. package/dist/es2017/utils/object_assign.js +1 -2
  392. package/dist/es2017/utils/object_values.d.ts.map +1 -1
  393. package/dist/es2017/utils/object_values.js +1 -2
  394. package/dist/es2017/utils/reference.js +1 -1
  395. package/dist/es2017/utils/request/xhr.js +1 -1
  396. package/dist/rx-player.js +39336 -18
  397. package/dist/rx-player.min.js +18 -0
  398. package/dist/worker.js +5 -5
  399. package/package.json +16 -9
  400. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  401. package/src/compat/__tests__/add_text_track.test.ts +8 -12
  402. package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -7
  403. package/src/compat/__tests__/browser_version.test.ts +20 -19
  404. package/src/compat/__tests__/can_patch_isobmff.test.ts +7 -10
  405. package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +17 -21
  406. package/src/compat/__tests__/can_reuse_media_keys.test.ts +13 -21
  407. package/src/compat/__tests__/clear_element_src.test.ts +37 -34
  408. package/src/compat/__tests__/enable_audio_track.test.ts +22 -21
  409. package/src/compat/__tests__/is_codec_supported.test.ts +17 -18
  410. package/src/compat/__tests__/is_seeking_approximate.test.ts +8 -14
  411. package/src/compat/__tests__/is_vtt_cue.test.ts +8 -13
  412. package/src/compat/__tests__/make_vtt_cue.test.ts +7 -12
  413. package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +44 -32
  414. package/src/compat/__tests__/remove_cue.test.ts +30 -31
  415. package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +21 -26
  416. package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +9 -17
  417. package/src/compat/__tests__/should_unset_media_keys.test.ts +7 -14
  418. package/src/compat/__tests__/should_validate_metadata.test.ts +7 -17
  419. package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +17 -26
  420. package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +10 -15
  421. package/src/compat/add_class_name.ts +1 -2
  422. package/src/compat/browser_compatibility_types.ts +4 -2
  423. package/src/compat/clear_element_src.ts +1 -1
  424. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +1 -2
  425. package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +1 -2
  426. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +3 -6
  427. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +2 -17
  428. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +1 -4
  429. package/src/compat/eme/eme-api-implementation.ts +0 -2
  430. package/src/compat/event_listeners.ts +2 -6
  431. package/src/compat/has_mse_in_worker.ts +1 -1
  432. package/src/compat/is_codec_supported.ts +0 -2
  433. package/src/compat/is_debug_mode_enabled.ts +1 -1
  434. package/src/compat/is_vtt_cue.ts +1 -2
  435. package/src/compat/on_height_width_change.ts +1 -2
  436. package/src/compat/patch_webkit_source_buffer.ts +48 -29
  437. package/src/compat/remove_cue.ts +2 -2
  438. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +21 -26
  439. package/src/core/fetchers/README.md +13 -12
  440. package/src/core/fetchers/index.ts +5 -8
  441. package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +17 -23
  442. package/src/core/fetchers/segment/index.ts +6 -5
  443. package/src/core/{stream/representation/utils/downloading_queue.ts → fetchers/segment/segment_queue.ts} +204 -166
  444. package/src/core/fetchers/segment/{segment_fetcher_creator.ts → segment_queue_creator.ts} +31 -14
  445. package/src/core/fetchers/segment/task_prioritizer.ts +10 -2
  446. package/src/core/fetchers/utils/schedule_request.ts +1 -1
  447. package/src/core/main/common/content_time_boundaries_observer.ts +4 -4
  448. package/src/core/main/worker/content_preparer.ts +5 -5
  449. package/src/core/main/worker/send_message.ts +1 -1
  450. package/src/core/main/worker/worker_main.ts +2 -2
  451. package/src/core/segment_sinks/implementations/text/text_segment_buffer.ts +1 -5
  452. package/src/core/segment_sinks/inventory/segment_inventory.ts +1 -2
  453. package/src/core/segment_sinks/segment_buffers_store.ts +3 -2
  454. package/src/core/stream/adaptation/adaptation_stream.ts +3 -3
  455. package/src/core/stream/adaptation/types.ts +2 -2
  456. package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +1 -2
  457. package/src/core/stream/orchestrator/stream_orchestrator.ts +4 -4
  458. package/src/core/stream/period/period_stream.ts +2 -2
  459. package/src/core/stream/period/types.ts +2 -2
  460. package/src/core/stream/representation/representation_stream.ts +59 -56
  461. package/src/core/stream/representation/types.ts +3 -4
  462. package/src/core/stream/representation/utils/get_needed_segments.ts +1 -2
  463. package/src/core/types.ts +2 -4
  464. package/src/default_config.ts +0 -8
  465. package/src/errors/__tests__/format_error.test.ts +18 -18
  466. package/src/experimental/features/__tests__/multi_thread.test.ts +5 -5
  467. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +11 -11
  468. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +18 -26
  469. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +13 -21
  470. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +24 -20
  471. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +28 -30
  472. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +32 -38
  473. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +64 -51
  474. package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +4 -17
  475. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -4
  476. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +1 -2
  477. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +16 -14
  478. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +1 -2
  479. package/src/features/__tests__/add_features.test.ts +12 -11
  480. package/src/features/add_features.ts +1 -2
  481. package/src/features/list/__tests__/dash_wasm.test.ts +4 -4
  482. package/src/main_thread/api/__tests__/option_utils.test.ts +114 -70
  483. package/src/main_thread/api/__tests__/public_api.test.ts +85 -48
  484. package/src/main_thread/api/option_utils.ts +2 -6
  485. package/src/main_thread/api/public_api.ts +24 -18
  486. package/src/main_thread/decrypt/__tests__/__global__/get_license.test.ts +12 -18
  487. package/src/main_thread/decrypt/__tests__/__global__/init_data.test.ts +128 -101
  488. package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +26 -33
  489. package/src/main_thread/decrypt/__tests__/__global__/media_keys.test.ts +46 -48
  490. package/src/main_thread/decrypt/__tests__/__global__/server_certificate.test.ts +33 -34
  491. package/src/main_thread/decrypt/__tests__/__global__/utils.ts +13 -17
  492. package/src/main_thread/decrypt/session_events_listener.ts +1 -1
  493. package/src/main_thread/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -5
  494. package/src/main_thread/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +14 -17
  495. package/src/main_thread/decrypt/utils/persistent_sessions_store.ts +2 -1
  496. package/src/main_thread/init/media_source_content_initializer.ts +7 -7
  497. package/src/main_thread/init/multi_thread_content_initializer.ts +7 -12
  498. package/src/main_thread/init/utils/__tests__/are_same_stream_events.test.ts +11 -16
  499. package/src/main_thread/init/utils/__tests__/refresh_scheduled_events_list.test.ts +48 -18
  500. package/src/main_thread/text_displayer/html/__tests__/text_track_cues_store.test.ts +32 -17
  501. package/src/main_thread/text_displayer/html/html_text_displayer.ts +1 -5
  502. package/src/main_thread/text_displayer/native/native_text_displayer.ts +3 -7
  503. package/src/main_thread/tracks_store/__tests__/media_element_tracks_store.test.ts +33 -28
  504. package/src/main_thread/tracks_store/track_dispatcher.ts +1 -1
  505. package/src/main_thread/types.ts +0 -1
  506. package/src/manifest/classes/__tests__/adaptation.test.ts +167 -62
  507. package/src/manifest/classes/__tests__/manifest.test.ts +130 -74
  508. package/src/manifest/classes/__tests__/period.test.ts +293 -211
  509. package/src/manifest/classes/__tests__/update_period_in_place.test.ts +0 -2
  510. package/src/manifest/classes/__tests__/update_periods.test.ts +57 -57
  511. package/src/manifest/classes/manifest.ts +0 -6
  512. package/src/manifest/utils.ts +1 -2
  513. package/src/mse/main_media_source_interface.ts +1 -1
  514. package/src/mse/types.ts +1 -1
  515. package/src/multithread_types.ts +2 -2
  516. package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +5 -10
  517. package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +38 -30
  518. package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -3
  519. package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +12 -6
  520. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.ts +14 -7
  521. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.ts +8 -4
  522. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Period.ts +10 -5
  523. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.ts +10 -5
  524. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
  525. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
  526. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
  527. package/src/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.ts +14 -7
  528. package/src/parsers/manifest/dash/native-parser/node_parsers/EventStream.ts +2 -1
  529. package/src/parsers/manifest/dash/native-parser/node_parsers/MPD.ts +8 -4
  530. package/src/parsers/manifest/dash/native-parser/node_parsers/Period.ts +10 -5
  531. package/src/parsers/manifest/dash/native-parser/node_parsers/Representation.ts +10 -5
  532. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
  533. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
  534. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentTimeline.test.ts +9 -14
  535. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
  536. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +1 -2
  537. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +2 -1
  538. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +2 -1
  539. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +4 -2
  540. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +10 -5
  541. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +2 -1
  542. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +2 -1
  543. package/src/parsers/manifest/local/representation_index.ts +1 -2
  544. package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +2 -3
  545. package/src/parsers/manifest/smooth/create_parser.ts +2 -1
  546. package/src/parsers/manifest/smooth/shared_smooth_segment_timeline.ts +2 -2
  547. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +3 -8
  548. package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +2 -2
  549. package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +2 -2
  550. package/src/parsers/texttracks/srt/html.ts +2 -2
  551. package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +3 -7
  552. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.ts +4 -4
  553. package/src/parsers/texttracks/ttml/html/create_element.ts +1 -1
  554. package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +3 -3
  555. package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +1 -2
  556. package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +1 -2
  557. package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +11 -11
  558. package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +5 -18
  559. package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +23 -28
  560. package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +9 -14
  561. package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +11 -11
  562. package/src/parsers/texttracks/webvtt/html/to_html.ts +9 -3
  563. package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +2 -2
  564. package/src/public_types.ts +7 -8
  565. package/src/tools/TextTrackRenderer/text_track_renderer.ts +1 -1
  566. package/src/transports/smooth/extract_timings_infos.ts +3 -3
  567. package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +30 -28
  568. package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +38 -44
  569. package/src/utils/__tests__/array_find.test.ts +12 -12
  570. package/src/utils/__tests__/array_find_index.test.ts +13 -12
  571. package/src/utils/__tests__/array_includes.test.ts +7 -7
  572. package/src/utils/__tests__/assert.test.ts +19 -25
  573. package/src/utils/__tests__/base64.test.ts +18 -13
  574. package/src/utils/__tests__/event_emitter.test.ts +225 -50
  575. package/src/utils/__tests__/flat_map.test.ts +2 -6
  576. package/src/utils/__tests__/starts_with.test.ts +7 -8
  577. package/src/utils/array_find.ts +3 -7
  578. package/src/utils/array_find_index.ts +3 -7
  579. package/src/utils/array_includes.ts +1 -3
  580. package/src/utils/assert.ts +0 -2
  581. package/src/utils/base64.ts +3 -2
  582. package/src/utils/event_emitter.ts +1 -1
  583. package/src/utils/flat_map.ts +1 -2
  584. package/src/utils/id_generator.ts +0 -2
  585. package/src/utils/is_worker.ts +1 -1
  586. package/src/utils/logger.ts +1 -1
  587. package/src/utils/monotonic_timestamp.ts +2 -2
  588. package/src/utils/noop.ts +1 -2
  589. package/src/utils/object_assign.ts +1 -2
  590. package/src/utils/object_values.ts +1 -2
  591. package/src/utils/reference.ts +1 -1
  592. package/src/utils/request/xhr.ts +1 -1
  593. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
  594. package/dist/commonjs/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
  595. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
  596. package/dist/es2017/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
@@ -4,7 +4,7 @@ import type { IContentInitializationData } from "../../../multithread_types";
4
4
  import type { IRepresentationEstimator } from "../../adaptive";
5
5
  import CmcdDataBuilder from "../../cmcd";
6
6
  import type { IManifestRefreshSettings } from "../../fetchers";
7
- import { ManifestFetcher, SegmentFetcherCreator } from "../../fetchers";
7
+ import { ManifestFetcher, SegmentQueueCreator } from "../../fetchers";
8
8
  import SegmentSinksStore from "../../segment_sinks";
9
9
  import type { INeedsMediaSourceReloadPayload } from "../../stream";
10
10
  import DecipherabilityFreezeDetector from "../common/DecipherabilityFreezeDetector";
@@ -88,10 +88,10 @@ export interface IPreparedContentData {
88
88
  /** Allows to send timed text media data so it can be rendered. */
89
89
  workerTextSender: WorkerTextDisplayerInterface | null;
90
90
  /**
91
- * Allows to create `SegmentFetcher` which simplifies complex media segment
91
+ * Allows to create `SegmentQueue` which simplifies complex media segment
92
92
  * fetching.
93
93
  */
94
- segmentFetcherCreator: SegmentFetcherCreator;
94
+ segmentQueueCreator: SegmentQueueCreator;
95
95
  /**
96
96
  * Allows to store and update the wanted tracks and Representation inside that
97
97
  * track.
@@ -1 +1 @@
1
- {"version":3,"file":"content_preparer.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/content_preparer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAEV,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AAWpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,eAAe,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AAGpF,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,4BAA4B,MAAM,mCAAmC,CAAC;AAI7E,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,4BAA4B,CAAgB;IACpD,OAAO,CAAC,iBAAiB,CAAgB;IAEzC,uBAAuB;IACvB,OAAO,CAAC,eAAe,CAAU;IAEjC,uBAAuB;IACvB,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;;;;;;;OAYG;gBACS,EACV,cAAc,EACd,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB;IASM,oBAAoB,CACzB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC;IA4KtB,iBAAiB,IAAI,oBAAoB,GAAG,IAAI;IAIhD,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAIjE,iBAAiB,CAAC,UAAU,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD5E,qBAAqB;CAI7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC;;;OAGG;IACH,WAAW,EAAE,qBAAqB,CAAC;IACnC,0DAA0D;IAC1D,eAAe,EAAE,eAAe,CAAC;IACjC;;;;OAIG;IACH,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D;;;OAGG;IACH,uBAAuB,EAAE,wBAAwB,CAAC;IAClD;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kEAAkE;IAClE,gBAAgB,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;CACtC"}
1
+ {"version":3,"file":"content_preparer.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/content_preparer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAEV,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AAWpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,eAAe,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AAGpF,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,4BAA4B,MAAM,mCAAmC,CAAC;AAI7E,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,4BAA4B,CAAgB;IACpD,OAAO,CAAC,iBAAiB,CAAgB;IAEzC,uBAAuB;IACvB,OAAO,CAAC,eAAe,CAAU;IAEjC,uBAAuB;IACvB,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;;;;;;;OAYG;gBACS,EACV,cAAc,EACd,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB;IASM,oBAAoB,CACzB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC;IA4KtB,iBAAiB,IAAI,oBAAoB,GAAG,IAAI;IAIhD,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAIjE,iBAAiB,CAAC,UAAU,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD5E,qBAAqB;CAI7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC;;;OAGG;IACH,WAAW,EAAE,qBAAqB,CAAC;IACnC,0DAA0D;IAC1D,eAAe,EAAE,eAAe,CAAC;IACjC;;;;OAIG;IACH,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D;;;OAGG;IACH,uBAAuB,EAAE,wBAAwB,CAAC;IAClD;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kEAAkE;IAClE,gBAAgB,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;CACtC"}
@@ -9,7 +9,7 @@ import objectAssign from "../../../utils/object_assign";
9
9
  import TaskCanceller from "../../../utils/task_canceller";
10
10
  import createAdaptiveRepresentationSelector from "../../adaptive";
11
11
  import CmcdDataBuilder from "../../cmcd";
12
- import { ManifestFetcher, SegmentFetcherCreator } from "../../fetchers";
12
+ import { ManifestFetcher, SegmentQueueCreator } from "../../fetchers";
13
13
  import SegmentSinksStore from "../../segment_sinks";
14
14
  import DecipherabilityFreezeDetector from "../common/DecipherabilityFreezeDetector";
15
15
  import { limitVideoResolution, throttleVideoBitrate } from "./globals";
@@ -71,7 +71,7 @@ export default class ContentPreparer {
71
71
  const unbindRejectOnCancellation = currentMediaSourceCanceller.signal.register((error) => {
72
72
  rej(error);
73
73
  });
74
- const segmentFetcherCreator = new SegmentFetcherCreator(dashPipelines, cmcdDataBuilder, context.segmentRetryOptions, contentCanceller.signal);
74
+ const segmentQueueCreator = new SegmentQueueCreator(dashPipelines, cmcdDataBuilder, context.segmentRetryOptions, contentCanceller.signal);
75
75
  const trackChoiceSetter = new TrackChoiceSetter();
76
76
  const [mediaSource, segmentSinksStore, workerTextSender] = createMediaSourceAndBuffersStore(contentId, {
77
77
  hasMseInWorker: this._hasMseInWorker,
@@ -88,7 +88,7 @@ export default class ContentPreparer {
88
88
  manifestFetcher,
89
89
  representationEstimator,
90
90
  segmentSinksStore,
91
- segmentFetcherCreator,
91
+ segmentQueueCreator,
92
92
  workerTextSender,
93
93
  trackChoiceSetter,
94
94
  };
@@ -7,7 +7,7 @@ export default function sendMessage(msg, transferables) {
7
7
  }
8
8
  else {
9
9
  // TypeScript made a mistake here, and 2busy2fix
10
- /* eslint-disable-next-line */
10
+ // eslint-disable-next-line
11
11
  postMessage(msg, transferables);
12
12
  }
13
13
  }
@@ -370,7 +370,7 @@ function loadOrReloadPreparedContent(val, contentPreparer, playbackObservationRe
370
370
  });
371
371
  return;
372
372
  }
373
- const { contentId, cmcdDataBuilder, manifest, mediaSource, representationEstimator, segmentSinksStore, segmentFetcherCreator, } = preparedContent;
373
+ const { contentId, cmcdDataBuilder, manifest, mediaSource, representationEstimator, segmentSinksStore, segmentQueueCreator, } = preparedContent;
374
374
  const { drmSystemId, enableFastSwitching, initialTime, onCodecSwitch } = val;
375
375
  playbackObservationRef.onUpdate((observation) => {
376
376
  if (preparedContent.decipherabilityFreezeDetector.needToReload(observation)) {
@@ -418,7 +418,7 @@ function loadOrReloadPreparedContent(val, contentPreparer, playbackObservationRe
418
418
  });
419
419
  },
420
420
  }, currentLoadCanceller.signal);
421
- StreamOrchestrator({ initialPeriod: manifest.periods[0], manifest }, playbackObserver, representationEstimator, segmentSinksStore, segmentFetcherCreator, {
421
+ StreamOrchestrator({ initialPeriod: manifest.periods[0], manifest }, playbackObserver, representationEstimator, segmentSinksStore, segmentQueueCreator, {
422
422
  wantedBufferAhead,
423
423
  maxVideoBufferSize,
424
424
  maxBufferAhead,
@@ -142,15 +142,11 @@ function assertChunkIsTextTrackSegmentData(chunk) {
142
142
  * a hack to tell TypeScript to perform that check.
143
143
  */
144
144
  if (0 /* __ENVIRONMENT__.CURRENT_ENV */ === 1 /* __ENVIRONMENT__.DEV */) {
145
- /* eslint-disable @typescript-eslint/no-unused-vars */
146
- /* eslint-disable @typescript-eslint/ban-ts-comment */
147
- // @ts-ignore
145
+ // @ts-expect-error: unused function for type checking
148
146
  function _checkType(input) {
149
147
  function checkEqual(_arg) {
150
148
  /* nothing */
151
149
  }
152
150
  checkEqual(input);
153
151
  }
154
- /* eslint-enable @typescript-eslint/no-unused-vars */
155
- /* eslint-enable @typescript-eslint/ban-ts-comment */
156
152
  }
@@ -852,8 +852,7 @@ function prettyPrintInventory(inventory) {
852
852
  return currentLetter;
853
853
  }
854
854
  let str = "";
855
- for (let i = 0; i < inventory.length; i++) {
856
- const chunk = inventory[i];
855
+ for (const chunk of inventory) {
857
856
  if (chunk.bufferedStart !== undefined && chunk.bufferedEnd !== undefined) {
858
857
  const periodId = chunk.infos.period.id;
859
858
  const representationId = chunk.infos.representation.id;
@@ -1 +1 @@
1
- {"version":3,"file":"segment_buffers_store.d.ts","sourceRoot":"","sources":["../../../../src/core/segment_sinks/segment_buffers_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAKvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,0EAA0E;AAC1E,KAAK,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC3E,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7E;AAED,UAAU,yBAAyB;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB;IAIzE,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAmD;IAEnF;;;;OAIG;IACH,OAAO,CAAC,8BAA8B,CAAoB;IAE1D,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,SAAS,CAAU;IAE3B;;;OAGG;gBAED,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,uBAAuB,GAAG,IAAI;IASxD;;;;OAIG;IACI,cAAc,IAAI,WAAW,EAAE;IAQtC;;;;OAIG;IACI,oBAAoB,IAAI,WAAW,EAAE;IAI5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,SAAS,CACd,UAAU,EAAE,WAAW,GAErB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAC3C;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,GACzB;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;IAWxB;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;;;;;OAMG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAgBxD;;;;;;;;;;;OAWG;IACI,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAwD7E;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAYxD;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IAehC,sBAAsB,IAAI,mBAAmB;CASrD"}
1
+ {"version":3,"file":"segment_buffers_store.d.ts","sourceRoot":"","sources":["../../../../src/core/segment_sinks/segment_buffers_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAMvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,0EAA0E;AAC1E,KAAK,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC3E,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7E;AAED,UAAU,yBAAyB;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB;IAIzE,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAmD;IAEnF;;;;OAIG;IACH,OAAO,CAAC,8BAA8B,CAAoB;IAE1D,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,SAAS,CAAU;IAE3B;;;OAGG;gBAED,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,uBAAuB,GAAG,IAAI;IASxD;;;;OAIG;IACI,cAAc,IAAI,WAAW,EAAE;IAQtC;;;;OAIG;IACI,oBAAoB,IAAI,WAAW,EAAE;IAI5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,SAAS,CACd,UAAU,EAAE,WAAW,GAErB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAC3C;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,GACzB;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;IAWxB;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;;;;;OAMG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAgBxD;;;;;;;;;;;OAWG;IACI,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAwD7E;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAYxD;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IAehC,sBAAsB,IAAI,mBAAmB;CASrD"}
@@ -18,6 +18,7 @@ import log from "../../log";
18
18
  import assert from "../../utils/assert";
19
19
  import createCancellablePromise from "../../utils/create_cancellable_promise";
20
20
  import isNullOrUndefined from "../../utils/is_null_or_undefined";
21
+ import noop from "../../utils/noop";
21
22
  import { AudioVideoSegmentSink } from "./implementations";
22
23
  import TextSegmentSink from "./implementations/text";
23
24
  const POSSIBLE_BUFFER_TYPES = ["audio", "video", "text"];
@@ -139,8 +140,8 @@ export default class SegmentSinksStore {
139
140
  return Promise.resolve();
140
141
  }
141
142
  return createCancellablePromise(cancelWaitSignal, (res) => {
142
- /* eslint-disable-next-line prefer-const */
143
- let onAddedOrDisabled;
143
+ // eslint-disable-next-line prefer-const
144
+ let onAddedOrDisabled = noop;
144
145
  const removeCallback = () => {
145
146
  const indexOf = this._onNativeBufferAddedOrDisabled.indexOf(onAddedOrDisabled);
146
147
  if (indexOf >= 0) {
@@ -30,5 +30,5 @@ import type { IAdaptationStreamArguments, IAdaptationStreamCallbacks } from "./t
30
30
  * triggered, to immediately stop all operations the `AdaptationStream` is
31
31
  * doing.
32
32
  */
33
- export default function AdaptationStream({ playbackObserver, content, options, representationEstimator, segmentSink, segmentFetcherCreator, wantedBufferAhead, maxVideoBufferSize, }: IAdaptationStreamArguments, callbacks: IAdaptationStreamCallbacks, parentCancelSignal: CancellationSignal): void;
33
+ export default function AdaptationStream({ playbackObserver, content, options, representationEstimator, segmentSink, segmentQueueCreator, wantedBufferAhead, maxVideoBufferSize, }: IAdaptationStreamArguments, callbacks: IAdaptationStreamCallbacks, parentCancelSignal: CancellationSignal): void;
34
34
  //# sourceMappingURL=adaptation_stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adaptation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/adaptation_stream.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EACE,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,0BAA0B,EAC7B,SAAS,EAAE,0BAA0B,EACrC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CA4aN"}
1
+ {"version":3,"file":"adaptation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/adaptation_stream.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EACE,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,0BAA0B,EAC7B,SAAS,EAAE,0BAA0B,EACrC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CA4aN"}
@@ -41,7 +41,7 @@ import getRepresentationsSwitchingStrategy from "./get_representations_switch_st
41
41
  * triggered, to immediately stop all operations the `AdaptationStream` is
42
42
  * doing.
43
43
  */
44
- export default function AdaptationStream({ playbackObserver, content, options, representationEstimator, segmentSink, segmentFetcherCreator, wantedBufferAhead, maxVideoBufferSize, }, callbacks, parentCancelSignal) {
44
+ export default function AdaptationStream({ playbackObserver, content, options, representationEstimator, segmentSink, segmentQueueCreator, wantedBufferAhead, maxVideoBufferSize, }, callbacks, parentCancelSignal) {
45
45
  const { manifest, period, adaptation } = content;
46
46
  /** Allows to cancel everything the `AdaptationStream` is doing. */
47
47
  const adapStreamCanceller = new TaskCanceller();
@@ -71,7 +71,7 @@ export default function AdaptationStream({ playbackObserver, content, options, r
71
71
  // Start-up Adaptive logic
72
72
  const { estimates: estimateRef, callbacks: abrCallbacks } = representationEstimator({ manifest, period, adaptation }, currentRepresentation, representationsList, playbackObserver, adapStreamCanceller.signal);
73
73
  /** Allows a `RepresentationStream` to easily fetch media segments. */
74
- const segmentFetcher = segmentFetcherCreator.createSegmentFetcher(adaptation.type,
74
+ const segmentQueue = segmentQueueCreator.createSegmentQueue(adaptation.type,
75
75
  /* eslint-disable @typescript-eslint/unbound-method */
76
76
  {
77
77
  onRequestBegin: abrCallbacks.requestBegin,
@@ -315,7 +315,7 @@ export default function AdaptationStream({ playbackObserver, content, options, r
315
315
  playbackObserver,
316
316
  content: { representation, adaptation, period, manifest },
317
317
  segmentSink,
318
- segmentFetcher,
318
+ segmentQueue,
319
319
  terminate: terminateCurrentStream,
320
320
  options: {
321
321
  bufferGoal,
@@ -3,7 +3,7 @@ import type { IReadOnlyPlaybackObserver } from "../../../playback_observer";
3
3
  import type { IAudioTrackSwitchingMode, IVideoTrackSwitchingMode } from "../../../public_types";
4
4
  import type { IReadOnlySharedReference } from "../../../utils/reference";
5
5
  import type { IRepresentationEstimator } from "../../adaptive";
6
- import type { SegmentFetcherCreator } from "../../fetchers";
6
+ import type { SegmentQueueCreator } from "../../fetchers";
7
7
  import type { IBufferType, SegmentSink } from "../../segment_sinks";
8
8
  import type { IRepresentationsChoice, IRepresentationStreamCallbacks, IRepresentationStreamPlaybackObservation } from "../representation";
9
9
  /** Callbacks called by the `AdaptationStream` on various events. */
@@ -125,7 +125,7 @@ export interface IAdaptationStreamArguments {
125
125
  /** SourceBuffer wrapper - needed to push media segments. */
126
126
  segmentSink: SegmentSink;
127
127
  /** Module used to fetch the wanted media segments. */
128
- segmentFetcherCreator: SegmentFetcherCreator;
128
+ segmentQueueCreator: SegmentQueueCreator;
129
129
  /**
130
130
  * "Buffer goal" wanted, or the ideal amount of time ahead of the current
131
131
  * position in the current SegmentSink. When this amount has been reached
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get_time_ranges_for_content.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/orchestrator/get_time_ranges_for_content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,uBAAuB,CAAC;CACzC,CAAC,GACD,MAAM,EAAE,CAmCV"}
1
+ {"version":3,"file":"get_time_ranges_for_content.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/orchestrator/get_time_ranges_for_content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,uBAAuB,CAAC;CACzC,CAAC,GACD,MAAM,EAAE,CAkCV"}
@@ -27,8 +27,7 @@ export default function getTimeRangesForContent(segmentSink, contents) {
27
27
  }
28
28
  const accumulator = [];
29
29
  const inventory = segmentSink.getLastKnownInventory();
30
- for (let i = 0; i < inventory.length; i++) {
31
- const chunk = inventory[i];
30
+ for (const chunk of inventory) {
32
31
  const hasContent = contents.some((content) => {
33
32
  return (chunk.infos.period.id === content.period.id &&
34
33
  chunk.infos.adaptation.id === content.adaptation.id &&
@@ -18,7 +18,7 @@ import type { IReadOnlyPlaybackObserver } from "../../../playback_observer";
18
18
  import type { IReadOnlySharedReference } from "../../../utils/reference";
19
19
  import type { CancellationSignal } from "../../../utils/task_canceller";
20
20
  import type { IRepresentationEstimator } from "../../adaptive";
21
- import type { SegmentFetcherCreator } from "../../fetchers";
21
+ import type { SegmentQueueCreator } from "../../fetchers";
22
22
  import type { IBufferType } from "../../segment_sinks";
23
23
  import type SegmentSinksStore from "../../segment_sinks";
24
24
  import type { IPeriodStreamCallbacks, IPeriodStreamOptions, IPeriodStreamPlaybackObservation } from "../period";
@@ -43,7 +43,7 @@ import type { IPeriodStreamCallbacks, IPeriodStreamOptions, IPeriodStreamPlaybac
43
43
  * Representation to play.
44
44
  * @param {Object} segmentSinksStore - Will be used to lazily create
45
45
  * SegmentSink instances associated with the current content.
46
- * @param {Object} segmentFetcherCreator - Allow to download segments.
46
+ * @param {Object} segmentQueueCreator - Allow to download segments.
47
47
  * @param {Object} options
48
48
  * @param {Object} callbacks - The `StreamOrchestrator` relies on a system of
49
49
  * callbacks that it will call on various events.
@@ -67,7 +67,7 @@ import type { IPeriodStreamCallbacks, IPeriodStreamOptions, IPeriodStreamPlaybac
67
67
  export default function StreamOrchestrator(content: {
68
68
  manifest: IManifest;
69
69
  initialPeriod: IPeriod;
70
- }, playbackObserver: IReadOnlyPlaybackObserver<IStreamOrchestratorPlaybackObservation>, representationEstimator: IRepresentationEstimator, segmentSinksStore: SegmentSinksStore, segmentFetcherCreator: SegmentFetcherCreator, options: IStreamOrchestratorOptions, callbacks: IStreamOrchestratorCallbacks, orchestratorCancelSignal: CancellationSignal): void;
70
+ }, playbackObserver: IReadOnlyPlaybackObserver<IStreamOrchestratorPlaybackObservation>, representationEstimator: IRepresentationEstimator, segmentSinksStore: SegmentSinksStore, segmentQueueCreator: SegmentQueueCreator, options: IStreamOrchestratorOptions, callbacks: IStreamOrchestratorCallbacks, orchestratorCancelSignal: CancellationSignal): void;
71
71
  export type IStreamOrchestratorPlaybackObservation = IPeriodStreamPlaybackObservation;
72
72
  /** Options tweaking the behavior of the StreamOrchestrator. */
73
73
  export type IStreamOrchestratorOptions = IPeriodStreamOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"stream_orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/orchestrator/stream_orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,SAAS,EAET,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAEjC,MAAM,WAAW,CAAC;AAKnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,OAAO,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,EACxD,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,uBAAuB,EAAE,wBAAwB,EACjD,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,qBAAqB,EAC5C,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,4BAA4B,EACvC,wBAAwB,EAAE,kBAAkB,GAC3C,IAAI,CAoiBN;AAED,MAAM,MAAM,sCAAsC,GAAG,gCAAgC,CAAC;AAEtF,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC9D,iBAAiB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACpD,kBAAkB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACrD,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,sEAAsE;AACtE,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAChE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAChE;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAAC;IACtE;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD;;;;;;;;;OASG;IACH,yBAAyB,IAAI,IAAI,CAAC;CACnC;AAED,sDAAsD;AACtD,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,WAAW,CAAC;CACzB"}
1
+ {"version":3,"file":"stream_orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/orchestrator/stream_orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,SAAS,EAET,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAEjC,MAAM,WAAW,CAAC;AAKnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,OAAO,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,EACxD,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,uBAAuB,EAAE,wBAAwB,EACjD,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,4BAA4B,EACvC,wBAAwB,EAAE,kBAAkB,GAC3C,IAAI,CAoiBN;AAED,MAAM,MAAM,sCAAsC,GAAG,gCAAgC,CAAC;AAEtF,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC9D,iBAAiB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACpD,kBAAkB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACrD,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,sEAAsE;AACtE,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAChE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAChE;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAAC;IACtE;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD;;;;;;;;;OASG;IACH,yBAAyB,IAAI,IAAI,CAAC;CACnC;AAED,sDAAsD;AACtD,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,WAAW,CAAC;CACzB"}
@@ -46,7 +46,7 @@ import getTimeRangesForContent from "./get_time_ranges_for_content";
46
46
  * Representation to play.
47
47
  * @param {Object} segmentSinksStore - Will be used to lazily create
48
48
  * SegmentSink instances associated with the current content.
49
- * @param {Object} segmentFetcherCreator - Allow to download segments.
49
+ * @param {Object} segmentQueueCreator - Allow to download segments.
50
50
  * @param {Object} options
51
51
  * @param {Object} callbacks - The `StreamOrchestrator` relies on a system of
52
52
  * callbacks that it will call on various events.
@@ -67,7 +67,7 @@ import getTimeRangesForContent from "./get_time_ranges_for_content";
67
67
  * when triggered, to immediately stop all operations the `PeriodStream` is
68
68
  * doing.
69
69
  */
70
- export default function StreamOrchestrator(content, playbackObserver, representationEstimator, segmentSinksStore, segmentFetcherCreator, options, callbacks, orchestratorCancelSignal) {
70
+ export default function StreamOrchestrator(content, playbackObserver, representationEstimator, segmentSinksStore, segmentQueueCreator, options, callbacks, orchestratorCancelSignal) {
71
71
  const { manifest, initialPeriod } = content;
72
72
  const { maxBufferAhead, maxBufferBehind, wantedBufferAhead, maxVideoBufferSize } = options;
73
73
  const { MINIMUM_MAX_BUFFER_AHEAD, MAXIMUM_MAX_BUFFER_AHEAD, MAXIMUM_MAX_BUFFER_BEHIND, } = config.getCurrent();
@@ -365,7 +365,7 @@ export default function StreamOrchestrator(content, playbackObserver, representa
365
365
  content: { manifest, period: basePeriod },
366
366
  garbageCollectors,
367
367
  maxVideoBufferSize,
368
- segmentFetcherCreator,
368
+ segmentQueueCreator,
369
369
  segmentSinksStore,
370
370
  options,
371
371
  playbackObserver,
@@ -46,5 +46,5 @@ import type { IPeriodStreamArguments, IPeriodStreamCallbacks } from "./types";
46
46
  * triggered, to immediately stop all operations the `PeriodStream` is
47
47
  * doing.
48
48
  */
49
- export default function PeriodStream({ bufferType, content, garbageCollectors, playbackObserver, representationEstimator, segmentFetcherCreator, segmentSinksStore, options, wantedBufferAhead, maxVideoBufferSize, }: IPeriodStreamArguments, callbacks: IPeriodStreamCallbacks, parentCancelSignal: CancellationSignal): void;
49
+ export default function PeriodStream({ bufferType, content, garbageCollectors, playbackObserver, representationEstimator, segmentQueueCreator, segmentSinksStore, options, wantedBufferAhead, maxVideoBufferSize, }: IPeriodStreamArguments, callbacks: IPeriodStreamCallbacks, parentCancelSignal: CancellationSignal): void;
50
50
  //# sourceMappingURL=period_stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"period_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/period/period_stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAWxE,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,EACE,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,sBAAsB,EACzB,SAAS,EAAE,sBAAsB,EACjC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CA+VN"}
1
+ {"version":3,"file":"period_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/period/period_stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAWxE,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,EACE,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,sBAAsB,EACzB,SAAS,EAAE,sBAAsB,EACjC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CA+VN"}
@@ -57,7 +57,7 @@ import getAdaptationSwitchStrategy from "./utils/get_adaptation_switch_strategy"
57
57
  * triggered, to immediately stop all operations the `PeriodStream` is
58
58
  * doing.
59
59
  */
60
- export default function PeriodStream({ bufferType, content, garbageCollectors, playbackObserver, representationEstimator, segmentFetcherCreator, segmentSinksStore, options, wantedBufferAhead, maxVideoBufferSize, }, callbacks, parentCancelSignal) {
60
+ export default function PeriodStream({ bufferType, content, garbageCollectors, playbackObserver, representationEstimator, segmentQueueCreator, segmentSinksStore, options, wantedBufferAhead, maxVideoBufferSize, }, callbacks, parentCancelSignal) {
61
61
  const { manifest, period } = content;
62
62
  /**
63
63
  * Emits the chosen Adaptation and Representations for the current type.
@@ -242,7 +242,7 @@ export default function PeriodStream({ bufferType, content, garbageCollectors, p
242
242
  playbackObserver: adaptationPlaybackObserver,
243
243
  representationEstimator,
244
244
  segmentSink,
245
- segmentFetcherCreator,
245
+ segmentQueueCreator,
246
246
  wantedBufferAhead,
247
247
  maxVideoBufferSize,
248
248
  }, Object.assign(Object.assign({}, callbacks), { error: onAdaptationStreamError }), cancelSignal);
@@ -7,7 +7,7 @@ import type SharedReference from "../../../utils/reference";
7
7
  import type { CancellationSignal } from "../../../utils/task_canceller";
8
8
  import type WeakMapMemory from "../../../utils/weak_map_memory";
9
9
  import type { IRepresentationEstimator } from "../../adaptive";
10
- import type { SegmentFetcherCreator } from "../../fetchers";
10
+ import type { SegmentQueueCreator } from "../../fetchers";
11
11
  import type { IBufferType, SegmentSink } from "../../segment_sinks";
12
12
  import type SegmentSinksStore from "../../segment_sinks";
13
13
  import type { IAdaptationChoice, IAdaptationStreamCallbacks, IAdaptationStreamOptions } from "../adaptation";
@@ -93,7 +93,7 @@ export interface IPeriodStreamArguments {
93
93
  period: IPeriod;
94
94
  };
95
95
  garbageCollectors: WeakMapMemory<SegmentSink, (cancelSignal: CancellationSignal) => void>;
96
- segmentFetcherCreator: SegmentFetcherCreator;
96
+ segmentQueueCreator: SegmentQueueCreator;
97
97
  segmentSinksStore: SegmentSinksStore;
98
98
  playbackObserver: IReadOnlyPlaybackObserver<IPeriodStreamPlaybackObservation>;
99
99
  options: IPeriodStreamOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/period/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/period/types.ts"],"names":[],"mappings":"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"}
@@ -50,5 +50,5 @@ import type { IRepresentationStreamArguments, IRepresentationStreamCallbacks } f
50
50
  * triggered, to immediately stop all operations the `RepresentationStream` is
51
51
  * doing.
52
52
  */
53
- export default function RepresentationStream<TSegmentDataType>({ content, options, playbackObserver, segmentSink, segmentFetcher, terminate, }: IRepresentationStreamArguments<TSegmentDataType>, callbacks: IRepresentationStreamCallbacks, parentCancelSignal: CancellationSignal): void;
53
+ export default function RepresentationStream<TSegmentDataType>({ content, options, playbackObserver, segmentSink, segmentQueue, terminate, }: IRepresentationStreamArguments<TSegmentDataType>, callbacks: IRepresentationStreamCallbacks, parentCancelSignal: CancellationSignal): void;
54
54
  //# sourceMappingURL=representation_stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"representation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/representation_stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAEV,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAYjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,gBAAgB,EAC3D,EACE,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,SAAS,GACV,EAAE,8BAA8B,CAAC,gBAAgB,CAAC,EACnD,SAAS,EAAE,8BAA8B,EACzC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CA4YN"}
1
+ {"version":3,"file":"representation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/representation_stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAMxE,OAAO,KAAK,EAEV,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,gBAAgB,EAC3D,EACE,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,GACV,EAAE,8BAA8B,CAAC,gBAAgB,CAAC,EACnD,SAAS,EAAE,8BAA8B,EACzC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CAkZN"}
@@ -24,9 +24,7 @@
24
24
  import config from "../../../config";
25
25
  import log from "../../../log";
26
26
  import objectAssign from "../../../utils/object_assign";
27
- import SharedReference from "../../../utils/reference";
28
27
  import TaskCanceller, { CancellationError } from "../../../utils/task_canceller";
29
- import DownloadingQueue from "./utils/downloading_queue";
30
28
  import getBufferStatus from "./utils/get_buffer_status";
31
29
  import getSegmentPriority from "./utils/get_segment_priority";
32
30
  import pushInitSegment from "./utils/push_init_segment";
@@ -66,7 +64,7 @@ import pushMediaSegment from "./utils/push_media_segment";
66
64
  * triggered, to immediately stop all operations the `RepresentationStream` is
67
65
  * doing.
68
66
  */
69
- export default function RepresentationStream({ content, options, playbackObserver, segmentSink, segmentFetcher, terminate, }, callbacks, parentCancelSignal) {
67
+ export default function RepresentationStream({ content, options, playbackObserver, segmentSink, segmentQueue, terminate, }, callbacks, parentCancelSignal) {
70
68
  const { period, adaptation, representation } = content;
71
69
  const { bufferGoal, maxBufferSize, drmSystemId, fastSwitchThreshold } = options;
72
70
  const bufferType = adaptation.type;
@@ -92,11 +90,6 @@ export default function RepresentationStream({ content, options, playbackObserve
92
90
  segmentSink.freeInitSegment(initSegmentState.uniqueId);
93
91
  }
94
92
  });
95
- /** Emit the last scheduled downloading queue for segments. */
96
- const lastSegmentQueue = new SharedReference({
97
- initSegment: null,
98
- segmentQueue: [],
99
- }, segmentsLoadingCanceller.signal);
100
93
  /** If `true`, the current Representation has a linked initialization segment. */
101
94
  const hasInitSegment = initSegmentState.segment !== null;
102
95
  if (!hasInitSegment) {
@@ -124,19 +117,17 @@ export default function RepresentationStream({ content, options, playbackObserve
124
117
  }
125
118
  }
126
119
  }
127
- /** Will load every segments in `lastSegmentQueue` */
128
- const downloadingQueue = new DownloadingQueue(content, lastSegmentQueue, segmentFetcher, hasInitSegment);
129
- downloadingQueue.addEventListener("error", (err) => {
120
+ segmentQueue.addEventListener("error", (err) => {
130
121
  if (segmentsLoadingCanceller.signal.isCancelled()) {
131
122
  return; // ignore post requests-cancellation loading-related errors,
132
123
  }
133
124
  globalCanceller.cancel(); // Stop every operations
134
125
  callbacks.error(err);
135
126
  });
136
- downloadingQueue.addEventListener("parsedInitSegment", onParsedChunk);
137
- downloadingQueue.addEventListener("parsedMediaSegment", onParsedChunk);
138
- downloadingQueue.addEventListener("emptyQueue", checkStatus);
139
- downloadingQueue.addEventListener("requestRetry", (payload) => {
127
+ segmentQueue.addEventListener("parsedInitSegment", onParsedChunk, segmentsLoadingCanceller.signal);
128
+ segmentQueue.addEventListener("parsedMediaSegment", onParsedChunk, segmentsLoadingCanceller.signal);
129
+ segmentQueue.addEventListener("emptyQueue", checkStatus, segmentsLoadingCanceller.signal);
130
+ segmentQueue.addEventListener("requestRetry", (payload) => {
140
131
  callbacks.warning(payload.error);
141
132
  if (segmentsLoadingCanceller.signal.isCancelled()) {
142
133
  return; // If the previous callback led to loading operations being stopped, skip
@@ -149,16 +140,16 @@ export default function RepresentationStream({ content, options, playbackObserve
149
140
  else if (index.canBeOutOfSyncError(payload.error, retriedSegment)) {
150
141
  callbacks.manifestMightBeOufOfSync();
151
142
  }
152
- });
153
- downloadingQueue.addEventListener("fullyLoadedSegment", (segment) => {
143
+ }, segmentsLoadingCanceller.signal);
144
+ segmentQueue.addEventListener("fullyLoadedSegment", (segment) => {
154
145
  segmentSink
155
146
  .signalSegmentComplete(objectAssign({ segment }, content))
156
147
  .catch(onFatalBufferError);
157
- });
158
- downloadingQueue.start();
148
+ }, segmentsLoadingCanceller.signal);
149
+ /** Emit the last scheduled downloading queue for segments. */
150
+ const segmentsToLoadRef = segmentQueue.resetForContent(content, hasInitSegment);
159
151
  segmentsLoadingCanceller.signal.register(() => {
160
- downloadingQueue.removeEventListener();
161
- downloadingQueue.stop();
152
+ segmentQueue.stop();
162
153
  });
163
154
  playbackObserver.listen(checkStatus, {
164
155
  includeLastObservation: false,
@@ -221,15 +212,15 @@ export default function RepresentationStream({ content, options, playbackObserve
221
212
  }
222
213
  const terminateVal = terminate.getValue();
223
214
  if (terminateVal === null) {
224
- lastSegmentQueue.setValue({
215
+ segmentsToLoadRef.setValue({
225
216
  initSegment: neededInitSegment,
226
217
  segmentQueue: neededSegments,
227
218
  });
228
219
  }
229
220
  else if (terminateVal.urgent) {
230
221
  log.debug("Stream: Urgent switch, terminate now.", bufferType);
231
- lastSegmentQueue.setValue({ initSegment: null, segmentQueue: [] });
232
- lastSegmentQueue.finish();
222
+ segmentsToLoadRef.setValue({ initSegment: null, segmentQueue: [] });
223
+ segmentsToLoadRef.finish();
233
224
  segmentsLoadingCanceller.cancel();
234
225
  callbacks.terminating();
235
226
  return;
@@ -240,21 +231,21 @@ export default function RepresentationStream({ content, options, playbackObserve
240
231
  // terminate once either that request is finished or another segment
241
232
  // is wanted instead, whichever comes first.
242
233
  const mostNeededSegment = neededSegments[0];
243
- const initSegmentRequest = downloadingQueue.getRequestedInitSegment();
244
- const currentSegmentRequest = downloadingQueue.getRequestedMediaSegment();
234
+ const initSegmentRequest = segmentQueue.getRequestedInitSegment();
235
+ const currentSegmentRequest = segmentQueue.getRequestedMediaSegment();
245
236
  const nextQueue = currentSegmentRequest === null ||
246
237
  mostNeededSegment === undefined ||
247
238
  currentSegmentRequest.id !== mostNeededSegment.segment.id
248
239
  ? []
249
240
  : [mostNeededSegment];
250
241
  const nextInit = initSegmentRequest === null ? null : neededInitSegment;
251
- lastSegmentQueue.setValue({
242
+ segmentsToLoadRef.setValue({
252
243
  initSegment: nextInit,
253
244
  segmentQueue: nextQueue,
254
245
  });
255
246
  if (nextQueue.length === 0 && nextInit === null) {
256
247
  log.debug("Stream: No request left, terminate", bufferType);
257
- lastSegmentQueue.finish();
248
+ segmentsToLoadRef.finish();
258
249
  segmentsLoadingCanceller.cancel();
259
250
  callbacks.terminating();
260
251
  return;
@@ -5,7 +5,7 @@ import type { ObservationPosition, IReadOnlyPlaybackObserver } from "../../../pl
5
5
  import type { IAudioRepresentationsSwitchingMode, IPlayerError, IVideoRepresentationsSwitchingMode } from "../../../public_types";
6
6
  import type { IRange } from "../../../utils/ranges";
7
7
  import type { IReadOnlySharedReference } from "../../../utils/reference";
8
- import type { IPrioritizedSegmentFetcher } from "../../fetchers";
8
+ import type { SegmentQueue } from "../../fetchers";
9
9
  import type { IBufferType, SegmentSink } from "../../segment_sinks";
10
10
  /** Callbacks called by the `RepresentationStream` on various events. */
11
11
  export interface IRepresentationStreamCallbacks {
@@ -227,7 +227,7 @@ export interface IRepresentationStreamArguments<TSegmentDataType> {
227
227
  /** The `SegmentSink` on which segments will be pushed. */
228
228
  segmentSink: SegmentSink;
229
229
  /** Interface used to load new segments. */
230
- segmentFetcher: IPrioritizedSegmentFetcher<TSegmentDataType>;
230
+ segmentQueue: SegmentQueue<TSegmentDataType>;
231
231
  /**
232
232
  * Reference emitting when the RepresentationStream should "terminate".
233
233
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,OAAO,EACP,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,kCAAkC,EAClC,YAAY,EACZ,kCAAkC,EACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpE,wEAAwE;AACxE,MAAM,WAAW,8BAA8B;IAC7C;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxD,+EAA+E;IAC/E,YAAY,CAAC,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC7D,8EAA8E;IAC9E,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAC/D;;;;;;OAMG;IACH,wBAAwB,IAAI,IAAI,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,IAAI,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,IAAI,IAAI,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,WAAW,CAAC;IACxB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qBAAqB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnD;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,+BAA+B;IAC9C,qDAAqD;IACrD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,WAAW,CAAC;QACxB,cAAc,EAAE,eAAe,CAAC;KACjC,CAAC;IACF,6BAA6B;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAClB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,KAAK,EAAE,KAAK,CAAC;CACd;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,8EAA8E;AAC9E,MAAM,WAAW,wCAAwC;IACvD;;;OAGG;IACH,QAAQ,EAAE,mBAAmB,CAAC;IAC9B;;;OAGG;IACH,MAAM,EAAE,0BAA0B,CAAC;IACnC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAOhC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,8BAA8B,CAAC,gBAAgB;IAC9D,0DAA0D;IAC1D,OAAO,EAAE;QACP,UAAU,EAAE,WAAW,CAAC;QACxB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,EAAE,eAAe,CAAC;KACjC,CAAC;IACF,0DAA0D;IAC1D,WAAW,EAAE,WAAW,CAAC;IACzB,2CAA2C;IAC3C,cAAc,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAC7D;;;;;;;;OAQG;IACH,SAAS,EAAE,wBAAwB,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IAC9D,0DAA0D;IAC1D,gBAAgB,EAAE,yBAAyB,CAAC,wCAAwC,CAAC,CAAC;IACtF,mFAAmF;IACnF,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;OAIG;IACH,aAAa,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEhD;;;;;;;;;;OAUG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,EAAE,wBAAwB,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;CACnE;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IAEH,aAAa,EAAE,kCAAkC,GAAG,kCAAkC,CAAC;CAExF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,OAAO,EACP,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,kCAAkC,EAClC,YAAY,EACZ,kCAAkC,EACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpE,wEAAwE;AACxE,MAAM,WAAW,8BAA8B;IAC7C;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxD,+EAA+E;IAC/E,YAAY,CAAC,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC7D,8EAA8E;IAC9E,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAC/D;;;;;;OAMG;IACH,wBAAwB,IAAI,IAAI,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,IAAI,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,IAAI,IAAI,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,WAAW,CAAC;IACxB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qBAAqB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnD;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,+BAA+B;IAC9C,qDAAqD;IACrD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,WAAW,CAAC;QACxB,cAAc,EAAE,eAAe,CAAC;KACjC,CAAC;IACF,6BAA6B;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAClB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,KAAK,EAAE,KAAK,CAAC;CACd;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,8EAA8E;AAC9E,MAAM,WAAW,wCAAwC;IACvD;;;OAGG;IACH,QAAQ,EAAE,mBAAmB,CAAC;IAC9B;;;OAGG;IACH,MAAM,EAAE,0BAA0B,CAAC;IACnC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAOhC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,8BAA8B,CAAC,gBAAgB;IAC9D,0DAA0D;IAC1D,OAAO,EAAE;QACP,UAAU,EAAE,WAAW,CAAC;QACxB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,EAAE,eAAe,CAAC;KACjC,CAAC;IACF,0DAA0D;IAC1D,WAAW,EAAE,WAAW,CAAC;IACzB,2CAA2C;IAC3C,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC7C;;;;;;;;OAQG;IACH,SAAS,EAAE,wBAAwB,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IAC9D,0DAA0D;IAC1D,gBAAgB,EAAE,yBAAyB,CAAC,wCAAwC,CAAC,CAAC;IACtF,mFAAmF;IACnF,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;OAIG;IACH,aAAa,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEhD;;;;;;;;;;OAUG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,EAAE,wBAAwB,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;CACnE;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IAEH,aAAa,EAAE,kCAAkC,GAAG,kCAAkC,CAAC;CACxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"get_needed_segments.d.ts","sourceRoot":"","sources":["../../../../../../src/core/stream/representation/utils/get_needed_segments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,OAAO,EACP,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAGhC,UAAU,eAAe;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,eAAe,CAAC;CACjC;AAED,yCAAyC;AACzC,MAAM,WAAW,2BAA2B;IAC1C,+CAA+C;IAC/C,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,+CAA+C;IAC/C,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,4EAA4E;IAC5E,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;IAC5C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,cAAc,EAAE,CAAC;IAEnC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB,kBAAkB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,qBAAqB,EAAE,CAAC;CACzE;AAED,UAAU,eAAe;IACvB,wEAAwE;IACxE,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AACD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,gBAAgB,EAChB,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,aAAa,GACd,EAAE,2BAA2B,GAAG,eAAe,CAgL/C"}
1
+ {"version":3,"file":"get_needed_segments.d.ts","sourceRoot":"","sources":["../../../../../../src/core/stream/representation/utils/get_needed_segments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,OAAO,EACP,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAGhC,UAAU,eAAe;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,eAAe,CAAC;CACjC;AAED,yCAAyC;AACzC,MAAM,WAAW,2BAA2B;IAC1C,+CAA+C;IAC/C,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,+CAA+C;IAC/C,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,4EAA4E;IAC5E,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;IAC5C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,cAAc,EAAE,CAAC;IAEnC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB,kBAAkB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,qBAAqB,EAAE,CAAC;CACzE;AAED,UAAU,eAAe;IACvB,wEAAwE;IACxE,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AACD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,gBAAgB,EAChB,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,aAAa,GACd,EAAE,2BAA2B,GAAG,eAAe,CA+K/C"}
@@ -91,8 +91,7 @@ export default function getNeededSegments({ bufferedSegments, content, currentPl
91
91
  }
92
92
  }
93
93
  // check if the segment is already downloaded
94
- for (let i = 0; i < reusableSegments.length; i++) {
95
- const completeSeg = reusableSegments[i];
94
+ for (const completeSeg of reusableSegments) {
96
95
  const areFromSamePeriod = completeSeg.infos.period.id === content.period.id;
97
96
  // Check if content are from same period, as there can't be overlapping
98
97
  // periods, we should consider a segment as already downloaded if
@@ -1,9 +1,9 @@
1
1
  import type { IAdaptiveRepresentationSelectorArguments, IABRThrottlers, IResolutionInfo } from "./adaptive";
2
- import type { IManifestFetcherSettings, ISegmentFetcherCreatorBackoffOptions } from "./fetchers";
2
+ import type { IManifestFetcherSettings, ISegmentQueueCreatorBackoffOptions } from "./fetchers";
3
3
  import type { IBufferedChunk, IBufferType, ITextDisplayerInterface } from "./segment_sinks";
4
4
  import type SegmentSinksStore from "./segment_sinks";
5
5
  import type { IAdaptationChoice, IPausedPlaybackObservation, IInbandEvent, IRepresentationsChoice, IStreamOrchestratorPlaybackObservation, ITrackSwitchingMode } from "./stream";
6
6
  /** Type of an `SegmentSinksStore` class. */
7
7
  export type ISegmentSinksStore = SegmentSinksStore;
8
- export type { IAdaptiveRepresentationSelectorArguments, IABRThrottlers, IResolutionInfo, IManifestFetcherSettings, ISegmentFetcherCreatorBackoffOptions, IBufferType, IBufferedChunk, ITextDisplayerInterface, IAdaptationChoice, IInbandEvent, IPausedPlaybackObservation, IStreamOrchestratorPlaybackObservation, IRepresentationsChoice, ITrackSwitchingMode, };
8
+ export type { IAdaptiveRepresentationSelectorArguments, IABRThrottlers, IResolutionInfo, IManifestFetcherSettings, ISegmentQueueCreatorBackoffOptions, IBufferType, IBufferedChunk, ITextDisplayerInterface, IAdaptationChoice, IInbandEvent, IPausedPlaybackObservation, IStreamOrchestratorPlaybackObservation, IRepresentationsChoice, ITrackSwitchingMode, };
9
9
  //# sourceMappingURL=types.d.ts.map