@remotion/renderer 4.0.534 → 4.0.535

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 (225) hide show
  1. package/dist/browser/BrowserPage.js +4 -0
  2. package/dist/client.d.ts +315 -0
  3. package/dist/combine-chunks.d.ts +2 -1
  4. package/dist/combine-chunks.js +81 -52
  5. package/dist/combine-video-streams.js +3 -0
  6. package/dist/compositor/get-executable-path.js +30 -15
  7. package/dist/ensure-browser.d.ts +3 -0
  8. package/dist/esm/client.mjs +1076 -846
  9. package/dist/esm/index.mjs +394 -351
  10. package/dist/esm/pure.mjs +3 -1
  11. package/dist/get-video-threads-flag.js +5 -1
  12. package/dist/index.d.ts +47 -1
  13. package/dist/mux-video-and-audio.js +3 -0
  14. package/dist/options/allow-html-in-canvas.d.ts +1 -0
  15. package/dist/options/allow-html-in-canvas.js +1 -0
  16. package/dist/options/api-key.d.ts +1 -0
  17. package/dist/options/api-key.js +1 -0
  18. package/dist/options/ask-ai.d.ts +1 -0
  19. package/dist/options/ask-ai.js +1 -0
  20. package/dist/options/audio-bitrate.d.ts +1 -0
  21. package/dist/options/audio-bitrate.js +1 -0
  22. package/dist/options/audio-codec.d.ts +1 -0
  23. package/dist/options/audio-codec.js +1 -0
  24. package/dist/options/beep-on-finish.d.ts +1 -0
  25. package/dist/options/beep-on-finish.js +1 -0
  26. package/dist/options/benchmark-concurrencies.d.ts +1 -0
  27. package/dist/options/benchmark-concurrencies.js +1 -0
  28. package/dist/options/binaries-directory.d.ts +1 -0
  29. package/dist/options/binaries-directory.js +1 -0
  30. package/dist/options/browser-executable.d.ts +1 -0
  31. package/dist/options/browser-executable.js +1 -0
  32. package/dist/options/browser.d.ts +1 -0
  33. package/dist/options/browser.js +1 -0
  34. package/dist/options/bundle-cache.d.ts +1 -0
  35. package/dist/options/bundle-cache.js +1 -0
  36. package/dist/options/canvas-tabs.d.ts +1 -0
  37. package/dist/options/canvas-tabs.js +1 -0
  38. package/dist/options/chrome-mode.d.ts +1 -0
  39. package/dist/options/chrome-mode.js +1 -0
  40. package/dist/options/color-space.d.ts +1 -0
  41. package/dist/options/color-space.js +1 -0
  42. package/dist/options/concurrency.d.ts +1 -0
  43. package/dist/options/concurrency.js +1 -0
  44. package/dist/options/config.d.ts +1 -0
  45. package/dist/options/config.js +1 -0
  46. package/dist/options/crf.d.ts +1 -0
  47. package/dist/options/crf.js +1 -0
  48. package/dist/options/cross-site-isolation.d.ts +1 -0
  49. package/dist/options/cross-site-isolation.js +1 -0
  50. package/dist/options/dark-mode.d.ts +1 -0
  51. package/dist/options/dark-mode.js +1 -0
  52. package/dist/options/default-coding-agent.d.ts +1 -0
  53. package/dist/options/default-coding-agent.js +1 -0
  54. package/dist/options/default-editor.d.ts +1 -0
  55. package/dist/options/default-editor.js +1 -0
  56. package/dist/options/default-premount-in-seconds.d.ts +19 -0
  57. package/dist/options/default-premount-in-seconds.js +36 -0
  58. package/dist/options/delete-after.d.ts +1 -0
  59. package/dist/options/delete-after.js +1 -0
  60. package/dist/options/disable-git-source.d.ts +1 -0
  61. package/dist/options/disable-git-source.js +1 -0
  62. package/dist/options/disable-shared-memory-capture.d.ts +1 -0
  63. package/dist/options/disable-shared-memory-capture.js +1 -0
  64. package/dist/options/disable-web-security.d.ts +1 -0
  65. package/dist/options/disable-web-security.js +1 -0
  66. package/dist/options/disallow-parallel-encoding.d.ts +1 -0
  67. package/dist/options/disallow-parallel-encoding.js +1 -0
  68. package/dist/options/enable-cancellation.d.ts +1 -0
  69. package/dist/options/enable-cancellation.js +1 -0
  70. package/dist/options/enable-lambda-insights.d.ts +1 -0
  71. package/dist/options/enable-lambda-insights.js +1 -0
  72. package/dist/options/enable-multiprocess-on-linux.d.ts +1 -0
  73. package/dist/options/enable-multiprocess-on-linux.js +1 -0
  74. package/dist/options/encoding-buffer-size.d.ts +1 -0
  75. package/dist/options/encoding-buffer-size.js +1 -0
  76. package/dist/options/encoding-max-rate.d.ts +1 -0
  77. package/dist/options/encoding-max-rate.js +1 -0
  78. package/dist/options/enforce-audio.d.ts +1 -0
  79. package/dist/options/enforce-audio.js +1 -0
  80. package/dist/options/env-file.d.ts +1 -0
  81. package/dist/options/env-file.js +1 -0
  82. package/dist/options/every-nth-frame.d.ts +1 -0
  83. package/dist/options/every-nth-frame.js +1 -0
  84. package/dist/options/experimental-keep-audio-context-alive.d.ts +1 -0
  85. package/dist/options/experimental-keep-audio-context-alive.js +1 -0
  86. package/dist/options/experimental-sequence-activity-limit.d.ts +19 -0
  87. package/dist/options/experimental-sequence-activity-limit.js +40 -0
  88. package/dist/options/experimental-sequence-activity.d.ts +19 -0
  89. package/dist/options/experimental-sequence-activity.js +38 -0
  90. package/dist/options/experimental-tracks.d.ts +1 -0
  91. package/dist/options/experimental-tracks.js +1 -0
  92. package/dist/options/folder-expiry.d.ts +1 -0
  93. package/dist/options/folder-expiry.js +1 -0
  94. package/dist/options/for-seamless-aac-concatenation.d.ts +1 -0
  95. package/dist/options/for-seamless-aac-concatenation.js +1 -0
  96. package/dist/options/force-new-studio.d.ts +1 -0
  97. package/dist/options/force-new-studio.js +1 -0
  98. package/dist/options/frames.d.ts +1 -0
  99. package/dist/options/frames.js +1 -0
  100. package/dist/options/gl.d.ts +1 -0
  101. package/dist/options/gl.js +1 -0
  102. package/dist/options/gop-size.d.ts +1 -0
  103. package/dist/options/gop-size.js +1 -0
  104. package/dist/options/hardware-acceleration.d.ts +1 -0
  105. package/dist/options/hardware-acceleration.js +1 -0
  106. package/dist/options/headless.d.ts +1 -0
  107. package/dist/options/headless.js +1 -0
  108. package/dist/options/ignore-certificate-errors.d.ts +1 -0
  109. package/dist/options/ignore-certificate-errors.js +1 -0
  110. package/dist/options/image-sequence-pattern.d.ts +1 -0
  111. package/dist/options/image-sequence-pattern.js +1 -0
  112. package/dist/options/image-sequence.d.ts +1 -0
  113. package/dist/options/image-sequence.js +1 -0
  114. package/dist/options/index.d.ts +175 -0
  115. package/dist/options/index.js +8 -0
  116. package/dist/options/interactivity.d.ts +1 -0
  117. package/dist/options/interactivity.js +1 -0
  118. package/dist/options/ipv4.d.ts +1 -0
  119. package/dist/options/ipv4.js +1 -0
  120. package/dist/options/is-production.d.ts +1 -0
  121. package/dist/options/is-production.js +1 -0
  122. package/dist/options/jpeg-quality.d.ts +1 -0
  123. package/dist/options/jpeg-quality.js +1 -0
  124. package/dist/options/keyboard-shortcuts.d.ts +1 -0
  125. package/dist/options/keyboard-shortcuts.js +1 -0
  126. package/dist/options/latency-hint.d.ts +1 -0
  127. package/dist/options/latency-hint.js +1 -0
  128. package/dist/options/license-key.d.ts +1 -0
  129. package/dist/options/license-key.js +1 -0
  130. package/dist/options/log-level.d.ts +1 -0
  131. package/dist/options/log-level.js +1 -0
  132. package/dist/options/metadata.d.ts +1 -0
  133. package/dist/options/metadata.js +1 -0
  134. package/dist/options/mute.d.ts +1 -0
  135. package/dist/options/mute.js +1 -0
  136. package/dist/options/no-open.d.ts +1 -0
  137. package/dist/options/no-open.js +1 -0
  138. package/dist/options/number-of-gif-loops.d.ts +1 -0
  139. package/dist/options/number-of-gif-loops.js +1 -0
  140. package/dist/options/number-of-shared-audio-tags.d.ts +1 -0
  141. package/dist/options/number-of-shared-audio-tags.js +1 -0
  142. package/dist/options/offthreadvideo-cache-size.d.ts +1 -0
  143. package/dist/options/offthreadvideo-cache-size.js +1 -0
  144. package/dist/options/offthreadvideo-threads.d.ts +1 -0
  145. package/dist/options/offthreadvideo-threads.js +1 -0
  146. package/dist/options/on-browser-download.d.ts +1 -0
  147. package/dist/options/on-browser-download.js +1 -0
  148. package/dist/options/option.d.ts +1 -0
  149. package/dist/options/options-map.d.ts +140 -0
  150. package/dist/options/out-dir.d.ts +1 -0
  151. package/dist/options/out-dir.js +1 -0
  152. package/dist/options/override-duration.d.ts +1 -0
  153. package/dist/options/override-duration.js +1 -0
  154. package/dist/options/override-fps.d.ts +1 -0
  155. package/dist/options/override-fps.js +1 -0
  156. package/dist/options/override-height.d.ts +1 -0
  157. package/dist/options/override-height.js +1 -0
  158. package/dist/options/override-width.d.ts +1 -0
  159. package/dist/options/override-width.js +1 -0
  160. package/dist/options/overwrite.d.ts +1 -0
  161. package/dist/options/overwrite.js +1 -0
  162. package/dist/options/package-manager.d.ts +1 -0
  163. package/dist/options/package-manager.js +1 -0
  164. package/dist/options/pixel-format.d.ts +1 -0
  165. package/dist/options/pixel-format.js +1 -0
  166. package/dist/options/port.d.ts +1 -0
  167. package/dist/options/port.js +1 -0
  168. package/dist/options/prefer-lossless.d.ts +1 -0
  169. package/dist/options/prefer-lossless.js +1 -0
  170. package/dist/options/preview-sample-rate.d.ts +1 -0
  171. package/dist/options/preview-sample-rate.js +1 -0
  172. package/dist/options/props.d.ts +1 -0
  173. package/dist/options/props.js +1 -0
  174. package/dist/options/prores-profile.d.ts +1 -0
  175. package/dist/options/prores-profile.js +1 -0
  176. package/dist/options/public-dir.d.ts +1 -0
  177. package/dist/options/public-dir.js +1 -0
  178. package/dist/options/public-license-key.d.ts +1 -0
  179. package/dist/options/public-license-key.js +1 -0
  180. package/dist/options/public-path.d.ts +1 -0
  181. package/dist/options/public-path.js +1 -0
  182. package/dist/options/repro.d.ts +1 -0
  183. package/dist/options/repro.js +1 -0
  184. package/dist/options/rspack.d.ts +1 -0
  185. package/dist/options/rspack.js +1 -0
  186. package/dist/options/runs.d.ts +1 -0
  187. package/dist/options/runs.js +1 -0
  188. package/dist/options/sample-rate.d.ts +1 -0
  189. package/dist/options/sample-rate.js +1 -0
  190. package/dist/options/scale.d.ts +1 -0
  191. package/dist/options/scale.js +1 -0
  192. package/dist/options/separate-audio.d.ts +1 -0
  193. package/dist/options/separate-audio.js +2 -1
  194. package/dist/options/show-premounting.d.ts +19 -0
  195. package/dist/options/show-premounting.js +33 -0
  196. package/dist/options/skip-skills.d.ts +1 -0
  197. package/dist/options/skip-skills.js +1 -0
  198. package/dist/options/still-frame.d.ts +1 -0
  199. package/dist/options/still-frame.js +1 -0
  200. package/dist/options/still-image-format.d.ts +1 -0
  201. package/dist/options/still-image-format.js +1 -0
  202. package/dist/options/throw-if-site-exists.d.ts +1 -0
  203. package/dist/options/throw-if-site-exists.js +1 -0
  204. package/dist/options/timeout.d.ts +1 -0
  205. package/dist/options/timeout.js +1 -0
  206. package/dist/options/user-agent.d.ts +1 -0
  207. package/dist/options/user-agent.js +1 -0
  208. package/dist/options/version-flag.d.ts +1 -0
  209. package/dist/options/version-flag.js +1 -0
  210. package/dist/options/video-bitrate.d.ts +1 -0
  211. package/dist/options/video-bitrate.js +1 -0
  212. package/dist/options/video-cache-size.d.ts +1 -0
  213. package/dist/options/video-cache-size.js +1 -0
  214. package/dist/options/video-codec.d.ts +1 -0
  215. package/dist/options/video-codec.js +1 -0
  216. package/dist/options/video-image-format.d.ts +1 -0
  217. package/dist/options/video-image-format.js +1 -0
  218. package/dist/options/webhook-custom-data.d.ts +1 -0
  219. package/dist/options/webhook-custom-data.js +1 -0
  220. package/dist/options/webpack-poll.d.ts +1 -0
  221. package/dist/options/webpack-poll.js +1 -0
  222. package/dist/options/x264-preset.d.ts +1 -0
  223. package/dist/options/x264-preset.js +1 -0
  224. package/dist/prespawn-ffmpeg.js +10 -5
  225. package/package.json +13 -13
@@ -1,39 +1,9 @@
1
1
  // src/client.ts
2
- import { NoReactInternals as NoReactInternals7 } from "remotion/no-react";
2
+ import { NoReactInternals as NoReactInternals9 } from "remotion/no-react";
3
3
 
4
4
  // src/browser/TimeoutSettings.ts
5
5
  var DEFAULT_TIMEOUT = 30000;
6
6
 
7
- class TimeoutSettings {
8
- #defaultTimeout;
9
- #defaultNavigationTimeout;
10
- constructor() {
11
- this.#defaultTimeout = null;
12
- this.#defaultNavigationTimeout = null;
13
- }
14
- setDefaultTimeout(timeout) {
15
- this.#defaultTimeout = timeout;
16
- }
17
- setDefaultNavigationTimeout(timeout) {
18
- this.#defaultNavigationTimeout = timeout;
19
- }
20
- navigationTimeout() {
21
- if (this.#defaultNavigationTimeout !== null) {
22
- return this.#defaultNavigationTimeout;
23
- }
24
- if (this.#defaultTimeout !== null) {
25
- return this.#defaultTimeout;
26
- }
27
- return DEFAULT_TIMEOUT;
28
- }
29
- timeout() {
30
- if (this.#defaultTimeout !== null) {
31
- return this.#defaultTimeout;
32
- }
33
- return DEFAULT_TIMEOUT;
34
- }
35
- }
36
-
37
7
  // src/is-audio-codec.ts
38
8
  var isAudioCodec = (codec) => {
39
9
  return codec === "mp3" || codec === "aac" || codec === "wav";
@@ -435,6 +405,7 @@ var allowHtmlInCanvasEnabled = false;
435
405
  var cliFlag = "allow-html-in-canvas";
436
406
  var allowHtmlInCanvasOption = {
437
407
  name: "Allow HTML-in-canvas for client-side rendering",
408
+ addedIn: "4.0.447",
438
409
  cliFlag,
439
410
  description: () => /* @__PURE__ */ jsxs(Fragment, {
440
411
  children: [
@@ -474,6 +445,7 @@ var currentApiKey = null;
474
445
  var cliFlag2 = "api-key";
475
446
  var apiKeyOption = {
476
447
  name: "API key",
448
+ addedIn: "4.0.253",
477
449
  cliFlag: cliFlag2,
478
450
  description: () => /* @__PURE__ */ jsxs2(Fragment2, {
479
451
  children: [
@@ -512,6 +484,7 @@ var configuredAskAIEnabled = null;
512
484
  var cliFlag3 = "disable-ask-ai";
513
485
  var askAIOption = {
514
486
  name: "Disable or Enable the Ask AI option",
487
+ addedIn: "4.0.407",
515
488
  cliFlag: cliFlag3,
516
489
  description: () => /* @__PURE__ */ jsx3(Fragment3, {
517
490
  children: "If the Cmd + I shortcut of the Ask AI modal conflicts with your Studio, you can disable it using this."
@@ -550,6 +523,7 @@ var cliFlag4 = "audio-bitrate";
550
523
  var audioBitrate = null;
551
524
  var audioBitrateOption = {
552
525
  name: "Audio Bitrate",
526
+ addedIn: "3.2.32",
553
527
  cliFlag: cliFlag4,
554
528
  description: () => /* @__PURE__ */ jsxs3(Fragment4, {
555
529
  children: [
@@ -618,7 +592,7 @@ var DEFAULT = null;
618
592
  var cliFlag5 = "separate-audio-to";
619
593
  var separateAudioOption = {
620
594
  cliFlag: cliFlag5,
621
- description: () => `If set, the audio will not be included in the main output but rendered as a separate file at the location you pass. If the render contains no audio, a silent audio file is produced even when enforceAudioTrack is false. The muted option still takes precedence. It is recommended to use an absolute path. If a relative path is passed, it is relative to the Remotion Root.`,
595
+ description: () => `If set, the audio will not be included in the main output but rendered as a separate file at the location you pass. If the render contains no audio, a silent audio file is produced even when enforceAudioTrack is false. Audio-only renders, muted renders and codecs without audio support cannot use this option. For local renders, use an absolute path; relative paths are resolved against the Remotion Root. On Lambda, pass an output name or custom destination as described in renderMediaOnLambda().`,
622
596
  docLink: "https://www.remotion.dev/docs/options/separate-audio-to",
623
597
  getValue: ({ commandLine }) => {
624
598
  if (commandLine[cliFlag5]) {
@@ -633,6 +607,7 @@ var separateAudioOption = {
633
607
  };
634
608
  },
635
609
  name: "Separate audio to",
610
+ addedIn: "4.0.123",
636
611
  setConfig: () => {
637
612
  throw new Error("Not implemented");
638
613
  },
@@ -807,6 +782,7 @@ var audioCodecOption = {
807
782
  description: () => `Set the format of the audio that is embedded in the video. Not all codec and audio codec combinations are supported and certain combinations require a certain file extension and container format. See the table in the docs to see possible combinations.`,
808
783
  docLink: "https://www.remotion.dev/docs/options/audio-codec",
809
784
  name: "Audio Codec",
785
+ addedIn: "3.3.41",
810
786
  ssrName,
811
787
  type: "aac",
812
788
  id: cliFlag6
@@ -819,6 +795,7 @@ var configuredBeepOnFinish = null;
819
795
  var cliFlag7 = "beep-on-finish";
820
796
  var beepOnFinishOption = {
821
797
  name: "Beep on finish",
798
+ addedIn: "4.0.84",
822
799
  cliFlag: cliFlag7,
823
800
  description: () => /* @__PURE__ */ jsx5(Fragment5, {
824
801
  children: "Whether the Remotion Studio tab should beep when the render is finished."
@@ -862,6 +839,7 @@ var currentConcurrencies = null;
862
839
  var cliFlag8 = "concurrencies";
863
840
  var benchmarkConcurrenciesOption = {
864
841
  name: "Benchmark concurrencies",
842
+ addedIn: "3.2.28",
865
843
  cliFlag: cliFlag8,
866
844
  description: () => /* @__PURE__ */ jsxs4(Fragment6, {
867
845
  children: [
@@ -898,6 +876,7 @@ var cliFlag9 = "binaries-directory";
898
876
  var currentDirectory = null;
899
877
  var binariesDirectoryOption = {
900
878
  name: "Binaries Directory",
879
+ addedIn: "4.0.120",
901
880
  cliFlag: cliFlag9,
902
881
  description: () => /* @__PURE__ */ jsxs5(Fragment7, {
903
882
  children: [
@@ -956,6 +935,7 @@ import { jsx as jsx8, jsxs as jsxs6, Fragment as Fragment8 } from "react/jsx-run
956
935
  var cliFlag10 = "browser";
957
936
  var browserOption = {
958
937
  name: "Browser",
938
+ addedIn: "3.3.79",
959
939
  cliFlag: cliFlag10,
960
940
  description: () => /* @__PURE__ */ jsxs6(Fragment8, {
961
941
  children: [
@@ -994,6 +974,7 @@ var currentBrowserExecutablePath = null;
994
974
  var cliFlag11 = "browser-executable";
995
975
  var browserExecutableOption = {
996
976
  name: "Browser executable",
977
+ addedIn: "1.5.0",
997
978
  cliFlag: cliFlag11,
998
979
  description: () => /* @__PURE__ */ jsx9(Fragment9, {
999
980
  children: "Set a custom Chrome or Chromium executable path. By default Remotion will try to find an existing version of Chrome on your system and if not found, it will download one. This flag is useful if you don't have Chrome installed in a standard location and you want to prevent downloading an additional browser or need support for the H264 codec."
@@ -1031,6 +1012,7 @@ var cliFlag12 = "bundle-cache";
1031
1012
  var cachingEnabled = true;
1032
1013
  var bundleCacheOption = {
1033
1014
  name: "Webpack Bundle Caching",
1015
+ addedIn: "2.0.0",
1034
1016
  cliFlag: cliFlag12,
1035
1017
  description: () => /* @__PURE__ */ jsxs7(Fragment10, {
1036
1018
  children: [
@@ -1073,6 +1055,7 @@ var configuredCanvasTabsEnabled = null;
1073
1055
  var cliFlag13 = "disable-canvas-tabs";
1074
1056
  var canvasTabsOption = {
1075
1057
  name: "Disable or enable Studio canvas tabs",
1058
+ addedIn: "4.0.530",
1076
1059
  cliFlag: cliFlag13,
1077
1060
  description: () => /* @__PURE__ */ jsx11(Fragment11, {
1078
1061
  children: "Enable or disable the tabs above the Studio canvas."
@@ -1116,6 +1099,7 @@ var configSelection = null;
1116
1099
  var chromeModeOption = {
1117
1100
  cliFlag: cliFlag14,
1118
1101
  name: "Chrome Mode",
1102
+ addedIn: "4.0.248",
1119
1103
  ssrName: "chromeMode",
1120
1104
  description: () => {
1121
1105
  return /* @__PURE__ */ jsxs8(Fragment12, {
@@ -1187,6 +1171,7 @@ var colorSpace = DEFAULT_COLOR_SPACE;
1187
1171
  var cliFlag15 = "color-space";
1188
1172
  var colorSpaceOption = {
1189
1173
  name: "Color space",
1174
+ addedIn: "4.0.28",
1190
1175
  cliFlag: "color-space",
1191
1176
  description: () => /* @__PURE__ */ jsxs9(Fragment13, {
1192
1177
  children: [
@@ -1324,6 +1309,7 @@ var validateConcurrencyValue = (value, setting) => {
1324
1309
  };
1325
1310
  var concurrencyOption = {
1326
1311
  name: "Concurrency",
1312
+ addedIn: "1.0.0",
1327
1313
  cliFlag: cliFlag16,
1328
1314
  description: () => /* @__PURE__ */ jsxs10(Fragment14, {
1329
1315
  children: [
@@ -1373,6 +1359,7 @@ import { jsx as jsx15, Fragment as Fragment15 } from "react/jsx-runtime";
1373
1359
  var cliFlag17 = "config";
1374
1360
  var configOption = {
1375
1361
  name: "Config file",
1362
+ addedIn: "1.2.0",
1376
1363
  cliFlag: cliFlag17,
1377
1364
  description: () => /* @__PURE__ */ jsx15(Fragment15, {
1378
1365
  children: "Specify a location for the Remotion config file."
@@ -1409,6 +1396,7 @@ var validateCrf = (newCrf) => {
1409
1396
  var cliFlag18 = "crf";
1410
1397
  var crfOption = {
1411
1398
  name: "CRF",
1399
+ addedIn: "1.4.0",
1412
1400
  cliFlag: cliFlag18,
1413
1401
  description: () => /* @__PURE__ */ jsx16(Fragment16, {
1414
1402
  children: "No matter which codec you end up using, there's always a tradeoff between file size and video quality. You can control it by setting the CRF (Constant Rate Factor). The lower the number, the better the quality, the higher the number, the smaller the file is – of course at the cost of quality."
@@ -1449,6 +1437,7 @@ var configuredEnableCrossSiteIsolation = null;
1449
1437
  var cliFlag19 = "cross-site-isolation";
1450
1438
  var enableCrossSiteIsolationOption = {
1451
1439
  name: "Enable Cross-Site Isolation",
1440
+ addedIn: "4.0.306",
1452
1441
  cliFlag: cliFlag19,
1453
1442
  description: () => /* @__PURE__ */ jsxs11(Fragment17, {
1454
1443
  children: [
@@ -1494,6 +1483,7 @@ var darkMode = DEFAULT_VALUE;
1494
1483
  var cliFlag20 = "dark-mode";
1495
1484
  var darkModeOption = {
1496
1485
  name: "Dark Mode",
1486
+ addedIn: "4.0.381",
1497
1487
  cliFlag: cliFlag20,
1498
1488
  description: () => /* @__PURE__ */ jsxs12(Fragment18, {
1499
1489
  children: [
@@ -1553,6 +1543,7 @@ var validateDefaultCodingAgent = (value, source) => {
1553
1543
  };
1554
1544
  var defaultCodingAgentOption = {
1555
1545
  name: "Default coding agent",
1546
+ addedIn: "4.0.506",
1556
1547
  cliFlag: cliFlag21,
1557
1548
  description: () => /* @__PURE__ */ jsxs13(Fragment19, {
1558
1549
  children: [
@@ -1638,6 +1629,7 @@ var validateDefaultEditor = (value, source) => {
1638
1629
  };
1639
1630
  var defaultEditorOption = {
1640
1631
  name: "Default editor",
1632
+ addedIn: "4.0.503",
1641
1633
  cliFlag: cliFlag22,
1642
1634
  description: () => /* @__PURE__ */ jsxs14(Fragment20, {
1643
1635
  children: [
@@ -1670,38 +1662,76 @@ var defaultEditorOption = {
1670
1662
  id: cliFlag22
1671
1663
  };
1672
1664
 
1665
+ // src/options/default-premount-in-seconds.tsx
1666
+ import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
1667
+ import { jsx as jsx21, Fragment as Fragment21 } from "react/jsx-runtime";
1668
+ var configuredDefaultPremountInSeconds = null;
1669
+ var cliFlag23 = "default-premount-in-seconds";
1670
+ var defaultPremountInSecondsOption = {
1671
+ name: "Default premount duration in seconds",
1672
+ addedIn: "4.0.535",
1673
+ cliFlag: cliFlag23,
1674
+ id: cliFlag23,
1675
+ description: () => /* @__PURE__ */ jsx21(Fragment21, {
1676
+ children: "Set the default premount duration in seconds for timed components in the Studio. Defaults to 2. Before v4.0.535, there was no premounting by default."
1677
+ }),
1678
+ ssrName: null,
1679
+ docLink: "https://www.remotion.dev/docs/options/default-premount-in-seconds",
1680
+ type: 0,
1681
+ getValue: ({ commandLine }) => {
1682
+ if (commandLine[cliFlag23] !== undefined) {
1683
+ const value = commandLine[cliFlag23];
1684
+ NoReactInternals3.validateDefaultPremountInSeconds(value);
1685
+ return { value, source: "cli" };
1686
+ }
1687
+ return {
1688
+ value: configuredDefaultPremountInSeconds ?? NoReactInternals3.DEFAULT_STUDIO_PREMOUNT_IN_SECONDS,
1689
+ source: "config"
1690
+ };
1691
+ },
1692
+ setConfig(value) {
1693
+ NoReactInternals3.validateDefaultPremountInSeconds(value);
1694
+ configuredDefaultPremountInSeconds = value;
1695
+ },
1696
+ getConfigValue: () => configuredDefaultPremountInSeconds,
1697
+ reset: () => {
1698
+ configuredDefaultPremountInSeconds = null;
1699
+ }
1700
+ };
1701
+
1673
1702
  // src/options/delete-after.tsx
1674
- import { jsx as jsx21, jsxs as jsxs15, Fragment as Fragment21 } from "react/jsx-runtime";
1675
- var cliFlag23 = "delete-after";
1703
+ import { jsx as jsx22, jsxs as jsxs15, Fragment as Fragment22 } from "react/jsx-runtime";
1704
+ var cliFlag24 = "delete-after";
1676
1705
  var deleteAfter = null;
1677
1706
  var deleteAfterOption = {
1678
1707
  name: "Lambda render expiration",
1679
- cliFlag: cliFlag23,
1708
+ addedIn: "4.0.32",
1709
+ cliFlag: cliFlag24,
1680
1710
  description: () => {
1681
- return /* @__PURE__ */ jsxs15(Fragment21, {
1711
+ return /* @__PURE__ */ jsxs15(Fragment22, {
1682
1712
  children: [
1683
1713
  "Automatically delete the render after a certain period. Accepted values are ",
1684
- /* @__PURE__ */ jsx21("code", {
1714
+ /* @__PURE__ */ jsx22("code", {
1685
1715
  children: "1-day"
1686
1716
  }),
1687
1717
  ", ",
1688
- /* @__PURE__ */ jsx21("code", {
1718
+ /* @__PURE__ */ jsx22("code", {
1689
1719
  children: "3-days"
1690
1720
  }),
1691
1721
  ", ",
1692
- /* @__PURE__ */ jsx21("code", {
1722
+ /* @__PURE__ */ jsx22("code", {
1693
1723
  children: "7-days"
1694
1724
  }),
1695
1725
  " and",
1696
1726
  " ",
1697
- /* @__PURE__ */ jsx21("code", {
1727
+ /* @__PURE__ */ jsx22("code", {
1698
1728
  children: "30-days"
1699
1729
  }),
1700
1730
  ".",
1701
- /* @__PURE__ */ jsx21("br", {}),
1731
+ /* @__PURE__ */ jsx22("br", {}),
1702
1732
  " For this to work, your bucket needs to have",
1703
1733
  " ",
1704
- /* @__PURE__ */ jsx21("a", {
1734
+ /* @__PURE__ */ jsx22("a", {
1705
1735
  href: "/docs/lambda/autodelete",
1706
1736
  children: "lifecycles enabled"
1707
1737
  }),
@@ -1713,10 +1743,10 @@ var deleteAfterOption = {
1713
1743
  docLink: "https://www.remotion.dev/docs/options/delete-after",
1714
1744
  type: "1-day",
1715
1745
  getValue: ({ commandLine }) => {
1716
- if (commandLine[cliFlag23] !== undefined) {
1746
+ if (commandLine[cliFlag24] !== undefined) {
1717
1747
  return {
1718
1748
  source: "cli",
1719
- value: commandLine[cliFlag23]
1749
+ value: commandLine[cliFlag24]
1720
1750
  };
1721
1751
  }
1722
1752
  if (deleteAfter !== null) {
@@ -1733,21 +1763,21 @@ var deleteAfterOption = {
1733
1763
  setConfig: (value) => {
1734
1764
  deleteAfter = value;
1735
1765
  },
1736
- id: cliFlag23
1766
+ id: cliFlag24
1737
1767
  };
1738
1768
 
1739
1769
  // src/options/disable-git-source.tsx
1740
1770
  var DEFAULT2 = false;
1741
- var cliFlag24 = "disable-git-source";
1771
+ var cliFlag25 = "disable-git-source";
1742
1772
  var disableGitSourceOption = {
1743
- cliFlag: cliFlag24,
1773
+ cliFlag: cliFlag25,
1744
1774
  description: () => `Disables the Git Source being connected to the Remotion Studio. Clicking on stack traces and certain menu items will be disabled.`,
1745
1775
  docLink: "https://www.remotion.dev/docs/options/disable-git-source",
1746
1776
  getValue: ({ commandLine }) => {
1747
- if (commandLine[cliFlag24]) {
1777
+ if (commandLine[cliFlag25]) {
1748
1778
  return {
1749
1779
  source: "cli",
1750
- value: commandLine[cliFlag24]
1780
+ value: commandLine[cliFlag25]
1751
1781
  };
1752
1782
  }
1753
1783
  return {
@@ -1756,25 +1786,27 @@ var disableGitSourceOption = {
1756
1786
  };
1757
1787
  },
1758
1788
  name: "Disable Git source",
1789
+ addedIn: "4.0.182",
1759
1790
  setConfig: () => {
1760
1791
  throw new Error("Not implemented");
1761
1792
  },
1762
1793
  ssrName: "disableGitSource",
1763
1794
  type: false,
1764
- id: cliFlag24
1795
+ id: cliFlag25
1765
1796
  };
1766
1797
 
1767
1798
  // src/options/disable-shared-memory-capture.tsx
1768
- import { jsx as jsx22, jsxs as jsxs16, Fragment as Fragment22 } from "react/jsx-runtime";
1799
+ import { jsx as jsx23, jsxs as jsxs16, Fragment as Fragment23 } from "react/jsx-runtime";
1769
1800
  var disableSharedMemoryCapture = false;
1770
- var cliFlag25 = "disable-shared-memory-capture";
1801
+ var cliFlag26 = "disable-shared-memory-capture";
1771
1802
  var disableSharedMemoryCaptureOption = {
1772
1803
  name: "Disable shared-memory capture",
1773
- cliFlag: cliFlag25,
1774
- description: () => /* @__PURE__ */ jsxs16(Fragment22, {
1804
+ addedIn: "4.0.534",
1805
+ cliFlag: cliFlag26,
1806
+ description: () => /* @__PURE__ */ jsxs16(Fragment23, {
1775
1807
  children: [
1776
1808
  "Disables shared-memory capture and uses regular JPEG or PNG screenshots instead. Parallel encoding remains enabled. Default ",
1777
- /* @__PURE__ */ jsx22("code", {
1809
+ /* @__PURE__ */ jsx23("code", {
1778
1810
  children: "false"
1779
1811
  }),
1780
1812
  "."
@@ -1784,8 +1816,8 @@ var disableSharedMemoryCaptureOption = {
1784
1816
  docLink: "https://www.remotion.dev/docs/options/disable-shared-memory-capture",
1785
1817
  type: false,
1786
1818
  getValue: ({ commandLine }) => {
1787
- if (commandLine[cliFlag25] !== undefined && commandLine[cliFlag25] !== null) {
1788
- return { value: commandLine[cliFlag25], source: "cli" };
1819
+ if (commandLine[cliFlag26] !== undefined && commandLine[cliFlag26] !== null) {
1820
+ return { value: commandLine[cliFlag26], source: "cli" };
1789
1821
  }
1790
1822
  if (disableSharedMemoryCapture !== false) {
1791
1823
  return { value: disableSharedMemoryCapture, source: "config" };
@@ -1795,27 +1827,28 @@ var disableSharedMemoryCaptureOption = {
1795
1827
  setConfig(value) {
1796
1828
  disableSharedMemoryCapture = value;
1797
1829
  },
1798
- id: cliFlag25
1830
+ id: cliFlag26
1799
1831
  };
1800
1832
 
1801
1833
  // src/options/disable-web-security.tsx
1802
- import { jsx as jsx23, Fragment as Fragment23 } from "react/jsx-runtime";
1834
+ import { jsx as jsx24, Fragment as Fragment24 } from "react/jsx-runtime";
1803
1835
  var disableWebSecurity = false;
1804
- var cliFlag26 = "disable-web-security";
1836
+ var cliFlag27 = "disable-web-security";
1805
1837
  var disableWebSecurityOption = {
1806
1838
  name: "Disable web security",
1807
- cliFlag: cliFlag26,
1808
- description: () => /* @__PURE__ */ jsx23(Fragment23, {
1839
+ addedIn: "2.6.5",
1840
+ cliFlag: cliFlag27,
1841
+ description: () => /* @__PURE__ */ jsx24(Fragment24, {
1809
1842
  children: "This will most notably disable CORS in Chrome among other security features."
1810
1843
  }),
1811
1844
  ssrName: "disableWebSecurity",
1812
1845
  docLink: "https://www.remotion.dev/docs/options/disable-web-security",
1813
1846
  type: false,
1814
1847
  getValue: ({ commandLine }) => {
1815
- if (commandLine[cliFlag26] !== undefined && commandLine[cliFlag26] !== null) {
1848
+ if (commandLine[cliFlag27] !== undefined && commandLine[cliFlag27] !== null) {
1816
1849
  return {
1817
1850
  source: "cli",
1818
- value: Boolean(commandLine[cliFlag26])
1851
+ value: Boolean(commandLine[cliFlag27])
1819
1852
  };
1820
1853
  }
1821
1854
  if (disableWebSecurity) {
@@ -1832,26 +1865,27 @@ var disableWebSecurityOption = {
1832
1865
  setConfig: (value) => {
1833
1866
  disableWebSecurity = value;
1834
1867
  },
1835
- id: cliFlag26
1868
+ id: cliFlag27
1836
1869
  };
1837
1870
 
1838
1871
  // src/options/disallow-parallel-encoding.tsx
1839
- import { jsx as jsx24, Fragment as Fragment24 } from "react/jsx-runtime";
1872
+ import { jsx as jsx25, Fragment as Fragment25 } from "react/jsx-runtime";
1840
1873
  var disallowParallelEncoding = false;
1841
- var cliFlag27 = "disallow-parallel-encoding";
1874
+ var cliFlag28 = "disallow-parallel-encoding";
1842
1875
  var disallowParallelEncodingOption = {
1843
1876
  name: "Disallow parallel encoding",
1844
- cliFlag: cliFlag27,
1845
- description: () => /* @__PURE__ */ jsx24(Fragment24, {
1877
+ addedIn: "3.2.29",
1878
+ cliFlag: cliFlag28,
1879
+ description: () => /* @__PURE__ */ jsx25(Fragment25, {
1846
1880
  children: "Disallows the renderer from doing rendering frames and encoding at the same time. This makes the rendering process more memory-efficient, but possibly slower."
1847
1881
  }),
1848
1882
  ssrName: "disallowParallelEncoding",
1849
1883
  docLink: "https://www.remotion.dev/docs/options/disallow-parallel-encoding",
1850
1884
  type: false,
1851
1885
  getValue: ({ commandLine }) => {
1852
- if (commandLine[cliFlag27] !== undefined && commandLine[cliFlag27] !== null) {
1886
+ if (commandLine[cliFlag28] !== undefined && commandLine[cliFlag28] !== null) {
1853
1887
  return {
1854
- value: commandLine[cliFlag27],
1888
+ value: commandLine[cliFlag28],
1855
1889
  source: "cli"
1856
1890
  };
1857
1891
  }
@@ -1869,21 +1903,22 @@ var disallowParallelEncodingOption = {
1869
1903
  setConfig(value) {
1870
1904
  disallowParallelEncoding = value;
1871
1905
  },
1872
- id: cliFlag27
1906
+ id: cliFlag28
1873
1907
  };
1874
1908
 
1875
1909
  // src/options/enable-cancellation.tsx
1876
- import { jsx as jsx25, jsxs as jsxs17, Fragment as Fragment25 } from "react/jsx-runtime";
1877
- var cliFlag28 = "enable-cancellation";
1910
+ import { jsx as jsx26, jsxs as jsxs17, Fragment as Fragment26 } from "react/jsx-runtime";
1911
+ var cliFlag29 = "enable-cancellation";
1878
1912
  var enableCancellation = false;
1879
1913
  var enableCancellationOption = {
1880
1914
  name: "Enable cancellation",
1881
- cliFlag: cliFlag28,
1882
- description: () => /* @__PURE__ */ jsxs17(Fragment25, {
1915
+ addedIn: "4.0.515",
1916
+ cliFlag: cliFlag29,
1917
+ description: () => /* @__PURE__ */ jsxs17(Fragment26, {
1883
1918
  children: [
1884
1919
  "Allows a Lambda render to be cancelled by pressing Ctrl+C while running",
1885
1920
  " ",
1886
- /* @__PURE__ */ jsx25("code", {
1921
+ /* @__PURE__ */ jsx26("code", {
1887
1922
  children: "npx remotion lambda render"
1888
1923
  }),
1889
1924
  ". Enabling cancellation causes each renderer function to poll S3 once per second while it is running."
@@ -1896,9 +1931,9 @@ var enableCancellationOption = {
1896
1931
  enableCancellation = value;
1897
1932
  },
1898
1933
  getValue: ({ commandLine }) => {
1899
- if (typeof commandLine[cliFlag28] === "boolean") {
1934
+ if (typeof commandLine[cliFlag29] === "boolean") {
1900
1935
  return {
1901
- value: commandLine[cliFlag28],
1936
+ value: commandLine[cliFlag29],
1902
1937
  source: "cli"
1903
1938
  };
1904
1939
  }
@@ -1907,21 +1942,22 @@ var enableCancellationOption = {
1907
1942
  source: enableCancellation ? "config" : "default"
1908
1943
  };
1909
1944
  },
1910
- id: cliFlag28
1945
+ id: cliFlag29
1911
1946
  };
1912
1947
 
1913
1948
  // src/options/enable-lambda-insights.tsx
1914
- import { jsx as jsx26, jsxs as jsxs18, Fragment as Fragment26 } from "react/jsx-runtime";
1915
- var cliFlag29 = "enable-lambda-insights";
1949
+ import { jsx as jsx27, jsxs as jsxs18, Fragment as Fragment27 } from "react/jsx-runtime";
1950
+ var cliFlag30 = "enable-lambda-insights";
1916
1951
  var option = false;
1917
1952
  var enableLambdaInsights = {
1918
1953
  name: "Enable Lambda Insights",
1919
- cliFlag: cliFlag29,
1920
- description: () => /* @__PURE__ */ jsxs18(Fragment26, {
1954
+ addedIn: "4.0.61",
1955
+ cliFlag: cliFlag30,
1956
+ description: () => /* @__PURE__ */ jsxs18(Fragment27, {
1921
1957
  children: [
1922
1958
  "Enable",
1923
1959
  " ",
1924
- /* @__PURE__ */ jsx26("a", {
1960
+ /* @__PURE__ */ jsx27("a", {
1925
1961
  href: "https://remotion.dev/docs/lambda/insights",
1926
1962
  children: "Lambda Insights in AWS CloudWatch"
1927
1963
  }),
@@ -1935,9 +1971,9 @@ var enableLambdaInsights = {
1935
1971
  option = value;
1936
1972
  },
1937
1973
  getValue: ({ commandLine }) => {
1938
- if (commandLine[cliFlag29] !== undefined) {
1974
+ if (commandLine[cliFlag30] !== undefined) {
1939
1975
  return {
1940
- value: commandLine[cliFlag29],
1976
+ value: commandLine[cliFlag30],
1941
1977
  source: "cli"
1942
1978
  };
1943
1979
  }
@@ -1952,41 +1988,42 @@ var enableLambdaInsights = {
1952
1988
  source: "default"
1953
1989
  };
1954
1990
  },
1955
- id: cliFlag29
1991
+ id: cliFlag30
1956
1992
  };
1957
1993
 
1958
1994
  // src/options/enable-multiprocess-on-linux.tsx
1959
- import { jsx as jsx27, jsxs as jsxs19, Fragment as Fragment27 } from "react/jsx-runtime";
1995
+ import { jsx as jsx28, jsxs as jsxs19, Fragment as Fragment28 } from "react/jsx-runtime";
1960
1996
  var DEFAULT_VALUE2 = true;
1961
1997
  var multiProcessOnLinux = DEFAULT_VALUE2;
1962
- var cliFlag30 = "enable-multiprocess-on-linux";
1998
+ var cliFlag31 = "enable-multiprocess-on-linux";
1963
1999
  var enableMultiprocessOnLinuxOption = {
1964
2000
  name: "Enable Multiprocess on Linux",
1965
- cliFlag: cliFlag30,
1966
- description: () => /* @__PURE__ */ jsxs19(Fragment27, {
2001
+ addedIn: "4.0.42",
2002
+ cliFlag: cliFlag31,
2003
+ description: () => /* @__PURE__ */ jsxs19(Fragment28, {
1967
2004
  children: [
1968
2005
  "Removes the ",
1969
- /* @__PURE__ */ jsx27("code", {
2006
+ /* @__PURE__ */ jsx28("code", {
1970
2007
  children: "--single-process"
1971
2008
  }),
1972
2009
  " flag that gets passed to Chromium on Linux by default. This will make the render faster because multiple processes can be used, but may cause issues with some Linux distributions or if window server libraries are missing.",
1973
- /* @__PURE__ */ jsx27("br", {}),
2010
+ /* @__PURE__ */ jsx28("br", {}),
1974
2011
  "Default: ",
1975
- /* @__PURE__ */ jsx27("code", {
2012
+ /* @__PURE__ */ jsx28("code", {
1976
2013
  children: "false"
1977
2014
  }),
1978
2015
  " until v4.0.136, then ",
1979
- /* @__PURE__ */ jsx27("code", {
2016
+ /* @__PURE__ */ jsx28("code", {
1980
2017
  children: "true"
1981
2018
  }),
1982
2019
  " from v4.0.137 on because newer Chrome versions ",
1983
2020
  "don't",
1984
2021
  " allow rendering with the ",
1985
- /* @__PURE__ */ jsx27("code", {
2022
+ /* @__PURE__ */ jsx28("code", {
1986
2023
  children: "--single-process"
1987
2024
  }),
1988
2025
  " flag. ",
1989
- /* @__PURE__ */ jsx27("br", {}),
2026
+ /* @__PURE__ */ jsx28("br", {}),
1990
2027
  "This flag will be removed in Remotion v5.0."
1991
2028
  ]
1992
2029
  }),
@@ -1994,10 +2031,10 @@ var enableMultiprocessOnLinuxOption = {
1994
2031
  docLink: "https://www.remotion.dev/docs/options/enable-multiprocess-on-linux",
1995
2032
  type: false,
1996
2033
  getValue: ({ commandLine }) => {
1997
- if (commandLine[cliFlag30] !== undefined) {
2034
+ if (commandLine[cliFlag31] !== undefined) {
1998
2035
  return {
1999
2036
  source: "cli",
2000
- value: commandLine[cliFlag30]
2037
+ value: commandLine[cliFlag31]
2001
2038
  };
2002
2039
  }
2003
2040
  if (multiProcessOnLinux !== false) {
@@ -2014,23 +2051,24 @@ var enableMultiprocessOnLinuxOption = {
2014
2051
  setConfig: (value) => {
2015
2052
  multiProcessOnLinux = value;
2016
2053
  },
2017
- id: cliFlag30
2054
+ id: cliFlag31
2018
2055
  };
2019
2056
 
2020
2057
  // src/options/encoding-buffer-size.tsx
2021
- import { jsx as jsx28, jsxs as jsxs20, Fragment as Fragment28 } from "react/jsx-runtime";
2058
+ import { jsx as jsx29, jsxs as jsxs20, Fragment as Fragment29 } from "react/jsx-runtime";
2022
2059
  var encodingBufferSize = null;
2023
2060
  var setEncodingBufferSize = (bitrate) => {
2024
2061
  encodingBufferSize = bitrate;
2025
2062
  };
2026
- var cliFlag31 = "buffer-size";
2063
+ var cliFlag32 = "buffer-size";
2027
2064
  var encodingBufferSizeOption = {
2028
2065
  name: "FFmpeg -bufsize flag",
2029
- cliFlag: cliFlag31,
2030
- description: () => /* @__PURE__ */ jsxs20(Fragment28, {
2066
+ addedIn: "4.0.78",
2067
+ cliFlag: cliFlag32,
2068
+ description: () => /* @__PURE__ */ jsxs20(Fragment29, {
2031
2069
  children: [
2032
2070
  "The value for the ",
2033
- /* @__PURE__ */ jsx28("code", {
2071
+ /* @__PURE__ */ jsx29("code", {
2034
2072
  children: "-bufsize"
2035
2073
  }),
2036
2074
  " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag. With the VP8, VP9 and AV1 codecs, a video bitrate must also be set."
@@ -2040,9 +2078,9 @@ var encodingBufferSizeOption = {
2040
2078
  docLink: "https://www.remotion.dev/docs/options/buffer-size",
2041
2079
  type: "",
2042
2080
  getValue: ({ commandLine }) => {
2043
- if (commandLine[cliFlag31] !== undefined) {
2081
+ if (commandLine[cliFlag32] !== undefined) {
2044
2082
  return {
2045
- value: commandLine[cliFlag31],
2083
+ value: commandLine[cliFlag32],
2046
2084
  source: "cli"
2047
2085
  };
2048
2086
  }
@@ -2058,20 +2096,21 @@ var encodingBufferSizeOption = {
2058
2096
  };
2059
2097
  },
2060
2098
  setConfig: setEncodingBufferSize,
2061
- id: cliFlag31
2099
+ id: cliFlag32
2062
2100
  };
2063
2101
 
2064
2102
  // src/options/encoding-max-rate.tsx
2065
- import { jsx as jsx29, jsxs as jsxs21, Fragment as Fragment29 } from "react/jsx-runtime";
2103
+ import { jsx as jsx30, jsxs as jsxs21, Fragment as Fragment30 } from "react/jsx-runtime";
2066
2104
  var encodingMaxRate = null;
2067
- var cliFlag32 = "max-rate";
2105
+ var cliFlag33 = "max-rate";
2068
2106
  var encodingMaxRateOption = {
2069
2107
  name: "FFmpeg -maxrate flag",
2070
- cliFlag: cliFlag32,
2071
- description: () => /* @__PURE__ */ jsxs21(Fragment29, {
2108
+ addedIn: "4.0.78",
2109
+ cliFlag: cliFlag33,
2110
+ description: () => /* @__PURE__ */ jsxs21(Fragment30, {
2072
2111
  children: [
2073
2112
  "The value for the ",
2074
- /* @__PURE__ */ jsx29("code", {
2113
+ /* @__PURE__ */ jsx30("code", {
2075
2114
  children: "-maxrate"
2076
2115
  }),
2077
2116
  " flag of FFmpeg. Should be used in conjunction with the encoding buffer size flag. With the VP8, VP9 and AV1 codecs, a video bitrate must also be set."
@@ -2081,9 +2120,9 @@ var encodingMaxRateOption = {
2081
2120
  docLink: "https://www.remotion.dev/docs/options/max-rate",
2082
2121
  type: "",
2083
2122
  getValue: ({ commandLine }) => {
2084
- if (commandLine[cliFlag32] !== undefined) {
2123
+ if (commandLine[cliFlag33] !== undefined) {
2085
2124
  return {
2086
- value: commandLine[cliFlag32],
2125
+ value: commandLine[cliFlag33],
2087
2126
  source: "cli"
2088
2127
  };
2089
2128
  }
@@ -2101,36 +2140,37 @@ var encodingMaxRateOption = {
2101
2140
  setConfig: (newMaxRate) => {
2102
2141
  encodingMaxRate = newMaxRate;
2103
2142
  },
2104
- id: cliFlag32
2143
+ id: cliFlag33
2105
2144
  };
2106
2145
 
2107
2146
  // src/options/enforce-audio.tsx
2108
- import { jsx as jsx30, jsxs as jsxs22, Fragment as Fragment30 } from "react/jsx-runtime";
2147
+ import { jsx as jsx31, jsxs as jsxs22, Fragment as Fragment31 } from "react/jsx-runtime";
2109
2148
  var DEFAULT_ENFORCE_AUDIO_TRACK = false;
2110
2149
  var enforceAudioTrackState = DEFAULT_ENFORCE_AUDIO_TRACK;
2111
- var cliFlag33 = "enforce-audio-track";
2150
+ var cliFlag34 = "enforce-audio-track";
2112
2151
  var enforceAudioOption = {
2113
2152
  name: "Enforce Audio Track",
2114
- cliFlag: cliFlag33,
2115
- description: (mode) => /* @__PURE__ */ jsxs22(Fragment30, {
2153
+ addedIn: "3.2.1",
2154
+ cliFlag: cliFlag34,
2155
+ description: (mode) => /* @__PURE__ */ jsxs22(Fragment31, {
2116
2156
  children: [
2117
2157
  /* @__PURE__ */ jsxs22("p", {
2118
2158
  children: [
2119
2159
  "Defaults to ",
2120
- /* @__PURE__ */ jsx30("code", {
2160
+ /* @__PURE__ */ jsx31("code", {
2121
2161
  children: "false"
2122
2162
  }),
2123
2163
  ". If ",
2124
- /* @__PURE__ */ jsx30("code", {
2164
+ /* @__PURE__ */ jsx31("code", {
2125
2165
  children: "true"
2126
2166
  }),
2127
2167
  ", include a silent audio track when the render contains no audio. If ",
2128
- /* @__PURE__ */ jsx30("code", {
2168
+ /* @__PURE__ */ jsx31("code", {
2129
2169
  children: "false"
2130
2170
  }),
2131
2171
  ", omit the audio track when no audio is present. Audio-only exports and",
2132
2172
  " ",
2133
- /* @__PURE__ */ jsx30("code", {
2173
+ /* @__PURE__ */ jsx31("code", {
2134
2174
  children: mode === "cli" ? "--separate-audio-to" : "separateAudioTo"
2135
2175
  }),
2136
2176
  " ",
@@ -2139,17 +2179,17 @@ var enforceAudioOption = {
2139
2179
  }),
2140
2180
  /* @__PURE__ */ jsxs22("p", {
2141
2181
  children: [
2142
- mode === "cli" ? /* @__PURE__ */ jsxs22(Fragment30, {
2182
+ mode === "cli" ? /* @__PURE__ */ jsxs22(Fragment31, {
2143
2183
  children: [
2144
2184
  "Pass ",
2145
- /* @__PURE__ */ jsx30("code", {
2185
+ /* @__PURE__ */ jsx31("code", {
2146
2186
  children: "--enforce-audio-track"
2147
2187
  })
2148
2188
  ]
2149
- }) : /* @__PURE__ */ jsxs22(Fragment30, {
2189
+ }) : /* @__PURE__ */ jsxs22(Fragment31, {
2150
2190
  children: [
2151
2191
  "Set this to ",
2152
- /* @__PURE__ */ jsx30("code", {
2192
+ /* @__PURE__ */ jsx31("code", {
2153
2193
  children: "true"
2154
2194
  })
2155
2195
  ]
@@ -2157,13 +2197,13 @@ var enforceAudioOption = {
2157
2197
  " ",
2158
2198
  "for",
2159
2199
  " ",
2160
- /* @__PURE__ */ jsx30("a", {
2200
+ /* @__PURE__ */ jsx31("a", {
2161
2201
  href: "/docs/distributed-rendering",
2162
2202
  children: "chunks that will later be concatenated"
2163
2203
  }),
2164
2204
  ", because other chunks may contain audio.",
2165
2205
  " ",
2166
- /* @__PURE__ */ jsx30("code", {
2206
+ /* @__PURE__ */ jsx31("code", {
2167
2207
  children: mode === "cli" ? "--muted" : "muted: true"
2168
2208
  }),
2169
2209
  " takes precedence."
@@ -2175,7 +2215,7 @@ var enforceAudioOption = {
2175
2215
  docLink: "https://www.remotion.dev/docs/options/enforce-audio-track",
2176
2216
  type: false,
2177
2217
  getValue: ({ commandLine }) => {
2178
- if (commandLine[cliFlag33]) {
2218
+ if (commandLine[cliFlag34]) {
2179
2219
  return {
2180
2220
  source: "cli",
2181
2221
  value: true
@@ -2195,20 +2235,21 @@ var enforceAudioOption = {
2195
2235
  setConfig: (value) => {
2196
2236
  enforceAudioTrackState = value;
2197
2237
  },
2198
- id: cliFlag33
2238
+ id: cliFlag34
2199
2239
  };
2200
2240
 
2201
2241
  // src/options/env-file.tsx
2202
- import { jsx as jsx31, jsxs as jsxs23, Fragment as Fragment31 } from "react/jsx-runtime";
2203
- var cliFlag34 = "env-file";
2242
+ import { jsx as jsx32, jsxs as jsxs23, Fragment as Fragment32 } from "react/jsx-runtime";
2243
+ var cliFlag35 = "env-file";
2204
2244
  var envFileLocation = null;
2205
2245
  var envFileOption = {
2206
2246
  name: "Env File",
2207
- cliFlag: cliFlag34,
2208
- description: () => /* @__PURE__ */ jsxs23(Fragment31, {
2247
+ addedIn: "2.2.0",
2248
+ cliFlag: cliFlag35,
2249
+ description: () => /* @__PURE__ */ jsxs23(Fragment32, {
2209
2250
  children: [
2210
2251
  "Specify a location for a dotenv file. Default ",
2211
- /* @__PURE__ */ jsx31("code", {
2252
+ /* @__PURE__ */ jsx32("code", {
2212
2253
  children: ".env"
2213
2254
  }),
2214
2255
  "."
@@ -2217,10 +2258,10 @@ var envFileOption = {
2217
2258
  ssrName: null,
2218
2259
  docLink: "https://www.remotion.dev/docs/options/env-file",
2219
2260
  getValue: ({ commandLine }) => {
2220
- if (commandLine[cliFlag34] !== undefined) {
2261
+ if (commandLine[cliFlag35] !== undefined) {
2221
2262
  return {
2222
2263
  source: "cli",
2223
- value: commandLine[cliFlag34]
2264
+ value: commandLine[cliFlag35]
2224
2265
  };
2225
2266
  }
2226
2267
  if (envFileLocation !== null) {
@@ -2238,30 +2279,31 @@ var envFileOption = {
2238
2279
  envFileLocation = value;
2239
2280
  },
2240
2281
  type: "",
2241
- id: cliFlag34
2282
+ id: cliFlag35
2242
2283
  };
2243
2284
 
2244
2285
  // src/options/every-nth-frame.tsx
2245
- import { jsx as jsx32, jsxs as jsxs24, Fragment as Fragment32 } from "react/jsx-runtime";
2286
+ import { jsx as jsx33, jsxs as jsxs24, Fragment as Fragment33 } from "react/jsx-runtime";
2246
2287
  var DEFAULT_EVERY_NTH_FRAME = 1;
2247
2288
  var everyNthFrame = DEFAULT_EVERY_NTH_FRAME;
2248
- var cliFlag35 = "every-nth-frame";
2289
+ var cliFlag36 = "every-nth-frame";
2249
2290
  var everyNthFrameOption = {
2250
2291
  name: "Every nth frame",
2251
- cliFlag: cliFlag35,
2252
- description: () => /* @__PURE__ */ jsxs24(Fragment32, {
2292
+ addedIn: "3.1.0",
2293
+ cliFlag: cliFlag36,
2294
+ description: () => /* @__PURE__ */ jsxs24(Fragment33, {
2253
2295
  children: [
2254
2296
  "This option may only be set when rendering GIFs. It determines how many frames are rendered, while the other ones get skipped in order to lower the FPS of the GIF. For example, if the ",
2255
- /* @__PURE__ */ jsx32("code", {
2297
+ /* @__PURE__ */ jsx33("code", {
2256
2298
  children: "fps"
2257
2299
  }),
2258
2300
  " is 30, and",
2259
2301
  " ",
2260
- /* @__PURE__ */ jsx32("code", {
2302
+ /* @__PURE__ */ jsx33("code", {
2261
2303
  children: "everyNthFrame"
2262
2304
  }),
2263
2305
  " is 2, the FPS of the GIF is ",
2264
- /* @__PURE__ */ jsx32("code", {
2306
+ /* @__PURE__ */ jsx33("code", {
2265
2307
  children: "15"
2266
2308
  }),
2267
2309
  "."
@@ -2271,10 +2313,10 @@ var everyNthFrameOption = {
2271
2313
  docLink: "https://www.remotion.dev/docs/options/every-nth-frame",
2272
2314
  type: DEFAULT_EVERY_NTH_FRAME,
2273
2315
  getValue: ({ commandLine }) => {
2274
- if (commandLine[cliFlag35] !== undefined) {
2316
+ if (commandLine[cliFlag36] !== undefined) {
2275
2317
  return {
2276
2318
  source: "cli",
2277
- value: commandLine[cliFlag35]
2319
+ value: commandLine[cliFlag36]
2278
2320
  };
2279
2321
  }
2280
2322
  if (everyNthFrame !== DEFAULT_EVERY_NTH_FRAME) {
@@ -2291,20 +2333,21 @@ var everyNthFrameOption = {
2291
2333
  setConfig: (value) => {
2292
2334
  everyNthFrame = value;
2293
2335
  },
2294
- id: cliFlag35
2336
+ id: cliFlag36
2295
2337
  };
2296
2338
 
2297
2339
  // src/options/experimental-keep-audio-context-alive.tsx
2298
- import { jsx as jsx33, jsxs as jsxs25, Fragment as Fragment33 } from "react/jsx-runtime";
2340
+ import { jsx as jsx34, jsxs as jsxs25, Fragment as Fragment34 } from "react/jsx-runtime";
2299
2341
  var experimentalKeepAudioContextAlive = false;
2300
- var cliFlag36 = "experimental-keep-audio-context-alive";
2342
+ var cliFlag37 = "experimental-keep-audio-context-alive";
2301
2343
  var experimentalKeepAudioContextAliveOption = {
2302
2344
  name: "Keep AudioContext alive (experimental)",
2303
- cliFlag: cliFlag36,
2304
- description: () => /* @__PURE__ */ jsxs25(Fragment33, {
2345
+ addedIn: "4.0.508",
2346
+ cliFlag: cliFlag37,
2347
+ description: () => /* @__PURE__ */ jsxs25(Fragment34, {
2305
2348
  children: [
2306
2349
  "Keeps the shared ",
2307
- /* @__PURE__ */ jsx33("code", {
2350
+ /* @__PURE__ */ jsx34("code", {
2308
2351
  children: "AudioContext"
2309
2352
  }),
2310
2353
  " running while the Remotion Studio is paused."
@@ -2314,9 +2357,9 @@ var experimentalKeepAudioContextAliveOption = {
2314
2357
  docLink: "https://www.remotion.dev/docs/options/experimental-keep-audio-context-alive",
2315
2358
  type: false,
2316
2359
  getValue: ({ commandLine }) => {
2317
- if (commandLine[cliFlag36] !== undefined && commandLine[cliFlag36] !== null) {
2360
+ if (commandLine[cliFlag37] !== undefined && commandLine[cliFlag37] !== null) {
2318
2361
  return {
2319
- value: commandLine[cliFlag36],
2362
+ value: commandLine[cliFlag37],
2320
2363
  source: "cli"
2321
2364
  };
2322
2365
  }
@@ -2328,30 +2371,111 @@ var experimentalKeepAudioContextAliveOption = {
2328
2371
  setConfig(value) {
2329
2372
  experimentalKeepAudioContextAlive = value;
2330
2373
  },
2331
- id: cliFlag36
2374
+ id: cliFlag37
2375
+ };
2376
+
2377
+ // src/options/experimental-sequence-activity.tsx
2378
+ import { jsx as jsx35, Fragment as Fragment35 } from "react/jsx-runtime";
2379
+ var experimentalSequenceActivityEnabled = false;
2380
+ var configuredExperimentalSequenceActivityEnabled = null;
2381
+ var cliFlag38 = "experimental-sequence-activity";
2382
+ var experimentalSequenceActivityOption = {
2383
+ name: "Enable experimental Sequence Activity",
2384
+ addedIn: "4.0.535",
2385
+ cliFlag: cliFlag38,
2386
+ description: () => /* @__PURE__ */ jsx35(Fragment35, {
2387
+ children: "Discover layers in nearby hidden scenes in the Remotion Studio before they become visible. This experimental feature may use more CPU. Disabled by default. Does not affect rendering."
2388
+ }),
2389
+ ssrName: null,
2390
+ docLink: "https://www.remotion.dev/docs/options/experimental-sequence-activity",
2391
+ type: false,
2392
+ getValue: ({ commandLine }) => {
2393
+ if (commandLine[cliFlag38] !== undefined && commandLine[cliFlag38] !== null) {
2394
+ return {
2395
+ value: commandLine[cliFlag38],
2396
+ source: "cli"
2397
+ };
2398
+ }
2399
+ return {
2400
+ value: experimentalSequenceActivityEnabled,
2401
+ source: "config"
2402
+ };
2403
+ },
2404
+ setConfig(value) {
2405
+ experimentalSequenceActivityEnabled = value;
2406
+ configuredExperimentalSequenceActivityEnabled = value;
2407
+ },
2408
+ getConfigValue: () => configuredExperimentalSequenceActivityEnabled,
2409
+ reset: () => {
2410
+ experimentalSequenceActivityEnabled = false;
2411
+ configuredExperimentalSequenceActivityEnabled = null;
2412
+ },
2413
+ id: cliFlag38
2414
+ };
2415
+
2416
+ // src/options/experimental-sequence-activity-limit.tsx
2417
+ import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
2418
+ import { jsx as jsx36, Fragment as Fragment36 } from "react/jsx-runtime";
2419
+ var configuredLimit = null;
2420
+ var cliFlag39 = "experimental-sequence-activity-limit";
2421
+ var experimentalSequenceActivityLimitOption = {
2422
+ name: "Experimental hidden Sequence Activity limit",
2423
+ addedIn: "4.0.535",
2424
+ cliFlag: cliFlag39,
2425
+ id: cliFlag39,
2426
+ description: () => /* @__PURE__ */ jsx36(Fragment36, {
2427
+ children: "Limit nearby hidden scenes discovered by experimental Sequence Activity in the Remotion Studio, including nested sequences and their ancestors. Visible, premounted, and postmounted scenes always render. Defaults to 20. Must be a safe integer of at least -1. Set to 0 to disable hidden discovery, or -1 for unlimited discovery without admission delays. Only applies when experimental Sequence Activity is enabled. Does not affect rendering."
2428
+ }),
2429
+ ssrName: null,
2430
+ docLink: "https://www.remotion.dev/docs/options/experimental-sequence-activity-limit",
2431
+ type: 0,
2432
+ getValue: ({ commandLine }) => {
2433
+ if (commandLine[cliFlag39] !== undefined) {
2434
+ const value = commandLine[cliFlag39];
2435
+ if (!Number.isSafeInteger(value) || value < -1) {
2436
+ throw new Error("Sequence Activity limit must be a safe integer of at least -1.");
2437
+ }
2438
+ return { value, source: "cli" };
2439
+ }
2440
+ return {
2441
+ value: configuredLimit ?? NoReactInternals4.DEFAULT_SEQUENCE_ACTIVITY_LIMIT,
2442
+ source: "config"
2443
+ };
2444
+ },
2445
+ setConfig(value) {
2446
+ if (!Number.isSafeInteger(value) || value < -1) {
2447
+ throw new Error("Sequence Activity limit must be a safe integer of at least -1.");
2448
+ }
2449
+ configuredLimit = value;
2450
+ },
2451
+ getConfigValue: () => configuredLimit,
2452
+ reset: () => {
2453
+ configuredLimit = null;
2454
+ }
2332
2455
  };
2333
2456
 
2334
2457
  // src/options/experimental-tracks.tsx
2335
- import { jsx as jsx34, jsxs as jsxs26, Fragment as Fragment34 } from "react/jsx-runtime";
2458
+ import { jsx as jsx37, jsxs as jsxs26, Fragment as Fragment37 } from "react/jsx-runtime";
2336
2459
  var experimentalTracksEnabled = false;
2337
2460
  var configuredExperimentalTracksEnabled = null;
2338
- var cliFlag37 = "experimental-tracks";
2461
+ var cliFlag40 = "experimental-tracks";
2339
2462
  var experimentalTracksOption = {
2340
2463
  name: "Enable experimental timeline tracks",
2341
- cliFlag: cliFlag37,
2342
- description: () => /* @__PURE__ */ jsxs26(Fragment34, {
2464
+ addedIn: "4.0.534",
2465
+ cliFlag: cliFlag40,
2466
+ description: () => /* @__PURE__ */ jsxs26(Fragment37, {
2343
2467
  children: [
2344
2468
  "Enable experimental timeline tracks in the Remotion Studio. Group clips from ",
2345
- /* @__PURE__ */ jsx34("code", {
2469
+ /* @__PURE__ */ jsx37("code", {
2346
2470
  children: "<Track>"
2347
2471
  }),
2348
2472
  ", ",
2349
- /* @__PURE__ */ jsx34("code", {
2473
+ /* @__PURE__ */ jsx37("code", {
2350
2474
  children: "<Series>"
2351
2475
  }),
2352
2476
  " and",
2353
2477
  " ",
2354
- /* @__PURE__ */ jsx34("code", {
2478
+ /* @__PURE__ */ jsx37("code", {
2355
2479
  children: "<TransitionSeries>"
2356
2480
  }),
2357
2481
  " on shared rows, with overlays on additional rows. Disabled by default."
@@ -2361,9 +2485,9 @@ var experimentalTracksOption = {
2361
2485
  docLink: "https://www.remotion.dev/docs/options/experimental-tracks",
2362
2486
  type: false,
2363
2487
  getValue: ({ commandLine }) => {
2364
- if (commandLine[cliFlag37] !== undefined && commandLine[cliFlag37] !== null) {
2488
+ if (commandLine[cliFlag40] !== undefined && commandLine[cliFlag40] !== null) {
2365
2489
  return {
2366
- value: commandLine[cliFlag37],
2490
+ value: commandLine[cliFlag40],
2367
2491
  source: "cli"
2368
2492
  };
2369
2493
  }
@@ -2381,26 +2505,27 @@ var experimentalTracksOption = {
2381
2505
  experimentalTracksEnabled = false;
2382
2506
  configuredExperimentalTracksEnabled = null;
2383
2507
  },
2384
- id: cliFlag37
2508
+ id: cliFlag40
2385
2509
  };
2386
2510
 
2387
2511
  // src/options/folder-expiry.tsx
2388
- import { jsx as jsx35, jsxs as jsxs27, Fragment as Fragment35 } from "react/jsx-runtime";
2512
+ import { jsx as jsx38, jsxs as jsxs27, Fragment as Fragment38 } from "react/jsx-runtime";
2389
2513
  var enableFolderExpiry = null;
2390
- var cliFlag38 = "enable-folder-expiry";
2514
+ var cliFlag41 = "enable-folder-expiry";
2391
2515
  var folderExpiryOption = {
2392
2516
  name: "Lambda render expiration",
2393
- cliFlag: cliFlag38,
2517
+ addedIn: "4.0.32",
2518
+ cliFlag: cliFlag41,
2394
2519
  description: () => {
2395
- return /* @__PURE__ */ jsxs27(Fragment35, {
2520
+ return /* @__PURE__ */ jsxs27(Fragment38, {
2396
2521
  children: [
2397
2522
  "When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is",
2398
2523
  " ",
2399
- /* @__PURE__ */ jsx35("code", {
2524
+ /* @__PURE__ */ jsx38("code", {
2400
2525
  children: "null"
2401
2526
  }),
2402
2527
  ", which does not change any lifecycle policies of the S3 bucket. See: ",
2403
- /* @__PURE__ */ jsx35("a", {
2528
+ /* @__PURE__ */ jsx38("a", {
2404
2529
  href: "/docs/lambda/autodelete",
2405
2530
  children: "Lambda autodelete"
2406
2531
  }),
@@ -2412,10 +2537,10 @@ var folderExpiryOption = {
2412
2537
  docLink: "https://www.remotion.dev/docs/options/enable-folder-expiry",
2413
2538
  type: false,
2414
2539
  getValue: ({ commandLine }) => {
2415
- if (commandLine[cliFlag38] !== undefined) {
2540
+ if (commandLine[cliFlag41] !== undefined) {
2416
2541
  return {
2417
2542
  source: "cli",
2418
- value: commandLine[cliFlag38]
2543
+ value: commandLine[cliFlag41]
2419
2544
  };
2420
2545
  }
2421
2546
  if (enableFolderExpiry !== null) {
@@ -2432,28 +2557,29 @@ var folderExpiryOption = {
2432
2557
  setConfig: (value) => {
2433
2558
  enableFolderExpiry = value;
2434
2559
  },
2435
- id: cliFlag38
2560
+ id: cliFlag41
2436
2561
  };
2437
2562
 
2438
2563
  // src/options/for-seamless-aac-concatenation.tsx
2439
- import { jsx as jsx36, jsxs as jsxs28, Fragment as Fragment36 } from "react/jsx-runtime";
2564
+ import { jsx as jsx39, jsxs as jsxs28, Fragment as Fragment39 } from "react/jsx-runtime";
2440
2565
  var DEFAULT3 = false;
2441
2566
  var forSeamlessAacConcatenation = DEFAULT3;
2442
- var cliFlag39 = "for-seamless-aac-concatenation";
2567
+ var cliFlag42 = "for-seamless-aac-concatenation";
2443
2568
  var forSeamlessAacConcatenationOption = {
2444
2569
  name: "For seamless AAC concatenation",
2445
- cliFlag: cliFlag39,
2446
- description: () => /* @__PURE__ */ jsxs28(Fragment36, {
2570
+ addedIn: "4.0.123",
2571
+ cliFlag: cliFlag42,
2572
+ description: () => /* @__PURE__ */ jsxs28(Fragment39, {
2447
2573
  children: [
2448
2574
  "If enabled, the audio is trimmed to the nearest AAC frame, which is required for seamless concatenation of AAC files. This is a requirement if you later want to combine multiple video snippets seamlessly.",
2449
- /* @__PURE__ */ jsx36("br", {}),
2450
- /* @__PURE__ */ jsx36("br", {}),
2575
+ /* @__PURE__ */ jsx39("br", {}),
2576
+ /* @__PURE__ */ jsx39("br", {}),
2451
2577
  " This option is used internally. There is currently no documentation yet for to concatenate the audio chunks."
2452
2578
  ]
2453
2579
  }),
2454
2580
  docLink: "https://www.remotion.dev/docs/options/for-seamless-aac-concatenation",
2455
2581
  getValue: ({ commandLine }) => {
2456
- if (commandLine[cliFlag39]) {
2582
+ if (commandLine[cliFlag42]) {
2457
2583
  return {
2458
2584
  source: "cli",
2459
2585
  value: true
@@ -2475,26 +2601,27 @@ var forSeamlessAacConcatenationOption = {
2475
2601
  },
2476
2602
  ssrName: "forSeamlessAacConcatenation",
2477
2603
  type: false,
2478
- id: cliFlag39
2604
+ id: cliFlag42
2479
2605
  };
2480
2606
 
2481
2607
  // src/options/force-new-studio.tsx
2482
- import { jsx as jsx37, Fragment as Fragment37 } from "react/jsx-runtime";
2608
+ import { jsx as jsx40, Fragment as Fragment40 } from "react/jsx-runtime";
2483
2609
  var forceNewEnabled = false;
2484
- var cliFlag40 = "force-new";
2610
+ var cliFlag43 = "force-new";
2485
2611
  var forceNewStudioOption = {
2486
2612
  name: "Force New Studio",
2487
- cliFlag: cliFlag40,
2488
- description: () => /* @__PURE__ */ jsx37(Fragment37, {
2613
+ addedIn: "4.0.421",
2614
+ cliFlag: cliFlag43,
2615
+ description: () => /* @__PURE__ */ jsx40(Fragment40, {
2489
2616
  children: "Forces starting a new Studio instance even if one is already running on the same port for the same project."
2490
2617
  }),
2491
2618
  ssrName: null,
2492
2619
  docLink: "https://www.remotion.dev/docs/options/force-new",
2493
2620
  type: false,
2494
2621
  getValue: ({ commandLine }) => {
2495
- if (commandLine[cliFlag40] !== undefined && commandLine[cliFlag40] !== null) {
2622
+ if (commandLine[cliFlag43] !== undefined && commandLine[cliFlag43] !== null) {
2496
2623
  return {
2497
- value: commandLine[cliFlag40],
2624
+ value: commandLine[cliFlag43],
2498
2625
  source: "cli"
2499
2626
  };
2500
2627
  }
@@ -2506,7 +2633,7 @@ var forceNewStudioOption = {
2506
2633
  setConfig(value) {
2507
2634
  forceNewEnabled = value;
2508
2635
  },
2509
- id: cliFlag40
2636
+ id: cliFlag43
2510
2637
  };
2511
2638
 
2512
2639
  // src/frame-range.ts
@@ -2625,8 +2752,8 @@ var validateSelectedFrames = ({
2625
2752
  };
2626
2753
 
2627
2754
  // src/options/frames.tsx
2628
- import { jsx as jsx38, jsxs as jsxs29, Fragment as Fragment38 } from "react/jsx-runtime";
2629
- var cliFlag41 = "frames";
2755
+ import { jsx as jsx41, jsxs as jsxs29, Fragment as Fragment41 } from "react/jsx-runtime";
2756
+ var cliFlag44 = "frames";
2630
2757
  var frameSelection = null;
2631
2758
  var parseFrameRangeFromCli = (newFrameRange) => {
2632
2759
  if (typeof newFrameRange === "number") {
@@ -2703,16 +2830,17 @@ var parseFrameRangeFromCli = (newFrameRange) => {
2703
2830
  };
2704
2831
  var framesOption = {
2705
2832
  name: "Frame Range",
2706
- cliFlag: cliFlag41,
2707
- description: () => /* @__PURE__ */ jsxs29(Fragment38, {
2833
+ addedIn: "2.0.0",
2834
+ cliFlag: cliFlag44,
2835
+ description: () => /* @__PURE__ */ jsxs29(Fragment41, {
2708
2836
  children: [
2709
2837
  "Render a subset of a video. Pass a single number to render a still, or a range (e.g. ",
2710
- /* @__PURE__ */ jsx38("code", {
2838
+ /* @__PURE__ */ jsx41("code", {
2711
2839
  children: "0-9"
2712
2840
  }),
2713
2841
  ") to render a subset of frames. Pass",
2714
2842
  " ",
2715
- /* @__PURE__ */ jsx38("code", {
2843
+ /* @__PURE__ */ jsx41("code", {
2716
2844
  children: "100-"
2717
2845
  }),
2718
2846
  " to render from frame 100 to the end."
@@ -2722,8 +2850,8 @@ var framesOption = {
2722
2850
  docLink: "https://www.remotion.dev/docs/options/frames",
2723
2851
  type: null,
2724
2852
  getValue: ({ commandLine }) => {
2725
- if (commandLine[cliFlag41] !== undefined) {
2726
- const value = parseFrameRangeFromCli(commandLine[cliFlag41]);
2853
+ if (commandLine[cliFlag44] !== undefined) {
2854
+ const value = parseFrameRangeFromCli(commandLine[cliFlag44]);
2727
2855
  if (typeof value === "object" && !Array.isArray(value)) {
2728
2856
  validateSelectedFrames({
2729
2857
  frames: value.frames,
@@ -2750,12 +2878,12 @@ var framesOption = {
2750
2878
  }
2751
2879
  frameSelection = value;
2752
2880
  },
2753
- id: cliFlag41
2881
+ id: cliFlag44
2754
2882
  };
2755
2883
 
2756
2884
  // src/options/gl.tsx
2757
- import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
2758
- import { jsx as jsx39, jsxs as jsxs30, Fragment as Fragment39 } from "react/jsx-runtime";
2885
+ import { NoReactInternals as NoReactInternals5 } from "remotion/no-react";
2886
+ import { jsx as jsx42, jsxs as jsxs30, Fragment as Fragment42 } from "react/jsx-runtime";
2759
2887
  var validOpenGlRenderers = [
2760
2888
  "swangle",
2761
2889
  "angle",
@@ -2767,13 +2895,13 @@ var validOpenGlRenderers = [
2767
2895
  var getDefaultOpenGlRenderer = (enableV5BreakingChanges) => {
2768
2896
  return enableV5BreakingChanges ? "angle" : null;
2769
2897
  };
2770
- var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals3.ENABLE_V5_BREAKING_CHANGES);
2898
+ var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals5.ENABLE_V5_BREAKING_CHANGES);
2771
2899
  var openGlRenderer = DEFAULT_OPENGL_RENDERER;
2772
2900
  var AngleChangelog = () => {
2773
2901
  return /* @__PURE__ */ jsxs30("details", {
2774
2902
  style: { fontSize: "0.9em", marginBottom: "1em" },
2775
2903
  children: [
2776
- /* @__PURE__ */ jsx39("summary", {
2904
+ /* @__PURE__ */ jsx42("summary", {
2777
2905
  children: "Changelog"
2778
2906
  }),
2779
2907
  /* @__PURE__ */ jsxs30("ul", {
@@ -2782,12 +2910,12 @@ var AngleChangelog = () => {
2782
2910
  children: [
2783
2911
  "From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was",
2784
2912
  " ",
2785
- /* @__PURE__ */ jsx39("code", {
2913
+ /* @__PURE__ */ jsx42("code", {
2786
2914
  children: "swiftshader"
2787
2915
  }),
2788
2916
  ", but from v3.0.8 the default is",
2789
2917
  " ",
2790
- /* @__PURE__ */ jsx39("code", {
2918
+ /* @__PURE__ */ jsx42("code", {
2791
2919
  children: "swangle"
2792
2920
  }),
2793
2921
  " (Swiftshader on Angle) since Chrome 101 added support for it."
@@ -2796,16 +2924,16 @@ var AngleChangelog = () => {
2796
2924
  /* @__PURE__ */ jsxs30("li", {
2797
2925
  children: [
2798
2926
  "From Remotion v2.4.3 until v2.6.6, the default was ",
2799
- /* @__PURE__ */ jsx39("code", {
2927
+ /* @__PURE__ */ jsx42("code", {
2800
2928
  children: "angle"
2801
2929
  }),
2802
2930
  ", however it turns out to have a small memory leak that could crash long Remotion renders."
2803
2931
  ]
2804
2932
  }),
2805
- NoReactInternals3.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs30("li", {
2933
+ NoReactInternals5.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs30("li", {
2806
2934
  children: [
2807
2935
  "From Remotion v5.0, the default is ",
2808
- /* @__PURE__ */ jsx39("code", {
2936
+ /* @__PURE__ */ jsx42("code", {
2809
2937
  children: "angle"
2810
2938
  }),
2811
2939
  ". If no compatible GPU is available, Chromium automatically falls back to SwiftShader."
@@ -2816,53 +2944,54 @@ var AngleChangelog = () => {
2816
2944
  ]
2817
2945
  });
2818
2946
  };
2819
- var cliFlag42 = "gl";
2947
+ var cliFlag45 = "gl";
2820
2948
  var glOption = {
2821
- cliFlag: cliFlag42,
2949
+ cliFlag: cliFlag45,
2822
2950
  docLink: "https://www.remotion.dev/docs/options/gl",
2823
2951
  name: "OpenGL renderer",
2952
+ addedIn: "2.6.5",
2824
2953
  type: "angle",
2825
2954
  ssrName: "gl",
2826
2955
  description: () => {
2827
- return /* @__PURE__ */ jsxs30(Fragment39, {
2956
+ return /* @__PURE__ */ jsxs30(Fragment42, {
2828
2957
  children: [
2829
- /* @__PURE__ */ jsx39(AngleChangelog, {}),
2958
+ /* @__PURE__ */ jsx42(AngleChangelog, {}),
2830
2959
  /* @__PURE__ */ jsxs30("p", {
2831
2960
  children: [
2832
2961
  "Select the OpenGL renderer backend for Chromium. ",
2833
- /* @__PURE__ */ jsx39("br", {}),
2962
+ /* @__PURE__ */ jsx42("br", {}),
2834
2963
  "Accepted values:"
2835
2964
  ]
2836
2965
  }),
2837
2966
  /* @__PURE__ */ jsxs30("ul", {
2838
2967
  children: [
2839
- /* @__PURE__ */ jsx39("li", {
2840
- children: /* @__PURE__ */ jsx39("code", {
2968
+ /* @__PURE__ */ jsx42("li", {
2969
+ children: /* @__PURE__ */ jsx42("code", {
2841
2970
  children: '"angle"'
2842
2971
  })
2843
2972
  }),
2844
- /* @__PURE__ */ jsx39("li", {
2845
- children: /* @__PURE__ */ jsx39("code", {
2973
+ /* @__PURE__ */ jsx42("li", {
2974
+ children: /* @__PURE__ */ jsx42("code", {
2846
2975
  children: '"egl"'
2847
2976
  })
2848
2977
  }),
2849
- /* @__PURE__ */ jsx39("li", {
2850
- children: /* @__PURE__ */ jsx39("code", {
2978
+ /* @__PURE__ */ jsx42("li", {
2979
+ children: /* @__PURE__ */ jsx42("code", {
2851
2980
  children: '"swiftshader"'
2852
2981
  })
2853
2982
  }),
2854
- /* @__PURE__ */ jsx39("li", {
2855
- children: /* @__PURE__ */ jsx39("code", {
2983
+ /* @__PURE__ */ jsx42("li", {
2984
+ children: /* @__PURE__ */ jsx42("code", {
2856
2985
  children: '"swangle"'
2857
2986
  })
2858
2987
  }),
2859
2988
  /* @__PURE__ */ jsxs30("li", {
2860
2989
  children: [
2861
- /* @__PURE__ */ jsx39("code", {
2990
+ /* @__PURE__ */ jsx42("code", {
2862
2991
  children: '"vulkan"'
2863
2992
  }),
2864
2993
  " (",
2865
- /* @__PURE__ */ jsx39("em", {
2994
+ /* @__PURE__ */ jsx42("em", {
2866
2995
  children: "from Remotion v4.0.41"
2867
2996
  }),
2868
2997
  ")"
@@ -2870,11 +2999,11 @@ var glOption = {
2870
2999
  }),
2871
3000
  /* @__PURE__ */ jsxs30("li", {
2872
3001
  children: [
2873
- /* @__PURE__ */ jsx39("code", {
3002
+ /* @__PURE__ */ jsx42("code", {
2874
3003
  children: '"angle-egl"'
2875
3004
  }),
2876
3005
  " (",
2877
- /* @__PURE__ */ jsx39("em", {
3006
+ /* @__PURE__ */ jsx42("em", {
2878
3007
  children: "from Remotion v4.0.51"
2879
3008
  }),
2880
3009
  ")"
@@ -2886,12 +3015,12 @@ var glOption = {
2886
3015
  children: [
2887
3016
  "The default is",
2888
3017
  " ",
2889
- /* @__PURE__ */ jsx39("code", {
3018
+ /* @__PURE__ */ jsx42("code", {
2890
3019
  children: DEFAULT_OPENGL_RENDERER === null ? "null" : `"${DEFAULT_OPENGL_RENDERER}"`
2891
3020
  }),
2892
3021
  DEFAULT_OPENGL_RENDERER === null ? ", letting Chrome decide" : ", with automatic fallback to SwiftShader if no compatible GPU is available",
2893
3022
  ", except on Lambda where the default is ",
2894
- /* @__PURE__ */ jsx39("code", {
3023
+ /* @__PURE__ */ jsx42("code", {
2895
3024
  children: '"swangle"'
2896
3025
  })
2897
3026
  ]
@@ -2900,10 +3029,10 @@ var glOption = {
2900
3029
  });
2901
3030
  },
2902
3031
  getValue: ({ commandLine }) => {
2903
- if (commandLine[cliFlag42]) {
2904
- validateOpenGlRenderer(commandLine[cliFlag42]);
3032
+ if (commandLine[cliFlag45]) {
3033
+ validateOpenGlRenderer(commandLine[cliFlag45]);
2905
3034
  return {
2906
- value: commandLine[cliFlag42],
3035
+ value: commandLine[cliFlag45],
2907
3036
  source: "cli"
2908
3037
  };
2909
3038
  }
@@ -2922,20 +3051,20 @@ var glOption = {
2922
3051
  validateOpenGlRenderer(value);
2923
3052
  openGlRenderer = value;
2924
3053
  },
2925
- id: cliFlag42
3054
+ id: cliFlag45
2926
3055
  };
2927
- var validateOpenGlRenderer = (option2) => {
2928
- if (option2 === null) {
3056
+ var validateOpenGlRenderer = (option) => {
3057
+ if (option === null) {
2929
3058
  return null;
2930
3059
  }
2931
- if (!validOpenGlRenderers.includes(option2)) {
2932
- throw new TypeError(`${option2} is not a valid GL backend. Accepted values: ${validOpenGlRenderers.join(", ")}`);
3060
+ if (!validOpenGlRenderers.includes(option)) {
3061
+ throw new TypeError(`${option} is not a valid GL backend. Accepted values: ${validOpenGlRenderers.join(", ")}`);
2933
3062
  }
2934
- return option2;
3063
+ return option;
2935
3064
  };
2936
3065
 
2937
3066
  // src/options/gop-size.tsx
2938
- import { jsx as jsx40, jsxs as jsxs31, Fragment as Fragment40 } from "react/jsx-runtime";
3067
+ import { jsx as jsx43, jsxs as jsxs31, Fragment as Fragment43 } from "react/jsx-runtime";
2939
3068
  var gopSize = null;
2940
3069
  var validateGopSize = (value) => {
2941
3070
  if (value === null) {
@@ -2945,14 +3074,15 @@ var validateGopSize = (value) => {
2945
3074
  throw new TypeError("The GOP size must be an integer greater than 0 or null.");
2946
3075
  }
2947
3076
  };
2948
- var cliFlag43 = "gop";
3077
+ var cliFlag46 = "gop";
2949
3078
  var gopSizeOption = {
2950
3079
  name: "GOP size",
2951
- cliFlag: cliFlag43,
2952
- description: () => /* @__PURE__ */ jsxs31(Fragment40, {
3080
+ addedIn: "4.0.466",
3081
+ cliFlag: cliFlag46,
3082
+ description: () => /* @__PURE__ */ jsxs31(Fragment43, {
2953
3083
  children: [
2954
3084
  "Set the maximum number of frames between two keyframes. This maps to FFmpeg's ",
2955
- /* @__PURE__ */ jsx40("code", {
3085
+ /* @__PURE__ */ jsx43("code", {
2956
3086
  children: "-g"
2957
3087
  }),
2958
3088
  " option. Default: Let the encoder decide."
@@ -2962,7 +3092,7 @@ var gopSizeOption = {
2962
3092
  docLink: "https://www.remotion.dev/docs/options/gop",
2963
3093
  type: null,
2964
3094
  getValue: ({ commandLine }) => {
2965
- const value = commandLine[cliFlag43];
3095
+ const value = commandLine[cliFlag46];
2966
3096
  if (value !== undefined) {
2967
3097
  validateGopSize(value);
2968
3098
  return { value, source: "cli" };
@@ -2973,7 +3103,7 @@ var gopSizeOption = {
2973
3103
  validateGopSize(value);
2974
3104
  gopSize = value;
2975
3105
  },
2976
- id: cliFlag43
3106
+ id: cliFlag46
2977
3107
  };
2978
3108
 
2979
3109
  // src/options/hardware-acceleration.tsx
@@ -2982,11 +3112,12 @@ var hardwareAccelerationOptions = [
2982
3112
  "if-possible",
2983
3113
  "required"
2984
3114
  ];
2985
- var cliFlag44 = "hardware-acceleration";
3115
+ var cliFlag47 = "hardware-acceleration";
2986
3116
  var currentValue = null;
2987
3117
  var hardwareAccelerationOption = {
2988
3118
  name: "Hardware Acceleration",
2989
- cliFlag: cliFlag44,
3119
+ addedIn: "4.0.228",
3120
+ cliFlag: cliFlag47,
2990
3121
  description: () => `
2991
3122
  One of
2992
3123
  ${new Intl.ListFormat("en", { type: "disjunction" }).format(hardwareAccelerationOptions.map((a) => JSON.stringify(a)))}
@@ -2998,10 +3129,10 @@ var hardwareAccelerationOption = {
2998
3129
  docLink: "https://www.remotion.dev/docs/options/hardware-acceleration",
2999
3130
  type: "disable",
3000
3131
  getValue: ({ commandLine }) => {
3001
- if (commandLine[cliFlag44] !== undefined) {
3002
- const value = commandLine[cliFlag44];
3132
+ if (commandLine[cliFlag47] !== undefined) {
3133
+ const value = commandLine[cliFlag47];
3003
3134
  if (!hardwareAccelerationOptions.includes(value)) {
3004
- throw new Error(`Invalid value for --${cliFlag44}: ${value}`);
3135
+ throw new Error(`Invalid value for --${cliFlag47}: ${value}`);
3005
3136
  }
3006
3137
  return {
3007
3138
  source: "cli",
@@ -3021,26 +3152,27 @@ var hardwareAccelerationOption = {
3021
3152
  },
3022
3153
  setConfig: (value) => {
3023
3154
  if (!hardwareAccelerationOptions.includes(value)) {
3024
- throw new Error(`Invalid value for --${cliFlag44}: ${value}`);
3155
+ throw new Error(`Invalid value for --${cliFlag47}: ${value}`);
3025
3156
  }
3026
3157
  currentValue = value;
3027
3158
  },
3028
- id: cliFlag44
3159
+ id: cliFlag47
3029
3160
  };
3030
3161
 
3031
3162
  // src/options/headless.tsx
3032
- import { jsx as jsx41, jsxs as jsxs32, Fragment as Fragment41 } from "react/jsx-runtime";
3163
+ import { jsx as jsx44, jsxs as jsxs32, Fragment as Fragment44 } from "react/jsx-runtime";
3033
3164
  var DEFAULT4 = true;
3034
3165
  var headlessMode = DEFAULT4;
3035
- var cliFlag45 = "disable-headless";
3166
+ var cliFlag48 = "disable-headless";
3036
3167
  var headlessOption = {
3037
3168
  name: "Disable Headless Mode",
3038
- cliFlag: cliFlag45,
3039
- description: () => /* @__PURE__ */ jsxs32(Fragment41, {
3169
+ addedIn: "2.6.5",
3170
+ cliFlag: cliFlag48,
3171
+ description: () => /* @__PURE__ */ jsxs32(Fragment44, {
3040
3172
  children: [
3041
3173
  "If disabled, the render will open an actual Chrome window where you can see the render happen. This requires",
3042
3174
  " ",
3043
- /* @__PURE__ */ jsx41("a", {
3175
+ /* @__PURE__ */ jsx44("a", {
3044
3176
  href: "/docs/miscellaneous/chrome-headless-shell",
3045
3177
  children: "Chrome for Testing"
3046
3178
  }),
@@ -3052,10 +3184,10 @@ var headlessOption = {
3052
3184
  docLink: "https://www.remotion.dev/docs/options/disable-headless",
3053
3185
  type: false,
3054
3186
  getValue: ({ commandLine }) => {
3055
- if (commandLine[cliFlag45] !== undefined && commandLine[cliFlag45] !== null) {
3187
+ if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
3056
3188
  return {
3057
3189
  source: "cli",
3058
- value: !commandLine[cliFlag45]
3190
+ value: !commandLine[cliFlag48]
3059
3191
  };
3060
3192
  }
3061
3193
  if (headlessMode !== DEFAULT4) {
@@ -3072,27 +3204,28 @@ var headlessOption = {
3072
3204
  setConfig: (value) => {
3073
3205
  headlessMode = value;
3074
3206
  },
3075
- id: cliFlag45
3207
+ id: cliFlag48
3076
3208
  };
3077
3209
 
3078
3210
  // src/options/ignore-certificate-errors.tsx
3079
- import { jsx as jsx42, Fragment as Fragment42 } from "react/jsx-runtime";
3211
+ import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
3080
3212
  var ignoreCertificateErrors = false;
3081
- var cliFlag46 = "ignore-certificate-errors";
3213
+ var cliFlag49 = "ignore-certificate-errors";
3082
3214
  var ignoreCertificateErrorsOption = {
3083
3215
  name: "Ignore certificate errors",
3084
- cliFlag: cliFlag46,
3085
- description: () => /* @__PURE__ */ jsx42(Fragment42, {
3216
+ addedIn: "2.6.5",
3217
+ cliFlag: cliFlag49,
3218
+ description: () => /* @__PURE__ */ jsx45(Fragment45, {
3086
3219
  children: "Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored."
3087
3220
  }),
3088
3221
  ssrName: "ignoreCertificateErrors",
3089
3222
  docLink: "https://www.remotion.dev/docs/options/ignore-certificate-errors",
3090
3223
  type: false,
3091
3224
  getValue: ({ commandLine }) => {
3092
- if (commandLine[cliFlag46] !== undefined && commandLine[cliFlag46] !== null) {
3225
+ if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3093
3226
  return {
3094
3227
  source: "cli",
3095
- value: Boolean(commandLine[cliFlag46])
3228
+ value: Boolean(commandLine[cliFlag49])
3096
3229
  };
3097
3230
  }
3098
3231
  if (ignoreCertificateErrors) {
@@ -3109,23 +3242,24 @@ var ignoreCertificateErrorsOption = {
3109
3242
  setConfig: (value) => {
3110
3243
  ignoreCertificateErrors = value;
3111
3244
  },
3112
- id: cliFlag46
3245
+ id: cliFlag49
3113
3246
  };
3114
3247
 
3115
3248
  // src/options/image-sequence.tsx
3116
- import { jsx as jsx43, jsxs as jsxs33, Fragment as Fragment43 } from "react/jsx-runtime";
3117
- var cliFlag47 = "sequence";
3249
+ import { jsx as jsx46, jsxs as jsxs33, Fragment as Fragment46 } from "react/jsx-runtime";
3250
+ var cliFlag50 = "sequence";
3118
3251
  var imageSequence = false;
3119
3252
  var imageSequenceOption = {
3120
3253
  name: "Image Sequence",
3121
- cliFlag: cliFlag47,
3122
- description: () => /* @__PURE__ */ jsxs33(Fragment43, {
3254
+ addedIn: "1.4.0",
3255
+ cliFlag: cliFlag50,
3256
+ description: () => /* @__PURE__ */ jsxs33(Fragment46, {
3123
3257
  children: [
3124
3258
  "Pass this flag to output an image sequence instead of a video. The default image format is JPEG. See",
3125
3259
  " ",
3126
- /* @__PURE__ */ jsx43("a", {
3260
+ /* @__PURE__ */ jsx46("a", {
3127
3261
  href: "/docs/config#setimagesequence",
3128
- children: /* @__PURE__ */ jsx43("code", {
3262
+ children: /* @__PURE__ */ jsx46("code", {
3129
3263
  children: "setImageSequence()"
3130
3264
  })
3131
3265
  }),
@@ -3136,10 +3270,10 @@ var imageSequenceOption = {
3136
3270
  ssrName: null,
3137
3271
  docLink: "https://www.remotion.dev/docs/options/sequence",
3138
3272
  getValue: ({ commandLine }) => {
3139
- if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
3273
+ if (commandLine[cliFlag50] !== undefined && commandLine[cliFlag50] !== null) {
3140
3274
  return {
3141
3275
  source: "cli",
3142
- value: Boolean(commandLine[cliFlag47])
3276
+ value: Boolean(commandLine[cliFlag50])
3143
3277
  };
3144
3278
  }
3145
3279
  return {
@@ -3151,25 +3285,26 @@ var imageSequenceOption = {
3151
3285
  imageSequence = value;
3152
3286
  },
3153
3287
  type: false,
3154
- id: cliFlag47
3288
+ id: cliFlag50
3155
3289
  };
3156
3290
 
3157
3291
  // src/options/image-sequence-pattern.tsx
3158
- import { jsx as jsx44, jsxs as jsxs34, Fragment as Fragment44 } from "react/jsx-runtime";
3159
- var cliFlag48 = "image-sequence-pattern";
3292
+ import { jsx as jsx47, jsxs as jsxs34, Fragment as Fragment47 } from "react/jsx-runtime";
3293
+ var cliFlag51 = "image-sequence-pattern";
3160
3294
  var currentImageSequencePattern = null;
3161
3295
  var imageSequencePatternOption = {
3162
3296
  name: "Image Sequence Pattern",
3163
- cliFlag: cliFlag48,
3297
+ addedIn: "4.0.313",
3298
+ cliFlag: cliFlag51,
3164
3299
  ssrName: "imageSequencePattern",
3165
- description: () => /* @__PURE__ */ jsxs34(Fragment44, {
3300
+ description: () => /* @__PURE__ */ jsxs34(Fragment47, {
3166
3301
  children: [
3167
3302
  "Pattern for naming image sequence files. Supports ",
3168
- /* @__PURE__ */ jsx44("code", {
3303
+ /* @__PURE__ */ jsx47("code", {
3169
3304
  children: "[frame]"
3170
3305
  }),
3171
3306
  " for the zero-padded frame number and ",
3172
- /* @__PURE__ */ jsx44("code", {
3307
+ /* @__PURE__ */ jsx47("code", {
3173
3308
  children: "[ext]"
3174
3309
  }),
3175
3310
  " for the file extension."
@@ -3178,9 +3313,9 @@ var imageSequencePatternOption = {
3178
3313
  docLink: "https://www.remotion.dev/docs/options/image-sequence-pattern",
3179
3314
  type: "string",
3180
3315
  getValue: ({ commandLine }) => {
3181
- if (commandLine[cliFlag48] !== undefined) {
3316
+ if (commandLine[cliFlag51] !== undefined) {
3182
3317
  return {
3183
- value: commandLine[cliFlag48],
3318
+ value: commandLine[cliFlag51],
3184
3319
  source: "cli"
3185
3320
  };
3186
3321
  }
@@ -3201,26 +3336,27 @@ var imageSequencePatternOption = {
3201
3336
  reset: () => {
3202
3337
  currentImageSequencePattern = null;
3203
3338
  },
3204
- id: cliFlag48
3339
+ id: cliFlag51
3205
3340
  };
3206
3341
 
3207
3342
  // src/options/interactivity.tsx
3208
- import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
3343
+ import { jsx as jsx48, Fragment as Fragment48 } from "react/jsx-runtime";
3209
3344
  var interactivityEnabled = true;
3210
3345
  var configuredInteractivityEnabled = null;
3211
- var cliFlag49 = "disable-interactivity";
3346
+ var cliFlag52 = "disable-interactivity";
3212
3347
  var interactivityOption = {
3213
3348
  name: "Disable or enable Studio interactivity",
3214
- cliFlag: cliFlag49,
3215
- description: () => /* @__PURE__ */ jsx45(Fragment45, {
3349
+ addedIn: "4.0.487",
3350
+ cliFlag: cliFlag52,
3351
+ description: () => /* @__PURE__ */ jsx48(Fragment48, {
3216
3352
  children: "Enable or disable interactive editing in the Remotion Studio. When disabled, the Studio keeps previewing and source navigation available, but disables preview outlines, the sequence inspector, visual controls, timeline selection and timeline editing gestures."
3217
3353
  }),
3218
3354
  ssrName: null,
3219
3355
  docLink: "https://www.remotion.dev/docs/options/disable-interactivity",
3220
3356
  type: false,
3221
3357
  getValue: ({ commandLine }) => {
3222
- if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3223
- interactivityEnabled = commandLine[cliFlag49] === false;
3358
+ if (commandLine[cliFlag52] !== undefined && commandLine[cliFlag52] !== null) {
3359
+ interactivityEnabled = commandLine[cliFlag52] === false;
3224
3360
  return {
3225
3361
  value: interactivityEnabled,
3226
3362
  source: "cli"
@@ -3240,26 +3376,27 @@ var interactivityOption = {
3240
3376
  interactivityEnabled = true;
3241
3377
  configuredInteractivityEnabled = null;
3242
3378
  },
3243
- id: cliFlag49
3379
+ id: cliFlag52
3244
3380
  };
3245
3381
 
3246
3382
  // src/options/ipv4.tsx
3247
- import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
3383
+ import { jsx as jsx49, Fragment as Fragment49 } from "react/jsx-runtime";
3248
3384
  var forceIPv4 = false;
3249
- var cliFlag50 = "ipv4";
3385
+ var cliFlag53 = "ipv4";
3250
3386
  var ipv4Option = {
3251
3387
  name: "IPv4",
3252
- cliFlag: cliFlag50,
3253
- description: () => /* @__PURE__ */ jsx46(Fragment46, {
3388
+ addedIn: "4.0.125",
3389
+ cliFlag: cliFlag53,
3390
+ description: () => /* @__PURE__ */ jsx49(Fragment49, {
3254
3391
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
3255
3392
  }),
3256
3393
  ssrName: null,
3257
3394
  docLink: "https://www.remotion.dev/docs/options/ipv4",
3258
3395
  type: false,
3259
3396
  getValue: ({ commandLine }) => {
3260
- if (commandLine[cliFlag50] !== undefined && commandLine[cliFlag50] !== null) {
3397
+ if (commandLine[cliFlag53] !== undefined && commandLine[cliFlag53] !== null) {
3261
3398
  return {
3262
- value: commandLine[cliFlag50],
3399
+ value: commandLine[cliFlag53],
3263
3400
  source: "cli"
3264
3401
  };
3265
3402
  }
@@ -3271,25 +3408,26 @@ var ipv4Option = {
3271
3408
  setConfig(value) {
3272
3409
  forceIPv4 = value;
3273
3410
  },
3274
- id: cliFlag50
3411
+ id: cliFlag53
3275
3412
  };
3276
3413
 
3277
3414
  // src/options/is-production.tsx
3278
- import { jsx as jsx47, jsxs as jsxs35, Fragment as Fragment47 } from "react/jsx-runtime";
3279
- var cliFlag51 = "is-production";
3415
+ import { jsx as jsx50, jsxs as jsxs35, Fragment as Fragment50 } from "react/jsx-runtime";
3416
+ var cliFlag54 = "is-production";
3280
3417
  var currentIsProductionKey = null;
3281
3418
  var isProductionOption = {
3282
3419
  name: "Is Production",
3283
- cliFlag: cliFlag51,
3284
- description: () => /* @__PURE__ */ jsxs35(Fragment47, {
3420
+ addedIn: "4.0.409",
3421
+ cliFlag: cliFlag54,
3422
+ description: () => /* @__PURE__ */ jsxs35(Fragment50, {
3285
3423
  children: [
3286
3424
  "Pass ",
3287
- /* @__PURE__ */ jsx47("code", {
3425
+ /* @__PURE__ */ jsx50("code", {
3288
3426
  children: "false"
3289
3427
  }),
3290
3428
  " if this a development render to not count it as a billable render on remotion.pro. Only can be used in conjuction with",
3291
3429
  " ",
3292
- /* @__PURE__ */ jsx47("code", {
3430
+ /* @__PURE__ */ jsx50("code", {
3293
3431
  children: "licenseKey"
3294
3432
  }),
3295
3433
  "."
@@ -3298,10 +3436,10 @@ var isProductionOption = {
3298
3436
  ssrName: "isProduction",
3299
3437
  docLink: "https://www.remotion.dev/docs/options/is-production",
3300
3438
  getValue: ({ commandLine }) => {
3301
- if (commandLine[cliFlag51] !== undefined && commandLine[cliFlag51] !== null) {
3439
+ if (commandLine[cliFlag54] !== undefined && commandLine[cliFlag54] !== null) {
3302
3440
  return {
3303
3441
  source: "cli",
3304
- value: commandLine[cliFlag51]
3442
+ value: commandLine[cliFlag54]
3305
3443
  };
3306
3444
  }
3307
3445
  if (currentIsProductionKey !== null) {
@@ -3319,11 +3457,11 @@ var isProductionOption = {
3319
3457
  currentIsProductionKey = value;
3320
3458
  },
3321
3459
  type: false,
3322
- id: cliFlag51
3460
+ id: cliFlag54
3323
3461
  };
3324
3462
 
3325
3463
  // src/options/jpeg-quality.tsx
3326
- import { jsx as jsx48, jsxs as jsxs36, Fragment as Fragment48 } from "react/jsx-runtime";
3464
+ import { jsx as jsx51, jsxs as jsxs36, Fragment as Fragment51 } from "react/jsx-runtime";
3327
3465
  var defaultValue = DEFAULT_JPEG_QUALITY;
3328
3466
  var quality = defaultValue;
3329
3467
  var setJpegQuality = (q) => {
@@ -3334,17 +3472,18 @@ var setJpegQuality = (q) => {
3334
3472
  }
3335
3473
  quality = q;
3336
3474
  };
3337
- var cliFlag52 = "jpeg-quality";
3475
+ var cliFlag55 = "jpeg-quality";
3338
3476
  var jpegQualityOption = {
3339
3477
  name: "JPEG Quality",
3340
- cliFlag: cliFlag52,
3341
- description: () => /* @__PURE__ */ jsxs36(Fragment48, {
3478
+ addedIn: "4.0.0",
3479
+ cliFlag: cliFlag55,
3480
+ description: () => /* @__PURE__ */ jsxs36(Fragment51, {
3342
3481
  children: [
3343
3482
  "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80.",
3344
- /* @__PURE__ */ jsx48("br", {}),
3483
+ /* @__PURE__ */ jsx51("br", {}),
3345
3484
  "This option has no effect when",
3346
3485
  " ",
3347
- /* @__PURE__ */ jsx48("a", {
3486
+ /* @__PURE__ */ jsx51("a", {
3348
3487
  href: "/docs/shared-memory-capture",
3349
3488
  children: "shared-memory capture"
3350
3489
  }),
@@ -3356,11 +3495,11 @@ var jpegQualityOption = {
3356
3495
  type: 0,
3357
3496
  setConfig: setJpegQuality,
3358
3497
  getValue: ({ commandLine }) => {
3359
- if (commandLine[cliFlag52] !== undefined) {
3360
- validateJpegQuality(commandLine[cliFlag52]);
3498
+ if (commandLine[cliFlag55] !== undefined) {
3499
+ validateJpegQuality(commandLine[cliFlag55]);
3361
3500
  return {
3362
3501
  source: "cli",
3363
- value: commandLine[cliFlag52]
3502
+ value: commandLine[cliFlag55]
3364
3503
  };
3365
3504
  }
3366
3505
  if (quality !== defaultValue) {
@@ -3374,26 +3513,27 @@ var jpegQualityOption = {
3374
3513
  value: defaultValue
3375
3514
  };
3376
3515
  },
3377
- id: cliFlag52
3516
+ id: cliFlag55
3378
3517
  };
3379
3518
 
3380
3519
  // src/options/keyboard-shortcuts.tsx
3381
- import { jsx as jsx49, Fragment as Fragment49 } from "react/jsx-runtime";
3520
+ import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3382
3521
  var keyboardShortcutsEnabled = true;
3383
3522
  var configuredKeyboardShortcutsEnabled = null;
3384
- var cliFlag53 = "disable-keyboard-shortcuts";
3523
+ var cliFlag56 = "disable-keyboard-shortcuts";
3385
3524
  var keyboardShortcutsOption = {
3386
3525
  name: "Disable or Enable keyboard shortcuts",
3387
- cliFlag: cliFlag53,
3388
- description: () => /* @__PURE__ */ jsx49(Fragment49, {
3526
+ addedIn: "3.2.11",
3527
+ cliFlag: cliFlag56,
3528
+ description: () => /* @__PURE__ */ jsx52(Fragment52, {
3389
3529
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
3390
3530
  }),
3391
3531
  ssrName: null,
3392
3532
  docLink: "https://www.remotion.dev/docs/options/disable-keyboard-shortcuts",
3393
3533
  type: false,
3394
3534
  getValue: ({ commandLine }) => {
3395
- if (commandLine[cliFlag53] !== undefined && commandLine[cliFlag53] !== null) {
3396
- keyboardShortcutsEnabled = commandLine[cliFlag53] === false;
3535
+ if (commandLine[cliFlag56] !== undefined && commandLine[cliFlag56] !== null) {
3536
+ keyboardShortcutsEnabled = commandLine[cliFlag56] === false;
3397
3537
  return {
3398
3538
  value: keyboardShortcutsEnabled,
3399
3539
  source: "cli"
@@ -3413,42 +3553,43 @@ var keyboardShortcutsOption = {
3413
3553
  keyboardShortcutsEnabled = true;
3414
3554
  configuredKeyboardShortcutsEnabled = null;
3415
3555
  },
3416
- id: cliFlag53
3556
+ id: cliFlag56
3417
3557
  };
3418
3558
 
3419
3559
  // src/options/latency-hint.tsx
3420
- import { jsx as jsx50, jsxs as jsxs37, Fragment as Fragment50 } from "react/jsx-runtime";
3421
- var cliFlag54 = "audio-latency-hint";
3560
+ import { jsx as jsx53, jsxs as jsxs37, Fragment as Fragment53 } from "react/jsx-runtime";
3561
+ var cliFlag57 = "audio-latency-hint";
3422
3562
  var value = null;
3423
3563
  var audioLatencyHintOption = {
3424
3564
  name: "Audio Latency Hint",
3425
- cliFlag: cliFlag54,
3426
- description: () => /* @__PURE__ */ jsxs37(Fragment50, {
3565
+ addedIn: "4.0.303",
3566
+ cliFlag: cliFlag57,
3567
+ description: () => /* @__PURE__ */ jsxs37(Fragment53, {
3427
3568
  children: [
3428
3569
  "Sets the",
3429
3570
  " ",
3430
- /* @__PURE__ */ jsx50("a", {
3571
+ /* @__PURE__ */ jsx53("a", {
3431
3572
  href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
3432
3573
  children: "audio latency"
3433
3574
  }),
3434
3575
  " ",
3435
3576
  "hint for the global ",
3436
- /* @__PURE__ */ jsx50("code", {
3577
+ /* @__PURE__ */ jsx53("code", {
3437
3578
  children: "AudioContext"
3438
3579
  }),
3439
3580
  " context that Remotion uses to play audio.",
3440
- /* @__PURE__ */ jsx50("br", {}),
3581
+ /* @__PURE__ */ jsx53("br", {}),
3441
3582
  "Possible values: ",
3442
- /* @__PURE__ */ jsx50("code", {
3583
+ /* @__PURE__ */ jsx53("code", {
3443
3584
  children: "interactive"
3444
3585
  }),
3445
3586
  ", ",
3446
- /* @__PURE__ */ jsx50("code", {
3587
+ /* @__PURE__ */ jsx53("code", {
3447
3588
  children: "balanced"
3448
3589
  }),
3449
3590
  ",",
3450
3591
  " ",
3451
- /* @__PURE__ */ jsx50("code", {
3592
+ /* @__PURE__ */ jsx53("code", {
3452
3593
  children: "playback"
3453
3594
  })
3454
3595
  ]
@@ -3457,7 +3598,7 @@ var audioLatencyHintOption = {
3457
3598
  docLink: "https://www.remotion.dev/docs/options/audio-latency-hint",
3458
3599
  type: "playback",
3459
3600
  getValue: ({ commandLine }) => {
3460
- const val = commandLine[cliFlag54];
3601
+ const val = commandLine[cliFlag57];
3461
3602
  if (typeof val !== "undefined") {
3462
3603
  return { value: val, source: "cli" };
3463
3604
  }
@@ -3473,21 +3614,22 @@ var audioLatencyHintOption = {
3473
3614
  reset: () => {
3474
3615
  value = null;
3475
3616
  },
3476
- id: cliFlag54
3617
+ id: cliFlag57
3477
3618
  };
3478
3619
 
3479
3620
  // src/options/license-key.tsx
3480
- import { jsx as jsx51, jsxs as jsxs38, Fragment as Fragment51 } from "react/jsx-runtime";
3621
+ import { jsx as jsx54, jsxs as jsxs38, Fragment as Fragment54 } from "react/jsx-runtime";
3481
3622
  var currentLicenseKey = null;
3482
- var cliFlag55 = "license-key";
3623
+ var cliFlag58 = "license-key";
3483
3624
  var licenseKeyOption = {
3484
3625
  name: "License key",
3485
- cliFlag: cliFlag55,
3486
- description: () => /* @__PURE__ */ jsxs38(Fragment51, {
3626
+ addedIn: "4.0.409",
3627
+ cliFlag: cliFlag58,
3628
+ description: () => /* @__PURE__ */ jsxs38(Fragment54, {
3487
3629
  children: [
3488
3630
  "License key for sending a usage event using",
3489
3631
  " ",
3490
- /* @__PURE__ */ jsx51("code", {
3632
+ /* @__PURE__ */ jsx54("code", {
3491
3633
  children: "@remotion/licensing"
3492
3634
  }),
3493
3635
  "."
@@ -3497,10 +3639,10 @@ var licenseKeyOption = {
3497
3639
  docLink: "https://www.remotion.dev/docs/options/license-key",
3498
3640
  type: null,
3499
3641
  getValue: ({ commandLine }) => {
3500
- if (commandLine[cliFlag55] !== undefined) {
3642
+ if (commandLine[cliFlag58] !== undefined) {
3501
3643
  return {
3502
3644
  source: "cli",
3503
- value: commandLine[cliFlag55]
3645
+ value: commandLine[cliFlag58]
3504
3646
  };
3505
3647
  }
3506
3648
  return {
@@ -3508,51 +3650,52 @@ var licenseKeyOption = {
3508
3650
  value: currentLicenseKey
3509
3651
  };
3510
3652
  },
3511
- setConfig: (value2) => {
3512
- currentLicenseKey = value2;
3653
+ setConfig: (value) => {
3654
+ currentLicenseKey = value;
3513
3655
  },
3514
- id: cliFlag55
3656
+ id: cliFlag58
3515
3657
  };
3516
3658
 
3517
3659
  // src/options/log-level.tsx
3518
- import { jsx as jsx52, jsxs as jsxs39, Fragment as Fragment52 } from "react/jsx-runtime";
3660
+ import { jsx as jsx55, jsxs as jsxs39, Fragment as Fragment55 } from "react/jsx-runtime";
3519
3661
  var logLevel = "info";
3520
3662
  var configuredLogLevel = null;
3521
- var cliFlag56 = "log";
3663
+ var cliFlag59 = "log";
3522
3664
  var logLevelOption = {
3523
- cliFlag: cliFlag56,
3665
+ cliFlag: cliFlag59,
3524
3666
  name: "Log Level",
3667
+ addedIn: "2.0.1",
3525
3668
  ssrName: "logLevel",
3526
- description: () => /* @__PURE__ */ jsxs39(Fragment52, {
3669
+ description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3527
3670
  children: [
3528
3671
  "One of ",
3529
- /* @__PURE__ */ jsx52("code", {
3672
+ /* @__PURE__ */ jsx55("code", {
3530
3673
  children: "trace"
3531
3674
  }),
3532
3675
  ", ",
3533
- /* @__PURE__ */ jsx52("code", {
3676
+ /* @__PURE__ */ jsx55("code", {
3534
3677
  children: "verbose"
3535
3678
  }),
3536
3679
  ", ",
3537
- /* @__PURE__ */ jsx52("code", {
3680
+ /* @__PURE__ */ jsx55("code", {
3538
3681
  children: "info"
3539
3682
  }),
3540
3683
  ",",
3541
3684
  " ",
3542
- /* @__PURE__ */ jsx52("code", {
3685
+ /* @__PURE__ */ jsx55("code", {
3543
3686
  children: "warn"
3544
3687
  }),
3545
3688
  ", ",
3546
- /* @__PURE__ */ jsx52("code", {
3689
+ /* @__PURE__ */ jsx55("code", {
3547
3690
  children: "error"
3548
3691
  }),
3549
3692
  ".",
3550
- /* @__PURE__ */ jsx52("br", {}),
3693
+ /* @__PURE__ */ jsx55("br", {}),
3551
3694
  " Determines how much info is being logged to the console.",
3552
- /* @__PURE__ */ jsx52("br", {}),
3553
- /* @__PURE__ */ jsx52("br", {}),
3695
+ /* @__PURE__ */ jsx55("br", {}),
3696
+ /* @__PURE__ */ jsx55("br", {}),
3554
3697
  " Default ",
3555
- /* @__PURE__ */ jsx52("code", {
3698
+ /* @__PURE__ */ jsx55("code", {
3556
3699
  children: "info"
3557
3700
  }),
3558
3701
  "."
@@ -3560,11 +3703,11 @@ var logLevelOption = {
3560
3703
  }),
3561
3704
  docLink: "https://www.remotion.dev/docs/options/log",
3562
3705
  getValue: ({ commandLine }) => {
3563
- if (commandLine[cliFlag56]) {
3564
- if (!isValidLogLevel(commandLine[cliFlag56])) {
3706
+ if (commandLine[cliFlag59]) {
3707
+ if (!isValidLogLevel(commandLine[cliFlag59])) {
3565
3708
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
3566
3709
  }
3567
- return { value: commandLine[cliFlag56], source: "cli" };
3710
+ return { value: commandLine[cliFlag59], source: "cli" };
3568
3711
  }
3569
3712
  if (logLevel !== "info") {
3570
3713
  return { value: logLevel, source: "config" };
@@ -3581,23 +3724,24 @@ var logLevelOption = {
3581
3724
  configuredLogLevel = null;
3582
3725
  },
3583
3726
  type: "error",
3584
- id: cliFlag56
3727
+ id: cliFlag59
3585
3728
  };
3586
3729
 
3587
3730
  // src/options/metadata.tsx
3588
- import { jsx as jsx53, jsxs as jsxs40, Fragment as Fragment53 } from "react/jsx-runtime";
3731
+ import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
3589
3732
  var metadata = {};
3590
- var cliFlag57 = "metadata";
3733
+ var cliFlag60 = "metadata";
3591
3734
  var metadataOption = {
3592
3735
  name: "Metadata",
3593
- cliFlag: cliFlag57,
3736
+ addedIn: "4.0.216",
3737
+ cliFlag: cliFlag60,
3594
3738
  description: (mode) => {
3595
3739
  if (mode === "ssr") {
3596
- return /* @__PURE__ */ jsxs40(Fragment53, {
3740
+ return /* @__PURE__ */ jsxs40(Fragment56, {
3597
3741
  children: [
3598
3742
  "An object containing metadata to be embedded in the video. See",
3599
3743
  " ",
3600
- /* @__PURE__ */ jsx53("a", {
3744
+ /* @__PURE__ */ jsx56("a", {
3601
3745
  href: "/docs/metadata",
3602
3746
  children: "here"
3603
3747
  }),
@@ -3605,18 +3749,18 @@ var metadataOption = {
3605
3749
  ]
3606
3750
  });
3607
3751
  }
3608
- return /* @__PURE__ */ jsxs40(Fragment53, {
3752
+ return /* @__PURE__ */ jsxs40(Fragment56, {
3609
3753
  children: [
3610
3754
  "Metadata to be embedded in the video. See",
3611
3755
  " ",
3612
- /* @__PURE__ */ jsx53("a", {
3756
+ /* @__PURE__ */ jsx56("a", {
3613
3757
  href: "/docs/metadata",
3614
3758
  children: "here"
3615
3759
  }),
3616
3760
  " for which metadata is accepted.",
3617
- /* @__PURE__ */ jsx53("br", {}),
3761
+ /* @__PURE__ */ jsx56("br", {}),
3618
3762
  "The parameter must be in the format of ",
3619
- /* @__PURE__ */ jsx53("code", {
3763
+ /* @__PURE__ */ jsx56("code", {
3620
3764
  children: "--metadata key=value"
3621
3765
  }),
3622
3766
  " ",
@@ -3627,8 +3771,8 @@ var metadataOption = {
3627
3771
  docLink: "https://www.remotion.dev/docs/options/metadata",
3628
3772
  type: {},
3629
3773
  getValue: ({ commandLine }) => {
3630
- if (commandLine[cliFlag57] !== undefined) {
3631
- const val = commandLine[cliFlag57];
3774
+ if (commandLine[cliFlag60] !== undefined) {
3775
+ const val = commandLine[cliFlag60];
3632
3776
  const array = typeof val === "string" ? [val] : val;
3633
3777
  const keyValues = array.map((a) => {
3634
3778
  if (!a.includes("=")) {
@@ -3640,10 +3784,10 @@ var metadataOption = {
3640
3784
  }
3641
3785
  return [splitted[0], splitted[1]];
3642
3786
  });
3643
- const value2 = Object.fromEntries(keyValues);
3787
+ const value = Object.fromEntries(keyValues);
3644
3788
  return {
3645
3789
  source: "config",
3646
- value: value2
3790
+ value
3647
3791
  };
3648
3792
  }
3649
3793
  return {
@@ -3655,28 +3799,29 @@ var metadataOption = {
3655
3799
  metadata = newMetadata;
3656
3800
  },
3657
3801
  ssrName: "metadata",
3658
- id: cliFlag57
3802
+ id: cliFlag60
3659
3803
  };
3660
3804
 
3661
3805
  // src/options/mute.tsx
3662
- import { jsx as jsx54, Fragment as Fragment54 } from "react/jsx-runtime";
3806
+ import { jsx as jsx57, Fragment as Fragment57 } from "react/jsx-runtime";
3663
3807
  var DEFAULT_MUTED_STATE = false;
3664
3808
  var mutedState = DEFAULT_MUTED_STATE;
3665
- var cliFlag58 = "muted";
3809
+ var cliFlag61 = "muted";
3666
3810
  var mutedOption = {
3667
3811
  name: "Muted",
3668
- cliFlag: cliFlag58,
3669
- description: () => /* @__PURE__ */ jsx54(Fragment54, {
3812
+ addedIn: "3.2.1",
3813
+ cliFlag: cliFlag61,
3814
+ description: () => /* @__PURE__ */ jsx57(Fragment57, {
3670
3815
  children: "The Audio of the video will be omitted."
3671
3816
  }),
3672
3817
  ssrName: "muted",
3673
3818
  docLink: "https://www.remotion.dev/docs/options/muted",
3674
3819
  type: false,
3675
3820
  getValue: ({ commandLine }) => {
3676
- if (commandLine[cliFlag58] !== null) {
3821
+ if (commandLine[cliFlag61] !== null) {
3677
3822
  return {
3678
3823
  source: "cli",
3679
- value: commandLine[cliFlag58]
3824
+ value: commandLine[cliFlag61]
3680
3825
  };
3681
3826
  }
3682
3827
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -3696,17 +3841,18 @@ var mutedOption = {
3696
3841
  reset: () => {
3697
3842
  mutedState = DEFAULT_MUTED_STATE;
3698
3843
  },
3699
- id: cliFlag58
3844
+ id: cliFlag61
3700
3845
  };
3701
3846
 
3702
3847
  // src/options/no-open.tsx
3703
- import { jsx as jsx55, Fragment as Fragment55 } from "react/jsx-runtime";
3848
+ import { jsx as jsx58, Fragment as Fragment58 } from "react/jsx-runtime";
3704
3849
  var shouldOpenBrowser = true;
3705
- var cliFlag59 = "no-open";
3850
+ var cliFlag62 = "no-open";
3706
3851
  var noOpenOption = {
3707
3852
  name: "Disable browser auto-open",
3708
- cliFlag: cliFlag59,
3709
- description: () => /* @__PURE__ */ jsx55(Fragment55, {
3853
+ addedIn: "3.3.19",
3854
+ cliFlag: cliFlag62,
3855
+ description: () => /* @__PURE__ */ jsx58(Fragment58, {
3710
3856
  children: "If specified, Remotion will not open a browser window when starting the Studio."
3711
3857
  }),
3712
3858
  ssrName: null,
@@ -3728,30 +3874,31 @@ var noOpenOption = {
3728
3874
  reset: () => {
3729
3875
  shouldOpenBrowser = true;
3730
3876
  },
3731
- id: cliFlag59
3877
+ id: cliFlag62
3732
3878
  };
3733
3879
 
3734
3880
  // src/options/number-of-gif-loops.tsx
3735
- import { jsx as jsx56, jsxs as jsxs41, Fragment as Fragment56 } from "react/jsx-runtime";
3881
+ import { jsx as jsx59, jsxs as jsxs41, Fragment as Fragment59 } from "react/jsx-runtime";
3736
3882
  var currentLoop = null;
3737
3883
  var validate = (newLoop) => {
3738
3884
  if (newLoop !== null && typeof newLoop !== "number") {
3739
3885
  throw new Error("--number-of-gif-loops flag must be a number.");
3740
3886
  }
3741
3887
  };
3742
- var cliFlag60 = "number-of-gif-loops";
3888
+ var cliFlag63 = "number-of-gif-loops";
3743
3889
  var numberOfGifLoopsOption = {
3744
3890
  name: "Number of GIF loops",
3745
- cliFlag: cliFlag60,
3891
+ addedIn: "3.1.0",
3892
+ cliFlag: cliFlag63,
3746
3893
  description: () => {
3747
- return /* @__PURE__ */ jsxs41(Fragment56, {
3894
+ return /* @__PURE__ */ jsxs41(Fragment59, {
3748
3895
  children: [
3749
3896
  "Allows you to set the number of loops as follows:",
3750
3897
  /* @__PURE__ */ jsxs41("ul", {
3751
3898
  children: [
3752
3899
  /* @__PURE__ */ jsxs41("li", {
3753
3900
  children: [
3754
- /* @__PURE__ */ jsx56("code", {
3901
+ /* @__PURE__ */ jsx59("code", {
3755
3902
  children: "null"
3756
3903
  }),
3757
3904
  " (or omitting in the CLI) plays the GIF indefinitely."
@@ -3759,7 +3906,7 @@ var numberOfGifLoopsOption = {
3759
3906
  }),
3760
3907
  /* @__PURE__ */ jsxs41("li", {
3761
3908
  children: [
3762
- /* @__PURE__ */ jsx56("code", {
3909
+ /* @__PURE__ */ jsx59("code", {
3763
3910
  children: "0"
3764
3911
  }),
3765
3912
  " disables looping"
@@ -3767,7 +3914,7 @@ var numberOfGifLoopsOption = {
3767
3914
  }),
3768
3915
  /* @__PURE__ */ jsxs41("li", {
3769
3916
  children: [
3770
- /* @__PURE__ */ jsx56("code", {
3917
+ /* @__PURE__ */ jsx59("code", {
3771
3918
  children: "1"
3772
3919
  }),
3773
3920
  " loops the GIF once (plays twice in total)"
@@ -3775,7 +3922,7 @@ var numberOfGifLoopsOption = {
3775
3922
  }),
3776
3923
  /* @__PURE__ */ jsxs41("li", {
3777
3924
  children: [
3778
- /* @__PURE__ */ jsx56("code", {
3925
+ /* @__PURE__ */ jsx59("code", {
3779
3926
  children: "2"
3780
3927
  }),
3781
3928
  " loops the GIF twice (plays three times in total) and so on."
@@ -3790,10 +3937,10 @@ var numberOfGifLoopsOption = {
3790
3937
  docLink: "https://www.remotion.dev/docs/options/number-of-gif-loops",
3791
3938
  type: 0,
3792
3939
  getValue: ({ commandLine }) => {
3793
- if (commandLine[cliFlag60] !== undefined) {
3794
- validate(commandLine[cliFlag60]);
3940
+ if (commandLine[cliFlag63] !== undefined) {
3941
+ validate(commandLine[cliFlag63]);
3795
3942
  return {
3796
- value: commandLine[cliFlag60],
3943
+ value: commandLine[cliFlag63],
3797
3944
  source: "cli"
3798
3945
  };
3799
3946
  }
@@ -3812,22 +3959,23 @@ var numberOfGifLoopsOption = {
3812
3959
  validate(newLoop);
3813
3960
  currentLoop = newLoop;
3814
3961
  },
3815
- id: cliFlag60
3962
+ id: cliFlag63
3816
3963
  };
3817
3964
 
3818
3965
  // src/options/number-of-shared-audio-tags.tsx
3819
- import { jsx as jsx57, jsxs as jsxs42, Fragment as Fragment57 } from "react/jsx-runtime";
3966
+ import { jsx as jsx60, jsxs as jsxs42, Fragment as Fragment60 } from "react/jsx-runtime";
3820
3967
  var numberOfSharedAudioTags = 0;
3821
3968
  var configuredNumberOfSharedAudioTags = null;
3822
- var cliFlag61 = "number-of-shared-audio-tags";
3969
+ var cliFlag64 = "number-of-shared-audio-tags";
3823
3970
  var numberOfSharedAudioTagsOption = {
3824
3971
  name: "Number of shared audio tags",
3825
- cliFlag: cliFlag61,
3826
- description: () => /* @__PURE__ */ jsxs42(Fragment57, {
3972
+ addedIn: "3.3.2",
3973
+ cliFlag: cliFlag64,
3974
+ description: () => /* @__PURE__ */ jsxs42(Fragment60, {
3827
3975
  children: [
3828
3976
  "Set number of shared audio tags. See",
3829
3977
  " ",
3830
- /* @__PURE__ */ jsx57("a", {
3978
+ /* @__PURE__ */ jsx60("a", {
3831
3979
  href: "https://www.remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop",
3832
3980
  children: "Using the numberOfSharedAudioTags prop"
3833
3981
  }),
@@ -3839,9 +3987,9 @@ var numberOfSharedAudioTagsOption = {
3839
3987
  docLink: "https://www.remotion.dev/docs/options/number-of-shared-audio-tags",
3840
3988
  type: 0,
3841
3989
  getValue: ({ commandLine }) => {
3842
- if (commandLine[cliFlag61] !== undefined) {
3990
+ if (commandLine[cliFlag64] !== undefined) {
3843
3991
  return {
3844
- value: commandLine[cliFlag61],
3992
+ value: commandLine[cliFlag64],
3845
3993
  source: "cli"
3846
3994
  };
3847
3995
  }
@@ -3850,48 +3998,49 @@ var numberOfSharedAudioTagsOption = {
3850
3998
  source: "config"
3851
3999
  };
3852
4000
  },
3853
- setConfig(value2) {
3854
- numberOfSharedAudioTags = value2;
3855
- configuredNumberOfSharedAudioTags = value2;
4001
+ setConfig(value) {
4002
+ numberOfSharedAudioTags = value;
4003
+ configuredNumberOfSharedAudioTags = value;
3856
4004
  },
3857
4005
  getConfigValue: () => configuredNumberOfSharedAudioTags,
3858
4006
  reset: () => {
3859
4007
  numberOfSharedAudioTags = 0;
3860
4008
  configuredNumberOfSharedAudioTags = null;
3861
4009
  },
3862
- id: cliFlag61
4010
+ id: cliFlag64
3863
4011
  };
3864
4012
 
3865
4013
  // src/options/offthreadvideo-cache-size.tsx
3866
- import { jsx as jsx58, jsxs as jsxs43, Fragment as Fragment58 } from "react/jsx-runtime";
4014
+ import { jsx as jsx61, jsxs as jsxs43, Fragment as Fragment61 } from "react/jsx-runtime";
3867
4015
  var offthreadVideoCacheSizeInBytes = null;
3868
- var cliFlag62 = "offthreadvideo-cache-size-in-bytes";
4016
+ var cliFlag65 = "offthreadvideo-cache-size-in-bytes";
3869
4017
  var offthreadVideoCacheSizeInBytesOption = {
3870
4018
  name: "OffthreadVideo cache size",
3871
- cliFlag: cliFlag62,
3872
- description: () => /* @__PURE__ */ jsxs43(Fragment58, {
4019
+ addedIn: "4.0.23",
4020
+ cliFlag: cliFlag65,
4021
+ description: () => /* @__PURE__ */ jsxs43(Fragment61, {
3873
4022
  children: [
3874
4023
  "From v4.0, Remotion has a cache for",
3875
4024
  " ",
3876
- /* @__PURE__ */ jsx58("a", {
4025
+ /* @__PURE__ */ jsx61("a", {
3877
4026
  href: "https://remotion.dev/docs/offthreadvideo",
3878
- children: /* @__PURE__ */ jsx58("code", {
4027
+ children: /* @__PURE__ */ jsx61("code", {
3879
4028
  children: "<OffthreadVideo>"
3880
4029
  })
3881
4030
  }),
3882
4031
  " ",
3883
4032
  "frames. The default is ",
3884
- /* @__PURE__ */ jsx58("code", {
4033
+ /* @__PURE__ */ jsx61("code", {
3885
4034
  children: "null"
3886
4035
  }),
3887
4036
  ", corresponding to half of the system memory available when the render starts.",
3888
- /* @__PURE__ */ jsx58("br", {}),
4037
+ /* @__PURE__ */ jsx61("br", {}),
3889
4038
  " This option allows to override the size of the cache. The higher it is, the faster the render will be, but the more memory will be used.",
3890
- /* @__PURE__ */ jsx58("br", {}),
4039
+ /* @__PURE__ */ jsx61("br", {}),
3891
4040
  "The used value will be printed when running in verbose mode.",
3892
- /* @__PURE__ */ jsx58("br", {}),
4041
+ /* @__PURE__ */ jsx61("br", {}),
3893
4042
  "Default: ",
3894
- /* @__PURE__ */ jsx58("code", {
4043
+ /* @__PURE__ */ jsx61("code", {
3895
4044
  children: "null"
3896
4045
  })
3897
4046
  ]
@@ -3900,10 +4049,10 @@ var offthreadVideoCacheSizeInBytesOption = {
3900
4049
  docLink: "https://www.remotion.dev/docs/options/offthreadvideo-cache-size-in-bytes",
3901
4050
  type: 0,
3902
4051
  getValue: ({ commandLine }) => {
3903
- if (commandLine[cliFlag62] !== undefined) {
4052
+ if (commandLine[cliFlag65] !== undefined) {
3904
4053
  return {
3905
4054
  source: "cli",
3906
- value: commandLine[cliFlag62]
4055
+ value: commandLine[cliFlag65]
3907
4056
  };
3908
4057
  }
3909
4058
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -3920,22 +4069,23 @@ var offthreadVideoCacheSizeInBytesOption = {
3920
4069
  setConfig: (size) => {
3921
4070
  offthreadVideoCacheSizeInBytes = size ?? null;
3922
4071
  },
3923
- id: cliFlag62
4072
+ id: cliFlag65
3924
4073
  };
3925
4074
 
3926
4075
  // src/options/offthreadvideo-threads.tsx
3927
- import { jsx as jsx59, jsxs as jsxs44, Fragment as Fragment59 } from "react/jsx-runtime";
4076
+ import { jsx as jsx62, jsxs as jsxs44, Fragment as Fragment62 } from "react/jsx-runtime";
3928
4077
  var value2 = null;
3929
- var cliFlag63 = "offthreadvideo-video-threads";
4078
+ var cliFlag66 = "offthreadvideo-video-threads";
3930
4079
  var offthreadVideoThreadsOption = {
3931
4080
  name: "OffthreadVideo threads",
3932
- cliFlag: cliFlag63,
3933
- description: () => /* @__PURE__ */ jsxs44(Fragment59, {
4081
+ addedIn: "4.0.261",
4082
+ cliFlag: cliFlag66,
4083
+ description: () => /* @__PURE__ */ jsxs44(Fragment62, {
3934
4084
  children: [
3935
4085
  "The number of threads that",
3936
- /* @__PURE__ */ jsx59("a", {
4086
+ /* @__PURE__ */ jsx62("a", {
3937
4087
  href: "https://remotion.dev/docs/offthreadvideo",
3938
- children: /* @__PURE__ */ jsx59("code", {
4088
+ children: /* @__PURE__ */ jsx62("code", {
3939
4089
  children: "<OffthreadVideo>"
3940
4090
  })
3941
4091
  }),
@@ -3950,10 +4100,10 @@ var offthreadVideoThreadsOption = {
3950
4100
  docLink: "https://www.remotion.dev/docs/options/offthreadvideo-video-threads",
3951
4101
  type: 0,
3952
4102
  getValue: ({ commandLine }) => {
3953
- if (commandLine[cliFlag63] !== undefined) {
4103
+ if (commandLine[cliFlag66] !== undefined) {
3954
4104
  return {
3955
4105
  source: "cli",
3956
- value: commandLine[cliFlag63]
4106
+ value: commandLine[cliFlag66]
3957
4107
  };
3958
4108
  }
3959
4109
  if (value2 !== null) {
@@ -3970,21 +4120,22 @@ var offthreadVideoThreadsOption = {
3970
4120
  setConfig: (size) => {
3971
4121
  value2 = size ?? null;
3972
4122
  },
3973
- id: cliFlag63
4123
+ id: cliFlag66
3974
4124
  };
3975
4125
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
3976
4126
 
3977
4127
  // src/options/on-browser-download.tsx
3978
- import { jsx as jsx60, jsxs as jsxs45, Fragment as Fragment60 } from "react/jsx-runtime";
3979
- var cliFlag64 = "on-browser-download";
4128
+ import { jsx as jsx63, jsxs as jsxs45, Fragment as Fragment63 } from "react/jsx-runtime";
4129
+ var cliFlag67 = "on-browser-download";
3980
4130
  var onBrowserDownloadOption = {
3981
4131
  name: "Browser download callback function",
3982
- cliFlag: cliFlag64,
3983
- description: () => /* @__PURE__ */ jsxs45(Fragment60, {
4132
+ addedIn: "4.0.137",
4133
+ cliFlag: cliFlag67,
4134
+ description: () => /* @__PURE__ */ jsxs45(Fragment63, {
3984
4135
  children: [
3985
4136
  "Gets called when no compatible local browser is detected on the system and this API needs to download a browser. Return a callback to observe progress.",
3986
4137
  " ",
3987
- /* @__PURE__ */ jsx60("a", {
4138
+ /* @__PURE__ */ jsx63("a", {
3988
4139
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
3989
4140
  children: "See here for how to use this option."
3990
4141
  })
@@ -3999,26 +4150,27 @@ var onBrowserDownloadOption = {
3999
4150
  setConfig: () => {
4000
4151
  throw new Error("does not support config file");
4001
4152
  },
4002
- id: cliFlag64
4153
+ id: cliFlag67
4003
4154
  };
4004
4155
 
4005
4156
  // src/options/out-dir.tsx
4006
- import { jsx as jsx61, jsxs as jsxs46, Fragment as Fragment61 } from "react/jsx-runtime";
4007
- var cliFlag65 = "out-dir";
4157
+ import { jsx as jsx64, jsxs as jsxs46, Fragment as Fragment64 } from "react/jsx-runtime";
4158
+ var cliFlag68 = "out-dir";
4008
4159
  var currentOutDir = null;
4009
4160
  var outDirOption = {
4010
4161
  name: "Output Directory",
4011
- cliFlag: cliFlag65,
4162
+ addedIn: "4.0.426",
4163
+ cliFlag: cliFlag68,
4012
4164
  description: () => {
4013
- return /* @__PURE__ */ jsxs46(Fragment61, {
4165
+ return /* @__PURE__ */ jsxs46(Fragment64, {
4014
4166
  children: [
4015
4167
  "Define the location of the resulting bundle. By default it is a folder called ",
4016
- /* @__PURE__ */ jsx61("code", {
4168
+ /* @__PURE__ */ jsx64("code", {
4017
4169
  children: "build"
4018
4170
  }),
4019
4171
  ", adjacent to the",
4020
4172
  " ",
4021
- /* @__PURE__ */ jsx61("a", {
4173
+ /* @__PURE__ */ jsx64("a", {
4022
4174
  href: "/docs/terminology/remotion-root",
4023
4175
  children: "Remotion Root"
4024
4176
  }),
@@ -4029,10 +4181,10 @@ var outDirOption = {
4029
4181
  ssrName: "outDir",
4030
4182
  docLink: "https://www.remotion.dev/docs/options/out-dir",
4031
4183
  getValue: ({ commandLine }) => {
4032
- if (commandLine[cliFlag65] !== undefined) {
4184
+ if (commandLine[cliFlag68] !== undefined) {
4033
4185
  return {
4034
4186
  source: "cli",
4035
- value: commandLine[cliFlag65]
4187
+ value: commandLine[cliFlag68]
4036
4188
  };
4037
4189
  }
4038
4190
  if (currentOutDir !== null) {
@@ -4046,42 +4198,43 @@ var outDirOption = {
4046
4198
  value: null
4047
4199
  };
4048
4200
  },
4049
- setConfig: (value3) => {
4050
- currentOutDir = value3;
4201
+ setConfig: (value) => {
4202
+ currentOutDir = value;
4051
4203
  },
4052
4204
  type: "",
4053
- id: cliFlag65
4205
+ id: cliFlag68
4054
4206
  };
4055
4207
 
4056
4208
  // src/validate.ts
4057
- import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4058
- var validateFps = NoReactInternals4.validateFps;
4059
- var validateDimension = NoReactInternals4.validateDimension;
4060
- var validateDurationInFrames = NoReactInternals4.validateDurationInFrames;
4209
+ import { NoReactInternals as NoReactInternals6 } from "remotion/no-react";
4210
+ var validateFps = NoReactInternals6.validateFps;
4211
+ var validateDimension = NoReactInternals6.validateDimension;
4212
+ var validateDurationInFrames = NoReactInternals6.validateDurationInFrames;
4061
4213
 
4062
4214
  // src/options/override-duration.tsx
4063
- import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
4215
+ import { jsx as jsx65, Fragment as Fragment65 } from "react/jsx-runtime";
4064
4216
  var currentDuration = null;
4065
- var cliFlag66 = "duration";
4217
+ var cliFlag69 = "duration";
4066
4218
  var overrideDurationOption = {
4067
4219
  name: "Override Duration",
4068
- cliFlag: cliFlag66,
4069
- description: () => /* @__PURE__ */ jsx62(Fragment62, {
4220
+ addedIn: "4.0.424",
4221
+ cliFlag: cliFlag69,
4222
+ description: () => /* @__PURE__ */ jsx65(Fragment65, {
4070
4223
  children: "Overrides the duration in frames of the composition."
4071
4224
  }),
4072
4225
  ssrName: null,
4073
4226
  docLink: "https://www.remotion.dev/docs/options/duration",
4074
4227
  type: null,
4075
4228
  getValue: ({ commandLine }) => {
4076
- if (commandLine[cliFlag66] !== undefined) {
4077
- const value3 = commandLine[cliFlag66];
4078
- validateDurationInFrames(value3, {
4229
+ if (commandLine[cliFlag69] !== undefined) {
4230
+ const value = commandLine[cliFlag69];
4231
+ validateDurationInFrames(value, {
4079
4232
  component: "in --duration flag",
4080
4233
  allowFloats: false
4081
4234
  });
4082
4235
  return {
4083
4236
  source: "cli",
4084
- value: value3
4237
+ value
4085
4238
  };
4086
4239
  }
4087
4240
  if (currentDuration !== null) {
@@ -4105,29 +4258,30 @@ var overrideDurationOption = {
4105
4258
  reset: () => {
4106
4259
  currentDuration = null;
4107
4260
  },
4108
- id: cliFlag66
4261
+ id: cliFlag69
4109
4262
  };
4110
4263
 
4111
4264
  // src/options/override-fps.tsx
4112
- import { jsx as jsx63, Fragment as Fragment63 } from "react/jsx-runtime";
4265
+ import { jsx as jsx66, Fragment as Fragment66 } from "react/jsx-runtime";
4113
4266
  var currentFps = null;
4114
- var cliFlag67 = "fps";
4267
+ var cliFlag70 = "fps";
4115
4268
  var overrideFpsOption = {
4116
4269
  name: "Override FPS",
4117
- cliFlag: cliFlag67,
4118
- description: () => /* @__PURE__ */ jsx63(Fragment63, {
4270
+ addedIn: "4.0.424",
4271
+ cliFlag: cliFlag70,
4272
+ description: () => /* @__PURE__ */ jsx66(Fragment66, {
4119
4273
  children: "Overrides the frames per second of the composition."
4120
4274
  }),
4121
4275
  ssrName: null,
4122
4276
  docLink: "https://www.remotion.dev/docs/options/fps",
4123
4277
  type: null,
4124
4278
  getValue: ({ commandLine }) => {
4125
- if (commandLine[cliFlag67] !== undefined) {
4126
- const value3 = commandLine[cliFlag67];
4127
- validateFps(value3, "in --fps flag", false);
4279
+ if (commandLine[cliFlag70] !== undefined) {
4280
+ const value = commandLine[cliFlag70];
4281
+ validateFps(value, "in --fps flag", false);
4128
4282
  return {
4129
4283
  source: "cli",
4130
- value: value3
4284
+ value
4131
4285
  };
4132
4286
  }
4133
4287
  if (currentFps !== null) {
@@ -4148,29 +4302,30 @@ var overrideFpsOption = {
4148
4302
  reset: () => {
4149
4303
  currentFps = null;
4150
4304
  },
4151
- id: cliFlag67
4305
+ id: cliFlag70
4152
4306
  };
4153
4307
 
4154
4308
  // src/options/override-height.tsx
4155
- import { jsx as jsx64, Fragment as Fragment64 } from "react/jsx-runtime";
4309
+ import { jsx as jsx67, Fragment as Fragment67 } from "react/jsx-runtime";
4156
4310
  var currentHeight = null;
4157
- var cliFlag68 = "height";
4311
+ var cliFlag71 = "height";
4158
4312
  var overrideHeightOption = {
4159
4313
  name: "Override Height",
4160
- cliFlag: cliFlag68,
4161
- description: () => /* @__PURE__ */ jsx64(Fragment64, {
4314
+ addedIn: "3.2.40",
4315
+ cliFlag: cliFlag71,
4316
+ description: () => /* @__PURE__ */ jsx67(Fragment67, {
4162
4317
  children: "Overrides the height of the composition."
4163
4318
  }),
4164
4319
  ssrName: null,
4165
4320
  docLink: "https://www.remotion.dev/docs/options/height",
4166
4321
  type: null,
4167
4322
  getValue: ({ commandLine }) => {
4168
- if (commandLine[cliFlag68] !== undefined) {
4169
- const value3 = commandLine[cliFlag68];
4170
- validateDimension(value3, "height", "in --height flag");
4323
+ if (commandLine[cliFlag71] !== undefined) {
4324
+ const value = commandLine[cliFlag71];
4325
+ validateDimension(value, "height", "in --height flag");
4171
4326
  return {
4172
4327
  source: "cli",
4173
- value: value3
4328
+ value
4174
4329
  };
4175
4330
  }
4176
4331
  if (currentHeight !== null) {
@@ -4191,29 +4346,30 @@ var overrideHeightOption = {
4191
4346
  reset: () => {
4192
4347
  currentHeight = null;
4193
4348
  },
4194
- id: cliFlag68
4349
+ id: cliFlag71
4195
4350
  };
4196
4351
 
4197
4352
  // src/options/override-width.tsx
4198
- import { jsx as jsx65, Fragment as Fragment65 } from "react/jsx-runtime";
4353
+ import { jsx as jsx68, Fragment as Fragment68 } from "react/jsx-runtime";
4199
4354
  var currentWidth = null;
4200
- var cliFlag69 = "width";
4355
+ var cliFlag72 = "width";
4201
4356
  var overrideWidthOption = {
4202
4357
  name: "Override Width",
4203
- cliFlag: cliFlag69,
4204
- description: () => /* @__PURE__ */ jsx65(Fragment65, {
4358
+ addedIn: "3.2.40",
4359
+ cliFlag: cliFlag72,
4360
+ description: () => /* @__PURE__ */ jsx68(Fragment68, {
4205
4361
  children: "Overrides the width of the composition."
4206
4362
  }),
4207
4363
  ssrName: null,
4208
4364
  docLink: "https://www.remotion.dev/docs/options/width",
4209
4365
  type: null,
4210
4366
  getValue: ({ commandLine }) => {
4211
- if (commandLine[cliFlag69] !== undefined) {
4212
- const value3 = commandLine[cliFlag69];
4213
- validateDimension(value3, "width", "in --width flag");
4367
+ if (commandLine[cliFlag72] !== undefined) {
4368
+ const value = commandLine[cliFlag72];
4369
+ validateDimension(value, "width", "in --width flag");
4214
4370
  return {
4215
4371
  source: "cli",
4216
- value: value3
4372
+ value
4217
4373
  };
4218
4374
  }
4219
4375
  if (currentWidth !== null) {
@@ -4234,29 +4390,30 @@ var overrideWidthOption = {
4234
4390
  reset: () => {
4235
4391
  currentWidth = null;
4236
4392
  },
4237
- id: cliFlag69
4393
+ id: cliFlag72
4238
4394
  };
4239
4395
 
4240
4396
  // src/options/overwrite.tsx
4241
- import { jsx as jsx66, jsxs as jsxs47, Fragment as Fragment66 } from "react/jsx-runtime";
4397
+ import { jsx as jsx69, jsxs as jsxs47, Fragment as Fragment69 } from "react/jsx-runtime";
4242
4398
  var shouldOverwrite = null;
4243
- var cliFlag70 = "overwrite";
4244
- var validate2 = (value3) => {
4245
- if (typeof value3 !== "boolean") {
4246
- throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
4399
+ var cliFlag73 = "overwrite";
4400
+ var validate2 = (value) => {
4401
+ if (typeof value !== "boolean") {
4402
+ throw new Error(`overwriteExisting must be a boolean but got ${typeof value} (${value})`);
4247
4403
  }
4248
4404
  };
4249
4405
  var overwriteOption = {
4250
4406
  name: "Overwrite output",
4251
- cliFlag: cliFlag70,
4252
- description: () => /* @__PURE__ */ jsxs47(Fragment66, {
4407
+ addedIn: "1.0.0",
4408
+ cliFlag: cliFlag73,
4409
+ description: () => /* @__PURE__ */ jsxs47(Fragment69, {
4253
4410
  children: [
4254
4411
  "If set to ",
4255
- /* @__PURE__ */ jsx66("code", {
4412
+ /* @__PURE__ */ jsx69("code", {
4256
4413
  children: "false"
4257
4414
  }),
4258
4415
  ", will prevent rendering to a path that already exists. Default is ",
4259
- /* @__PURE__ */ jsx66("code", {
4416
+ /* @__PURE__ */ jsx69("code", {
4260
4417
  children: "true"
4261
4418
  }),
4262
4419
  "."
@@ -4265,12 +4422,12 @@ var overwriteOption = {
4265
4422
  ssrName: "overwrite",
4266
4423
  docLink: "https://www.remotion.dev/docs/options/overwrite",
4267
4424
  type: false,
4268
- getValue: ({ commandLine }, defaultValue2) => {
4269
- if (commandLine[cliFlag70] !== undefined && commandLine[cliFlag70] !== null) {
4270
- validate2(commandLine[cliFlag70]);
4425
+ getValue: ({ commandLine }, defaultValue) => {
4426
+ if (commandLine[cliFlag73] !== undefined && commandLine[cliFlag73] !== null) {
4427
+ validate2(commandLine[cliFlag73]);
4271
4428
  return {
4272
4429
  source: "cli",
4273
- value: commandLine[cliFlag70]
4430
+ value: commandLine[cliFlag73]
4274
4431
  };
4275
4432
  }
4276
4433
  if (shouldOverwrite !== null) {
@@ -4281,50 +4438,51 @@ var overwriteOption = {
4281
4438
  }
4282
4439
  return {
4283
4440
  source: "default",
4284
- value: defaultValue2
4441
+ value: defaultValue
4285
4442
  };
4286
4443
  },
4287
- setConfig: (value3) => {
4288
- validate2(value3);
4289
- shouldOverwrite = value3;
4444
+ setConfig: (value) => {
4445
+ validate2(value);
4446
+ shouldOverwrite = value;
4290
4447
  },
4291
4448
  reset: () => {
4292
4449
  shouldOverwrite = null;
4293
4450
  },
4294
- id: cliFlag70
4451
+ id: cliFlag73
4295
4452
  };
4296
4453
 
4297
4454
  // src/options/package-manager.tsx
4298
- import { jsx as jsx67, jsxs as jsxs48, Fragment as Fragment67 } from "react/jsx-runtime";
4299
- var cliFlag71 = "package-manager";
4455
+ import { jsx as jsx70, jsxs as jsxs48, Fragment as Fragment70 } from "react/jsx-runtime";
4456
+ var cliFlag74 = "package-manager";
4300
4457
  var currentPackageManager = null;
4301
4458
  var packageManagerOption = {
4302
4459
  name: "Package Manager",
4303
- cliFlag: cliFlag71,
4460
+ addedIn: "3.2.33",
4461
+ cliFlag: cliFlag74,
4304
4462
  description: () => {
4305
- return /* @__PURE__ */ jsxs48(Fragment67, {
4463
+ return /* @__PURE__ */ jsxs48(Fragment70, {
4306
4464
  children: [
4307
4465
  "Forces a specific package manager to be used. By default, Remotion will auto-detect the package manager based on your lockfile.",
4308
- /* @__PURE__ */ jsx67("br", {}),
4466
+ /* @__PURE__ */ jsx70("br", {}),
4309
4467
  "Acceptable values are ",
4310
- /* @__PURE__ */ jsx67("code", {
4468
+ /* @__PURE__ */ jsx70("code", {
4311
4469
  children: "npm"
4312
4470
  }),
4313
4471
  ", ",
4314
- /* @__PURE__ */ jsx67("code", {
4472
+ /* @__PURE__ */ jsx70("code", {
4315
4473
  children: "yarn"
4316
4474
  }),
4317
4475
  ",",
4318
4476
  " ",
4319
- /* @__PURE__ */ jsx67("code", {
4477
+ /* @__PURE__ */ jsx70("code", {
4320
4478
  children: "pnpm"
4321
4479
  }),
4322
4480
  ", ",
4323
- /* @__PURE__ */ jsx67("code", {
4481
+ /* @__PURE__ */ jsx70("code", {
4324
4482
  children: "bun"
4325
4483
  }),
4326
4484
  " and ",
4327
- /* @__PURE__ */ jsx67("code", {
4485
+ /* @__PURE__ */ jsx70("code", {
4328
4486
  children: "nub"
4329
4487
  }),
4330
4488
  "."
@@ -4334,10 +4492,10 @@ var packageManagerOption = {
4334
4492
  ssrName: "packageManager",
4335
4493
  docLink: "https://www.remotion.dev/docs/options/package-manager",
4336
4494
  getValue: ({ commandLine }) => {
4337
- if (commandLine[cliFlag71] !== undefined) {
4495
+ if (commandLine[cliFlag74] !== undefined) {
4338
4496
  return {
4339
4497
  source: "cli",
4340
- value: commandLine[cliFlag71]
4498
+ value: commandLine[cliFlag74]
4341
4499
  };
4342
4500
  }
4343
4501
  if (currentPackageManager !== null) {
@@ -4351,11 +4509,11 @@ var packageManagerOption = {
4351
4509
  value: null
4352
4510
  };
4353
4511
  },
4354
- setConfig: (value3) => {
4355
- currentPackageManager = value3;
4512
+ setConfig: (value) => {
4513
+ currentPackageManager = value;
4356
4514
  },
4357
4515
  type: "",
4358
- id: cliFlag71
4516
+ id: cliFlag74
4359
4517
  };
4360
4518
 
4361
4519
  // src/pixel-format.ts
@@ -4378,17 +4536,18 @@ var validPixelFormatsForCodec = (codec) => {
4378
4536
  };
4379
4537
 
4380
4538
  // src/options/pixel-format.tsx
4381
- import { jsx as jsx68, jsxs as jsxs49, Fragment as Fragment68 } from "react/jsx-runtime";
4539
+ import { jsx as jsx71, jsxs as jsxs49, Fragment as Fragment71 } from "react/jsx-runtime";
4382
4540
  var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
4383
- var cliFlag72 = "pixel-format";
4541
+ var cliFlag75 = "pixel-format";
4384
4542
  var pixelFormatOption = {
4385
4543
  name: "Pixel format",
4386
- cliFlag: cliFlag72,
4387
- description: () => /* @__PURE__ */ jsxs49(Fragment68, {
4544
+ addedIn: "1.4.0",
4545
+ cliFlag: cliFlag75,
4546
+ description: () => /* @__PURE__ */ jsxs49(Fragment71, {
4388
4547
  children: [
4389
4548
  "Sets the pixel format in FFmpeg. See",
4390
4549
  " ",
4391
- /* @__PURE__ */ jsx68("a", {
4550
+ /* @__PURE__ */ jsx71("a", {
4392
4551
  href: "https://trac.ffmpeg.org/wiki/Chroma%20Subsampling",
4393
4552
  children: "the FFmpeg docs for an explanation"
4394
4553
  }),
@@ -4407,10 +4566,10 @@ var pixelFormatOption = {
4407
4566
  value: options.uiPixelFormat
4408
4567
  };
4409
4568
  }
4410
- if (commandLine[cliFlag72] !== undefined) {
4569
+ if (commandLine[cliFlag75] !== undefined) {
4411
4570
  return {
4412
4571
  source: "from --pixel-format flag",
4413
- value: commandLine[cliFlag72]
4572
+ value: commandLine[cliFlag75]
4414
4573
  };
4415
4574
  }
4416
4575
  if (options && options.compositionDefaultPixelFormat !== null) {
@@ -4430,32 +4589,33 @@ var pixelFormatOption = {
4430
4589
  value: DEFAULT_PIXEL_FORMAT
4431
4590
  };
4432
4591
  },
4433
- setConfig: (value3) => {
4434
- if (!validPixelFormats.includes(value3)) {
4435
- throw new TypeError(`Value ${value3} is not valid as a pixel format.`);
4592
+ setConfig: (value) => {
4593
+ if (!validPixelFormats.includes(value)) {
4594
+ throw new TypeError(`Value ${value} is not valid as a pixel format.`);
4436
4595
  }
4437
- currentPixelFormat = value3;
4596
+ currentPixelFormat = value;
4438
4597
  },
4439
- id: cliFlag72
4598
+ id: cliFlag75
4440
4599
  };
4441
4600
 
4442
4601
  // src/options/port.tsx
4443
- import { jsx as jsx69, Fragment as Fragment69 } from "react/jsx-runtime";
4444
- var cliFlag73 = "port";
4602
+ import { jsx as jsx72, Fragment as Fragment72 } from "react/jsx-runtime";
4603
+ var cliFlag76 = "port";
4445
4604
  var currentPort = null;
4446
4605
  var portOption = {
4447
4606
  name: "Port",
4448
- cliFlag: cliFlag73,
4449
- description: () => /* @__PURE__ */ jsx69(Fragment69, {
4607
+ addedIn: "2.1.3",
4608
+ cliFlag: cliFlag76,
4609
+ description: () => /* @__PURE__ */ jsx72(Fragment72, {
4450
4610
  children: "Set a custom HTTP server port for the Studio or the render process. If not defined, Remotion will try to find a free port."
4451
4611
  }),
4452
4612
  ssrName: null,
4453
4613
  docLink: "https://www.remotion.dev/docs/options/port",
4454
4614
  getValue: ({ commandLine }) => {
4455
- if (commandLine[cliFlag73] !== undefined) {
4615
+ if (commandLine[cliFlag76] !== undefined) {
4456
4616
  return {
4457
4617
  source: "cli",
4458
- value: commandLine[cliFlag73]
4618
+ value: commandLine[cliFlag76]
4459
4619
  };
4460
4620
  }
4461
4621
  if (currentPort !== null) {
@@ -4469,29 +4629,30 @@ var portOption = {
4469
4629
  value: null
4470
4630
  };
4471
4631
  },
4472
- setConfig: (value3) => {
4473
- currentPort = value3;
4632
+ setConfig: (value) => {
4633
+ currentPort = value;
4474
4634
  },
4475
4635
  type: 0,
4476
- id: cliFlag73
4636
+ id: cliFlag76
4477
4637
  };
4478
4638
 
4479
4639
  // src/options/prefer-lossless.tsx
4480
- import { jsx as jsx70, jsxs as jsxs50, Fragment as Fragment70 } from "react/jsx-runtime";
4481
- var cliFlag74 = "prefer-lossless";
4640
+ import { jsx as jsx73, jsxs as jsxs50, Fragment as Fragment73 } from "react/jsx-runtime";
4641
+ var cliFlag77 = "prefer-lossless";
4482
4642
  var input = false;
4483
4643
  var preferLosslessAudioOption = {
4484
4644
  name: "Prefer lossless",
4485
- cliFlag: cliFlag74,
4486
- description: () => /* @__PURE__ */ jsxs50(Fragment70, {
4645
+ addedIn: "4.0.123",
4646
+ cliFlag: cliFlag77,
4647
+ description: () => /* @__PURE__ */ jsxs50(Fragment73, {
4487
4648
  children: [
4488
4649
  "Uses a lossless audio codec, if one is available for the codec. If you set",
4489
- /* @__PURE__ */ jsx70("code", {
4650
+ /* @__PURE__ */ jsx73("code", {
4490
4651
  children: "audioCodec"
4491
4652
  }),
4492
4653
  ", it takes priority over",
4493
4654
  " ",
4494
- /* @__PURE__ */ jsx70("code", {
4655
+ /* @__PURE__ */ jsx73("code", {
4495
4656
  children: "preferLossless"
4496
4657
  }),
4497
4658
  "."
@@ -4501,7 +4662,7 @@ var preferLosslessAudioOption = {
4501
4662
  type: false,
4502
4663
  ssrName: "preferLossless",
4503
4664
  getValue: ({ commandLine }) => {
4504
- if (commandLine[cliFlag74]) {
4665
+ if (commandLine[cliFlag77]) {
4505
4666
  return { value: true, source: "cli" };
4506
4667
  }
4507
4668
  if (input === true) {
@@ -4512,20 +4673,21 @@ var preferLosslessAudioOption = {
4512
4673
  setConfig: (val) => {
4513
4674
  input = val;
4514
4675
  },
4515
- id: cliFlag74
4676
+ id: cliFlag77
4516
4677
  };
4517
4678
 
4518
4679
  // src/options/preview-sample-rate.tsx
4519
- import { jsx as jsx71, jsxs as jsxs51, Fragment as Fragment71 } from "react/jsx-runtime";
4520
- var cliFlag75 = "preview-sample-rate";
4680
+ import { jsx as jsx74, jsxs as jsxs51, Fragment as Fragment74 } from "react/jsx-runtime";
4681
+ var cliFlag78 = "preview-sample-rate";
4521
4682
  var currentPreviewSampleRate = null;
4522
4683
  var previewSampleRateOption = {
4523
4684
  name: "Preview Sample Rate",
4524
- cliFlag: cliFlag75,
4525
- description: () => /* @__PURE__ */ jsxs51(Fragment71, {
4685
+ addedIn: "4.0.470",
4686
+ cliFlag: cliFlag78,
4687
+ description: () => /* @__PURE__ */ jsxs51(Fragment74, {
4526
4688
  children: [
4527
4689
  "Controls the sample rate used for audio playback during preview. When unset, Remotion uses ",
4528
- /* @__PURE__ */ jsx71("code", {
4690
+ /* @__PURE__ */ jsx74("code", {
4529
4691
  children: "48000"
4530
4692
  }),
4531
4693
  " Hz."
@@ -4535,27 +4697,28 @@ var previewSampleRateOption = {
4535
4697
  docLink: "https://www.remotion.dev/docs/options/preview-sample-rate",
4536
4698
  type: null,
4537
4699
  getValue: ({ commandLine }) => {
4538
- if (commandLine[cliFlag75] !== undefined) {
4539
- return { value: commandLine[cliFlag75], source: "cli" };
4700
+ if (commandLine[cliFlag78] !== undefined) {
4701
+ return { value: commandLine[cliFlag78], source: "cli" };
4540
4702
  }
4541
4703
  if (currentPreviewSampleRate !== null) {
4542
4704
  return { value: currentPreviewSampleRate, source: "config file" };
4543
4705
  }
4544
4706
  return { value: null, source: "default" };
4545
4707
  },
4546
- setConfig: (value3) => {
4547
- currentPreviewSampleRate = value3;
4708
+ setConfig: (value) => {
4709
+ currentPreviewSampleRate = value;
4548
4710
  },
4549
- id: cliFlag75
4711
+ id: cliFlag78
4550
4712
  };
4551
4713
 
4552
4714
  // src/options/props.tsx
4553
- import { jsx as jsx72, jsxs as jsxs52, Fragment as Fragment72 } from "react/jsx-runtime";
4554
- var cliFlag76 = "props";
4715
+ import { jsx as jsx75, jsxs as jsxs52, Fragment as Fragment75 } from "react/jsx-runtime";
4716
+ var cliFlag79 = "props";
4555
4717
  var propsOption = {
4556
4718
  name: "Input Props",
4557
- cliFlag: cliFlag76,
4558
- description: () => /* @__PURE__ */ jsxs52(Fragment72, {
4719
+ addedIn: "1.0.0",
4720
+ cliFlag: cliFlag79,
4721
+ description: () => /* @__PURE__ */ jsxs52(Fragment75, {
4559
4722
  children: [
4560
4723
  "Input Props to pass to the selected composition of your video. Must be a serialized JSON string (",
4561
4724
  /* @__PURE__ */ jsxs52("code", {
@@ -4568,7 +4731,7 @@ var propsOption = {
4568
4731
  ]
4569
4732
  }),
4570
4733
  ") or a path to a JSON file (",
4571
- /* @__PURE__ */ jsx72("code", {
4734
+ /* @__PURE__ */ jsx75("code", {
4572
4735
  children: "./path/to/props.json"
4573
4736
  }),
4574
4737
  ")."
@@ -4577,10 +4740,10 @@ var propsOption = {
4577
4740
  ssrName: null,
4578
4741
  docLink: "https://www.remotion.dev/docs/options/props",
4579
4742
  getValue: ({ commandLine }) => {
4580
- if (commandLine[cliFlag76] !== undefined) {
4743
+ if (commandLine[cliFlag79] !== undefined) {
4581
4744
  return {
4582
4745
  source: "cli",
4583
- value: commandLine[cliFlag76]
4746
+ value: commandLine[cliFlag79]
4584
4747
  };
4585
4748
  }
4586
4749
  return {
@@ -4592,11 +4755,11 @@ var propsOption = {
4592
4755
  throw new Error("setProps is not supported. Pass --props via the CLI instead.");
4593
4756
  },
4594
4757
  type: "",
4595
- id: cliFlag76
4758
+ id: cliFlag79
4596
4759
  };
4597
4760
 
4598
4761
  // src/options/prores-profile.tsx
4599
- import { jsx as jsx73, jsxs as jsxs53, Fragment as Fragment73 } from "react/jsx-runtime";
4762
+ import { jsx as jsx76, jsxs as jsxs53, Fragment as Fragment76 } from "react/jsx-runtime";
4600
4763
  var validProResProfiles = [
4601
4764
  "4444-xq",
4602
4765
  "4444",
@@ -4606,14 +4769,15 @@ var validProResProfiles = [
4606
4769
  "proxy"
4607
4770
  ];
4608
4771
  var proResProfile;
4609
- var cliFlag77 = "prores-profile";
4772
+ var cliFlag80 = "prores-profile";
4610
4773
  var proResProfileOption = {
4611
4774
  name: "ProRes profile",
4612
- cliFlag: cliFlag77,
4613
- description: () => /* @__PURE__ */ jsxs53(Fragment73, {
4775
+ addedIn: "2.1.6",
4776
+ cliFlag: cliFlag80,
4777
+ description: () => /* @__PURE__ */ jsxs53(Fragment76, {
4614
4778
  children: [
4615
4779
  "Set the ProRes profile. This option is only valid if the codec has been set to ",
4616
- /* @__PURE__ */ jsx73("code", {
4780
+ /* @__PURE__ */ jsx76("code", {
4617
4781
  children: "prores"
4618
4782
  }),
4619
4783
  ". Possible values:",
@@ -4621,12 +4785,12 @@ var proResProfileOption = {
4621
4785
  validProResProfiles.map((p) => `"${p}"`).join(", "),
4622
4786
  ". Default:",
4623
4787
  " ",
4624
- /* @__PURE__ */ jsx73("code", {
4788
+ /* @__PURE__ */ jsx76("code", {
4625
4789
  children: '"hq"'
4626
4790
  }),
4627
4791
  ". See",
4628
4792
  " ",
4629
- /* @__PURE__ */ jsx73("a", {
4793
+ /* @__PURE__ */ jsx76("a", {
4630
4794
  href: "https://video.stackexchange.com/a/14715",
4631
4795
  children: "here"
4632
4796
  }),
@@ -4643,10 +4807,10 @@ var proResProfileOption = {
4643
4807
  value: options.uiProResProfile
4644
4808
  };
4645
4809
  }
4646
- if (commandLine[cliFlag77] !== undefined) {
4810
+ if (commandLine[cliFlag80] !== undefined) {
4647
4811
  return {
4648
4812
  source: "from --prores-profile flag",
4649
- value: String(commandLine[cliFlag77])
4813
+ value: String(commandLine[cliFlag80])
4650
4814
  };
4651
4815
  }
4652
4816
  if (options && options.compositionDefaultProResProfile !== null) {
@@ -4666,27 +4830,28 @@ var proResProfileOption = {
4666
4830
  value: undefined
4667
4831
  };
4668
4832
  },
4669
- setConfig: (value3) => {
4670
- proResProfile = value3;
4833
+ setConfig: (value) => {
4834
+ proResProfile = value;
4671
4835
  },
4672
- id: cliFlag77
4836
+ id: cliFlag80
4673
4837
  };
4674
4838
 
4675
4839
  // src/options/public-dir.tsx
4676
- import { jsx as jsx74, jsxs as jsxs54, Fragment as Fragment74 } from "react/jsx-runtime";
4677
- var cliFlag78 = "public-dir";
4840
+ import { jsx as jsx77, jsxs as jsxs54, Fragment as Fragment77 } from "react/jsx-runtime";
4841
+ var cliFlag81 = "public-dir";
4678
4842
  var currentPublicDir = null;
4679
4843
  var publicDirOption = {
4680
4844
  name: "Public Directory",
4681
- cliFlag: cliFlag78,
4845
+ addedIn: "3.2.13",
4846
+ cliFlag: cliFlag81,
4682
4847
  description: () => {
4683
- return /* @__PURE__ */ jsxs54(Fragment74, {
4848
+ return /* @__PURE__ */ jsxs54(Fragment77, {
4684
4849
  children: [
4685
4850
  "Define the location of the",
4686
4851
  " ",
4687
- /* @__PURE__ */ jsx74("a", {
4852
+ /* @__PURE__ */ jsx77("a", {
4688
4853
  href: "/docs/terminology/public-dir",
4689
- children: /* @__PURE__ */ jsx74("code", {
4854
+ children: /* @__PURE__ */ jsx77("code", {
4690
4855
  children: "public/ directory"
4691
4856
  })
4692
4857
  }),
@@ -4697,10 +4862,10 @@ var publicDirOption = {
4697
4862
  ssrName: "publicDir",
4698
4863
  docLink: "https://www.remotion.dev/docs/options/public-dir",
4699
4864
  getValue: ({ commandLine }) => {
4700
- if (commandLine[cliFlag78] !== undefined) {
4865
+ if (commandLine[cliFlag81] !== undefined) {
4701
4866
  return {
4702
4867
  source: "cli",
4703
- value: commandLine[cliFlag78]
4868
+ value: commandLine[cliFlag81]
4704
4869
  };
4705
4870
  }
4706
4871
  if (currentPublicDir !== null) {
@@ -4714,24 +4879,25 @@ var publicDirOption = {
4714
4879
  value: null
4715
4880
  };
4716
4881
  },
4717
- setConfig: (value3) => {
4718
- currentPublicDir = value3;
4882
+ setConfig: (value) => {
4883
+ currentPublicDir = value;
4719
4884
  },
4720
4885
  type: "",
4721
- id: cliFlag78
4886
+ id: cliFlag81
4722
4887
  };
4723
4888
 
4724
4889
  // src/options/public-license-key.tsx
4725
- import { jsx as jsx75, jsxs as jsxs55, Fragment as Fragment75 } from "react/jsx-runtime";
4726
- var cliFlag79 = "public-license-key";
4890
+ import { jsx as jsx78, jsxs as jsxs55, Fragment as Fragment78 } from "react/jsx-runtime";
4891
+ var cliFlag82 = "public-license-key";
4727
4892
  var currentPublicLicenseKey = null;
4728
4893
  var publicLicenseKeyOption = {
4729
4894
  name: "Public License Key",
4730
- cliFlag: cliFlag79,
4731
- description: () => /* @__PURE__ */ jsxs55(Fragment75, {
4895
+ addedIn: "4.0.398",
4896
+ cliFlag: cliFlag82,
4897
+ description: () => /* @__PURE__ */ jsxs55(Fragment78, {
4732
4898
  children: [
4733
4899
  "The public license key for your company license, obtained from the License keys page on ",
4734
- /* @__PURE__ */ jsx75("a", {
4900
+ /* @__PURE__ */ jsx78("a", {
4735
4901
  href: "https://remotion.pro/dashboard",
4736
4902
  children: "remotion.pro"
4737
4903
  }),
@@ -4741,10 +4907,10 @@ var publicLicenseKeyOption = {
4741
4907
  ssrName: "publicLicenseKey",
4742
4908
  docLink: "https://www.remotion.dev/docs/options/public-license-key",
4743
4909
  getValue: ({ commandLine }) => {
4744
- if (commandLine[cliFlag79] !== undefined) {
4910
+ if (commandLine[cliFlag82] !== undefined) {
4745
4911
  return {
4746
4912
  source: "cli",
4747
- value: commandLine[cliFlag79]
4913
+ value: commandLine[cliFlag82]
4748
4914
  };
4749
4915
  }
4750
4916
  if (currentPublicLicenseKey !== null) {
@@ -4758,32 +4924,33 @@ var publicLicenseKeyOption = {
4758
4924
  value: null
4759
4925
  };
4760
4926
  },
4761
- setConfig: (value3) => {
4762
- if (value3 && value3 !== "free-license" && !value3.startsWith("rm_pub_")) {
4927
+ setConfig: (value) => {
4928
+ if (value && value !== "free-license" && !value.startsWith("rm_pub_")) {
4763
4929
  throw new Error('Invalid public license key. It must start with "rm_pub_" or be "free-license".');
4764
4930
  }
4765
- currentPublicLicenseKey = value3;
4931
+ currentPublicLicenseKey = value;
4766
4932
  },
4767
4933
  type: null,
4768
- id: cliFlag79
4934
+ id: cliFlag82
4769
4935
  };
4770
4936
 
4771
4937
  // src/options/public-path.tsx
4772
- import { jsx as jsx76, jsxs as jsxs56, Fragment as Fragment76 } from "react/jsx-runtime";
4773
- var cliFlag80 = "public-path";
4938
+ import { jsx as jsx79, jsxs as jsxs56, Fragment as Fragment79 } from "react/jsx-runtime";
4939
+ var cliFlag83 = "public-path";
4774
4940
  var currentPublicPath = null;
4775
4941
  var publicPathOption = {
4776
4942
  name: "Public Path",
4777
- cliFlag: cliFlag80,
4943
+ addedIn: "4.0.127",
4944
+ cliFlag: cliFlag83,
4778
4945
  description: () => {
4779
- return /* @__PURE__ */ jsxs56(Fragment76, {
4946
+ return /* @__PURE__ */ jsxs56(Fragment79, {
4780
4947
  children: [
4781
4948
  "The path of the URL where the bundle is going to be hosted. By default it is ",
4782
- /* @__PURE__ */ jsx76("code", {
4949
+ /* @__PURE__ */ jsx79("code", {
4783
4950
  children: "./"
4784
4951
  }),
4785
4952
  ", making the bundle relocatable. Set an absolute path such as ",
4786
- /* @__PURE__ */ jsx76("code", {
4953
+ /* @__PURE__ */ jsx79("code", {
4787
4954
  children: "/sites/my-site/"
4788
4955
  }),
4789
4956
  " to host the bundle at a fixed location."
@@ -4793,10 +4960,10 @@ var publicPathOption = {
4793
4960
  ssrName: "publicPath",
4794
4961
  docLink: "https://www.remotion.dev/docs/options/public-path",
4795
4962
  getValue: ({ commandLine }) => {
4796
- if (commandLine[cliFlag80] !== undefined) {
4963
+ if (commandLine[cliFlag83] !== undefined) {
4797
4964
  return {
4798
4965
  source: "cli",
4799
- value: commandLine[cliFlag80]
4966
+ value: commandLine[cliFlag83]
4800
4967
  };
4801
4968
  }
4802
4969
  if (currentPublicPath !== null) {
@@ -4810,33 +4977,34 @@ var publicPathOption = {
4810
4977
  value: null
4811
4978
  };
4812
4979
  },
4813
- setConfig: (value3) => {
4814
- currentPublicPath = value3;
4980
+ setConfig: (value) => {
4981
+ currentPublicPath = value;
4815
4982
  },
4816
4983
  type: "",
4817
- id: cliFlag80
4984
+ id: cliFlag83
4818
4985
  };
4819
4986
 
4820
4987
  // src/options/repro.tsx
4821
- import { jsx as jsx77, Fragment as Fragment77 } from "react/jsx-runtime";
4988
+ import { jsx as jsx80, Fragment as Fragment80 } from "react/jsx-runtime";
4822
4989
  var enableRepro = false;
4823
4990
  var setRepro = (should) => {
4824
4991
  enableRepro = should;
4825
4992
  };
4826
- var cliFlag81 = "repro";
4993
+ var cliFlag84 = "repro";
4827
4994
  var reproOption = {
4828
4995
  name: "Create reproduction",
4829
- cliFlag: cliFlag81,
4830
- description: () => /* @__PURE__ */ jsx77(Fragment77, {
4996
+ addedIn: "4.0.88",
4997
+ cliFlag: cliFlag84,
4998
+ description: () => /* @__PURE__ */ jsx80(Fragment80, {
4831
4999
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
4832
5000
  }),
4833
5001
  ssrName: "repro",
4834
5002
  docLink: "https://www.remotion.dev/docs/options/repro",
4835
5003
  type: false,
4836
5004
  getValue: ({ commandLine }) => {
4837
- if (commandLine[cliFlag81] !== undefined && commandLine[cliFlag81] !== null) {
5005
+ if (commandLine[cliFlag84] !== undefined && commandLine[cliFlag84] !== null) {
4838
5006
  return {
4839
- value: commandLine[cliFlag81],
5007
+ value: commandLine[cliFlag84],
4840
5008
  source: "cli"
4841
5009
  };
4842
5010
  }
@@ -4852,27 +5020,28 @@ var reproOption = {
4852
5020
  };
4853
5021
  },
4854
5022
  setConfig: setRepro,
4855
- id: cliFlag81
5023
+ id: cliFlag84
4856
5024
  };
4857
5025
 
4858
5026
  // src/options/rspack.tsx
4859
- import { jsx as jsx78, Fragment as Fragment78 } from "react/jsx-runtime";
5027
+ import { jsx as jsx81, Fragment as Fragment81 } from "react/jsx-runtime";
4860
5028
  var rspackEnabled = false;
4861
5029
  var configuredRspackEnabled = null;
4862
- var cliFlag82 = "rspack";
5030
+ var cliFlag85 = "rspack";
4863
5031
  var rspackOption = {
4864
5032
  name: "Rspack",
4865
- cliFlag: cliFlag82,
4866
- description: () => /* @__PURE__ */ jsx78(Fragment78, {
5033
+ addedIn: "4.0.502",
5034
+ cliFlag: cliFlag85,
5035
+ description: () => /* @__PURE__ */ jsx81(Fragment81, {
4867
5036
  children: "Uses Rspack instead of Webpack as the bundler for the Studio or bundle."
4868
5037
  }),
4869
5038
  ssrName: null,
4870
5039
  docLink: "https://www.remotion.dev/docs/options/rspack",
4871
5040
  type: false,
4872
5041
  getValue: ({ commandLine }) => {
4873
- if (commandLine[cliFlag82] !== undefined && commandLine[cliFlag82] !== null) {
5042
+ if (commandLine[cliFlag85] !== undefined && commandLine[cliFlag85] !== null) {
4874
5043
  return {
4875
- value: commandLine[cliFlag82],
5044
+ value: commandLine[cliFlag85],
4876
5045
  source: "cli"
4877
5046
  };
4878
5047
  }
@@ -4881,30 +5050,31 @@ var rspackOption = {
4881
5050
  source: "config"
4882
5051
  };
4883
5052
  },
4884
- setConfig(value3) {
4885
- rspackEnabled = value3;
4886
- configuredRspackEnabled = value3;
5053
+ setConfig(value) {
5054
+ rspackEnabled = value;
5055
+ configuredRspackEnabled = value;
4887
5056
  },
4888
5057
  getConfigValue: () => configuredRspackEnabled,
4889
5058
  reset: () => {
4890
5059
  rspackEnabled = false;
4891
5060
  configuredRspackEnabled = null;
4892
5061
  },
4893
- id: cliFlag82
5062
+ id: cliFlag85
4894
5063
  };
4895
5064
 
4896
5065
  // src/options/runs.tsx
4897
- import { jsx as jsx79, jsxs as jsxs57, Fragment as Fragment79 } from "react/jsx-runtime";
5066
+ import { jsx as jsx82, jsxs as jsxs57, Fragment as Fragment82 } from "react/jsx-runtime";
4898
5067
  var DEFAULT_RUNS = 3;
4899
5068
  var currentRuns = DEFAULT_RUNS;
4900
- var cliFlag83 = "runs";
5069
+ var cliFlag86 = "runs";
4901
5070
  var runsOption = {
4902
5071
  name: "Benchmark runs",
4903
- cliFlag: cliFlag83,
4904
- description: () => /* @__PURE__ */ jsxs57(Fragment79, {
5072
+ addedIn: "3.2.28",
5073
+ cliFlag: cliFlag86,
5074
+ description: () => /* @__PURE__ */ jsxs57(Fragment82, {
4905
5075
  children: [
4906
5076
  "Specify how many times the video should be rendered during a benchmark. Default ",
4907
- /* @__PURE__ */ jsx79("code", {
5077
+ /* @__PURE__ */ jsx82("code", {
4908
5078
  children: DEFAULT_RUNS
4909
5079
  }),
4910
5080
  "."
@@ -4914,39 +5084,40 @@ var runsOption = {
4914
5084
  docLink: "https://www.remotion.dev/docs/options/runs",
4915
5085
  type: DEFAULT_RUNS,
4916
5086
  getValue: ({ commandLine }) => {
4917
- if (commandLine[cliFlag83] !== undefined) {
4918
- const value3 = Number(commandLine[cliFlag83]);
4919
- if (isNaN(value3) || value3 < 1) {
4920
- throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag83]}`);
5087
+ if (commandLine[cliFlag86] !== undefined) {
5088
+ const value = Number(commandLine[cliFlag86]);
5089
+ if (isNaN(value) || value < 1) {
5090
+ throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag86]}`);
4921
5091
  }
4922
- return { value: value3, source: "cli" };
5092
+ return { value, source: "cli" };
4923
5093
  }
4924
5094
  if (currentRuns !== DEFAULT_RUNS) {
4925
5095
  return { value: currentRuns, source: "config" };
4926
5096
  }
4927
5097
  return { value: DEFAULT_RUNS, source: "default" };
4928
5098
  },
4929
- setConfig: (value3) => {
4930
- if (typeof value3 !== "number" || isNaN(value3) || value3 < 1) {
4931
- throw new Error(`Runs must be a positive number, but got ${value3}`);
5099
+ setConfig: (value) => {
5100
+ if (typeof value !== "number" || isNaN(value) || value < 1) {
5101
+ throw new Error(`Runs must be a positive number, but got ${value}`);
4932
5102
  }
4933
- currentRuns = value3;
5103
+ currentRuns = value;
4934
5104
  },
4935
- id: cliFlag83
5105
+ id: cliFlag86
4936
5106
  };
4937
5107
 
4938
5108
  // src/options/sample-rate.tsx
4939
- import { jsx as jsx80, jsxs as jsxs58, Fragment as Fragment80 } from "react/jsx-runtime";
4940
- var cliFlag84 = "sample-rate";
5109
+ import { jsx as jsx83, jsxs as jsxs58, Fragment as Fragment83 } from "react/jsx-runtime";
5110
+ var cliFlag87 = "sample-rate";
4941
5111
  var currentSampleRate = 48000;
4942
5112
  var sampleRateOption = {
4943
5113
  name: "Sample Rate",
4944
- cliFlag: cliFlag84,
4945
- description: () => /* @__PURE__ */ jsxs58(Fragment80, {
5114
+ addedIn: "4.0.448",
5115
+ cliFlag: cliFlag87,
5116
+ description: () => /* @__PURE__ */ jsxs58(Fragment83, {
4946
5117
  children: [
4947
5118
  "Controls the sample rate of the output audio. The default is",
4948
5119
  " ",
4949
- /* @__PURE__ */ jsx80("code", {
5120
+ /* @__PURE__ */ jsx83("code", {
4950
5121
  children: "48000"
4951
5122
  }),
4952
5123
  " Hz. Match this to your source audio to avoid resampling artifacts."
@@ -4956,8 +5127,8 @@ var sampleRateOption = {
4956
5127
  docLink: "https://www.remotion.dev/docs/options/sample-rate",
4957
5128
  type: 48000,
4958
5129
  getValue: ({ commandLine }, compositionSampleRate) => {
4959
- if (commandLine[cliFlag84] !== undefined) {
4960
- return { value: commandLine[cliFlag84], source: "cli" };
5130
+ if (commandLine[cliFlag87] !== undefined) {
5131
+ return { value: commandLine[cliFlag87], source: "cli" };
4961
5132
  }
4962
5133
  if (currentSampleRate !== 48000) {
4963
5134
  return { value: currentSampleRate, source: "config file" };
@@ -4970,32 +5141,33 @@ var sampleRateOption = {
4970
5141
  }
4971
5142
  return { value: 48000, source: "default" };
4972
5143
  },
4973
- setConfig: (value3) => {
4974
- currentSampleRate = value3;
5144
+ setConfig: (value) => {
5145
+ currentSampleRate = value;
4975
5146
  },
4976
- id: cliFlag84
5147
+ id: cliFlag87
4977
5148
  };
4978
5149
 
4979
5150
  // src/options/scale.tsx
4980
- import { jsx as jsx81, jsxs as jsxs59, Fragment as Fragment81 } from "react/jsx-runtime";
5151
+ import { jsx as jsx84, jsxs as jsxs59, Fragment as Fragment84 } from "react/jsx-runtime";
4981
5152
  var currentScale = 1;
4982
- var cliFlag85 = "scale";
4983
- var validateScale = (value3) => {
4984
- if (typeof value3 !== "number") {
5153
+ var cliFlag88 = "scale";
5154
+ var validateScale = (value) => {
5155
+ if (typeof value !== "number") {
4985
5156
  throw new Error("scale must be a number.");
4986
5157
  }
4987
5158
  };
4988
5159
  var scaleOption = {
4989
5160
  name: "Scale",
4990
- cliFlag: cliFlag85,
4991
- description: () => /* @__PURE__ */ jsxs59(Fragment81, {
5161
+ addedIn: "2.6.7",
5162
+ cliFlag: cliFlag88,
5163
+ description: () => /* @__PURE__ */ jsxs59(Fragment84, {
4992
5164
  children: [
4993
5165
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
4994
- /* @__PURE__ */ jsx81("code", {
5166
+ /* @__PURE__ */ jsx84("code", {
4995
5167
  children: "1.5"
4996
5168
  }),
4997
5169
  ". See ",
4998
- /* @__PURE__ */ jsx81("a", {
5170
+ /* @__PURE__ */ jsx84("a", {
4999
5171
  href: "https://www.remotion.dev/docs/scaling",
5000
5172
  children: "Scaling"
5001
5173
  }),
@@ -5006,11 +5178,11 @@ var scaleOption = {
5006
5178
  docLink: "https://www.remotion.dev/docs/options/scale",
5007
5179
  type: 0,
5008
5180
  getValue: ({ commandLine }) => {
5009
- if (commandLine[cliFlag85] !== undefined) {
5010
- validateScale(commandLine[cliFlag85]);
5181
+ if (commandLine[cliFlag88] !== undefined) {
5182
+ validateScale(commandLine[cliFlag88]);
5011
5183
  return {
5012
5184
  source: "cli",
5013
- value: commandLine[cliFlag85]
5185
+ value: commandLine[cliFlag88]
5014
5186
  };
5015
5187
  }
5016
5188
  if (currentScale !== null) {
@@ -5027,22 +5199,63 @@ var scaleOption = {
5027
5199
  setConfig: (scale) => {
5028
5200
  currentScale = scale;
5029
5201
  },
5030
- id: cliFlag85
5202
+ id: cliFlag88
5203
+ };
5204
+
5205
+ // src/options/show-premounting.tsx
5206
+ import { jsx as jsx85, jsxs as jsxs60, Fragment as Fragment85 } from "react/jsx-runtime";
5207
+ var configuredShowPremounting = null;
5208
+ var cliFlag89 = "show-premounting";
5209
+ var showPremountingOption = {
5210
+ name: "Show premounting in the Studio timeline",
5211
+ addedIn: "4.0.535",
5212
+ cliFlag: cliFlag89,
5213
+ id: cliFlag89,
5214
+ description: () => /* @__PURE__ */ jsxs60(Fragment85, {
5215
+ children: [
5216
+ "Show premounting indicators in the Studio timeline. Defaults to",
5217
+ " ",
5218
+ /* @__PURE__ */ jsx85("code", {
5219
+ children: "false"
5220
+ }),
5221
+ "."
5222
+ ]
5223
+ }),
5224
+ ssrName: null,
5225
+ docLink: "https://www.remotion.dev/docs/options/show-premounting",
5226
+ type: true,
5227
+ getValue: ({ commandLine }) => {
5228
+ if (commandLine[cliFlag89] !== undefined && commandLine[cliFlag89] !== null) {
5229
+ return { value: commandLine[cliFlag89], source: "cli" };
5230
+ }
5231
+ return { value: configuredShowPremounting ?? false, source: "config" };
5232
+ },
5233
+ setConfig(value) {
5234
+ if (typeof value !== "boolean") {
5235
+ throw new Error("Config.setShowPremounting() expects a boolean");
5236
+ }
5237
+ configuredShowPremounting = value;
5238
+ },
5239
+ getConfigValue: () => configuredShowPremounting,
5240
+ reset: () => {
5241
+ configuredShowPremounting = null;
5242
+ }
5031
5243
  };
5032
5244
 
5033
5245
  // src/options/skip-skills.tsx
5034
- import { jsx as jsx82, Fragment as Fragment82 } from "react/jsx-runtime";
5035
- var cliFlag86 = "skip-skills";
5246
+ import { jsx as jsx86, Fragment as Fragment86 } from "react/jsx-runtime";
5247
+ var cliFlag90 = "skip-skills";
5036
5248
  var skipSkillsOption = {
5037
5249
  name: "Skip Skills",
5038
- cliFlag: cliFlag86,
5039
- description: () => /* @__PURE__ */ jsx82(Fragment82, {
5250
+ addedIn: "4.0.503",
5251
+ cliFlag: cliFlag90,
5252
+ description: () => /* @__PURE__ */ jsx86(Fragment86, {
5040
5253
  children: "Do not update installed Remotion Agent Skills while upgrading Remotion."
5041
5254
  }),
5042
5255
  ssrName: null,
5043
5256
  docLink: "https://www.remotion.dev/docs/options/skip-skills",
5044
5257
  getValue: ({ commandLine }) => {
5045
- if (commandLine[cliFlag86]) {
5258
+ if (commandLine[cliFlag90]) {
5046
5259
  return {
5047
5260
  source: "cli",
5048
5261
  value: true
@@ -5057,16 +5270,16 @@ var skipSkillsOption = {
5057
5270
  throw new Error("Cannot skip updating skills via config file");
5058
5271
  },
5059
5272
  type: false,
5060
- id: cliFlag86
5273
+ id: cliFlag90
5061
5274
  };
5062
5275
 
5063
5276
  // src/options/still-frame.tsx
5064
- import { NoReactInternals as NoReactInternals5 } from "remotion/no-react";
5065
- import { jsx as jsx83, jsxs as jsxs60, Fragment as Fragment83 } from "react/jsx-runtime";
5066
- var cliFlag87 = "frame";
5277
+ import { NoReactInternals as NoReactInternals7 } from "remotion/no-react";
5278
+ import { jsx as jsx87, jsxs as jsxs61, Fragment as Fragment87 } from "react/jsx-runtime";
5279
+ var cliFlag91 = "frame";
5067
5280
  var currentFrame = null;
5068
5281
  var validate3 = (frame) => {
5069
- NoReactInternals5.validateFrame({
5282
+ NoReactInternals7.validateFrame({
5070
5283
  frame,
5071
5284
  durationInFrames: Infinity,
5072
5285
  allowFloats: false
@@ -5074,17 +5287,18 @@ var validate3 = (frame) => {
5074
5287
  };
5075
5288
  var stillFrameOption = {
5076
5289
  name: "Frame",
5077
- cliFlag: cliFlag87,
5078
- description: () => /* @__PURE__ */ jsxs60(Fragment83, {
5290
+ addedIn: "2.3.0",
5291
+ cliFlag: cliFlag91,
5292
+ description: () => /* @__PURE__ */ jsxs61(Fragment87, {
5079
5293
  children: [
5080
5294
  "Which frame should be rendered when rendering a still. Default",
5081
5295
  " ",
5082
- /* @__PURE__ */ jsx83("code", {
5296
+ /* @__PURE__ */ jsx87("code", {
5083
5297
  children: "0"
5084
5298
  }),
5085
5299
  ". From v3.2.27, negative values are allowed, with",
5086
5300
  " ",
5087
- /* @__PURE__ */ jsx83("code", {
5301
+ /* @__PURE__ */ jsx87("code", {
5088
5302
  children: "-1"
5089
5303
  }),
5090
5304
  " being the last frame."
@@ -5093,8 +5307,8 @@ var stillFrameOption = {
5093
5307
  ssrName: "frame",
5094
5308
  docLink: "https://www.remotion.dev/docs/options/frame",
5095
5309
  getValue: ({ commandLine }) => {
5096
- if (commandLine[cliFlag87] !== undefined) {
5097
- const frame = Number(commandLine[cliFlag87]);
5310
+ if (commandLine[cliFlag91] !== undefined) {
5311
+ const frame = Number(commandLine[cliFlag91]);
5098
5312
  validate3(frame);
5099
5313
  return {
5100
5314
  source: "cli",
@@ -5112,31 +5326,32 @@ var stillFrameOption = {
5112
5326
  value: null
5113
5327
  };
5114
5328
  },
5115
- setConfig: (value3) => {
5116
- if (value3 !== null) {
5117
- validate3(value3);
5329
+ setConfig: (value) => {
5330
+ if (value !== null) {
5331
+ validate3(value);
5118
5332
  }
5119
- currentFrame = value3;
5333
+ currentFrame = value;
5120
5334
  },
5121
5335
  type: 0,
5122
- id: cliFlag87
5336
+ id: cliFlag91
5123
5337
  };
5124
5338
 
5125
5339
  // src/options/still-image-format.tsx
5126
- import { jsx as jsx84, jsxs as jsxs61, Fragment as Fragment84 } from "react/jsx-runtime";
5340
+ import { jsx as jsx88, jsxs as jsxs62, Fragment as Fragment88 } from "react/jsx-runtime";
5127
5341
  var currentStillImageFormat = null;
5128
- var cliFlag88 = "image-format";
5342
+ var cliFlag92 = "image-format";
5129
5343
  var stillImageFormatOption = {
5130
5344
  name: "Still Image Format",
5131
- cliFlag: cliFlag88,
5132
- description: () => /* @__PURE__ */ jsxs61(Fragment84, {
5345
+ addedIn: "2.3.0",
5346
+ cliFlag: cliFlag92,
5347
+ description: () => /* @__PURE__ */ jsxs62(Fragment88, {
5133
5348
  children: [
5134
5349
  "The image format to use when rendering a still. Must be one of",
5135
5350
  " ",
5136
5351
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
5137
5352
  ". Default:",
5138
5353
  " ",
5139
- /* @__PURE__ */ jsx84("code", {
5354
+ /* @__PURE__ */ jsx88("code", {
5140
5355
  children: '"png"'
5141
5356
  }),
5142
5357
  "."
@@ -5146,14 +5361,14 @@ var stillImageFormatOption = {
5146
5361
  docLink: "https://www.remotion.dev/docs/options/still-image-format",
5147
5362
  type: null,
5148
5363
  getValue: ({ commandLine }) => {
5149
- if (commandLine[cliFlag88] !== undefined) {
5150
- const value3 = commandLine[cliFlag88];
5151
- if (!validStillImageFormats.includes(value3)) {
5152
- throw new Error(`Invalid still image format: ${value3}. Must be one of: ${validStillImageFormats.join(", ")}`);
5364
+ if (commandLine[cliFlag92] !== undefined) {
5365
+ const value = commandLine[cliFlag92];
5366
+ if (!validStillImageFormats.includes(value)) {
5367
+ throw new Error(`Invalid still image format: ${value}. Must be one of: ${validStillImageFormats.join(", ")}`);
5153
5368
  }
5154
5369
  return {
5155
5370
  source: "cli",
5156
- value: value3
5371
+ value
5157
5372
  };
5158
5373
  }
5159
5374
  if (currentStillImageFormat !== null) {
@@ -5167,34 +5382,34 @@ var stillImageFormatOption = {
5167
5382
  value: null
5168
5383
  };
5169
5384
  },
5170
- setConfig: (value3) => {
5171
- if (value3 === null) {
5385
+ setConfig: (value) => {
5386
+ if (value === null) {
5172
5387
  currentStillImageFormat = null;
5173
5388
  return;
5174
5389
  }
5175
- if (!validStillImageFormats.includes(value3)) {
5390
+ if (!validStillImageFormats.includes(value)) {
5176
5391
  throw new TypeError([
5177
- `Value ${value3} is not valid as a still image format.`,
5178
- value3 === "jpg" ? 'Did you mean "jpeg"?' : null
5392
+ `Value ${value} is not valid as a still image format.`,
5393
+ value === "jpg" ? 'Did you mean "jpeg"?' : null
5179
5394
  ].filter(Boolean).join(" "));
5180
5395
  }
5181
- currentStillImageFormat = value3;
5396
+ currentStillImageFormat = value;
5182
5397
  },
5183
5398
  id: "still-image-format"
5184
5399
  };
5185
5400
 
5186
5401
  // src/options/throw-if-site-exists.tsx
5187
5402
  var DEFAULT5 = false;
5188
- var cliFlag89 = "throw-if-site-exists";
5403
+ var cliFlag93 = "throw-if-site-exists";
5189
5404
  var throwIfSiteExistsOption = {
5190
- cliFlag: cliFlag89,
5405
+ cliFlag: cliFlag93,
5191
5406
  description: () => `Prevents accidential update of an existing site. If there are any files in the subfolder where the site should be placed, the function will throw.`,
5192
5407
  docLink: "https://www.remotion.dev/docs/options/throw-if-site-exists",
5193
5408
  getValue: ({ commandLine }) => {
5194
- if (commandLine[cliFlag89]) {
5409
+ if (commandLine[cliFlag93]) {
5195
5410
  return {
5196
5411
  source: "cli",
5197
- value: commandLine[cliFlag89]
5412
+ value: commandLine[cliFlag93]
5198
5413
  };
5199
5414
  }
5200
5415
  return {
@@ -5203,46 +5418,48 @@ var throwIfSiteExistsOption = {
5203
5418
  };
5204
5419
  },
5205
5420
  name: "Throw if site exists",
5421
+ addedIn: "4.0.141",
5206
5422
  setConfig: () => {
5207
5423
  throw new Error("Not implemented");
5208
5424
  },
5209
5425
  ssrName: "throwIfSiteExists",
5210
5426
  type: false,
5211
- id: cliFlag89
5427
+ id: cliFlag93
5212
5428
  };
5213
5429
 
5214
5430
  // src/options/timeout.tsx
5215
- import { jsx as jsx85, jsxs as jsxs62, Fragment as Fragment85 } from "react/jsx-runtime";
5431
+ import { jsx as jsx89, jsxs as jsxs63, Fragment as Fragment89 } from "react/jsx-runtime";
5216
5432
  var currentTimeout = DEFAULT_TIMEOUT;
5217
- var validate4 = (value3) => {
5218
- if (typeof value3 !== "number") {
5219
- throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
5433
+ var validate4 = (value) => {
5434
+ if (typeof value !== "number") {
5435
+ throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value));
5220
5436
  }
5221
5437
  };
5222
- var cliFlag90 = "timeout";
5438
+ var cliFlag94 = "timeout";
5223
5439
  var delayRenderTimeoutInMillisecondsOption = {
5224
5440
  name: "delayRender() timeout",
5225
- cliFlag: cliFlag90,
5226
- description: () => /* @__PURE__ */ jsxs62(Fragment85, {
5441
+ addedIn: "2.6.3",
5442
+ cliFlag: cliFlag94,
5443
+ description: () => /* @__PURE__ */ jsxs63(Fragment89, {
5227
5444
  children: [
5228
5445
  "A number describing how long the render may take to resolve all",
5229
5446
  " ",
5230
- /* @__PURE__ */ jsx85("a", {
5447
+ /* @__PURE__ */ jsx89("a", {
5231
5448
  href: "https://remotion.dev/docs/delay-render",
5232
- children: /* @__PURE__ */ jsx85("code", {
5449
+ children: /* @__PURE__ */ jsx89("code", {
5233
5450
  children: "delayRender()"
5234
5451
  })
5235
5452
  }),
5236
5453
  " ",
5237
5454
  "calls",
5238
5455
  " ",
5239
- /* @__PURE__ */ jsx85("a", {
5456
+ /* @__PURE__ */ jsx89("a", {
5240
5457
  style: { fontSize: "inherit" },
5241
5458
  href: "https://remotion.dev/docs/timeout",
5242
5459
  children: "before it times out"
5243
5460
  }),
5244
5461
  ". Default: ",
5245
- /* @__PURE__ */ jsx85("code", {
5462
+ /* @__PURE__ */ jsx89("code", {
5246
5463
  children: "30000"
5247
5464
  })
5248
5465
  ]
@@ -5251,10 +5468,10 @@ var delayRenderTimeoutInMillisecondsOption = {
5251
5468
  docLink: "https://www.remotion.dev/docs/options/timeout",
5252
5469
  type: 0,
5253
5470
  getValue: ({ commandLine }) => {
5254
- if (commandLine[cliFlag90] !== undefined) {
5471
+ if (commandLine[cliFlag94] !== undefined) {
5255
5472
  return {
5256
5473
  source: "cli",
5257
- value: commandLine[cliFlag90]
5474
+ value: commandLine[cliFlag94]
5258
5475
  };
5259
5476
  }
5260
5477
  if (currentTimeout !== null) {
@@ -5269,31 +5486,32 @@ var delayRenderTimeoutInMillisecondsOption = {
5269
5486
  value: DEFAULT_TIMEOUT
5270
5487
  };
5271
5488
  },
5272
- setConfig: (value3) => {
5273
- validate4(value3);
5274
- currentTimeout = value3;
5489
+ setConfig: (value) => {
5490
+ validate4(value);
5491
+ currentTimeout = value;
5275
5492
  },
5276
- id: cliFlag90
5493
+ id: cliFlag94
5277
5494
  };
5278
5495
 
5279
5496
  // src/options/user-agent.tsx
5280
- import { jsx as jsx86, Fragment as Fragment86 } from "react/jsx-runtime";
5497
+ import { jsx as jsx90, Fragment as Fragment90 } from "react/jsx-runtime";
5281
5498
  var userAgent = null;
5282
- var cliFlag91 = "user-agent";
5499
+ var cliFlag95 = "user-agent";
5283
5500
  var userAgentOption = {
5284
5501
  name: "User agent",
5285
- cliFlag: cliFlag91,
5286
- description: () => /* @__PURE__ */ jsx86(Fragment86, {
5502
+ addedIn: "3.3.83",
5503
+ cliFlag: cliFlag95,
5504
+ description: () => /* @__PURE__ */ jsx90(Fragment90, {
5287
5505
  children: "Lets you set a custom user agent that the headless Chrome browser assumes."
5288
5506
  }),
5289
5507
  ssrName: "userAgent",
5290
5508
  docLink: "https://www.remotion.dev/docs/options/user-agent",
5291
5509
  type: null,
5292
5510
  getValue: ({ commandLine }) => {
5293
- if (commandLine[cliFlag91] !== undefined) {
5511
+ if (commandLine[cliFlag95] !== undefined) {
5294
5512
  return {
5295
5513
  source: "cli",
5296
- value: commandLine[cliFlag91]
5514
+ value: commandLine[cliFlag95]
5297
5515
  };
5298
5516
  }
5299
5517
  if (userAgent !== null) {
@@ -5307,28 +5525,29 @@ var userAgentOption = {
5307
5525
  value: null
5308
5526
  };
5309
5527
  },
5310
- setConfig: (value3) => {
5311
- userAgent = value3;
5528
+ setConfig: (value) => {
5529
+ userAgent = value;
5312
5530
  },
5313
- id: cliFlag91
5531
+ id: cliFlag95
5314
5532
  };
5315
5533
 
5316
5534
  // src/options/version-flag.tsx
5317
- import { jsx as jsx87, Fragment as Fragment87 } from "react/jsx-runtime";
5318
- var cliFlag92 = "version";
5535
+ import { jsx as jsx91, Fragment as Fragment91 } from "react/jsx-runtime";
5536
+ var cliFlag96 = "version";
5319
5537
  var versionFlagOption = {
5320
5538
  name: "Version",
5321
- cliFlag: cliFlag92,
5322
- description: () => /* @__PURE__ */ jsx87(Fragment87, {
5539
+ addedIn: "4.0.15",
5540
+ cliFlag: cliFlag96,
5541
+ description: () => /* @__PURE__ */ jsx91(Fragment91, {
5323
5542
  children: "Install a specific version. Also enables downgrading to an older version."
5324
5543
  }),
5325
5544
  ssrName: null,
5326
5545
  docLink: "https://www.remotion.dev/docs/options/version",
5327
5546
  getValue: ({ commandLine }) => {
5328
- if (commandLine[cliFlag92] !== undefined) {
5547
+ if (commandLine[cliFlag96] !== undefined) {
5329
5548
  return {
5330
5549
  source: "cli",
5331
- value: String(commandLine[cliFlag92])
5550
+ value: String(commandLine[cliFlag96])
5332
5551
  };
5333
5552
  }
5334
5553
  return {
@@ -5340,30 +5559,31 @@ var versionFlagOption = {
5340
5559
  throw new Error("Cannot set version via config file");
5341
5560
  },
5342
5561
  type: "",
5343
- id: cliFlag92
5562
+ id: cliFlag96
5344
5563
  };
5345
5564
 
5346
5565
  // src/options/video-bitrate.tsx
5347
- import { jsx as jsx88, jsxs as jsxs63, Fragment as Fragment88 } from "react/jsx-runtime";
5566
+ import { jsx as jsx92, jsxs as jsxs64, Fragment as Fragment92 } from "react/jsx-runtime";
5348
5567
  var videoBitrate = null;
5349
- var cliFlag93 = "video-bitrate";
5568
+ var cliFlag97 = "video-bitrate";
5350
5569
  var videoBitrateOption = {
5351
5570
  name: "Video Bitrate",
5352
- cliFlag: cliFlag93,
5353
- description: () => /* @__PURE__ */ jsxs63(Fragment88, {
5571
+ addedIn: "3.2.32",
5572
+ cliFlag: cliFlag97,
5573
+ description: () => /* @__PURE__ */ jsxs64(Fragment92, {
5354
5574
  children: [
5355
5575
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
5356
5576
  "'",
5357
5577
  "s",
5358
- /* @__PURE__ */ jsx88("code", {
5578
+ /* @__PURE__ */ jsx92("code", {
5359
5579
  children: "-b:v"
5360
5580
  }),
5361
5581
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
5362
- /* @__PURE__ */ jsx88("code", {
5582
+ /* @__PURE__ */ jsx92("code", {
5363
5583
  children: "512K"
5364
5584
  }),
5365
5585
  " for 512 kbps, ",
5366
- /* @__PURE__ */ jsx88("code", {
5586
+ /* @__PURE__ */ jsx92("code", {
5367
5587
  children: "1M"
5368
5588
  }),
5369
5589
  " for 1 Mbps."
@@ -5373,10 +5593,10 @@ var videoBitrateOption = {
5373
5593
  docLink: "https://www.remotion.dev/docs/options/video-bitrate",
5374
5594
  type: "",
5375
5595
  getValue: ({ commandLine }) => {
5376
- if (commandLine[cliFlag93] !== undefined) {
5596
+ if (commandLine[cliFlag97] !== undefined) {
5377
5597
  return {
5378
5598
  source: "cli",
5379
- value: commandLine[cliFlag93]
5599
+ value: commandLine[cliFlag97]
5380
5600
  };
5381
5601
  }
5382
5602
  if (videoBitrate !== null) {
@@ -5393,34 +5613,35 @@ var videoBitrateOption = {
5393
5613
  setConfig: (bitrate) => {
5394
5614
  videoBitrate = bitrate;
5395
5615
  },
5396
- id: cliFlag93
5616
+ id: cliFlag97
5397
5617
  };
5398
5618
 
5399
5619
  // src/options/video-cache-size.tsx
5400
- import { jsx as jsx89, jsxs as jsxs64, Fragment as Fragment89 } from "react/jsx-runtime";
5620
+ import { jsx as jsx93, jsxs as jsxs65, Fragment as Fragment93 } from "react/jsx-runtime";
5401
5621
  var mediaCacheSizeInBytes = null;
5402
- var cliFlag94 = "media-cache-size-in-bytes";
5622
+ var cliFlag98 = "media-cache-size-in-bytes";
5403
5623
  var mediaCacheSizeInBytesOption = {
5404
5624
  name: "@remotion/media cache size",
5405
- cliFlag: cliFlag94,
5406
- description: () => /* @__PURE__ */ jsxs64(Fragment89, {
5625
+ addedIn: "4.0.352",
5626
+ cliFlag: cliFlag98,
5627
+ description: () => /* @__PURE__ */ jsxs65(Fragment93, {
5407
5628
  children: [
5408
5629
  "Specify the memory budget for decoded media cached by",
5409
5630
  " ",
5410
- /* @__PURE__ */ jsx89("code", {
5631
+ /* @__PURE__ */ jsx93("code", {
5411
5632
  children: "<Video>"
5412
5633
  }),
5413
5634
  " and ",
5414
- /* @__PURE__ */ jsx89("code", {
5635
+ /* @__PURE__ */ jsx93("code", {
5415
5636
  children: "<Audio>"
5416
5637
  }),
5417
5638
  " from",
5418
5639
  " ",
5419
- /* @__PURE__ */ jsx89("code", {
5640
+ /* @__PURE__ */ jsx93("code", {
5420
5641
  children: "@remotion/media"
5421
5642
  }),
5422
5643
  ", in bytes. This value also determines the maximum read cache size for each distinct media source. It is not a limit on total memory usage. ",
5423
- /* @__PURE__ */ jsx89("br", {}),
5644
+ /* @__PURE__ */ jsx93("br", {}),
5424
5645
  "The default is half of the available system memory when the render starts."
5425
5646
  ]
5426
5647
  }),
@@ -5428,10 +5649,10 @@ var mediaCacheSizeInBytesOption = {
5428
5649
  docLink: "https://www.remotion.dev/docs/options/media-cache-size-in-bytes",
5429
5650
  type: 0,
5430
5651
  getValue: ({ commandLine }) => {
5431
- if (commandLine[cliFlag94] !== undefined) {
5652
+ if (commandLine[cliFlag98] !== undefined) {
5432
5653
  return {
5433
5654
  source: "cli",
5434
- value: commandLine[cliFlag94]
5655
+ value: commandLine[cliFlag98]
5435
5656
  };
5436
5657
  }
5437
5658
  if (mediaCacheSizeInBytes !== null) {
@@ -5448,11 +5669,11 @@ var mediaCacheSizeInBytesOption = {
5448
5669
  setConfig: (size) => {
5449
5670
  mediaCacheSizeInBytes = size ?? null;
5450
5671
  },
5451
- id: cliFlag94
5672
+ id: cliFlag98
5452
5673
  };
5453
5674
 
5454
5675
  // src/options/video-codec.tsx
5455
- import { jsx as jsx90, Fragment as Fragment90 } from "react/jsx-runtime";
5676
+ import { jsx as jsx94, Fragment as Fragment94 } from "react/jsx-runtime";
5456
5677
  var codec;
5457
5678
  var setCodec = (newCodec) => {
5458
5679
  if (newCodec === undefined) {
@@ -5477,11 +5698,12 @@ var deriveCodecsFromFilename = (extension) => {
5477
5698
  possible: makeFileExtensionMap()[normalizedExtension] ?? []
5478
5699
  };
5479
5700
  };
5480
- var cliFlag95 = "codec";
5701
+ var cliFlag99 = "codec";
5481
5702
  var videoCodecOption = {
5482
5703
  name: "Codec",
5483
- cliFlag: cliFlag95,
5484
- description: () => /* @__PURE__ */ jsx90(Fragment90, {
5704
+ addedIn: "1.4.0",
5705
+ cliFlag: cliFlag99,
5706
+ description: () => /* @__PURE__ */ jsx94(Fragment94, {
5485
5707
  children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM, GIF and ProRes support transparency."
5486
5708
  }),
5487
5709
  ssrName: "codec",
@@ -5504,7 +5726,7 @@ var videoCodecOption = {
5504
5726
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
5505
5727
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
5506
5728
  }
5507
- const cliArgument = commandLine[cliFlag95];
5729
+ const cliArgument = commandLine[cliFlag99];
5508
5730
  if (cliArgument) {
5509
5731
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
5510
5732
  throw new TypeError(`The download name is ${downloadName} but --codec=${cliArgument} was passed. The download name implies a codec of ${derivedDownloadCodecs.possible.join(" or ")} which does not align with the --codec flag.`);
@@ -5553,30 +5775,31 @@ var videoCodecOption = {
5553
5775
  reset: () => {
5554
5776
  codec = undefined;
5555
5777
  },
5556
- id: cliFlag95
5778
+ id: cliFlag99
5557
5779
  };
5558
5780
 
5559
5781
  // src/options/video-image-format.tsx
5560
- import { jsx as jsx91, jsxs as jsxs65, Fragment as Fragment91 } from "react/jsx-runtime";
5782
+ import { jsx as jsx95, jsxs as jsxs66, Fragment as Fragment95 } from "react/jsx-runtime";
5561
5783
  var currentVideoImageFormat = null;
5562
- var cliFlag96 = "image-format";
5784
+ var cliFlag100 = "image-format";
5563
5785
  var videoImageFormatOption = {
5564
5786
  name: "Video Image Format",
5565
- cliFlag: cliFlag96,
5566
- description: () => /* @__PURE__ */ jsxs65(Fragment91, {
5787
+ addedIn: "1.4.0",
5788
+ cliFlag: cliFlag100,
5789
+ description: () => /* @__PURE__ */ jsxs66(Fragment95, {
5567
5790
  children: [
5568
5791
  "The image format to use when rendering frames for a video. Must be one of",
5569
5792
  " ",
5570
5793
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
5571
5794
  ". Default:",
5572
5795
  " ",
5573
- /* @__PURE__ */ jsx91("code", {
5796
+ /* @__PURE__ */ jsx95("code", {
5574
5797
  children: '"jpeg"'
5575
5798
  }),
5576
5799
  ". JPEG is faster, but does not support transparency.",
5577
- /* @__PURE__ */ jsx91("br", {}),
5800
+ /* @__PURE__ */ jsx95("br", {}),
5578
5801
  "When ",
5579
- /* @__PURE__ */ jsx91("a", {
5802
+ /* @__PURE__ */ jsx95("a", {
5580
5803
  href: "/docs/shared-memory-capture",
5581
5804
  children: "shared-memory capture"
5582
5805
  }),
@@ -5593,14 +5816,14 @@ var videoImageFormatOption = {
5593
5816
  value: options.uiVideoImageFormat
5594
5817
  };
5595
5818
  }
5596
- if (commandLine[cliFlag96] !== undefined) {
5597
- const value3 = commandLine[cliFlag96];
5598
- if (!validVideoImageFormats.includes(value3)) {
5599
- throw new Error(`Invalid video image format: ${value3}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5819
+ if (commandLine[cliFlag100] !== undefined) {
5820
+ const value = commandLine[cliFlag100];
5821
+ if (!validVideoImageFormats.includes(value)) {
5822
+ throw new Error(`Invalid video image format: ${value}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5600
5823
  }
5601
5824
  return {
5602
5825
  source: "from --image-format flag",
5603
- value: value3
5826
+ value
5604
5827
  };
5605
5828
  }
5606
5829
  if (options && options.compositionDefaultVideoImageFormat !== null) {
@@ -5641,29 +5864,30 @@ var videoImageFormatOption = {
5641
5864
  value: null
5642
5865
  };
5643
5866
  },
5644
- setConfig: (value3) => {
5645
- if (value3 === null) {
5867
+ setConfig: (value) => {
5868
+ if (value === null) {
5646
5869
  currentVideoImageFormat = null;
5647
5870
  return;
5648
5871
  }
5649
- if (!validVideoImageFormats.includes(value3)) {
5872
+ if (!validVideoImageFormats.includes(value)) {
5650
5873
  throw new TypeError([
5651
- `Value ${value3} is not valid as a video image format.`,
5652
- value3 === "jpg" ? 'Did you mean "jpeg"?' : null
5874
+ `Value ${value} is not valid as a video image format.`,
5875
+ value === "jpg" ? 'Did you mean "jpeg"?' : null
5653
5876
  ].filter(Boolean).join(" "));
5654
5877
  }
5655
- currentVideoImageFormat = value3;
5878
+ currentVideoImageFormat = value;
5656
5879
  },
5657
5880
  id: "video-image-format"
5658
5881
  };
5659
5882
 
5660
5883
  // src/options/webhook-custom-data.tsx
5661
- import { jsxs as jsxs66, Fragment as Fragment92 } from "react/jsx-runtime";
5662
- var cliFlag97 = "webhook-custom-data";
5884
+ import { jsxs as jsxs67, Fragment as Fragment96 } from "react/jsx-runtime";
5885
+ var cliFlag101 = "webhook-custom-data";
5663
5886
  var webhookCustomDataOption = {
5664
5887
  name: "Webhook custom data",
5665
- cliFlag: cliFlag97,
5666
- description: (type) => /* @__PURE__ */ jsxs66(Fragment92, {
5888
+ addedIn: "4.0.25",
5889
+ cliFlag: cliFlag101,
5890
+ description: (type) => /* @__PURE__ */ jsxs67(Fragment96, {
5667
5891
  children: [
5668
5892
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
5669
5893
  " ",
@@ -5679,24 +5903,25 @@ var webhookCustomDataOption = {
5679
5903
  setConfig: () => {
5680
5904
  throw new Error("Not implemented");
5681
5905
  },
5682
- id: cliFlag97
5906
+ id: cliFlag101
5683
5907
  };
5684
5908
 
5685
5909
  // src/options/webpack-poll.tsx
5686
- import { jsx as jsx92, Fragment as Fragment93 } from "react/jsx-runtime";
5687
- var cliFlag98 = "webpack-poll";
5910
+ import { jsx as jsx96, Fragment as Fragment97 } from "react/jsx-runtime";
5911
+ var cliFlag102 = "webpack-poll";
5688
5912
  var webpackPolling = null;
5689
5913
  var webpackPollOption = {
5690
5914
  name: "Webpack Polling",
5691
- cliFlag: cliFlag98,
5692
- description: () => /* @__PURE__ */ jsx92(Fragment93, {
5915
+ addedIn: "3.3.11",
5916
+ cliFlag: cliFlag102,
5917
+ description: () => /* @__PURE__ */ jsx96(Fragment97, {
5693
5918
  children: "Enables Webpack polling instead of the file system event listeners for hot reloading. This is useful if you are inside a virtual machine or have a remote file system. Pass a value in milliseconds."
5694
5919
  }),
5695
5920
  ssrName: null,
5696
5921
  docLink: "https://www.remotion.dev/docs/options/webpack-poll",
5697
5922
  getValue: ({ commandLine }) => {
5698
- if (commandLine[cliFlag98] !== undefined) {
5699
- const val = commandLine[cliFlag98];
5923
+ if (commandLine[cliFlag102] !== undefined) {
5924
+ const val = commandLine[cliFlag102];
5700
5925
  if (typeof val !== "number") {
5701
5926
  throw new TypeError(`Webpack polling must be a number, got ${JSON.stringify(val)}`);
5702
5927
  }
@@ -5716,18 +5941,18 @@ var webpackPollOption = {
5716
5941
  value: null
5717
5942
  };
5718
5943
  },
5719
- setConfig: (value3) => {
5720
- if (typeof value3 !== "number" && value3 !== null) {
5721
- throw new TypeError(`Polling must be a number or null, got ${JSON.stringify(value3)} instead.`);
5944
+ setConfig: (value) => {
5945
+ if (typeof value !== "number" && value !== null) {
5946
+ throw new TypeError(`Polling must be a number or null, got ${JSON.stringify(value)} instead.`);
5722
5947
  }
5723
- webpackPolling = value3;
5948
+ webpackPolling = value;
5724
5949
  },
5725
5950
  type: 0,
5726
- id: cliFlag98
5951
+ id: cliFlag102
5727
5952
  };
5728
5953
 
5729
5954
  // src/options/x264-preset.tsx
5730
- import { jsx as jsx93, jsxs as jsxs67, Fragment as Fragment94 } from "react/jsx-runtime";
5955
+ import { jsx as jsx97, jsxs as jsxs68, Fragment as Fragment98 } from "react/jsx-runtime";
5731
5956
  var x264PresetOptions = [
5732
5957
  "ultrafast",
5733
5958
  "superfast",
@@ -5741,63 +5966,64 @@ var x264PresetOptions = [
5741
5966
  "placebo"
5742
5967
  ];
5743
5968
  var preset = null;
5744
- var cliFlag99 = "x264-preset";
5969
+ var cliFlag103 = "x264-preset";
5745
5970
  var DEFAULT_PRESET = "medium";
5746
5971
  var x264Option = {
5747
5972
  name: "x264 Preset",
5748
- cliFlag: cliFlag99,
5749
- description: () => /* @__PURE__ */ jsxs67(Fragment94, {
5973
+ addedIn: "4.0.22",
5974
+ cliFlag: cliFlag103,
5975
+ description: () => /* @__PURE__ */ jsxs68(Fragment98, {
5750
5976
  children: [
5751
5977
  "Sets a x264 preset profile. Only applies to videos rendered with",
5752
5978
  " ",
5753
- /* @__PURE__ */ jsx93("code", {
5979
+ /* @__PURE__ */ jsx97("code", {
5754
5980
  children: "h264"
5755
5981
  }),
5756
5982
  " codec.",
5757
- /* @__PURE__ */ jsx93("br", {}),
5983
+ /* @__PURE__ */ jsx97("br", {}),
5758
5984
  "Possible values: ",
5759
- /* @__PURE__ */ jsx93("code", {
5985
+ /* @__PURE__ */ jsx97("code", {
5760
5986
  children: "superfast"
5761
5987
  }),
5762
5988
  ", ",
5763
- /* @__PURE__ */ jsx93("code", {
5989
+ /* @__PURE__ */ jsx97("code", {
5764
5990
  children: "veryfast"
5765
5991
  }),
5766
5992
  ",",
5767
5993
  " ",
5768
- /* @__PURE__ */ jsx93("code", {
5994
+ /* @__PURE__ */ jsx97("code", {
5769
5995
  children: "faster"
5770
5996
  }),
5771
5997
  ", ",
5772
- /* @__PURE__ */ jsx93("code", {
5998
+ /* @__PURE__ */ jsx97("code", {
5773
5999
  children: "fast"
5774
6000
  }),
5775
6001
  ", ",
5776
- /* @__PURE__ */ jsx93("code", {
6002
+ /* @__PURE__ */ jsx97("code", {
5777
6003
  children: "medium"
5778
6004
  }),
5779
6005
  ",",
5780
6006
  " ",
5781
- /* @__PURE__ */ jsx93("code", {
6007
+ /* @__PURE__ */ jsx97("code", {
5782
6008
  children: "slow"
5783
6009
  }),
5784
6010
  ", ",
5785
- /* @__PURE__ */ jsx93("code", {
6011
+ /* @__PURE__ */ jsx97("code", {
5786
6012
  children: "slower"
5787
6013
  }),
5788
6014
  ", ",
5789
- /* @__PURE__ */ jsx93("code", {
6015
+ /* @__PURE__ */ jsx97("code", {
5790
6016
  children: "veryslow"
5791
6017
  }),
5792
6018
  ",",
5793
6019
  " ",
5794
- /* @__PURE__ */ jsx93("code", {
6020
+ /* @__PURE__ */ jsx97("code", {
5795
6021
  children: "placebo"
5796
6022
  }),
5797
6023
  ".",
5798
- /* @__PURE__ */ jsx93("br", {}),
6024
+ /* @__PURE__ */ jsx97("br", {}),
5799
6025
  "Default: ",
5800
- /* @__PURE__ */ jsx93("code", {
6026
+ /* @__PURE__ */ jsx97("code", {
5801
6027
  children: DEFAULT_PRESET
5802
6028
  })
5803
6029
  ]
@@ -5806,9 +6032,9 @@ var x264Option = {
5806
6032
  docLink: "https://www.remotion.dev/docs/options/x264-preset",
5807
6033
  type: "fast",
5808
6034
  getValue: ({ commandLine }) => {
5809
- const value3 = commandLine[cliFlag99];
5810
- if (typeof value3 !== "undefined") {
5811
- return { value: value3, source: "cli" };
6035
+ const value = commandLine[cliFlag103];
6036
+ if (typeof value !== "undefined") {
6037
+ return { value, source: "cli" };
5812
6038
  }
5813
6039
  if (preset !== null) {
5814
6040
  return { value: preset, source: "config" };
@@ -5818,11 +6044,12 @@ var x264Option = {
5818
6044
  setConfig: (profile) => {
5819
6045
  preset = profile;
5820
6046
  },
5821
- id: cliFlag99
6047
+ id: cliFlag103
5822
6048
  };
5823
6049
 
5824
6050
  // src/options/index.tsx
5825
6051
  var allOptions = {
6052
+ showPremountingOption,
5826
6053
  allowHtmlInCanvasOption,
5827
6054
  audioCodecOption,
5828
6055
  benchmarkConcurrenciesOption,
@@ -5888,6 +6115,7 @@ var allOptions = {
5888
6115
  darkModeOption,
5889
6116
  defaultCodingAgentOption,
5890
6117
  defaultEditorOption,
6118
+ defaultPremountInSecondsOption,
5891
6119
  publicLicenseKeyOption,
5892
6120
  isProductionOption,
5893
6121
  askAIOption,
@@ -5898,6 +6126,8 @@ var allOptions = {
5898
6126
  forceNewStudioOption,
5899
6127
  experimentalKeepAudioContextAliveOption,
5900
6128
  experimentalTracksOption,
6129
+ experimentalSequenceActivityOption,
6130
+ experimentalSequenceActivityLimitOption,
5901
6131
  numberOfSharedAudioTagsOption,
5902
6132
  ipv4Option,
5903
6133
  stillImageFormatOption,
@@ -6099,40 +6329,40 @@ var optionsMap = {
6099
6329
  };
6100
6330
 
6101
6331
  // src/validate-output-filename.ts
6102
- import { NoReactInternals as NoReactInternals6 } from "remotion/no-react";
6332
+ import { NoReactInternals as NoReactInternals8 } from "remotion/no-react";
6103
6333
  var validateOutputFilename = ({
6104
- codec: codec2,
6334
+ codec,
6105
6335
  audioCodecSetting,
6106
6336
  extension,
6107
6337
  preferLossless,
6108
6338
  separateAudioTo
6109
6339
  }) => {
6110
- if (!defaultFileExtensionMap[codec2]) {
6111
- throw new TypeError(`The codec "${codec2}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
6340
+ if (!defaultFileExtensionMap[codec]) {
6341
+ throw new TypeError(`The codec "${codec}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
6112
6342
  }
6113
6343
  const normalizedExtension = extension === null ? null : extension.toLowerCase();
6114
- if (NoReactInternals6.ENABLE_V5_BREAKING_CHANGES && codec2 === "aac" && (normalizedExtension === "mpg" || normalizedExtension === "mpeg")) {
6344
+ if (NoReactInternals8.ENABLE_V5_BREAKING_CHANGES && codec === "aac" && (normalizedExtension === "mpg" || normalizedExtension === "mpeg")) {
6115
6345
  throw new Error("AAC output with .mpg or .mpeg extensions is not supported. Use .aac for raw ADTS AAC or .m4a for an MPEG-4 audio container.");
6116
6346
  }
6117
- const map = defaultFileExtensionMap[codec2];
6347
+ const map = defaultFileExtensionMap[codec];
6118
6348
  const resolvedAudioCodec = resolveAudioCodec({
6119
- codec: codec2,
6349
+ codec,
6120
6350
  preferLossless,
6121
6351
  setting: audioCodecSetting,
6122
6352
  separateAudioTo
6123
6353
  });
6124
6354
  if (resolvedAudioCodec === null) {
6125
6355
  if (normalizedExtension !== map.default) {
6126
- throw new TypeError(`When using the ${codec2} codec, the output filename must end in .${map.default}.`);
6356
+ throw new TypeError(`When using the ${codec} codec, the output filename must end in .${map.default}.`);
6127
6357
  }
6128
6358
  return;
6129
6359
  }
6130
6360
  if (!(resolvedAudioCodec in map.forAudioCodec)) {
6131
- throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec2}`);
6361
+ throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec}`);
6132
6362
  }
6133
6363
  const acceptableExtensions = map.forAudioCodec[resolvedAudioCodec].possible;
6134
6364
  if (!acceptableExtensions.includes(normalizedExtension) && !separateAudioTo) {
6135
- throw new TypeError(`When using the ${codec2} codec with the ${resolvedAudioCodec} audio codec, the output filename must end in one of the following: ${acceptableExtensions.join(", ")}.`);
6365
+ throw new TypeError(`When using the ${codec} codec with the ${resolvedAudioCodec} audio codec, the output filename must end in one of the following: ${acceptableExtensions.join(", ")}.`);
6136
6366
  }
6137
6367
  };
6138
6368
 
@@ -6145,7 +6375,7 @@ var BrowserSafeApis = {
6145
6375
  validAudioCodecs,
6146
6376
  getDefaultCrfForCodec,
6147
6377
  getValidCrfRanges,
6148
- proResProfileOptions: NoReactInternals7.proResProfileOptions,
6378
+ proResProfileOptions: NoReactInternals9.proResProfileOptions,
6149
6379
  x264PresetOptions,
6150
6380
  hardwareAccelerationOptions,
6151
6381
  validPixelFormats,
@@ -6173,10 +6403,10 @@ var BrowserSafeApis = {
6173
6403
  validChromeModeOptions
6174
6404
  };
6175
6405
  export {
6176
- defaultEditorIds,
6177
- defaultCodingAgentIds,
6178
- customEditorTargetPathPlaceholder,
6179
- customEditorLineNumberPlaceholder,
6406
+ BrowserSafeApis,
6180
6407
  customEditorColumnNumberPlaceholder,
6181
- BrowserSafeApis
6408
+ customEditorLineNumberPlaceholder,
6409
+ customEditorTargetPathPlaceholder,
6410
+ defaultCodingAgentIds,
6411
+ defaultEditorIds
6182
6412
  };