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
@@ -47,55 +47,35 @@ var __values = (this && this.__values) || function(o) {
47
47
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.default = initializeCoreEntry;
51
- var config_1 = require("../../config");
52
- var errors_1 = require("../../errors");
53
- var features_1 = require("../../features");
54
- var log_1 = require("../../log");
55
- var classes_1 = require("../../manifest/classes");
56
- var playback_observer_1 = require("../../playback_observer");
57
- var core_playback_observer_1 = require("../../playback_observer/core_playback_observer");
58
- var array_find_1 = require("../../utils/array_find");
59
- var assert_1 = require("../../utils/assert");
60
- var monotonic_timestamp_1 = require("../../utils/monotonic_timestamp");
61
- var object_assign_1 = require("../../utils/object_assign");
62
- var reference_1 = require("../../utils/reference");
63
- var task_canceller_1 = require("../../utils/task_canceller");
64
- var stream_1 = require("../stream");
50
+ exports.default = initializeWorkerMain;
51
+ var config_1 = require("../../../config");
52
+ var errors_1 = require("../../../errors");
53
+ var features_1 = require("../../../features");
54
+ var log_1 = require("../../../log");
55
+ var classes_1 = require("../../../manifest/classes");
56
+ var js_parser_1 = require("../../../parsers/manifest/dash/js-parser");
57
+ var wasm_parser_1 = require("../../../parsers/manifest/dash/wasm-parser");
58
+ var playback_observer_1 = require("../../../playback_observer");
59
+ var worker_playback_observer_1 = require("../../../playback_observer/worker_playback_observer");
60
+ var dash_1 = require("../../../transports/dash");
61
+ var array_find_1 = require("../../../utils/array_find");
62
+ var assert_1 = require("../../../utils/assert");
63
+ var global_scope_1 = require("../../../utils/global_scope");
64
+ var monotonic_timestamp_1 = require("../../../utils/monotonic_timestamp");
65
+ var object_assign_1 = require("../../../utils/object_assign");
66
+ var reference_1 = require("../../../utils/reference");
67
+ var task_canceller_1 = require("../../../utils/task_canceller");
68
+ var stream_1 = require("../../stream");
69
+ var create_content_time_boundaries_observer_1 = require("../common/create_content_time_boundaries_observer");
70
+ var get_buffered_data_per_media_buffer_1 = require("../common/get_buffered_data_per_media_buffer");
71
+ var get_thumbnail_data_1 = require("../common/get_thumbnail_data");
72
+ var synchronize_sinks_on_observation_1 = require("../common/synchronize_sinks_on_observation");
65
73
  var content_preparer_1 = require("./content_preparer");
66
- var create_content_time_boundaries_observer_1 = require("./create_content_time_boundaries_observer");
67
- var get_buffered_data_per_media_buffer_1 = require("./get_buffered_data_per_media_buffer");
68
- var get_thumbnail_data_1 = require("./get_thumbnail_data");
69
- var synchronize_sinks_on_observation_1 = require("./synchronize_sinks_on_observation");
70
- var utils_1 = require("./utils");
71
- /**
72
- * Initialize a `CoreEntry`, which is the part of the RxPlayer acting as an
73
- * entry point to all its "core" code.
74
- *
75
- * Its role is to receive and react to messages coming from "main thead", which
76
- * may include loading and playing a content, and to send back messages for the main
77
- * thread.
78
- * @param {Function} setMessageReceiver - Declares the function that will
79
- * receive messages coming from the "main thread" part of the RxPlayer logic.
80
- * @param {Function} sendMessage - Function allowing to send messages to the
81
- * "main thread" part of the RxPlayer logic.
82
- */
83
- function initializeCoreEntry(setMessageReceiver, sendMessage) {
84
- var _a = config_1.default.getCurrent(), DEFAULT_WANTED_BUFFER_AHEAD = _a.DEFAULT_WANTED_BUFFER_AHEAD, DEFAULT_MAX_VIDEO_BUFFER_SIZE = _a.DEFAULT_MAX_VIDEO_BUFFER_SIZE, DEFAULT_MAX_BUFFER_AHEAD = _a.DEFAULT_MAX_BUFFER_AHEAD, DEFAULT_MAX_BUFFER_BEHIND = _a.DEFAULT_MAX_BUFFER_BEHIND;
85
- var refs = {
86
- wantedBufferAhead: new reference_1.default(DEFAULT_WANTED_BUFFER_AHEAD),
87
- maxVideoBufferSize: new reference_1.default(DEFAULT_MAX_VIDEO_BUFFER_SIZE),
88
- maxBufferAhead: new reference_1.default(DEFAULT_MAX_BUFFER_AHEAD),
89
- maxBufferBehind: new reference_1.default(DEFAULT_MAX_BUFFER_BEHIND),
90
- limitVideoResolution: new reference_1.default({
91
- height: undefined,
92
- width: undefined,
93
- pixelRatio: 1,
94
- }),
95
- throttleVideoBitrate: new reference_1.default(Infinity),
96
- };
74
+ var globals_1 = require("./globals");
75
+ var send_message_1 = require("./send_message");
76
+ function initializeWorkerMain() {
97
77
  /**
98
- * `true` once the CoreEntry has been initialized.
78
+ * `true` once the worker has been initialized.
99
79
  * Allow to enforce the fact that it is only initialized once.
100
80
  */
101
81
  var isInitialized = false;
@@ -111,42 +91,46 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
111
91
  * `null` if there's no content loaded currently.
112
92
  */
113
93
  var currentContentHandle = null;
94
+ // Initialize Manually a `DashWasmParser` and add the feature.
95
+ // TODO allow worker-side feature-switching? Not sure how
96
+ var dashWasmParser = new wasm_parser_1.default();
97
+ features_1.default.dashParsers.wasm = dashWasmParser;
98
+ features_1.default.dashParsers.js = js_parser_1.default;
99
+ features_1.default.transports.dash = dash_1.default;
114
100
  /**
115
101
  * When set, emit playback observation made on the main thread.
116
102
  */
117
103
  var playbackObservationRef = null;
118
- setMessageReceiver(function (e) {
104
+ global_scope_1.default.onmessageerror = function (_msg) {
105
+ log_1.default.error("Core", "Error when receiving message from main thread.");
106
+ };
107
+ onmessage = function (e) {
119
108
  var _a, _b;
120
109
  log_1.default.debug("Core", "received message", { name: e.data.type });
121
110
  var msg = e.data;
122
111
  switch (msg.type) {
123
112
  case "init" /* MainThreadMessageType.Init */:
124
- {
125
- (0, assert_1.default)(!isInitialized);
126
- isInitialized = true;
127
- (0, monotonic_timestamp_1.scaleTimestamp)(msg.value);
128
- updateLoggerLevel(msg.value.logLevel, msg.value.logFormat, msg.value.sendBackLogs);
129
- var dashWasmParser = features_1.default.dashParsers.wasm;
130
- if (dashWasmParser !== null &&
131
- msg.value.dashWasmUrl !== undefined &&
132
- dashWasmParser.isCompatible()) {
133
- dashWasmParser.initialize({ wasmUrl: msg.value.dashWasmUrl }).catch(function (err) {
134
- var error = err instanceof Error ? err.toString() : "Unknown Error";
135
- log_1.default.error("Core", "Could not initialize DASH_WASM parser", error);
136
- });
137
- }
138
- if (!msg.value.hasVideo) {
139
- contentPreparer.disposeCurrentContent();
140
- contentPreparer = new content_preparer_1.default({ hasVideo: msg.value.hasVideo });
141
- }
142
- sendMessage({ type: "init-success" /* CoreMessageType.InitSuccess */, value: null });
113
+ (0, assert_1.default)(!isInitialized);
114
+ isInitialized = true;
115
+ (0, monotonic_timestamp_1.scaleTimestamp)(msg.value);
116
+ updateLoggerLevel(msg.value.logLevel, msg.value.logFormat, msg.value.sendBackLogs);
117
+ if (msg.value.dashWasmUrl !== undefined && dashWasmParser.isCompatible()) {
118
+ dashWasmParser.initialize({ wasmUrl: msg.value.dashWasmUrl }).catch(function (err) {
119
+ var error = err instanceof Error ? err.toString() : "Unknown Error";
120
+ log_1.default.error("Core", "Could not initialize DASH_WASM parser", error);
121
+ });
122
+ }
123
+ if (!msg.value.hasVideo) {
124
+ contentPreparer.disposeCurrentContent();
125
+ contentPreparer = new content_preparer_1.default({ hasVideo: msg.value.hasVideo });
143
126
  }
127
+ (0, send_message_1.default)({ type: "init-success" /* WorkerMessageType.InitSuccess */, value: null });
144
128
  break;
145
129
  case "log-level-update" /* MainThreadMessageType.LogLevelUpdate */:
146
130
  updateLoggerLevel(msg.value.logLevel, msg.value.logFormat, msg.value.sendBackLogs);
147
131
  break;
148
132
  case "prepare" /* MainThreadMessageType.PrepareContent */:
149
- prepareNewContent(sendMessage, contentPreparer, msg.value, refs);
133
+ prepareNewContent(contentPreparer, msg.value);
150
134
  break;
151
135
  case "start" /* MainThreadMessageType.StartPreparedContent */: {
152
136
  var preparedContent = contentPreparer.getCurrentContent();
@@ -159,7 +143,7 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
159
143
  position: new (playback_observer_1.ObservationPosition.bind.apply(playback_observer_1.ObservationPosition, __spreadArray([void 0], __read(msg.value.initialObservation.position), false)))(),
160
144
  }));
161
145
  playbackObservationRef = currentContentObservationRef;
162
- currentContentHandle = loadPreparedContent(sendMessage, msg.value, contentPreparer, currentContentObservationRef, refs);
146
+ currentContentHandle = loadPreparedContent(msg.value, contentPreparer, currentContentObservationRef);
163
147
  break;
164
148
  }
165
149
  case "observation" /* MainThreadMessageType.PlaybackObservation */: {
@@ -182,7 +166,7 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
182
166
  break;
183
167
  }
184
168
  case "ref-update" /* MainThreadMessageType.ReferenceUpdate */:
185
- updateCoreReference(msg, refs);
169
+ updateGlobalReference(msg);
186
170
  break;
187
171
  case "stop" /* MainThreadMessageType.StopContent */:
188
172
  if (msg.contentId !== ((_a = contentPreparer.getCurrentContent()) === null || _a === void 0 ? void 0 : _a.contentId)) {
@@ -296,18 +280,18 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
296
280
  try {
297
281
  var warning = preparedContent.manifest.updateCodecSupport(newEvaluatedCodecs);
298
282
  if (warning !== null) {
299
- sendMessage({
300
- type: "warning" /* CoreMessageType.Warning */,
283
+ (0, send_message_1.default)({
284
+ type: "warning" /* WorkerMessageType.Warning */,
301
285
  contentId: preparedContent.contentId,
302
- value: (0, utils_1.formatErrorForSender)(warning),
286
+ value: (0, send_message_1.formatErrorForSender)(warning),
303
287
  });
304
288
  }
305
289
  }
306
290
  catch (err) {
307
- sendMessage({
308
- type: "error" /* CoreMessageType.Error */,
291
+ (0, send_message_1.default)({
292
+ type: "error" /* WorkerMessageType.Error */,
309
293
  contentId: preparedContent.contentId,
310
- value: (0, utils_1.formatErrorForSender)(err),
294
+ value: (0, send_message_1.formatErrorForSender)(err),
311
295
  });
312
296
  }
313
297
  break;
@@ -341,11 +325,11 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
341
325
  if (preparedContent === null || preparedContent.contentId !== msg.contentId) {
342
326
  return;
343
327
  }
344
- if (preparedContent.coreTextSender === null) {
328
+ if (preparedContent.workerTextSender === null) {
345
329
  log_1.default.error("Core", "Added text track but text track aren't enabled");
346
330
  return;
347
331
  }
348
- preparedContent.coreTextSender.onPushedTrackSuccess(msg.value.ranges);
332
+ preparedContent.workerTextSender.onPushedTrackSuccess(msg.value.ranges);
349
333
  break;
350
334
  }
351
335
  case "push-text-error" /* MainThreadMessageType.PushTextDataError */: {
@@ -353,11 +337,11 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
353
337
  if (preparedContent === null || preparedContent.contentId !== msg.contentId) {
354
338
  return;
355
339
  }
356
- if (preparedContent.coreTextSender === null) {
340
+ if (preparedContent.workerTextSender === null) {
357
341
  log_1.default.error("Core", "Added text track but text track aren't enabled");
358
342
  return;
359
343
  }
360
- preparedContent.coreTextSender.onPushedTrackError(new Error(msg.value.message));
344
+ preparedContent.workerTextSender.onPushedTrackError(new Error(msg.value.message));
361
345
  break;
362
346
  }
363
347
  case "remove-text-success" /* MainThreadMessageType.RemoveTextDataSuccess */: {
@@ -365,11 +349,11 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
365
349
  if (preparedContent === null || preparedContent.contentId !== msg.contentId) {
366
350
  return;
367
351
  }
368
- if (preparedContent.coreTextSender === null) {
352
+ if (preparedContent.workerTextSender === null) {
369
353
  log_1.default.error("Core", "Removed text track but text track aren't enabled");
370
354
  return;
371
355
  }
372
- preparedContent.coreTextSender.onRemoveSuccess(msg.value.ranges);
356
+ preparedContent.workerTextSender.onRemoveSuccess(msg.value.ranges);
373
357
  break;
374
358
  }
375
359
  case "remove-text-error" /* MainThreadMessageType.RemoveTextDataError */: {
@@ -377,19 +361,19 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
377
361
  if (preparedContent === null || preparedContent.contentId !== msg.contentId) {
378
362
  return;
379
363
  }
380
- if (preparedContent.coreTextSender === null) {
364
+ if (preparedContent.workerTextSender === null) {
381
365
  log_1.default.error("Core", "Removed text track but text track aren't enabled");
382
366
  return;
383
367
  }
384
- preparedContent.coreTextSender.onRemoveError(new Error(msg.value.message));
368
+ preparedContent.workerTextSender.onRemoveError(new Error(msg.value.message));
385
369
  break;
386
370
  }
387
371
  case "pull-segment-sink-store-infos" /* MainThreadMessageType.PullSegmentSinkStoreInfos */: {
388
- sendSegmentSinksStoreInfos(sendMessage, contentPreparer, msg.value.requestId);
372
+ sendSegmentSinksStoreInfos(contentPreparer, msg.value.requestId);
389
373
  break;
390
374
  }
391
375
  case "thumbnail-request" /* MainThreadMessageType.ThumbnailDataRequest */: {
392
- sendThumbnailData(sendMessage, contentPreparer, msg);
376
+ sendThumbnailData(contentPreparer, msg);
393
377
  break;
394
378
  }
395
379
  case "config-update" /* MainThreadMessageType.ConfigUpdate */: {
@@ -399,68 +383,48 @@ function initializeCoreEntry(setMessageReceiver, sendMessage) {
399
383
  default:
400
384
  (0, assert_1.assertUnreachable)(msg);
401
385
  }
402
- });
386
+ };
403
387
  }
404
- /**
405
- * Performs steps needed to prepare a future content to be played:
406
- * - Load its Manifest file
407
- * - Create MSE `MediaSource` for that content.
408
- * - Initialize all modules that will follow that content
409
- * - etc.
410
- * @param {Function} sendMessage - Function allowing to send messages to the
411
- * "main thread" part of the RxPlayer logic.
412
- * @param {ContentPreparer} contentPreparer
413
- * @param {Object} contentInitData - Configuration wanted for the content to
414
- * load.
415
- * @param {Object} refs - Collection of so-called "references": values
416
- * configuring playback that may be updated at any time and that the
417
- * CoreEntry should react on.
418
- */
419
- function prepareNewContent(sendMessage, contentPreparer, contentInitData, refs) {
420
- contentPreparer
421
- .initializeNewContent(sendMessage, contentInitData, {
422
- limitResolution: { video: refs.limitVideoResolution },
423
- throttleBitrate: { video: refs.throttleVideoBitrate },
424
- })
425
- .then(function (manifest) {
426
- sendMessage({
427
- type: "manifest-ready" /* CoreMessageType.ManifestReady */,
388
+ function prepareNewContent(contentPreparer, contentInitData) {
389
+ contentPreparer.initializeNewContent(contentInitData).then(function (manifest) {
390
+ (0, send_message_1.default)({
391
+ type: "manifest-ready" /* WorkerMessageType.ManifestReady */,
428
392
  contentId: contentInitData.contentId,
429
393
  value: { manifest: manifest },
430
394
  });
431
395
  }, function (err) {
432
- sendMessage({
433
- type: "error" /* CoreMessageType.Error */,
396
+ (0, send_message_1.default)({
397
+ type: "error" /* WorkerMessageType.Error */,
434
398
  contentId: contentInitData.contentId,
435
- value: (0, utils_1.formatErrorForSender)(err),
399
+ value: (0, send_message_1.formatErrorForSender)(err),
436
400
  });
437
401
  });
438
402
  }
439
- function updateCoreReference(msg, refs) {
403
+ function updateGlobalReference(msg) {
440
404
  switch (msg.value.name) {
441
405
  case "wantedBufferAhead":
442
- refs.wantedBufferAhead.setValueIfChanged(msg.value.newVal);
406
+ globals_1.wantedBufferAhead.setValueIfChanged(msg.value.newVal);
443
407
  break;
444
408
  case "maxVideoBufferSize":
445
- refs.maxVideoBufferSize.setValueIfChanged(msg.value.newVal);
409
+ globals_1.maxVideoBufferSize.setValueIfChanged(msg.value.newVal);
446
410
  break;
447
411
  case "maxBufferBehind":
448
- refs.maxBufferBehind.setValueIfChanged(msg.value.newVal);
412
+ globals_1.maxBufferBehind.setValueIfChanged(msg.value.newVal);
449
413
  break;
450
414
  case "maxBufferAhead":
451
- refs.maxBufferAhead.setValueIfChanged(msg.value.newVal);
415
+ globals_1.maxBufferAhead.setValueIfChanged(msg.value.newVal);
452
416
  break;
453
417
  case "limitVideoResolution":
454
- refs.limitVideoResolution.setValueIfChanged(msg.value.newVal);
418
+ globals_1.limitVideoResolution.setValueIfChanged(msg.value.newVal);
455
419
  break;
456
420
  case "throttleVideoBitrate":
457
- refs.throttleVideoBitrate.setValueIfChanged(msg.value.newVal);
421
+ globals_1.throttleVideoBitrate.setValueIfChanged(msg.value.newVal);
458
422
  break;
459
423
  default:
460
424
  (0, assert_1.assertUnreachable)(msg.value);
461
425
  }
462
426
  }
463
- function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservationRef, refs) {
427
+ function loadPreparedContent(val, contentPreparer, playbackObservationRef) {
464
428
  log_1.default.debug("Core", "Loading pepared content.");
465
429
  var contentCanceller = new task_canceller_1.default();
466
430
  var currentLoadCanceller = null;
@@ -479,7 +443,7 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
479
443
  currentLoadCanceller = new task_canceller_1.default();
480
444
  currentLoadCanceller.linkToSignal(contentCanceller.signal);
481
445
  /**
482
- * Stores last discontinuity update sent to the Core for each Period and type
446
+ * Stores last discontinuity update sent to the worker for each Period and type
483
447
  * combinations, at least until the corresponding `PeriodStreamCleared`
484
448
  * message.
485
449
  *
@@ -490,10 +454,10 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
490
454
  var preparedContent = contentPreparer.getCurrentContent();
491
455
  if (preparedContent === null || preparedContent.manifest === null) {
492
456
  var error = new errors_1.OtherError("NONE", "Loading content when none is prepared");
493
- sendMessage({
494
- type: "error" /* CoreMessageType.Error */,
457
+ (0, send_message_1.default)({
458
+ type: "error" /* WorkerMessageType.Error */,
495
459
  contentId: undefined,
496
- value: (0, utils_1.formatErrorForSender)(error),
460
+ value: (0, send_message_1.formatErrorForSender)(error),
497
461
  });
498
462
  throw error;
499
463
  }
@@ -503,7 +467,7 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
503
467
  (0, synchronize_sinks_on_observation_1.default)(observation, segmentSinksStore);
504
468
  var freezeResolution = preparedContent.freezeResolver.onNewObservation(observation);
505
469
  if (freezeResolution !== null) {
506
- handleFreezeResolution(sendMessage, freezeResolution, {
470
+ handleFreezeResolution(freezeResolution, {
507
471
  contentId: contentId,
508
472
  manifest: manifest,
509
473
  handleMediaSourceReload: performMediaSourceReload,
@@ -514,39 +478,39 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
514
478
  var initialPeriod = (_a = manifest.getPeriodForTime(startTime)) !== null && _a !== void 0 ? _a : manifest.getNextPeriod(startTime);
515
479
  if (initialPeriod === undefined) {
516
480
  var error = new errors_1.MediaError("MEDIA_STARTING_TIME_NOT_FOUND", "Wanted starting time not found in the Manifest.");
517
- sendMessage({
518
- type: "error" /* CoreMessageType.Error */,
481
+ (0, send_message_1.default)({
482
+ type: "error" /* WorkerMessageType.Error */,
519
483
  contentId: contentId,
520
- value: (0, utils_1.formatErrorForSender)(error),
484
+ value: (0, send_message_1.formatErrorForSender)(error),
521
485
  });
522
486
  throw error;
523
487
  }
524
- var playbackObserver = new core_playback_observer_1.default(playbackObservationRef, contentId, sendMessage, currentLoadCanceller.signal);
488
+ var playbackObserver = new worker_playback_observer_1.default(playbackObservationRef, contentId, send_message_1.default, currentLoadCanceller.signal);
525
489
  cmcdDataBuilder === null || cmcdDataBuilder === void 0 ? void 0 : cmcdDataBuilder.startMonitoringPlayback(playbackObserver);
526
490
  currentLoadCanceller.signal.register(function () {
527
491
  cmcdDataBuilder === null || cmcdDataBuilder === void 0 ? void 0 : cmcdDataBuilder.stopMonitoringPlayback();
528
492
  });
529
493
  var contentTimeBoundariesObserver = (0, create_content_time_boundaries_observer_1.default)(manifest, mediaSource, playbackObserver, segmentSinksStore, {
530
494
  onWarning: function (err) {
531
- return sendMessage({
532
- type: "warning" /* CoreMessageType.Warning */,
495
+ return (0, send_message_1.default)({
496
+ type: "warning" /* WorkerMessageType.Warning */,
533
497
  contentId: contentId,
534
- value: (0, utils_1.formatErrorForSender)(err),
498
+ value: (0, send_message_1.formatErrorForSender)(err),
535
499
  });
536
500
  },
537
501
  onPeriodChanged: function (period) {
538
- sendMessage({
539
- type: "active-period-changed" /* CoreMessageType.ActivePeriodChanged */,
502
+ (0, send_message_1.default)({
503
+ type: "active-period-changed" /* WorkerMessageType.ActivePeriodChanged */,
540
504
  contentId: contentId,
541
505
  value: { periodId: period.id },
542
506
  });
543
507
  },
544
508
  }, currentLoadCanceller.signal);
545
509
  (0, stream_1.default)({ initialPeriod: initialPeriod, manifest: manifest }, playbackObserver, representationEstimator, segmentSinksStore, segmentQueueCreator, {
546
- wantedBufferAhead: refs.wantedBufferAhead,
547
- maxVideoBufferSize: refs.maxVideoBufferSize,
548
- maxBufferAhead: refs.maxBufferAhead,
549
- maxBufferBehind: refs.maxBufferBehind,
510
+ wantedBufferAhead: globals_1.wantedBufferAhead,
511
+ maxVideoBufferSize: globals_1.maxVideoBufferSize,
512
+ maxBufferAhead: globals_1.maxBufferAhead,
513
+ maxBufferBehind: globals_1.maxBufferBehind,
550
514
  drmSystemId: drmSystemId,
551
515
  enableFastSwitching: enableFastSwitching,
552
516
  onCodecSwitch: onCodecSwitch,
@@ -559,8 +523,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
559
523
  function handleStreamOrchestratorCallbacks() {
560
524
  return {
561
525
  needsBufferFlush: function (payload) {
562
- sendMessage({
563
- type: "needs-buffer-flush" /* CoreMessageType.NeedsBufferFlush */,
526
+ (0, send_message_1.default)({
527
+ type: "needs-buffer-flush" /* WorkerMessageType.NeedsBufferFlush */,
564
528
  contentId: contentId,
565
529
  value: payload,
566
530
  });
@@ -596,8 +560,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
596
560
  });
597
561
  },
598
562
  lockedStream: function (payload) {
599
- sendMessage({
600
- type: "locked-stream" /* CoreMessageType.LockedStream */,
563
+ (0, send_message_1.default)({
564
+ type: "locked-stream" /* WorkerMessageType.LockedStream */,
601
565
  contentId: contentId,
602
566
  value: {
603
567
  periodId: payload.period.id,
@@ -612,8 +576,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
612
576
  currentLoadCanceller.signal.isCancelled()) {
613
577
  return;
614
578
  }
615
- sendMessage({
616
- type: "adaptation-changed" /* CoreMessageType.AdaptationChanged */,
579
+ (0, send_message_1.default)({
580
+ type: "adaptation-changed" /* WorkerMessageType.AdaptationChanged */,
617
581
  contentId: contentId,
618
582
  value: {
619
583
  adaptationId: (_b = (_a = value.adaptation) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null,
@@ -629,8 +593,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
629
593
  currentLoadCanceller.signal.isCancelled()) {
630
594
  return;
631
595
  }
632
- sendMessage({
633
- type: "representation-changed" /* CoreMessageType.RepresentationChanged */,
596
+ (0, send_message_1.default)({
597
+ type: "representation-changed" /* WorkerMessageType.RepresentationChanged */,
634
598
  contentId: contentId,
635
599
  value: {
636
600
  adaptationId: value.adaptation.id,
@@ -641,17 +605,17 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
641
605
  });
642
606
  },
643
607
  inbandEvent: function (value) {
644
- sendMessage({
645
- type: "inband-event" /* CoreMessageType.InbandEvent */,
608
+ (0, send_message_1.default)({
609
+ type: "inband-event" /* WorkerMessageType.InbandEvent */,
646
610
  contentId: contentId,
647
611
  value: value,
648
612
  });
649
613
  },
650
614
  warning: function (value) {
651
- sendMessage({
652
- type: "warning" /* CoreMessageType.Warning */,
615
+ (0, send_message_1.default)({
616
+ type: "warning" /* WorkerMessageType.Warning */,
653
617
  contentId: contentId,
654
- value: (0, utils_1.formatErrorForSender)(value),
618
+ value: (0, send_message_1.formatErrorForSender)(value),
655
619
  });
656
620
  },
657
621
  periodStreamReady: function (value) {
@@ -659,8 +623,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
659
623
  return;
660
624
  }
661
625
  preparedContent.trackChoiceSetter.addTrackSetter(value.period.id, value.type, value.adaptationRef);
662
- sendMessage({
663
- type: "period-stream-ready" /* CoreMessageType.PeriodStreamReady */,
626
+ (0, send_message_1.default)({
627
+ type: "period-stream-ready" /* WorkerMessageType.PeriodStreamReady */,
664
628
  contentId: contentId,
665
629
  value: { periodId: value.period.id, bufferType: value.type },
666
630
  });
@@ -678,8 +642,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
678
642
  }
679
643
  contentTimeBoundariesObserver.onPeriodCleared(value.type, value.period);
680
644
  preparedContent.trackChoiceSetter.removeTrackSetter(value.period.id, value.type);
681
- sendMessage({
682
- type: "period-stream-cleared" /* CoreMessageType.PeriodStreamCleared */,
645
+ (0, send_message_1.default)({
646
+ type: "period-stream-cleared" /* WorkerMessageType.PeriodStreamCleared */,
683
647
  contentId: contentId,
684
648
  value: { periodId: value.period.id, bufferType: value.type },
685
649
  });
@@ -692,8 +656,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
692
656
  // TODO for low-latency contents it is __VERY__ frequent.
693
657
  // Considering this is only for an unimportant undocumented API, we may
694
658
  // throttle such messages. (e.g. max one per 2 seconds for each type?).
695
- sendMessage({
696
- type: "bitrate-estimate-change" /* CoreMessageType.BitrateEstimateChange */,
659
+ (0, send_message_1.default)({
660
+ type: "bitrate-estimate-change" /* WorkerMessageType.BitrateEstimateChange */,
697
661
  contentId: contentId,
698
662
  value: {
699
663
  bitrate: payload.bitrate,
@@ -705,8 +669,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
705
669
  performMediaSourceReload(payload);
706
670
  },
707
671
  needsDecipherabilityFlush: function () {
708
- sendMessage({
709
- type: "needs-decipherability-flush" /* CoreMessageType.NeedsDecipherabilityFlush */,
672
+ (0, send_message_1.default)({
673
+ type: "needs-decipherability-flush" /* WorkerMessageType.NeedsDecipherabilityFlush */,
710
674
  contentId: contentId,
711
675
  value: null,
712
676
  });
@@ -730,8 +694,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
730
694
  if (content.representation instanceof classes_1.Representation) {
731
695
  content.representation = content.representation.getMetadataSnapshot();
732
696
  }
733
- sendMessage({
734
- type: "encryption-data-encountered" /* CoreMessageType.EncryptionDataEncountered */,
697
+ (0, send_message_1.default)({
698
+ type: "encryption-data-encountered" /* WorkerMessageType.EncryptionDataEncountered */,
735
699
  contentId: contentId,
736
700
  value: {
737
701
  keyIds: value.keyIds,
@@ -751,10 +715,10 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
751
715
  }
752
716
  },
753
717
  error: function (error) {
754
- sendMessage({
755
- type: "error" /* CoreMessageType.Error */,
718
+ (0, send_message_1.default)({
719
+ type: "error" /* WorkerMessageType.Error */,
756
720
  contentId: contentId,
757
- value: (0, utils_1.formatErrorForSender)(error),
721
+ value: (0, send_message_1.formatErrorForSender)(error),
758
722
  });
759
723
  },
760
724
  };
@@ -786,8 +750,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
786
750
  position: value.position,
787
751
  };
788
752
  periodMap.set(value.bufferType, msgObj);
789
- sendMessage({
790
- type: "discontinuity-update" /* CoreMessageType.DiscontinuityUpdate */,
753
+ (0, send_message_1.default)({
754
+ type: "discontinuity-update" /* WorkerMessageType.DiscontinuityUpdate */,
791
755
  contentId: contentId,
792
756
  value: msgObj,
793
757
  });
@@ -809,8 +773,8 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
809
773
  minimumPosition: payload.minimumPosition,
810
774
  maximumPosition: payload.maximumPosition,
811
775
  });
812
- sendMessage({
813
- type: "reloading-media-source" /* CoreMessageType.ReloadingMediaSource */,
776
+ (0, send_message_1.default)({
777
+ type: "reloading-media-source" /* WorkerMessageType.ReloadingMediaSource */,
814
778
  mediaSourceId: mediaSourceId,
815
779
  value: payload,
816
780
  }, []);
@@ -826,7 +790,7 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
826
790
  currentLoadCanceller = null;
827
791
  }
828
792
  var contentId = (_a = contentPreparer.getCurrentContent()) === null || _a === void 0 ? void 0 : _a.contentId;
829
- contentPreparer.reloadMediaSource(sendMessage).then(function () {
793
+ contentPreparer.reloadMediaSource().then(function () {
830
794
  log_1.default.info("Core", "MediaSource Reloaded, loading content again", {
831
795
  newInitialTime: newInitialTime,
832
796
  });
@@ -836,10 +800,10 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
836
800
  log_1.default.info("Core", "A reloading operation was cancelled");
837
801
  return;
838
802
  }
839
- sendMessage({
840
- type: "error" /* CoreMessageType.Error */,
803
+ (0, send_message_1.default)({
804
+ type: "error" /* WorkerMessageType.Error */,
841
805
  contentId: contentId,
842
- value: (0, utils_1.formatErrorForSender)(err),
806
+ value: (0, send_message_1.formatErrorForSender)(err),
843
807
  });
844
808
  });
845
809
  }
@@ -854,13 +818,13 @@ function updateLoggerLevel(logLevel, logFormat, sendBackLogs) {
854
818
  log_1.default.setLevel(logLevel, "standard", function (levelStr, namespace, logs) {
855
819
  var sentLogs = logs.map(function (e) {
856
820
  if (e instanceof Error) {
857
- return (0, utils_1.formatErrorForSender)(e);
821
+ return (0, send_message_1.formatErrorForSender)(e);
858
822
  }
859
823
  return e;
860
824
  });
861
825
  // Not relying on `sendMessage` as it also logs
862
826
  postMessage({
863
- type: "log" /* CoreMessageType.LogMessage */,
827
+ type: "log" /* WorkerMessageType.LogMessage */,
864
828
  value: {
865
829
  namespace: namespace,
866
830
  logLevel: levelStr,
@@ -873,26 +837,23 @@ function updateLoggerLevel(logLevel, logFormat, sendBackLogs) {
873
837
  /**
874
838
  * Send a message `SegmentSinkStoreUpdate` to the main thread with
875
839
  * a serialized object that represents the segmentSinksStore state.
876
- * @param {Function} sendMessage - Function allowing to send messages to the
877
- * "main thread" part of the RxPlayer logic.
878
840
  * @param {ContentPreparer} contentPreparer
841
+ * @returns {void}
879
842
  */
880
- function sendSegmentSinksStoreInfos(sendMessage, contentPreparer, requestId) {
843
+ function sendSegmentSinksStoreInfos(contentPreparer, requestId) {
881
844
  var currentContent = contentPreparer.getCurrentContent();
882
845
  if (currentContent === null) {
883
846
  return;
884
847
  }
885
848
  var segmentSinksMetrics = currentContent.segmentSinksStore.getSegmentSinksMetrics();
886
- sendMessage({
887
- type: "segment-sink-store-update" /* CoreMessageType.SegmentSinkStoreUpdate */,
849
+ (0, send_message_1.default)({
850
+ type: "segment-sink-store-update" /* WorkerMessageType.SegmentSinkStoreUpdate */,
888
851
  contentId: currentContent.contentId,
889
852
  value: { segmentSinkMetrics: segmentSinksMetrics, requestId: requestId },
890
853
  });
891
854
  }
892
855
  /**
893
856
  * Handle accordingly an `IFreezeResolution` object.
894
- * @param {Function} sendMessage - Function allowing to send messages to the
895
- * "main thread" part of the RxPlayer logic.
896
857
  * @param {Object|null} freezeResolution - The `IFreezeResolution` suggested.
897
858
  * @param {Object} param - Parameters that might be needed to implement the
898
859
  * resolution.
@@ -905,7 +866,7 @@ function sendSegmentSinksStoreInfos(sendMessage, contentPreparer, requestId) {
905
866
  * function is authorized to mark `Representation` as "to avoid" if the
906
867
  * `IFreezeResolution` object suggest it.
907
868
  */
908
- function handleFreezeResolution(sendMessage, freezeResolution, _a) {
869
+ function handleFreezeResolution(freezeResolution, _a) {
909
870
  var contentId = _a.contentId, manifest = _a.manifest, handleMediaSourceReload = _a.handleMediaSourceReload, enableRepresentationAvoidance = _a.enableRepresentationAvoidance;
910
871
  switch (freezeResolution.type) {
911
872
  case "reload": {
@@ -919,8 +880,8 @@ function handleFreezeResolution(sendMessage, freezeResolution, _a) {
919
880
  }
920
881
  case "flush": {
921
882
  log_1.default.info("Core", "Flushing buffer due to freeze");
922
- sendMessage({
923
- type: "needs-buffer-flush" /* CoreMessageType.NeedsBufferFlush */,
883
+ (0, send_message_1.default)({
884
+ type: "needs-buffer-flush" /* WorkerMessageType.NeedsBufferFlush */,
924
885
  contentId: contentId,
925
886
  value: {
926
887
  relativeResumingPosition: freezeResolution.value.relativeSeek,
@@ -951,16 +912,16 @@ function handleFreezeResolution(sendMessage, freezeResolution, _a) {
951
912
  * @param {ContentPreparer} contentPreparer
952
913
  * @returns {void}
953
914
  */
954
- function sendThumbnailData(sendMessage, contentPreparer, msg) {
915
+ function sendThumbnailData(contentPreparer, msg) {
955
916
  var preparedContent = contentPreparer.getCurrentContent();
956
917
  var respondWithError = function (err) {
957
- sendMessage({
958
- type: "thumbnail-response" /* CoreMessageType.ThumbnailDataResponse */,
918
+ (0, send_message_1.default)({
919
+ type: "thumbnail-response" /* WorkerMessageType.ThumbnailDataResponse */,
959
920
  contentId: msg.contentId,
960
921
  value: {
961
922
  status: "error",
962
923
  requestId: msg.value.requestId,
963
- error: (0, utils_1.formatErrorForSender)(err),
924
+ error: (0, send_message_1.formatErrorForSender)(err),
964
925
  },
965
926
  });
966
927
  };
@@ -970,8 +931,8 @@ function sendThumbnailData(sendMessage, contentPreparer, msg) {
970
931
  return respondWithError(new Error("Content changed"));
971
932
  }
972
933
  (0, get_thumbnail_data_1.default)(preparedContent.fetchThumbnailData, preparedContent.manifest, msg.value.periodId, msg.value.thumbnailTrackId, msg.value.time).then(function (result) {
973
- sendMessage({
974
- type: "thumbnail-response" /* CoreMessageType.ThumbnailDataResponse */,
934
+ (0, send_message_1.default)({
935
+ type: "thumbnail-response" /* WorkerMessageType.ThumbnailDataResponse */,
975
936
  contentId: msg.contentId,
976
937
  value: {
977
938
  status: "success",