@remotion/renderer 4.0.539 → 4.0.541

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 (162) hide show
  1. package/dist/assets/download-and-map-assets-to-file.js +16 -3
  2. package/dist/assets/download-file.js +10 -6
  3. package/dist/assets/download-map.d.ts +1 -1
  4. package/dist/assets/read-file.d.ts +1 -1
  5. package/dist/assets/read-file.js +6 -5
  6. package/dist/browser/BrowserFetcher.js +4 -1
  7. package/dist/browser/BrowserPage.js +27 -8
  8. package/dist/browser/BrowserRunner.js +36 -10
  9. package/dist/browser/NetworkManager.js +6 -1
  10. package/dist/browser/devtools-commands.d.ts +6 -1
  11. package/dist/browser/get-chrome-download-url.d.ts +1 -1
  12. package/dist/browser/get-chrome-download-url.js +4 -1
  13. package/dist/check-version-requirements.js +6 -6
  14. package/dist/client.d.ts +459 -238
  15. package/dist/collect-assets.js +1 -1
  16. package/dist/esm/client.mjs +349 -310
  17. package/dist/esm/index.mjs +348 -272
  18. package/dist/get-compositions.js +6 -3
  19. package/dist/index.d.ts +113 -41
  20. package/dist/index.js +4 -2
  21. package/dist/make-page.d.ts +3 -1
  22. package/dist/make-page.js +2 -1
  23. package/dist/open-browser.js +2 -0
  24. package/dist/options/allow-html-in-canvas.d.ts +1 -1
  25. package/dist/options/api-key.d.ts +1 -1
  26. package/dist/options/ask-ai.d.ts +1 -1
  27. package/dist/options/ask-ai.js +1 -1
  28. package/dist/options/audio-bitrate.d.ts +1 -1
  29. package/dist/options/beep-on-finish.d.ts +1 -1
  30. package/dist/options/benchmark-concurrencies.d.ts +1 -1
  31. package/dist/options/binaries-directory.d.ts +1 -1
  32. package/dist/options/browser-executable.d.ts +1 -1
  33. package/dist/options/browser-executable.js +1 -1
  34. package/dist/options/browser.d.ts +1 -1
  35. package/dist/options/bundle-cache.d.ts +1 -1
  36. package/dist/options/canvas-tabs.d.ts +1 -1
  37. package/dist/options/chrome-mode.d.ts +1 -1
  38. package/dist/options/color-space.d.ts +1 -1
  39. package/dist/options/concurrency.d.ts +1 -1
  40. package/dist/options/config.d.ts +1 -1
  41. package/dist/options/crf.d.ts +1 -1
  42. package/dist/options/crf.js +1 -1
  43. package/dist/options/cross-site-isolation.d.ts +1 -1
  44. package/dist/options/cross-site-isolation.js +2 -2
  45. package/dist/options/dark-mode.d.ts +1 -1
  46. package/dist/options/default-coding-agent.d.ts +1 -1
  47. package/dist/options/default-editor.d.ts +1 -1
  48. package/dist/options/default-premount-in-seconds.d.ts +1 -1
  49. package/dist/options/delete-after.d.ts +1 -1
  50. package/dist/options/disable-git-source.d.ts +2 -2
  51. package/dist/options/disable-shared-memory-capture.d.ts +1 -1
  52. package/dist/options/disable-web-security.d.ts +1 -1
  53. package/dist/options/disallow-parallel-encoding.d.ts +1 -1
  54. package/dist/options/enable-cancellation.d.ts +1 -1
  55. package/dist/options/enable-lambda-insights.d.ts +1 -1
  56. package/dist/options/enable-lambda-insights.js +2 -2
  57. package/dist/options/enable-multiprocess-on-linux.d.ts +1 -1
  58. package/dist/options/enable-multiprocess-on-linux.js +2 -2
  59. package/dist/options/encoding-buffer-size.d.ts +1 -1
  60. package/dist/options/encoding-max-rate.d.ts +1 -1
  61. package/dist/options/enforce-audio.d.ts +1 -1
  62. package/dist/options/env-file.d.ts +1 -1
  63. package/dist/options/every-nth-frame.d.ts +1 -1
  64. package/dist/options/experimental-keep-audio-context-alive.d.ts +1 -1
  65. package/dist/options/folder-expiry.d.ts +1 -1
  66. package/dist/options/folder-expiry.js +1 -1
  67. package/dist/options/for-seamless-aac-concatenation.d.ts +1 -1
  68. package/dist/options/force-new-studio.d.ts +1 -1
  69. package/dist/options/frames.d.ts +1 -1
  70. package/dist/options/gl.d.ts +1 -1
  71. package/dist/options/gop-size.d.ts +1 -1
  72. package/dist/options/headless.d.ts +1 -1
  73. package/dist/options/ignore-certificate-errors.d.ts +1 -1
  74. package/dist/options/image-sequence-pattern.d.ts +1 -1
  75. package/dist/options/image-sequence.d.ts +1 -1
  76. package/dist/options/index.d.ts +119 -102
  77. package/dist/options/index.js +2 -0
  78. package/dist/options/interactivity.d.ts +1 -1
  79. package/dist/options/ipv4.d.ts +1 -1
  80. package/dist/options/is-production.d.ts +1 -1
  81. package/dist/options/jpeg-quality.d.ts +1 -1
  82. package/dist/options/keyboard-shortcuts.d.ts +1 -1
  83. package/dist/options/latency-hint.d.ts +1 -1
  84. package/dist/options/license-key.d.ts +1 -1
  85. package/dist/options/log-level.d.ts +1 -1
  86. package/dist/options/metadata.d.ts +1 -1
  87. package/dist/options/mute.d.ts +1 -1
  88. package/dist/options/no-open.d.ts +1 -1
  89. package/dist/options/number-of-gif-loops.d.ts +1 -1
  90. package/dist/options/number-of-shared-audio-tags.d.ts +1 -1
  91. package/dist/options/offthreadvideo-cache-size.d.ts +1 -1
  92. package/dist/options/offthreadvideo-threads.d.ts +1 -1
  93. package/dist/options/on-browser-download.d.ts +1 -1
  94. package/dist/options/options-map.d.ts +340 -136
  95. package/dist/options/options-map.js +13 -0
  96. package/dist/options/out-dir.d.ts +1 -1
  97. package/dist/options/override-duration.d.ts +1 -1
  98. package/dist/options/override-fps.d.ts +1 -1
  99. package/dist/options/override-height.d.ts +1 -1
  100. package/dist/options/override-width.d.ts +1 -1
  101. package/dist/options/overwrite.d.ts +1 -1
  102. package/dist/options/package-manager.d.ts +1 -1
  103. package/dist/options/pixel-format.d.ts +1 -1
  104. package/dist/options/port.d.ts +1 -1
  105. package/dist/options/prefer-lossless.d.ts +1 -1
  106. package/dist/options/preferred-effect-backend.d.ts +18 -0
  107. package/dist/options/preferred-effect-backend.js +28 -0
  108. package/dist/options/preserve-pitch-on-playback.d.ts +1 -1
  109. package/dist/options/preview-sample-rate.d.ts +1 -1
  110. package/dist/options/props.d.ts +1 -1
  111. package/dist/options/prores-profile.d.ts +1 -1
  112. package/dist/options/public-dir.d.ts +1 -1
  113. package/dist/options/public-license-key.d.ts +1 -1
  114. package/dist/options/public-path.d.ts +1 -1
  115. package/dist/options/repro.d.ts +1 -1
  116. package/dist/options/rspack.d.ts +1 -1
  117. package/dist/options/runs.d.ts +1 -1
  118. package/dist/options/sample-rate.d.ts +1 -1
  119. package/dist/options/scale.d.ts +1 -1
  120. package/dist/options/sequence-activity-limit.d.ts +1 -1
  121. package/dist/options/show-layer-frame-numbers.d.ts +1 -1
  122. package/dist/options/show-premounting.d.ts +1 -1
  123. package/dist/options/skip-skills.d.ts +1 -1
  124. package/dist/options/still-frame.d.ts +1 -1
  125. package/dist/options/still-image-format.d.ts +1 -1
  126. package/dist/options/throw-if-site-exists.d.ts +2 -2
  127. package/dist/options/timeout.d.ts +1 -1
  128. package/dist/options/user-agent.d.ts +1 -1
  129. package/dist/options/version-flag.d.ts +1 -1
  130. package/dist/options/video-bitrate.d.ts +1 -1
  131. package/dist/options/video-cache-size.d.ts +1 -1
  132. package/dist/options/video-codec.d.ts +1 -1
  133. package/dist/options/video-image-format.d.ts +1 -1
  134. package/dist/options/webhook-custom-data.d.ts +1 -1
  135. package/dist/options/webpack-poll.d.ts +1 -1
  136. package/dist/options/x264-preset.d.ts +1 -1
  137. package/dist/pool.js +3 -0
  138. package/dist/render-frame-and-retry-target-close.js +2 -1
  139. package/dist/render-frames.js +6 -3
  140. package/dist/render-media.d.ts +1 -1
  141. package/dist/render-media.js +4 -2
  142. package/dist/render-still.js +6 -2
  143. package/dist/select-composition.js +6 -3
  144. package/dist/set-props-and-env.d.ts +2 -0
  145. package/dist/set-props-and-env.js +8 -3
  146. package/dist/stringify-ffmpeg-filter.js +6 -2
  147. package/dist/symbolicate-stacktrace.js +1 -1
  148. package/dist/validate-selected-frames.d.ts +4 -4
  149. package/dist/validate-selected-frames.js +2 -31
  150. package/package.json +15 -15
  151. package/dist/options/experimental-client-side-rendering.d.ts +0 -16
  152. package/dist/options/experimental-client-side-rendering.js +0 -30
  153. package/dist/options/experimental-sequence-activity-limit.d.ts +0 -19
  154. package/dist/options/experimental-sequence-activity-limit.js +0 -40
  155. package/dist/options/experimental-sequence-activity.d.ts +0 -19
  156. package/dist/options/experimental-sequence-activity.js +0 -38
  157. package/dist/options/experimental-tracks.d.ts +0 -19
  158. package/dist/options/experimental-tracks.js +0 -43
  159. package/dist/prestitcher-memory-usage.d.ts +0 -13
  160. package/dist/prestitcher-memory-usage.js +0 -33
  161. package/dist/render-partitions.d.ts +0 -7
  162. package/dist/render-partitions.js +0 -50
@@ -27,6 +27,7 @@ const offthreadvideo_cache_size_1 = require("./offthreadvideo-cache-size");
27
27
  const offthreadvideo_threads_1 = require("./offthreadvideo-threads");
28
28
  const on_browser_download_1 = require("./on-browser-download");
29
29
  const prefer_lossless_1 = require("./prefer-lossless");
30
+ const preferred_effect_backend_1 = require("./preferred-effect-backend");
30
31
  const repro_1 = require("./repro");
31
32
  const sample_rate_1 = require("./sample-rate");
32
33
  const scale_1 = require("./scale");
@@ -40,6 +41,7 @@ const x264_preset_1 = require("./x264-preset");
40
41
  exports.optionsMap = {
41
42
  renderMedia: {
42
43
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
44
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
43
45
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
44
46
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
45
47
  videoBitrate: video_bitrate_1.videoBitrateOption,
@@ -74,6 +76,7 @@ exports.optionsMap = {
74
76
  },
75
77
  renderStill: {
76
78
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
79
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
77
80
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
78
81
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
79
82
  jpegQuality: jpeg_quality_1.jpegQualityOption,
@@ -87,6 +90,7 @@ exports.optionsMap = {
87
90
  },
88
91
  getCompositions: {
89
92
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
93
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
90
94
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
91
95
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
92
96
  logLevel: log_level_1.logLevelOption,
@@ -97,6 +101,7 @@ exports.optionsMap = {
97
101
  },
98
102
  selectComposition: {
99
103
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
104
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
100
105
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
101
106
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
102
107
  logLevel: log_level_1.logLevelOption,
@@ -107,6 +112,7 @@ exports.optionsMap = {
107
112
  },
108
113
  renderFrames: {
109
114
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
115
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
110
116
  forSeamlessAacConcatenation: for_seamless_aac_concatenation_1.forSeamlessAacConcatenationOption,
111
117
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
112
118
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
@@ -122,6 +128,7 @@ exports.optionsMap = {
122
128
  renderMediaOnLambda: {
123
129
  disableSharedMemoryCapture: disable_shared_memory_capture_1.disableSharedMemoryCaptureOption,
124
130
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
131
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
125
132
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
126
133
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
127
134
  videoBitrate: video_bitrate_1.videoBitrateOption,
@@ -143,6 +150,7 @@ exports.optionsMap = {
143
150
  },
144
151
  renderStillOnLambda: {
145
152
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
153
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
146
154
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
147
155
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
148
156
  jpegQuality: jpeg_quality_1.jpegQualityOption,
@@ -155,6 +163,7 @@ exports.optionsMap = {
155
163
  },
156
164
  getCompositionsOnLambda: {
157
165
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
166
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
158
167
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
159
168
  logLevel: log_level_1.logLevelOption,
160
169
  timeoutInMilliseconds: timeout_1.delayRenderTimeoutInMillisecondsOption,
@@ -162,6 +171,7 @@ exports.optionsMap = {
162
171
  renderMediaOnCloudRun: {
163
172
  disableSharedMemoryCapture: disable_shared_memory_capture_1.disableSharedMemoryCaptureOption,
164
173
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
174
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
165
175
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
166
176
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
167
177
  numberOfGifLoops: number_of_gif_loops_1.numberOfGifLoopsOption,
@@ -181,15 +191,18 @@ exports.optionsMap = {
181
191
  crf: crf_1.crfOption,
182
192
  jpegQuality: jpeg_quality_1.jpegQualityOption,
183
193
  sampleRate: sample_rate_1.sampleRateOption,
194
+ licenseKey: license_key_1.licenseKeyOption,
184
195
  },
185
196
  renderStillOnCloudRun: {
186
197
  mediaCacheSizeInBytes: video_cache_size_1.mediaCacheSizeInBytesOption,
198
+ preferredEffectBackend: preferred_effect_backend_1.preferredEffectBackendOption,
187
199
  offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
188
200
  offthreadVideoThreads: offthreadvideo_threads_1.offthreadVideoThreadsOption,
189
201
  logLevel: log_level_1.logLevelOption,
190
202
  scale: scale_1.scaleOption,
191
203
  jpegQuality: jpeg_quality_1.jpegQualityOption,
192
204
  delayRenderTimeoutInMilliseconds: timeout_1.delayRenderTimeoutInMillisecondsOption,
205
+ licenseKey: license_key_1.licenseKeyOption,
193
206
  },
194
207
  ensureBrowser: {
195
208
  logLevel: log_level_1.logLevelOption,
@@ -2,7 +2,7 @@ export declare const outDirOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "out-dir";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'outDir';
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -2,7 +2,7 @@ export declare const overrideDurationOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "duration";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  type: number | null;
@@ -2,7 +2,7 @@ export declare const overrideFpsOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "fps";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  type: number | null;
@@ -2,7 +2,7 @@ export declare const overrideHeightOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "height";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  type: number | null;
@@ -2,7 +2,7 @@ export declare const overrideWidthOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "width";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  type: number | null;
@@ -2,7 +2,7 @@ export declare const overwriteOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "overwrite";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
8
8
  type: boolean;
@@ -2,7 +2,7 @@ export declare const packageManagerOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "package-manager";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'packageManager';
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -3,7 +3,7 @@ export declare const pixelFormatOption: {
3
3
  name: string;
4
4
  addedIn: string;
5
5
  cliFlag: "pixel-format";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: 'pixelFormat';
8
8
  docLink: string;
9
9
  type: PixelFormat;
@@ -2,7 +2,7 @@ export declare const portOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "port";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -2,7 +2,7 @@ export declare const preferLosslessAudioOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "prefer-lossless";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  docLink: string;
7
7
  type: boolean;
8
8
  ssrName: 'preferLossless';
@@ -0,0 +1,18 @@
1
+ import type { PreferredEffectBackend } from 'remotion';
2
+ export declare const preferredEffectBackendOption: {
3
+ name: string;
4
+ addedIn: string;
5
+ cliFlag: "preferred-effect-backend";
6
+ id: "preferred-effect-backend";
7
+ ssrName: string;
8
+ docLink: string;
9
+ type: PreferredEffectBackend;
10
+ description: () => import("react").JSX.Element;
11
+ getValue: ({ commandLine }: {
12
+ commandLine: Record<string, unknown>;
13
+ }) => {
14
+ value: PreferredEffectBackend;
15
+ source: string;
16
+ };
17
+ setConfig: (value: PreferredEffectBackend) => void;
18
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.preferredEffectBackendOption = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const no_react_1 = require("remotion/no-react");
6
+ const cliFlag = 'preferred-effect-backend';
7
+ let configured = 'auto';
8
+ exports.preferredEffectBackendOption = {
9
+ name: 'Preferred effect backend',
10
+ addedIn: '4.0.540',
11
+ cliFlag,
12
+ id: cliFlag,
13
+ ssrName: 'preferredEffectBackend',
14
+ docLink: 'https://www.remotion.dev/docs/options/preferred-effect-backend',
15
+ type: 'auto',
16
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Prefer ", (0, jsx_runtime_1.jsx)("code", { children: "webgpu" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "webgl2" }), ", or ", (0, jsx_runtime_1.jsx)("code", { children: "2d" }), ' ', "implementations of", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://www.remotion.dev/docs/effects", children: "effects" }), ". Default:", ' ', (0, jsx_runtime_1.jsx)("code", { children: "auto" }), ", which tries WebGPU, WebGL2, then 2D. Falls back when an implementation or backend is unavailable. Lambda selects WebGL2 or 2D implementations. Rendering fails if an effect has no supported implementation. This option also applies to Studio preview."] })),
17
+ getValue: ({ commandLine }) => {
18
+ if (commandLine[cliFlag] !== undefined)
19
+ return {
20
+ value: no_react_1.NoReactInternals.validatePreferredEffectBackend(commandLine[cliFlag]),
21
+ source: 'cli',
22
+ };
23
+ return { value: configured, source: 'config' };
24
+ },
25
+ setConfig: (value) => {
26
+ configured = no_react_1.NoReactInternals.validatePreferredEffectBackend(value);
27
+ },
28
+ };
@@ -3,7 +3,7 @@ export declare const preservePitchOnPlaybackOption: {
3
3
  addedIn: string;
4
4
  cliFlag: "preserve-pitch-on-playback";
5
5
  id: "preserve-pitch-on-playback";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: null;
8
8
  docLink: string;
9
9
  type: boolean;
@@ -2,7 +2,7 @@ export declare const previewSampleRateOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "preview-sample-rate";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  type: number | null;
@@ -2,7 +2,7 @@ export declare const propsOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "props";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -3,7 +3,7 @@ export declare const proResProfileOption: {
3
3
  name: string;
4
4
  addedIn: string;
5
5
  cliFlag: "prores-profile";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: 'proResProfile';
8
8
  docLink: string;
9
9
  type: ProResProfile | undefined;
@@ -2,7 +2,7 @@ export declare const publicDirOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "public-dir";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'publicDir';
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -2,7 +2,7 @@ export declare const publicLicenseKeyOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "public-license-key";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'publicLicenseKey';
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -2,7 +2,7 @@ export declare const publicPathOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "public-path";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'publicPath';
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -3,7 +3,7 @@ export declare const reproOption: {
3
3
  name: string;
4
4
  addedIn: string;
5
5
  cliFlag: "repro";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: string;
8
8
  docLink: string;
9
9
  type: boolean;
@@ -2,7 +2,7 @@ export declare const rspackOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "rspack";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  type: boolean;
@@ -2,7 +2,7 @@ export declare const runsOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "runs";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  type: number;
@@ -2,7 +2,7 @@ export declare const sampleRateOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "sample-rate";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'sampleRate';
7
7
  docLink: string;
8
8
  type: number;
@@ -2,7 +2,7 @@ export declare const scaleOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "scale";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
8
8
  type: number;
@@ -3,7 +3,7 @@ export declare const sequenceActivityLimitOption: {
3
3
  addedIn: string;
4
4
  cliFlag: "sequence-activity-limit";
5
5
  id: "sequence-activity-limit";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: null;
8
8
  docLink: string;
9
9
  type: number;
@@ -3,7 +3,7 @@ export declare const showLayerFrameNumbersOption: {
3
3
  addedIn: string;
4
4
  cliFlag: "show-layer-frame-numbers";
5
5
  id: "show-layer-frame-numbers";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: null;
8
8
  docLink: string;
9
9
  type: boolean;
@@ -3,7 +3,7 @@ export declare const showPremountingOption: {
3
3
  addedIn: string;
4
4
  cliFlag: "show-premounting";
5
5
  id: "show-premounting";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: null;
8
8
  docLink: string;
9
9
  type: boolean;
@@ -2,7 +2,7 @@ export declare const skipSkillsOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "skip-skills";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -2,7 +2,7 @@ export declare const stillFrameOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "frame";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'frame';
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -3,7 +3,7 @@ export declare const stillImageFormatOption: {
3
3
  name: string;
4
4
  addedIn: string;
5
5
  cliFlag: "image-format";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: 'imageFormat';
8
8
  docLink: string;
9
9
  type: StillImageFormat | null;
@@ -1,5 +1,5 @@
1
1
  export declare const throwIfSiteExistsOption: {
2
- cliFlag: string;
2
+ cliFlag: "throw-if-site-exists";
3
3
  description: () => string;
4
4
  docLink: string;
5
5
  getValue: ({ commandLine }: {
@@ -13,5 +13,5 @@ export declare const throwIfSiteExistsOption: {
13
13
  setConfig: () => never;
14
14
  ssrName: string;
15
15
  type: boolean;
16
- id: string;
16
+ id: "throw-if-site-exists";
17
17
  };
@@ -2,7 +2,7 @@ export declare const delayRenderTimeoutInMillisecondsOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "timeout";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'timeoutInMilliseconds';
7
7
  docLink: string;
8
8
  type: number;
@@ -2,7 +2,7 @@ export declare const userAgentOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "user-agent";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: 'userAgent';
7
7
  docLink: string;
8
8
  type: string | null;
@@ -2,7 +2,7 @@ export declare const versionFlagOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "version";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -2,7 +2,7 @@ export declare const videoBitrateOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "video-bitrate";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
8
8
  type: string | null;
@@ -3,7 +3,7 @@ export declare const mediaCacheSizeInBytesOption: {
3
3
  name: string;
4
4
  addedIn: string;
5
5
  cliFlag: "media-cache-size-in-bytes";
6
- description: () => import("react/jsx-runtime").JSX.Element;
6
+ description: () => import("react").JSX.Element;
7
7
  ssrName: 'mediaCacheSizeInBytes';
8
8
  docLink: string;
9
9
  type: number | null;
@@ -5,7 +5,7 @@ export declare const videoCodecOption: {
5
5
  name: string;
6
6
  addedIn: string;
7
7
  cliFlag: "codec";
8
- description: () => import("react/jsx-runtime").JSX.Element;
8
+ description: () => import("react").JSX.Element;
9
9
  ssrName: string;
10
10
  docLink: string;
11
11
  type: Codec;
@@ -4,7 +4,7 @@ export declare const videoImageFormatOption: {
4
4
  name: string;
5
5
  addedIn: string;
6
6
  cliFlag: "image-format";
7
- description: () => import("react/jsx-runtime").JSX.Element;
7
+ description: () => import("react").JSX.Element;
8
8
  ssrName: 'imageFormat';
9
9
  docLink: string;
10
10
  type: VideoImageFormat | null;
@@ -2,7 +2,7 @@ export declare const webhookCustomDataOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "webhook-custom-data";
5
- description: (type: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
5
+ description: (type: "cli" | "ssr") => import("react").JSX.Element;
6
6
  ssrName: 'customData';
7
7
  docLink: string;
8
8
  type: Record<string, unknown> | null;
@@ -2,7 +2,7 @@ export declare const webpackPollOption: {
2
2
  name: string;
3
3
  addedIn: string;
4
4
  cliFlag: "webpack-poll";
5
- description: () => import("react/jsx-runtime").JSX.Element;
5
+ description: () => import("react").JSX.Element;
6
6
  ssrName: null;
7
7
  docLink: string;
8
8
  getValue: ({ commandLine }: {
@@ -9,7 +9,7 @@ export declare const x264Option: {
9
9
  name: string;
10
10
  addedIn: string;
11
11
  cliFlag: "x264-preset";
12
- description: () => import("react/jsx-runtime").JSX.Element;
12
+ description: () => import("react").JSX.Element;
13
13
  ssrName: 'x264Preset';
14
14
  docLink: string;
15
15
  type: X264Preset | null;
package/dist/pool.js CHANGED
@@ -18,6 +18,9 @@ class Pool {
18
18
  });
19
19
  }
20
20
  release(resource) {
21
+ if (resource.closed) {
22
+ return;
23
+ }
21
24
  const waiter = this.waiters.shift();
22
25
  if (waiter === undefined) {
23
26
  this.resources.push(resource);
@@ -140,6 +140,7 @@ const renderFrameAndRetryTargetClose = async ({ retriesLeft, attempt, assets, as
140
140
  });
141
141
  }
142
142
  logger_1.Log.warn({ indent, logLevel }, `The browser crashed while rendering frame ${frame}, retrying ${retriesLeft} more times. Learn more about this error under https://www.remotion.dev/docs/target-closed`);
143
+ nextFrameToRender.returnFrame(frame);
143
144
  // Replace the entire browser
144
145
  await (remotionSharedMemory === null || remotionSharedMemory === void 0 ? void 0 : remotionSharedMemory.forgetAllPages());
145
146
  await browserReplacer.replaceBrowser(makeBrowser, async () => {
@@ -148,11 +149,11 @@ const renderFrameAndRetryTargetClose = async ({ retriesLeft, attempt, assets, as
148
149
  .map((_, i) => makeNewPage(frame, i));
149
150
  const puppeteerPages = await Promise.all(pages);
150
151
  const pool = await poolPromise;
152
+ pool.resources = pool.resources.filter((p) => !p.closed);
151
153
  for (const newPage of puppeteerPages) {
152
154
  pool.release(newPage);
153
155
  }
154
156
  });
155
- nextFrameToRender.returnFrame(frame);
156
157
  await (0, exports.renderFrameAndRetryTargetClose)({
157
158
  retriesLeft: retriesLeft - 1,
158
159
  attempt: attempt + 1,
@@ -36,7 +36,7 @@ const validate_scale_1 = require("./validate-scale");
36
36
  const validate_selected_frames_1 = require("./validate-selected-frames");
37
37
  const wrap_with_error_handling_1 = require("./wrap-with-error-handling");
38
38
  const MAX_RETRIES_PER_FRAME = 1;
39
- const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, jpegQuality, imageFormat, frameRange, frames, outputFramesInSequence, onError, envVariables, onBrowserLog, onFrameBuffer, onFrame, remotionSharedMemory, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, resolvedConcurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, sourceMapGetter, logLevel, indent, parallelEncodingEnabled, compositionStart, forSeamlessAacConcatenation, onArtifact, binariesDirectory, imageSequencePattern, mediaCacheSizeInBytes, onLog, darkMode, sampleRate, }) => {
39
+ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, jpegQuality, imageFormat, frameRange, frames, outputFramesInSequence, onError, envVariables, onBrowserLog, onFrameBuffer, onFrame, remotionSharedMemory, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, resolvedConcurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, sourceMapGetter, logLevel, indent, parallelEncodingEnabled, compositionStart, forSeamlessAacConcatenation, onArtifact, binariesDirectory, imageSequencePattern, mediaCacheSizeInBytes, preferredEffectBackend, onLog, darkMode, sampleRate, }) => {
40
40
  if (outputDir) {
41
41
  if (!node_fs_1.default.existsSync(outputDir)) {
42
42
  node_fs_1.default.mkdirSync(outputDir, {
@@ -89,6 +89,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
89
89
  pageIndex,
90
90
  isMainTab: pageIndex === 0,
91
91
  mediaCacheSizeInBytes,
92
+ preferredEffectBackend,
92
93
  onLog,
93
94
  darkMode,
94
95
  sampleRate,
@@ -213,7 +214,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
213
214
  frameCount: framesToRender.length,
214
215
  };
215
216
  };
216
- const internalRenderFramesRaw = ({ browserExecutable, cancelSignal, chromiumOptions, composition, concurrency, envVariables, everyNthFrame, frameRange, frames, outputFramesInSequence, imageFormat, indent, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, onFrame, remotionSharedMemory, onFrameUpdate, onStart, outputDir, port, puppeteerInstance, scale, server, timeoutInMilliseconds, logLevel, webpackBundleOrServeUrl, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, offthreadVideoCacheSizeInBytes, parallelEncodingEnabled, binariesDirectory, forSeamlessAacConcatenation, compositionStart, onBrowserDownload, onArtifact, chromeMode, offthreadVideoThreads, imageSequencePattern, mediaCacheSizeInBytes, onLog, sampleRate, }) => {
217
+ const internalRenderFramesRaw = ({ browserExecutable, cancelSignal, chromiumOptions, composition, concurrency, envVariables, everyNthFrame, frameRange, frames, outputFramesInSequence, imageFormat, indent, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, onFrame, remotionSharedMemory, onFrameUpdate, onStart, outputDir, port, puppeteerInstance, scale, server, timeoutInMilliseconds, logLevel, webpackBundleOrServeUrl, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, offthreadVideoCacheSizeInBytes, parallelEncodingEnabled, binariesDirectory, forSeamlessAacConcatenation, compositionStart, onBrowserDownload, onArtifact, chromeMode, offthreadVideoThreads, imageSequencePattern, mediaCacheSizeInBytes, preferredEffectBackend, onLog, sampleRate, }) => {
217
218
  (0, validate_1.validateDimension)(composition.height, 'height', 'in the `config` object passed to `renderFrames()`');
218
219
  (0, validate_1.validateDimension)(composition.width, 'width', 'in the `config` object passed to `renderFrames()`');
219
220
  (0, validate_1.validateFps)(composition.fps, 'in the `config` object of `renderFrames()`', false);
@@ -323,6 +324,7 @@ const internalRenderFramesRaw = ({ browserExecutable, cancelSignal, chromiumOpti
323
324
  offthreadVideoThreads,
324
325
  imageSequencePattern,
325
326
  mediaCacheSizeInBytes,
327
+ preferredEffectBackend,
326
328
  onLog,
327
329
  darkMode: (_a = chromiumOptions.darkMode) !== null && _a !== void 0 ? _a : false,
328
330
  sampleRate,
@@ -381,7 +383,7 @@ exports.internalRenderFrames = (0, wrap_with_error_handling_1.wrapWithErrorHandl
381
383
  */
382
384
  const renderFrames = (options) => {
383
385
  var _a;
384
- const { composition, inputProps, onFrameUpdate, onStart, outputDir, serveUrl, browserExecutable, cancelSignal, chromiumOptions, concurrency, dumpBrowserLogs, envVariables, everyNthFrame, frameRange, frames, imageFormat, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, port, puppeteerInstance, scale, timeoutInMilliseconds, verbose, quality, logLevel: passedLogLevel, offthreadVideoCacheSizeInBytes, binariesDirectory, onBrowserDownload, onArtifact, chromeMode, offthreadVideoThreads, imageSequencePattern, mediaCacheSizeInBytes, sampleRate, } = options;
386
+ const { composition, inputProps, onFrameUpdate, onStart, outputDir, serveUrl, browserExecutable, cancelSignal, chromiumOptions, concurrency, dumpBrowserLogs, envVariables, everyNthFrame, frameRange, frames, imageFormat, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, port, puppeteerInstance, scale, timeoutInMilliseconds, verbose, quality, logLevel: passedLogLevel, offthreadVideoCacheSizeInBytes, binariesDirectory, onBrowserDownload, onArtifact, chromeMode, offthreadVideoThreads, imageSequencePattern, mediaCacheSizeInBytes, preferredEffectBackend, sampleRate, } = options;
385
387
  if (!composition) {
386
388
  throw new Error('No `composition` option has been specified for renderFrames()');
387
389
  }
@@ -458,6 +460,7 @@ const renderFrames = (options) => {
458
460
  offthreadVideoThreads: offthreadVideoThreads !== null && offthreadVideoThreads !== void 0 ? offthreadVideoThreads : null,
459
461
  imageSequencePattern: imageSequencePattern !== null && imageSequencePattern !== void 0 ? imageSequencePattern : null,
460
462
  mediaCacheSizeInBytes: mediaCacheSizeInBytes !== null && mediaCacheSizeInBytes !== void 0 ? mediaCacheSizeInBytes : null,
463
+ preferredEffectBackend: preferredEffectBackend !== null && preferredEffectBackend !== void 0 ? preferredEffectBackend : 'auto',
461
464
  onLog: default_on_log_1.defaultOnLog,
462
465
  sampleRate: (_a = sampleRate !== null && sampleRate !== void 0 ? sampleRate : composition.defaultSampleRate) !== null && _a !== void 0 ? _a : 48000,
463
466
  });