@remotion/renderer 3.1.10 → 3.2.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 (189) hide show
  1. package/dist/create-ffmpeg-complex-filter.d.ts +1 -4
  2. package/dist/get-compositions.js +2 -0
  3. package/dist/get-extension-from-codec.d.ts +1 -1
  4. package/dist/guess-extension-for-media.d.ts +1 -1
  5. package/dist/index.d.ts +12 -11
  6. package/dist/offthread-video-server.js +11 -0
  7. package/dist/render-frames.d.ts +1 -0
  8. package/dist/render-frames.js +3 -1
  9. package/dist/render-media.d.ts +3 -1
  10. package/dist/render-media.js +7 -1
  11. package/dist/render-still.js +2 -0
  12. package/dist/screenshot-task.d.ts +1 -0
  13. package/dist/set-props-and-env.d.ts +3 -1
  14. package/dist/set-props-and-env.js +17 -8
  15. package/dist/stitch-frames-to-video.d.ts +2 -0
  16. package/dist/stitch-frames-to-video.js +11 -2
  17. package/package.json +3 -3
  18. package/dist/add-silent-audio-if-necessary.d.ts +0 -8
  19. package/dist/add-silent-audio-if-necessary.d.ts.map +0 -1
  20. package/dist/add-silent-audio-if-necessary.js +0 -51
  21. package/dist/add-silent-audio-if-necessary.js.map +0 -1
  22. package/dist/assets/asset-is-used-at-time.d.ts +0 -3
  23. package/dist/assets/asset-is-used-at-time.d.ts.map +0 -1
  24. package/dist/assets/asset-is-used-at-time.js +0 -8
  25. package/dist/assets/asset-is-used-at-time.js.map +0 -1
  26. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  27. package/dist/assets/calculate-asset-positions.js.map +0 -1
  28. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  29. package/dist/assets/calculate-atempo.js.map +0 -1
  30. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  31. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  32. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  33. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  34. package/dist/assets/download-file.d.ts.map +0 -1
  35. package/dist/assets/download-file.js.map +0 -1
  36. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  37. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  38. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  39. package/dist/assets/flatten-volume-array.js.map +0 -1
  40. package/dist/assets/get-asset-audio-details.d.ts +0 -5
  41. package/dist/assets/get-asset-audio-details.d.ts.map +0 -1
  42. package/dist/assets/get-asset-audio-details.js +0 -21
  43. package/dist/assets/get-asset-audio-details.js.map +0 -1
  44. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  45. package/dist/assets/get-audio-channels.js.map +0 -1
  46. package/dist/assets/get-simulatenous-assets.d.ts +0 -3
  47. package/dist/assets/get-simulatenous-assets.d.ts.map +0 -1
  48. package/dist/assets/get-simulatenous-assets.js +0 -14
  49. package/dist/assets/get-simulatenous-assets.js.map +0 -1
  50. package/dist/assets/read-file.d.ts.map +0 -1
  51. package/dist/assets/read-file.js.map +0 -1
  52. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  53. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  54. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  55. package/dist/assets/sanitize-filename.js.map +0 -1
  56. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  57. package/dist/assets/sanitize-filepath.js.map +0 -1
  58. package/dist/assets/split-assets-into-segments.d.ts +0 -6
  59. package/dist/assets/split-assets-into-segments.d.ts.map +0 -1
  60. package/dist/assets/split-assets-into-segments.js +0 -89
  61. package/dist/assets/split-assets-into-segments.js.map +0 -1
  62. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  63. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  64. package/dist/assets/types.d.ts.map +0 -1
  65. package/dist/assets/types.js.map +0 -1
  66. package/dist/assets-to-ffmpeg-inputs.d.ts +0 -7
  67. package/dist/assets-to-ffmpeg-inputs.d.ts.map +0 -1
  68. package/dist/assets-to-ffmpeg-inputs.js +0 -15
  69. package/dist/assets-to-ffmpeg-inputs.js.map +0 -1
  70. package/dist/browser-log.d.ts.map +0 -1
  71. package/dist/browser-log.js.map +0 -1
  72. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  73. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  74. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  75. package/dist/can-use-parallel-encoding.js.map +0 -1
  76. package/dist/combine-videos.d.ts.map +0 -1
  77. package/dist/combine-videos.js.map +0 -1
  78. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  79. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  80. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  81. package/dist/cycle-browser-tabs.js.map +0 -1
  82. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  83. package/dist/delay-render-embedded-stack.js.map +0 -1
  84. package/dist/delete-directory.d.ts.map +0 -1
  85. package/dist/delete-directory.js.map +0 -1
  86. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  87. package/dist/ensure-frames-in-order.js.map +0 -1
  88. package/dist/ensure-output-directory.d.ts.map +0 -1
  89. package/dist/ensure-output-directory.js.map +0 -1
  90. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  91. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  92. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  93. package/dist/error-handling/symbolicate-error.js.map +0 -1
  94. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  95. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  96. package/dist/ffmpeg-flags.d.ts.map +0 -1
  97. package/dist/ffmpeg-flags.js.map +0 -1
  98. package/dist/get-audio-codec-name.d.ts.map +0 -1
  99. package/dist/get-audio-codec-name.js.map +0 -1
  100. package/dist/get-browser-instance.d.ts.map +0 -1
  101. package/dist/get-browser-instance.js.map +0 -1
  102. package/dist/get-codec-name.d.ts.map +0 -1
  103. package/dist/get-codec-name.js.map +0 -1
  104. package/dist/get-compositions.d.ts.map +0 -1
  105. package/dist/get-compositions.js.map +0 -1
  106. package/dist/get-concurrency.d.ts.map +0 -1
  107. package/dist/get-concurrency.js.map +0 -1
  108. package/dist/get-extension-from-codec.d.ts.map +0 -1
  109. package/dist/get-extension-from-codec.js.map +0 -1
  110. package/dist/get-frame-to-render.d.ts.map +0 -1
  111. package/dist/get-frame-to-render.js.map +0 -1
  112. package/dist/get-local-browser-executable.d.ts.map +0 -1
  113. package/dist/get-local-browser-executable.js.map +0 -1
  114. package/dist/get-port.d.ts.map +0 -1
  115. package/dist/get-port.js.map +0 -1
  116. package/dist/get-prores-profile-name.d.ts.map +0 -1
  117. package/dist/get-prores-profile-name.js.map +0 -1
  118. package/dist/image-format.d.ts.map +0 -1
  119. package/dist/image-format.js.map +0 -1
  120. package/dist/index.d.ts.map +0 -1
  121. package/dist/index.js.map +0 -1
  122. package/dist/is-serve-url.d.ts.map +0 -1
  123. package/dist/is-serve-url.js.map +0 -1
  124. package/dist/legacy-webpack-config.d.ts.map +0 -1
  125. package/dist/legacy-webpack-config.js.map +0 -1
  126. package/dist/make-assets-download-dir.d.ts +0 -1
  127. package/dist/make-assets-download-dir.d.ts.map +0 -1
  128. package/dist/make-assets-download-dir.js +0 -13
  129. package/dist/make-assets-download-dir.js.map +0 -1
  130. package/dist/normalize-serve-url.d.ts.map +0 -1
  131. package/dist/normalize-serve-url.js.map +0 -1
  132. package/dist/open-browser.d.ts.map +0 -1
  133. package/dist/open-browser.js.map +0 -1
  134. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  135. package/dist/parse-browser-error-stack.js.map +0 -1
  136. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  137. package/dist/parse-ffmpeg-progress.js.map +0 -1
  138. package/dist/pool.d.ts.map +0 -1
  139. package/dist/pool.js.map +0 -1
  140. package/dist/prepare-server.d.ts.map +0 -1
  141. package/dist/prepare-server.js.map +0 -1
  142. package/dist/provide-screenshot.d.ts.map +0 -1
  143. package/dist/provide-screenshot.js.map +0 -1
  144. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  145. package/dist/puppeteer-evaluate.js.map +0 -1
  146. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  147. package/dist/puppeteer-screenshot.js.map +0 -1
  148. package/dist/render-media.d.ts.map +0 -1
  149. package/dist/render-media.js.map +0 -1
  150. package/dist/render-still.d.ts.map +0 -1
  151. package/dist/render-still.js.map +0 -1
  152. package/dist/render.d.ts +0 -45
  153. package/dist/render.d.ts.map +0 -1
  154. package/dist/render.js +0 -245
  155. package/dist/render.js.map +0 -1
  156. package/dist/resolve-asset-src.d.ts.map +0 -1
  157. package/dist/resolve-asset-src.js.map +0 -1
  158. package/dist/sample-rate.d.ts.map +0 -1
  159. package/dist/sample-rate.js.map +0 -1
  160. package/dist/screenshot-dom-element.d.ts.map +0 -1
  161. package/dist/screenshot-dom-element.js.map +0 -1
  162. package/dist/screenshot-task.d.ts.map +0 -1
  163. package/dist/screenshot-task.js.map +0 -1
  164. package/dist/seek-to-frame.d.ts.map +0 -1
  165. package/dist/seek-to-frame.js.map +0 -1
  166. package/dist/serve-static.d.ts.map +0 -1
  167. package/dist/serve-static.js.map +0 -1
  168. package/dist/set-props-and-env.d.ts.map +0 -1
  169. package/dist/set-props-and-env.js.map +0 -1
  170. package/dist/stitcher.d.ts +0 -32
  171. package/dist/stitcher.d.ts.map +0 -1
  172. package/dist/stitcher.js +0 -204
  173. package/dist/stitcher.js.map +0 -1
  174. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  175. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  176. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  177. package/dist/symbolicate-stacktrace.js.map +0 -1
  178. package/dist/tmp-dir.d.ts.map +0 -1
  179. package/dist/tmp-dir.js.map +0 -1
  180. package/dist/types.d.ts.map +0 -1
  181. package/dist/types.js.map +0 -1
  182. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  183. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  184. package/dist/validate-ffmpeg.d.ts.map +0 -1
  185. package/dist/validate-ffmpeg.js.map +0 -1
  186. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  187. package/dist/validate-puppeteer-timeout.js.map +0 -1
  188. package/dist/validate-scale.d.ts.map +0 -1
  189. package/dist/validate-scale.js.map +0 -1
@@ -1,8 +1,5 @@
1
1
  import type { DownloadMap } from './assets/download-map';
2
2
  export declare const createFfmpegComplexFilter: (filters: number, downloadMap: DownloadMap) => Promise<{
3
- complexFilterFlag: [
4
- string,
5
- string
6
- ] | null;
3
+ complexFilterFlag: [string, string] | null;
7
4
  cleanup: () => void;
8
5
  }>;
@@ -29,6 +29,8 @@ const innerGetCompositions = async (serveUrl, page, config, proxyPort) => {
29
29
  timeoutInMilliseconds: config === null || config === void 0 ? void 0 : config.timeoutInMilliseconds,
30
30
  proxyPort,
31
31
  retriesRemaining: 2,
32
+ audioEnabled: false,
33
+ videoEnabled: false,
32
34
  });
33
35
  await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
34
36
  page,
@@ -1,2 +1,2 @@
1
1
  import type { Codec } from './codec';
2
- export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "gif" | "webm" | "mp4" | "mov" | "mkv";
2
+ export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "gif" | "mp4" | "mkv" | "mov" | "webm";
@@ -1 +1 @@
1
- export declare const guessExtensionForVideo: (src: string) => Promise<"mp3" | "wav" | "webm" | "mp4">;
1
+ export declare const guessExtensionForVideo: (src: string) => Promise<"mp3" | "wav" | "mp4" | "webm">;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import execa from 'execa';
2
3
  import { SymbolicateableError } from './error-handling/symbolicateable-error';
3
4
  import { mimeContentType, mimeLookup } from './mime-types';
@@ -60,14 +61,14 @@ export declare const RenderInternals: {
60
61
  width: number;
61
62
  height: number;
62
63
  scale: number;
63
- codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
64
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
64
65
  }) => void;
65
66
  normalizeServeUrl: (unnormalized: string) => string;
66
67
  spawnFfmpeg: (options: import("./stitch-frames-to-video").StitcherOptions) => Promise<{
67
68
  task: Promise<Buffer | null>;
68
69
  getLogs: () => string;
69
70
  }>;
70
- getFileExtensionFromCodec: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif", type: "chunk" | "final") => "mp3" | "aac" | "wav" | "gif" | "mp4" | "mkv" | "mov" | "webm";
71
+ getFileExtensionFromCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif", type: "chunk" | "final") => "mp3" | "aac" | "wav" | "gif" | "mp4" | "mkv" | "mov" | "webm";
71
72
  tmpDir: (str: string) => string;
72
73
  deleteDirectory: (directory: string) => Promise<void>;
73
74
  isServeUrl: (potentialUrl: string) => boolean;
@@ -115,7 +116,7 @@ export declare const RenderInternals: {
115
116
  };
116
117
  registerErrorSymbolicationLock: () => number;
117
118
  unlockErrorSymbolicationLock: (id: number) => void;
118
- canUseParallelEncoding: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
119
+ canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
119
120
  mimeContentType: typeof mimeContentType;
120
121
  mimeLookup: typeof mimeLookup;
121
122
  validateConcurrency: (value: unknown, setting: string) => void;
@@ -124,8 +125,8 @@ export declare const RenderInternals: {
124
125
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
125
126
  DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | null;
126
127
  validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | null) => "swangle" | "angle" | "egl" | "swiftshader" | null;
127
- getDefaultCrfForCodec: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => number;
128
- validateSelectedCrfAndCodecCombination: (crf: unknown, codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => void;
128
+ getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => number;
129
+ validateSelectedCrfAndCodecCombination: (crf: unknown, codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => void;
129
130
  validImageFormats: readonly ["png", "jpeg", "none"];
130
131
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
131
132
  DEFAULT_OVERWRITE: boolean;
@@ -133,14 +134,14 @@ export declare const RenderInternals: {
133
134
  validateQuality: (q: number | undefined) => void;
134
135
  validateFrame: (frame: number, durationInFrames: number) => void;
135
136
  DEFAULT_TIMEOUT: number;
136
- getValidCrfRanges: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => [number, number];
137
- validateSelectedPixelFormatAndCodecCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le", codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => void;
138
- validateSelectedCodecAndProResCombination: (actualCodec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif", actualProResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined) => void;
137
+ getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => [number, number];
138
+ validateSelectedPixelFormatAndCodecCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le", codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => void;
139
+ validateSelectedCodecAndProResCombination: (actualCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif", actualProResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined) => void;
139
140
  validateSelectedPixelFormatAndImageFormatCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le", imageFormat: "none" | "png" | "jpeg") => "none" | "valid";
140
- DEFAULT_CODEC: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
141
- isAudioCodec: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
141
+ DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
142
+ isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
142
143
  logLevels: readonly ["verbose", "info", "warn", "error"];
143
- isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
144
+ isEqualOrBelowLogLevel: (currentLevel: "verbose" | "error" | "info" | "warn", level: "verbose" | "error" | "info" | "warn") => boolean;
144
145
  isValidLogLevel: (level: string) => boolean;
145
146
  validateEveryNthFrame: (everyNthFrame: unknown) => void;
146
147
  perf: typeof perf;
@@ -45,6 +45,17 @@ const startOffthreadVideoServer = ({ ffmpegExecutable, ffprobeExecutable, onDown
45
45
  const { src, time, imageFormat } = (0, exports.extractUrlAndSourceFromUrl)(req.url);
46
46
  res.setHeader('access-control-allow-origin', '*');
47
47
  res.setHeader('content-type', `image/${imageFormat === 'jpeg' ? 'jpg' : 'png'}`);
48
+ // Handling this case on Lambda:
49
+ // https://support.google.com/chrome/a/answer/7679408?hl=en
50
+ // Chrome sends Private Network Access preflights for subresources
51
+ if (req.method === 'OPTIONS') {
52
+ res.statusCode = 200;
53
+ if (req.headers['access-control-request-private-network']) {
54
+ res.setHeader('Access-Control-Allow-Private-Network', 'true');
55
+ }
56
+ res.end();
57
+ return;
58
+ }
48
59
  (0, download_and_map_assets_to_file_1.downloadAsset)({ src, onDownload, downloadMap })
49
60
  .then((to) => {
50
61
  return (0, extract_frame_from_video_1.extractFrameFromVideo)({
@@ -48,6 +48,7 @@ declare type RenderFramesOptions = {
48
48
  * @deprecated Only for Remotion internal usage
49
49
  */
50
50
  downloadMap?: DownloadMap;
51
+ muted?: boolean;
51
52
  } & ConfigOrComposition & ServeUrlOrWebpackBundle;
52
53
  export declare const renderFrames: (options: RenderFramesOptions) => Promise<RenderFramesOutput>;
53
54
  export {};
@@ -44,7 +44,7 @@ const getPool = async (pages) => {
44
44
  const pool = new pool_1.Pool(puppeteerPages);
45
45
  return pool;
46
46
  };
47
- const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, quality, imageFormat = image_format_1.DEFAULT_IMAGE_FORMAT, frameRange, puppeteerInstance, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualParallelism, everyNthFrame = 1, proxyPort, cancelSignal, downloadMap, }) => {
47
+ const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, quality, imageFormat = image_format_1.DEFAULT_IMAGE_FORMAT, frameRange, puppeteerInstance, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualParallelism, everyNthFrame = 1, proxyPort, cancelSignal, downloadMap, muted, }) => {
48
48
  if (!puppeteerInstance) {
49
49
  throw new Error('no puppeteer instance passed to innerRenderFrames - internal error');
50
50
  }
@@ -87,6 +87,8 @@ const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, qual
87
87
  timeoutInMilliseconds,
88
88
  proxyPort,
89
89
  retriesRemaining: 2,
90
+ audioEnabled: !muted,
91
+ videoEnabled: imageFormat !== 'none',
90
92
  });
91
93
  await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
92
94
  pageFunction: (id) => {
@@ -56,10 +56,12 @@ export declare type RenderMediaOptions = {
56
56
  * @deprecated Only for Remotion internal usage
57
57
  */
58
58
  downloadMap?: DownloadMap;
59
+ muted?: boolean;
60
+ enforceAudioTrack?: boolean;
59
61
  } & ServeUrlOrWebpackBundle;
60
62
  /**
61
63
  *
62
64
  * @description Render a video from a composition
63
65
  * @link https://www.remotion.dev/docs/renderer/render-media
64
66
  */
65
- export declare const renderMedia: ({ parallelism, proResProfile, crf, composition, imageFormat, ffmpegExecutable, ffprobeExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, dumpBrowserLogs, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, ...options }: RenderMediaOptions) => Promise<Buffer | null>;
67
+ export declare const renderMedia: ({ parallelism, proResProfile, crf, composition, imageFormat, ffmpegExecutable, ffprobeExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, dumpBrowserLogs, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, muted, enforceAudioTrack, ...options }: RenderMediaOptions) => Promise<Buffer | null>;
@@ -10,6 +10,7 @@ const path_1 = __importDefault(require("path"));
10
10
  const remotion_1 = require("remotion");
11
11
  const download_map_1 = require("./assets/download-map");
12
12
  const can_use_parallel_encoding_1 = require("./can-use-parallel-encoding");
13
+ const codec_supports_media_1 = require("./codec-supports-media");
13
14
  const crf_1 = require("./crf");
14
15
  const delete_directory_1 = require("./delete-directory");
15
16
  const ensure_frames_in_order_1 = require("./ensure-frames-in-order");
@@ -35,7 +36,7 @@ const validate_scale_1 = require("./validate-scale");
35
36
  * @description Render a video from a composition
36
37
  * @link https://www.remotion.dev/docs/renderer/render-media
37
38
  */
38
- const renderMedia = ({ parallelism, proResProfile, crf, composition, imageFormat, ffmpegExecutable, ffprobeExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, dumpBrowserLogs, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, ...options }) => {
39
+ const renderMedia = ({ parallelism, proResProfile, crf, composition, imageFormat, ffmpegExecutable, ffprobeExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, dumpBrowserLogs, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, muted, enforceAudioTrack, ...options }) => {
39
40
  var _a, _b, _c;
40
41
  (0, quality_1.validateQuality)(quality);
41
42
  if (typeof crf !== 'undefined' && crf !== null) {
@@ -142,6 +143,8 @@ const renderMedia = ({ parallelism, proResProfile, crf, composition, imageFormat
142
143
  }
143
144
  }
144
145
  };
146
+ const mediaSupport = (0, codec_supports_media_1.codecSupportsMedia)(codec);
147
+ const disableAudio = !mediaSupport.audio || muted;
145
148
  const happyPath = createPrestitcherIfNecessary()
146
149
  .then(() => {
147
150
  const renderFramesProc = (0, render_frames_1.renderFrames)({
@@ -190,6 +193,7 @@ const renderMedia = ({ parallelism, proResProfile, crf, composition, imageFormat
190
193
  port,
191
194
  cancelSignal: cancelRenderFrames.cancelSignal,
192
195
  downloadMap,
196
+ muted: disableAudio,
193
197
  });
194
198
  return renderFramesProc;
195
199
  })
@@ -231,6 +235,8 @@ const renderMedia = ({ parallelism, proResProfile, crf, composition, imageFormat
231
235
  verbose: options.verbose,
232
236
  dir: outputDir !== null && outputDir !== void 0 ? outputDir : undefined,
233
237
  cancelSignal: cancelStitcher.cancelSignal,
238
+ muted: disableAudio,
239
+ enforceAudioTrack,
234
240
  }),
235
241
  stitchStart,
236
242
  ]);
@@ -117,6 +117,8 @@ const innerRenderStill = async ({ composition, quality, imageFormat = 'png', ser
117
117
  timeoutInMilliseconds,
118
118
  proxyPort,
119
119
  retriesRemaining: 2,
120
+ audioEnabled: false,
121
+ videoEnabled: true,
120
122
  });
121
123
  await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
122
124
  pageFunction: (id) => {
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type { Page } from './browser/BrowserPage';
2
3
  import type { ScreenshotOptions } from './browser/ScreenshotOptions';
3
4
  import type { StillImageFormat } from './image-format';
@@ -1,5 +1,5 @@
1
1
  import type { Page } from './browser/BrowserPage';
2
- export declare const setPropsAndEnv: ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, }: {
2
+ export declare const setPropsAndEnv: ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, audioEnabled, videoEnabled, }: {
3
3
  inputProps: unknown;
4
4
  envVariables: Record<string, string> | undefined;
5
5
  page: Page;
@@ -8,4 +8,6 @@ export declare const setPropsAndEnv: ({ inputProps, envVariables, page, serveUrl
8
8
  timeoutInMilliseconds: number | undefined;
9
9
  proxyPort: number;
10
10
  retriesRemaining: number;
11
+ audioEnabled: boolean;
12
+ videoEnabled: boolean;
11
13
  }) => Promise<void>;
@@ -5,7 +5,7 @@ const TimeoutSettings_1 = require("./browser/TimeoutSettings");
5
5
  const normalize_serve_url_1 = require("./normalize-serve-url");
6
6
  const puppeteer_evaluate_1 = require("./puppeteer-evaluate");
7
7
  const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
8
- const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, }) => {
8
+ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, audioEnabled, videoEnabled, }) => {
9
9
  (0, validate_puppeteer_timeout_1.validatePuppeteerTimeout)(timeoutInMilliseconds);
10
10
  const actualTimeout = timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : TimeoutSettings_1.DEFAULT_TIMEOUT;
11
11
  page.setDefaultTimeout(actualTimeout);
@@ -13,23 +13,29 @@ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initia
13
13
  const urlToVisit = (0, normalize_serve_url_1.normalizeServeUrl)(serveUrl);
14
14
  await page.evaluateOnNewDocument((timeout) => {
15
15
  window.remotion_puppeteerTimeout = timeout;
16
- }, [actualTimeout]);
16
+ }, actualTimeout);
17
17
  if (inputProps) {
18
18
  await page.evaluateOnNewDocument((input) => {
19
19
  window.remotion_inputProps = input;
20
- }, [JSON.stringify(inputProps)]);
20
+ }, JSON.stringify(inputProps));
21
21
  }
22
22
  if (envVariables) {
23
23
  await page.evaluateOnNewDocument((input) => {
24
24
  window.remotion_envVariables = input;
25
- }, [JSON.stringify(envVariables)]);
25
+ }, JSON.stringify(envVariables));
26
26
  }
27
27
  await page.evaluateOnNewDocument((key) => {
28
28
  window.remotion_initialFrame = key;
29
- }, [initialFrame]);
29
+ }, initialFrame);
30
30
  await page.evaluateOnNewDocument((port) => {
31
31
  window.remotion_proxyPort = port;
32
- }, [proxyPort]);
32
+ }, proxyPort);
33
+ await page.evaluateOnNewDocument((enabled) => {
34
+ window.remotion_audioEnabled = enabled;
35
+ }, audioEnabled);
36
+ await page.evaluateOnNewDocument((enabled) => {
37
+ window.remotion_videoEnabled = enabled;
38
+ }, videoEnabled);
33
39
  const pageRes = await page.goto(urlToVisit);
34
40
  if (pageRes === null) {
35
41
  throw new Error(`Visited "${urlToVisit}" but got no response.`);
@@ -52,6 +58,8 @@ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initia
52
58
  retriesRemaining: retriesRemaining - 1,
53
59
  serveUrl,
54
60
  timeoutInMilliseconds,
61
+ audioEnabled,
62
+ videoEnabled,
55
63
  });
56
64
  }
57
65
  if (status !== 200 &&
@@ -82,8 +90,9 @@ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initia
82
90
  frame: null,
83
91
  page,
84
92
  });
85
- if (siteVersion !== '3') {
86
- throw new Error(`Incompatible site: When visiting ${urlToVisit}, a bundle was found, but one that is not compatible with this version of Remotion. The bundle format changed in version 3.0.11. To resolve this error, please bundle and deploy again.`);
93
+ const requiredVersion = '4';
94
+ if (siteVersion !== requiredVersion) {
95
+ throw new Error(`Incompatible site: When visiting ${urlToVisit}, a bundle was found, but one that is not compatible with this version of Remotion. Found version: ${siteVersion} - Required version: ${requiredVersion}. To resolve this error, please bundle and deploy again.`);
87
96
  }
88
97
  };
89
98
  exports.setPropsAndEnv = setPropsAndEnv;
@@ -30,6 +30,8 @@ export declare type StitcherOptions = {
30
30
  preEncodedFileLocation: string | null;
31
31
  imageFormat: ImageFormat;
32
32
  };
33
+ muted?: boolean;
34
+ enforceAudioTrack?: boolean;
33
35
  };
34
36
  declare type ReturnType = {
35
37
  task: Promise<Buffer | null>;
@@ -100,6 +100,14 @@ const spawnFfmpeg = async (options) => {
100
100
  const tempFile = options.outputLocation
101
101
  ? null
102
102
  : path_1.default.join(options.assetsInfo.downloadMap.stitchFrames, `out.${(0, get_extension_from_codec_1.getFileExtensionFromCodec)(codec, 'final')}`);
103
+ const shouldRenderAudio = mediaSupport.audio &&
104
+ (options.assetsInfo.assets.flat(1).length > 0 ||
105
+ options.enforceAudioTrack) &&
106
+ !options.muted;
107
+ const shouldRenderVideo = mediaSupport.video;
108
+ if (!shouldRenderAudio && !shouldRenderVideo) {
109
+ throw new Error('The output format has neither audio nor video. This can happen if you are rendering an audio codec and the output file has no audio or the muted flag was passed.');
110
+ }
103
111
  if (options.verbose) {
104
112
  console.log('[verbose] ffmpeg', (_e = options.ffmpegExecutable) !== null && _e !== void 0 ? _e : 'ffmpeg in PATH');
105
113
  console.log('[verbose] encoder', encoderName);
@@ -109,7 +117,8 @@ const spawnFfmpeg = async (options) => {
109
117
  console.log('[verbose] crf', crf);
110
118
  }
111
119
  console.log('[verbose] codec', codec);
112
- console.log('[verbose] isAudioOnly', mediaSupport.audio && !mediaSupport.video);
120
+ console.log('[verbose] shouldRenderAudio', shouldRenderAudio);
121
+ console.log('[verbose] shouldRenderVideo', shouldRenderVideo);
113
122
  console.log('[verbose] proResProfileName', proResProfileName);
114
123
  }
115
124
  (0, crf_1.validateSelectedCrfAndCodecCombination)(crf, codec);
@@ -120,7 +129,7 @@ const spawnFfmpeg = async (options) => {
120
129
  const totalFrameProgress = 0.5 * preStitchProgress * expectedFrames + muxProgress * 0.5;
121
130
  (_a = options.onProgress) === null || _a === void 0 ? void 0 : _a.call(options, Math.round(totalFrameProgress));
122
131
  };
123
- const audio = mediaSupport.audio
132
+ const audio = shouldRenderAudio
124
133
  ? await getAssetsData({
125
134
  assets: options.assetsInfo.assets,
126
135
  onDownload: options.onDownload,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "3.1.10",
3
+ "version": "3.2.1",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "dependencies": {
23
23
  "execa": "5.1.1",
24
24
  "extract-zip": "2.0.1",
25
- "remotion": "3.1.10",
25
+ "remotion": "3.2.1",
26
26
  "source-map": "^0.8.0-beta.0",
27
27
  "ws": "8.7.0"
28
28
  },
@@ -57,5 +57,5 @@
57
57
  "publishConfig": {
58
58
  "access": "public"
59
59
  },
60
- "gitHead": "bcf9e6a75b738fa36db53abc9cc92a6b9d9eefd2"
60
+ "gitHead": "0c4f0e1fdd423b882bf3dbc48b50037f9d5251c8"
61
61
  }
@@ -1,8 +0,0 @@
1
- import { Codec } from 'remotion';
2
- export declare const addSilentAudioIfNecessary: ({ durationInFrames, fps, outputLocation, chunkCodec, }: {
3
- outputLocation: string;
4
- durationInFrames: number;
5
- fps: number;
6
- chunkCodec: Codec;
7
- }) => Promise<void>;
8
- //# sourceMappingURL=add-silent-audio-if-necessary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-silent-audio-if-necessary.d.ts","sourceRoot":"","sources":["../src/add-silent-audio-if-necessary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAK/B,eAAO,MAAM,yBAAyB;oBAMrB,MAAM;sBACJ,MAAM;SACnB,MAAM;gBACC,KAAK;MACd,QAAQ,IAAI,CA0Cf,CAAC"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addSilentAudioIfNecessary = void 0;
7
- const execa_1 = __importDefault(require("execa"));
8
- const fs_1 = require("fs");
9
- const get_audio_channels_1 = require("./assets/get-audio-channels");
10
- const get_audio_codec_name_1 = require("./get-audio-codec-name");
11
- const sample_rate_1 = require("./sample-rate");
12
- const addSilentAudioIfNecessary = async ({ durationInFrames, fps, outputLocation, chunkCodec, }) => {
13
- const audioChannels = await (0, get_audio_channels_1.getAudioChannels)(outputLocation);
14
- if (audioChannels > 0) {
15
- return;
16
- }
17
- const out = outputLocation + '-n';
18
- const audioCodec = (0, get_audio_codec_name_1.getAudioCodecName)(chunkCodec);
19
- const isVp8 = chunkCodec === 'vp8' || chunkCodec === 'vp9';
20
- if (!audioCodec) {
21
- throw new Error('expected audio codec');
22
- }
23
- await (0, execa_1.default)('ffmpeg', [
24
- '-f',
25
- 'lavfi',
26
- '-i',
27
- 'anullsrc',
28
- '-i',
29
- outputLocation,
30
- '-map',
31
- '0:a:0',
32
- '-map',
33
- '1:v:0',
34
- '-c:a',
35
- audioCodec,
36
- '-c:v',
37
- 'copy',
38
- '-ar',
39
- String(sample_rate_1.DEFAULT_SAMPLE_RATE),
40
- '-y',
41
- '-t',
42
- (durationInFrames / fps).toFixed(4),
43
- '-f',
44
- isVp8 ? 'webm' : 'matroska',
45
- out,
46
- ]);
47
- (0, fs_1.unlinkSync)(outputLocation);
48
- (0, fs_1.renameSync)(out, outputLocation);
49
- };
50
- exports.addSilentAudioIfNecessary = addSilentAudioIfNecessary;
51
- //# sourceMappingURL=add-silent-audio-if-necessary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-silent-audio-if-necessary.js","sourceRoot":"","sources":["../src/add-silent-audio-if-necessary.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,2BAA0C;AAE1C,oEAA6D;AAC7D,iEAAyD;AACzD,+CAAkD;AAE3C,MAAM,yBAAyB,GAAG,KAAK,EAAE,EAC/C,gBAAgB,EAChB,GAAG,EACH,cAAc,EACd,UAAU,GAMV,EAAiB,EAAE;IACnB,MAAM,aAAa,GAAG,MAAM,IAAA,qCAAgB,EAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,aAAa,GAAG,CAAC,EAAE;QACtB,OAAO;KACP;IAED,MAAM,GAAG,GAAG,cAAc,GAAG,IAAI,CAAC;IAElC,MAAM,UAAU,GAAG,IAAA,wCAAiB,EAAC,UAAU,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,CAAC;IAE3D,IAAI,CAAC,UAAU,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACxC;IAED,MAAM,IAAA,eAAK,EAAC,QAAQ,EAAE;QACrB,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,UAAU;QACV,IAAI;QACJ,cAAc;QACd,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,UAAU;QACV,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM,CAAC,iCAAmB,CAAC;QAC3B,IAAI;QACJ,IAAI;QACJ,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,IAAI;QACJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;QAC3B,GAAG;KACH,CAAC,CAAC;IACH,IAAA,eAAU,EAAC,cAAc,CAAC,CAAC;IAC3B,IAAA,eAAU,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC,CAAC;AApDW,QAAA,yBAAyB,6BAoDpC"}
@@ -1,3 +0,0 @@
1
- import { MediaAsset } from './types';
2
- export declare const assetIsUsedAtTime: (asset: MediaAsset, frame: number) => boolean;
3
- //# sourceMappingURL=asset-is-used-at-time.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset-is-used-at-time.d.ts","sourceRoot":"","sources":["../../src/assets/asset-is-used-at-time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAEnC,eAAO,MAAM,iBAAiB,UAAW,UAAU,SAAS,MAAM,YAIjE,CAAC"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assetIsUsedAtTime = void 0;
4
- const assetIsUsedAtTime = (asset, frame) => {
5
- return (frame >= asset.startInVideo && frame < asset.startInVideo + asset.duration);
6
- };
7
- exports.assetIsUsedAtTime = assetIsUsedAtTime;
8
- //# sourceMappingURL=asset-is-used-at-time.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset-is-used-at-time.js","sourceRoot":"","sources":["../../src/assets/asset-is-used-at-time.ts"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAG,CAAC,KAAiB,EAAE,KAAa,EAAE,EAAE;IACrE,OAAO,CACN,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAC1E,CAAC;AACH,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B"}
@@ -1 +0,0 @@
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,WA+CzD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculate-asset-positions.js","sourceRoot":"","sources":["../../src/assets/calculate-asset-positions.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculate-atempo.d.ts","sourceRoot":"","sources":["../../src/assets/calculate-atempo.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,iBAAkB,MAAM,KAAG,MAQtD,CAAC"}
@@ -1 +0,0 @@
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,EAAU,EAAE;IAC/D,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;AARW,QAAA,eAAe,mBAQ1B"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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":"AAGA,OAAO,EAAoB,MAAM,EAAC,MAAM,UAAU,CAAC;AAGnD,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;AA4BhE,eAAO,MAAM,gBAAgB,aAAc,MAAM,OAAO,MAAM,SAW7D,CAAC;AAkFF,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"}
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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;AAGF,eAAO,MAAM,sBAAsB;YAM1B,WAAW;gBACP,MAAM;kBACJ,MAAM;SACf,MAAM;MACR,sBA+CH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ffmpeg-volume-expression.js","sourceRoot":"","sources":["../../src/assets/ffmpeg-volume-expression.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,qFAAqF;;;AAErF,oDAAoD;AACpD,2CAA2C;AAC3C,iGAAuF;AAOvF,gEAAgE;AAChE,8CAA8C;AAC9C,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;IAC1E,OAAO,MAAM,SAAS,IAAI,IAAI,IAAI,MAAM,GAAG,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAgB,EAAE,GAAW,EAAE,EAAE;IAC7D,MAAM,iBAAiB,GAAe,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,aAAa,GAAG,CAAC,EAAE;YAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3B;QAED,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;IAED,OAAO,iBAAiB;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACtC,OAAO,WAAW,oBAAoB,IAAI,MAAM,CAAC,OAAO,CACvD,CAAC,CACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,GAAgB,EAAE,GAAW,EAAU,EAAE;IAC7E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACtE;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,8DAA8D;QAC9D,kCAAkC;QAClC,2DAA2D;QAC3D,OAAO,cAAc,CACpB,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EACnC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,CAAC,CAAC,CACT,CAAC;KACF;IAED,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC/B,OAAO,cAAc,CACpB,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,MAAM,CAAC,MAAM,CAAC,EACd,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CACtC,CAAC;AACH,CAAC,CAAC;AAOF,wCAAwC;AACjC,MAAM,sBAAsB,GAAG,CAAC,EACtC,MAAM,EACN,UAAU,EACV,YAAY,EACZ,GAAG,GAMH,EAA0B,EAAE;IAC5B,iDAAiD;IACjD,yCAAyC;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC/B,OAAO;YACN,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC;SAC/C,CAAC;KACF;IAED,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,8BAAsB,EAAC;YAC7B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACjB,UAAU;YACV,YAAY;YACZ,GAAG;SACH,CAAC,CAAC;KACH;IAED,4DAA4D;IAC5D,qCAAqC;IACrC,wCAAwC;IACxC,wCAAwC;IACxC,MAAM,SAAS,GAAiC,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACpC,qEAAqE;QACrE,MAAM,YAAY,GACjB,IAAA,sEAA+B,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YAC7B,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;SAC7B;QAED,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,sDAAsD;IACtD,oEAAoE;IACpE,MAAM,WAAW,GAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SACrD,GAAG,CAAC,CAAC,GAAG,EAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5C,wEAAwE;IACxE,MAAM,UAAU,GAAG,2BAA2B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO;QACN,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI,UAAU,GAAG;KACxB,CAAC;AACH,CAAC,CAAC;AAzDW,QAAA,sBAAsB,0BAyDjC"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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,5 +0,0 @@
1
- import { AssetAudioDetails } from './types';
2
- export declare function getAssetAudioDetails(options: {
3
- assetPaths: string[];
4
- }): Promise<Map<string, AssetAudioDetails>>;
5
- //# sourceMappingURL=get-asset-audio-details.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-asset-audio-details.d.ts","sourceRoot":"","sources":["../../src/assets/get-asset-audio-details.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAE1C,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IACnD,UAAU,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAgB1C"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAssetAudioDetails = void 0;
7
- const p_limit_1 = __importDefault(require("p-limit"));
8
- const get_audio_channels_1 = require("./get-audio-channels");
9
- async function getAssetAudioDetails(options) {
10
- const uniqueAssets = [...new Set(options.assetPaths)];
11
- const actualParallelism = 2;
12
- const parallelLimit = (0, p_limit_1.default)(actualParallelism);
13
- const audioChannelTasks = uniqueAssets.map((path) => parallelLimit(() => (0, get_audio_channels_1.getAudioChannels)(path)));
14
- const result = await Promise.all(audioChannelTasks);
15
- const mappedResults = result.map((channels, index) => {
16
- return [uniqueAssets[index], { channels }];
17
- });
18
- return new Map(mappedResults);
19
- }
20
- exports.getAssetAudioDetails = getAssetAudioDetails;
21
- //# sourceMappingURL=get-asset-audio-details.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-asset-audio-details.js","sourceRoot":"","sources":["../../src/assets/get-asset-audio-details.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,6DAAsD;AAG/C,KAAK,UAAU,oBAAoB,CAAC,OAE1C;IACA,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAA,iBAAM,EAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACnD,aAAa,CAAC,GAAG,EAAE,CAAC,IAAA,qCAAgB,EAAC,IAAI,CAAC,CAAC,CAC3C,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAkC,MAAM,CAAC,GAAG,CAC9D,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACnB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC;IAC1C,CAAC,CACD,CAAC;IAEF,OAAO,IAAI,GAAG,CAA4B,aAAa,CAAC,CAAC;AAC1D,CAAC;AAlBD,oDAkBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-audio-channels.d.ts","sourceRoot":"","sources":["../../src/assets/get-audio-channels.ts"],"names":[],"mappings":"AAEA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,mBAqBlD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-audio-channels.js","sourceRoot":"","sources":["../../src/assets/get-audio-channels.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAEnB,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAClD,MAAM,IAAI,GAAG;QACZ,CAAC,IAAI,EAAE,OAAO,CAAC;QACf,CAAC,eAAe,EAAE,iBAAiB,CAAC;QACpC,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;IAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACvC,OAAO,CAAC,CAAC;KACT;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;QACpB,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;KAC5E;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AArBD,4CAqBC"}
@@ -1,3 +0,0 @@
1
- import { Assets, MediaAsset } from './types';
2
- export declare const getSimultaneousAssets: (allAssets: Assets, asset: MediaAsset) => MediaAsset[];
3
- //# sourceMappingURL=get-simulatenous-assets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-simulatenous-assets.d.ts","sourceRoot":"","sources":["../../src/assets/get-simulatenous-assets.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,qBAAqB,6BAA8B,UAAU,iBAIzE,CAAC"}