@remotion/renderer 4.0.0-alpha.4 → 4.0.0-audio-mixing.4

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 (554) hide show
  1. package/LICENSE.md +8 -8
  2. package/README.md +47 -0
  3. package/client.d.ts +1 -0
  4. package/client.js +1 -0
  5. package/dist/assets/calculate-asset-positions.d.ts +0 -0
  6. package/dist/assets/calculate-asset-positions.js +1 -0
  7. package/dist/assets/calculate-atempo.d.ts +0 -0
  8. package/dist/assets/calculate-atempo.js +0 -0
  9. package/dist/assets/convert-assets-to-file-urls.d.ts +0 -0
  10. package/dist/assets/convert-assets-to-file-urls.js +0 -0
  11. package/dist/assets/download-and-map-assets-to-file.d.ts +2 -1
  12. package/dist/assets/download-and-map-assets-to-file.js +54 -11
  13. package/dist/assets/download-file.d.ts +7 -5
  14. package/dist/assets/download-file.js +49 -6
  15. package/dist/assets/download-map.d.ts +8 -3
  16. package/dist/assets/download-map.js +8 -4
  17. package/dist/assets/ffmpeg-volume-expression.d.ts +2 -1
  18. package/dist/assets/ffmpeg-volume-expression.js +5 -3
  19. package/dist/assets/flatten-volume-array.d.ts +0 -0
  20. package/dist/assets/flatten-volume-array.js +0 -0
  21. package/dist/assets/get-audio-channels.d.ts +1 -1
  22. package/dist/assets/get-audio-channels.js +5 -4
  23. package/dist/assets/get-video-stream-duration.d.ts +7 -1
  24. package/dist/assets/get-video-stream-duration.js +50 -14
  25. package/dist/assets/read-file.d.ts +0 -0
  26. package/dist/assets/read-file.js +2 -4
  27. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
  28. package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
  29. package/dist/assets/sanitize-filename.d.ts +0 -0
  30. package/dist/assets/sanitize-filename.js +0 -0
  31. package/dist/assets/sanitize-filepath.d.ts +0 -0
  32. package/dist/assets/sanitize-filepath.js +0 -0
  33. package/dist/assets/truncate-utf8-bytes.d.ts +0 -0
  34. package/dist/assets/truncate-utf8-bytes.js +0 -0
  35. package/dist/assets/types.d.ts +1 -0
  36. package/dist/assets/types.js +0 -0
  37. package/dist/audio-codec.d.ts +27 -0
  38. package/dist/audio-codec.js +89 -0
  39. package/dist/browser/Browser.d.ts +4 -2
  40. package/dist/browser/Browser.js +15 -12
  41. package/dist/browser/BrowserConnector.d.ts +0 -0
  42. package/dist/browser/BrowserConnector.js +0 -0
  43. package/dist/browser/BrowserFetcher.d.ts +1 -0
  44. package/dist/browser/BrowserFetcher.js +24 -21
  45. package/dist/browser/BrowserPage.d.ts +8 -2
  46. package/dist/browser/BrowserPage.js +8 -11
  47. package/dist/browser/BrowserRunner.d.ts +1 -4
  48. package/dist/browser/BrowserRunner.js +30 -73
  49. package/dist/browser/Connection.d.ts +0 -0
  50. package/dist/browser/Connection.js +1 -1
  51. package/dist/browser/ConsoleMessage.d.ts +0 -0
  52. package/dist/browser/ConsoleMessage.js +0 -0
  53. package/dist/browser/DOMWorld.d.ts +2 -1
  54. package/dist/browser/DOMWorld.js +8 -1
  55. package/dist/browser/Errors.d.ts +0 -0
  56. package/dist/browser/Errors.js +0 -0
  57. package/dist/browser/EvalTypes.d.ts +0 -0
  58. package/dist/browser/EvalTypes.js +0 -0
  59. package/dist/browser/EventEmitter.d.ts +0 -0
  60. package/dist/browser/EventEmitter.js +0 -0
  61. package/dist/browser/ExecutionContext.d.ts +0 -0
  62. package/dist/browser/ExecutionContext.js +0 -0
  63. package/dist/browser/FrameManager.d.ts +0 -2
  64. package/dist/browser/FrameManager.js +0 -3
  65. package/dist/browser/HTTPRequest.d.ts +0 -0
  66. package/dist/browser/HTTPRequest.js +0 -0
  67. package/dist/browser/HTTPResponse.d.ts +0 -0
  68. package/dist/browser/HTTPResponse.js +0 -0
  69. package/dist/browser/JSHandle.d.ts +0 -0
  70. package/dist/browser/JSHandle.js +0 -0
  71. package/dist/browser/LaunchOptions.d.ts +0 -4
  72. package/dist/browser/LaunchOptions.js +0 -0
  73. package/dist/browser/Launcher.d.ts +7 -1
  74. package/dist/browser/Launcher.js +10 -368
  75. package/dist/browser/LifecycleWatcher.d.ts +0 -0
  76. package/dist/browser/LifecycleWatcher.js +0 -0
  77. package/dist/browser/NetworkEventManager.d.ts +0 -0
  78. package/dist/browser/NetworkEventManager.js +0 -0
  79. package/dist/browser/NetworkManager.d.ts +0 -0
  80. package/dist/browser/NetworkManager.js +0 -0
  81. package/dist/browser/NodeWebSocketTransport.d.ts +0 -0
  82. package/dist/browser/NodeWebSocketTransport.js +1 -1
  83. package/dist/browser/Product.d.ts +0 -0
  84. package/dist/browser/Product.js +0 -0
  85. package/dist/browser/PuppeteerNode.d.ts +0 -0
  86. package/dist/browser/PuppeteerNode.js +2 -9
  87. package/dist/browser/PuppeteerViewport.d.ts +0 -0
  88. package/dist/browser/PuppeteerViewport.js +0 -0
  89. package/dist/browser/ScreenshotOptions.d.ts +0 -14
  90. package/dist/browser/ScreenshotOptions.js +0 -1
  91. package/dist/browser/Target.d.ts +0 -0
  92. package/dist/browser/Target.js +0 -0
  93. package/dist/browser/TaskQueue.d.ts +0 -0
  94. package/dist/browser/TaskQueue.js +0 -0
  95. package/dist/browser/TimeoutSettings.d.ts +0 -0
  96. package/dist/browser/TimeoutSettings.js +0 -0
  97. package/dist/browser/assert.d.ts +0 -0
  98. package/dist/browser/assert.js +0 -0
  99. package/dist/browser/create-browser-fetcher.d.ts +0 -0
  100. package/dist/browser/create-browser-fetcher.js +2 -44
  101. package/dist/browser/devtools-commands.d.ts +0 -0
  102. package/dist/browser/devtools-commands.js +0 -0
  103. package/dist/browser/devtools-types.d.ts +4 -0
  104. package/dist/browser/devtools-types.js +0 -0
  105. package/dist/browser/get-download-destination.d.ts +0 -0
  106. package/dist/browser/get-download-destination.js +0 -0
  107. package/dist/browser/mitt/index.d.ts +0 -0
  108. package/dist/browser/mitt/index.js +0 -0
  109. package/dist/browser/node.d.ts +0 -0
  110. package/dist/browser/node.js +0 -0
  111. package/dist/browser/revisions.d.ts +0 -1
  112. package/dist/browser/revisions.js +0 -1
  113. package/dist/browser/util.d.ts +0 -0
  114. package/dist/browser/util.js +0 -0
  115. package/dist/browser-executable.d.ts +0 -0
  116. package/dist/browser-executable.js +0 -0
  117. package/dist/browser-log.d.ts +0 -0
  118. package/dist/browser-log.js +0 -0
  119. package/dist/browser.d.ts +0 -0
  120. package/dist/browser.js +0 -0
  121. package/dist/calculate-ffmpeg-filters.d.ts +0 -0
  122. package/dist/calculate-ffmpeg-filters.js +1 -0
  123. package/dist/calculate-sar-dar-pixels.d.ts +0 -0
  124. package/dist/calculate-sar-dar-pixels.js +0 -0
  125. package/dist/can-use-parallel-encoding.d.ts +0 -0
  126. package/dist/can-use-parallel-encoding.js +0 -0
  127. package/dist/check-apple-silicon.d.ts +1 -0
  128. package/dist/check-apple-silicon.js +55 -0
  129. package/dist/chunk.d.ts +0 -0
  130. package/dist/chunk.js +0 -0
  131. package/dist/client.d.ts +179 -0
  132. package/dist/client.js +23 -0
  133. package/dist/codec-supports-media.d.ts +1 -0
  134. package/dist/codec-supports-media.js +8 -1
  135. package/dist/codec.d.ts +0 -0
  136. package/dist/codec.js +0 -0
  137. package/dist/combine-videos.d.ts +9 -2
  138. package/dist/combine-videos.js +12 -8
  139. package/dist/compositor/compose.d.ts +13 -0
  140. package/dist/compositor/compose.js +47 -0
  141. package/dist/compositor/get-executable-path.d.ts +1 -0
  142. package/dist/compositor/get-executable-path.js +47 -0
  143. package/dist/compositor/payloads.d.ts +41 -0
  144. package/dist/compositor/payloads.js +2 -0
  145. package/dist/compress-assets.d.ts +0 -0
  146. package/dist/compress-assets.js +0 -0
  147. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +0 -0
  148. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +0 -0
  149. package/dist/convert-to-pcm.d.ts +2 -1
  150. package/dist/convert-to-pcm.js +3 -2
  151. package/dist/convert-to-positive-frame-index.d.ts +4 -0
  152. package/dist/convert-to-positive-frame-index.js +8 -0
  153. package/dist/create-ffmpeg-complex-filter.d.ts +1 -4
  154. package/dist/create-ffmpeg-complex-filter.js +0 -0
  155. package/dist/create-ffmpeg-merge-filter.d.ts +0 -0
  156. package/dist/create-ffmpeg-merge-filter.js +1 -12
  157. package/dist/create-silent-audio.d.ts +2 -1
  158. package/dist/create-silent-audio.js +3 -2
  159. package/dist/crf.d.ts +5 -1
  160. package/dist/crf.js +33 -6
  161. package/dist/cycle-browser-tabs.d.ts +2 -5
  162. package/dist/cycle-browser-tabs.js +5 -5
  163. package/dist/delay-render-embedded-stack.d.ts +0 -0
  164. package/dist/delay-render-embedded-stack.js +0 -0
  165. package/dist/delete-directory.d.ts +1 -1
  166. package/dist/delete-directory.js +31 -5
  167. package/dist/determine-resize-params.d.ts +1 -0
  168. package/dist/determine-resize-params.js +10 -0
  169. package/dist/determine-vcodec-ffmpeg-flags.d.ts +2 -0
  170. package/dist/determine-vcodec-ffmpeg-flags.js +13 -0
  171. package/dist/ensure-ffmpeg.d.ts +18 -0
  172. package/dist/ensure-ffmpeg.js +58 -0
  173. package/dist/ensure-frames-in-order.d.ts +0 -0
  174. package/dist/ensure-frames-in-order.js +0 -0
  175. package/dist/ensure-output-directory.d.ts +0 -0
  176. package/dist/ensure-output-directory.js +0 -0
  177. package/dist/ensure-presentation-timestamp.d.ts +14 -1
  178. package/dist/ensure-presentation-timestamp.js +36 -17
  179. package/dist/error-handling/handle-javascript-exception.d.ts +0 -0
  180. package/dist/error-handling/handle-javascript-exception.js +10 -0
  181. package/dist/error-handling/symbolicate-error.d.ts +0 -0
  182. package/dist/error-handling/symbolicate-error.js +2 -1
  183. package/dist/error-handling/symbolicateable-error.d.ts +0 -0
  184. package/dist/error-handling/symbolicateable-error.js +0 -0
  185. package/dist/extract-frame-from-video.d.ts +2 -0
  186. package/dist/extract-frame-from-video.js +47 -110
  187. package/dist/ffmpeg-executable.d.ts +0 -0
  188. package/dist/ffmpeg-executable.js +0 -0
  189. package/dist/ffmpeg-filter-file.d.ts +0 -0
  190. package/dist/ffmpeg-filter-file.js +0 -0
  191. package/dist/ffmpeg-flags.d.ts +20 -2
  192. package/dist/ffmpeg-flags.js +205 -9
  193. package/dist/ffmpeg-override.d.ts +4 -0
  194. package/dist/ffmpeg-override.js +2 -0
  195. package/dist/file-extensions.d.ts +25 -0
  196. package/dist/file-extensions.js +88 -0
  197. package/dist/find-closest-package-json.d.ts +2 -0
  198. package/dist/find-closest-package-json.js +31 -0
  199. package/dist/frame-range.d.ts +0 -0
  200. package/dist/frame-range.js +0 -0
  201. package/dist/frame-to-ffmpeg-timestamp.d.ts +0 -0
  202. package/dist/frame-to-ffmpeg-timestamp.js +0 -0
  203. package/dist/get-browser-instance.d.ts +0 -0
  204. package/dist/get-browser-instance.js +1 -1
  205. package/dist/get-can-extract-frames-fast.d.ts +14 -0
  206. package/dist/get-can-extract-frames-fast.js +71 -0
  207. package/dist/get-codec-name.d.ts +0 -0
  208. package/dist/get-codec-name.js +0 -0
  209. package/dist/get-compositions.d.ts +4 -0
  210. package/dist/get-compositions.js +26 -7
  211. package/dist/get-concurrency.d.ts +1 -1
  212. package/dist/get-concurrency.js +8 -1
  213. package/dist/get-duration-from-frame-range.d.ts +0 -0
  214. package/dist/get-duration-from-frame-range.js +0 -0
  215. package/dist/get-extension-from-codec.d.ts +5 -1
  216. package/dist/get-extension-from-codec.js +56 -32
  217. package/dist/get-extension-of-filename.d.ts +0 -0
  218. package/dist/get-extension-of-filename.js +5 -1
  219. package/dist/get-frame-of-video-slow.d.ts +15 -0
  220. package/dist/get-frame-of-video-slow.js +72 -0
  221. package/dist/get-frame-padded-index.d.ts +1 -1
  222. package/dist/get-frame-padded-index.js +3 -2
  223. package/dist/get-frame-to-render.d.ts +0 -0
  224. package/dist/get-frame-to-render.js +0 -0
  225. package/dist/get-local-browser-executable.d.ts +0 -0
  226. package/dist/get-local-browser-executable.js +1 -3
  227. package/dist/get-port.d.ts +4 -1
  228. package/dist/get-port.js +8 -8
  229. package/dist/get-prores-profile-name.d.ts +0 -0
  230. package/dist/get-prores-profile-name.js +0 -0
  231. package/dist/get-video-info.d.ts +6 -1
  232. package/dist/get-video-info.js +19 -9
  233. package/dist/get-video-threads-flag.d.ts +0 -0
  234. package/dist/get-video-threads-flag.js +0 -0
  235. package/dist/guess-extension-for-media.d.ts +5 -1
  236. package/dist/guess-extension-for-media.js +4 -3
  237. package/dist/image-format.d.ts +1 -1
  238. package/dist/image-format.js +3 -0
  239. package/dist/index.d.ts +187 -41
  240. package/dist/index.js +31 -28
  241. package/dist/is-audio-codec.d.ts +0 -0
  242. package/dist/is-audio-codec.js +0 -0
  243. package/dist/is-beyond-last-frame.d.ts +0 -0
  244. package/dist/is-beyond-last-frame.js +0 -0
  245. package/dist/is-serve-url.d.ts +0 -0
  246. package/dist/is-serve-url.js +0 -0
  247. package/dist/last-frame-from-video-cache.d.ts +2 -0
  248. package/dist/last-frame-from-video-cache.js +0 -0
  249. package/dist/legacy-webpack-config.d.ts +0 -0
  250. package/dist/legacy-webpack-config.js +0 -0
  251. package/dist/locks.d.ts +7 -0
  252. package/dist/locks.js +44 -0
  253. package/dist/log-level.d.ts +0 -0
  254. package/dist/log-level.js +0 -0
  255. package/dist/make-cancel-signal.d.ts +11 -0
  256. package/dist/make-cancel-signal.js +24 -1
  257. package/dist/merge-audio-track.d.ts +1 -0
  258. package/dist/merge-audio-track.js +28 -18
  259. package/dist/mime-db.d.ts +0 -0
  260. package/dist/mime-db.js +0 -0
  261. package/dist/mime-types.d.ts +1 -0
  262. package/dist/mime-types.js +6 -1
  263. package/dist/normalize-serve-url.d.ts +0 -0
  264. package/dist/normalize-serve-url.js +0 -0
  265. package/dist/offthread-video-server.d.ts +2 -1
  266. package/dist/offthread-video-server.js +13 -1
  267. package/dist/open-browser.d.ts +4 -0
  268. package/dist/open-browser.js +7 -13
  269. package/dist/overwrite.d.ts +0 -0
  270. package/dist/overwrite.js +0 -0
  271. package/dist/p-limit.d.ts +0 -0
  272. package/dist/p-limit.js +0 -0
  273. package/dist/parse-browser-error-stack.d.ts +0 -0
  274. package/dist/parse-browser-error-stack.js +0 -0
  275. package/dist/parse-ffmpeg-progress.d.ts +0 -0
  276. package/dist/parse-ffmpeg-progress.js +0 -0
  277. package/dist/perf.d.ts +0 -0
  278. package/dist/perf.js +0 -0
  279. package/dist/pixel-format.d.ts +1 -1
  280. package/dist/pixel-format.js +3 -0
  281. package/dist/pool.d.ts +0 -0
  282. package/dist/pool.js +0 -0
  283. package/dist/prepare-server.d.ts +3 -2
  284. package/dist/prepare-server.js +8 -3
  285. package/dist/preprocess-audio-track.d.ts +1 -0
  286. package/dist/preprocess-audio-track.js +4 -3
  287. package/dist/prespawn-ffmpeg.d.ts +4 -1
  288. package/dist/prespawn-ffmpeg.js +17 -12
  289. package/dist/prestitcher-memory-usage.d.ts +0 -0
  290. package/dist/prestitcher-memory-usage.js +0 -0
  291. package/dist/prores-profile.d.ts +4 -1
  292. package/dist/prores-profile.js +6 -6
  293. package/dist/provide-screenshot.d.ts +5 -1
  294. package/dist/provide-screenshot.js +4 -1
  295. package/dist/puppeteer-evaluate.d.ts +0 -0
  296. package/dist/puppeteer-evaluate.js +19 -11
  297. package/dist/puppeteer-screenshot.d.ts +11 -2
  298. package/dist/puppeteer-screenshot.js +11 -14
  299. package/dist/quality.d.ts +0 -0
  300. package/dist/quality.js +0 -0
  301. package/dist/redirect-status-codes.d.ts +1 -0
  302. package/dist/redirect-status-codes.js +6 -0
  303. package/dist/render-frames.d.ts +15 -3
  304. package/dist/render-frames.js +176 -84
  305. package/dist/render-media.d.ts +38 -6
  306. package/dist/render-media.js +123 -27
  307. package/dist/render-still.d.ts +8 -4
  308. package/dist/render-still.js +62 -31
  309. package/dist/replace-browser.d.ts +6 -0
  310. package/dist/replace-browser.js +47 -0
  311. package/dist/resolve-asset-src.d.ts +0 -0
  312. package/dist/resolve-asset-src.js +0 -0
  313. package/dist/sample-rate.d.ts +0 -0
  314. package/dist/sample-rate.js +0 -0
  315. package/dist/screenshot-dom-element.d.ts +5 -1
  316. package/dist/screenshot-dom-element.js +10 -2
  317. package/dist/screenshot-task.d.ts +12 -2
  318. package/dist/screenshot-task.js +24 -9
  319. package/dist/seek-to-frame.d.ts +1 -0
  320. package/dist/seek-to-frame.js +49 -3
  321. package/dist/serve-handler/index.d.ts +0 -0
  322. package/dist/serve-handler/index.js +0 -0
  323. package/dist/serve-handler/is-path-inside.d.ts +0 -0
  324. package/dist/serve-handler/is-path-inside.js +0 -0
  325. package/dist/serve-handler/range-parser.d.ts +0 -0
  326. package/dist/serve-handler/range-parser.js +0 -0
  327. package/dist/serve-static.d.ts +1 -0
  328. package/dist/serve-static.js +77 -41
  329. package/dist/set-props-and-env.d.ts +3 -1
  330. package/dist/set-props-and-env.js +39 -15
  331. package/dist/stitch-frames-to-video.d.ts +14 -1
  332. package/dist/stitch-frames-to-video.js +118 -49
  333. package/dist/stringify-ffmpeg-filter.d.ts +2 -1
  334. package/dist/stringify-ffmpeg-filter.js +4 -2
  335. package/dist/symbolicate-stacktrace.d.ts +0 -0
  336. package/dist/symbolicate-stacktrace.js +0 -0
  337. package/dist/take-frame-and-compose.d.ts +20 -0
  338. package/dist/take-frame-and-compose.js +96 -0
  339. package/dist/tmp-dir.d.ts +0 -0
  340. package/dist/tmp-dir.js +0 -0
  341. package/dist/truthy.d.ts +0 -0
  342. package/dist/truthy.js +0 -0
  343. package/dist/try-to-extract-frame-of-video-fast.d.ts +13 -0
  344. package/dist/try-to-extract-frame-of-video-fast.js +55 -0
  345. package/dist/types.d.ts +0 -0
  346. package/dist/types.js +0 -0
  347. package/dist/validate-concurrency.d.ts +0 -0
  348. package/dist/validate-concurrency.js +14 -9
  349. package/dist/validate-even-dimensions-with-codec.d.ts +0 -0
  350. package/dist/validate-even-dimensions-with-codec.js +0 -0
  351. package/dist/validate-every-nth-frame.d.ts +2 -1
  352. package/dist/validate-every-nth-frame.js +8 -1
  353. package/dist/validate-ffmpeg-override.d.ts +2 -0
  354. package/dist/validate-ffmpeg-override.js +12 -0
  355. package/dist/validate-ffmpeg.d.ts +7 -2
  356. package/dist/validate-ffmpeg.js +48 -43
  357. package/dist/validate-number-of-gif-loops.d.ts +2 -0
  358. package/dist/validate-number-of-gif-loops.js +24 -0
  359. package/dist/validate-opengl-renderer.d.ts +0 -0
  360. package/dist/validate-opengl-renderer.js +0 -0
  361. package/dist/validate-output-filename.d.ts +7 -2
  362. package/dist/validate-output-filename.js +20 -51
  363. package/dist/validate-puppeteer-timeout.d.ts +0 -0
  364. package/dist/validate-puppeteer-timeout.js +1 -1
  365. package/dist/validate-scale.d.ts +0 -0
  366. package/dist/validate-scale.js +0 -0
  367. package/dist/validate-videobitrate.d.ts +1 -0
  368. package/dist/validate-videobitrate.js +20 -0
  369. package/dist/wait-for-symbolication-error-to-be-done.d.ts +0 -0
  370. package/dist/wait-for-symbolication-error-to-be-done.js +5 -31
  371. package/dist/warn-about-ffmpeg-version.d.ts +5 -0
  372. package/dist/warn-about-ffmpeg-version.js +37 -0
  373. package/dist/ws/ws-types.d.ts +0 -0
  374. package/dist/ws/ws-types.js +2 -1
  375. package/package.json +21 -11
  376. package/.prettierrc.js +0 -14
  377. package/dist/add-silent-audio-if-necessary.d.ts +0 -8
  378. package/dist/add-silent-audio-if-necessary.d.ts.map +0 -1
  379. package/dist/add-silent-audio-if-necessary.js +0 -51
  380. package/dist/add-silent-audio-if-necessary.js.map +0 -1
  381. package/dist/assets/asset-is-used-at-time.d.ts +0 -3
  382. package/dist/assets/asset-is-used-at-time.d.ts.map +0 -1
  383. package/dist/assets/asset-is-used-at-time.js +0 -8
  384. package/dist/assets/asset-is-used-at-time.js.map +0 -1
  385. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  386. package/dist/assets/calculate-asset-positions.js.map +0 -1
  387. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  388. package/dist/assets/calculate-atempo.js.map +0 -1
  389. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  390. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  391. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  392. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  393. package/dist/assets/download-file.d.ts.map +0 -1
  394. package/dist/assets/download-file.js.map +0 -1
  395. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  396. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  397. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  398. package/dist/assets/flatten-volume-array.js.map +0 -1
  399. package/dist/assets/get-asset-audio-details.d.ts +0 -5
  400. package/dist/assets/get-asset-audio-details.d.ts.map +0 -1
  401. package/dist/assets/get-asset-audio-details.js +0 -21
  402. package/dist/assets/get-asset-audio-details.js.map +0 -1
  403. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  404. package/dist/assets/get-audio-channels.js.map +0 -1
  405. package/dist/assets/get-simulatenous-assets.d.ts +0 -3
  406. package/dist/assets/get-simulatenous-assets.d.ts.map +0 -1
  407. package/dist/assets/get-simulatenous-assets.js +0 -14
  408. package/dist/assets/get-simulatenous-assets.js.map +0 -1
  409. package/dist/assets/read-file.d.ts.map +0 -1
  410. package/dist/assets/read-file.js.map +0 -1
  411. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  412. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  413. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  414. package/dist/assets/sanitize-filename.js.map +0 -1
  415. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  416. package/dist/assets/sanitize-filepath.js.map +0 -1
  417. package/dist/assets/split-assets-into-segments.d.ts +0 -6
  418. package/dist/assets/split-assets-into-segments.d.ts.map +0 -1
  419. package/dist/assets/split-assets-into-segments.js +0 -89
  420. package/dist/assets/split-assets-into-segments.js.map +0 -1
  421. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  422. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  423. package/dist/assets/types.d.ts.map +0 -1
  424. package/dist/assets/types.js.map +0 -1
  425. package/dist/assets-to-ffmpeg-inputs.d.ts +0 -7
  426. package/dist/assets-to-ffmpeg-inputs.d.ts.map +0 -1
  427. package/dist/assets-to-ffmpeg-inputs.js +0 -15
  428. package/dist/assets-to-ffmpeg-inputs.js.map +0 -1
  429. package/dist/browser-log.d.ts.map +0 -1
  430. package/dist/browser-log.js.map +0 -1
  431. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  432. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  433. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  434. package/dist/can-use-parallel-encoding.js.map +0 -1
  435. package/dist/combine-videos.d.ts.map +0 -1
  436. package/dist/combine-videos.js.map +0 -1
  437. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  438. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  439. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  440. package/dist/cycle-browser-tabs.js.map +0 -1
  441. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  442. package/dist/delay-render-embedded-stack.js.map +0 -1
  443. package/dist/delete-directory.d.ts.map +0 -1
  444. package/dist/delete-directory.js.map +0 -1
  445. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  446. package/dist/ensure-frames-in-order.js.map +0 -1
  447. package/dist/ensure-output-directory.d.ts.map +0 -1
  448. package/dist/ensure-output-directory.js.map +0 -1
  449. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  450. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  451. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  452. package/dist/error-handling/symbolicate-error.js.map +0 -1
  453. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  454. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  455. package/dist/ffmpeg-flags.d.ts.map +0 -1
  456. package/dist/ffmpeg-flags.js.map +0 -1
  457. package/dist/get-audio-codec-name.d.ts +0 -2
  458. package/dist/get-audio-codec-name.d.ts.map +0 -1
  459. package/dist/get-audio-codec-name.js +0 -28
  460. package/dist/get-audio-codec-name.js.map +0 -1
  461. package/dist/get-browser-instance.d.ts.map +0 -1
  462. package/dist/get-browser-instance.js.map +0 -1
  463. package/dist/get-codec-name.d.ts.map +0 -1
  464. package/dist/get-codec-name.js.map +0 -1
  465. package/dist/get-compositions.d.ts.map +0 -1
  466. package/dist/get-compositions.js.map +0 -1
  467. package/dist/get-concurrency.d.ts.map +0 -1
  468. package/dist/get-concurrency.js.map +0 -1
  469. package/dist/get-extension-from-codec.d.ts.map +0 -1
  470. package/dist/get-extension-from-codec.js.map +0 -1
  471. package/dist/get-frame-to-render.d.ts.map +0 -1
  472. package/dist/get-frame-to-render.js.map +0 -1
  473. package/dist/get-local-browser-executable.d.ts.map +0 -1
  474. package/dist/get-local-browser-executable.js.map +0 -1
  475. package/dist/get-port.d.ts.map +0 -1
  476. package/dist/get-port.js.map +0 -1
  477. package/dist/get-prores-profile-name.d.ts.map +0 -1
  478. package/dist/get-prores-profile-name.js.map +0 -1
  479. package/dist/image-format.d.ts.map +0 -1
  480. package/dist/image-format.js.map +0 -1
  481. package/dist/index.d.ts.map +0 -1
  482. package/dist/index.js.map +0 -1
  483. package/dist/is-serve-url.d.ts.map +0 -1
  484. package/dist/is-serve-url.js.map +0 -1
  485. package/dist/legacy-webpack-config.d.ts.map +0 -1
  486. package/dist/legacy-webpack-config.js.map +0 -1
  487. package/dist/make-assets-download-dir.d.ts +0 -1
  488. package/dist/make-assets-download-dir.d.ts.map +0 -1
  489. package/dist/make-assets-download-dir.js +0 -13
  490. package/dist/make-assets-download-dir.js.map +0 -1
  491. package/dist/normalize-serve-url.d.ts.map +0 -1
  492. package/dist/normalize-serve-url.js.map +0 -1
  493. package/dist/open-browser.d.ts.map +0 -1
  494. package/dist/open-browser.js.map +0 -1
  495. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  496. package/dist/parse-browser-error-stack.js.map +0 -1
  497. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  498. package/dist/parse-ffmpeg-progress.js.map +0 -1
  499. package/dist/pool.d.ts.map +0 -1
  500. package/dist/pool.js.map +0 -1
  501. package/dist/prepare-server.d.ts.map +0 -1
  502. package/dist/prepare-server.js.map +0 -1
  503. package/dist/provide-screenshot.d.ts.map +0 -1
  504. package/dist/provide-screenshot.js.map +0 -1
  505. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  506. package/dist/puppeteer-evaluate.js.map +0 -1
  507. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  508. package/dist/puppeteer-screenshot.js.map +0 -1
  509. package/dist/render-media.d.ts.map +0 -1
  510. package/dist/render-media.js.map +0 -1
  511. package/dist/render-still.d.ts.map +0 -1
  512. package/dist/render-still.js.map +0 -1
  513. package/dist/render.d.ts +0 -45
  514. package/dist/render.d.ts.map +0 -1
  515. package/dist/render.js +0 -245
  516. package/dist/render.js.map +0 -1
  517. package/dist/resolve-asset-src.d.ts.map +0 -1
  518. package/dist/resolve-asset-src.js.map +0 -1
  519. package/dist/sample-rate.d.ts.map +0 -1
  520. package/dist/sample-rate.js.map +0 -1
  521. package/dist/screenshot-dom-element.d.ts.map +0 -1
  522. package/dist/screenshot-dom-element.js.map +0 -1
  523. package/dist/screenshot-task.d.ts.map +0 -1
  524. package/dist/screenshot-task.js.map +0 -1
  525. package/dist/seek-to-frame.d.ts.map +0 -1
  526. package/dist/seek-to-frame.js.map +0 -1
  527. package/dist/serve-static.d.ts.map +0 -1
  528. package/dist/serve-static.js.map +0 -1
  529. package/dist/set-props-and-env.d.ts.map +0 -1
  530. package/dist/set-props-and-env.js.map +0 -1
  531. package/dist/stitcher.d.ts +0 -32
  532. package/dist/stitcher.d.ts.map +0 -1
  533. package/dist/stitcher.js +0 -204
  534. package/dist/stitcher.js.map +0 -1
  535. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  536. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  537. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  538. package/dist/symbolicate-stacktrace.js.map +0 -1
  539. package/dist/tmp-dir.d.ts.map +0 -1
  540. package/dist/tmp-dir.js.map +0 -1
  541. package/dist/types.d.ts.map +0 -1
  542. package/dist/types.js.map +0 -1
  543. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  544. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  545. package/dist/validate-ffmpeg.d.ts.map +0 -1
  546. package/dist/validate-ffmpeg.js.map +0 -1
  547. package/dist/validate-frame.d.ts +0 -1
  548. package/dist/validate-frame.js +0 -24
  549. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  550. package/dist/validate-puppeteer-timeout.js.map +0 -1
  551. package/dist/validate-scale.d.ts.map +0 -1
  552. package/dist/validate-scale.js.map +0 -1
  553. package/tsconfig.json +0 -10
  554. package/vitest.config.ts +0 -8
File without changes
@@ -6,6 +6,7 @@ export declare type UnsafeAsset = Omit<TAsset, 'frame' | 'id' | 'volume' | 'medi
6
6
  volume: number[];
7
7
  id: string;
8
8
  playbackRate: number;
9
+ allowAmplificationDuringRender: boolean;
9
10
  };
10
11
  export declare type AssetVolume = number | number[];
11
12
  export declare type MediaAsset = Omit<UnsafeAsset, 'duration' | 'volume'> & {
File without changes
@@ -0,0 +1,27 @@
1
+ import type { Codec } from './codec';
2
+ export declare const validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
3
+ export declare type AudioCodec = typeof validAudioCodecs[number];
4
+ export declare const supportedAudioCodecs: {
5
+ readonly h264: readonly ["aac", "pcm-16"];
6
+ readonly 'h264-mkv': readonly ["pcm-16"];
7
+ readonly aac: readonly ["aac", "pcm-16"];
8
+ readonly gif: readonly [];
9
+ readonly h265: readonly ["aac", "pcm-16"];
10
+ readonly mp3: readonly ["mp3", "pcm-16"];
11
+ readonly prores: readonly ["aac", "pcm-16"];
12
+ readonly vp8: readonly ["opus", "pcm-16"];
13
+ readonly vp9: readonly ["opus", "pcm-16"];
14
+ readonly wav: readonly ["pcm-16"];
15
+ };
16
+ export declare const audioCodecNames: readonly ["pcm_s16le", "aac", "libmp3lame", "libopus"];
17
+ export declare type FfmpegAudioCodecName = typeof audioCodecNames[number];
18
+ export declare const mapAudioCodecToFfmpegAudioCodecName: (audioCodec: AudioCodec) => FfmpegAudioCodecName;
19
+ export declare const defaultAudioCodecs: {
20
+ [key in Codec]: {
21
+ [k in 'compressed' | 'lossless']: typeof supportedAudioCodecs[key][number] | null;
22
+ };
23
+ };
24
+ export declare const getDefaultAudioCodec: ({ codec, preferLossless, }: {
25
+ codec: Codec;
26
+ preferLossless: boolean;
27
+ }) => AudioCodec | null;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultAudioCodec = exports.defaultAudioCodecs = exports.mapAudioCodecToFfmpegAudioCodecName = exports.audioCodecNames = exports.supportedAudioCodecs = exports.validAudioCodecs = void 0;
4
+ exports.validAudioCodecs = ['pcm-16', 'aac', 'mp3', 'opus'];
5
+ exports.supportedAudioCodecs = {
6
+ h264: ['aac', 'pcm-16'],
7
+ 'h264-mkv': ['pcm-16'],
8
+ aac: ['aac', 'pcm-16'],
9
+ gif: [],
10
+ h265: ['aac', 'pcm-16'],
11
+ mp3: ['mp3', 'pcm-16'],
12
+ prores: ['aac', 'pcm-16'],
13
+ vp8: ['opus', 'pcm-16'],
14
+ vp9: ['opus', 'pcm-16'],
15
+ wav: ['pcm-16'],
16
+ };
17
+ const _satisfies = exports.supportedAudioCodecs;
18
+ if (_satisfies) {
19
+ // Just for type checking
20
+ }
21
+ exports.audioCodecNames = [
22
+ 'pcm_s16le',
23
+ 'aac',
24
+ 'libmp3lame',
25
+ 'libopus',
26
+ ];
27
+ const mapAudioCodecToFfmpegAudioCodecName = (audioCodec) => {
28
+ if (audioCodec === 'aac') {
29
+ return 'aac';
30
+ }
31
+ if (audioCodec === 'mp3') {
32
+ return 'libmp3lame';
33
+ }
34
+ if (audioCodec === 'opus') {
35
+ return 'libopus';
36
+ }
37
+ if (audioCodec === 'pcm-16') {
38
+ return 'pcm_s16le';
39
+ }
40
+ throw new Error('unknown audio codec: ' + audioCodec);
41
+ };
42
+ exports.mapAudioCodecToFfmpegAudioCodecName = mapAudioCodecToFfmpegAudioCodecName;
43
+ exports.defaultAudioCodecs = {
44
+ 'h264-mkv': {
45
+ lossless: 'pcm-16',
46
+ compressed: 'pcm-16',
47
+ },
48
+ aac: {
49
+ lossless: 'pcm-16',
50
+ compressed: 'aac',
51
+ },
52
+ gif: {
53
+ lossless: null,
54
+ compressed: null,
55
+ },
56
+ h264: {
57
+ lossless: 'pcm-16',
58
+ compressed: 'aac',
59
+ },
60
+ h265: {
61
+ lossless: 'pcm-16',
62
+ compressed: 'aac',
63
+ },
64
+ mp3: {
65
+ lossless: 'pcm-16',
66
+ compressed: 'mp3',
67
+ },
68
+ prores: {
69
+ lossless: 'pcm-16',
70
+ // V4.0: Make pcm the default
71
+ compressed: 'aac',
72
+ },
73
+ vp8: {
74
+ lossless: 'pcm-16',
75
+ compressed: 'opus',
76
+ },
77
+ vp9: {
78
+ lossless: 'pcm-16',
79
+ compressed: 'opus',
80
+ },
81
+ wav: {
82
+ lossless: 'pcm-16',
83
+ compressed: 'pcm-16',
84
+ },
85
+ };
86
+ const getDefaultAudioCodec = ({ codec, preferLossless, }) => {
87
+ return exports.defaultAudioCodecs[codec][preferLossless ? 'lossless' : 'compressed'];
88
+ };
89
+ exports.getDefaultAudioCodec = getDefaultAudioCodec;
@@ -25,7 +25,8 @@ interface WaitForTargetOptions {
25
25
  export declare const enum BrowserEmittedEvents {
26
26
  TargetChanged = "targetchanged",
27
27
  TargetCreated = "targetcreated",
28
- Closed = "closed"
28
+ Closed = "closed",
29
+ ClosedSilent = "closed-silent"
29
30
  }
30
31
  export declare class Browser extends EventEmitter {
31
32
  #private;
@@ -35,6 +36,7 @@ export declare class Browser extends EventEmitter {
35
36
  defaultViewport: Viewport;
36
37
  closeCallback?: BrowserCloseCallback;
37
38
  }): Promise<Browser>;
39
+ connection: Connection;
38
40
  get _targets(): Map<string, Target>;
39
41
  constructor(connection: Connection, contextIds: string[], defaultViewport: Viewport, closeCallback?: BrowserCloseCallback);
40
42
  browserContexts(): BrowserContext[];
@@ -43,7 +45,7 @@ export declare class Browser extends EventEmitter {
43
45
  targets(): Target[];
44
46
  waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: WaitForTargetOptions): Promise<Target>;
45
47
  pages(): Promise<Page[]>;
46
- close(): Promise<void>;
48
+ close(silent: boolean): Promise<void>;
47
49
  disconnect(): void;
48
50
  }
49
51
  export declare class BrowserContext extends EventEmitter {
@@ -25,7 +25,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
25
25
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
26
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
27
  };
28
- var _Browser_instances, _Browser_defaultViewport, _Browser_connection, _Browser_closeCallback, _Browser_defaultContext, _Browser_contexts, _Browser_targets, _Browser_targetCreated, _Browser_targetDestroyed, _Browser_targetInfoChanged, _BrowserContext_browser, _BrowserContext_id;
28
+ var _Browser_instances, _Browser_defaultViewport, _Browser_closeCallback, _Browser_defaultContext, _Browser_contexts, _Browser_targets, _Browser_targetCreated, _Browser_targetDestroyed, _Browser_targetInfoChanged, _BrowserContext_browser, _BrowserContext_id;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.BrowserContext = exports.Browser = void 0;
31
31
  const assert_1 = require("./assert");
@@ -38,13 +38,12 @@ class Browser extends EventEmitter_1.EventEmitter {
38
38
  super();
39
39
  _Browser_instances.add(this);
40
40
  _Browser_defaultViewport.set(this, void 0);
41
- _Browser_connection.set(this, void 0);
42
41
  _Browser_closeCallback.set(this, void 0);
43
42
  _Browser_defaultContext.set(this, void 0);
44
43
  _Browser_contexts.set(this, void 0);
45
44
  _Browser_targets.set(this, void 0);
46
45
  __classPrivateFieldSet(this, _Browser_defaultViewport, defaultViewport, "f");
47
- __classPrivateFieldSet(this, _Browser_connection, connection, "f");
46
+ this.connection = connection;
48
47
  __classPrivateFieldSet(this, _Browser_closeCallback, closeCallback ||
49
48
  function () {
50
49
  return undefined;
@@ -55,9 +54,9 @@ class Browser extends EventEmitter_1.EventEmitter {
55
54
  __classPrivateFieldGet(this, _Browser_contexts, "f").set(contextId, new BrowserContext(this, contextId));
56
55
  }
57
56
  __classPrivateFieldSet(this, _Browser_targets, new Map(), "f");
58
- __classPrivateFieldGet(this, _Browser_connection, "f").on('Target.targetCreated', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetCreated).bind(this));
59
- __classPrivateFieldGet(this, _Browser_connection, "f").on('Target.targetDestroyed', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetDestroyed).bind(this));
60
- __classPrivateFieldGet(this, _Browser_connection, "f").on('Target.targetInfoChanged', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetInfoChanged).bind(this));
57
+ this.connection.on('Target.targetCreated', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetCreated).bind(this));
58
+ this.connection.on('Target.targetDestroyed', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetDestroyed).bind(this));
59
+ this.connection.on('Target.targetInfoChanged', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetInfoChanged).bind(this));
61
60
  }
62
61
  static async _create({ connection, contextIds, defaultViewport, closeCallback, }) {
63
62
  const browser = new Browser(connection, contextIds, defaultViewport, closeCallback);
@@ -74,7 +73,7 @@ class Browser extends EventEmitter_1.EventEmitter {
74
73
  return __classPrivateFieldGet(this, _Browser_defaultContext, "f").newPage();
75
74
  }
76
75
  async _createPageInContext(contextId) {
77
- const { targetId } = await __classPrivateFieldGet(this, _Browser_connection, "f").send('Target.createTarget', {
76
+ const { targetId } = await this.connection.send('Target.createTarget', {
78
77
  url: 'about:blank',
79
78
  browserContextId: contextId || undefined,
80
79
  });
@@ -133,17 +132,21 @@ class Browser extends EventEmitter_1.EventEmitter {
133
132
  return acc.concat(x);
134
133
  }, []);
135
134
  }
136
- async close() {
135
+ async close(silent) {
137
136
  await __classPrivateFieldGet(this, _Browser_closeCallback, "f").call(null);
137
+ (await this.pages()).forEach((page) => {
138
+ page.emit("disposed" /* PageEmittedEvents.Disposed */);
139
+ page.closed = true;
140
+ });
138
141
  this.disconnect();
139
- this.emit("closed" /* BrowserEmittedEvents.Closed */);
142
+ this.emit(silent ? "closed-silent" /* BrowserEmittedEvents.ClosedSilent */ : "closed" /* BrowserEmittedEvents.Closed */);
140
143
  }
141
144
  disconnect() {
142
- __classPrivateFieldGet(this, _Browser_connection, "f").dispose();
145
+ this.connection.dispose();
143
146
  }
144
147
  }
145
148
  exports.Browser = Browser;
146
- _Browser_defaultViewport = new WeakMap(), _Browser_connection = new WeakMap(), _Browser_closeCallback = new WeakMap(), _Browser_defaultContext = new WeakMap(), _Browser_contexts = new WeakMap(), _Browser_targets = new WeakMap(), _Browser_instances = new WeakSet(), _Browser_targetCreated = async function _Browser_targetCreated(event) {
149
+ _Browser_defaultViewport = new WeakMap(), _Browser_closeCallback = new WeakMap(), _Browser_defaultContext = new WeakMap(), _Browser_contexts = new WeakMap(), _Browser_targets = new WeakMap(), _Browser_instances = new WeakSet(), _Browser_targetCreated = async function _Browser_targetCreated(event) {
147
150
  var _a;
148
151
  const { targetInfo } = event;
149
152
  const { browserContextId } = targetInfo;
@@ -154,7 +157,7 @@ _Browser_defaultViewport = new WeakMap(), _Browser_connection = new WeakMap(), _
154
157
  throw new Error('Missing browser context');
155
158
  }
156
159
  const target = new Target_1.Target(targetInfo, context, () => {
157
- return __classPrivateFieldGet(this, _Browser_connection, "f").createSession(targetInfo);
160
+ return this.connection.createSession(targetInfo);
158
161
  }, (_a = __classPrivateFieldGet(this, _Browser_defaultViewport, "f")) !== null && _a !== void 0 ? _a : null);
159
162
  (0, assert_1.assert)(!__classPrivateFieldGet(this, _Browser_targets, "f").has(event.targetInfo.targetId), 'Target should not exist before targetCreated');
160
163
  __classPrivateFieldGet(this, _Browser_targets, "f").set(event.targetInfo.targetId, target);
File without changes
File without changes
@@ -86,4 +86,5 @@ export declare class BrowserFetcher {
86
86
  */
87
87
  revisionInfo(revision: string): BrowserFetcherRevisionInfo;
88
88
  }
89
+ export declare function _downloadFile(url: string, destinationPath: string, progressCallback: (x: number, y: number) => void): Promise<number>;
89
90
  export {};
@@ -53,17 +53,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
53
53
  };
54
54
  var _BrowserFetcher_instances, _BrowserFetcher_product, _BrowserFetcher_downloadsFolder, _BrowserFetcher_downloadHost, _BrowserFetcher_platform, _BrowserFetcher_getFolderPath;
55
55
  Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.BrowserFetcher = void 0;
56
+ exports._downloadFile = exports.BrowserFetcher = void 0;
57
57
  const childProcess = __importStar(require("child_process"));
58
58
  const fs = __importStar(require("fs"));
59
59
  const http = __importStar(require("http"));
60
60
  const https = __importStar(require("https"));
61
61
  const os = __importStar(require("os"));
62
62
  const path = __importStar(require("path"));
63
- const util = __importStar(require("util"));
63
+ const util_1 = __importDefault(require("util"));
64
64
  const extract_zip_1 = __importDefault(require("extract-zip"));
65
65
  const URL = __importStar(require("url"));
66
- const util_1 = require("util");
66
+ const util_2 = require("util");
67
67
  const assert_1 = require("./assert");
68
68
  const delete_directory_1 = require("../delete-directory");
69
69
  const get_download_destination_1 = require("./get-download-destination");
@@ -106,7 +106,7 @@ function archiveName(product, platform, revision) {
106
106
  case 'win64':
107
107
  // Windows archive name changed at r591479.
108
108
  return parseInt(revision, 10) > 591479
109
- ? 'chrome-win'
109
+ ? 'Thorium_107.0.5271.0\\BIN'
110
110
  : 'chrome-win32';
111
111
  default:
112
112
  throw new Error('unknown browser');
@@ -118,8 +118,10 @@ function archiveName(product, platform, revision) {
118
118
  }
119
119
  }
120
120
  function _downloadURL(product, platform, host, revision) {
121
- const url = util.format(downloadURLs[product][platform], host, revision, archiveName(product, platform, revision));
122
- return url;
121
+ if (platform === 'win64' || platform === 'win32') {
122
+ return 'https://remotionchromium-binaries.s3.eu-central-1.amazonaws.com/thorium-107.zip';
123
+ }
124
+ return util_1.default.format(downloadURLs[product][platform], host, revision, archiveName(product, platform, revision));
123
125
  }
124
126
  function handleArm64() {
125
127
  let exists = fs.existsSync('/usr/bin/chromium-browser');
@@ -136,10 +138,10 @@ function handleArm64() {
136
138
  '\n\n sudo apt install chromium-browser\n');
137
139
  throw new Error();
138
140
  }
139
- const readdirAsync = (0, util_1.promisify)(fs.readdir.bind(fs));
140
- const mkdirAsync = (0, util_1.promisify)(fs.mkdir.bind(fs));
141
- const unlinkAsync = (0, util_1.promisify)(fs.unlink.bind(fs));
142
- const chmodAsync = (0, util_1.promisify)(fs.chmod.bind(fs));
141
+ const readdirAsync = (0, util_2.promisify)(fs.readdir.bind(fs));
142
+ const mkdirAsync = (0, util_2.promisify)(fs.mkdir.bind(fs));
143
+ const unlinkAsync = (0, util_2.promisify)(fs.unlink.bind(fs));
144
+ const chmodAsync = (0, util_2.promisify)(fs.chmod.bind(fs));
143
145
  function existsAsync(filePath) {
144
146
  return new Promise((resolve) => {
145
147
  fs.access(filePath, (err) => {
@@ -308,7 +310,7 @@ class BrowserFetcher {
308
310
  async remove(revision) {
309
311
  const folderPath = __classPrivateFieldGet(this, _BrowserFetcher_instances, "m", _BrowserFetcher_getFolderPath).call(this, revision);
310
312
  (0, assert_1.assert)(await existsAsync(folderPath), `Failed to remove: revision ${revision} is not downloaded`);
311
- await (0, delete_directory_1.deleteDirectory)(folderPath);
313
+ (0, delete_directory_1.deleteDirectory)(folderPath);
312
314
  }
313
315
  /**
314
316
  * @param revision - The revision to get info for.
@@ -325,7 +327,7 @@ class BrowserFetcher {
325
327
  executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'chrome');
326
328
  }
327
329
  else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win32' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win64') {
328
- executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'chrome.exe');
330
+ executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'thorium.exe');
329
331
  }
330
332
  else {
331
333
  throw new Error('Unsupported platform: ' + __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
@@ -386,6 +388,13 @@ function _downloadFile(url, destinationPath, progressCallback) {
386
388
  let downloadedBytes = 0;
387
389
  let totalBytes = 0;
388
390
  let lastProgress = Date.now();
391
+ function onData(chunk) {
392
+ downloadedBytes += chunk.length;
393
+ if (Date.now() - lastProgress > 1000) {
394
+ progressCallback(downloadedBytes, totalBytes);
395
+ lastProgress = Date.now();
396
+ }
397
+ }
389
398
  const request = httpRequest(url, 'GET', (response) => {
390
399
  if (response.statusCode !== 200) {
391
400
  const error = new Error(`Download failed: server returned code ${response.statusCode}. URL: ${url}`);
@@ -395,8 +404,8 @@ function _downloadFile(url, destinationPath, progressCallback) {
395
404
  return;
396
405
  }
397
406
  const file = fs.createWriteStream(destinationPath);
398
- file.on('finish', () => {
399
- return fulfill();
407
+ file.on('close', () => {
408
+ return fulfill(totalBytes);
400
409
  });
401
410
  file.on('error', (error) => {
402
411
  return reject(error);
@@ -409,14 +418,8 @@ function _downloadFile(url, destinationPath, progressCallback) {
409
418
  return reject(error);
410
419
  });
411
420
  return promise;
412
- function onData(chunk) {
413
- downloadedBytes += chunk.length;
414
- if (Date.now() - lastProgress > 1000) {
415
- progressCallback(downloadedBytes, totalBytes);
416
- lastProgress = Date.now();
417
- }
418
- }
419
421
  }
422
+ exports._downloadFile = _downloadFile;
420
423
  function install(archivePath, folderPath) {
421
424
  if (archivePath.endsWith('.zip')) {
422
425
  return (0, extract_zip_1.default)(archivePath, { dir: folderPath });
@@ -27,13 +27,21 @@ import { TaskQueue } from './TaskQueue';
27
27
  interface WaitForOptions {
28
28
  timeout?: number;
29
29
  }
30
+ export declare const enum PageEmittedEvents {
31
+ Console = "console",
32
+ Error = "error",
33
+ Disposed = "disposed"
34
+ }
30
35
  interface PageEventObject {
31
36
  console: ConsoleMessage;
32
37
  error: Error;
38
+ disposed: undefined;
33
39
  }
34
40
  export declare class Page extends EventEmitter {
35
41
  #private;
42
+ id: string;
36
43
  static _create(client: CDPSession, target: Target, defaultViewport: Viewport, browser: Browser): Promise<Page>;
44
+ closed: boolean;
37
45
  browser: Browser;
38
46
  screenshotTaskQueue: TaskQueue;
39
47
  constructor(client: CDPSession, target: Target, browser: Browser);
@@ -68,7 +76,5 @@ export declare class Page extends EventEmitter {
68
76
  close(options?: {
69
77
  runBeforeUnload?: boolean;
70
78
  }): Promise<void>;
71
- isClosed(): boolean;
72
- waitForFunction(browser: Browser, pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
73
79
  }
74
80
  export {};
@@ -25,7 +25,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
25
25
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
26
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
27
  };
28
- var _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_pageBindings, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
28
+ var _Page_instances, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_pageBindings, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.Page = void 0;
31
31
  const assert_1 = require("./assert");
@@ -40,7 +40,7 @@ class Page extends EventEmitter_1.EventEmitter {
40
40
  constructor(client, target, browser) {
41
41
  super();
42
42
  _Page_instances.add(this);
43
- _Page_closed.set(this, false);
43
+ this.closed = false;
44
44
  _Page_client.set(this, void 0);
45
45
  _Page_target.set(this, void 0);
46
46
  _Page_timeoutSettings.set(this, new TimeoutSettings_1.TimeoutSettings());
@@ -51,6 +51,7 @@ class Page extends EventEmitter_1.EventEmitter {
51
51
  __classPrivateFieldSet(this, _Page_frameManager, new FrameManager_1.FrameManager(client, this, __classPrivateFieldGet(this, _Page_timeoutSettings, "f")), "f");
52
52
  this.screenshotTaskQueue = new TaskQueue_1.TaskQueue();
53
53
  this.browser = browser;
54
+ this.id = String(Math.random());
54
55
  client.on('Target.attachedToTarget', (event) => {
55
56
  switch (event.targetInfo.type) {
56
57
  case 'iframe':
@@ -166,7 +167,9 @@ class Page extends EventEmitter_1.EventEmitter {
166
167
  }
167
168
  async close(options = { runBeforeUnload: undefined }) {
168
169
  const connection = __classPrivateFieldGet(this, _Page_client, "f").connection();
169
- (0, assert_1.assert)(connection, 'Protocol error: Connection closed. Most likely the page has been closed.');
170
+ if (!connection) {
171
+ return;
172
+ }
170
173
  const runBeforeUnload = Boolean(options.runBeforeUnload);
171
174
  if (runBeforeUnload) {
172
175
  await __classPrivateFieldGet(this, _Page_client, "f").send('Page.close');
@@ -178,15 +181,9 @@ class Page extends EventEmitter_1.EventEmitter {
178
181
  await __classPrivateFieldGet(this, _Page_target, "f")._isClosedPromise;
179
182
  }
180
183
  }
181
- isClosed() {
182
- return __classPrivateFieldGet(this, _Page_closed, "f");
183
- }
184
- waitForFunction(browser, pageFunction, ...args) {
185
- return this.mainFrame().waitForFunction(browser, pageFunction, ...args);
186
- }
187
184
  }
188
185
  exports.Page = Page;
189
- _Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
186
+ _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
190
187
  await Promise.all([
191
188
  __classPrivateFieldGet(this, _Page_frameManager, "f").initialize(),
192
189
  __classPrivateFieldGet(this, _Page_client, "f").send('Target.setAutoAttach', {
@@ -247,7 +244,7 @@ _Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new W
247
244
  expression = (0, util_1.pageBindingDeliverErrorValueString)(name, seq, _error);
248
245
  }
249
246
  }
250
- __classPrivateFieldGet(this, _Page_client, "f").send('Runtime.evaluate', {
247
+ await __classPrivateFieldGet(this, _Page_client, "f").send('Runtime.evaluate', {
251
248
  expression,
252
249
  contextId: event.executionContextId,
253
250
  });
@@ -17,17 +17,14 @@
17
17
  import * as childProcess from 'child_process';
18
18
  import { Connection } from './Connection';
19
19
  import type { LaunchOptions } from './LaunchOptions';
20
- import type { Product } from './Product';
21
20
  export declare class BrowserRunner {
22
21
  #private;
23
22
  proc?: childProcess.ChildProcess;
24
23
  connection?: Connection;
25
- constructor({ product, executablePath, processArguments, userDataDir, isTempUserDataDir, }: {
26
- product: Product;
24
+ constructor({ executablePath, processArguments, userDataDir, }: {
27
25
  executablePath: string;
28
26
  processArguments: string[];
29
27
  userDataDir: string;
30
- isTempUserDataDir?: boolean;
31
28
  });
32
29
  start(options: LaunchOptions): void;
33
30
  close(): Promise<void>;