rx-player 4.4.1-dev.2025101500 → 4.4.1

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 (350) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/README.md +111 -50
  3. package/VERSION +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  6. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  7. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  8. package/dist/commonjs/core/{entry → main/common}/FreezeResolver.d.ts +3 -3
  9. package/dist/commonjs/core/main/common/FreezeResolver.d.ts.map +1 -0
  10. package/dist/commonjs/core/{entry → main/common}/FreezeResolver.js +3 -3
  11. package/dist/commonjs/core/{entry → main/common}/content_time_boundaries_observer.d.ts +5 -5
  12. package/dist/commonjs/core/main/common/content_time_boundaries_observer.d.ts.map +1 -0
  13. package/dist/commonjs/core/{entry → main/common}/content_time_boundaries_observer.js +6 -6
  14. package/dist/{es2017/core/entry → commonjs/core/main/common}/create_content_time_boundaries_observer.d.ts +6 -6
  15. package/dist/commonjs/core/main/common/create_content_time_boundaries_observer.d.ts.map +1 -0
  16. package/dist/commonjs/core/{entry → main/common}/create_content_time_boundaries_observer.js +1 -1
  17. package/dist/{es2017/core/entry → commonjs/core/main/common}/get_buffered_data_per_media_buffer.d.ts +4 -4
  18. package/dist/commonjs/core/main/common/get_buffered_data_per_media_buffer.d.ts.map +1 -0
  19. package/dist/commonjs/core/{entry → main/common}/get_buffered_data_per_media_buffer.js +1 -1
  20. package/dist/{es2017/core/entry → commonjs/core/main/common}/get_thumbnail_data.d.ts +3 -3
  21. package/dist/commonjs/core/main/common/get_thumbnail_data.d.ts.map +1 -0
  22. package/dist/commonjs/core/{entry → main/common}/get_thumbnail_data.js +2 -2
  23. package/dist/{es2017/core/entry → commonjs/core/main/common}/synchronize_sinks_on_observation.d.ts +2 -2
  24. package/dist/commonjs/core/main/common/synchronize_sinks_on_observation.d.ts.map +1 -0
  25. package/dist/{es2017/core/entry → commonjs/core/main/worker}/content_preparer.d.ts +15 -22
  26. package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -0
  27. package/dist/commonjs/core/{entry → main/worker}/content_preparer.js +64 -62
  28. package/dist/commonjs/core/main/worker/globals.d.ts +14 -0
  29. package/dist/commonjs/core/main/worker/globals.d.ts.map +1 -0
  30. package/dist/commonjs/core/main/worker/globals.js +26 -0
  31. package/dist/commonjs/core/main/worker/index.d.ts +3 -0
  32. package/dist/commonjs/core/main/worker/index.d.ts.map +1 -0
  33. package/dist/commonjs/core/main/worker/index.js +4 -0
  34. package/dist/commonjs/core/main/worker/send_message.d.ts +4 -0
  35. package/dist/commonjs/core/main/worker/send_message.d.ts.map +1 -0
  36. package/dist/commonjs/core/main/worker/send_message.js +23 -0
  37. package/dist/{es2017/core/entry → commonjs/core/main/worker}/track_choice_setter.d.ts +4 -4
  38. package/dist/commonjs/core/main/worker/track_choice_setter.d.ts.map +1 -0
  39. package/dist/commonjs/core/{entry → main/worker}/track_choice_setter.js +4 -4
  40. package/dist/commonjs/core/main/worker/worker_main.d.ts +2 -0
  41. package/dist/commonjs/core/main/worker/worker_main.d.ts.map +1 -0
  42. package/dist/commonjs/core/{entry/core_entry.js → main/worker/worker_main.js} +153 -192
  43. package/dist/commonjs/core/{entry/core_text_displayer_interface.d.ts → main/worker/worker_text_displayer_interface.d.ts} +11 -11
  44. package/dist/commonjs/core/main/worker/worker_text_displayer_interface.d.ts.map +1 -0
  45. package/dist/commonjs/core/{entry/core_text_displayer_interface.js → main/worker/worker_text_displayer_interface.js} +22 -22
  46. package/dist/commonjs/core/types.d.ts +1 -519
  47. package/dist/commonjs/core/types.d.ts.map +1 -1
  48. package/dist/commonjs/core/types.js +0 -1
  49. package/dist/commonjs/experimental/features/local.d.ts.map +1 -1
  50. package/dist/commonjs/experimental/features/local.js +1 -7
  51. package/dist/commonjs/experimental/features/metaplaylist.d.ts.map +1 -1
  52. package/dist/commonjs/experimental/features/metaplaylist.js +1 -7
  53. package/dist/commonjs/experimental/features/multi_thread.d.ts.map +1 -1
  54. package/dist/commonjs/experimental/features/multi_thread.js +2 -6
  55. package/dist/commonjs/features/features_object.js +1 -1
  56. package/dist/commonjs/features/list/dash.d.ts.map +1 -1
  57. package/dist/commonjs/features/list/dash.js +1 -7
  58. package/dist/commonjs/features/list/dash_wasm.d.ts.map +1 -1
  59. package/dist/commonjs/features/list/dash_wasm.js +1 -7
  60. package/dist/commonjs/features/list/media_source_main.d.ts.map +1 -1
  61. package/dist/commonjs/features/list/media_source_main.js +1 -7
  62. package/dist/commonjs/features/list/smooth.d.ts.map +1 -1
  63. package/dist/commonjs/features/list/smooth.js +1 -7
  64. package/dist/commonjs/features/types.d.ts +4 -20
  65. package/dist/commonjs/features/types.d.ts.map +1 -1
  66. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  67. package/dist/commonjs/main_thread/api/public_api.js +44 -40
  68. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +108 -166
  69. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  70. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +918 -1491
  71. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +308 -0
  72. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -0
  73. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +1713 -0
  74. package/dist/commonjs/main_thread/init/send_message.d.ts +3 -0
  75. package/dist/commonjs/main_thread/init/send_message.d.ts.map +1 -0
  76. package/dist/commonjs/main_thread/init/send_message.js +13 -0
  77. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
  78. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.js +1 -2
  79. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts +1 -1
  80. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
  81. package/dist/commonjs/main_thread/types.d.ts +0 -537
  82. package/dist/commonjs/main_thread/types.d.ts.map +1 -1
  83. package/dist/commonjs/manifest/utils.d.ts.map +1 -1
  84. package/dist/commonjs/manifest/utils.js +4 -18
  85. package/dist/commonjs/mse/worker_media_source_interface.d.ts +2 -2
  86. package/dist/commonjs/mse/worker_media_source_interface.d.ts.map +1 -1
  87. package/dist/commonjs/mse/worker_media_source_interface.js +12 -12
  88. package/dist/commonjs/multithread_types.d.ts +915 -0
  89. package/dist/commonjs/multithread_types.d.ts.map +1 -0
  90. package/dist/commonjs/multithread_types.js +7 -0
  91. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts +1 -1
  92. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  93. package/dist/commonjs/parsers/manifest/smooth/create_parser.js +27 -31
  94. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts +2 -3
  95. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
  96. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.js +7 -16
  97. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts +2 -3
  98. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
  99. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.js +6 -37
  100. package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.d.ts +1 -1
  101. package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.d.ts.map +1 -1
  102. package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.d.ts +2 -3
  103. package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
  104. package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.js +5 -28
  105. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts +28 -8
  106. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  107. package/dist/commonjs/playback_observer/media_element_playback_observer.js +146 -64
  108. package/dist/{es2017/playback_observer/core_playback_observer.d.ts → commonjs/playback_observer/worker_playback_observer.d.ts} +8 -8
  109. package/dist/commonjs/playback_observer/worker_playback_observer.d.ts.map +1 -0
  110. package/dist/commonjs/playback_observer/{core_playback_observer.js → worker_playback_observer.js} +13 -13
  111. package/dist/commonjs/transports/smooth/pipelines.d.ts.map +1 -1
  112. package/dist/commonjs/transports/smooth/pipelines.js +3 -25
  113. package/dist/commonjs/worker_entry_point.js +2 -62
  114. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  115. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  116. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  117. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  118. package/dist/es2017/core/{entry → main/common}/FreezeResolver.d.ts +3 -3
  119. package/dist/es2017/core/main/common/FreezeResolver.d.ts.map +1 -0
  120. package/dist/es2017/core/{entry → main/common}/FreezeResolver.js +3 -3
  121. package/dist/es2017/core/{entry → main/common}/content_time_boundaries_observer.d.ts +5 -5
  122. package/dist/es2017/core/main/common/content_time_boundaries_observer.d.ts.map +1 -0
  123. package/dist/es2017/core/{entry → main/common}/content_time_boundaries_observer.js +6 -6
  124. package/dist/{commonjs/core/entry → es2017/core/main/common}/create_content_time_boundaries_observer.d.ts +6 -6
  125. package/dist/es2017/core/main/common/create_content_time_boundaries_observer.d.ts.map +1 -0
  126. package/dist/es2017/core/{entry → main/common}/create_content_time_boundaries_observer.js +1 -1
  127. package/dist/{commonjs/core/entry → es2017/core/main/common}/get_buffered_data_per_media_buffer.d.ts +4 -4
  128. package/dist/es2017/core/main/common/get_buffered_data_per_media_buffer.d.ts.map +1 -0
  129. package/dist/es2017/core/{entry → main/common}/get_buffered_data_per_media_buffer.js +1 -1
  130. package/dist/{commonjs/core/entry → es2017/core/main/common}/get_thumbnail_data.d.ts +3 -3
  131. package/dist/es2017/core/main/common/get_thumbnail_data.d.ts.map +1 -0
  132. package/dist/es2017/core/{entry → main/common}/get_thumbnail_data.js +2 -2
  133. package/dist/{commonjs/core/entry → es2017/core/main/common}/synchronize_sinks_on_observation.d.ts +2 -2
  134. package/dist/es2017/core/main/common/synchronize_sinks_on_observation.d.ts.map +1 -0
  135. package/dist/{commonjs/core/entry → es2017/core/main/worker}/content_preparer.d.ts +15 -22
  136. package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -0
  137. package/dist/es2017/core/{entry → main/worker}/content_preparer.js +55 -53
  138. package/dist/es2017/core/main/worker/globals.d.ts +14 -0
  139. package/dist/es2017/core/main/worker/globals.d.ts.map +1 -0
  140. package/dist/es2017/core/main/worker/globals.js +18 -0
  141. package/dist/es2017/core/main/worker/index.d.ts +3 -0
  142. package/dist/es2017/core/main/worker/index.d.ts.map +1 -0
  143. package/dist/es2017/core/main/worker/index.js +2 -0
  144. package/dist/es2017/core/main/worker/send_message.d.ts +4 -0
  145. package/dist/es2017/core/main/worker/send_message.d.ts.map +1 -0
  146. package/dist/es2017/core/main/worker/send_message.js +19 -0
  147. package/dist/{commonjs/core/entry → es2017/core/main/worker}/track_choice_setter.d.ts +4 -4
  148. package/dist/es2017/core/main/worker/track_choice_setter.d.ts.map +1 -0
  149. package/dist/es2017/core/{entry → main/worker}/track_choice_setter.js +4 -4
  150. package/dist/es2017/core/main/worker/worker_main.d.ts +2 -0
  151. package/dist/es2017/core/main/worker/worker_main.d.ts.map +1 -0
  152. package/dist/es2017/core/{entry/core_entry.js → main/worker/worker_main.js} +114 -153
  153. package/dist/es2017/core/{entry/core_text_displayer_interface.d.ts → main/worker/worker_text_displayer_interface.d.ts} +11 -11
  154. package/dist/es2017/core/main/worker/worker_text_displayer_interface.d.ts.map +1 -0
  155. package/dist/es2017/core/{entry/core_text_displayer_interface.js → main/worker/worker_text_displayer_interface.js} +10 -10
  156. package/dist/es2017/core/types.d.ts +1 -519
  157. package/dist/es2017/core/types.d.ts.map +1 -1
  158. package/dist/es2017/core/types.js +0 -1
  159. package/dist/es2017/experimental/features/local.d.ts.map +1 -1
  160. package/dist/es2017/experimental/features/local.js +1 -7
  161. package/dist/es2017/experimental/features/metaplaylist.d.ts.map +1 -1
  162. package/dist/es2017/experimental/features/metaplaylist.js +1 -7
  163. package/dist/es2017/experimental/features/multi_thread.d.ts.map +1 -1
  164. package/dist/es2017/experimental/features/multi_thread.js +2 -6
  165. package/dist/es2017/features/features_object.js +1 -1
  166. package/dist/es2017/features/list/dash.d.ts.map +1 -1
  167. package/dist/es2017/features/list/dash.js +1 -7
  168. package/dist/es2017/features/list/dash_wasm.d.ts.map +1 -1
  169. package/dist/es2017/features/list/dash_wasm.js +1 -7
  170. package/dist/es2017/features/list/media_source_main.d.ts.map +1 -1
  171. package/dist/es2017/features/list/media_source_main.js +1 -7
  172. package/dist/es2017/features/list/smooth.d.ts.map +1 -1
  173. package/dist/es2017/features/list/smooth.js +1 -7
  174. package/dist/es2017/features/types.d.ts +4 -20
  175. package/dist/es2017/features/types.d.ts.map +1 -1
  176. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  177. package/dist/es2017/main_thread/api/public_api.js +45 -41
  178. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +108 -166
  179. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  180. package/dist/es2017/main_thread/init/media_source_content_initializer.js +760 -1405
  181. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +308 -0
  182. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -0
  183. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +1559 -0
  184. package/dist/es2017/main_thread/init/send_message.d.ts +3 -0
  185. package/dist/es2017/main_thread/init/send_message.d.ts.map +1 -0
  186. package/dist/es2017/main_thread/init/send_message.js +10 -0
  187. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
  188. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.js +1 -2
  189. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts +1 -1
  190. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
  191. package/dist/es2017/main_thread/types.d.ts +0 -537
  192. package/dist/es2017/main_thread/types.d.ts.map +1 -1
  193. package/dist/es2017/manifest/utils.d.ts.map +1 -1
  194. package/dist/es2017/manifest/utils.js +4 -16
  195. package/dist/es2017/mse/worker_media_source_interface.d.ts +2 -2
  196. package/dist/es2017/mse/worker_media_source_interface.d.ts.map +1 -1
  197. package/dist/es2017/mse/worker_media_source_interface.js +12 -12
  198. package/dist/es2017/multithread_types.d.ts +915 -0
  199. package/dist/es2017/multithread_types.d.ts.map +1 -0
  200. package/dist/es2017/multithread_types.js +6 -0
  201. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts +1 -1
  202. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  203. package/dist/es2017/parsers/manifest/smooth/create_parser.js +27 -31
  204. package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts +2 -3
  205. package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
  206. package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.js +7 -16
  207. package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts +2 -3
  208. package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
  209. package/dist/es2017/parsers/manifest/smooth/parse_protection_node.js +6 -15
  210. package/dist/es2017/parsers/manifest/smooth/utils/parseBoolean.d.ts +1 -1
  211. package/dist/es2017/parsers/manifest/smooth/utils/parseBoolean.d.ts.map +1 -1
  212. package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.d.ts +2 -3
  213. package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
  214. package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.js +5 -6
  215. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts +28 -8
  216. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  217. package/dist/es2017/playback_observer/media_element_playback_observer.js +144 -64
  218. package/dist/{commonjs/playback_observer/core_playback_observer.d.ts → es2017/playback_observer/worker_playback_observer.d.ts} +8 -8
  219. package/dist/es2017/playback_observer/worker_playback_observer.d.ts.map +1 -0
  220. package/dist/es2017/playback_observer/{core_playback_observer.js → worker_playback_observer.js} +2 -2
  221. package/dist/es2017/transports/smooth/pipelines.d.ts.map +1 -1
  222. package/dist/es2017/transports/smooth/pipelines.js +3 -25
  223. package/dist/es2017/worker_entry_point.js +2 -62
  224. package/dist/mpd-parser.wasm +0 -0
  225. package/dist/rx-player.js +19165 -21886
  226. package/dist/rx-player.min.js +20 -20
  227. package/dist/worker.js +8 -8
  228. package/eslint.config.mjs +647 -348
  229. package/package.json +6 -6
  230. package/src/README.md +198 -88
  231. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  232. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  233. package/src/core/{entry → main}/README.md +1 -1
  234. package/src/core/{entry → main/common}/FreezeResolver.ts +7 -7
  235. package/src/core/{entry → main/common}/content_time_boundaries_observer.ts +10 -10
  236. package/src/core/{entry → main/common}/create_content_time_boundaries_observer.ts +7 -7
  237. package/src/core/{entry → main/common}/get_buffered_data_per_media_buffer.ts +6 -6
  238. package/src/core/{entry → main/common}/get_thumbnail_data.ts +5 -5
  239. package/src/core/{entry → main/common}/synchronize_sinks_on_observation.ts +2 -2
  240. package/src/core/{entry → main/worker}/content_preparer.ts +76 -77
  241. package/src/core/main/worker/globals.ts +38 -0
  242. package/src/core/main/worker/index.ts +2 -0
  243. package/src/core/main/worker/send_message.ts +28 -0
  244. package/src/core/{entry → main/worker}/track_choice_setter.ts +7 -7
  245. package/src/core/{entry/core_entry.ts → main/worker/worker_main.ts} +149 -223
  246. package/src/core/{entry/core_text_displayer_interface.ts → main/worker/worker_text_displayer_interface.ts} +26 -26
  247. package/src/core/types.ts +3 -631
  248. package/src/experimental/features/__tests__/local.test.ts +2 -11
  249. package/src/experimental/features/__tests__/metaplaylist.test.ts +2 -11
  250. package/src/experimental/features/__tests__/multi_thread.test.ts +3 -8
  251. package/src/experimental/features/local.ts +1 -7
  252. package/src/experimental/features/metaplaylist.ts +1 -7
  253. package/src/experimental/features/multi_thread.ts +2 -6
  254. package/src/features/features_object.ts +1 -1
  255. package/src/features/list/__tests__/dash.test.ts +3 -12
  256. package/src/features/list/__tests__/smooth.test.ts +2 -11
  257. package/src/features/list/dash.ts +1 -7
  258. package/src/features/list/dash_wasm.ts +1 -7
  259. package/src/features/list/media_source_main.ts +1 -7
  260. package/src/features/list/smooth.ts +1 -7
  261. package/src/features/types.ts +4 -23
  262. package/src/main_thread/README.md +0 -8
  263. package/src/main_thread/api/public_api.ts +51 -47
  264. package/src/main_thread/init/media_source_content_initializer.ts +1164 -2046
  265. package/src/main_thread/init/multi_thread_content_initializer.ts +2330 -0
  266. package/src/main_thread/init/send_message.ts +15 -0
  267. package/src/main_thread/init/utils/create_core_playback_observer.ts +1 -2
  268. package/src/main_thread/init/utils/update_manifest_codec_support.ts +1 -1
  269. package/src/main_thread/types.ts +0 -610
  270. package/src/manifest/utils.ts +4 -20
  271. package/src/mse/worker_media_source_interface.ts +35 -35
  272. package/src/multithread_types.ts +1095 -0
  273. package/src/parsers/manifest/smooth/create_parser.ts +34 -40
  274. package/src/parsers/manifest/smooth/parse_C_nodes.ts +8 -19
  275. package/src/parsers/manifest/smooth/parse_protection_node.ts +9 -17
  276. package/src/parsers/manifest/smooth/utils/parseBoolean.ts +1 -1
  277. package/src/parsers/manifest/smooth/utils/reduceChildren.ts +7 -10
  278. package/src/playback_observer/media_element_playback_observer.ts +177 -73
  279. package/src/playback_observer/{core_playback_observer.ts → worker_playback_observer.ts} +13 -13
  280. package/src/transports/smooth/pipelines.ts +5 -25
  281. package/src/worker_entry_point.ts +2 -71
  282. package/dist/commonjs/core/entry/FreezeResolver.d.ts.map +0 -1
  283. package/dist/commonjs/core/entry/content_preparer.d.ts.map +0 -1
  284. package/dist/commonjs/core/entry/content_time_boundaries_observer.d.ts.map +0 -1
  285. package/dist/commonjs/core/entry/core_entry.d.ts +0 -36
  286. package/dist/commonjs/core/entry/core_entry.d.ts.map +0 -1
  287. package/dist/commonjs/core/entry/core_text_displayer_interface.d.ts.map +0 -1
  288. package/dist/commonjs/core/entry/create_content_time_boundaries_observer.d.ts.map +0 -1
  289. package/dist/commonjs/core/entry/get_buffered_data_per_media_buffer.d.ts.map +0 -1
  290. package/dist/commonjs/core/entry/get_thumbnail_data.d.ts.map +0 -1
  291. package/dist/commonjs/core/entry/index.d.ts +0 -5
  292. package/dist/commonjs/core/entry/index.d.ts.map +0 -1
  293. package/dist/commonjs/core/entry/index.js +0 -4
  294. package/dist/commonjs/core/entry/synchronize_sinks_on_observation.d.ts.map +0 -1
  295. package/dist/commonjs/core/entry/track_choice_setter.d.ts.map +0 -1
  296. package/dist/commonjs/core/entry/utils.d.ts +0 -3
  297. package/dist/commonjs/core/entry/utils.d.ts.map +0 -1
  298. package/dist/commonjs/core/entry/utils.js +0 -11
  299. package/dist/commonjs/main_thread/core_interface/base.d.ts +0 -13
  300. package/dist/commonjs/main_thread/core_interface/base.d.ts.map +0 -1
  301. package/dist/commonjs/main_thread/core_interface/base.js +0 -32
  302. package/dist/commonjs/main_thread/core_interface/monothread.d.ts +0 -13
  303. package/dist/commonjs/main_thread/core_interface/monothread.d.ts.map +0 -1
  304. package/dist/commonjs/main_thread/core_interface/monothread.js +0 -56
  305. package/dist/commonjs/main_thread/core_interface/multithread.d.ts +0 -25
  306. package/dist/commonjs/main_thread/core_interface/multithread.d.ts.map +0 -1
  307. package/dist/commonjs/main_thread/core_interface/multithread.js +0 -67
  308. package/dist/commonjs/main_thread/core_interface/types.d.ts +0 -6
  309. package/dist/commonjs/main_thread/core_interface/types.d.ts.map +0 -1
  310. package/dist/commonjs/main_thread/core_interface/types.js +0 -2
  311. package/dist/commonjs/playback_observer/core_playback_observer.d.ts.map +0 -1
  312. package/dist/es2017/core/entry/FreezeResolver.d.ts.map +0 -1
  313. package/dist/es2017/core/entry/content_preparer.d.ts.map +0 -1
  314. package/dist/es2017/core/entry/content_time_boundaries_observer.d.ts.map +0 -1
  315. package/dist/es2017/core/entry/core_entry.d.ts +0 -36
  316. package/dist/es2017/core/entry/core_entry.d.ts.map +0 -1
  317. package/dist/es2017/core/entry/core_text_displayer_interface.d.ts.map +0 -1
  318. package/dist/es2017/core/entry/create_content_time_boundaries_observer.d.ts.map +0 -1
  319. package/dist/es2017/core/entry/get_buffered_data_per_media_buffer.d.ts.map +0 -1
  320. package/dist/es2017/core/entry/get_thumbnail_data.d.ts.map +0 -1
  321. package/dist/es2017/core/entry/index.d.ts +0 -5
  322. package/dist/es2017/core/entry/index.d.ts.map +0 -1
  323. package/dist/es2017/core/entry/index.js +0 -2
  324. package/dist/es2017/core/entry/synchronize_sinks_on_observation.d.ts.map +0 -1
  325. package/dist/es2017/core/entry/track_choice_setter.d.ts.map +0 -1
  326. package/dist/es2017/core/entry/utils.d.ts +0 -3
  327. package/dist/es2017/core/entry/utils.d.ts.map +0 -1
  328. package/dist/es2017/core/entry/utils.js +0 -8
  329. package/dist/es2017/main_thread/core_interface/base.d.ts +0 -13
  330. package/dist/es2017/main_thread/core_interface/base.d.ts.map +0 -1
  331. package/dist/es2017/main_thread/core_interface/base.js +0 -28
  332. package/dist/es2017/main_thread/core_interface/monothread.d.ts +0 -13
  333. package/dist/es2017/main_thread/core_interface/monothread.d.ts.map +0 -1
  334. package/dist/es2017/main_thread/core_interface/monothread.js +0 -32
  335. package/dist/es2017/main_thread/core_interface/multithread.d.ts +0 -25
  336. package/dist/es2017/main_thread/core_interface/multithread.d.ts.map +0 -1
  337. package/dist/es2017/main_thread/core_interface/multithread.js +0 -45
  338. package/dist/es2017/main_thread/core_interface/types.d.ts +0 -6
  339. package/dist/es2017/main_thread/core_interface/types.d.ts.map +0 -1
  340. package/dist/es2017/main_thread/core_interface/types.js +0 -1
  341. package/dist/es2017/playback_observer/core_playback_observer.d.ts.map +0 -1
  342. package/src/core/entry/index.ts +0 -4
  343. package/src/core/entry/utils.ts +0 -11
  344. package/src/main_thread/core_interface/README.md +0 -22
  345. package/src/main_thread/core_interface/base.ts +0 -36
  346. package/src/main_thread/core_interface/monothread.ts +0 -46
  347. package/src/main_thread/core_interface/multithread.ts +0 -49
  348. package/src/main_thread/core_interface/types.ts +0 -5
  349. /package/dist/commonjs/core/{entry → main/common}/synchronize_sinks_on_observation.js +0 -0
  350. /package/dist/es2017/core/{entry → main/common}/synchronize_sinks_on_observation.js +0 -0
@@ -1,6 +1,6 @@
1
- import type { IAdaptation, IPeriod, IRepresentation } from "../../manifest";
2
- import type { IFreezingStatus, IRebufferingStatus, ObservationPosition } from "../../playback_observer";
3
- import type SegmentSinksStore from "../segment_sinks";
1
+ import type { IAdaptation, IPeriod, IRepresentation } from "../../../manifest";
2
+ import type { IFreezingStatus, IRebufferingStatus, ObservationPosition } from "../../../playback_observer";
3
+ import type SegmentSinksStore from "../../segment_sinks";
4
4
  /**
5
5
  * Set when there is a freeze which seems to be specifically linked to a,
6
6
  * or multiple, content's `Representation` despite no attribute of it
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FreezeResolver.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/common/FreezeResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAiDzD;;;;;;GAMG;AACH,MAAM,WAAW,wCAAwC;IACvD,IAAI,EAAE,uBAAuB,CAAC;IAC9B,qCAAqC;IACrC,KAAK,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,WAAW,CAAC;QACxB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,EAAE,eAAe,CAAC;KACjC,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL;;;WAGG;QACH,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;CACb;AAED,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GACzB,wCAAwC,GACxC,sBAAsB,GACtB,uBAAuB,CAAC;AAE5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,qEAAqE;IACrE,OAAO,CAAC,kBAAkB,CAAoB;IAE9C,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAKtB;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAAgB;IAE1C;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAKhB;IAET;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,uCAAuC,CAAgB;gBAEnD,iBAAiB,EAAE,iBAAiB;IAWhD;;;;;;;;;;;;OAYG;IACI,gBAAgB,CACrB,WAAW,EAAE,0BAA0B,GACtC,iBAAiB,GAAG,IAAI;IAqF3B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,qCAAqC;IAwD7C;;;;;;;;;OASG;IACH,OAAO,CAAC,2BAA2B;IA0GnC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CA4C9B;AA4ED,2DAA2D;AAC3D,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -1,6 +1,6 @@
1
- import { config } from "../../experimental";
2
- import log from "../../log";
3
- import getMonotonicTimeStamp from "../../utils/monotonic_timestamp";
1
+ import { config } from "../../../experimental";
2
+ import log from "../../../log";
3
+ import getMonotonicTimeStamp from "../../../utils/monotonic_timestamp";
4
4
  /**
5
5
  * "Freezing" is a complex situation indicating that playback is not advancing
6
6
  * despite no valid reason for it not to.
@@ -13,11 +13,11 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IStreamOrchestratorPlaybackObservation, IBufferType } from "../../core/types";
17
- import type { IManifest, IAdaptation, IPeriod } from "../../manifest";
18
- import type { IReadOnlyPlaybackObserver } from "../../playback_observer";
19
- import type { IPlayerError } from "../../public_types";
20
- import EventEmitter from "../../utils/event_emitter";
16
+ import type { IStreamOrchestratorPlaybackObservation, IBufferType } from "../../../core/types";
17
+ import type { IManifest, IAdaptation, IPeriod } from "../../../manifest";
18
+ import type { IReadOnlyPlaybackObserver } from "../../../playback_observer";
19
+ import type { IPlayerError } from "../../../public_types";
20
+ import EventEmitter from "../../../utils/event_emitter";
21
21
  /**
22
22
  * Observes what's being played and take care of media events relating to time
23
23
  * boundaries:
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content_time_boundaries_observer.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/common/content_time_boundaries_observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,sCAAsC,EACtC,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAMxD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,YAAY,CAAC,mCAAmC,CAAC;IAC1G,mFAAmF;IACnF,OAAO,CAAC,UAAU,CAAgB;IAElC,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAuC;IAE7D,2DAA2D;IAC3D,OAAO,CAAC,SAAS,CAAY;IAE7B,uEAAuE;IACvE,OAAO,CAAC,0BAA0B,CAA4B;IAE9D,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAAgB;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB,CAAgB;IAE5C;;;OAGG;gBAED,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,WAAW,EAAE,WAAW,EAAE;IA6D5B;;;;OAIG;IACI,oBAAoB,IAAI,0BAA0B;IAIzD;;;;;;;;;;;;OAYG;IACI,kBAAkB,CACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,WAAW,GAAG,IAAI,GAC7B,IAAI;IA+BP;;;;;;;;;OASG;IACI,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAI7E;;;;;;;;;OASG;IACI,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAItE;;;;;;;;OAQG;IACI,4BAA4B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQlE;;;;;;;;;;OAUG;IACI,0BAA0B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQhE;;;OAGG;IACI,OAAO;IAKd,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,iBAAiB;CAc1B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,mDAAmD;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,0BAA0B,CAAC;IACjD;;;;;;;;;OASG;IACH,WAAW,EAAE,IAAI,CAAC;IAClB;;;;;;;;;OASG;IACH,YAAY,EAAE,IAAI,CAAC;CACpB;AAgPD,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACxD,sCAAsC,EACtC,UAAU,CACX,CAAC"}
@@ -13,12 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { MediaError } from "../../errors";
17
- import EventEmitter from "../../utils/event_emitter";
18
- import isNullOrUndefined from "../../utils/is_null_or_undefined";
19
- import queueMicrotask from "../../utils/queue_microtask";
20
- import SortedList from "../../utils/sorted_list";
21
- import TaskCanceller from "../../utils/task_canceller";
16
+ import { MediaError } from "../../../errors";
17
+ import EventEmitter from "../../../utils/event_emitter";
18
+ import isNullOrUndefined from "../../../utils/is_null_or_undefined";
19
+ import queueMicrotask from "../../../utils/queue_microtask";
20
+ import SortedList from "../../../utils/sorted_list";
21
+ import TaskCanceller from "../../../utils/task_canceller";
22
22
  /**
23
23
  * Observes what's being played and take care of media events relating to time
24
24
  * boundaries:
@@ -1,9 +1,9 @@
1
- import type { ISegmentSinksStore, IStreamOrchestratorPlaybackObservation } from "../../core/types";
2
- import type { IManifest, IPeriod } from "../../manifest";
3
- import type { IMediaSourceInterface } from "../../mse";
4
- import type { IReadOnlyPlaybackObserver } from "../../playback_observer";
5
- import type { IPlayerError } from "../../public_types";
6
- import type { CancellationSignal } from "../../utils/task_canceller";
1
+ import type { ISegmentSinksStore, IStreamOrchestratorPlaybackObservation } from "../../../core/types";
2
+ import type { IManifest, IPeriod } from "../../../manifest";
3
+ import type { IMediaSourceInterface } from "../../../mse";
4
+ import type { IReadOnlyPlaybackObserver } from "../../../playback_observer";
5
+ import type { IPlayerError } from "../../../public_types";
6
+ import type { CancellationSignal } from "../../../utils/task_canceller";
7
7
  import ContentTimeBoundariesObserver from "./content_time_boundaries_observer";
8
8
  export interface IContentTimeBoundariesObserverCallbacks {
9
9
  onWarning: (evt: IPlayerError) => void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_content_time_boundaries_observer.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/common/create_content_time_boundaries_observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sCAAsC,EACvC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,6BAA6B,MAAM,oCAAoC,CAAC;AAE/E,MAAM,WAAW,uCAAuC;IACtD,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,mCAAmC,CACzD,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,qBAAqB,EAClC,cAAc,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACjF,iBAAiB,EAAE,kBAAkB,EACrC,SAAS,EAAE,uCAAuC,EAClD,YAAY,EAAE,kBAAkB,GAC/B,6BAA6B,CA+B/B"}
@@ -1,4 +1,4 @@
1
- import log from "../../log";
1
+ import log from "../../../log";
2
2
  import ContentTimeBoundariesObserver from "./content_time_boundaries_observer";
3
3
  /**
4
4
  * Creates a `ContentTimeBoundariesObserver`, a class indicating various
@@ -1,7 +1,7 @@
1
- import type { ITextDisplayer } from "../../main_thread/types";
2
- import type { IMediaSourceInterface } from "../../mse";
3
- import type { ITrackType } from "../../public_types";
4
- import type { IRange } from "../../utils/ranges";
1
+ import type { ITextDisplayer } from "../../../main_thread/types";
2
+ import type { IMediaSourceInterface } from "../../../mse";
3
+ import type { ITrackType } from "../../../public_types";
4
+ import type { IRange } from "../../../utils/ranges";
5
5
  /**
6
6
  * Returns a JS object where keys are the type of buffers (e.g. "audio",
7
7
  * "video", "text") and values are the corresponding range of buffered
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_buffered_data_per_media_buffer.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/common/get_buffered_data_per_media_buffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,6BAA6B,CACnD,oBAAoB,EAAE,qBAAqB,GAAG,IAAI,EAClD,aAAa,EAAE,cAAc,GAAG,IAAI,GACnC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CA6BrC"}
@@ -1,4 +1,4 @@
1
- import arrayFind from "../../utils/array_find";
1
+ import arrayFind from "../../../utils/array_find";
2
2
  /**
3
3
  * Returns a JS object where keys are the type of buffers (e.g. "audio",
4
4
  * "video", "text") and values are the corresponding range of buffered
@@ -1,6 +1,6 @@
1
- import type { IManifest } from "../../manifest";
2
- import type { IThumbnailResponse } from "../../transports";
3
- import type { IThumbnailFetcher } from "../fetchers";
1
+ import type { IManifest } from "../../../manifest";
2
+ import type { IThumbnailResponse } from "../../../transports";
3
+ import type { IThumbnailFetcher } from "../../fetchers";
4
4
  /**
5
5
  * @param {function} fetchThumbnails
6
6
  * @param {Object} manifest
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_thumbnail_data.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/common/get_thumbnail_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;GAOG;AACH,wBAA8B,gBAAgB,CAC5C,eAAe,EAAE,iBAAiB,EAClC,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,CAAC,CAmB7B"}
@@ -1,5 +1,5 @@
1
- import arrayFind from "../../utils/array_find";
2
- import TaskCanceller from "../../utils/task_canceller";
1
+ import arrayFind from "../../../utils/array_find";
2
+ import TaskCanceller from "../../../utils/task_canceller";
3
3
  /**
4
4
  * @param {function} fetchThumbnails
5
5
  * @param {Object} manifest
@@ -1,5 +1,5 @@
1
- import type { ICorePlaybackObservation } from "../../main_thread/init/utils/create_core_playback_observer";
2
- import type SegmentSinksStore from "../segment_sinks";
1
+ import type { ICorePlaybackObservation } from "../../../main_thread/init/utils/create_core_playback_observer";
2
+ import type SegmentSinksStore from "../../segment_sinks";
3
3
  /**
4
4
  * Synchronize SegmentSinks with what has been buffered.
5
5
  * @param {Object} observation - The just-received playback observation,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronize_sinks_on_observation.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/common/synchronize_sinks_on_observation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AAC9G,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAC1D,WAAW,EAAE,wBAAwB,EACrC,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,CAQN"}
@@ -1,17 +1,15 @@
1
- import type { IContentInitializationData } from "../../main_thread/types";
2
- import type { IManifest } from "../../manifest";
3
- import type { IMediaSourceInterface } from "../../mse";
4
- import type { IRepresentationEstimator } from "../adaptive";
5
- import type { IRepresentationEstimatorThrottlers } from "../adaptive/adaptive_representation_selector";
6
- import CmcdDataBuilder from "../cmcd";
7
- import type { IManifestRefreshSettings } from "../fetchers";
8
- import { ManifestFetcher, SegmentQueueCreator } from "../fetchers";
9
- import type { IThumbnailFetcher } from "../fetchers/thumbnails/thumbnail_fetcher";
10
- import SegmentSinksStore from "../segment_sinks";
11
- import type { ICoreMessage } from "../types";
12
- import CoreTextDisplayerInterface from "./core_text_displayer_interface";
13
- import FreezeResolver from "./FreezeResolver";
1
+ import type { IManifest, IManifestMetadata } from "../../../manifest";
2
+ import type { IMediaSourceInterface } from "../../../mse";
3
+ import type { IContentInitializationData } from "../../../multithread_types";
4
+ import type { IRepresentationEstimator } from "../../adaptive";
5
+ import CmcdDataBuilder from "../../cmcd";
6
+ import type { IManifestRefreshSettings } from "../../fetchers";
7
+ import { ManifestFetcher, SegmentQueueCreator } from "../../fetchers";
8
+ import type { IThumbnailFetcher } from "../../fetchers/thumbnails/thumbnail_fetcher";
9
+ import SegmentSinksStore from "../../segment_sinks";
10
+ import FreezeResolver from "../common/FreezeResolver";
14
11
  import TrackChoiceSetter from "./track_choice_setter";
12
+ import WorkerTextDisplayerInterface from "./worker_text_displayer_interface";
15
13
  /**
16
14
  * Class facilitating the workflows behind loading a new content for the
17
15
  * RxPlayer Core:
@@ -75,9 +73,7 @@ export default class ContentPreparer {
75
73
  * initialized.
76
74
  * @returns {Promise.<Object>}
77
75
  */
78
- initializeNewContent(sendMessage: (msg: ICoreMessage, transferables?: Transferable[]) => void, context: IContentInitializationData,
79
- /** Allows to filter which Representations can be choosen. */
80
- throttlers: IRepresentationEstimatorThrottlers): Promise<IManifest>;
76
+ initializeNewContent(context: IContentInitializationData): Promise<IManifestMetadata>;
81
77
  /**
82
78
  * Get information on the current content prepared through the
83
79
  * `initializeNewContent` method, or `null` if no content is currently
@@ -94,15 +90,12 @@ export default class ContentPreparer {
94
90
  */
95
91
  scheduleManifestRefresh(settings: IManifestRefreshSettings): void;
96
92
  /**
97
- * Change the MediaSource attached for the current content.
98
- * It is assumed that main thread is already notified that such a reload is
99
- * happening.
93
+ * Signal the ContentPreparer that the MediaSource is "reloading".
100
94
  *
101
95
  * The returned Promise resolves when it restarts being ready.
102
- * @param {Function} sendMessage
103
96
  * @returns {Promise}
104
97
  */
105
- reloadMediaSource(sendMessage: (msg: ICoreMessage, transferables?: Transferable[]) => void): Promise<void>;
98
+ reloadMediaSource(): Promise<void>;
106
99
  /**
107
100
  * Dispose all resources linked to the currently preopared content if one and
108
101
  * stop linking it to this `ContentPreparer`.
@@ -160,7 +153,7 @@ export interface IPreparedContentData {
160
153
  */
161
154
  segmentSinksStore: SegmentSinksStore;
162
155
  /** Allows to send timed text media data so it can be rendered. */
163
- coreTextSender: CoreTextDisplayerInterface | null;
156
+ workerTextSender: WorkerTextDisplayerInterface | null;
164
157
  /**
165
158
  * Allows to create `SegmentQueue` which simplifies complex media segment
166
159
  * fetching.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content_preparer.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/content_preparer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAEV,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AAYpC,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;AAGtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,cAAc,MAAM,0BAA0B,CAAC;AAGtD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,4BAA4B,MAAM,mCAAmC,CAAC;AAK7E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAA8B;IACrD;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAgB;IACzC;;;;OAIG;IACH,OAAO,CAAC,4BAA4B,CAAgB;IAEpD,uBAAuB;IACvB,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;;;OAQG;gBACS,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE;IAQ/C;;;;;;;;;;;OAWG;IACI,oBAAoB,CACzB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC;IA8L7B;;;;;OAKG;IACI,iBAAiB,IAAI,oBAAoB,GAAG,IAAI;IAIvD;;;;;;OAMG;IACI,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAIxE;;;;;OAKG;IACI,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CzC;;;OAGG;IACI,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;;;;OAIG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC;;;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,cAAc,EAAE,cAAc,CAAC;IAC/B;;;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,uCAAuC;IACvC,kBAAkB,EAAE,iBAAiB,CAAC;IACtC;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB"}
@@ -1,22 +1,25 @@
1
- import { MediaSource_ } from "../../compat/browser_compatibility_types";
2
- import features from "../../features";
3
- import log from "../../log";
4
- import { createRepresentationFilterFromFnString } from "../../manifest";
5
- import MainMediaSourceInterface from "../../mse/main_media_source_interface";
6
- import WorkerMediaSourceInterface from "../../mse/worker_media_source_interface";
7
- import idGenerator from "../../utils/id_generator";
8
- import isNullOrUndefined from "../../utils/is_null_or_undefined";
9
- import TaskCanceller from "../../utils/task_canceller";
10
- import createAdaptiveRepresentationSelector from "../adaptive";
11
- import CmcdDataBuilder from "../cmcd";
12
- import { ManifestFetcher, SegmentQueueCreator } from "../fetchers";
13
- import CdnPrioritizer from "../fetchers/cdn_prioritizer";
14
- import createThumbnailFetcher from "../fetchers/thumbnails/thumbnail_fetcher";
15
- import SegmentSinksStore from "../segment_sinks";
16
- import CoreTextDisplayerInterface from "./core_text_displayer_interface";
17
- import FreezeResolver from "./FreezeResolver";
1
+ import { MediaSource_ } from "../../../compat/browser_compatibility_types";
2
+ import features from "../../../features";
3
+ import log from "../../../log";
4
+ import { createRepresentationFilterFromFnString } from "../../../manifest";
5
+ import MainMediaSourceInterface from "../../../mse/main_media_source_interface";
6
+ import WorkerMediaSourceInterface from "../../../mse/worker_media_source_interface";
7
+ import assert from "../../../utils/assert";
8
+ import idGenerator from "../../../utils/id_generator";
9
+ import isNullOrUndefined from "../../../utils/is_null_or_undefined";
10
+ import objectAssign from "../../../utils/object_assign";
11
+ import TaskCanceller from "../../../utils/task_canceller";
12
+ import createAdaptiveRepresentationSelector from "../../adaptive";
13
+ import CmcdDataBuilder from "../../cmcd";
14
+ import { ManifestFetcher, SegmentQueueCreator } from "../../fetchers";
15
+ import CdnPrioritizer from "../../fetchers/cdn_prioritizer";
16
+ import createThumbnailFetcher from "../../fetchers/thumbnails/thumbnail_fetcher";
17
+ import SegmentSinksStore from "../../segment_sinks";
18
+ import FreezeResolver from "../common/FreezeResolver";
19
+ import { limitVideoResolution, throttleVideoBitrate } from "./globals";
20
+ import sendMessage, { formatErrorForSender } from "./send_message";
18
21
  import TrackChoiceSetter from "./track_choice_setter";
19
- import { formatErrorForSender } from "./utils";
22
+ import WorkerTextDisplayerInterface from "./worker_text_displayer_interface";
20
23
  /** Function allowing to associate a unique identifier to all created `MediaSource` */
21
24
  const generateMediaSourceId = idGenerator();
22
25
  /**
@@ -67,9 +70,7 @@ export default class ContentPreparer {
67
70
  * initialized.
68
71
  * @returns {Promise.<Object>}
69
72
  */
70
- initializeNewContent(sendMessage, context,
71
- /** Allows to filter which Representations can be choosen. */
72
- throttlers) {
73
+ initializeNewContent(context) {
73
74
  return new Promise((res, rej) => {
74
75
  var _a, _b;
75
76
  this.disposeCurrentContent();
@@ -77,36 +78,35 @@ export default class ContentPreparer {
77
78
  const currentMediaSourceCanceller = new TaskCanceller();
78
79
  this._currentMediaSourceCanceller = currentMediaSourceCanceller;
79
80
  currentMediaSourceCanceller.linkToSignal(contentCanceller.signal);
80
- const { contentId, url, hasText, transportOptions, useMseInWorker, enableRepresentationAvoidance, transport, } = context;
81
+ const { contentId, url, hasText, transportOptions, useMseInWorker, enableRepresentationAvoidance, } = context;
81
82
  let manifest = null;
82
- const transportFn = features.transports[transport];
83
- if (typeof transportFn !== "function") {
84
- rej(new Error(`transport "${transport}" not supported. ` +
85
- "Did you add the corresponding feature?"));
86
- return;
87
- }
83
+ // TODO better way
84
+ assert(features.transports.dash !== undefined, "Multithread RxPlayer should have access to the DASH feature");
88
85
  const representationFilter = typeof transportOptions.representationFilter === "string"
89
86
  ? createRepresentationFilterFromFnString(transportOptions.representationFilter)
90
- : transportOptions.representationFilter;
91
- const transportPipelines = transportFn(Object.assign(Object.assign({}, transportOptions), { representationFilter }));
87
+ : undefined;
88
+ const dashPipelines = features.transports.dash(Object.assign(Object.assign({}, transportOptions), { representationFilter }));
92
89
  const cmcdDataBuilder = context.cmcd === undefined ? null : new CmcdDataBuilder(context.cmcd);
93
- const manifestFetcher = new ManifestFetcher(url === undefined ? undefined : [url], transportPipelines, Object.assign({ cmcdDataBuilder }, context.manifestRetryOptions));
90
+ const manifestFetcher = new ManifestFetcher(url === undefined ? undefined : [url], dashPipelines, Object.assign({ cmcdDataBuilder }, context.manifestRetryOptions));
94
91
  const representationEstimator = createAdaptiveRepresentationSelector({
95
92
  initialBitrates: {
96
93
  audio: (_a = context.initialAudioBitrate) !== null && _a !== void 0 ? _a : 0,
97
94
  video: (_b = context.initialVideoBitrate) !== null && _b !== void 0 ? _b : 0,
98
95
  },
99
96
  lowLatencyMode: transportOptions.lowLatencyMode,
100
- throttlers,
97
+ throttlers: {
98
+ limitResolution: { video: limitVideoResolution },
99
+ throttleBitrate: { video: throttleVideoBitrate },
100
+ },
101
101
  });
102
102
  const unbindRejectOnCancellation = currentMediaSourceCanceller.signal.register((error) => {
103
103
  rej(error);
104
104
  });
105
105
  const cdnPrioritizer = new CdnPrioritizer(contentCanceller.signal);
106
- const segmentQueueCreator = new SegmentQueueCreator(transportPipelines, cdnPrioritizer, cmcdDataBuilder, context.segmentRetryOptions);
107
- const fetchThumbnailData = createThumbnailFetcher(transportPipelines.thumbnails, cdnPrioritizer);
106
+ const segmentQueueCreator = new SegmentQueueCreator(dashPipelines, cdnPrioritizer, cmcdDataBuilder, context.segmentRetryOptions);
107
+ const fetchThumbnailData = createThumbnailFetcher(dashPipelines.thumbnails, cdnPrioritizer);
108
108
  const trackChoiceSetter = new TrackChoiceSetter();
109
- const [mediaSource, segmentSinksStore, coreTextSender] = createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, contentId, {
109
+ const [mediaSource, segmentSinksStore, workerTextSender] = createMediaSourceInterfaceAndSegmentSinksStore(contentId, {
110
110
  useMseInWorker,
111
111
  hasVideo: this._hasVideo,
112
112
  hasText,
@@ -124,7 +124,7 @@ export default class ContentPreparer {
124
124
  segmentSinksStore,
125
125
  segmentQueueCreator,
126
126
  fetchThumbnailData,
127
- coreTextSender,
127
+ workerTextSender,
128
128
  trackChoiceSetter,
129
129
  useMseInWorker,
130
130
  };
@@ -136,7 +136,7 @@ export default class ContentPreparer {
136
136
  });
137
137
  manifestFetcher.addEventListener("warning", (err) => {
138
138
  sendMessage({
139
- type: "warning" /* CoreMessageType.Warning */,
139
+ type: "warning" /* WorkerMessageType.Warning */,
140
140
  contentId,
141
141
  value: formatErrorForSender(err),
142
142
  });
@@ -154,7 +154,7 @@ export default class ContentPreparer {
154
154
  }, currentMediaSourceCanceller.signal);
155
155
  manifestFetcher.addEventListener("error", (err) => {
156
156
  sendMessage({
157
- type: "error" /* CoreMessageType.Error */,
157
+ type: "error" /* WorkerMessageType.Error */,
158
158
  contentId,
159
159
  value: formatErrorForSender(err),
160
160
  });
@@ -168,19 +168,25 @@ export default class ContentPreparer {
168
168
  return;
169
169
  }
170
170
  updateCodecSupportInWorkerMode(manifest);
171
+ const sentManifest = manifest.getMetadataSnapshot();
171
172
  manifest.addEventListener("manifestUpdate", (updates) => {
172
173
  if (manifest === null) {
173
174
  // TODO log warn?
174
175
  return;
175
176
  }
177
+ // Remove `periods` key to reduce cost of an unnecessary manifest
178
+ // clone.
179
+ const snapshot = objectAssign(manifest.getMetadataSnapshot(), {
180
+ periods: [],
181
+ });
176
182
  sendMessage({
177
- type: "manifest-update" /* CoreMessageType.ManifestUpdate */,
183
+ type: "manifest-update" /* WorkerMessageType.ManifestUpdate */,
178
184
  contentId,
179
- value: { manifest, updates },
185
+ value: { manifest: snapshot, updates },
180
186
  });
181
187
  }, contentCanceller.signal);
182
188
  unbindRejectOnCancellation();
183
- res(manifest);
189
+ res(sentManifest);
184
190
  }
185
191
  });
186
192
  }
@@ -205,30 +211,27 @@ export default class ContentPreparer {
205
211
  (_a = this._currentContent) === null || _a === void 0 ? void 0 : _a.manifestFetcher.scheduleManualRefresh(settings);
206
212
  }
207
213
  /**
208
- * Change the MediaSource attached for the current content.
209
- * It is assumed that main thread is already notified that such a reload is
210
- * happening.
214
+ * Signal the ContentPreparer that the MediaSource is "reloading".
211
215
  *
212
216
  * The returned Promise resolves when it restarts being ready.
213
- * @param {Function} sendMessage
214
217
  * @returns {Promise}
215
218
  */
216
- reloadMediaSource(sendMessage) {
219
+ reloadMediaSource() {
217
220
  this._currentMediaSourceCanceller.cancel();
218
221
  if (this._currentContent === null) {
219
222
  return Promise.reject(new Error("CP: No content anymore"));
220
223
  }
221
224
  this._currentContent.trackChoiceSetter.reset();
222
225
  this._currentMediaSourceCanceller = new TaskCanceller();
223
- const [mediaSourceInterface, segmentSinksStore, coreTextSender] = createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, this._currentContent.contentId, {
226
+ const [mediaSourceInterface, segmentSinksStore, workerTextSender] = createMediaSourceInterfaceAndSegmentSinksStore(this._currentContent.contentId, {
224
227
  useMseInWorker: this._currentContent.useMseInWorker,
225
228
  hasVideo: this._hasVideo,
226
- hasText: this._currentContent.coreTextSender !== null,
229
+ hasText: this._currentContent.workerTextSender !== null,
227
230
  }, this._currentMediaSourceCanceller.signal);
228
231
  this._currentContent.mediaSource = mediaSourceInterface;
229
232
  this._currentContent.segmentSinksStore = segmentSinksStore;
230
233
  this._currentContent.freezeResolver = new FreezeResolver(segmentSinksStore);
231
- this._currentContent.coreTextSender = coreTextSender;
234
+ this._currentContent.workerTextSender = workerTextSender;
232
235
  return new Promise((res, rej) => {
233
236
  mediaSourceInterface.addEventListener("mediaSourceOpen", function () {
234
237
  res();
@@ -251,7 +254,6 @@ export default class ContentPreparer {
251
254
  }
252
255
  }
253
256
  /**
254
- * @param {Function} sendMessage
255
257
  * @param {string} contentId
256
258
  * @param {Object} capabilities
257
259
  * @param {boolean} capabilities.useMseInWorker
@@ -260,7 +262,7 @@ export default class ContentPreparer {
260
262
  * @param {Object} cancelSignal
261
263
  * @returns {Array.<Object>}
262
264
  */
263
- function createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, contentId, capabilities, cancelSignal) {
265
+ function createMediaSourceInterfaceAndSegmentSinksStore(contentId, capabilities, cancelSignal) {
264
266
  let mediaSourceInterface;
265
267
  if (capabilities.useMseInWorker) {
266
268
  const mainMediaSource = new MainMediaSourceInterface(generateMediaSourceId());
@@ -278,7 +280,7 @@ function createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, contentId,
278
280
  });
279
281
  }
280
282
  sendMessage({
281
- type: "attach-media-source" /* CoreMessageType.AttachMediaSource */,
283
+ type: "attach-media-source" /* WorkerMessageType.AttachMediaSource */,
282
284
  contentId,
283
285
  value: sentMediaSourceLink,
284
286
  mediaSourceId: mediaSourceInterface.id,
@@ -288,7 +290,7 @@ function createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, contentId,
288
290
  mediaSourceInterface = new WorkerMediaSourceInterface(generateMediaSourceId(), contentId, sendMessage);
289
291
  }
290
292
  const textSender = capabilities.hasText
291
- ? new CoreTextDisplayerInterface(contentId, sendMessage)
293
+ ? new WorkerTextDisplayerInterface(contentId, sendMessage)
292
294
  : null;
293
295
  const { hasVideo } = capabilities;
294
296
  const segmentSinksStore = new SegmentSinksStore(mediaSourceInterface, hasVideo, textSender);
@@ -0,0 +1,14 @@
1
+ import SharedReference from "../../../utils/reference";
2
+ import type { IResolutionInfo } from "../../adaptive";
3
+ /** Buffer "goal" at which we stop downloading new segments. */
4
+ declare const wantedBufferAhead: SharedReference<number>;
5
+ /** Buffer maximum size in kiloBytes at which we stop downloading */
6
+ declare const maxVideoBufferSize: SharedReference<number>;
7
+ /** Max buffer size after the current position, in seconds (we GC further up). */
8
+ declare const maxBufferAhead: SharedReference<number>;
9
+ /** Max buffer size before the current position, in seconds (we GC further down). */
10
+ declare const maxBufferBehind: SharedReference<number>;
11
+ declare const limitVideoResolution: SharedReference<IResolutionInfo>;
12
+ declare const throttleVideoBitrate: SharedReference<number>;
13
+ export { wantedBufferAhead, maxVideoBufferSize, maxBufferBehind, maxBufferAhead, limitVideoResolution, throttleVideoBitrate, };
14
+ //# sourceMappingURL=globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/globals.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAStD,+DAA+D;AAC/D,QAAA,MAAM,iBAAiB,yBAAmD,CAAC;AAE3E,oEAAoE;AACpE,QAAA,MAAM,kBAAkB,yBAAqD,CAAC;AAE9E,iFAAiF;AACjF,QAAA,MAAM,cAAc,yBAAgD,CAAC;AAErE,oFAAoF;AACpF,QAAA,MAAM,eAAe,yBAAiD,CAAC;AAEvE,QAAA,MAAM,oBAAoB,kCAIxB,CAAC;AACH,QAAA,MAAM,oBAAoB,yBAAgC,CAAC;AAE3D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,oBAAoB,GACrB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import config from "../../../config";
2
+ import SharedReference from "../../../utils/reference";
3
+ const { DEFAULT_WANTED_BUFFER_AHEAD, DEFAULT_MAX_VIDEO_BUFFER_SIZE, DEFAULT_MAX_BUFFER_AHEAD, DEFAULT_MAX_BUFFER_BEHIND, } = config.getCurrent();
4
+ /** Buffer "goal" at which we stop downloading new segments. */
5
+ const wantedBufferAhead = new SharedReference(DEFAULT_WANTED_BUFFER_AHEAD);
6
+ /** Buffer maximum size in kiloBytes at which we stop downloading */
7
+ const maxVideoBufferSize = new SharedReference(DEFAULT_MAX_VIDEO_BUFFER_SIZE);
8
+ /** Max buffer size after the current position, in seconds (we GC further up). */
9
+ const maxBufferAhead = new SharedReference(DEFAULT_MAX_BUFFER_AHEAD);
10
+ /** Max buffer size before the current position, in seconds (we GC further down). */
11
+ const maxBufferBehind = new SharedReference(DEFAULT_MAX_BUFFER_BEHIND);
12
+ const limitVideoResolution = new SharedReference({
13
+ height: undefined,
14
+ width: undefined,
15
+ pixelRatio: 1,
16
+ });
17
+ const throttleVideoBitrate = new SharedReference(Infinity);
18
+ export { wantedBufferAhead, maxVideoBufferSize, maxBufferBehind, maxBufferAhead, limitVideoResolution, throttleVideoBitrate, };
@@ -0,0 +1,3 @@
1
+ import initializeWorkerMain from "./worker_main";
2
+ export default initializeWorkerMain;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,eAAe,CAAC;AACjD,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import initializeWorkerMain from "./worker_main";
2
+ export default initializeWorkerMain;
@@ -0,0 +1,4 @@
1
+ import type { ISentError, IWorkerMessage } from "../../../multithread_types";
2
+ export default function sendMessage(msg: IWorkerMessage, transferables?: Transferable[]): void;
3
+ export declare function formatErrorForSender(error: unknown): ISentError;
4
+ //# sourceMappingURL=send_message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send_message.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/send_message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,GAAG,EAAE,cAAc,EACnB,aAAa,CAAC,EAAE,YAAY,EAAE,GAC7B,IAAI,CAWN;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAO/D"}
@@ -0,0 +1,19 @@
1
+ import { formatError } from "../../../errors";
2
+ import log from "../../../log";
3
+ export default function sendMessage(msg, transferables) {
4
+ log.debug("M<--C", "Sending message", { name: msg.type });
5
+ if (transferables === undefined) {
6
+ postMessage(msg);
7
+ }
8
+ else {
9
+ // TypeScript made a mistake here, and 2busy2fix
10
+ postMessage(msg, transferables);
11
+ }
12
+ }
13
+ export function formatErrorForSender(error) {
14
+ const formattedError = formatError(error, {
15
+ defaultCode: "NONE",
16
+ defaultReason: "An unknown error stopped content playback.",
17
+ });
18
+ return formattedError.serialize();
19
+ }
@@ -1,7 +1,7 @@
1
- import type { ITrackUpdateChoiceObject } from "../../main_thread/types";
2
- import type { ITrackType } from "../../public_types";
3
- import SharedReference from "../../utils/reference";
4
- import type { IAdaptationChoice, IRepresentationsChoice } from "../stream";
1
+ import type { ITrackUpdateChoiceObject } from "../../../multithread_types";
2
+ import type { ITrackType } from "../../../public_types";
3
+ import SharedReference from "../../../utils/reference";
4
+ import type { IAdaptationChoice, IRepresentationsChoice } from "../../stream";
5
5
  export default class TrackChoiceSetter {
6
6
  /**
7
7
  * Store SharedReference through which track choices and Representation
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track_choice_setter.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/track_choice_setter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;OAKG;IACH,OAAO,CAAC,KAAK,CAsBX;;IAMK,KAAK,IAAI,IAAI;IAgBb,cAAc,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,eAAe,CAAC,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAuCrD,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,GAClD,OAAO;IA4BH,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,sBAAsB,GAC7B,OAAO;IAqBH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;CAkB5E"}
@@ -1,7 +1,7 @@
1
- import log from "../../log";
2
- import isNullOrUndefined from "../../utils/is_null_or_undefined";
3
- import objectAssign from "../../utils/object_assign";
4
- import SharedReference from "../../utils/reference";
1
+ import log from "../../../log";
2
+ import isNullOrUndefined from "../../../utils/is_null_or_undefined";
3
+ import objectAssign from "../../../utils/object_assign";
4
+ import SharedReference from "../../../utils/reference";
5
5
  export default class TrackChoiceSetter {
6
6
  constructor() {
7
7
  this._refs = new Map();
@@ -0,0 +1,2 @@
1
+ export default function initializeWorkerMain(): void;
2
+ //# sourceMappingURL=worker_main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker_main.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/worker_main.ts"],"names":[],"mappings":"AAmDA,MAAM,CAAC,OAAO,UAAU,oBAAoB,SA4X3C"}