@remotion/renderer 3.1.6 → 3.1.10

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 (295) hide show
  1. package/dist/add-silent-audio-if-necessary.d.ts +8 -0
  2. package/dist/add-silent-audio-if-necessary.d.ts.map +1 -0
  3. package/dist/add-silent-audio-if-necessary.js +51 -0
  4. package/dist/add-silent-audio-if-necessary.js.map +1 -0
  5. package/dist/assets/asset-is-used-at-time.d.ts +3 -0
  6. package/dist/assets/asset-is-used-at-time.d.ts.map +1 -0
  7. package/dist/assets/asset-is-used-at-time.js +8 -0
  8. package/dist/assets/asset-is-used-at-time.js.map +1 -0
  9. package/dist/assets/calculate-asset-positions.d.ts.map +1 -0
  10. package/dist/assets/calculate-asset-positions.js.map +1 -0
  11. package/dist/assets/calculate-atempo.d.ts.map +1 -0
  12. package/dist/assets/calculate-atempo.js.map +1 -0
  13. package/dist/assets/convert-assets-to-file-urls.d.ts +3 -2
  14. package/dist/assets/convert-assets-to-file-urls.d.ts.map +1 -0
  15. package/dist/assets/convert-assets-to-file-urls.js +2 -2
  16. package/dist/assets/convert-assets-to-file-urls.js.map +1 -0
  17. package/dist/assets/download-and-map-assets-to-file.d.ts +6 -5
  18. package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -0
  19. package/dist/assets/download-and-map-assets-to-file.js +46 -47
  20. package/dist/assets/download-and-map-assets-to-file.js.map +1 -0
  21. package/dist/assets/download-file.d.ts.map +1 -0
  22. package/dist/assets/download-file.js.map +1 -0
  23. package/dist/assets/download-map.d.ts +64 -0
  24. package/dist/assets/download-map.js +73 -0
  25. package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -0
  26. package/dist/assets/ffmpeg-volume-expression.js.map +1 -0
  27. package/dist/assets/flatten-volume-array.d.ts.map +1 -0
  28. package/dist/assets/flatten-volume-array.js.map +1 -0
  29. package/dist/assets/get-asset-audio-details.d.ts +5 -0
  30. package/dist/assets/get-asset-audio-details.d.ts.map +1 -0
  31. package/dist/assets/get-asset-audio-details.js +21 -0
  32. package/dist/assets/get-asset-audio-details.js.map +1 -0
  33. package/dist/assets/get-audio-channels.d.ts +3 -7
  34. package/dist/assets/get-audio-channels.d.ts.map +1 -0
  35. package/dist/assets/get-audio-channels.js +6 -7
  36. package/dist/assets/get-audio-channels.js.map +1 -0
  37. package/dist/assets/get-simulatenous-assets.d.ts +3 -0
  38. package/dist/assets/get-simulatenous-assets.d.ts.map +1 -0
  39. package/dist/assets/get-simulatenous-assets.js +14 -0
  40. package/dist/assets/get-simulatenous-assets.js.map +1 -0
  41. package/dist/assets/get-video-stream-duration.d.ts +3 -6
  42. package/dist/assets/get-video-stream-duration.js +9 -8
  43. package/dist/assets/read-file.d.ts.map +1 -0
  44. package/dist/assets/read-file.js.map +1 -0
  45. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +1 -0
  46. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +1 -0
  47. package/dist/assets/sanitize-filename.d.ts.map +1 -0
  48. package/dist/assets/sanitize-filename.js.map +1 -0
  49. package/dist/assets/sanitize-filepath.d.ts.map +1 -0
  50. package/dist/assets/sanitize-filepath.js.map +1 -0
  51. package/dist/assets/split-assets-into-segments.d.ts +6 -0
  52. package/dist/assets/split-assets-into-segments.d.ts.map +1 -0
  53. package/dist/assets/split-assets-into-segments.js +89 -0
  54. package/dist/assets/split-assets-into-segments.js.map +1 -0
  55. package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
  56. package/dist/assets/truncate-utf8-bytes.js.map +1 -0
  57. package/dist/assets/types.d.ts.map +1 -0
  58. package/dist/assets/types.js.map +1 -0
  59. package/dist/assets-to-ffmpeg-inputs.d.ts +7 -0
  60. package/dist/assets-to-ffmpeg-inputs.d.ts.map +1 -0
  61. package/dist/assets-to-ffmpeg-inputs.js +15 -0
  62. package/dist/assets-to-ffmpeg-inputs.js.map +1 -0
  63. package/dist/browser/TimeoutSettings.d.ts +1 -0
  64. package/dist/browser/TimeoutSettings.js +4 -4
  65. package/dist/browser-executable.d.ts +1 -0
  66. package/dist/browser-executable.js +2 -0
  67. package/dist/browser-log.d.ts.map +1 -0
  68. package/dist/browser-log.js.map +1 -0
  69. package/dist/browser.d.ts +2 -0
  70. package/dist/browser.js +4 -0
  71. package/dist/calculate-ffmpeg-filters.d.ts.map +1 -0
  72. package/dist/calculate-ffmpeg-filters.js.map +1 -0
  73. package/dist/can-use-parallel-encoding.d.ts +1 -1
  74. package/dist/can-use-parallel-encoding.d.ts.map +1 -0
  75. package/dist/can-use-parallel-encoding.js +2 -2
  76. package/dist/can-use-parallel-encoding.js.map +1 -0
  77. package/dist/codec-supports-media.d.ts +1 -1
  78. package/dist/codec.d.ts +4 -0
  79. package/dist/codec.js +16 -0
  80. package/dist/combine-videos.d.ts +1 -1
  81. package/dist/combine-videos.d.ts.map +1 -0
  82. package/dist/combine-videos.js +7 -6
  83. package/dist/combine-videos.js.map +1 -0
  84. package/dist/compress-assets.d.ts +7 -0
  85. package/dist/compress-assets.js +25 -0
  86. package/dist/convert-to-pcm.d.ts +1 -1
  87. package/dist/create-ffmpeg-complex-filter.d.ts +6 -2
  88. package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -0
  89. package/dist/create-ffmpeg-complex-filter.js +2 -11
  90. package/dist/create-ffmpeg-complex-filter.js.map +1 -0
  91. package/dist/create-ffmpeg-merge-filter.js +3 -3
  92. package/dist/create-silent-audio.d.ts +1 -1
  93. package/dist/crf.d.ts +5 -0
  94. package/dist/crf.js +64 -0
  95. package/dist/cycle-browser-tabs.d.ts.map +1 -0
  96. package/dist/cycle-browser-tabs.js.map +1 -0
  97. package/dist/delay-render-embedded-stack.d.ts.map +1 -0
  98. package/dist/delay-render-embedded-stack.js.map +1 -0
  99. package/dist/delete-directory.d.ts.map +1 -0
  100. package/dist/delete-directory.js.map +1 -0
  101. package/dist/ensure-frames-in-order.d.ts.map +1 -0
  102. package/dist/ensure-frames-in-order.js.map +1 -0
  103. package/dist/ensure-output-directory.d.ts.map +1 -0
  104. package/dist/ensure-output-directory.js.map +1 -0
  105. package/dist/ensure-presentation-timestamp.d.ts +2 -1
  106. package/dist/ensure-presentation-timestamp.js +9 -7
  107. package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
  108. package/dist/error-handling/handle-javascript-exception.js.map +1 -0
  109. package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
  110. package/dist/error-handling/symbolicate-error.js.map +1 -0
  111. package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
  112. package/dist/error-handling/symbolicateable-error.js.map +1 -0
  113. package/dist/extract-frame-from-video.d.ts +4 -1
  114. package/dist/extract-frame-from-video.js +21 -16
  115. package/dist/ffmpeg-executable.d.ts +1 -0
  116. package/dist/ffmpeg-executable.js +2 -0
  117. package/dist/ffmpeg-filter-file.d.ts +2 -1
  118. package/dist/ffmpeg-filter-file.js +4 -6
  119. package/dist/ffmpeg-flags.d.ts.map +1 -0
  120. package/dist/ffmpeg-flags.js.map +1 -0
  121. package/dist/frame-range.d.ts +2 -0
  122. package/dist/frame-range.js +49 -0
  123. package/dist/get-audio-codec-name.d.ts +1 -1
  124. package/dist/get-audio-codec-name.d.ts.map +1 -0
  125. package/dist/get-audio-codec-name.js +2 -2
  126. package/dist/get-audio-codec-name.js.map +1 -0
  127. package/dist/get-browser-instance.d.ts +1 -1
  128. package/dist/get-browser-instance.d.ts.map +1 -0
  129. package/dist/get-browser-instance.js +2 -2
  130. package/dist/get-browser-instance.js.map +1 -0
  131. package/dist/get-codec-name.d.ts +1 -1
  132. package/dist/get-codec-name.d.ts.map +1 -0
  133. package/dist/get-codec-name.js +2 -2
  134. package/dist/get-codec-name.js.map +1 -0
  135. package/dist/get-compositions.d.ts +8 -1
  136. package/dist/get-compositions.d.ts.map +1 -0
  137. package/dist/get-compositions.js +10 -6
  138. package/dist/get-compositions.js.map +1 -0
  139. package/dist/get-concurrency.d.ts.map +1 -0
  140. package/dist/get-concurrency.js.map +1 -0
  141. package/dist/get-extension-from-codec.d.ts +1 -1
  142. package/dist/get-extension-from-codec.d.ts.map +1 -0
  143. package/dist/get-extension-from-codec.js.map +1 -0
  144. package/dist/get-frame-to-render.d.ts +1 -1
  145. package/dist/get-frame-to-render.d.ts.map +1 -0
  146. package/dist/get-frame-to-render.js.map +1 -0
  147. package/dist/get-local-browser-executable.d.ts +2 -1
  148. package/dist/get-local-browser-executable.d.ts.map +1 -0
  149. package/dist/get-local-browser-executable.js.map +1 -0
  150. package/dist/get-port.d.ts.map +1 -0
  151. package/dist/get-port.js.map +1 -0
  152. package/dist/get-prores-profile-name.d.ts +2 -1
  153. package/dist/get-prores-profile-name.d.ts.map +1 -0
  154. package/dist/get-prores-profile-name.js.map +1 -0
  155. package/dist/get-video-info.d.ts +3 -8
  156. package/dist/get-video-info.js +7 -8
  157. package/dist/get-video-threads-flag.d.ts +1 -0
  158. package/dist/get-video-threads-flag.js +18 -0
  159. package/dist/image-format.d.ts +6 -1
  160. package/dist/image-format.d.ts.map +1 -0
  161. package/dist/image-format.js +25 -1
  162. package/dist/image-format.js.map +1 -0
  163. package/dist/index.d.ts +48 -9
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +71 -1
  166. package/dist/index.js.map +1 -0
  167. package/dist/is-audio-codec.d.ts +2 -0
  168. package/dist/is-audio-codec.js +7 -0
  169. package/dist/is-beyond-last-frame.d.ts +3 -2
  170. package/dist/is-beyond-last-frame.js +5 -5
  171. package/dist/is-serve-url.d.ts.map +1 -0
  172. package/dist/is-serve-url.js.map +1 -0
  173. package/dist/last-frame-from-video-cache.d.ts +5 -4
  174. package/dist/last-frame-from-video-cache.js +17 -17
  175. package/dist/legacy-webpack-config.d.ts.map +1 -0
  176. package/dist/legacy-webpack-config.js.map +1 -0
  177. package/dist/log-level.d.ts +4 -0
  178. package/dist/log-level.js +15 -0
  179. package/dist/make-assets-download-dir.d.ts.map +1 -0
  180. package/dist/make-assets-download-dir.js.map +1 -0
  181. package/dist/merge-audio-track.d.ts +3 -1
  182. package/dist/merge-audio-track.js +6 -4
  183. package/dist/normalize-serve-url.d.ts.map +1 -0
  184. package/dist/normalize-serve-url.js.map +1 -0
  185. package/dist/offthread-video-server.d.ts +5 -3
  186. package/dist/offthread-video-server.js +3 -2
  187. package/dist/open-browser.d.ts +1 -1
  188. package/dist/open-browser.d.ts.map +1 -0
  189. package/dist/open-browser.js +6 -5
  190. package/dist/open-browser.js.map +1 -0
  191. package/dist/overwrite.d.ts +1 -0
  192. package/dist/overwrite.js +4 -0
  193. package/dist/parse-browser-error-stack.d.ts.map +1 -0
  194. package/dist/parse-browser-error-stack.js.map +1 -0
  195. package/dist/parse-ffmpeg-progress.d.ts.map +1 -0
  196. package/dist/parse-ffmpeg-progress.js.map +1 -0
  197. package/dist/perf.d.ts +5 -0
  198. package/dist/perf.js +35 -0
  199. package/dist/pixel-format.d.ts +5 -0
  200. package/dist/pixel-format.js +26 -0
  201. package/dist/pool.d.ts.map +1 -0
  202. package/dist/pool.js.map +1 -0
  203. package/dist/prepare-server.d.ts +4 -3
  204. package/dist/prepare-server.d.ts.map +1 -0
  205. package/dist/prepare-server.js +3 -3
  206. package/dist/prepare-server.js.map +1 -0
  207. package/dist/preprocess-audio-track.d.ts +3 -1
  208. package/dist/preprocess-audio-track.js +3 -3
  209. package/dist/prespawn-ffmpeg.d.ts +5 -1
  210. package/dist/prespawn-ffmpeg.js +9 -6
  211. package/dist/prestitcher-memory-usage.d.ts +12 -0
  212. package/dist/prestitcher-memory-usage.js +30 -0
  213. package/dist/prores-profile.d.ts +5 -0
  214. package/dist/prores-profile.js +23 -0
  215. package/dist/provide-screenshot.d.ts +1 -1
  216. package/dist/provide-screenshot.d.ts.map +1 -0
  217. package/dist/provide-screenshot.js.map +1 -0
  218. package/dist/puppeteer-evaluate.d.ts.map +1 -0
  219. package/dist/puppeteer-evaluate.js.map +1 -0
  220. package/dist/puppeteer-screenshot.d.ts.map +1 -0
  221. package/dist/puppeteer-screenshot.js.map +1 -0
  222. package/dist/quality.d.ts +1 -0
  223. package/dist/quality.js +21 -0
  224. package/dist/render-frames.d.ts +10 -1
  225. package/dist/render-frames.js +22 -16
  226. package/dist/render-media.d.ts +13 -2
  227. package/dist/render-media.d.ts.map +1 -0
  228. package/dist/render-media.js +40 -14
  229. package/dist/render-media.js.map +1 -0
  230. package/dist/render-still.d.ts +9 -1
  231. package/dist/render-still.d.ts.map +1 -0
  232. package/dist/render-still.js +21 -11
  233. package/dist/render-still.js.map +1 -0
  234. package/dist/render.d.ts +45 -0
  235. package/dist/render.d.ts.map +1 -0
  236. package/dist/render.js +245 -0
  237. package/dist/render.js.map +1 -0
  238. package/dist/resolve-asset-src.d.ts.map +1 -0
  239. package/dist/resolve-asset-src.js.map +1 -0
  240. package/dist/sample-rate.d.ts.map +1 -0
  241. package/dist/sample-rate.js.map +1 -0
  242. package/dist/screenshot-dom-element.d.ts +1 -1
  243. package/dist/screenshot-dom-element.d.ts.map +1 -0
  244. package/dist/screenshot-dom-element.js.map +1 -0
  245. package/dist/screenshot-task.d.ts +1 -2
  246. package/dist/screenshot-task.d.ts.map +1 -0
  247. package/dist/screenshot-task.js +34 -19
  248. package/dist/screenshot-task.js.map +1 -0
  249. package/dist/seek-to-frame.d.ts.map +1 -0
  250. package/dist/seek-to-frame.js.map +1 -0
  251. package/dist/serve-static.d.ts +3 -2
  252. package/dist/serve-static.d.ts.map +1 -0
  253. package/dist/serve-static.js +3 -4
  254. package/dist/serve-static.js.map +1 -0
  255. package/dist/set-props-and-env.d.ts.map +1 -0
  256. package/dist/set-props-and-env.js +2 -2
  257. package/dist/set-props-and-env.js.map +1 -0
  258. package/dist/stitch-frames-to-video.d.ts +6 -1
  259. package/dist/stitch-frames-to-video.js +30 -43
  260. package/dist/stitcher.d.ts +32 -0
  261. package/dist/stitcher.d.ts.map +1 -0
  262. package/dist/stitcher.js +204 -0
  263. package/dist/stitcher.js.map +1 -0
  264. package/dist/stringify-ffmpeg-filter.d.ts.map +1 -0
  265. package/dist/stringify-ffmpeg-filter.js +2 -2
  266. package/dist/stringify-ffmpeg-filter.js.map +1 -0
  267. package/dist/symbolicate-stacktrace.d.ts.map +1 -0
  268. package/dist/symbolicate-stacktrace.js +3 -3
  269. package/dist/symbolicate-stacktrace.js.map +1 -0
  270. package/dist/tmp-dir.d.ts.map +1 -0
  271. package/dist/tmp-dir.js.map +1 -0
  272. package/dist/truthy.d.ts +3 -0
  273. package/dist/truthy.js +7 -0
  274. package/dist/types.d.ts +1 -1
  275. package/dist/types.d.ts.map +1 -0
  276. package/dist/types.js.map +1 -0
  277. package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
  278. package/dist/validate-even-dimensions-with-codec.d.ts.map +1 -0
  279. package/dist/validate-even-dimensions-with-codec.js +2 -2
  280. package/dist/validate-even-dimensions-with-codec.js.map +1 -0
  281. package/dist/validate-every-nth-frame.d.ts +1 -0
  282. package/dist/validate-every-nth-frame.js +21 -0
  283. package/dist/validate-ffmpeg.d.ts.map +1 -0
  284. package/dist/validate-ffmpeg.js +2 -3
  285. package/dist/validate-ffmpeg.js.map +1 -0
  286. package/dist/validate-frame.d.ts +1 -0
  287. package/dist/validate-frame.js +24 -0
  288. package/dist/validate-opengl-renderer.d.ts +5 -0
  289. package/dist/validate-opengl-renderer.js +15 -0
  290. package/dist/validate-output-filename.d.ts +1 -1
  291. package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
  292. package/dist/validate-puppeteer-timeout.js.map +1 -0
  293. package/dist/validate-scale.d.ts.map +1 -0
  294. package/dist/validate-scale.js.map +1 -0
  295. package/package.json +3 -3
package/dist/crf.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSelectedCrfAndCodecCombination = exports.getValidCrfRanges = exports.getDefaultCrfForCodec = void 0;
4
+ const is_audio_codec_1 = require("./is-audio-codec");
5
+ const getDefaultCrfForCodec = (codec) => {
6
+ if ((0, is_audio_codec_1.isAudioCodec)(codec)) {
7
+ return 0;
8
+ }
9
+ if (codec === 'h264' || codec === 'h264-mkv') {
10
+ return 18; // FFMPEG default 23
11
+ }
12
+ if (codec === 'h265' || codec === 'gif') {
13
+ return 23; // FFMPEG default 28
14
+ }
15
+ if (codec === 'vp8') {
16
+ return 9; // FFMPEG default 10
17
+ }
18
+ if (codec === 'vp9') {
19
+ return 28; // FFMPEG recommendation 31
20
+ }
21
+ if (codec === 'prores') {
22
+ return 0;
23
+ }
24
+ throw new TypeError(`Got unexpected codec "${codec}"`);
25
+ };
26
+ exports.getDefaultCrfForCodec = getDefaultCrfForCodec;
27
+ const getValidCrfRanges = (codec) => {
28
+ if ((0, is_audio_codec_1.isAudioCodec)(codec)) {
29
+ return [0, 0];
30
+ }
31
+ if (codec === 'prores') {
32
+ return [0, 0];
33
+ }
34
+ if (codec === 'h264' || codec === 'h264-mkv') {
35
+ return [1, 51];
36
+ }
37
+ if (codec === 'h265' || codec === 'gif') {
38
+ return [0, 51];
39
+ }
40
+ if (codec === 'vp8') {
41
+ return [4, 63];
42
+ }
43
+ if (codec === 'vp9') {
44
+ return [0, 63];
45
+ }
46
+ throw new TypeError(`Got unexpected codec "${codec}"`);
47
+ };
48
+ exports.getValidCrfRanges = getValidCrfRanges;
49
+ const validateSelectedCrfAndCodecCombination = (crf, codec) => {
50
+ if (crf === null) {
51
+ return;
52
+ }
53
+ if (typeof crf !== 'number') {
54
+ throw new TypeError('Expected CRF to be a number, but is ' + JSON.stringify(crf));
55
+ }
56
+ const range = (0, exports.getValidCrfRanges)(codec);
57
+ if (crf === 0 && (codec === 'h264' || codec === 'h264-mkv')) {
58
+ throw new TypeError("Setting the CRF to 0 with a H264 codec is not supported anymore because of it's inconsistencies between platforms. Videos with CRF 0 cannot be played on iOS/macOS. 0 is a extreme value with inefficient settings which you probably want. Set CRF to a higher value to fix this error.");
59
+ }
60
+ if (crf < range[0] || crf > range[1]) {
61
+ throw new TypeError(`CRF must be between ${range[0]} and ${range[1]} for codec ${codec}. Passed: ${crf}`);
62
+ }
63
+ };
64
+ exports.validateSelectedCrfAndCodecCombination = validateSelectedCrfAndCodecCombination;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycle-browser-tabs.d.ts","sourceRoot":"","sources":["../src/cycle-browser-tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEvD,eAAO,MAAM,gBAAgB,sBACT,MAAM,WAAW,kBAAkB,CAAC,CAAC;;CAiCxD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycle-browser-tabs.js","sourceRoot":"","sources":["../src/cycle-browser-tabs.ts"],"names":[],"mappings":";;;AAIO,MAAM,gBAAgB,GAAG,CAC/B,iBAAwD,EACvD,EAAE;IACH,IAAI,QAAQ,GAA0B,IAAI,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,GAAG,GAAG,EAAE;QAChB,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,iBAAiB;iBACf,KAAK,EAAE;iBACP,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;;gBACf,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,CAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,+CAArB,WAAW,CAAc,mCAAI,IAAI,CAAC,EAAE;oBACzC,OAAO,WAAW,CAAC,YAAY,EAAE,CAAC;iBAClC;YACF,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACV,GAAG,EAAE,CAAC;YACP,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC,CAAC;IAEF,GAAG,EAAE,CAAC;IAEN,OAAO;QACN,WAAW,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO;aACP;YAED,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,gBAAgB,oBAkC3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-render-embedded-stack.d.ts","sourceRoot":"","sources":["../src/delay-render-embedded-stack.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,wBAAwB,EACxB,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,6BAA6B,YAChC,MAAM,KACb,wBAAwB,EAAE,GAAG,IAY/B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-render-embedded-stack.js","sourceRoot":"","sources":["../src/delay-render-embedded-stack.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,2EAGqC;AAE9B,MAAM,6BAA6B,GAAG,CAC5C,OAAe,EACqB,EAAE;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAS,CAAC,4BAA4B,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QACjB,OAAO,IAAI,CAAC;KACZ;IAED,MAAM,GAAG,GAAG,OAAO;SACjB,SAAS,CAAC,KAAK,GAAG,oBAAS,CAAC,4BAA4B,CAAC,MAAM,CAAC;SAChE,IAAI,EAAE,CAAC;IAET,MAAM,MAAM,GAAG,IAAA,sCAAU,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,6BAA6B,iCAcxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-directory.d.ts","sourceRoot":"","sources":["../src/delete-directory.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,cAAqB,MAAM,KAAG,QAAQ,IAAI,CAerE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-directory.js","sourceRoot":"","sources":["../src/delete-directory.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,kDAA0B;AAC1B,iDAA0C;AAEnC,MAAM,eAAe,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;;IACzE,IAAI,IAAA,yBAAU,EAAC,SAAS,CAAC,EAAE;QAC1B,OAAO;KACP;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QACjC,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;KAC3D;SAAM;QACN,MAAM,CAAC,MAAA,YAAE,CAAC,QAAQ,CAAC,EAAE,mCAAI,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE;YACtD,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AAfW,QAAA,eAAe,mBAe1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-frames-in-order.d.ts","sourceRoot":"","sources":["../src/ensure-frames-in-order.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,eAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;qDAcD,MAAM;0BAWvC,MAAM;;CAcnC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-frames-in-order.js","sourceRoot":"","sources":["../src/ensure-frames-in-order.ts"],"names":[],"mappings":";;;AAMO,MAAM,mBAAmB,GAAG,CAAC,UAA4B,EAAE,EAAE;IACnE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC;IAE7C,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,IAAI,aAAa,KAAK,MAAM,CAAC,QAAQ,EAAE;gBACtC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;aACpD;SACD;IACF,CAAC,CAAC;IAEF,MAAM,mCAAmC,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;QACvE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,QAAQ,EAAE,SAAS;gBACnB,OAAO;aACP,CAAC,CAAC;YACH,cAAc,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,EAAE;QACtC,aAAa,GAAG,CAAC,CAAC;QAClB,cAAc,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,mCAAmC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO;QACN,mCAAmC;QACnC,gBAAgB;QAChB,aAAa;KACb,CAAC;AACH,CAAC,CAAC;AAvCW,QAAA,mBAAmB,uBAuC9B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-output-directory.d.ts","sourceRoot":"","sources":["../src/ensure-output-directory.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,mBAAoB,MAAM,SAQ3D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-output-directory.js","sourceRoot":"","sources":["../src/ensure-output-directory.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAEjB,MAAM,qBAAqB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC5B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC"}
@@ -1 +1,2 @@
1
- export declare const ensurePresentationTimestamps: (src: string) => Promise<string>;
1
+ import type { DownloadMap } from './assets/download-map';
2
+ export declare const ensurePresentationTimestamps: (downloadMap: DownloadMap, src: string) => Promise<string>;
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ensurePresentationTimestamps = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
8
  const path_1 = __importDefault(require("path"));
9
- const remotion_1 = require("remotion");
10
9
  const guess_extension_for_media_1 = require("./guess-extension-for-media");
11
- const ensureFileHasPresentationTimestamp = {};
10
+ const truthy_1 = require("./truthy");
12
11
  let callbacks = [];
13
12
  const getTemporaryOutputName = async (src) => {
14
13
  const parts = src.split(path_1.default.sep);
@@ -20,14 +19,14 @@ const getTemporaryOutputName = async (src) => {
20
19
  return parts
21
20
  .map((p, i) => {
22
21
  if (i === parts.length - 1) {
23
- return [`pts-${p}`, extraExtension].filter(remotion_1.Internals.truthy).join('.');
22
+ return [`pts-${p}`, extraExtension].filter(truthy_1.truthy).join('.');
24
23
  }
25
24
  return p;
26
25
  })
27
26
  .join(path_1.default.sep);
28
27
  };
29
- const ensurePresentationTimestamps = async (src) => {
30
- const elem = ensureFileHasPresentationTimestamp[src];
28
+ const ensurePresentationTimestamps = async (downloadMap, src) => {
29
+ const elem = downloadMap.ensureFileHasPresentationTimestamp[src];
31
30
  if ((elem === null || elem === void 0 ? void 0 : elem.type) === 'encoding') {
32
31
  return new Promise((resolve) => {
33
32
  callbacks.push({
@@ -39,7 +38,7 @@ const ensurePresentationTimestamps = async (src) => {
39
38
  if ((elem === null || elem === void 0 ? void 0 : elem.type) === 'done') {
40
39
  return elem.src;
41
40
  }
42
- ensureFileHasPresentationTimestamp[src] = { type: 'encoding' };
41
+ downloadMap.ensureFileHasPresentationTimestamp[src] = { type: 'encoding' };
43
42
  // If there is no file extension for the video, then we need to tempoa
44
43
  const output = await getTemporaryOutputName(src);
45
44
  await (0, execa_1.default)('ffmpeg', [
@@ -61,7 +60,10 @@ const ensurePresentationTimestamps = async (src) => {
61
60
  }
62
61
  return true;
63
62
  });
64
- ensureFileHasPresentationTimestamp[src] = { type: 'done', src: output };
63
+ downloadMap.ensureFileHasPresentationTimestamp[src] = {
64
+ type: 'done',
65
+ src: output,
66
+ };
65
67
  return output;
66
68
  };
67
69
  exports.ensurePresentationTimestamps = ensurePresentationTimestamps;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-javascript-exception.d.ts","sourceRoot":"","sources":["../../src/error-handling/handle-javascript-exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,IAAI,EAAW,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B,CAAC;AAGjE,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,uBAAuB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACzD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;gBAErC,EACX,OAAO,EACP,uBAAuB,EACvB,KAAK,EACL,IAAI,EACJ,eAAe,GACf,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,uBAAuB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;QACzD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;KACjD;CAOD;AAmBD,eAAO,MAAM,sBAAsB,YAAa,MAAM,WAOrD,CAAC;AAaF,eAAO,MAAM,yBAAyB;UAK/B,IAAI;WACH,MAAM,GAAG,IAAI;mBACL,KAAK,KAAK,IAAI;gBAmC7B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-javascript-exception.js","sourceRoot":"","sources":["../../src/error-handling/handle-javascript-exception.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicate-error.d.ts","sourceRoot":"","sources":["../../src/error-handling/symbolicate-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,gBAAgB,yBACN,oBAAoB,KACxC,QAAQ,mBAAmB,CAgB7B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicate-error.js","sourceRoot":"","sources":["../../src/error-handling/symbolicate-error.ts"],"names":[],"mappings":";;;AAAA,sEAAgE;AAChE,+EAAkE;AAG3D,MAAM,gBAAgB,GAAG,KAAK,EACpC,oBAA0C,EACX,EAAE;IACjC,MAAM,EAAC,eAAe,EAAE,UAAU,EAAC,GAAG,oBAAoB,CAAC;IAC3D,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,UAAU,CAAC,CAAC,CAAC,IAAA,8CAAqB,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;QACrD,eAAe,CAAC,CAAC,CAAC,IAAA,8CAAqB,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;KAC/D,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,iDAAmB,CAAC;QAC/C,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,uBAAuB,EAAE,eAAe;QACxC,KAAK,EAAE,oBAAoB,CAAC,KAAK;QACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,eAAe,EAAE,iBAAiB;KAClC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicateable-error.d.ts","sourceRoot":"","sources":["../../src/error-handling/symbolicateable-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAC,wBAAwB,EAAC,MAAM,8BAA8B,CAAC;AAEtE,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,UAAU,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAET,EACX,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,IAAI,GACJ,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;KAC9C;CAQD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicateable-error.js","sourceRoot":"","sources":["../../src/error-handling/symbolicateable-error.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,gFAA6E;AAG7E,MAAa,oBAAqB,SAAQ,KAAK;IAK9C,YAAY,EACX,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,IAAI,GAOJ;QACA,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,2DAA6B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;CACD;AAzBD,oDAyBC"}
@@ -1,4 +1,6 @@
1
- import type { FfmpegExecutable, OffthreadVideoImageFormat } from 'remotion';
1
+ import type { OffthreadVideoImageFormat } from 'remotion';
2
+ import type { DownloadMap } from './assets/download-map';
3
+ import type { FfmpegExecutable } from './ffmpeg-executable';
2
4
  import type { LastFrameOptions } from './last-frame-from-video-cache';
3
5
  export declare const getLastFrameOfVideo: (options: LastFrameOptions) => Promise<Buffer>;
4
6
  declare type Options = {
@@ -7,6 +9,7 @@ declare type Options = {
7
9
  ffmpegExecutable: FfmpegExecutable;
8
10
  ffprobeExecutable: FfmpegExecutable;
9
11
  imageFormat: OffthreadVideoImageFormat;
12
+ downloadMap: DownloadMap;
10
13
  };
11
14
  export declare const extractFrameFromVideo: (options: Options) => Promise<Buffer>;
12
15
  export {};
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractFrameFromVideo = exports.getLastFrameOfVideo = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
- const remotion_1 = require("remotion");
9
8
  const get_video_stream_duration_1 = require("./assets/get-video-stream-duration");
10
9
  const ensure_presentation_timestamp_1 = require("./ensure-presentation-timestamp");
11
10
  const frame_to_ffmpeg_timestamp_1 = require("./frame-to-ffmpeg-timestamp");
@@ -13,6 +12,8 @@ const get_video_info_1 = require("./get-video-info");
13
12
  const is_beyond_last_frame_1 = require("./is-beyond-last-frame");
14
13
  const last_frame_from_video_cache_1 = require("./last-frame-from-video-cache");
15
14
  const p_limit_1 = require("./p-limit");
15
+ const perf_1 = require("./perf");
16
+ const truthy_1 = require("./truthy");
16
17
  const lastFrameLimit = (0, p_limit_1.pLimit)(1);
17
18
  const mainLimit = (0, p_limit_1.pLimit)(5);
18
19
  const determineVcodecFfmepgFlags = (vcodecFlag) => {
@@ -21,7 +22,7 @@ const determineVcodecFfmepgFlags = (vcodecFlag) => {
21
22
  vcodecFlag === 'vp9' ? 'libvpx-vp9' : null,
22
23
  vcodecFlag === 'vp8' ? '-vcodec' : null,
23
24
  vcodecFlag === 'vp8' ? 'libvpx' : null,
24
- ].filter(remotion_1.Internals.truthy);
25
+ ].filter(truthy_1.truthy);
25
26
  };
26
27
  const determineResizeParams = (needsResize) => {
27
28
  if (needsResize === null) {
@@ -48,7 +49,7 @@ const getFrameOfVideoSlow = async ({ src, timestamp, ffmpegExecutable, imageForm
48
49
  'image2pipe',
49
50
  ...determineResizeParams(needsResize),
50
51
  '-',
51
- ].filter(remotion_1.Internals.truthy);
52
+ ].filter(truthy_1.truthy);
52
53
  const { stdout, stderr } = (0, execa_1.default)(ffmpegExecutable !== null && ffmpegExecutable !== void 0 ? ffmpegExecutable : 'ffmpeg', command);
53
54
  if (!stderr) {
54
55
  throw new Error('unexpectedly did not get stderr');
@@ -76,12 +77,12 @@ const getFrameOfVideoSlow = async ({ src, timestamp, ffmpegExecutable, imageForm
76
77
  return stdoutBuffer;
77
78
  };
78
79
  const getLastFrameOfVideoFastUnlimited = async (options) => {
79
- const { ffmpegExecutable, ffprobeExecutable, offset, src } = options;
80
+ const { ffmpegExecutable, ffprobeExecutable, offset, src, downloadMap } = options;
80
81
  const fromCache = (0, last_frame_from_video_cache_1.getLastFrameFromCache)({ ...options, offset: 0 });
81
82
  if (fromCache) {
82
83
  return fromCache;
83
84
  }
84
- const { duration } = await (0, get_video_stream_duration_1.getVideoStreamDuration)(src, ffprobeExecutable);
85
+ const { duration, fps } = await (0, get_video_stream_duration_1.getVideoStreamDuration)(downloadMap, src, ffprobeExecutable);
85
86
  if (duration === null) {
86
87
  throw new Error(`Could not determine the duration of ${src} using FFMPEG. The file is not supported.`);
87
88
  }
@@ -96,7 +97,7 @@ const getLastFrameOfVideoFastUnlimited = async (options) => {
96
97
  });
97
98
  return last;
98
99
  }
99
- const actualOffset = `${duration * 1000 - offset - 10}ms`;
100
+ const actualOffset = `${duration * 1000 - offset}ms`;
100
101
  const { stdout, stderr } = (0, execa_1.default)(ffmpegExecutable !== null && ffmpegExecutable !== void 0 ? ffmpegExecutable : 'ffmpeg', [
101
102
  '-ss',
102
103
  actualOffset,
@@ -111,7 +112,7 @@ const getLastFrameOfVideoFastUnlimited = async (options) => {
111
112
  'image2pipe',
112
113
  ...determineResizeParams(options.needsResize),
113
114
  '-',
114
- ].filter(remotion_1.Internals.truthy));
115
+ ].filter(truthy_1.truthy));
115
116
  if (!stderr) {
116
117
  throw new Error('unexpectedly did not get stderr');
117
118
  }
@@ -141,12 +142,14 @@ const getLastFrameOfVideoFastUnlimited = async (options) => {
141
142
  if (isEmpty) {
142
143
  const unlimited = await getLastFrameOfVideoFastUnlimited({
143
144
  ffmpegExecutable,
144
- offset: offset + 10,
145
+ // Decrement in 10ms increments, or 1 frame (e.g. fps = 25 --> 40ms)
146
+ offset: offset + 1000 / (fps === null ? 10 : fps),
145
147
  src,
146
148
  ffprobeExecutable,
147
149
  imageFormat: options.imageFormat,
148
150
  specialVCodecForTransparency: options.specialVCodecForTransparency,
149
151
  needsResize: options.needsResize,
152
+ downloadMap: options.downloadMap,
150
153
  });
151
154
  return unlimited;
152
155
  }
@@ -158,11 +161,11 @@ const getLastFrameOfVideo = async (options) => {
158
161
  return result;
159
162
  };
160
163
  exports.getLastFrameOfVideo = getLastFrameOfVideo;
161
- const extractFrameFromVideoFn = async ({ time, ffmpegExecutable, ffprobeExecutable, imageFormat, ...options }) => {
164
+ const extractFrameFromVideoFn = async ({ time, ffmpegExecutable, ffprobeExecutable, imageFormat, downloadMap, ...options }) => {
162
165
  // We make a new copy of the video only for video because the conversion may affect
163
166
  // audio rendering, so we work with 2 different files
164
- const src = await (0, ensure_presentation_timestamp_1.ensurePresentationTimestamps)(options.src);
165
- const { specialVcodec, needsResize } = await (0, get_video_info_1.getVideoInfo)(src, ffprobeExecutable);
167
+ const src = await (0, ensure_presentation_timestamp_1.ensurePresentationTimestamps)(downloadMap, options.src);
168
+ const { specialVcodec, needsResize } = await (0, get_video_info_1.getVideoInfo)(downloadMap, src, ffprobeExecutable);
166
169
  if (specialVcodec === 'vp8') {
167
170
  return getFrameOfVideoSlow({
168
171
  ffmpegExecutable,
@@ -173,7 +176,7 @@ const extractFrameFromVideoFn = async ({ time, ffmpegExecutable, ffprobeExecutab
173
176
  needsResize,
174
177
  });
175
178
  }
176
- if ((0, is_beyond_last_frame_1.isBeyondLastFrame)(src, time)) {
179
+ if ((0, is_beyond_last_frame_1.isBeyondLastFrame)(downloadMap, src, time)) {
177
180
  const lastFrame = await (0, exports.getLastFrameOfVideo)({
178
181
  ffmpegExecutable,
179
182
  ffprobeExecutable,
@@ -182,6 +185,7 @@ const extractFrameFromVideoFn = async ({ time, ffmpegExecutable, ffprobeExecutab
182
185
  imageFormat,
183
186
  specialVCodecForTransparency: specialVcodec,
184
187
  needsResize,
188
+ downloadMap,
185
189
  });
186
190
  return lastFrame;
187
191
  }
@@ -200,7 +204,7 @@ const extractFrameFromVideoFn = async ({ time, ffmpegExecutable, ffprobeExecutab
200
204
  imageFormat === 'jpeg' ? 'mjpeg' : 'png',
201
205
  ...determineResizeParams(needsResize),
202
206
  '-',
203
- ].filter(remotion_1.Internals.truthy), {
207
+ ].filter(truthy_1.truthy), {
204
208
  buffer: false,
205
209
  });
206
210
  if (!stderr) {
@@ -226,7 +230,7 @@ const extractFrameFromVideoFn = async ({ time, ffmpegExecutable, ffprobeExecutab
226
230
  stdoutBuffer,
227
231
  ]);
228
232
  if (stderrStr.includes('Output file is empty')) {
229
- (0, is_beyond_last_frame_1.markAsBeyondLastFrame)(src, time);
233
+ (0, is_beyond_last_frame_1.markAsBeyondLastFrame)(downloadMap, src, time);
230
234
  const last = await (0, exports.getLastFrameOfVideo)({
231
235
  ffmpegExecutable,
232
236
  ffprobeExecutable,
@@ -235,15 +239,16 @@ const extractFrameFromVideoFn = async ({ time, ffmpegExecutable, ffprobeExecutab
235
239
  imageFormat,
236
240
  specialVCodecForTransparency: specialVcodec,
237
241
  needsResize,
242
+ downloadMap,
238
243
  });
239
244
  return last;
240
245
  }
241
246
  return stdOut;
242
247
  };
243
248
  const extractFrameFromVideo = async (options) => {
244
- const perf = remotion_1.Internals.perf.startPerfMeasure('extract-frame');
249
+ const perf = (0, perf_1.startPerfMeasure)('extract-frame');
245
250
  const res = await mainLimit(extractFrameFromVideoFn, options);
246
- remotion_1.Internals.perf.stopPerfMeasure(perf);
251
+ (0, perf_1.stopPerfMeasure)(perf);
247
252
  return res;
248
253
  };
249
254
  exports.extractFrameFromVideo = extractFrameFromVideo;
@@ -0,0 +1 @@
1
+ export declare type FfmpegExecutable = string | null;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,5 @@
1
- export declare const makeFfmpegFilterFile: (complexFilter: string) => Promise<{
1
+ import type { DownloadMap } from './assets/download-map';
2
+ export declare const makeFfmpegFilterFile: (complexFilter: string, downloadMap: DownloadMap) => Promise<{
2
3
  file: string;
3
4
  cleanup: () => void;
4
5
  }>;
@@ -8,16 +8,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.makeFfmpegFilterFile = void 0;
9
9
  const fs_1 = __importDefault(require("fs"));
10
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');
11
+ const makeFfmpegFilterFile = async (complexFilter, downloadMap) => {
12
+ const random = Math.random().toString().replace('.', '');
13
+ const filterFile = path_1.default.join(downloadMap.complexFilter, 'complex-filter-' + random + '.txt');
16
14
  await fs_1.default.promises.writeFile(filterFile, complexFilter);
17
15
  return {
18
16
  file: filterFile,
19
17
  cleanup: () => {
20
- (0, delete_directory_1.deleteDirectory)(filterFile);
18
+ fs_1.default.unlinkSync(filterFile);
21
19
  },
22
20
  };
23
21
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg-flags.d.ts","sourceRoot":"","sources":["../src/ffmpeg-flags.ts"],"names":[],"mappings":"AAKA,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;AAE5D,eAAO,MAAM,kBAAkB,YAAmB;IACjD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,oBAcA,CAAC;AAEF,eAAO,MAAM,gBAAgB;sBAKV,MAAM,GAAG,IAAI;aACtB,YAAY,GAAG,gBAAgB,GAAG,eAAe;cAChD,OAAO;sBAajB,CAAC;AAEF,eAAO,MAAM,kBAAkB,cAAe,MAAM,KAAG,aAStD,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAmB;IAC/C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,KAAG,QAAQ,aAAa,CAKxB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg-flags.js","sourceRoot":"","sources":["../src/ffmpeg-flags.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAA+C;AAE/C,IAAI,WAAW,GAAkB,IAAI,CAAC;AAI/B,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAExC,EAAE,EAAE;;IACJ,IAAI,WAAW,KAAK,IAAI,EAAE;QACzB,OAAO,WAAW,CAAC;KACnB;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EACvB,MAAA,OAAO,CAAC,gBAAgB,mCAAI,QAAQ,EACpC,CAAC,YAAY,CAAC,EACd;QACC,MAAM,EAAE,KAAK;KACb,CACD,CAAC;IACF,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B;AAEK,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACtC,gBAAgB,EAChB,OAAO,EACP,QAAQ,GAKR,EAAE,EAAE;IACJ,IAAI,QAAQ,EAAE;QACb,4DAA4D;QAC5D,OAAO,IAAI,CAAC;KACZ;IAED,IAAI,CAAC,CAAC,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE;QACtD,OAAO,KAAK,CAAC;KACb;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAkB,EAAC,EAAC,gBAAgB,EAAC,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B;AAEK,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAiB,EAAE;;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAC5B,gDAAgD,CAChD,CAAC;IACF,IAAI,CAAC,KAAK,EAAE;QACX,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAEtC,EAA0B,EAAE;IAC5B,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAkB,EAAC;QAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC1C,CAAC,CAAC;IACH,OAAO,IAAA,0BAAkB,EAAC,SAAS,CAAC,CAAC;AACtC,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B"}
@@ -0,0 +1,2 @@
1
+ export declare type FrameRange = number | [number, number];
2
+ export declare const validateFrameRange: (frameRange: FrameRange | null) => void;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateFrameRange = void 0;
4
+ const validateFrameRange = (frameRange) => {
5
+ if (frameRange === null) {
6
+ return;
7
+ }
8
+ if (typeof frameRange === 'number') {
9
+ if (frameRange < 0) {
10
+ throw new TypeError('Frame must be a non-negative number, got ' + frameRange);
11
+ }
12
+ if (!Number.isFinite(frameRange)) {
13
+ throw new TypeError('Frame must be a finite number, got ' + frameRange);
14
+ }
15
+ if (!Number.isInteger(frameRange)) {
16
+ throw new Error(`Frame must be an integer, but got a float (${frameRange})`);
17
+ }
18
+ return;
19
+ }
20
+ if (Array.isArray(frameRange)) {
21
+ if (frameRange.length !== 2) {
22
+ throw new TypeError('Frame range must be a tuple, got an array with length ' +
23
+ frameRange.length);
24
+ }
25
+ for (const value of frameRange) {
26
+ if (typeof value !== 'number') {
27
+ throw new Error(`Each value of frame range must be a number, but got ${typeof value} (${JSON.stringify(value)})`);
28
+ }
29
+ if (!Number.isFinite(value)) {
30
+ throw new TypeError('Each value of frame range must be finite, but got ' + value);
31
+ }
32
+ if (!Number.isInteger(value)) {
33
+ throw new Error(`Each value of frame range must be an integer, but got a float (${value})`);
34
+ }
35
+ if (value < 0) {
36
+ throw new Error(`Each value of frame range must be non-negative, but got ${value}`);
37
+ }
38
+ }
39
+ const [first, second] = frameRange;
40
+ if (second < first) {
41
+ throw new Error('The second value of frame range must be not smaller than the first one, but got ' +
42
+ frameRange.join('-'));
43
+ }
44
+ return;
45
+ }
46
+ throw new TypeError('Frame range must be a number or a tuple of numbers, but got object of type ' +
47
+ typeof frameRange);
48
+ };
49
+ exports.validateFrameRange = validateFrameRange;
@@ -1,2 +1,2 @@
1
- import type { Codec } from 'remotion';
1
+ import type { Codec } from './codec';
2
2
  export declare const getAudioCodecName: (codec: Codec) => string | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-audio-codec-name.d.ts","sourceRoot":"","sources":["../src/get-audio-codec-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAY,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,iBAAiB,UAAW,KAAK,KAAG,MAAM,GAAG,IA4BzD,CAAC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAudioCodecName = void 0;
4
- const remotion_1 = require("remotion");
4
+ const is_audio_codec_1 = require("./is-audio-codec");
5
5
  const getAudioCodecName = (codec) => {
6
- if (!remotion_1.Internals.isAudioCodec(codec)) {
6
+ if (!(0, is_audio_codec_1.isAudioCodec)(codec)) {
7
7
  // The mkv container supports WAV, but MP4 does only support
8
8
  // AAC. Choose MKV codec for better quality because we can put in lossless audio
9
9
  if (codec === 'h264-mkv') {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-audio-codec-name.js","sourceRoot":"","sources":["../src/get-audio-codec-name.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAEnC,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAiB,EAAE;IAChE,IAAI,CAAC,oBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACnC,4DAA4D;QAC5D,gFAAgF;QAChF,IAAI,KAAK,KAAK,UAAU,EAAE;YACzB,OAAO,WAAW,CAAC;SACnB;QAED,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,EAAE;YACvC,OAAO,SAAS,CAAC;SACjB;QAED,OAAO,KAAK,CAAC;KACb;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACpB,OAAO,KAAK,CAAC;KACb;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACpB,OAAO,YAAY,CAAC;KACpB;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACpB,OAAO,WAAW,CAAC;KACnB;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AA5BW,QAAA,iBAAiB,qBA4B5B"}
@@ -1,4 +1,4 @@
1
- import type { BrowserExecutable } from 'remotion';
1
+ import type { BrowserExecutable } from './browser-executable';
2
2
  import type { Browser } from './browser/Browser';
3
3
  import type { Page } from './browser/BrowserPage';
4
4
  import type { ChromiumOptions } from './open-browser';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-browser-instance.d.ts","sourceRoot":"","sources":["../src/get-browser-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAY,MAAM,UAAU,CAAC;AACtD,OAAO,EAAC,eAAe,EAAc,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,mBAAmB;sBAKb,OAAO,GAAG,SAAS;uBAClB,iBAAiB,GAAG,IAAI;qBAC1B,eAAe;MAC7B,QAAQ;IACX,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACX,CA8BA,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPageAndCleanupFn = void 0;
4
- const remotion_1 = require("remotion");
4
+ const browser_1 = require("./browser");
5
5
  const open_browser_1 = require("./open-browser");
6
6
  const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromiumOptions, }) => {
7
7
  if (passedInInstance) {
@@ -17,7 +17,7 @@ const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromi
17
17
  },
18
18
  };
19
19
  }
20
- const browserInstance = await (0, open_browser_1.openBrowser)(remotion_1.Internals.DEFAULT_BROWSER, {
20
+ const browserInstance = await (0, open_browser_1.openBrowser)(browser_1.DEFAULT_BROWSER, {
21
21
  browserExecutable,
22
22
  chromiumOptions,
23
23
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-browser-instance.js","sourceRoot":"","sources":["../src/get-browser-instance.ts"],"names":[],"mappings":";;;AACA,uCAAsD;AACtD,iDAA4D;AAErD,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACzC,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAKf,EAGE,EAAE;IACJ,IAAI,gBAAgB,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,GAAG,EAAE;gBACb,wDAAwD;gBACxD,qBAAqB;gBACrB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1B,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACJ,CAAC;SACD,CAAC;KACF;IAED,MAAM,eAAe,GAAG,MAAM,IAAA,0BAAW,EAAC,oBAAS,CAAC,eAAe,EAAE;QACpE,iBAAiB;QACjB,eAAe;KACf,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;IAEpD,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,GAAG,EAAE;YACb,6EAA6E;YAC7E,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAzCW,QAAA,mBAAmB,uBAyC9B"}
@@ -1,2 +1,2 @@
1
- import type { Codec } from 'remotion';
1
+ import type { Codec } from './codec';
2
2
  export declare const getCodecName: (codec: Codec) => string | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-codec-name.d.ts","sourceRoot":"","sources":["../src/get-codec-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAY,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,YAAY,UAAW,KAAK,KAAG,MAAM,GAAG,IA0BpD,CAAC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCodecName = void 0;
4
- const remotion_1 = require("remotion");
4
+ const is_audio_codec_1 = require("./is-audio-codec");
5
5
  const getCodecName = (codec) => {
6
- if (remotion_1.Internals.isAudioCodec(codec)) {
6
+ if ((0, is_audio_codec_1.isAudioCodec)(codec)) {
7
7
  return null;
8
8
  }
9
9
  if (codec === 'h264' || codec === 'h264-mkv') {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-codec-name.js","sourceRoot":"","sources":["../src/get-codec-name.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAEnC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAiB,EAAE;IAC3D,IAAI,oBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACZ;IAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,EAAE;QAC7C,OAAO,SAAS,CAAC;KACjB;IAED,IAAI,KAAK,KAAK,MAAM,EAAE;QACrB,OAAO,SAAS,CAAC;KACjB;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACpB,OAAO,QAAQ,CAAC;KAChB;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACpB,OAAO,YAAY,CAAC;KACpB;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE;QACvB,OAAO,WAAW,CAAC;KACnB;IAED,MAAM,IAAI,SAAS,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AA1BW,QAAA,YAAY,gBA0BvB"}
@@ -1,6 +1,9 @@
1
- import type { BrowserExecutable, FfmpegExecutable, TCompMetadata } from 'remotion';
1
+ import type { TCompMetadata } from 'remotion';
2
+ import type { DownloadMap } from './assets/download-map';
3
+ import type { BrowserExecutable } from './browser-executable';
2
4
  import type { BrowserLog } from './browser-log';
3
5
  import type { Browser } from './browser/Browser';
6
+ import type { FfmpegExecutable } from './ffmpeg-executable';
4
7
  import type { ChromiumOptions } from './open-browser';
5
8
  declare type GetCompositionsConfig = {
6
9
  inputProps?: object | null;
@@ -13,6 +16,10 @@ declare type GetCompositionsConfig = {
13
16
  ffmpegExecutable?: FfmpegExecutable;
14
17
  ffprobeExecutable?: FfmpegExecutable;
15
18
  port?: number | null;
19
+ /**
20
+ * @deprecated Only for Remotion internal usage
21
+ */
22
+ downloadMap?: DownloadMap;
16
23
  };
17
24
  export declare const getCompositions: (serveUrlOrWebpackUrl: string, config?: GetCompositionsConfig) => Promise<TCompMetadata[]>;
18
25
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-compositions.d.ts","sourceRoot":"","sources":["../src/get-compositions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAO,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAM/C,aAAK,qBAAqB,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAoDF,eAAO,MAAM,eAAe,yBACL,MAAM,yEA4B5B,CAAC"}