@remotion/renderer 4.0.0-imgloading.2 → 4.0.0-lambda.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts.map +1 -0
  2. package/dist/assets/calculate-asset-positions.js.map +1 -0
  3. package/dist/assets/calculate-atempo.d.ts.map +1 -0
  4. package/dist/assets/calculate-atempo.js.map +1 -0
  5. package/dist/assets/cleanup-assets.d.ts +2 -0
  6. package/dist/assets/cleanup-assets.js +2 -0
  7. package/dist/assets/convert-assets-to-file-urls.d.ts.map +1 -0
  8. package/dist/assets/convert-assets-to-file-urls.js.map +1 -0
  9. package/dist/assets/download-and-map-assets-to-file.d.ts +6 -0
  10. package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -0
  11. package/dist/assets/download-and-map-assets-to-file.js +46 -19
  12. package/dist/assets/download-and-map-assets-to-file.js.map +1 -0
  13. package/dist/assets/download-file.d.ts.map +1 -0
  14. package/dist/assets/download-file.js.map +1 -0
  15. package/dist/assets/ffmpeg-volume-expression.d.ts +2 -1
  16. package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -0
  17. package/dist/assets/ffmpeg-volume-expression.js +15 -12
  18. package/dist/assets/ffmpeg-volume-expression.js.map +1 -0
  19. package/dist/assets/flatten-volume-array.d.ts.map +1 -0
  20. package/dist/assets/flatten-volume-array.js.map +1 -0
  21. package/dist/assets/get-audio-channels.d.ts +5 -2
  22. package/dist/assets/get-audio-channels.d.ts.map +1 -0
  23. package/dist/assets/get-audio-channels.js +15 -4
  24. package/dist/assets/get-audio-channels.js.map +1 -0
  25. package/dist/assets/read-file.d.ts.map +1 -0
  26. package/dist/assets/read-file.js.map +1 -0
  27. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +1 -0
  28. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +1 -0
  29. package/dist/assets/sanitize-filename.d.ts.map +1 -0
  30. package/dist/assets/sanitize-filename.js.map +1 -0
  31. package/dist/assets/sanitize-filepath.d.ts.map +1 -0
  32. package/dist/assets/sanitize-filepath.js.map +1 -0
  33. package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
  34. package/dist/assets/truncate-utf8-bytes.js.map +1 -0
  35. package/dist/assets/types.d.ts.map +1 -0
  36. package/dist/assets/types.js.map +1 -0
  37. package/dist/browser/Accessibility.d.ts +175 -0
  38. package/dist/browser/Accessibility.js +423 -0
  39. package/dist/browser/AriaQueryHandler.d.ts +20 -0
  40. package/dist/browser/AriaQueryHandler.js +108 -0
  41. package/dist/browser/Browser.d.ts +209 -0
  42. package/dist/browser/Browser.js +402 -0
  43. package/dist/browser/BrowserConnector.d.ts +26 -0
  44. package/dist/browser/BrowserConnector.js +49 -0
  45. package/dist/browser/BrowserFetcher.d.ts +89 -0
  46. package/dist/browser/BrowserFetcher.js +512 -0
  47. package/dist/browser/BrowserRunner.d.ts +39 -0
  48. package/dist/browser/BrowserRunner.js +308 -0
  49. package/dist/browser/Connection.d.ts +49 -0
  50. package/dist/browser/Connection.js +262 -0
  51. package/dist/browser/ConnectionTransport.d.ts +21 -0
  52. package/dist/browser/ConnectionTransport.js +17 -0
  53. package/dist/browser/ConsoleMessage.d.ts +55 -0
  54. package/dist/browser/ConsoleMessage.js +75 -0
  55. package/dist/browser/Coverage.d.ts +180 -0
  56. package/dist/browser/Coverage.js +371 -0
  57. package/dist/browser/DOMWorld.d.ts +50 -0
  58. package/dist/browser/DOMWorld.js +280 -0
  59. package/dist/browser/Debug.d.ts +19 -0
  60. package/dist/browser/Debug.js +42 -0
  61. package/dist/browser/DeviceDescriptors.d.ts +40 -0
  62. package/dist/browser/DeviceDescriptors.js +1407 -0
  63. package/dist/browser/EmulationManager.d.ts +7 -0
  64. package/dist/browser/EmulationManager.js +40 -0
  65. package/dist/browser/Errors.d.ts +25 -0
  66. package/dist/browser/Errors.js +35 -0
  67. package/dist/browser/EvalTypes.d.ts +27 -0
  68. package/dist/browser/EvalTypes.js +17 -0
  69. package/dist/browser/EventEmitter.d.ts +70 -0
  70. package/dist/browser/EventEmitter.js +102 -0
  71. package/dist/browser/ExecutionContext.d.ts +35 -0
  72. package/dist/browser/ExecutionContext.js +190 -0
  73. package/dist/browser/FileChooser.d.ts +56 -0
  74. package/dist/browser/FileChooser.js +86 -0
  75. package/dist/browser/FrameManager.d.ts +96 -0
  76. package/dist/browser/FrameManager.js +512 -0
  77. package/dist/browser/HTTPRequest.d.ts +42 -0
  78. package/dist/browser/HTTPRequest.js +82 -0
  79. package/dist/browser/HTTPResponse.d.ts +100 -0
  80. package/dist/browser/HTTPResponse.js +196 -0
  81. package/dist/browser/Input.d.ts +355 -0
  82. package/dist/browser/Input.js +592 -0
  83. package/dist/browser/JSHandle.d.ts +36 -0
  84. package/dist/browser/JSHandle.js +93 -0
  85. package/dist/browser/LaunchOptions.d.ts +117 -0
  86. package/dist/browser/LaunchOptions.js +17 -0
  87. package/dist/browser/Launcher.d.ts +9 -0
  88. package/dist/browser/Launcher.js +602 -0
  89. package/dist/browser/LifecycleWatcher.d.ts +29 -0
  90. package/dist/browser/LifecycleWatcher.js +193 -0
  91. package/dist/browser/NetworkConditions.d.ts +26 -0
  92. package/dist/browser/NetworkConditions.js +33 -0
  93. package/dist/browser/NetworkEventManager.d.ts +35 -0
  94. package/dist/browser/NetworkEventManager.js +128 -0
  95. package/dist/browser/NetworkManager.d.ts +36 -0
  96. package/dist/browser/NetworkManager.js +284 -0
  97. package/dist/browser/NodeWebSocketTransport.d.ts +11 -0
  98. package/dist/browser/NodeWebSocketTransport.js +90 -0
  99. package/dist/browser/PDFOptions.d.ts +165 -0
  100. package/dist/browser/PDFOptions.js +34 -0
  101. package/dist/browser/PipeTransport.d.ts +10 -0
  102. package/dist/browser/PipeTransport.js +86 -0
  103. package/dist/browser/Product.d.ts +16 -0
  104. package/dist/browser/Product.js +17 -0
  105. package/dist/browser/Puppeteer.d.ts +35 -0
  106. package/dist/browser/Puppeteer.js +17 -0
  107. package/dist/browser/PuppeteerNode.d.ts +92 -0
  108. package/dist/browser/PuppeteerNode.js +143 -0
  109. package/dist/browser/PuppeteerViewport.d.ts +5 -0
  110. package/dist/browser/PuppeteerViewport.js +2 -0
  111. package/dist/browser/QueryHandler.d.ts +64 -0
  112. package/dist/browser/QueryHandler.js +183 -0
  113. package/dist/browser/ScreenshotOptions.d.ts +14 -0
  114. package/dist/browser/ScreenshotOptions.js +2 -0
  115. package/dist/browser/SecurityDetails.d.ts +55 -0
  116. package/dist/browser/SecurityDetails.js +95 -0
  117. package/dist/browser/Target.d.ts +61 -0
  118. package/dist/browser/Target.js +146 -0
  119. package/dist/browser/TaskQueue.d.ts +20 -0
  120. package/dist/browser/TaskQueue.js +47 -0
  121. package/dist/browser/TimeoutSettings.d.ts +23 -0
  122. package/dist/browser/TimeoutSettings.js +62 -0
  123. package/dist/browser/Tracing.d.ts +45 -0
  124. package/dist/browser/Tracing.js +136 -0
  125. package/dist/browser/USKeyboardLayout.d.ts +39 -0
  126. package/dist/browser/USKeyboardLayout.js +406 -0
  127. package/dist/browser/WebWorker.d.ts +96 -0
  128. package/dist/browser/WebWorker.js +122 -0
  129. package/dist/browser/assert.d.ts +21 -0
  130. package/dist/browser/assert.js +29 -0
  131. package/dist/browser/compat.d.ts +2 -0
  132. package/dist/browser/compat.js +17 -0
  133. package/dist/browser/create-browser-fetcher.d.ts +17 -0
  134. package/dist/browser/create-browser-fetcher.js +140 -0
  135. package/dist/browser/dialog.d.ts +70 -0
  136. package/dist/browser/dialog.js +114 -0
  137. package/dist/browser/environment.d.ts +16 -0
  138. package/dist/browser/environment.js +19 -0
  139. package/dist/browser/fetch.d.ts +16 -0
  140. package/dist/browser/fetch.js +46 -0
  141. package/dist/browser/find-up.d.ts +4 -0
  142. package/dist/browser/find-up.js +85 -0
  143. package/dist/browser/get-download-destination.d.ts +1 -0
  144. package/dist/browser/get-download-destination.js +38 -0
  145. package/dist/browser/mitt/index.d.ts +22 -0
  146. package/dist/browser/mitt/index.js +49 -0
  147. package/dist/browser/node.d.ts +2 -0
  148. package/dist/browser/node.js +9 -0
  149. package/dist/browser/page.d.ts +78 -0
  150. package/dist/browser/page.js +277 -0
  151. package/dist/browser/pkg-dir.d.ts +3 -0
  152. package/dist/browser/pkg-dir.js +13 -0
  153. package/dist/browser/revisions.d.ts +21 -0
  154. package/dist/browser/revisions.js +22 -0
  155. package/dist/browser/util.d.ts +46 -0
  156. package/dist/browser/util.js +161 -0
  157. package/dist/browser-log.d.ts.map +1 -0
  158. package/dist/browser-log.js.map +1 -0
  159. package/dist/calculate-ffmpeg-filters.d.ts.map +1 -0
  160. package/dist/calculate-ffmpeg-filters.js +2 -2
  161. package/dist/calculate-ffmpeg-filters.js.map +1 -0
  162. package/dist/can-use-parallel-encoding.d.ts.map +1 -0
  163. package/dist/can-use-parallel-encoding.js.map +1 -0
  164. package/dist/chunk.d.ts.map +1 -0
  165. package/dist/chunk.js.map +1 -0
  166. package/dist/combine-videos.d.ts +2 -1
  167. package/dist/combine-videos.d.ts.map +1 -0
  168. package/dist/combine-videos.js +8 -1
  169. package/dist/combine-videos.js.map +1 -0
  170. package/dist/convert-to-pcm.d.ts.map +1 -0
  171. package/dist/convert-to-pcm.js.map +1 -0
  172. package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -0
  173. package/dist/create-ffmpeg-complex-filter.js.map +1 -0
  174. package/dist/create-ffmpeg-merge-filter.d.ts.map +1 -0
  175. package/dist/create-ffmpeg-merge-filter.js.map +1 -0
  176. package/dist/create-silent-audio.d.ts.map +1 -0
  177. package/dist/create-silent-audio.js.map +1 -0
  178. package/dist/cycle-browser-tabs.d.ts +2 -1
  179. package/dist/cycle-browser-tabs.d.ts.map +1 -0
  180. package/dist/cycle-browser-tabs.js +9 -2
  181. package/dist/cycle-browser-tabs.js.map +1 -0
  182. package/dist/delay-render-embedded-stack.d.ts.map +1 -0
  183. package/dist/delay-render-embedded-stack.js.map +1 -0
  184. package/dist/delete-directory.d.ts.map +1 -0
  185. package/dist/delete-directory.js.map +1 -0
  186. package/dist/ensure-frames-in-order.d.ts.map +1 -0
  187. package/dist/ensure-frames-in-order.js.map +1 -0
  188. package/dist/ensure-output-directory.d.ts.map +1 -0
  189. package/dist/ensure-output-directory.js.map +1 -0
  190. package/dist/ensure-presentation-timestamp.d.ts +1 -0
  191. package/dist/ensure-presentation-timestamp.js +57 -0
  192. package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
  193. package/dist/error-handling/handle-javascript-exception.js.map +1 -0
  194. package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
  195. package/dist/error-handling/symbolicate-error.js.map +1 -0
  196. package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
  197. package/dist/error-handling/symbolicateable-error.js.map +1 -0
  198. package/dist/extract-frame-from-video.d.ts +11 -0
  199. package/dist/extract-frame-from-video.js +197 -0
  200. package/dist/ffmpeg-filter-file.d.ts.map +1 -0
  201. package/dist/ffmpeg-filter-file.js.map +1 -0
  202. package/dist/ffmpeg-flags.d.ts.map +1 -0
  203. package/dist/ffmpeg-flags.js.map +1 -0
  204. package/dist/frame-to-ffmpeg-timestamp.d.ts +1 -0
  205. package/dist/frame-to-ffmpeg-timestamp.js +8 -0
  206. package/dist/get-audio-codec-name.d.ts.map +1 -0
  207. package/dist/get-audio-codec-name.js.map +1 -0
  208. package/dist/get-browser-instance.d.ts.map +1 -0
  209. package/dist/get-browser-instance.js.map +1 -0
  210. package/dist/get-codec-name.d.ts.map +1 -0
  211. package/dist/get-codec-name.js.map +1 -0
  212. package/dist/get-compositions.d.ts +5 -2
  213. package/dist/get-compositions.d.ts.map +1 -0
  214. package/dist/get-compositions.js +23 -5
  215. package/dist/get-compositions.js.map +1 -0
  216. package/dist/get-concurrency.d.ts.map +1 -0
  217. package/dist/get-concurrency.js.map +1 -0
  218. package/dist/get-duration-from-frame-range.d.ts.map +1 -0
  219. package/dist/get-duration-from-frame-range.js.map +1 -0
  220. package/dist/get-duration-of-asset.d.ts +7 -0
  221. package/dist/get-duration-of-asset.js +36 -0
  222. package/dist/get-extension-from-codec.d.ts.map +1 -0
  223. package/dist/get-extension-from-codec.js.map +1 -0
  224. package/dist/get-frame-to-render.d.ts.map +1 -0
  225. package/dist/get-frame-to-render.js.map +1 -0
  226. package/dist/get-local-browser-executable.d.ts.map +1 -0
  227. package/dist/get-local-browser-executable.js.map +1 -0
  228. package/dist/get-port.d.ts.map +1 -0
  229. package/dist/get-port.js +26 -24
  230. package/dist/get-port.js.map +1 -0
  231. package/dist/get-prores-profile-name.d.ts.map +1 -0
  232. package/dist/get-prores-profile-name.js.map +1 -0
  233. package/dist/image-format.d.ts.map +1 -0
  234. package/dist/image-format.js.map +1 -0
  235. package/dist/index.d.ts +34 -9
  236. package/dist/index.d.ts.map +1 -0
  237. package/dist/index.js +14 -5
  238. package/dist/index.js.map +1 -0
  239. package/dist/is-beyond-last-frame.d.ts +2 -0
  240. package/dist/is-beyond-last-frame.js +12 -0
  241. package/dist/is-serve-url.d.ts.map +1 -0
  242. package/dist/is-serve-url.js.map +1 -0
  243. package/dist/last-frame-from-video-cache.d.ts +10 -0
  244. package/dist/last-frame-from-video-cache.js +50 -0
  245. package/dist/legacy-webpack-config.d.ts.map +1 -0
  246. package/dist/legacy-webpack-config.js.map +1 -0
  247. package/dist/make-assets-download-dir.d.ts.map +1 -0
  248. package/dist/make-assets-download-dir.js +6 -1
  249. package/dist/make-assets-download-dir.js.map +1 -0
  250. package/dist/make-cancel-signal.d.ts +7 -0
  251. package/dist/make-cancel-signal.js +25 -0
  252. package/dist/merge-audio-track.d.ts.map +1 -0
  253. package/dist/merge-audio-track.js +2 -2
  254. package/dist/merge-audio-track.js.map +1 -0
  255. package/dist/normalize-serve-url.d.ts.map +1 -0
  256. package/dist/normalize-serve-url.js.map +1 -0
  257. package/dist/offthread-video-server.d.ts +14 -0
  258. package/dist/offthread-video-server.js +67 -0
  259. package/dist/open-browser.d.ts +5 -5
  260. package/dist/open-browser.d.ts.map +1 -0
  261. package/dist/open-browser.js +3 -3
  262. package/dist/open-browser.js.map +1 -0
  263. package/dist/p-limit.d.ts.map +1 -0
  264. package/dist/p-limit.js.map +1 -0
  265. package/dist/parse-browser-error-stack.d.ts.map +1 -0
  266. package/dist/parse-browser-error-stack.js.map +1 -0
  267. package/dist/parse-ffmpeg-progress.d.ts.map +1 -0
  268. package/dist/parse-ffmpeg-progress.js.map +1 -0
  269. package/dist/pool.d.ts.map +1 -0
  270. package/dist/pool.js.map +1 -0
  271. package/dist/prepare-server.d.ts +13 -2
  272. package/dist/prepare-server.d.ts.map +1 -0
  273. package/dist/prepare-server.js +35 -5
  274. package/dist/prepare-server.js.map +1 -0
  275. package/dist/preprocess-audio-track.d.ts +1 -0
  276. package/dist/preprocess-audio-track.d.ts.map +1 -0
  277. package/dist/preprocess-audio-track.js +2 -2
  278. package/dist/preprocess-audio-track.js.map +1 -0
  279. package/dist/prespawn-ffmpeg.d.ts +2 -0
  280. package/dist/prespawn-ffmpeg.d.ts.map +1 -0
  281. package/dist/prespawn-ffmpeg.js +10 -9
  282. package/dist/prespawn-ffmpeg.js.map +1 -0
  283. package/dist/provide-screenshot.d.ts +0 -1
  284. package/dist/provide-screenshot.d.ts.map +1 -0
  285. package/dist/provide-screenshot.js +1 -1
  286. package/dist/provide-screenshot.js.map +1 -0
  287. package/dist/puppeteer-evaluate.d.ts.map +1 -0
  288. package/dist/puppeteer-evaluate.js.map +1 -0
  289. package/dist/puppeteer-screenshot.d.ts +0 -1
  290. package/dist/puppeteer-screenshot.d.ts.map +1 -0
  291. package/dist/puppeteer-screenshot.js +5 -1
  292. package/dist/puppeteer-screenshot.js.map +1 -0
  293. package/dist/render-frames.d.ts +6 -1
  294. package/dist/render-frames.d.ts.map +1 -0
  295. package/dist/render-frames.js +96 -37
  296. package/dist/render-frames.js.map +1 -0
  297. package/dist/render-media.d.ts +12 -2
  298. package/dist/render-media.d.ts.map +1 -0
  299. package/dist/render-media.js +127 -54
  300. package/dist/render-media.js.map +1 -0
  301. package/dist/render-still.d.ts +14 -4
  302. package/dist/render-still.d.ts.map +1 -0
  303. package/dist/render-still.js +58 -19
  304. package/dist/render-still.js.map +1 -0
  305. package/dist/resolve-asset-src.d.ts.map +1 -0
  306. package/dist/resolve-asset-src.js.map +1 -0
  307. package/dist/sample-rate.d.ts.map +1 -0
  308. package/dist/sample-rate.js.map +1 -0
  309. package/dist/screenshot-dom-element.d.ts +0 -1
  310. package/dist/screenshot-dom-element.d.ts.map +1 -0
  311. package/dist/screenshot-dom-element.js.map +1 -0
  312. package/dist/screenshot-task.d.ts +0 -1
  313. package/dist/screenshot-task.d.ts.map +1 -0
  314. package/dist/screenshot-task.js.map +1 -0
  315. package/dist/seek-to-frame.d.ts.map +1 -0
  316. package/dist/seek-to-frame.js.map +1 -0
  317. package/dist/serve-handler/glob-slash.d.ts +1 -0
  318. package/dist/serve-handler/glob-slash.js +12 -0
  319. package/dist/serve-handler/index.d.ts +4 -0
  320. package/dist/serve-handler/index.js +205 -0
  321. package/dist/serve-handler/is-path-inside.d.ts +1 -0
  322. package/dist/serve-handler/is-path-inside.js +27 -0
  323. package/dist/serve-handler/range-parser.d.ts +13 -0
  324. package/dist/serve-handler/range-parser.js +57 -0
  325. package/dist/serve-static.d.ts +10 -3
  326. package/dist/serve-static.d.ts.map +1 -0
  327. package/dist/serve-static.js +22 -4
  328. package/dist/serve-static.js.map +1 -0
  329. package/dist/set-props-and-env.d.ts +3 -1
  330. package/dist/set-props-and-env.d.ts.map +1 -0
  331. package/dist/set-props-and-env.js +25 -3
  332. package/dist/set-props-and-env.js.map +1 -0
  333. package/dist/stitch-frames-to-video.d.ts +4 -1
  334. package/dist/stitch-frames-to-video.d.ts.map +1 -0
  335. package/dist/stitch-frames-to-video.js +36 -15
  336. package/dist/stitch-frames-to-video.js.map +1 -0
  337. package/dist/stringify-ffmpeg-filter.d.ts.map +1 -0
  338. package/dist/stringify-ffmpeg-filter.js +3 -0
  339. package/dist/stringify-ffmpeg-filter.js.map +1 -0
  340. package/dist/symbolicate-stacktrace.d.ts.map +1 -0
  341. package/dist/symbolicate-stacktrace.js.map +1 -0
  342. package/dist/tmp-dir.d.ts.map +1 -0
  343. package/dist/tmp-dir.js +5 -1
  344. package/dist/tmp-dir.js.map +1 -0
  345. package/dist/types.d.ts.map +1 -0
  346. package/dist/types.js.map +1 -0
  347. package/dist/validate-even-dimensions-with-codec.d.ts.map +1 -0
  348. package/dist/validate-even-dimensions-with-codec.js.map +1 -0
  349. package/dist/validate-ffmpeg.d.ts.map +1 -0
  350. package/dist/validate-ffmpeg.js.map +1 -0
  351. package/dist/validate-fps-for-gif.d.ts +2 -0
  352. package/dist/validate-fps-for-gif.js +9 -0
  353. package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
  354. package/dist/validate-puppeteer-timeout.js.map +1 -0
  355. package/dist/validate-scale.d.ts.map +1 -0
  356. package/dist/validate-scale.js.map +1 -0
  357. package/package.json +6 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-asset-positions.d.ts","sourceRoot":"","sources":["../../src/assets/calculate-asset-positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAC,MAAM,EAAgD,MAAM,SAAS,CAAC;AA2B9E,eAAO,MAAM,uBAAuB,WAAY,MAAM,EAAE,EAAE,WA4CzD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-asset-positions.js","sourceRoot":"","sources":["../../src/assets/calculate-asset-positions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-atempo.d.ts","sourceRoot":"","sources":["../../src/assets/calculate-atempo.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,iBAAkB,MAAM,KAAG,MAAM,GAAG,IAY/D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-atempo.js","sourceRoot":"","sources":["../../src/assets/calculate-atempo.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,mFAAmF;AACnF,sUAAsU;;;AAE/T,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAiB,EAAE;IACtE,IAAI,YAAY,KAAK,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACZ;IAED,IAAI,YAAY,IAAI,GAAG,IAAI,YAAY,IAAI,CAAC,EAAE;QAC7C,OAAO,UAAU,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C;IAED,OAAO,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,IAAA,uBAAe,EACpE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CACvB,EAAE,CAAC;AACL,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B"}
@@ -0,0 +1,2 @@
1
+ export declare type RenderCleanupFn = () => Promise<void>;
2
+ export declare type AddRenderCleanupFunction = (cleanup: RenderCleanupFn) => void;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-assets-to-file-urls.d.ts","sourceRoot":"","sources":["../../src/assets/convert-assets-to-file-urls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAEN,qBAAqB,EACrB,MAAM,mCAAmC,CAAC;AAU3C,eAAO,MAAM,uBAAuB;YAK3B,MAAM,EAAE,EAAE;iBACL,MAAM;gBACP,qBAAqB;MAC9B,QAAQ,MAAM,EAAE,EAAE,CAsBrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-assets-to-file-urls.js","sourceRoot":"","sources":["../../src/assets/convert-assets-to-file-urls.ts"],"names":[],"mappings":";;;AACA,uFAG2C;AAE3C,MAAM,KAAK,GAAG,CAAI,KAAU,EAAE,IAAY,EAAE,EAAE;IAC7C,OAAO,KAAK,CAAC,MAAM,CAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC7C,OAAO,GAAG,GAAG,IAAI,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;AACR,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC7C,MAAM,EACN,WAAW,EACX,UAAU,GAKV,EAAuB,EAAE;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO,OAAO,CAAC,GAAG,CACjB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,OAAO,IAAA,+DAA6B,EAAC;oBACpC,KAAK,EAAE,CAAC;oBACR,WAAW;oBACX,UAAU;iBACV,CAAC,CAAC;YACJ,CAAC,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AA9BW,QAAA,uBAAuB,2BA8BlC"}
@@ -2,6 +2,7 @@ import { TAsset } from 'remotion';
2
2
  export declare type RenderMediaOnDownload = (src: string) => ((progress: {
3
3
  percent: number;
4
4
  }) => void) | undefined | void;
5
+ export declare const waitForAssetToBeDownloaded: (src: string, to: string) => Promise<void>;
5
6
  export declare const markAllAssetsAsDownloaded: () => void;
6
7
  export declare const getSanitizedFilenameForAssetUrl: ({ src, downloadDir, }: {
7
8
  src: string;
@@ -12,3 +13,8 @@ export declare const downloadAndMapAssetsToFileUrl: ({ asset, downloadDir, onDow
12
13
  downloadDir: string;
13
14
  onDownload: RenderMediaOnDownload;
14
15
  }) => Promise<TAsset>;
16
+ export declare const startDownloadForSrc: ({ src, downloadDir, onDownload, }: {
17
+ src: string;
18
+ downloadDir: string;
19
+ onDownload: RenderMediaOnDownload;
20
+ }) => Promise<string>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-and-map-assets-to-file.d.ts","sourceRoot":"","sources":["../../src/assets/download-and-map-assets-to-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,MAAM,EAAC,MAAM,UAAU,CAAC;AAKnD,oBAAY,qBAAqB,GAAG,CACnC,GAAG,EAAE,MAAM,KACP,CAAC,CAAC,QAAQ,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AAuHhE,eAAO,MAAM,yBAAyB,YAQrC,CAAC;AAEF,eAAO,MAAM,+BAA+B;SAItC,MAAM;iBACE,MAAM;YAqBnB,CAAC;AAEF,eAAO,MAAM,6BAA6B;WAKlC,MAAM;iBACA,MAAM;gBACP,qBAAqB;MAC9B,QAAQ,MAAM,CAcjB,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.downloadAndMapAssetsToFileUrl = exports.getSanitizedFilenameForAssetUrl = exports.markAllAssetsAsDownloaded = void 0;
6
+ exports.startDownloadForSrc = exports.downloadAndMapAssetsToFileUrl = exports.getSanitizedFilenameForAssetUrl = exports.markAllAssetsAsDownloaded = exports.waitForAssetToBeDownloaded = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const remotion_1 = require("remotion");
@@ -13,21 +13,38 @@ const sanitize_filepath_1 = require("./sanitize-filepath");
13
13
  const isDownloadingMap = {};
14
14
  const hasBeenDownloadedMap = {};
15
15
  const listeners = {};
16
- const waitForAssetToBeDownloaded = (src) => {
16
+ const waitForAssetToBeDownloaded = (src, to) => {
17
+ var _a;
18
+ if ((_a = hasBeenDownloadedMap[src]) === null || _a === void 0 ? void 0 : _a[to]) {
19
+ return Promise.resolve();
20
+ }
17
21
  if (!listeners[src]) {
18
- listeners[src] = [];
22
+ listeners[src] = {};
23
+ }
24
+ if (!listeners[src][to]) {
25
+ listeners[src][to] = [];
19
26
  }
20
27
  return new Promise((resolve) => {
21
- listeners[src].push(() => resolve());
28
+ listeners[src][to].push(() => resolve());
22
29
  });
23
30
  };
24
- const notifyAssetIsDownloaded = (src) => {
31
+ exports.waitForAssetToBeDownloaded = waitForAssetToBeDownloaded;
32
+ const notifyAssetIsDownloaded = (src, to) => {
25
33
  if (!listeners[src]) {
26
- listeners[src] = [];
34
+ listeners[src] = {};
35
+ }
36
+ if (!listeners[src][to]) {
37
+ listeners[src][to] = [];
27
38
  }
28
- listeners[src].forEach((fn) => fn());
29
- isDownloadingMap[src] = false;
30
- hasBeenDownloadedMap[src] = true;
39
+ listeners[src][to].forEach((fn) => fn());
40
+ if (!isDownloadingMap[src]) {
41
+ isDownloadingMap[src] = {};
42
+ }
43
+ isDownloadingMap[src][to] = false;
44
+ if (!hasBeenDownloadedMap[src]) {
45
+ hasBeenDownloadedMap[src] = {};
46
+ }
47
+ hasBeenDownloadedMap[src][to] = true;
31
48
  };
32
49
  const validateMimeType = (mimeType, src) => {
33
50
  if (!mimeType.includes('/')) {
@@ -69,13 +86,17 @@ function validateBufferEncoding(potentialEncoding, dataUrl) {
69
86
  }
70
87
  }
71
88
  const downloadAsset = async (src, to, onDownload) => {
72
- if (hasBeenDownloadedMap[src]) {
89
+ var _a, _b;
90
+ if ((_a = hasBeenDownloadedMap[src]) === null || _a === void 0 ? void 0 : _a[to]) {
73
91
  return;
74
92
  }
75
- if (isDownloadingMap[src]) {
76
- return waitForAssetToBeDownloaded(src);
93
+ if ((_b = isDownloadingMap[src]) === null || _b === void 0 ? void 0 : _b[to]) {
94
+ return (0, exports.waitForAssetToBeDownloaded)(src, to);
95
+ }
96
+ if (!isDownloadingMap[src]) {
97
+ isDownloadingMap[src] = {};
77
98
  }
78
- isDownloadingMap[src] = true;
99
+ isDownloadingMap[src][to] = true;
79
100
  const onProgress = onDownload(src);
80
101
  (0, ensure_output_directory_1.ensureOutputDirectory)(to);
81
102
  if (src.startsWith('data:')) {
@@ -94,7 +115,7 @@ const downloadAsset = async (src, to, onDownload) => {
94
115
  validateBufferEncoding(encoding, src);
95
116
  const buff = Buffer.from(assetData, encoding);
96
117
  await fs_1.default.promises.writeFile(to, buff);
97
- notifyAssetIsDownloaded(src);
118
+ notifyAssetIsDownloaded(src, to);
98
119
  return;
99
120
  }
100
121
  await (0, download_file_1.downloadFile)(src, to, ({ progress }) => {
@@ -102,7 +123,7 @@ const downloadAsset = async (src, to, onDownload) => {
102
123
  percent: progress,
103
124
  });
104
125
  });
105
- notifyAssetIsDownloaded(src);
126
+ notifyAssetIsDownloaded(src, to);
106
127
  };
107
128
  const markAllAssetsAsDownloaded = () => {
108
129
  Object.keys(hasBeenDownloadedMap).forEach((key) => {
@@ -127,16 +148,22 @@ const getSanitizedFilenameForAssetUrl = ({ src, downloadDir, }) => {
127
148
  };
128
149
  exports.getSanitizedFilenameForAssetUrl = getSanitizedFilenameForAssetUrl;
129
150
  const downloadAndMapAssetsToFileUrl = async ({ asset, downloadDir, onDownload, }) => {
130
- const newSrc = (0, exports.getSanitizedFilenameForAssetUrl)({
151
+ const newSrc = await (0, exports.startDownloadForSrc)({
131
152
  src: asset.src,
132
153
  downloadDir,
154
+ onDownload,
133
155
  });
134
- if (!remotion_1.Internals.AssetCompression.isAssetCompressed(newSrc)) {
135
- await downloadAsset(asset.src, newSrc, onDownload);
136
- }
137
156
  return {
138
157
  ...asset,
139
158
  src: newSrc,
140
159
  };
141
160
  };
142
161
  exports.downloadAndMapAssetsToFileUrl = downloadAndMapAssetsToFileUrl;
162
+ const startDownloadForSrc = async ({ src, downloadDir, onDownload, }) => {
163
+ const newSrc = (0, exports.getSanitizedFilenameForAssetUrl)({ downloadDir, src });
164
+ if (!remotion_1.Internals.AssetCompression.isAssetCompressed(newSrc)) {
165
+ await downloadAsset(src, newSrc, onDownload);
166
+ }
167
+ return newSrc;
168
+ };
169
+ exports.startDownloadForSrc = startDownloadForSrc;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-and-map-assets-to-file.js","sourceRoot":"","sources":["../../src/assets/download-and-map-assets-to-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-file.d.ts","sourceRoot":"","sources":["../../src/assets/download-file.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,QACnB,MAAM,MACP,MAAM;cAGG,MAAM;gBACJ,MAAM;eACP,MAAM;MACX,IAAI;iBAGoB,MAAM;EA0BvC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/assets/download-file.ts"],"names":[],"mappings":";;;AAAA,2BAAqC;AACrC,2CAAqC;AAE9B,MAAM,YAAY,GAAG,CAC3B,GAAW,EACX,EAAU,EACV,UAMY,EACX,EAAE;IACH,OAAO,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7D,IAAA,oBAAQ,EAAC,GAAG,CAAC;aACX,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAA,sBAAiB,EAAC,EAAE,CAAC,CAAC;YAE1C,0CAA0C;YAC1C,uCAAuC;YACvC,6EAA6E;YAC7E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;YACjE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBACpB,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC;gBACvB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG;oBACZ,UAAU;oBACV,QAAQ,EAAE,UAAU,GAAG,SAAS;oBAChC,SAAS;iBACT,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,YAAY,gBAqCvB"}
@@ -4,9 +4,10 @@ declare type FfmpegVolumeExpression = {
4
4
  eval: FfmpegEval;
5
5
  value: string;
6
6
  };
7
- export declare const ffmpegVolumeExpression: ({ volume, startInVideo, fps, }: {
7
+ export declare const ffmpegVolumeExpression: ({ volume, startInVideo, fps, trimLeft, }: {
8
8
  volume: AssetVolume;
9
9
  startInVideo: number;
10
+ trimLeft: number;
10
11
  fps: number;
11
12
  }) => FfmpegVolumeExpression;
12
13
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg-volume-expression.d.ts","sourceRoot":"","sources":["../../src/assets/ffmpeg-volume-expression.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEpC,aAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AA8DnC,aAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,sBAAsB;YAK1B,WAAW;kBACL,MAAM;SACf,MAAM;MACR,sBA+CH,CAAC"}
@@ -12,12 +12,12 @@ const FFMPEG_TIME_VARIABLE = 't';
12
12
  const ffmpegIfOrElse = (condition, then, elseDo) => {
13
13
  return `if(${condition},${then},${elseDo})`;
14
14
  };
15
- const ffmpegIsOneOfFrames = (frames, fps) => {
15
+ const ffmpegIsOneOfFrames = ({ frames, trimLeft, fps, }) => {
16
16
  const consecutiveArrays = [];
17
17
  for (let i = 0; i < frames.length; i++) {
18
18
  const previousFrame = frames[i - 1];
19
19
  const frame = frames[i];
20
- if (!previousFrame || frame !== previousFrame + 1) {
20
+ if (previousFrame === undefined || frame !== previousFrame + 1) {
21
21
  consecutiveArrays.push([]);
22
22
  }
23
23
  consecutiveArrays[consecutiveArrays.length - 1].push(frame);
@@ -28,25 +28,22 @@ const ffmpegIsOneOfFrames = (frames, fps) => {
28
28
  const lastFrame = f[f.length - 1];
29
29
  const before = (firstFrame - 0.5) / fps;
30
30
  const after = (lastFrame + 0.5) / fps;
31
- return `between(${FFMPEG_TIME_VARIABLE},${before.toFixed(4)},${after.toFixed(4)})`;
31
+ return `between(${FFMPEG_TIME_VARIABLE},${(before + trimLeft).toFixed(4)},${(after + trimLeft).toFixed(4)})`;
32
32
  })
33
33
  .join('+');
34
34
  };
35
- const ffmpegBuildVolumeExpression = (arr, fps) => {
35
+ const ffmpegBuildVolumeExpression = (arr, delay, fps) => {
36
36
  if (arr.length === 0) {
37
37
  throw new Error('Volume array expression should never have length 0');
38
38
  }
39
39
  if (arr.length === 1) {
40
- // FFMpeg tends to request volume for frames outside the range
41
- // where the audio actually plays.
42
- // If this is the case, we just return volume 0 to clip it.
43
- return ffmpegIfOrElse(ffmpegIsOneOfFrames(arr[0][1], fps), String(arr[0][0]), String(0));
40
+ return String(arr[0][0]);
44
41
  }
45
42
  const [first, ...rest] = arr;
46
43
  const [volume, frames] = first;
47
- return ffmpegIfOrElse(ffmpegIsOneOfFrames(frames, fps), String(volume), ffmpegBuildVolumeExpression(rest, fps));
44
+ return ffmpegIfOrElse(ffmpegIsOneOfFrames({ frames, trimLeft: delay, fps }), String(volume), ffmpegBuildVolumeExpression(rest, delay, fps));
48
45
  };
49
- const ffmpegVolumeExpression = ({ volume, startInVideo, fps, }) => {
46
+ const ffmpegVolumeExpression = ({ volume, startInVideo, fps, trimLeft, }) => {
50
47
  // If it's a static volume, we return it and tell
51
48
  // FFMPEG it only has to evaluate it once
52
49
  if (typeof volume === 'number') {
@@ -60,14 +57,20 @@ const ffmpegVolumeExpression = ({ volume, startInVideo, fps, }) => {
60
57
  volume: volume[0],
61
58
  startInVideo,
62
59
  fps,
60
+ trimLeft,
63
61
  });
64
62
  }
63
+ // A 1 sec video with frames 0-29 would mean that
64
+ // frame 29 corresponds to timestamp 0.966666...
65
+ // but the audio is actually 1 sec long. For that reason we pad the last
66
+ // timestamp.
67
+ const paddedVolume = [...volume, volume[volume.length - 1]];
65
68
  // Otherwise, we construct an FFMPEG expression. First step:
66
69
  // Make a map of all possible volumes
67
70
  // {possibleVolume1} => [frame1, frame2]
68
71
  // {possibleVolume2} => [frame3, frame4]
69
72
  const volumeMap = {};
70
- volume.forEach((baseVolume, frame) => {
73
+ paddedVolume.forEach((baseVolume, frame) => {
71
74
  // Adjust volume based on how many other tracks have not yet finished
72
75
  const actualVolume = (0, round_volume_to_avoid_stack_overflow_1.roundVolumeToAvoidStackOverflow)(Math.min(1, baseVolume));
73
76
  if (!volumeMap[actualVolume]) {
@@ -81,7 +84,7 @@ const ffmpegVolumeExpression = ({ volume, startInVideo, fps, }) => {
81
84
  .map((key) => [Number(key), volumeMap[key]])
82
85
  .sort((a, b) => a[1].length - b[1].length);
83
86
  // Construct and tell FFMPEG it has to evaluate expression on each frame
84
- const expression = ffmpegBuildVolumeExpression(volumeArray, fps);
87
+ const expression = ffmpegBuildVolumeExpression(volumeArray, trimLeft, fps);
85
88
  return {
86
89
  eval: 'frame',
87
90
  value: `'${expression}'`,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg-volume-expression.js","sourceRoot":"","sources":["../../src/assets/ffmpeg-volume-expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-volume-array.d.ts","sourceRoot":"","sources":["../../src/assets/flatten-volume-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,kBAAkB,WAAY,WAAW,KAAG,WAcxD,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAClC,UAAU,KACf,UAKF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-volume-array.js","sourceRoot":"","sources":["../../src/assets/flatten-volume-array.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,wBAAwB;AACxB,yFAAyF;;;AAIlF,MAAM,kBAAkB,GAAG,CAAC,MAAmB,EAAe,EAAE;IACtE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC/B,OAAO,MAAM,CAAC;KACd;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;KAChE;IAED,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE;QAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEK,MAAM,6BAA6B,GAAG,CAC5C,KAAiB,EACJ,EAAE;IACf,OAAO;QACN,GAAG,KAAK;QACR,MAAM,EAAE,IAAA,0BAAkB,EAAC,KAAK,CAAC,MAAM,CAAC;KACxC,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,6BAA6B,iCAOxC"}
@@ -1,4 +1,7 @@
1
- export declare function getAudioChannelsAndDuration(path: string): Promise<{
1
+ import { FfmpegExecutable } from 'remotion';
2
+ declare type Result = {
2
3
  channels: number;
3
4
  duration: number | null;
4
- }>;
5
+ };
6
+ export declare const getAudioChannelsAndDuration: (src: string, ffprobeExecutable: FfmpegExecutable) => Promise<Result>;
7
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-audio-channels.d.ts","sourceRoot":"","sources":["../../src/assets/get-audio-channels.ts"],"names":[],"mappings":"AAEA,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC,CAmBD"}
@@ -5,21 +5,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getAudioChannelsAndDuration = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
- async function getAudioChannelsAndDuration(path) {
8
+ const p_limit_1 = require("../p-limit");
9
+ const durationOfAssetCache = {};
10
+ const limit = (0, p_limit_1.pLimit)(1);
11
+ async function getAudioChannelsAndDurationUnlimited(src, ffprobeExecutable) {
12
+ if (durationOfAssetCache[src]) {
13
+ return durationOfAssetCache[src];
14
+ }
9
15
  const args = [
10
16
  ['-v', 'error'],
11
17
  ['-show_entries', 'stream=channels:format=duration'],
12
18
  ['-of', 'default=nw=1'],
13
- [path],
19
+ [src],
14
20
  ]
15
21
  .reduce((acc, val) => acc.concat(val), [])
16
22
  .filter(Boolean);
17
- const task = await (0, execa_1.default)('ffprobe', args);
23
+ const task = await (0, execa_1.default)(ffprobeExecutable !== null && ffprobeExecutable !== void 0 ? ffprobeExecutable : 'ffprobe', args);
18
24
  const channels = task.stdout.match(/channels=([0-9]+)/);
19
25
  const duration = task.stdout.match(/duration=([0-9.]+)/);
20
- return {
26
+ const result = {
21
27
  channels: channels ? parseInt(channels[1], 10) : 0,
22
28
  duration: duration ? parseFloat(duration[1]) : null,
23
29
  };
30
+ durationOfAssetCache[src] = result;
31
+ return result;
24
32
  }
33
+ const getAudioChannelsAndDuration = (src, ffprobeExecutable) => {
34
+ return limit(() => getAudioChannelsAndDurationUnlimited(src, ffprobeExecutable));
35
+ };
25
36
  exports.getAudioChannelsAndDuration = getAudioChannelsAndDuration;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-audio-channels.js","sourceRoot":"","sources":["../../src/assets/get-audio-channels.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAEnB,KAAK,UAAU,2BAA2B,CAAC,IAAY;IAI7D,MAAM,IAAI,GAAG;QACZ,CAAC,IAAI,EAAE,OAAO,CAAC;QACf,CAAC,eAAe,EAAE,iCAAiC,CAAC;QACpD,CAAC,KAAK,EAAE,cAAc,CAAC;QACvB,CAAC,IAAI,CAAC;KACN;SACC,MAAM,CAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;SAC5D,MAAM,CAAC,OAAO,CAAa,CAAC;IAE9B,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEzD,OAAO;QACN,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;KACnD,CAAC;AACH,CAAC;AAtBD,kEAsBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../src/assets/read-file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AA2BxB,eAAO,MAAM,QAAQ,QACf,MAAM,8BAET,QAAQ,KAAK,eAAe,CAuB9B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/assets/read-file.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,kDAA0B;AAE1B,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;IACjC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC/B,OAAO,eAAK,CAAC,GAAG,CAAC;KACjB;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC9B,OAAO,cAAI,CAAC,GAAG,CAAC;KAChB;IAED,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC/B,GAAW,EACqB,EAAE;IAClC,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5D,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,KAAK,EAC5B,GAAW,EACX,cAAc,GAAG,CAAC,EACc,EAAE;IAClC,IAAI,cAAc,GAAG,EAAE,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;KAC/D;IAED,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CACd,0BAA0B,IAAI,CAAC,UAAU,2CAA2C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC3G,CAAC;SACF;QAED,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;KAC3D;IAED,IAAK,IAAI,CAAC,UAAqB,IAAI,GAAG,EAAE;QACvC,MAAM,IAAI,KAAK,CACd,6BAA6B,IAAI,CAAC,UAAU,2BAA2B,GAAG,EAAE,CAC5E,CAAC;KACF;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AA1BW,QAAA,QAAQ,YA0BnB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"round-volume-to-avoid-stack-overflow.d.ts","sourceRoot":"","sources":["../../src/assets/round-volume-to-avoid-stack-overflow.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,+BAA+B,WAAY,MAAM,KAAG,MAOhE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"round-volume-to-avoid-stack-overflow.js","sourceRoot":"","sources":["../../src/assets/round-volume-to-avoid-stack-overflow.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,wHAAwH;AACxH,iDAAiD;AACjD,4DAA4D;AAC5D,qEAAqE;AACrE,6CAA6C;AAC7C,kFAAkF;AAClF,iDAAiD;;;AAEjD,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAE3B,MAAM,+BAA+B,GAAG,CAAC,MAAc,EAAU,EAAE;IACzE,OAAO,MAAM,CACZ,CACC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAC5B,CAAC,OAAO,CAAC,CAAC,CAAC,CACZ,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,+BAA+B,mCAO1C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-filename.d.ts","sourceRoot":"","sources":["../../src/assets/sanitize-filename.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAQ7C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-filename.js","sourceRoot":"","sources":["../../src/assets/sanitize-filename.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,+DAAwD;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,4CAA4C;AAC5C,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,iBAAiB,GAAG,+CAA+C,CAAC;AAC1E,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAEnC,SAAS,QAAQ,CAAC,KAAa,EAAE,WAAmB;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACxC;IAED,MAAM,SAAS,GAAG,KAAK;SACrB,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;SAC/B,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;SAC/B,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;SAChC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACvC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC1C,OAAO,IAAA,uCAAiB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5C,IAAI,WAAW,KAAK,EAAE,EAAE;QACvB,OAAO,MAAM,CAAC;KACd;IAED,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-filepath.d.ts","sourceRoot":"","sources":["../../src/assets/sanitize-filepath.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,mBAAoB,MAAM,WAKtD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-filepath.js","sourceRoot":"","sources":["../../src/assets/sanitize-filepath.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,2DAAqD;AAErD,MAAM,cAAc,GAAG,OAAO,CAAC;AAExB,MAAM,gBAAgB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC1D,OAAO,cAAc;SACnB,KAAK,CAAC,cAAc,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,CAAC;SAC/B,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate-utf8-bytes.d.ts","sourceRoot":"","sources":["../../src/assets/truncate-utf8-bytes.ts"],"names":[],"mappings":"AAUA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAkCnE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate-utf8-bytes.js","sourceRoot":"","sources":["../../src/assets/truncate-utf8-bytes.ts"],"names":[],"mappings":";;;AAAA,SAAS,eAAe,CAAC,SAAiB;IACzC,OAAO,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACxC,OAAO,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC;AACnD,CAAC;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEjD,SAAgB,iBAAiB,CAAC,MAAc,EAAE,UAAkB;IACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACxC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,CAAC;IACd,IAAI,OAAO,CAAC;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE;QACvC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEpB,IACC,eAAe,CAAC,SAAS,CAAC;YAC1B,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EACvC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;SACrB;QAED,aAAa,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,aAAa,KAAK,UAAU,EAAE;YACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,IAAI,aAAa,GAAG,UAAU,EAAE;YAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC/C;KACD;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAlCD,8CAkCC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/assets/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAKhC,oBAAY,WAAW,GAAG,IAAI,CAC7B,MAAM,EACN,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,CACxC,GAAG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,oBAAY,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE5C,oBAAY,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,oBAAoB,cACrB,MAAM,EAAE,qBACA,MAAM,KACvB,MAuBF,CAAC;AAEF,oBAAY,MAAM,GAAG,UAAU,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/assets/types.ts"],"names":[],"mappings":";;;AA0BO,MAAM,oBAAoB,GAAG,CACnC,SAAmB,EACnB,iBAAyB,EAChB,EAAE;IACX,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY,EAAE;QAClB,OAAO,iBAAiB,CAAC;KACzB;IAED,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC;IAEnC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAC/C,CAAC;IACF,IAAI,CAAC,WAAW,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,IAAI,SAAS,CAClB,6HAA6H,CAC7H,CAAC;KACF;IAED,OAAO;QACN,GAAG,iBAAiB;QACpB,GAAG,EAAE,WAAW,CAAC,GAAG;KACpB,CAAC;AACH,CAAC,CAAC;AA1BW,QAAA,oBAAoB,wBA0B/B"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Copyright 2018 Google Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the 'License');
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an 'AS IS' BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CDPSession } from './Connection';
17
+ import { ElementHandle } from './JSHandle';
18
+ /**
19
+ * Represents a Node and the properties of it that are relevant to Accessibility.
20
+ * @public
21
+ */
22
+ export interface SerializedAXNode {
23
+ /**
24
+ * The {@link https://www.w3.org/TR/wai-aria/#usage_intro | role} of the node.
25
+ */
26
+ role: string;
27
+ /**
28
+ * A human readable name for the node.
29
+ */
30
+ name?: string;
31
+ /**
32
+ * The current value of the node.
33
+ */
34
+ value?: string | number;
35
+ /**
36
+ * An additional human readable description of the node.
37
+ */
38
+ description?: string;
39
+ /**
40
+ * Any keyboard shortcuts associated with this node.
41
+ */
42
+ keyshortcuts?: string;
43
+ /**
44
+ * A human readable alternative to the role.
45
+ */
46
+ roledescription?: string;
47
+ /**
48
+ * A description of the current value.
49
+ */
50
+ valuetext?: string;
51
+ disabled?: boolean;
52
+ expanded?: boolean;
53
+ focused?: boolean;
54
+ modal?: boolean;
55
+ multiline?: boolean;
56
+ /**
57
+ * Whether more than one child can be selected.
58
+ */
59
+ multiselectable?: boolean;
60
+ readonly?: boolean;
61
+ required?: boolean;
62
+ selected?: boolean;
63
+ /**
64
+ * Whether the checkbox is checked, or in a
65
+ * {@link https://www.w3.org/TR/wai-aria-practices/examples/checkbox/checkbox-2/checkbox-2.html | mixed state}.
66
+ */
67
+ checked?: boolean | 'mixed';
68
+ /**
69
+ * Whether the node is checked or in a mixed state.
70
+ */
71
+ pressed?: boolean | 'mixed';
72
+ /**
73
+ * The level of a heading.
74
+ */
75
+ level?: number;
76
+ valuemin?: number;
77
+ valuemax?: number;
78
+ autocomplete?: string;
79
+ haspopup?: string;
80
+ /**
81
+ * Whether and in what way this node's value is invalid.
82
+ */
83
+ invalid?: string;
84
+ orientation?: string;
85
+ /**
86
+ * Children of this node, if there are any.
87
+ */
88
+ children?: SerializedAXNode[];
89
+ }
90
+ /**
91
+ * @public
92
+ */
93
+ export interface SnapshotOptions {
94
+ /**
95
+ * Prune uninteresting nodes from the tree.
96
+ * @defaultValue true
97
+ */
98
+ interestingOnly?: boolean;
99
+ /**
100
+ * Root node to get the accessibility tree for
101
+ * @defaultValue The root node of the entire page.
102
+ */
103
+ root?: ElementHandle;
104
+ }
105
+ /**
106
+ * The Accessibility class provides methods for inspecting Chromium's
107
+ * accessibility tree. The accessibility tree is used by assistive technology
108
+ * such as {@link https://en.wikipedia.org/wiki/Screen_reader | screen readers} or
109
+ * {@link https://en.wikipedia.org/wiki/Switch_access | switches}.
110
+ *
111
+ * @remarks
112
+ *
113
+ * Accessibility is a very platform-specific thing. On different platforms,
114
+ * there are different screen readers that might have wildly different output.
115
+ *
116
+ * Blink - Chrome's rendering engine - has a concept of "accessibility tree",
117
+ * which is then translated into different platform-specific APIs. Accessibility
118
+ * namespace gives users access to the Blink Accessibility Tree.
119
+ *
120
+ * Most of the accessibility tree gets filtered out when converting from Blink
121
+ * AX Tree to Platform-specific AX-Tree or by assistive technologies themselves.
122
+ * By default, Puppeteer tries to approximate this filtering, exposing only
123
+ * the "interesting" nodes of the tree.
124
+ *
125
+ * @public
126
+ */
127
+ export declare class Accessibility {
128
+ #private;
129
+ /**
130
+ * @internal
131
+ */
132
+ constructor(client: CDPSession);
133
+ /**
134
+ * Captures the current state of the accessibility tree.
135
+ * The returned object represents the root accessible node of the page.
136
+ *
137
+ * @remarks
138
+ *
139
+ * **NOTE** The Chromium accessibility tree contains nodes that go unused on
140
+ * most platforms and by most screen readers. Puppeteer will discard them as
141
+ * well for an easier to process tree, unless `interestingOnly` is set to
142
+ * `false`.
143
+ *
144
+ * @example
145
+ * An example of dumping the entire accessibility tree:
146
+ * ```js
147
+ * const snapshot = await page.accessibility.snapshot();
148
+ * console.log(snapshot);
149
+ * ```
150
+ *
151
+ * @example
152
+ * An example of logging the focused node's name:
153
+ * ```js
154
+ * const snapshot = await page.accessibility.snapshot();
155
+ * const node = findFocusedNode(snapshot);
156
+ * console.log(node && node.name);
157
+ *
158
+ * function findFocusedNode(node) {
159
+ * if (node.focused)
160
+ * return node;
161
+ * for (const child of node.children || []) {
162
+ * const foundNode = findFocusedNode(child);
163
+ * return foundNode;
164
+ * }
165
+ * return null;
166
+ * }
167
+ * ```
168
+ *
169
+ * @returns An AXNode object representing the snapshot.
170
+ *
171
+ */
172
+ snapshot(options?: SnapshotOptions): Promise<SerializedAXNode | null>;
173
+ private serializeTree;
174
+ private collectInterestingNodes;
175
+ }