@remotion/renderer 3.0.2 → 3.0.5

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 (381) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts +0 -1
  2. package/dist/assets/calculate-asset-positions.js +2 -6
  3. package/dist/assets/calculate-atempo.d.ts +1 -2
  4. package/dist/assets/calculate-atempo.js +3 -1
  5. package/dist/assets/convert-assets-to-file-urls.d.ts +0 -1
  6. package/dist/assets/convert-assets-to-file-urls.js +0 -1
  7. package/dist/assets/download-and-map-assets-to-file.d.ts +0 -2
  8. package/dist/assets/download-and-map-assets-to-file.js +2 -4
  9. package/dist/assets/download-file.d.ts +0 -1
  10. package/dist/assets/download-file.js +0 -1
  11. package/dist/assets/ffmpeg-volume-expression.d.ts +1 -3
  12. package/dist/assets/ffmpeg-volume-expression.js +3 -6
  13. package/dist/assets/flatten-volume-array.d.ts +0 -1
  14. package/dist/assets/flatten-volume-array.js +0 -1
  15. package/dist/assets/get-audio-channels.d.ts +4 -2
  16. package/dist/assets/get-audio-channels.js +10 -13
  17. package/dist/assets/read-file.d.ts +0 -1
  18. package/dist/assets/read-file.js +0 -1
  19. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -2
  20. package/dist/assets/round-volume-to-avoid-stack-overflow.js +4 -5
  21. package/dist/assets/sanitize-filename.d.ts +0 -1
  22. package/dist/assets/sanitize-filename.js +0 -1
  23. package/dist/assets/sanitize-filepath.d.ts +0 -1
  24. package/dist/assets/sanitize-filepath.js +0 -1
  25. package/dist/assets/truncate-utf8-bytes.d.ts +0 -1
  26. package/dist/assets/truncate-utf8-bytes.js +0 -1
  27. package/dist/assets/types.d.ts +0 -4
  28. package/dist/assets/types.js +0 -1
  29. package/dist/browser-log.d.ts +0 -1
  30. package/dist/browser-log.js +0 -1
  31. package/dist/calculate-ffmpeg-filters.d.ts +7 -11
  32. package/dist/calculate-ffmpeg-filters.js +19 -31
  33. package/dist/can-use-parallel-encoding.d.ts +0 -1
  34. package/dist/can-use-parallel-encoding.js +0 -1
  35. package/dist/chunk.d.ts +1 -0
  36. package/dist/chunk.js +11 -0
  37. package/dist/combine-videos.d.ts +0 -1
  38. package/dist/combine-videos.js +0 -1
  39. package/dist/convert-to-pcm.d.ts +6 -0
  40. package/dist/convert-to-pcm.js +20 -0
  41. package/dist/create-ffmpeg-complex-filter.d.ts +1 -3
  42. package/dist/create-ffmpeg-complex-filter.js +8 -34
  43. package/dist/create-ffmpeg-merge-filter.d.ts +1 -0
  44. package/dist/create-ffmpeg-merge-filter.js +18 -0
  45. package/dist/create-silent-audio.d.ts +6 -0
  46. package/dist/create-silent-audio.js +24 -0
  47. package/dist/cycle-browser-tabs.d.ts +1 -2
  48. package/dist/cycle-browser-tabs.js +6 -2
  49. package/dist/delay-render-embedded-stack.d.ts +0 -1
  50. package/dist/delay-render-embedded-stack.js +0 -1
  51. package/dist/delete-directory.d.ts +0 -1
  52. package/dist/delete-directory.js +6 -2
  53. package/dist/ensure-frames-in-order.d.ts +0 -1
  54. package/dist/ensure-frames-in-order.js +1 -2
  55. package/dist/ensure-output-directory.d.ts +0 -1
  56. package/dist/ensure-output-directory.js +0 -1
  57. package/dist/error-handling/handle-javascript-exception.d.ts +0 -2
  58. package/dist/error-handling/handle-javascript-exception.js +3 -5
  59. package/dist/error-handling/symbolicate-error.d.ts +0 -1
  60. package/dist/error-handling/symbolicate-error.js +0 -1
  61. package/dist/error-handling/symbolicateable-error.d.ts +0 -1
  62. package/dist/error-handling/symbolicateable-error.js +0 -1
  63. package/dist/ffmpeg-filter-file.d.ts +4 -0
  64. package/dist/ffmpeg-filter-file.js +24 -0
  65. package/dist/ffmpeg-flags.d.ts +0 -1
  66. package/dist/ffmpeg-flags.js +0 -1
  67. package/dist/get-audio-codec-name.d.ts +0 -1
  68. package/dist/get-audio-codec-name.js +0 -1
  69. package/dist/get-browser-instance.d.ts +0 -1
  70. package/dist/get-browser-instance.js +0 -1
  71. package/dist/get-codec-name.d.ts +0 -1
  72. package/dist/get-codec-name.js +0 -1
  73. package/dist/get-compositions.d.ts +0 -1
  74. package/dist/get-compositions.js +0 -1
  75. package/dist/get-concurrency.d.ts +0 -1
  76. package/dist/get-concurrency.js +0 -1
  77. package/dist/get-duration-from-frame-range.d.ts +2 -0
  78. package/dist/get-duration-from-frame-range.js +13 -0
  79. package/dist/get-extension-from-codec.d.ts +1 -2
  80. package/dist/get-extension-from-codec.js +0 -1
  81. package/dist/get-extension-of-filename.d.ts +1 -0
  82. package/dist/get-extension-of-filename.js +11 -0
  83. package/dist/get-frame-to-render.d.ts +0 -1
  84. package/dist/get-frame-to-render.js +0 -1
  85. package/dist/get-local-browser-executable.d.ts +0 -1
  86. package/dist/get-local-browser-executable.js +0 -1
  87. package/dist/get-port.d.ts +0 -1
  88. package/dist/get-port.js +0 -1
  89. package/dist/get-prores-profile-name.d.ts +0 -1
  90. package/dist/get-prores-profile-name.js +0 -1
  91. package/dist/image-format.d.ts +0 -1
  92. package/dist/image-format.js +0 -1
  93. package/dist/index.d.ts +3 -9
  94. package/dist/index.js +4 -3
  95. package/dist/is-serve-url.d.ts +0 -1
  96. package/dist/is-serve-url.js +0 -1
  97. package/dist/legacy-webpack-config.d.ts +0 -1
  98. package/dist/legacy-webpack-config.js +0 -1
  99. package/dist/make-assets-download-dir.d.ts +0 -1
  100. package/dist/make-assets-download-dir.js +0 -1
  101. package/dist/merge-audio-track.d.ts +9 -0
  102. package/dist/merge-audio-track.js +72 -0
  103. package/dist/normalize-serve-url.d.ts +0 -1
  104. package/dist/normalize-serve-url.js +0 -1
  105. package/dist/open-browser.d.ts +0 -1
  106. package/dist/open-browser.js +0 -1
  107. package/dist/p-limit.d.ts +1 -0
  108. package/dist/p-limit.js +57 -0
  109. package/dist/parse-browser-error-stack.d.ts +0 -1
  110. package/dist/parse-browser-error-stack.js +0 -1
  111. package/dist/parse-ffmpeg-progress.d.ts +0 -1
  112. package/dist/parse-ffmpeg-progress.js +0 -1
  113. package/dist/pool.d.ts +0 -1
  114. package/dist/pool.js +0 -1
  115. package/dist/prepare-server.d.ts +0 -1
  116. package/dist/prepare-server.js +0 -1
  117. package/dist/preprocess-audio-track.d.ts +11 -0
  118. package/dist/preprocess-audio-track.js +41 -0
  119. package/dist/prespawn-ffmpeg.d.ts +21 -0
  120. package/dist/prespawn-ffmpeg.js +91 -0
  121. package/dist/provide-screenshot.d.ts +0 -1
  122. package/dist/provide-screenshot.js +0 -1
  123. package/dist/puppeteer-evaluate.d.ts +0 -2
  124. package/dist/puppeteer-evaluate.js +3 -4
  125. package/dist/puppeteer-screenshot.d.ts +0 -1
  126. package/dist/puppeteer-screenshot.js +0 -1
  127. package/dist/render-frames.d.ts +1 -8
  128. package/dist/render-frames.js +9 -9
  129. package/dist/render-media.d.ts +0 -1
  130. package/dist/render-media.js +11 -16
  131. package/dist/render-still.d.ts +1 -2
  132. package/dist/render-still.js +0 -1
  133. package/dist/resolve-asset-src.d.ts +0 -1
  134. package/dist/resolve-asset-src.js +0 -1
  135. package/dist/sample-rate.d.ts +0 -1
  136. package/dist/sample-rate.js +0 -1
  137. package/dist/screenshot-dom-element.d.ts +0 -1
  138. package/dist/screenshot-dom-element.js +0 -1
  139. package/dist/screenshot-task.d.ts +0 -1
  140. package/dist/screenshot-task.js +0 -1
  141. package/dist/seek-to-frame.d.ts +0 -1
  142. package/dist/seek-to-frame.js +0 -1
  143. package/dist/serve-static.d.ts +0 -1
  144. package/dist/serve-static.js +0 -1
  145. package/dist/set-props-and-env.d.ts +0 -1
  146. package/dist/set-props-and-env.js +0 -1
  147. package/dist/stitch-frames-to-video.d.ts +6 -8
  148. package/dist/stitch-frames-to-video.js +122 -108
  149. package/dist/stringify-ffmpeg-filter.d.ts +5 -6
  150. package/dist/stringify-ffmpeg-filter.js +29 -11
  151. package/dist/symbolicate-stacktrace.d.ts +2 -4
  152. package/dist/symbolicate-stacktrace.js +1 -3
  153. package/dist/tmp-dir.d.ts +0 -1
  154. package/dist/tmp-dir.js +0 -1
  155. package/dist/types.d.ts +0 -1
  156. package/dist/types.js +0 -1
  157. package/dist/validate-even-dimensions-with-codec.d.ts +0 -1
  158. package/dist/validate-even-dimensions-with-codec.js +0 -1
  159. package/dist/validate-ffmpeg.d.ts +0 -2
  160. package/dist/validate-ffmpeg.js +2 -4
  161. package/dist/validate-output-filename.d.ts +2 -0
  162. package/dist/validate-output-filename.js +52 -0
  163. package/dist/validate-puppeteer-timeout.d.ts +0 -1
  164. package/dist/validate-puppeteer-timeout.js +0 -1
  165. package/dist/validate-scale.d.ts +0 -1
  166. package/dist/validate-scale.js +0 -1
  167. package/package.json +4 -5
  168. package/dist/add-silent-audio-if-necessary.d.ts +0 -8
  169. package/dist/add-silent-audio-if-necessary.d.ts.map +0 -1
  170. package/dist/add-silent-audio-if-necessary.js +0 -51
  171. package/dist/add-silent-audio-if-necessary.js.map +0 -1
  172. package/dist/assets/asset-is-used-at-time.d.ts +0 -3
  173. package/dist/assets/asset-is-used-at-time.d.ts.map +0 -1
  174. package/dist/assets/asset-is-used-at-time.js +0 -8
  175. package/dist/assets/asset-is-used-at-time.js.map +0 -1
  176. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  177. package/dist/assets/calculate-asset-positions.js.map +0 -1
  178. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  179. package/dist/assets/calculate-atempo.js.map +0 -1
  180. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  181. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  182. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  183. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  184. package/dist/assets/download-file.d.ts.map +0 -1
  185. package/dist/assets/download-file.js.map +0 -1
  186. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  187. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  188. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  189. package/dist/assets/flatten-volume-array.js.map +0 -1
  190. package/dist/assets/get-asset-audio-details.d.ts +0 -5
  191. package/dist/assets/get-asset-audio-details.d.ts.map +0 -1
  192. package/dist/assets/get-asset-audio-details.js +0 -21
  193. package/dist/assets/get-asset-audio-details.js.map +0 -1
  194. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  195. package/dist/assets/get-audio-channels.js.map +0 -1
  196. package/dist/assets/get-simulatenous-assets.d.ts +0 -3
  197. package/dist/assets/get-simulatenous-assets.d.ts.map +0 -1
  198. package/dist/assets/get-simulatenous-assets.js +0 -14
  199. package/dist/assets/get-simulatenous-assets.js.map +0 -1
  200. package/dist/assets/read-file.d.ts.map +0 -1
  201. package/dist/assets/read-file.js.map +0 -1
  202. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  203. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  204. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  205. package/dist/assets/sanitize-filename.js.map +0 -1
  206. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  207. package/dist/assets/sanitize-filepath.js.map +0 -1
  208. package/dist/assets/split-assets-into-segments.d.ts +0 -6
  209. package/dist/assets/split-assets-into-segments.d.ts.map +0 -1
  210. package/dist/assets/split-assets-into-segments.js +0 -89
  211. package/dist/assets/split-assets-into-segments.js.map +0 -1
  212. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  213. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  214. package/dist/assets/types.d.ts.map +0 -1
  215. package/dist/assets/types.js.map +0 -1
  216. package/dist/assets-to-ffmpeg-inputs.d.ts +0 -10
  217. package/dist/assets-to-ffmpeg-inputs.d.ts.map +0 -1
  218. package/dist/assets-to-ffmpeg-inputs.js +0 -15
  219. package/dist/assets-to-ffmpeg-inputs.js.map +0 -1
  220. package/dist/browser-log.d.ts.map +0 -1
  221. package/dist/browser-log.js.map +0 -1
  222. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  223. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  224. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  225. package/dist/can-use-parallel-encoding.js.map +0 -1
  226. package/dist/combine-videos.d.ts.map +0 -1
  227. package/dist/combine-videos.js.map +0 -1
  228. package/dist/convert-mp3-to-pcm.d.ts +0 -7
  229. package/dist/convert-mp3-to-pcm.d.ts.map +0 -1
  230. package/dist/convert-mp3-to-pcm.js +0 -41
  231. package/dist/convert-mp3-to-pcm.js.map +0 -1
  232. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  233. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  234. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  235. package/dist/cycle-browser-tabs.js.map +0 -1
  236. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  237. package/dist/delay-render-embedded-stack.js.map +0 -1
  238. package/dist/delete-directory.d.ts.map +0 -1
  239. package/dist/delete-directory.js.map +0 -1
  240. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  241. package/dist/ensure-frames-in-order.js.map +0 -1
  242. package/dist/ensure-output-directory.d.ts.map +0 -1
  243. package/dist/ensure-output-directory.js.map +0 -1
  244. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  245. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  246. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  247. package/dist/error-handling/symbolicate-error.js.map +0 -1
  248. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  249. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  250. package/dist/ffmpeg-flags.d.ts.map +0 -1
  251. package/dist/ffmpeg-flags.js.map +0 -1
  252. package/dist/get-audio-codec-name.d.ts.map +0 -1
  253. package/dist/get-audio-codec-name.js.map +0 -1
  254. package/dist/get-browser-instance.d.ts.map +0 -1
  255. package/dist/get-browser-instance.js.map +0 -1
  256. package/dist/get-codec-name.d.ts.map +0 -1
  257. package/dist/get-codec-name.js.map +0 -1
  258. package/dist/get-compositions.d.ts.map +0 -1
  259. package/dist/get-compositions.js.map +0 -1
  260. package/dist/get-concurrency.d.ts.map +0 -1
  261. package/dist/get-concurrency.js.map +0 -1
  262. package/dist/get-extension-from-codec.d.ts.map +0 -1
  263. package/dist/get-extension-from-codec.js.map +0 -1
  264. package/dist/get-frame-number-length.d.ts +0 -8
  265. package/dist/get-frame-number-length.d.ts.map +0 -1
  266. package/dist/get-frame-number-length.js +0 -30
  267. package/dist/get-frame-number-length.js.map +0 -1
  268. package/dist/get-frame-range.d.ts +0 -3
  269. package/dist/get-frame-range.d.ts.map +0 -1
  270. package/dist/get-frame-range.js +0 -23
  271. package/dist/get-frame-range.js.map +0 -1
  272. package/dist/get-frame-to-render.d.ts.map +0 -1
  273. package/dist/get-frame-to-render.js.map +0 -1
  274. package/dist/get-local-browser-executable.d.ts.map +0 -1
  275. package/dist/get-local-browser-executable.js.map +0 -1
  276. package/dist/get-port.d.ts.map +0 -1
  277. package/dist/get-port.js.map +0 -1
  278. package/dist/get-prores-profile-name.d.ts.map +0 -1
  279. package/dist/get-prores-profile-name.js.map +0 -1
  280. package/dist/handle-javascript-exception.d.ts +0 -32
  281. package/dist/handle-javascript-exception.d.ts.map +0 -1
  282. package/dist/handle-javascript-exception.js +0 -82
  283. package/dist/handle-javascript-exception.js.map +0 -1
  284. package/dist/handle-null-audio.d.ts +0 -1
  285. package/dist/handle-null-audio.d.ts.map +0 -1
  286. package/dist/handle-null-audio.js +0 -2
  287. package/dist/handle-null-audio.js.map +0 -1
  288. package/dist/image-format.d.ts.map +0 -1
  289. package/dist/image-format.js.map +0 -1
  290. package/dist/index.d.ts.map +0 -1
  291. package/dist/index.js.map +0 -1
  292. package/dist/is-local-file.d.ts +0 -2
  293. package/dist/is-local-file.d.ts.map +0 -1
  294. package/dist/is-local-file.js +0 -13
  295. package/dist/is-local-file.js.map +0 -1
  296. package/dist/is-serve-url.d.ts.map +0 -1
  297. package/dist/is-serve-url.js.map +0 -1
  298. package/dist/legacy-webpack-config.d.ts.map +0 -1
  299. package/dist/legacy-webpack-config.js.map +0 -1
  300. package/dist/make-assets-download-dir.d.ts.map +0 -1
  301. package/dist/make-assets-download-dir.js.map +0 -1
  302. package/dist/min-max.d.ts +0 -3
  303. package/dist/min-max.d.ts.map +0 -1
  304. package/dist/min-max.js +0 -34
  305. package/dist/min-max.js.map +0 -1
  306. package/dist/normalize-serve-url.d.ts.map +0 -1
  307. package/dist/normalize-serve-url.js.map +0 -1
  308. package/dist/open-browser.d.ts.map +0 -1
  309. package/dist/open-browser.js.map +0 -1
  310. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  311. package/dist/parse-browser-error-stack.js.map +0 -1
  312. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  313. package/dist/parse-ffmpeg-progress.js.map +0 -1
  314. package/dist/pool.d.ts.map +0 -1
  315. package/dist/pool.js.map +0 -1
  316. package/dist/prepare-server.d.ts.map +0 -1
  317. package/dist/prepare-server.js.map +0 -1
  318. package/dist/provide-screenshot.d.ts.map +0 -1
  319. package/dist/provide-screenshot.js.map +0 -1
  320. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  321. package/dist/puppeteer-evaluate.js.map +0 -1
  322. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  323. package/dist/puppeteer-screenshot.js.map +0 -1
  324. package/dist/render-frames.d.ts.map +0 -1
  325. package/dist/render-frames.js.map +0 -1
  326. package/dist/render-media.d.ts.map +0 -1
  327. package/dist/render-media.js.map +0 -1
  328. package/dist/render-still.d.ts.map +0 -1
  329. package/dist/render-still.js.map +0 -1
  330. package/dist/render-video.d.ts +0 -38
  331. package/dist/render-video.d.ts.map +0 -1
  332. package/dist/render-video.js +0 -169
  333. package/dist/render-video.js.map +0 -1
  334. package/dist/render.d.ts +0 -45
  335. package/dist/render.d.ts.map +0 -1
  336. package/dist/render.js +0 -245
  337. package/dist/render.js.map +0 -1
  338. package/dist/resolve-asset-src.d.ts.map +0 -1
  339. package/dist/resolve-asset-src.js.map +0 -1
  340. package/dist/sample-rate.d.ts.map +0 -1
  341. package/dist/sample-rate.js.map +0 -1
  342. package/dist/screenshot-dom-element.d.ts.map +0 -1
  343. package/dist/screenshot-dom-element.js.map +0 -1
  344. package/dist/screenshot-task.d.ts.map +0 -1
  345. package/dist/screenshot-task.js.map +0 -1
  346. package/dist/seek-to-frame.d.ts.map +0 -1
  347. package/dist/seek-to-frame.js.map +0 -1
  348. package/dist/serve-static.d.ts.map +0 -1
  349. package/dist/serve-static.js.map +0 -1
  350. package/dist/set-props-and-env.d.ts.map +0 -1
  351. package/dist/set-props-and-env.js.map +0 -1
  352. package/dist/stitch-frames-to-video.d.ts.map +0 -1
  353. package/dist/stitch-frames-to-video.js.map +0 -1
  354. package/dist/stitcher.d.ts +0 -32
  355. package/dist/stitcher.d.ts.map +0 -1
  356. package/dist/stitcher.js +0 -204
  357. package/dist/stitcher.js.map +0 -1
  358. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  359. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  360. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  361. package/dist/symbolicate-stacktrace.js.map +0 -1
  362. package/dist/tmp-dir.d.ts.map +0 -1
  363. package/dist/tmp-dir.js.map +0 -1
  364. package/dist/types.d.ts.map +0 -1
  365. package/dist/types.js.map +0 -1
  366. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  367. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  368. package/dist/validate-ffmpeg.d.ts.map +0 -1
  369. package/dist/validate-ffmpeg.js.map +0 -1
  370. package/dist/validate-frame.d.ts +0 -2
  371. package/dist/validate-frame.d.ts.map +0 -1
  372. package/dist/validate-frame.js +0 -25
  373. package/dist/validate-frame.js.map +0 -1
  374. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  375. package/dist/validate-puppeteer-timeout.js.map +0 -1
  376. package/dist/validate-quality.d.ts +0 -1
  377. package/dist/validate-quality.d.ts.map +0 -1
  378. package/dist/validate-quality.js +0 -2
  379. package/dist/validate-quality.js.map +0 -1
  380. package/dist/validate-scale.d.ts.map +0 -1
  381. package/dist/validate-scale.js.map +0 -1
@@ -15,4 +15,3 @@ const parseDelayRenderEmbeddedStack = (message) => {
15
15
  return parsed;
16
16
  };
17
17
  exports.parseDelayRenderEmbeddedStack = parseDelayRenderEmbeddedStack;
18
- //# sourceMappingURL=delay-render-embedded-stack.js.map
@@ -1,2 +1 @@
1
1
  export declare const deleteDirectory: (directory: string) => Promise<void>;
2
- //# sourceMappingURL=delete-directory.d.ts.map
@@ -16,7 +16,12 @@ const deleteDirectory = async (directory) => {
16
16
  // We use del before to remove all files inside the directories otherwise
17
17
  // rmdir will throw an error.
18
18
  await (0, execa_1.default)('cmd', ['/c', 'del', '/f', '/s', '/q', directory]);
19
- await (0, execa_1.default)('cmd', ['/c', 'rmdir', '/s', '/q', directory]);
19
+ try {
20
+ await (0, execa_1.default)('cmd', ['/c', 'rmdir', '/s', '/q', directory]);
21
+ }
22
+ catch (err) {
23
+ // Is not a directory
24
+ }
20
25
  }
21
26
  else {
22
27
  await ((_a = fs_1.default.promises.rm) !== null && _a !== void 0 ? _a : fs_1.default.promises.rmdir)(directory, {
@@ -25,4 +30,3 @@ const deleteDirectory = async (directory) => {
25
30
  }
26
31
  };
27
32
  exports.deleteDirectory = deleteDirectory;
28
- //# sourceMappingURL=delete-directory.js.map
@@ -3,4 +3,3 @@ export declare const ensureFramesInOrder: (frameRange: [number, number]) => {
3
3
  setFrameToStitch: (f: number) => void;
4
4
  waitForFinish: () => Promise<void>;
5
5
  };
6
- //# sourceMappingURL=ensure-frames-in-order.d.ts.map
@@ -12,7 +12,7 @@ const ensureFramesInOrder = (frameRange) => {
12
12
  }
13
13
  }
14
14
  };
15
- const waitForRightTimeOfFrameToBeInserted = async (frameToBe) => {
15
+ const waitForRightTimeOfFrameToBeInserted = (frameToBe) => {
16
16
  return new Promise((resolve) => {
17
17
  waiters.push({
18
18
  id: String(Math.random()),
@@ -36,4 +36,3 @@ const ensureFramesInOrder = (frameRange) => {
36
36
  };
37
37
  };
38
38
  exports.ensureFramesInOrder = ensureFramesInOrder;
39
- //# sourceMappingURL=ensure-frames-in-order.js.map
@@ -1,2 +1 @@
1
1
  export declare const ensureOutputDirectory: (outputLocation: string) => void;
2
- //# sourceMappingURL=ensure-output-directory.d.ts.map
@@ -15,4 +15,3 @@ const ensureOutputDirectory = (outputLocation) => {
15
15
  }
16
16
  };
17
17
  exports.ensureOutputDirectory = ensureOutputDirectory;
18
- //# sourceMappingURL=ensure-output-directory.js.map
@@ -13,10 +13,8 @@ export declare class ErrorWithStackFrame extends Error {
13
13
  delayRenderCall: SymbolicatedStackFrame[] | null;
14
14
  });
15
15
  }
16
- export declare const removeDelayRenderStack: (message: string) => string;
17
16
  export declare const handleJavascriptException: ({ page, onError, frame, }: {
18
17
  page: Page;
19
18
  frame: number | null;
20
19
  onError: (err: Error) => void;
21
20
  }) => () => void;
22
- //# sourceMappingURL=handle-javascript-exception.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleJavascriptException = exports.removeDelayRenderStack = exports.ErrorWithStackFrame = void 0;
3
+ exports.handleJavascriptException = exports.ErrorWithStackFrame = void 0;
4
4
  const remotion_1 = require("remotion");
5
5
  const symbolicateable_error_1 = require("./symbolicateable-error");
6
6
  class ErrorWithStackFrame extends Error {
@@ -32,7 +32,6 @@ const removeDelayRenderStack = (message) => {
32
32
  }
33
33
  return message.substring(0, index);
34
34
  };
35
- exports.removeDelayRenderStack = removeDelayRenderStack;
36
35
  const callFrameToStackFrame = (callFrame) => {
37
36
  return {
38
37
  columnNumber: callFrame.columnNumber,
@@ -48,14 +47,14 @@ const handleJavascriptException = ({ page, onError, frame, }) => {
48
47
  const rawErrorMessage = (_a = exception.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description;
49
48
  const cleanErrorMessage = cleanUpErrorMessage(exception);
50
49
  if (!exception.exceptionDetails.stackTrace) {
51
- const err = new Error((0, exports.removeDelayRenderStack)(cleanErrorMessage));
50
+ const err = new Error(removeDelayRenderStack(cleanErrorMessage));
52
51
  err.stack = rawErrorMessage;
53
52
  onError(err);
54
53
  return;
55
54
  }
56
55
  const errorType = (_b = exception.exceptionDetails.exception) === null || _b === void 0 ? void 0 : _b.className;
57
56
  const symbolicatedErr = new symbolicateable_error_1.SymbolicateableError({
58
- message: (0, exports.removeDelayRenderStack)(cleanErrorMessage),
57
+ message: removeDelayRenderStack(cleanErrorMessage),
59
58
  stackFrame: exception.exceptionDetails.stackTrace
60
59
  .callFrames.map((f) => callFrameToStackFrame(f)),
61
60
  frame,
@@ -70,4 +69,3 @@ const handleJavascriptException = ({ page, onError, frame, }) => {
70
69
  };
71
70
  };
72
71
  exports.handleJavascriptException = handleJavascriptException;
73
- //# sourceMappingURL=handle-javascript-exception.js.map
@@ -1,4 +1,3 @@
1
1
  import { ErrorWithStackFrame } from './handle-javascript-exception';
2
2
  import { SymbolicateableError } from './symbolicateable-error';
3
3
  export declare const symbolicateError: (symbolicateableError: SymbolicateableError) => Promise<ErrorWithStackFrame>;
4
- //# sourceMappingURL=symbolicate-error.d.ts.map
@@ -19,4 +19,3 @@ const symbolicateError = async (symbolicateableError) => {
19
19
  return symbolicatedErr;
20
20
  };
21
21
  exports.symbolicateError = symbolicateError;
22
- //# sourceMappingURL=symbolicate-error.js.map
@@ -14,4 +14,3 @@ export declare class SymbolicateableError extends Error {
14
14
  stackFrame: UnsymbolicatedStackFrame[] | null;
15
15
  });
16
16
  }
17
- //# sourceMappingURL=symbolicateable-error.d.ts.map
@@ -16,4 +16,3 @@ class SymbolicateableError extends Error {
16
16
  }
17
17
  }
18
18
  exports.SymbolicateableError = SymbolicateableError;
19
- //# sourceMappingURL=symbolicateable-error.js.map
@@ -0,0 +1,4 @@
1
+ export declare const makeFfmpegFilterFile: (complexFilter: string) => Promise<{
2
+ file: string;
3
+ cleanup: () => void;
4
+ }>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ // While an FFMPEG filter can be passed directly, if it's too long
3
+ // we run into Windows command length limits.
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.makeFfmpegFilterFile = void 0;
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const delete_directory_1 = require("./delete-directory");
12
+ const tmp_dir_1 = require("./tmp-dir");
13
+ const makeFfmpegFilterFile = async (complexFilter) => {
14
+ const tempPath = (0, tmp_dir_1.tmpDir)('remotion-complex-filter');
15
+ const filterFile = path_1.default.join(tempPath, 'complex-filter.txt');
16
+ await fs_1.default.promises.writeFile(filterFile, complexFilter);
17
+ return {
18
+ file: filterFile,
19
+ cleanup: () => {
20
+ (0, delete_directory_1.deleteDirectory)(filterFile);
21
+ },
22
+ };
23
+ };
24
+ exports.makeFfmpegFilterFile = makeFfmpegFilterFile;
@@ -11,4 +11,3 @@ export declare const parseFfmpegVersion: (buildconf: string) => FfmpegVersion;
11
11
  export declare const getFfmpegVersion: (options: {
12
12
  ffmpegExecutable: string | null;
13
13
  }) => Promise<FfmpegVersion>;
14
- //# sourceMappingURL=ffmpeg-flags.d.ts.map
@@ -47,4 +47,3 @@ const getFfmpegVersion = async (options) => {
47
47
  return (0, exports.parseFfmpegVersion)(buildInfo);
48
48
  };
49
49
  exports.getFfmpegVersion = getFfmpegVersion;
50
- //# sourceMappingURL=ffmpeg-flags.js.map
@@ -1,3 +1,2 @@
1
1
  import { Codec } from 'remotion';
2
2
  export declare const getAudioCodecName: (codec: Codec) => string | null;
3
- //# sourceMappingURL=get-audio-codec-name.d.ts.map
@@ -26,4 +26,3 @@ const getAudioCodecName = (codec) => {
26
26
  return null;
27
27
  };
28
28
  exports.getAudioCodecName = getAudioCodecName;
29
- //# sourceMappingURL=get-audio-codec-name.js.map
@@ -9,4 +9,3 @@ export declare const getPageAndCleanupFn: ({ passedInInstance, browserExecutable
9
9
  cleanup: () => void;
10
10
  page: Page;
11
11
  }>;
12
- //# sourceMappingURL=get-browser-instance.d.ts.map
@@ -33,4 +33,3 @@ const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromi
33
33
  };
34
34
  };
35
35
  exports.getPageAndCleanupFn = getPageAndCleanupFn;
36
- //# sourceMappingURL=get-browser-instance.js.map
@@ -1,3 +1,2 @@
1
1
  import { Codec } from 'remotion';
2
2
  export declare const getCodecName: (codec: Codec) => string | null;
3
- //# sourceMappingURL=get-codec-name.d.ts.map
@@ -24,4 +24,3 @@ const getCodecName = (codec) => {
24
24
  throw new TypeError(`Cannot find FFMPEG codec for ${codec}`);
25
25
  };
26
26
  exports.getCodecName = getCodecName;
27
- //# sourceMappingURL=get-codec-name.js.map
@@ -13,4 +13,3 @@ declare type GetCompositionsConfig = {
13
13
  };
14
14
  export declare const getCompositions: (serveUrlOrWebpackUrl: string, config?: GetCompositionsConfig | undefined) => Promise<TCompMetadata[]>;
15
15
  export {};
16
- //# sourceMappingURL=get-compositions.d.ts.map
@@ -75,4 +75,3 @@ const getCompositions = async (serveUrlOrWebpackUrl, config) => {
75
75
  });
76
76
  };
77
77
  exports.getCompositions = getCompositions;
78
- //# sourceMappingURL=get-compositions.js.map
@@ -1,2 +1 @@
1
1
  export declare const getActualConcurrency: (userPreference: number | null) => number;
2
- //# sourceMappingURL=get-concurrency.d.ts.map
@@ -21,4 +21,3 @@ const getActualConcurrency = (userPreference) => {
21
21
  return rounded;
22
22
  };
23
23
  exports.getActualConcurrency = getActualConcurrency;
24
- //# sourceMappingURL=get-concurrency.js.map
@@ -0,0 +1,2 @@
1
+ import { FrameRange } from 'remotion';
2
+ export declare const getDurationFromFrameRange: (frameRange: FrameRange | null, durationInFrames: number) => number;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDurationFromFrameRange = void 0;
4
+ const getDurationFromFrameRange = (frameRange, durationInFrames) => {
5
+ if (frameRange === null) {
6
+ return durationInFrames;
7
+ }
8
+ if (typeof frameRange === 'number') {
9
+ return 1;
10
+ }
11
+ return frameRange[1] - frameRange[0] + 1;
12
+ };
13
+ exports.getDurationFromFrameRange = getDurationFromFrameRange;
@@ -1,3 +1,2 @@
1
1
  import { Codec } from 'remotion';
2
- export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "webm" | "mp4" | "mkv" | "mov";
3
- //# sourceMappingURL=get-extension-from-codec.d.ts.map
2
+ export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "mp4" | "mkv" | "mov" | "webm";
@@ -30,4 +30,3 @@ const getFileExtensionFromCodec = (codec, type) => {
30
30
  }
31
31
  };
32
32
  exports.getFileExtensionFromCodec = getFileExtensionFromCodec;
33
- //# sourceMappingURL=get-extension-from-codec.js.map
@@ -0,0 +1 @@
1
+ export declare const getExtensionOfFilename: (filename: string) => string | null;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExtensionOfFilename = void 0;
4
+ const getExtensionOfFilename = (filename) => {
5
+ const filenameArr = filename.split('.');
6
+ const hasExtension = filenameArr.length >= 2;
7
+ const filenameArrLength = filenameArr.length;
8
+ const extension = hasExtension ? filenameArr[filenameArrLength - 1] : null;
9
+ return extension;
10
+ };
11
+ exports.getExtensionOfFilename = getExtensionOfFilename;
@@ -1,3 +1,2 @@
1
1
  import { FrameRange } from 'remotion';
2
2
  export declare const getRealFrameRange: (durationInFrames: number, frameRange: FrameRange | null) => [number, number];
3
- //# sourceMappingURL=get-frame-to-render.d.ts.map
@@ -17,4 +17,3 @@ const getRealFrameRange = (durationInFrames, frameRange) => {
17
17
  return frameRange;
18
18
  };
19
19
  exports.getRealFrameRange = getRealFrameRange;
20
- //# sourceMappingURL=get-frame-to-render.js.map
@@ -1,4 +1,3 @@
1
1
  import { Browser, BrowserExecutable } from 'remotion';
2
2
  export declare const ensureLocalBrowser: (browser: Browser, preferredBrowserExecutable: BrowserExecutable) => Promise<void>;
3
3
  export declare const getLocalBrowserExecutable: (browser: Browser, preferredBrowserExecutable: BrowserExecutable) => string;
4
- //# sourceMappingURL=get-local-browser-executable.d.ts.map
@@ -86,4 +86,3 @@ const getLocalBrowserExecutable = (browser, preferredBrowserExecutable) => {
86
86
  return status.path;
87
87
  };
88
88
  exports.getLocalBrowserExecutable = getLocalBrowserExecutable;
89
- //# sourceMappingURL=get-local-browser-executable.js.map
@@ -1,2 +1 @@
1
1
  export declare const getDesiredPort: (desiredPort: number | undefined, from: number, to: number) => Promise<number>;
2
- //# sourceMappingURL=get-port.d.ts.map
package/dist/get-port.js CHANGED
@@ -76,4 +76,3 @@ const makeRange = (from, to) => {
76
76
  };
77
77
  return generator(from, to);
78
78
  };
79
- //# sourceMappingURL=get-port.js.map
@@ -1,3 +1,2 @@
1
1
  import { Codec, ProResProfile } from 'remotion';
2
2
  export declare const getProResProfileName: (codec: Codec, proResProfile: ProResProfile | undefined) => string | null;
3
- //# sourceMappingURL=get-prores-profile-name.d.ts.map
@@ -23,4 +23,3 @@ const getProResProfileName = (codec, proResProfile) => {
23
23
  }
24
24
  };
25
25
  exports.getProResProfileName = getProResProfileName;
26
- //# sourceMappingURL=get-prores-profile-name.js.map
@@ -1,3 +1,2 @@
1
1
  import { ImageFormat } from 'remotion';
2
2
  export declare const DEFAULT_IMAGE_FORMAT: ImageFormat;
3
- //# sourceMappingURL=image-format.d.ts.map
@@ -5,4 +5,3 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.DEFAULT_IMAGE_FORMAT = void 0;
6
6
  // However, the CLI will override it and use JPEG if suitable.
7
7
  exports.DEFAULT_IMAGE_FORMAT = 'png';
8
- //# sourceMappingURL=image-format.js.map
package/dist/index.d.ts CHANGED
@@ -35,12 +35,6 @@ export declare const RenderInternals: {
35
35
  port: number;
36
36
  close: () => Promise<void>;
37
37
  }>;
38
- addSilentAudioIfNecessary: ({ durationInFrames, fps, outputLocation, chunkCodec, }: {
39
- outputLocation: string;
40
- durationInFrames: number;
41
- fps: number;
42
- chunkCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv";
43
- }) => Promise<void>;
44
38
  validateEvenDimensionsWithCodec: ({ width, height, codec, scale, }: {
45
39
  width: number;
46
40
  height: number;
@@ -49,8 +43,7 @@ export declare const RenderInternals: {
49
43
  }) => void;
50
44
  normalizeServeUrl: (unnormalized: string) => string;
51
45
  spawnFfmpeg: (options: import("./stitch-frames-to-video").StitcherOptions) => Promise<{
52
- task: import("execa").ExecaChildProcess<string>;
53
- cleanup: (() => void) | undefined;
46
+ task: Promise<unknown>;
54
47
  getLogs: () => string;
55
48
  }>;
56
49
  getFileExtensionFromCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv", type: "chunk" | "final") => "mp3" | "aac" | "wav" | "mp4" | "mkv" | "mov" | "webm";
@@ -77,5 +70,6 @@ export declare const RenderInternals: {
77
70
  parseStack: (stack: string[]) => import("./parse-browser-error-stack").UnsymbolicatedStackFrame[];
78
71
  symbolicateError: (symbolicateableError: SymbolicateableError) => Promise<import("./error-handling/handle-javascript-exception").ErrorWithStackFrame>;
79
72
  SymbolicateableError: typeof SymbolicateableError;
73
+ getDurationFromFrameRange: (frameRange: import("remotion").FrameRange | null, durationInFrames: number) => number;
74
+ getExtensionOfFilename: (filename: string) => string | null;
80
75
  };
81
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RenderInternals = exports.stitchFramesToVideo = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.getCompositions = exports.ErrorWithStackFrame = exports.combineVideos = void 0;
4
- const add_silent_audio_if_necessary_1 = require("./add-silent-audio-if-necessary");
5
4
  const download_file_1 = require("./assets/download-file");
6
5
  const delete_directory_1 = require("./delete-directory");
7
6
  const ensure_output_directory_1 = require("./ensure-output-directory");
@@ -9,7 +8,9 @@ const symbolicate_error_1 = require("./error-handling/symbolicate-error");
9
8
  const symbolicateable_error_1 = require("./error-handling/symbolicateable-error");
10
9
  const ffmpeg_flags_1 = require("./ffmpeg-flags");
11
10
  const get_concurrency_1 = require("./get-concurrency");
11
+ const get_duration_from_frame_range_1 = require("./get-duration-from-frame-range");
12
12
  const get_extension_from_codec_1 = require("./get-extension-from-codec");
13
+ const get_extension_of_filename_1 = require("./get-extension-of-filename");
13
14
  const get_frame_to_render_1 = require("./get-frame-to-render");
14
15
  const get_local_browser_executable_1 = require("./get-local-browser-executable");
15
16
  const is_serve_url_1 = require("./is-serve-url");
@@ -50,7 +51,6 @@ exports.RenderInternals = {
50
51
  binaryExists: validate_ffmpeg_1.binaryExists,
51
52
  getFfmpegBuildInfo: ffmpeg_flags_1.getFfmpegBuildInfo,
52
53
  serveStatic: serve_static_1.serveStatic,
53
- addSilentAudioIfNecessary: add_silent_audio_if_necessary_1.addSilentAudioIfNecessary,
54
54
  validateEvenDimensionsWithCodec: validate_even_dimensions_with_codec_1.validateEvenDimensionsWithCodec,
55
55
  normalizeServeUrl: normalize_serve_url_1.normalizeServeUrl,
56
56
  spawnFfmpeg: stitch_frames_to_video_1.spawnFfmpeg,
@@ -69,5 +69,6 @@ exports.RenderInternals = {
69
69
  parseStack: parse_browser_error_stack_1.parseStack,
70
70
  symbolicateError: symbolicate_error_1.symbolicateError,
71
71
  SymbolicateableError: symbolicateable_error_1.SymbolicateableError,
72
+ getDurationFromFrameRange: get_duration_from_frame_range_1.getDurationFromFrameRange,
73
+ getExtensionOfFilename: get_extension_of_filename_1.getExtensionOfFilename,
72
74
  };
73
- //# sourceMappingURL=index.js.map
@@ -1,2 +1 @@
1
1
  export declare const isServeUrl: (potentialUrl: string) => boolean;
2
- //# sourceMappingURL=is-serve-url.d.ts.map
@@ -10,4 +10,3 @@ const isServeUrl = (potentialUrl) => {
10
10
  return (potentialUrl.startsWith('https://') || potentialUrl.startsWith('http://'));
11
11
  };
12
12
  exports.isServeUrl = isServeUrl;
13
- //# sourceMappingURL=is-serve-url.js.map
@@ -7,4 +7,3 @@ export declare type ServeUrlOrWebpackBundle = {
7
7
  webpackBundle: string;
8
8
  };
9
9
  export declare const getServeUrlWithFallback: (serve: ServeUrlOrWebpackBundle) => string;
10
- //# sourceMappingURL=legacy-webpack-config.d.ts.map
@@ -11,4 +11,3 @@ const getServeUrlWithFallback = (serve) => {
11
11
  throw new Error('You must pass the `serveUrl` parameter');
12
12
  };
13
13
  exports.getServeUrlWithFallback = getServeUrlWithFallback;
14
- //# sourceMappingURL=legacy-webpack-config.js.map
@@ -1,2 +1 @@
1
1
  export declare const makeAssetsDownloadTmpDir: () => string;
2
- //# sourceMappingURL=make-assets-download-dir.d.ts.map
@@ -6,4 +6,3 @@ const makeAssetsDownloadTmpDir = () => {
6
6
  return (0, tmp_dir_1.tmpDir)('remotion-assets-dir');
7
7
  };
8
8
  exports.makeAssetsDownloadTmpDir = makeAssetsDownloadTmpDir;
9
- //# sourceMappingURL=make-assets-download-dir.js.map
@@ -0,0 +1,9 @@
1
+ import { FfmpegExecutable } from 'remotion';
2
+ declare type Options = {
3
+ ffmpegExecutable: FfmpegExecutable;
4
+ files: string[];
5
+ outName: string;
6
+ numberOfSeconds: number;
7
+ };
8
+ export declare const mergeAudioTrack: (options: Options) => Promise<void>;
9
+ export {};
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mergeAudioTrack = void 0;
7
+ const execa_1 = __importDefault(require("execa"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const remotion_1 = require("remotion");
10
+ const chunk_1 = require("./chunk");
11
+ const convert_to_pcm_1 = require("./convert-to-pcm");
12
+ const create_ffmpeg_complex_filter_1 = require("./create-ffmpeg-complex-filter");
13
+ const create_silent_audio_1 = require("./create-silent-audio");
14
+ const p_limit_1 = require("./p-limit");
15
+ const tmp_dir_1 = require("./tmp-dir");
16
+ const mergeAudioTrackUnlimited = async ({ ffmpegExecutable, outName, files, numberOfSeconds, }) => {
17
+ if (files.length === 0) {
18
+ await (0, create_silent_audio_1.createSilentAudio)({
19
+ outName,
20
+ ffmpegExecutable,
21
+ numberOfSeconds,
22
+ });
23
+ return;
24
+ }
25
+ if (files.length === 1) {
26
+ await (0, convert_to_pcm_1.convertToPcm)({
27
+ outName,
28
+ ffmpegExecutable,
29
+ input: files[0],
30
+ });
31
+ return;
32
+ }
33
+ // FFMPEG has a limit of 64 tracks that can be merged at once
34
+ if (files.length > 64) {
35
+ const chunked = (0, chunk_1.chunk)(files, 10);
36
+ const tempPath = (0, tmp_dir_1.tmpDir)('remotion-large-audio-mixing');
37
+ const chunkNames = await Promise.all(chunked.map(async (chunkFiles, i) => {
38
+ const chunkOutname = path_1.default.join(tempPath, `chunk-${i}.wav`);
39
+ await (0, exports.mergeAudioTrack)({
40
+ ffmpegExecutable,
41
+ files: chunkFiles,
42
+ numberOfSeconds,
43
+ outName: chunkOutname,
44
+ });
45
+ return chunkOutname;
46
+ }));
47
+ return (0, exports.mergeAudioTrack)({
48
+ ffmpegExecutable,
49
+ files: chunkNames,
50
+ numberOfSeconds,
51
+ outName,
52
+ });
53
+ }
54
+ const { complexFilterFlag: mergeFilter, cleanup } = await (0, create_ffmpeg_complex_filter_1.createFfmpegComplexFilter)(files.length);
55
+ const args = [
56
+ ...files.map((f) => ['-i', f]),
57
+ mergeFilter,
58
+ ['-c:a', 'pcm_s16le'],
59
+ ['-map', '[a]'],
60
+ ['-y', outName],
61
+ ]
62
+ .filter(remotion_1.Internals.truthy)
63
+ .flat(2);
64
+ const task = (0, execa_1.default)(ffmpegExecutable !== null && ffmpegExecutable !== void 0 ? ffmpegExecutable : 'ffmpeg', args);
65
+ await task;
66
+ cleanup();
67
+ };
68
+ const limit = (0, p_limit_1.pLimit)(2);
69
+ const mergeAudioTrack = (options) => {
70
+ return limit(mergeAudioTrackUnlimited, options);
71
+ };
72
+ exports.mergeAudioTrack = mergeAudioTrack;
@@ -1,2 +1 @@
1
1
  export declare const normalizeServeUrl: (unnormalized: string) => string;
2
- //# sourceMappingURL=normalize-serve-url.d.ts.map
@@ -17,4 +17,3 @@ const normalizeServeUrl = (unnormalized) => {
17
17
  return `${unnormalized}/index.html`;
18
18
  };
19
19
  exports.normalizeServeUrl = normalizeServeUrl;
20
- //# sourceMappingURL=normalize-serve-url.js.map
@@ -15,4 +15,3 @@ export declare const openBrowser: (browser: Browser, options?: {
15
15
  chromiumOptions?: ChromiumOptions | undefined;
16
16
  } | undefined) => Promise<puppeteer.Browser>;
17
17
  export {};
18
- //# sourceMappingURL=open-browser.d.ts.map
@@ -76,4 +76,3 @@ const openBrowser = async (browser, options) => {
76
76
  return browserInstance;
77
77
  };
78
78
  exports.openBrowser = openBrowser;
79
- //# sourceMappingURL=open-browser.js.map
@@ -0,0 +1 @@
1
+ export declare const pLimit: (concurrency: number) => <Arguments extends unknown[], ReturnType_1>(fn: (..._arguments: Arguments) => ReturnType_1 | PromiseLike<ReturnType_1>, ...args: Arguments) => Promise<ReturnType_1>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pLimit = void 0;
4
+ const pLimit = (concurrency) => {
5
+ const queue = [];
6
+ let activeCount = 0;
7
+ const next = () => {
8
+ var _a;
9
+ activeCount--;
10
+ if (queue.length > 0) {
11
+ (_a = queue.shift()) === null || _a === void 0 ? void 0 : _a();
12
+ }
13
+ };
14
+ const run = async (fn, resolve, ...args) => {
15
+ activeCount++;
16
+ // eslint-disable-next-line require-await
17
+ const result = (async () => fn(...args))();
18
+ resolve(result);
19
+ try {
20
+ await result;
21
+ }
22
+ catch (_a) { }
23
+ next();
24
+ };
25
+ const enqueue = (fn, resolve, ...args) => {
26
+ queue.push(() => run(fn, resolve, ...args));
27
+ (async () => {
28
+ var _a;
29
+ // This function needs to wait until the next microtask before comparing
30
+ // `activeCount` to `concurrency`, because `activeCount` is updated asynchronously
31
+ // when the run function is dequeued and called. The comparison in the if-statement
32
+ // needs to happen asynchronously as well to get an up-to-date value for `activeCount`.
33
+ await Promise.resolve();
34
+ if (activeCount < concurrency && queue.length > 0) {
35
+ (_a = queue.shift()) === null || _a === void 0 ? void 0 : _a();
36
+ }
37
+ })();
38
+ };
39
+ const generator = (fn, ...args) => new Promise((resolve) => {
40
+ enqueue(fn, resolve, ...args);
41
+ });
42
+ Object.defineProperties(generator, {
43
+ activeCount: {
44
+ get: () => activeCount,
45
+ },
46
+ pendingCount: {
47
+ get: () => queue.length,
48
+ },
49
+ clearQueue: {
50
+ value: () => {
51
+ queue.length = 0;
52
+ },
53
+ },
54
+ });
55
+ return generator;
56
+ };
57
+ exports.pLimit = pLimit;
@@ -5,4 +5,3 @@ export declare type UnsymbolicatedStackFrame = {
5
5
  columnNumber: number;
6
6
  };
7
7
  export declare const parseStack: (stack: string[]) => UnsymbolicatedStackFrame[];
8
- //# sourceMappingURL=parse-browser-error-stack.d.ts.map
@@ -85,4 +85,3 @@ const parseStack = (stack) => {
85
85
  return frames;
86
86
  };
87
87
  exports.parseStack = parseStack;
88
- //# sourceMappingURL=parse-browser-error-stack.js.map
@@ -1,2 +1 @@
1
1
  export declare const parseFfmpegProgress: (input: string) => number | undefined;
2
- //# sourceMappingURL=parse-ffmpeg-progress.d.ts.map