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
@@ -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"}
@@ -38,9 +38,7 @@ exports.default = RepresentationStream;
38
38
  var config_1 = require("../../../config");
39
39
  var log_1 = require("../../../log");
40
40
  var object_assign_1 = require("../../../utils/object_assign");
41
- var reference_1 = require("../../../utils/reference");
42
41
  var task_canceller_1 = require("../../../utils/task_canceller");
43
- var downloading_queue_1 = require("./utils/downloading_queue");
44
42
  var get_buffer_status_1 = require("./utils/get_buffer_status");
45
43
  var get_segment_priority_1 = require("./utils/get_segment_priority");
46
44
  var push_init_segment_1 = require("./utils/push_init_segment");
@@ -81,7 +79,7 @@ var push_media_segment_1 = require("./utils/push_media_segment");
81
79
  * doing.
82
80
  */
83
81
  function RepresentationStream(_a, callbacks, parentCancelSignal) {
84
- var content = _a.content, options = _a.options, playbackObserver = _a.playbackObserver, segmentSink = _a.segmentSink, segmentFetcher = _a.segmentFetcher, terminate = _a.terminate;
82
+ var content = _a.content, options = _a.options, playbackObserver = _a.playbackObserver, segmentSink = _a.segmentSink, segmentQueue = _a.segmentQueue, terminate = _a.terminate;
85
83
  var period = content.period, adaptation = content.adaptation, representation = content.representation;
86
84
  var bufferGoal = options.bufferGoal, maxBufferSize = options.maxBufferSize, drmSystemId = options.drmSystemId, fastSwitchThreshold = options.fastSwitchThreshold;
87
85
  var bufferType = adaptation.type;
@@ -107,11 +105,6 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
107
105
  segmentSink.freeInitSegment(initSegmentState.uniqueId);
108
106
  }
109
107
  });
110
- /** Emit the last scheduled downloading queue for segments. */
111
- var lastSegmentQueue = new reference_1.default({
112
- initSegment: null,
113
- segmentQueue: [],
114
- }, segmentsLoadingCanceller.signal);
115
108
  /** If `true`, the current Representation has a linked initialization segment. */
116
109
  var hasInitSegment = initSegmentState.segment !== null;
117
110
  if (!hasInitSegment) {
@@ -139,19 +132,17 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
139
132
  }
140
133
  }
141
134
  }
142
- /** Will load every segments in `lastSegmentQueue` */
143
- var downloadingQueue = new downloading_queue_1.default(content, lastSegmentQueue, segmentFetcher, hasInitSegment);
144
- downloadingQueue.addEventListener("error", function (err) {
135
+ segmentQueue.addEventListener("error", function (err) {
145
136
  if (segmentsLoadingCanceller.signal.isCancelled()) {
146
137
  return; // ignore post requests-cancellation loading-related errors,
147
138
  }
148
139
  globalCanceller.cancel(); // Stop every operations
149
140
  callbacks.error(err);
150
141
  });
151
- downloadingQueue.addEventListener("parsedInitSegment", onParsedChunk);
152
- downloadingQueue.addEventListener("parsedMediaSegment", onParsedChunk);
153
- downloadingQueue.addEventListener("emptyQueue", checkStatus);
154
- downloadingQueue.addEventListener("requestRetry", function (payload) {
142
+ segmentQueue.addEventListener("parsedInitSegment", onParsedChunk, segmentsLoadingCanceller.signal);
143
+ segmentQueue.addEventListener("parsedMediaSegment", onParsedChunk, segmentsLoadingCanceller.signal);
144
+ segmentQueue.addEventListener("emptyQueue", checkStatus, segmentsLoadingCanceller.signal);
145
+ segmentQueue.addEventListener("requestRetry", function (payload) {
155
146
  callbacks.warning(payload.error);
156
147
  if (segmentsLoadingCanceller.signal.isCancelled()) {
157
148
  return; // If the previous callback led to loading operations being stopped, skip
@@ -164,16 +155,16 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
164
155
  else if (index.canBeOutOfSyncError(payload.error, retriedSegment)) {
165
156
  callbacks.manifestMightBeOufOfSync();
166
157
  }
167
- });
168
- downloadingQueue.addEventListener("fullyLoadedSegment", function (segment) {
158
+ }, segmentsLoadingCanceller.signal);
159
+ segmentQueue.addEventListener("fullyLoadedSegment", function (segment) {
169
160
  segmentSink
170
161
  .signalSegmentComplete((0, object_assign_1.default)({ segment: segment }, content))
171
162
  .catch(onFatalBufferError);
172
- });
173
- downloadingQueue.start();
163
+ }, segmentsLoadingCanceller.signal);
164
+ /** Emit the last scheduled downloading queue for segments. */
165
+ var segmentsToLoadRef = segmentQueue.resetForContent(content, hasInitSegment);
174
166
  segmentsLoadingCanceller.signal.register(function () {
175
- downloadingQueue.removeEventListener();
176
- downloadingQueue.stop();
167
+ segmentQueue.stop();
177
168
  });
178
169
  playbackObserver.listen(checkStatus, {
179
170
  includeLastObservation: false,
@@ -236,15 +227,15 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
236
227
  }
237
228
  var terminateVal = terminate.getValue();
238
229
  if (terminateVal === null) {
239
- lastSegmentQueue.setValue({
230
+ segmentsToLoadRef.setValue({
240
231
  initSegment: neededInitSegment,
241
232
  segmentQueue: neededSegments,
242
233
  });
243
234
  }
244
235
  else if (terminateVal.urgent) {
245
236
  log_1.default.debug("Stream: Urgent switch, terminate now.", bufferType);
246
- lastSegmentQueue.setValue({ initSegment: null, segmentQueue: [] });
247
- lastSegmentQueue.finish();
237
+ segmentsToLoadRef.setValue({ initSegment: null, segmentQueue: [] });
238
+ segmentsToLoadRef.finish();
248
239
  segmentsLoadingCanceller.cancel();
249
240
  callbacks.terminating();
250
241
  return;
@@ -255,21 +246,21 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
255
246
  // terminate once either that request is finished or another segment
256
247
  // is wanted instead, whichever comes first.
257
248
  var mostNeededSegment = neededSegments[0];
258
- var initSegmentRequest = downloadingQueue.getRequestedInitSegment();
259
- var currentSegmentRequest = downloadingQueue.getRequestedMediaSegment();
249
+ var initSegmentRequest = segmentQueue.getRequestedInitSegment();
250
+ var currentSegmentRequest = segmentQueue.getRequestedMediaSegment();
260
251
  var nextQueue = currentSegmentRequest === null ||
261
252
  mostNeededSegment === undefined ||
262
253
  currentSegmentRequest.id !== mostNeededSegment.segment.id
263
254
  ? []
264
255
  : [mostNeededSegment];
265
256
  var nextInit = initSegmentRequest === null ? null : neededInitSegment;
266
- lastSegmentQueue.setValue({
257
+ segmentsToLoadRef.setValue({
267
258
  initSegment: nextInit,
268
259
  segmentQueue: nextQueue,
269
260
  });
270
261
  if (nextQueue.length === 0 && nextInit === null) {
271
262
  log_1.default.debug("Stream: No request left, terminate", bufferType);
272
- lastSegmentQueue.finish();
263
+ segmentsToLoadRef.finish();
273
264
  segmentsLoadingCanceller.cancel();
274
265
  callbacks.terminating();
275
266
  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"}
@@ -14,6 +14,17 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ var __values = (this && this.__values) || function(o) {
18
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
+ if (m) return m.call(o);
20
+ if (o && typeof o.length === "number") return {
21
+ next: function () {
22
+ if (o && i >= o.length) o = void 0;
23
+ return { value: o && o[i++], done: !o };
24
+ }
25
+ };
26
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
+ };
17
28
  Object.defineProperty(exports, "__esModule", { value: true });
18
29
  exports.default = getNeededSegments;
19
30
  var config_1 = require("../../../../config");
@@ -51,6 +62,7 @@ function getNeededSegments(_a) {
51
62
  var isBufferFull = false;
52
63
  var segmentsOnHold = [];
53
64
  var segmentsToLoad = availableSegmentsForRange.filter(function (segment) {
65
+ var e_1, _a;
54
66
  var contentObject = (0, object_assign_1.default)({ segment: segment }, content);
55
67
  // First, check that the segment is not already being pushed
56
68
  if (segmentsBeingPushed.length > 0) {
@@ -98,29 +110,38 @@ function getNeededSegments(_a) {
98
110
  return false;
99
111
  }
100
112
  }
101
- // check if the segment is already downloaded
102
- for (var i = 0; i < reusableSegments.length; i++) {
103
- var completeSeg = reusableSegments[i];
104
- var areFromSamePeriod = completeSeg.infos.period.id === content.period.id;
105
- // Check if content are from same period, as there can't be overlapping
106
- // periods, we should consider a segment as already downloaded if
107
- // it is from same period (but can be from different adaptation or
108
- // representation)
109
- if (completeSeg.status === 1 /* ChunkStatus.FullyLoaded */ && areFromSamePeriod) {
110
- var completeSegInfos = completeSeg.infos.segment;
111
- if (time - completeSegInfos.time > -ROUNDING_ERROR) {
112
- if (completeSegInfos.complete) {
113
- if (completeSegInfos.end - end > -ROUNDING_ERROR) {
114
- return false; // Same segment's characteristics: already downloaded
113
+ try {
114
+ // check if the segment is already downloaded
115
+ for (var reusableSegments_1 = __values(reusableSegments), reusableSegments_1_1 = reusableSegments_1.next(); !reusableSegments_1_1.done; reusableSegments_1_1 = reusableSegments_1.next()) {
116
+ var completeSeg = reusableSegments_1_1.value;
117
+ var areFromSamePeriod = completeSeg.infos.period.id === content.period.id;
118
+ // Check if content are from same period, as there can't be overlapping
119
+ // periods, we should consider a segment as already downloaded if
120
+ // it is from same period (but can be from different adaptation or
121
+ // representation)
122
+ if (completeSeg.status === 1 /* ChunkStatus.FullyLoaded */ && areFromSamePeriod) {
123
+ var completeSegInfos = completeSeg.infos.segment;
124
+ if (time - completeSegInfos.time > -ROUNDING_ERROR) {
125
+ if (completeSegInfos.complete) {
126
+ if (completeSegInfos.end - end > -ROUNDING_ERROR) {
127
+ return false; // Same segment's characteristics: already downloaded
128
+ }
129
+ }
130
+ else if (Math.abs(time - completeSegInfos.time) < ROUNDING_ERROR) {
131
+ // same start (special case for non-complete segments): already downloaded
132
+ return false;
115
133
  }
116
- }
117
- else if (Math.abs(time - completeSegInfos.time) < ROUNDING_ERROR) {
118
- // same start (special case for non-complete segments): already downloaded
119
- return false;
120
134
  }
121
135
  }
122
136
  }
123
137
  }
138
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
139
+ finally {
140
+ try {
141
+ if (reusableSegments_1_1 && !reusableSegments_1_1.done && (_a = reusableSegments_1.return)) _a.call(reusableSegments_1);
142
+ }
143
+ finally { if (e_1) throw e_1.error; }
144
+ }
124
145
  var estimatedSegmentSize = duration * content.representation.bitrate; // in bits
125
146
  if (availableBufferSize - estimatedSegmentSize < 0) {
126
147
  isBufferFull = true;
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wCAAwC,EACxC,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,wBAAwB,EACxB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,iBAAiB,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,YAAY,EACZ,sBAAsB,EACtB,sCAAsC,EACtC,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAKlB,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEnD,YAAY,EAEV,wCAAwC,EACxC,cAAc,EACd,eAAe,EAGf,wBAAwB,EACxB,oCAAoC,EAGpC,WAAW,EACX,cAAc,EACd,uBAAuB,EAGvB,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,sCAAsC,EACtC,sBAAsB,EACtB,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wCAAwC,EACxC,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,wBAAwB,EACxB,kCAAkC,EACnC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,iBAAiB,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,YAAY,EACZ,sBAAsB,EACtB,sCAAsC,EACtC,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAKlB,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEnD,YAAY,EAEV,wCAAwC,EACxC,cAAc,EACd,eAAe,EAEf,wBAAwB,EACxB,kCAAkC,EAGlC,WAAW,EACX,cAAc,EACd,uBAAuB,EAEvB,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,sCAAsC,EACtC,sBAAsB,EACtB,mBAAmB,GACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default_config.d.ts","sourceRoot":"","sources":["../../src/default_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default_config.d.ts","sourceRoot":"","sources":["../../src/default_config.ts"],"names":[],"mappings":"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"}
@@ -129,7 +129,6 @@ var DEFAULT_CONFIG = {
129
129
  * @type {Number}
130
130
  */
131
131
  DEFAULT_MAX_VIDEO_BUFFER_SIZE: Infinity,
132
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
133
132
  /**
134
133
  * Maximum possible buffer ahead for each type of buffer, to avoid too much
135
134
  * memory usage when playing for a long time.
@@ -139,8 +138,6 @@ var DEFAULT_CONFIG = {
139
138
  MAXIMUM_MAX_BUFFER_AHEAD: {
140
139
  text: 5 * 60 * 60,
141
140
  },
142
- /* eslint-enable @typescript-eslint/consistent-type-assertions */
143
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
144
141
  /**
145
142
  * Minimum possible buffer ahead for each type of buffer, to avoid Garbage
146
143
  * Collecting too much data when it would have adverse effects.
@@ -155,8 +152,6 @@ var DEFAULT_CONFIG = {
155
152
  // same text track.
156
153
  text: 2 * 60,
157
154
  },
158
- /* eslint-enable @typescript-eslint/consistent-type-assertions */
159
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
160
155
  /**
161
156
  * Maximum possible buffer behind for each type of buffer, to avoid too much
162
157
  * memory usage when playing for a long time.
@@ -166,7 +161,6 @@ var DEFAULT_CONFIG = {
166
161
  MAXIMUM_MAX_BUFFER_BEHIND: {
167
162
  text: 5 * 60 * 60,
168
163
  },
169
- /* eslint-enable @typescript-eslint/consistent-type-assertions */
170
164
  /**
171
165
  * Default bitrate ceils initially set as the first content begins.
172
166
  *
@@ -832,7 +826,6 @@ var DEFAULT_CONFIG = {
832
826
  * or "playready" as a keySystem.
833
827
  * @type {Object}
834
828
  */
835
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
836
829
  EME_KEY_SYSTEMS: {
837
830
  clearkey: ["webkit-org.w3.clearkey", "org.w3.clearkey"],
838
831
  widevine: ["com.widevine.alpha"],
@@ -844,7 +837,6 @@ var DEFAULT_CONFIG = {
844
837
  ],
845
838
  fairplay: ["com.apple.fps.1_0"],
846
839
  },
847
- /* eslint-enable @typescript-eslint/consistent-type-assertions */
848
840
  /**
849
841
  * The Manifest parsing logic has a notion of "unsafeMode" which allows to
850
842
  * speed-up this process a lot with a small risk of de-synchronization with
@@ -1 +1 @@
1
- {"version":3,"file":"decodingInfo.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB;AA0BD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAkDzB"}
1
+ {"version":3,"file":"decodingInfo.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB;AAsBD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAyCzB"}
@@ -26,11 +26,7 @@ function isMediaCapabilitiesAPIAvailable() {
26
26
  if (!("mediaCapabilities" in navigator)) {
27
27
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " + "MediaCapabilities API not available");
28
28
  }
29
- /* eslint-disable @typescript-eslint/no-explicit-any */
30
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
31
29
  if (!("decodingInfo" in navigator.mediaCapabilities)) {
32
- /* eslint-enable @typescript-eslint/no-explicit-any */
33
- /* eslint-enable @typescript-eslint/no-unsafe-member-access */
34
30
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " + "Decoding Info not available");
35
31
  }
36
32
  resolve();
@@ -41,7 +37,6 @@ function isMediaCapabilitiesAPIAvailable() {
41
37
  * @returns {Promise}
42
38
  */
43
39
  function probeDecodingInfos(config) {
44
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
45
40
  return isMediaCapabilitiesAPIAvailable().then(function () {
46
41
  var hasVideoConfig = config.type !== undefined &&
47
42
  config.type.length > 0 &&
@@ -66,10 +61,6 @@ function probeDecodingInfos(config) {
66
61
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
67
62
  "Not enough arguments for calling mediaCapabilites.");
68
63
  }
69
- /* eslint-disable @typescript-eslint/no-explicit-any */
70
- /* eslint-disable @typescript-eslint/no-unsafe-call */
71
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
72
- /* eslint-disable @typescript-eslint/no-unsafe-return */
73
64
  return navigator.mediaCapabilities
74
65
  .decodingInfo(config)
75
66
  .then(function (result) {
@@ -78,9 +69,5 @@ function probeDecodingInfos(config) {
78
69
  .catch(function () {
79
70
  return [types_1.ProberStatus.NotSupported];
80
71
  });
81
- /* eslint-enable @typescript-eslint/no-explicit-any */
82
- /* eslint-enable @typescript-eslint/no-unsafe-call */
83
- /* eslint-enable @typescript-eslint/no-unsafe-member-access */
84
- /* eslint-enable @typescript-eslint/no-unsafe-return */
85
72
  });
86
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaultCodecsFinder.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAqB9C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAgB9C"}
1
+ {"version":3,"file":"defaultCodecsFinder.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAmB9C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAc9C"}
@@ -44,10 +44,8 @@ function findDefaultVideoCodec() {
44
44
  'video/mp4;codecs="hvc1.1.6.L93.B0"',
45
45
  'video/webm;codecs="vp8"',
46
46
  ];
47
- /* eslint-disable @typescript-eslint/unbound-method */
48
47
  if ((0, is_null_or_undefined_1.default)(browser_compatibility_types_1.MediaSource_) ||
49
48
  typeof browser_compatibility_types_1.MediaSource_.isTypeSupported !== "function") {
50
- /* eslint-enable @typescript-eslint/unbound-method */
51
49
  throw new Error("Cannot check video codec support: No API available.");
52
50
  }
53
51
  try {
@@ -76,10 +74,8 @@ function findDefaultVideoCodec() {
76
74
  function findDefaultAudioCodec() {
77
75
  var e_2, _a;
78
76
  var audioCodecs = ['audio/mp4;codecs="mp4a.40.2"', "audio/webm;codecs=opus"];
79
- /* eslint-disable @typescript-eslint/unbound-method */
80
77
  if ((0, is_null_or_undefined_1.default)(browser_compatibility_types_1.MediaSource_) ||
81
78
  typeof browser_compatibility_types_1.MediaSource_.isTypeSupported !== "function") {
82
- /* eslint-enable @typescript-eslint/unbound-method */
83
79
  throw new Error("Cannot check audio codec support: No API available.");
84
80
  }
85
81
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"mediaContentType.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CA2CzB"}
1
+ {"version":3,"file":"mediaContentType.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CA0CzB"}
@@ -28,9 +28,8 @@ function probeContentType(config) {
28
28
  if ((0, is_null_or_undefined_1.default)(browser_compatibility_types_1.MediaSource_)) {
29
29
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " + "MediaSource API not available");
30
30
  }
31
- /* eslint-disable @typescript-eslint/unbound-method */
31
+ // eslint-disable-next-line @typescript-eslint/unbound-method
32
32
  if (typeof browser_compatibility_types_1.MediaSource_.isTypeSupported !== "function") {
33
- /* eslint-enable @typescript-eslint/unbound-method */
34
33
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " + "isTypeSupported not available");
35
34
  }
36
35
  var contentTypes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,eAAe,GAAG,UAAU,CAAC;AA0B/E;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAmDzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,eAAe,GAAG,UAAU,CAAC;AAoC/E;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CA2CzB"}
@@ -27,11 +27,8 @@ function isTypeSupportedWithFeaturesAPIAvailable() {
27
27
  if (!("MSMediaKeys" in global_scope_1.default)) {
28
28
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " + "MSMediaKeys API not available");
29
29
  }
30
- /* eslint-disable @typescript-eslint/no-explicit-any */
31
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
32
- if (!("isTypeSupportedWithFeatures" in global_scope_1.default.MSMediaKeys)) {
33
- /* eslint-enable @typescript-eslint/no-explicit-any */
34
- /* eslint-enable @typescript-eslint/no-unsafe-member-access */
30
+ if (!("isTypeSupportedWithFeatures" in
31
+ global_scope_1.default.MSMediaKeys)) {
35
32
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
36
33
  "isTypeSupportedWithFeatures not available");
37
34
  }
@@ -54,15 +51,7 @@ function probeTypeWithFeatures(config) {
54
51
  return keySystem.type;
55
52
  })();
56
53
  var features = (0, format_1.default)(config);
57
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
58
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
59
- /* eslint-disable @typescript-eslint/no-unsafe-call */
60
- /* eslint-disable @typescript-eslint/no-explicit-any */
61
54
  var result = global_scope_1.default.MSMediaKeys.isTypeSupportedWithFeatures(type, features);
62
- /* eslint-enable @typescript-eslint/no-explicit-any */
63
- /* eslint-enable @typescript-eslint/no-unsafe-assignment */
64
- /* eslint-enable @typescript-eslint/no-unsafe-member-access */
65
- /* eslint-enable @typescript-eslint/no-unsafe-call */
66
55
  function formatSupport(support) {
67
56
  if (support === "") {
68
57
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " +
@@ -1 +1 @@
1
- {"version":3,"file":"mediaDisplayInfos.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAiCzB"}
1
+ {"version":3,"file":"mediaDisplayInfos.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAgCzB"}
@@ -25,9 +25,8 @@ var types_1 = require("../types");
25
25
  */
26
26
  function probeMatchMedia(config) {
27
27
  return new Promise(function (resolve) {
28
- /* eslint-disable @typescript-eslint/unbound-method */
28
+ // eslint-disable-next-line @typescript-eslint/unbound-method
29
29
  if (typeof global_scope_1.default.matchMedia !== "function") {
30
- /* eslint-enable @typescript-eslint/unbound-method */
31
30
  throw new Error("MediaCapabilitiesProber >>> API_CALL: " + "matchMedia not available");
32
31
  }
33
32
  if ((0, is_null_or_undefined_1.default)(config.display) ||
@@ -1 +1 @@
1
- {"version":3,"file":"add_features.d.ts","sourceRoot":"","sources":["../../../src/features/add_features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAI,CAcrE"}
1
+ {"version":3,"file":"add_features.d.ts","sourceRoot":"","sources":["../../../src/features/add_features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAI,CAarE"}
@@ -14,6 +14,17 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ var __values = (this && this.__values) || function(o) {
18
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
+ if (m) return m.call(o);
20
+ if (o && typeof o.length === "number") return {
21
+ next: function () {
22
+ if (o && i >= o.length) o = void 0;
23
+ return { value: o && o[i++], done: !o };
24
+ }
25
+ };
26
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
+ };
17
28
  Object.defineProperty(exports, "__esModule", { value: true });
18
29
  exports.default = addFeatures;
19
30
  var is_null_or_undefined_1 = require("../utils/is_null_or_undefined");
@@ -22,17 +33,27 @@ var features_object_1 = require("./features_object");
22
33
  * @param {Array.<Object>} featureFuncList
23
34
  */
24
35
  function addFeatures(featureFuncList) {
25
- for (var i = 0; i < featureFuncList.length; i++) {
26
- var addFeature = featureFuncList[i];
27
- if (typeof addFeature === "function") {
28
- addFeature(features_object_1.default);
29
- }
30
- else if (!(0, is_null_or_undefined_1.default)(addFeature) &&
31
- typeof addFeature._addFeature === "function") {
32
- addFeature._addFeature(features_object_1.default);
36
+ var e_1, _a;
37
+ try {
38
+ for (var featureFuncList_1 = __values(featureFuncList), featureFuncList_1_1 = featureFuncList_1.next(); !featureFuncList_1_1.done; featureFuncList_1_1 = featureFuncList_1.next()) {
39
+ var addFeature = featureFuncList_1_1.value;
40
+ if (typeof addFeature === "function") {
41
+ addFeature(features_object_1.default);
42
+ }
43
+ else if (!(0, is_null_or_undefined_1.default)(addFeature) &&
44
+ typeof addFeature._addFeature === "function") {
45
+ addFeature._addFeature(features_object_1.default);
46
+ }
47
+ else {
48
+ throw new Error("Unrecognized feature");
49
+ }
33
50
  }
34
- else {
35
- throw new Error("Unrecognized feature");
51
+ }
52
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
53
+ finally {
54
+ try {
55
+ if (featureFuncList_1_1 && !featureFuncList_1_1.done && (_a = featureFuncList_1.return)) _a.call(featureFuncList_1);
36
56
  }
57
+ finally { if (e_1) throw e_1.error; }
37
58
  }
38
59
  }