@remotion/renderer 4.0.534 → 4.0.536

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 (236) hide show
  1. package/dist/browser/BrowserPage.js +9 -4
  2. package/dist/client.d.ts +303 -7
  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 +727 -541
  9. package/dist/esm/index.mjs +409 -359
  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/mime-db.js +5 -0
  14. package/dist/mux-video-and-audio.js +3 -0
  15. package/dist/options/allow-html-in-canvas.d.ts +1 -0
  16. package/dist/options/allow-html-in-canvas.js +1 -0
  17. package/dist/options/api-key.d.ts +1 -0
  18. package/dist/options/api-key.js +1 -0
  19. package/dist/options/ask-ai.d.ts +1 -0
  20. package/dist/options/ask-ai.js +1 -0
  21. package/dist/options/audio-bitrate.d.ts +1 -0
  22. package/dist/options/audio-bitrate.js +1 -0
  23. package/dist/options/audio-codec.d.ts +1 -0
  24. package/dist/options/audio-codec.js +1 -0
  25. package/dist/options/beep-on-finish.d.ts +1 -0
  26. package/dist/options/beep-on-finish.js +1 -0
  27. package/dist/options/benchmark-concurrencies.d.ts +1 -0
  28. package/dist/options/benchmark-concurrencies.js +1 -0
  29. package/dist/options/binaries-directory.d.ts +1 -0
  30. package/dist/options/binaries-directory.js +1 -0
  31. package/dist/options/browser-executable.d.ts +1 -0
  32. package/dist/options/browser-executable.js +1 -0
  33. package/dist/options/browser.d.ts +1 -0
  34. package/dist/options/browser.js +1 -0
  35. package/dist/options/bundle-cache.d.ts +1 -0
  36. package/dist/options/bundle-cache.js +1 -0
  37. package/dist/options/canvas-tabs.d.ts +1 -0
  38. package/dist/options/canvas-tabs.js +1 -0
  39. package/dist/options/chrome-mode.d.ts +1 -0
  40. package/dist/options/chrome-mode.js +1 -0
  41. package/dist/options/color-space.d.ts +1 -0
  42. package/dist/options/color-space.js +1 -0
  43. package/dist/options/concurrency.d.ts +1 -0
  44. package/dist/options/concurrency.js +1 -0
  45. package/dist/options/config.d.ts +1 -0
  46. package/dist/options/config.js +1 -0
  47. package/dist/options/crf.d.ts +1 -0
  48. package/dist/options/crf.js +1 -0
  49. package/dist/options/cross-site-isolation.d.ts +1 -0
  50. package/dist/options/cross-site-isolation.js +1 -0
  51. package/dist/options/dark-mode.d.ts +1 -0
  52. package/dist/options/dark-mode.js +1 -0
  53. package/dist/options/default-coding-agent.d.ts +1 -0
  54. package/dist/options/default-coding-agent.js +1 -0
  55. package/dist/options/default-editor.d.ts +1 -0
  56. package/dist/options/default-editor.js +1 -0
  57. package/dist/options/default-premount-in-seconds.d.ts +19 -0
  58. package/dist/options/default-premount-in-seconds.js +36 -0
  59. package/dist/options/delete-after.d.ts +1 -0
  60. package/dist/options/delete-after.js +1 -0
  61. package/dist/options/disable-git-source.d.ts +1 -0
  62. package/dist/options/disable-git-source.js +1 -0
  63. package/dist/options/disable-shared-memory-capture.d.ts +1 -0
  64. package/dist/options/disable-shared-memory-capture.js +1 -0
  65. package/dist/options/disable-web-security.d.ts +1 -0
  66. package/dist/options/disable-web-security.js +1 -0
  67. package/dist/options/disallow-parallel-encoding.d.ts +1 -0
  68. package/dist/options/disallow-parallel-encoding.js +1 -0
  69. package/dist/options/enable-cancellation.d.ts +1 -0
  70. package/dist/options/enable-cancellation.js +1 -0
  71. package/dist/options/enable-lambda-insights.d.ts +1 -0
  72. package/dist/options/enable-lambda-insights.js +1 -0
  73. package/dist/options/enable-multiprocess-on-linux.d.ts +1 -0
  74. package/dist/options/enable-multiprocess-on-linux.js +1 -0
  75. package/dist/options/encoding-buffer-size.d.ts +1 -0
  76. package/dist/options/encoding-buffer-size.js +1 -0
  77. package/dist/options/encoding-max-rate.d.ts +1 -0
  78. package/dist/options/encoding-max-rate.js +1 -0
  79. package/dist/options/enforce-audio.d.ts +1 -0
  80. package/dist/options/enforce-audio.js +1 -0
  81. package/dist/options/env-file.d.ts +1 -0
  82. package/dist/options/env-file.js +1 -0
  83. package/dist/options/every-nth-frame.d.ts +1 -0
  84. package/dist/options/every-nth-frame.js +1 -0
  85. package/dist/options/experimental-keep-audio-context-alive.d.ts +1 -0
  86. package/dist/options/experimental-keep-audio-context-alive.js +1 -0
  87. package/dist/options/experimental-sequence-activity-limit.d.ts +19 -0
  88. package/dist/options/experimental-sequence-activity-limit.js +40 -0
  89. package/dist/options/experimental-sequence-activity.d.ts +19 -0
  90. package/dist/options/experimental-sequence-activity.js +38 -0
  91. package/dist/options/experimental-tracks.d.ts +1 -0
  92. package/dist/options/experimental-tracks.js +1 -0
  93. package/dist/options/folder-expiry.d.ts +1 -0
  94. package/dist/options/folder-expiry.js +1 -0
  95. package/dist/options/for-seamless-aac-concatenation.d.ts +1 -0
  96. package/dist/options/for-seamless-aac-concatenation.js +1 -0
  97. package/dist/options/force-new-studio.d.ts +1 -0
  98. package/dist/options/force-new-studio.js +1 -0
  99. package/dist/options/frames.d.ts +1 -0
  100. package/dist/options/frames.js +1 -0
  101. package/dist/options/gl.d.ts +1 -0
  102. package/dist/options/gl.js +1 -0
  103. package/dist/options/gop-size.d.ts +1 -0
  104. package/dist/options/gop-size.js +1 -0
  105. package/dist/options/hardware-acceleration.d.ts +1 -0
  106. package/dist/options/hardware-acceleration.js +1 -0
  107. package/dist/options/headless.d.ts +1 -0
  108. package/dist/options/headless.js +1 -0
  109. package/dist/options/ignore-certificate-errors.d.ts +1 -0
  110. package/dist/options/ignore-certificate-errors.js +1 -0
  111. package/dist/options/image-sequence-pattern.d.ts +1 -0
  112. package/dist/options/image-sequence-pattern.js +1 -0
  113. package/dist/options/image-sequence.d.ts +1 -0
  114. package/dist/options/image-sequence.js +1 -0
  115. package/dist/options/index.d.ts +163 -7
  116. package/dist/options/index.js +8 -2
  117. package/dist/options/interactivity.d.ts +1 -0
  118. package/dist/options/interactivity.js +1 -0
  119. package/dist/options/ipv4.d.ts +1 -0
  120. package/dist/options/ipv4.js +1 -0
  121. package/dist/options/is-production.d.ts +1 -0
  122. package/dist/options/is-production.js +1 -0
  123. package/dist/options/jpeg-quality.d.ts +1 -0
  124. package/dist/options/jpeg-quality.js +1 -0
  125. package/dist/options/keyboard-shortcuts.d.ts +1 -0
  126. package/dist/options/keyboard-shortcuts.js +1 -0
  127. package/dist/options/latency-hint.d.ts +1 -0
  128. package/dist/options/latency-hint.js +1 -0
  129. package/dist/options/license-key.d.ts +1 -0
  130. package/dist/options/license-key.js +1 -0
  131. package/dist/options/log-level.d.ts +1 -0
  132. package/dist/options/log-level.js +1 -0
  133. package/dist/options/metadata.d.ts +1 -0
  134. package/dist/options/metadata.js +1 -0
  135. package/dist/options/mute.d.ts +1 -0
  136. package/dist/options/mute.js +1 -0
  137. package/dist/options/no-open.d.ts +1 -0
  138. package/dist/options/no-open.js +1 -0
  139. package/dist/options/number-of-gif-loops.d.ts +1 -0
  140. package/dist/options/number-of-gif-loops.js +1 -0
  141. package/dist/options/number-of-shared-audio-tags.d.ts +1 -0
  142. package/dist/options/number-of-shared-audio-tags.js +1 -0
  143. package/dist/options/offthreadvideo-cache-size.d.ts +1 -0
  144. package/dist/options/offthreadvideo-cache-size.js +1 -0
  145. package/dist/options/offthreadvideo-threads.d.ts +1 -0
  146. package/dist/options/offthreadvideo-threads.js +1 -0
  147. package/dist/options/on-browser-download.d.ts +1 -0
  148. package/dist/options/on-browser-download.js +1 -0
  149. package/dist/options/option.d.ts +1 -0
  150. package/dist/options/options-map.d.ts +140 -0
  151. package/dist/options/out-dir.d.ts +1 -0
  152. package/dist/options/out-dir.js +1 -0
  153. package/dist/options/override-duration.d.ts +1 -0
  154. package/dist/options/override-duration.js +1 -0
  155. package/dist/options/override-fps.d.ts +1 -0
  156. package/dist/options/override-fps.js +1 -0
  157. package/dist/options/override-height.d.ts +1 -0
  158. package/dist/options/override-height.js +1 -0
  159. package/dist/options/override-width.d.ts +1 -0
  160. package/dist/options/override-width.js +1 -0
  161. package/dist/options/overwrite.d.ts +1 -0
  162. package/dist/options/overwrite.js +1 -0
  163. package/dist/options/package-manager.d.ts +1 -0
  164. package/dist/options/package-manager.js +1 -0
  165. package/dist/options/pixel-format.d.ts +1 -0
  166. package/dist/options/pixel-format.js +1 -0
  167. package/dist/options/port.d.ts +1 -0
  168. package/dist/options/port.js +1 -0
  169. package/dist/options/prefer-lossless.d.ts +1 -0
  170. package/dist/options/prefer-lossless.js +1 -0
  171. package/dist/options/preview-sample-rate.d.ts +1 -0
  172. package/dist/options/preview-sample-rate.js +1 -0
  173. package/dist/options/props.d.ts +1 -0
  174. package/dist/options/props.js +1 -0
  175. package/dist/options/prores-profile.d.ts +1 -0
  176. package/dist/options/prores-profile.js +1 -0
  177. package/dist/options/public-dir.d.ts +1 -0
  178. package/dist/options/public-dir.js +1 -0
  179. package/dist/options/public-license-key.d.ts +1 -0
  180. package/dist/options/public-license-key.js +1 -0
  181. package/dist/options/public-path.d.ts +1 -0
  182. package/dist/options/public-path.js +1 -0
  183. package/dist/options/repro.d.ts +1 -0
  184. package/dist/options/repro.js +1 -0
  185. package/dist/options/rspack.d.ts +1 -0
  186. package/dist/options/rspack.js +1 -0
  187. package/dist/options/runs.d.ts +1 -0
  188. package/dist/options/runs.js +1 -0
  189. package/dist/options/sample-rate.d.ts +1 -0
  190. package/dist/options/sample-rate.js +1 -0
  191. package/dist/options/scale.d.ts +1 -0
  192. package/dist/options/scale.js +1 -0
  193. package/dist/options/separate-audio.d.ts +1 -0
  194. package/dist/options/separate-audio.js +2 -1
  195. package/dist/options/sequence-activity-limit.d.ts +19 -0
  196. package/dist/options/sequence-activity-limit.js +44 -0
  197. package/dist/options/show-layer-frame-numbers.d.ts +19 -0
  198. package/dist/options/show-layer-frame-numbers.js +34 -0
  199. package/dist/options/{experimental-client-side-rendering.d.ts → show-premounting.d.ts} +6 -3
  200. package/dist/options/show-premounting.js +33 -0
  201. package/dist/options/skip-skills.d.ts +1 -0
  202. package/dist/options/skip-skills.js +1 -0
  203. package/dist/options/still-frame.d.ts +1 -0
  204. package/dist/options/still-frame.js +1 -0
  205. package/dist/options/still-image-format.d.ts +1 -0
  206. package/dist/options/still-image-format.js +1 -0
  207. package/dist/options/throw-if-site-exists.d.ts +1 -0
  208. package/dist/options/throw-if-site-exists.js +1 -0
  209. package/dist/options/timeout.d.ts +1 -0
  210. package/dist/options/timeout.js +1 -0
  211. package/dist/options/user-agent.d.ts +1 -0
  212. package/dist/options/user-agent.js +1 -0
  213. package/dist/options/version-flag.d.ts +1 -0
  214. package/dist/options/version-flag.js +1 -0
  215. package/dist/options/video-bitrate.d.ts +1 -0
  216. package/dist/options/video-bitrate.js +1 -0
  217. package/dist/options/video-cache-size.d.ts +1 -0
  218. package/dist/options/video-cache-size.js +1 -0
  219. package/dist/options/video-codec.d.ts +1 -0
  220. package/dist/options/video-codec.js +1 -0
  221. package/dist/options/video-image-format.d.ts +1 -0
  222. package/dist/options/video-image-format.js +1 -0
  223. package/dist/options/webhook-custom-data.d.ts +1 -0
  224. package/dist/options/webhook-custom-data.js +1 -0
  225. package/dist/options/webpack-poll.d.ts +1 -0
  226. package/dist/options/webpack-poll.js +1 -0
  227. package/dist/options/x264-preset.d.ts +1 -0
  228. package/dist/options/x264-preset.js +1 -0
  229. package/dist/prespawn-ffmpeg.js +10 -5
  230. package/dist/stringify-ffmpeg-filter.js +8 -4
  231. package/package.json +16 -14
  232. package/dist/options/experimental-client-side-rendering.js +0 -30
  233. package/dist/prestitcher-memory-usage.d.ts +0 -13
  234. package/dist/prestitcher-memory-usage.js +0 -33
  235. package/dist/render-partitions.d.ts +0 -7
  236. package/dist/render-partitions.js +0 -50
@@ -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."
@@ -2313,53 +2356,6 @@ var experimentalKeepAudioContextAliveOption = {
2313
2356
  ssrName: null,
2314
2357
  docLink: "https://www.remotion.dev/docs/options/experimental-keep-audio-context-alive",
2315
2358
  type: false,
2316
- getValue: ({ commandLine }) => {
2317
- if (commandLine[cliFlag36] !== undefined && commandLine[cliFlag36] !== null) {
2318
- return {
2319
- value: commandLine[cliFlag36],
2320
- source: "cli"
2321
- };
2322
- }
2323
- return {
2324
- value: experimentalKeepAudioContextAlive,
2325
- source: "config"
2326
- };
2327
- },
2328
- setConfig(value) {
2329
- experimentalKeepAudioContextAlive = value;
2330
- },
2331
- id: cliFlag36
2332
- };
2333
-
2334
- // src/options/experimental-tracks.tsx
2335
- import { jsx as jsx34, jsxs as jsxs26, Fragment as Fragment34 } from "react/jsx-runtime";
2336
- var experimentalTracksEnabled = false;
2337
- var configuredExperimentalTracksEnabled = null;
2338
- var cliFlag37 = "experimental-tracks";
2339
- var experimentalTracksOption = {
2340
- name: "Enable experimental timeline tracks",
2341
- cliFlag: cliFlag37,
2342
- description: () => /* @__PURE__ */ jsxs26(Fragment34, {
2343
- children: [
2344
- "Enable experimental timeline tracks in the Remotion Studio. Group clips from ",
2345
- /* @__PURE__ */ jsx34("code", {
2346
- children: "<Track>"
2347
- }),
2348
- ", ",
2349
- /* @__PURE__ */ jsx34("code", {
2350
- children: "<Series>"
2351
- }),
2352
- " and",
2353
- " ",
2354
- /* @__PURE__ */ jsx34("code", {
2355
- children: "<TransitionSeries>"
2356
- }),
2357
- " on shared rows, with overlays on additional rows. Disabled by default."
2358
- ]
2359
- }),
2360
- ssrName: null,
2361
- docLink: "https://www.remotion.dev/docs/options/experimental-tracks",
2362
- type: false,
2363
2359
  getValue: ({ commandLine }) => {
2364
2360
  if (commandLine[cliFlag37] !== undefined && commandLine[cliFlag37] !== null) {
2365
2361
  return {
@@ -2368,31 +2364,26 @@ var experimentalTracksOption = {
2368
2364
  };
2369
2365
  }
2370
2366
  return {
2371
- value: experimentalTracksEnabled,
2367
+ value: experimentalKeepAudioContextAlive,
2372
2368
  source: "config"
2373
2369
  };
2374
2370
  },
2375
2371
  setConfig(value) {
2376
- experimentalTracksEnabled = value;
2377
- configuredExperimentalTracksEnabled = value;
2378
- },
2379
- getConfigValue: () => configuredExperimentalTracksEnabled,
2380
- reset: () => {
2381
- experimentalTracksEnabled = false;
2382
- configuredExperimentalTracksEnabled = null;
2372
+ experimentalKeepAudioContextAlive = value;
2383
2373
  },
2384
2374
  id: cliFlag37
2385
2375
  };
2386
2376
 
2387
2377
  // src/options/folder-expiry.tsx
2388
- import { jsx as jsx35, jsxs as jsxs27, Fragment as Fragment35 } from "react/jsx-runtime";
2378
+ import { jsx as jsx35, jsxs as jsxs26, Fragment as Fragment35 } from "react/jsx-runtime";
2389
2379
  var enableFolderExpiry = null;
2390
2380
  var cliFlag38 = "enable-folder-expiry";
2391
2381
  var folderExpiryOption = {
2392
2382
  name: "Lambda render expiration",
2383
+ addedIn: "4.0.32",
2393
2384
  cliFlag: cliFlag38,
2394
2385
  description: () => {
2395
- return /* @__PURE__ */ jsxs27(Fragment35, {
2386
+ return /* @__PURE__ */ jsxs26(Fragment35, {
2396
2387
  children: [
2397
2388
  "When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is",
2398
2389
  " ",
@@ -2436,14 +2427,15 @@ var folderExpiryOption = {
2436
2427
  };
2437
2428
 
2438
2429
  // src/options/for-seamless-aac-concatenation.tsx
2439
- import { jsx as jsx36, jsxs as jsxs28, Fragment as Fragment36 } from "react/jsx-runtime";
2430
+ import { jsx as jsx36, jsxs as jsxs27, Fragment as Fragment36 } from "react/jsx-runtime";
2440
2431
  var DEFAULT3 = false;
2441
2432
  var forSeamlessAacConcatenation = DEFAULT3;
2442
2433
  var cliFlag39 = "for-seamless-aac-concatenation";
2443
2434
  var forSeamlessAacConcatenationOption = {
2444
2435
  name: "For seamless AAC concatenation",
2436
+ addedIn: "4.0.123",
2445
2437
  cliFlag: cliFlag39,
2446
- description: () => /* @__PURE__ */ jsxs28(Fragment36, {
2438
+ description: () => /* @__PURE__ */ jsxs27(Fragment36, {
2447
2439
  children: [
2448
2440
  "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
2441
  /* @__PURE__ */ jsx36("br", {}),
@@ -2484,6 +2476,7 @@ var forceNewEnabled = false;
2484
2476
  var cliFlag40 = "force-new";
2485
2477
  var forceNewStudioOption = {
2486
2478
  name: "Force New Studio",
2479
+ addedIn: "4.0.421",
2487
2480
  cliFlag: cliFlag40,
2488
2481
  description: () => /* @__PURE__ */ jsx37(Fragment37, {
2489
2482
  children: "Forces starting a new Studio instance even if one is already running on the same port for the same project."
@@ -2625,7 +2618,7 @@ var validateSelectedFrames = ({
2625
2618
  };
2626
2619
 
2627
2620
  // src/options/frames.tsx
2628
- import { jsx as jsx38, jsxs as jsxs29, Fragment as Fragment38 } from "react/jsx-runtime";
2621
+ import { jsx as jsx38, jsxs as jsxs28, Fragment as Fragment38 } from "react/jsx-runtime";
2629
2622
  var cliFlag41 = "frames";
2630
2623
  var frameSelection = null;
2631
2624
  var parseFrameRangeFromCli = (newFrameRange) => {
@@ -2703,8 +2696,9 @@ var parseFrameRangeFromCli = (newFrameRange) => {
2703
2696
  };
2704
2697
  var framesOption = {
2705
2698
  name: "Frame Range",
2699
+ addedIn: "2.0.0",
2706
2700
  cliFlag: cliFlag41,
2707
- description: () => /* @__PURE__ */ jsxs29(Fragment38, {
2701
+ description: () => /* @__PURE__ */ jsxs28(Fragment38, {
2708
2702
  children: [
2709
2703
  "Render a subset of a video. Pass a single number to render a still, or a range (e.g. ",
2710
2704
  /* @__PURE__ */ jsx38("code", {
@@ -2754,8 +2748,8 @@ var framesOption = {
2754
2748
  };
2755
2749
 
2756
2750
  // 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";
2751
+ import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
2752
+ import { jsx as jsx39, jsxs as jsxs29, Fragment as Fragment39 } from "react/jsx-runtime";
2759
2753
  var validOpenGlRenderers = [
2760
2754
  "swangle",
2761
2755
  "angle",
@@ -2767,18 +2761,18 @@ var validOpenGlRenderers = [
2767
2761
  var getDefaultOpenGlRenderer = (enableV5BreakingChanges) => {
2768
2762
  return enableV5BreakingChanges ? "angle" : null;
2769
2763
  };
2770
- var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals3.ENABLE_V5_BREAKING_CHANGES);
2764
+ var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals4.ENABLE_V5_BREAKING_CHANGES);
2771
2765
  var openGlRenderer = DEFAULT_OPENGL_RENDERER;
2772
2766
  var AngleChangelog = () => {
2773
- return /* @__PURE__ */ jsxs30("details", {
2767
+ return /* @__PURE__ */ jsxs29("details", {
2774
2768
  style: { fontSize: "0.9em", marginBottom: "1em" },
2775
2769
  children: [
2776
2770
  /* @__PURE__ */ jsx39("summary", {
2777
2771
  children: "Changelog"
2778
2772
  }),
2779
- /* @__PURE__ */ jsxs30("ul", {
2773
+ /* @__PURE__ */ jsxs29("ul", {
2780
2774
  children: [
2781
- /* @__PURE__ */ jsxs30("li", {
2775
+ /* @__PURE__ */ jsxs29("li", {
2782
2776
  children: [
2783
2777
  "From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was",
2784
2778
  " ",
@@ -2793,7 +2787,7 @@ var AngleChangelog = () => {
2793
2787
  " (Swiftshader on Angle) since Chrome 101 added support for it."
2794
2788
  ]
2795
2789
  }),
2796
- /* @__PURE__ */ jsxs30("li", {
2790
+ /* @__PURE__ */ jsxs29("li", {
2797
2791
  children: [
2798
2792
  "From Remotion v2.4.3 until v2.6.6, the default was ",
2799
2793
  /* @__PURE__ */ jsx39("code", {
@@ -2802,7 +2796,7 @@ var AngleChangelog = () => {
2802
2796
  ", however it turns out to have a small memory leak that could crash long Remotion renders."
2803
2797
  ]
2804
2798
  }),
2805
- NoReactInternals3.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs30("li", {
2799
+ NoReactInternals4.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs29("li", {
2806
2800
  children: [
2807
2801
  "From Remotion v5.0, the default is ",
2808
2802
  /* @__PURE__ */ jsx39("code", {
@@ -2821,20 +2815,21 @@ var glOption = {
2821
2815
  cliFlag: cliFlag42,
2822
2816
  docLink: "https://www.remotion.dev/docs/options/gl",
2823
2817
  name: "OpenGL renderer",
2818
+ addedIn: "2.6.5",
2824
2819
  type: "angle",
2825
2820
  ssrName: "gl",
2826
2821
  description: () => {
2827
- return /* @__PURE__ */ jsxs30(Fragment39, {
2822
+ return /* @__PURE__ */ jsxs29(Fragment39, {
2828
2823
  children: [
2829
2824
  /* @__PURE__ */ jsx39(AngleChangelog, {}),
2830
- /* @__PURE__ */ jsxs30("p", {
2825
+ /* @__PURE__ */ jsxs29("p", {
2831
2826
  children: [
2832
2827
  "Select the OpenGL renderer backend for Chromium. ",
2833
2828
  /* @__PURE__ */ jsx39("br", {}),
2834
2829
  "Accepted values:"
2835
2830
  ]
2836
2831
  }),
2837
- /* @__PURE__ */ jsxs30("ul", {
2832
+ /* @__PURE__ */ jsxs29("ul", {
2838
2833
  children: [
2839
2834
  /* @__PURE__ */ jsx39("li", {
2840
2835
  children: /* @__PURE__ */ jsx39("code", {
@@ -2856,7 +2851,7 @@ var glOption = {
2856
2851
  children: '"swangle"'
2857
2852
  })
2858
2853
  }),
2859
- /* @__PURE__ */ jsxs30("li", {
2854
+ /* @__PURE__ */ jsxs29("li", {
2860
2855
  children: [
2861
2856
  /* @__PURE__ */ jsx39("code", {
2862
2857
  children: '"vulkan"'
@@ -2868,7 +2863,7 @@ var glOption = {
2868
2863
  ")"
2869
2864
  ]
2870
2865
  }),
2871
- /* @__PURE__ */ jsxs30("li", {
2866
+ /* @__PURE__ */ jsxs29("li", {
2872
2867
  children: [
2873
2868
  /* @__PURE__ */ jsx39("code", {
2874
2869
  children: '"angle-egl"'
@@ -2882,7 +2877,7 @@ var glOption = {
2882
2877
  })
2883
2878
  ]
2884
2879
  }),
2885
- /* @__PURE__ */ jsxs30("p", {
2880
+ /* @__PURE__ */ jsxs29("p", {
2886
2881
  children: [
2887
2882
  "The default is",
2888
2883
  " ",
@@ -2924,18 +2919,18 @@ var glOption = {
2924
2919
  },
2925
2920
  id: cliFlag42
2926
2921
  };
2927
- var validateOpenGlRenderer = (option2) => {
2928
- if (option2 === null) {
2922
+ var validateOpenGlRenderer = (option) => {
2923
+ if (option === null) {
2929
2924
  return null;
2930
2925
  }
2931
- if (!validOpenGlRenderers.includes(option2)) {
2932
- throw new TypeError(`${option2} is not a valid GL backend. Accepted values: ${validOpenGlRenderers.join(", ")}`);
2926
+ if (!validOpenGlRenderers.includes(option)) {
2927
+ throw new TypeError(`${option} is not a valid GL backend. Accepted values: ${validOpenGlRenderers.join(", ")}`);
2933
2928
  }
2934
- return option2;
2929
+ return option;
2935
2930
  };
2936
2931
 
2937
2932
  // src/options/gop-size.tsx
2938
- import { jsx as jsx40, jsxs as jsxs31, Fragment as Fragment40 } from "react/jsx-runtime";
2933
+ import { jsx as jsx40, jsxs as jsxs30, Fragment as Fragment40 } from "react/jsx-runtime";
2939
2934
  var gopSize = null;
2940
2935
  var validateGopSize = (value) => {
2941
2936
  if (value === null) {
@@ -2948,8 +2943,9 @@ var validateGopSize = (value) => {
2948
2943
  var cliFlag43 = "gop";
2949
2944
  var gopSizeOption = {
2950
2945
  name: "GOP size",
2946
+ addedIn: "4.0.466",
2951
2947
  cliFlag: cliFlag43,
2952
- description: () => /* @__PURE__ */ jsxs31(Fragment40, {
2948
+ description: () => /* @__PURE__ */ jsxs30(Fragment40, {
2953
2949
  children: [
2954
2950
  "Set the maximum number of frames between two keyframes. This maps to FFmpeg's ",
2955
2951
  /* @__PURE__ */ jsx40("code", {
@@ -2986,6 +2982,7 @@ var cliFlag44 = "hardware-acceleration";
2986
2982
  var currentValue = null;
2987
2983
  var hardwareAccelerationOption = {
2988
2984
  name: "Hardware Acceleration",
2985
+ addedIn: "4.0.228",
2989
2986
  cliFlag: cliFlag44,
2990
2987
  description: () => `
2991
2988
  One of
@@ -3029,14 +3026,15 @@ var hardwareAccelerationOption = {
3029
3026
  };
3030
3027
 
3031
3028
  // src/options/headless.tsx
3032
- import { jsx as jsx41, jsxs as jsxs32, Fragment as Fragment41 } from "react/jsx-runtime";
3029
+ import { jsx as jsx41, jsxs as jsxs31, Fragment as Fragment41 } from "react/jsx-runtime";
3033
3030
  var DEFAULT4 = true;
3034
3031
  var headlessMode = DEFAULT4;
3035
3032
  var cliFlag45 = "disable-headless";
3036
3033
  var headlessOption = {
3037
3034
  name: "Disable Headless Mode",
3035
+ addedIn: "2.6.5",
3038
3036
  cliFlag: cliFlag45,
3039
- description: () => /* @__PURE__ */ jsxs32(Fragment41, {
3037
+ description: () => /* @__PURE__ */ jsxs31(Fragment41, {
3040
3038
  children: [
3041
3039
  "If disabled, the render will open an actual Chrome window where you can see the render happen. This requires",
3042
3040
  " ",
@@ -3081,6 +3079,7 @@ var ignoreCertificateErrors = false;
3081
3079
  var cliFlag46 = "ignore-certificate-errors";
3082
3080
  var ignoreCertificateErrorsOption = {
3083
3081
  name: "Ignore certificate errors",
3082
+ addedIn: "2.6.5",
3084
3083
  cliFlag: cliFlag46,
3085
3084
  description: () => /* @__PURE__ */ jsx42(Fragment42, {
3086
3085
  children: "Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored."
@@ -3113,13 +3112,14 @@ var ignoreCertificateErrorsOption = {
3113
3112
  };
3114
3113
 
3115
3114
  // src/options/image-sequence.tsx
3116
- import { jsx as jsx43, jsxs as jsxs33, Fragment as Fragment43 } from "react/jsx-runtime";
3115
+ import { jsx as jsx43, jsxs as jsxs32, Fragment as Fragment43 } from "react/jsx-runtime";
3117
3116
  var cliFlag47 = "sequence";
3118
3117
  var imageSequence = false;
3119
3118
  var imageSequenceOption = {
3120
3119
  name: "Image Sequence",
3120
+ addedIn: "1.4.0",
3121
3121
  cliFlag: cliFlag47,
3122
- description: () => /* @__PURE__ */ jsxs33(Fragment43, {
3122
+ description: () => /* @__PURE__ */ jsxs32(Fragment43, {
3123
3123
  children: [
3124
3124
  "Pass this flag to output an image sequence instead of a video. The default image format is JPEG. See",
3125
3125
  " ",
@@ -3155,14 +3155,15 @@ var imageSequenceOption = {
3155
3155
  };
3156
3156
 
3157
3157
  // src/options/image-sequence-pattern.tsx
3158
- import { jsx as jsx44, jsxs as jsxs34, Fragment as Fragment44 } from "react/jsx-runtime";
3158
+ import { jsx as jsx44, jsxs as jsxs33, Fragment as Fragment44 } from "react/jsx-runtime";
3159
3159
  var cliFlag48 = "image-sequence-pattern";
3160
3160
  var currentImageSequencePattern = null;
3161
3161
  var imageSequencePatternOption = {
3162
3162
  name: "Image Sequence Pattern",
3163
+ addedIn: "4.0.313",
3163
3164
  cliFlag: cliFlag48,
3164
3165
  ssrName: "imageSequencePattern",
3165
- description: () => /* @__PURE__ */ jsxs34(Fragment44, {
3166
+ description: () => /* @__PURE__ */ jsxs33(Fragment44, {
3166
3167
  children: [
3167
3168
  "Pattern for naming image sequence files. Supports ",
3168
3169
  /* @__PURE__ */ jsx44("code", {
@@ -3211,6 +3212,7 @@ var configuredInteractivityEnabled = null;
3211
3212
  var cliFlag49 = "disable-interactivity";
3212
3213
  var interactivityOption = {
3213
3214
  name: "Disable or enable Studio interactivity",
3215
+ addedIn: "4.0.487",
3214
3216
  cliFlag: cliFlag49,
3215
3217
  description: () => /* @__PURE__ */ jsx45(Fragment45, {
3216
3218
  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."
@@ -3249,6 +3251,7 @@ var forceIPv4 = false;
3249
3251
  var cliFlag50 = "ipv4";
3250
3252
  var ipv4Option = {
3251
3253
  name: "IPv4",
3254
+ addedIn: "4.0.125",
3252
3255
  cliFlag: cliFlag50,
3253
3256
  description: () => /* @__PURE__ */ jsx46(Fragment46, {
3254
3257
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
@@ -3275,13 +3278,14 @@ var ipv4Option = {
3275
3278
  };
3276
3279
 
3277
3280
  // src/options/is-production.tsx
3278
- import { jsx as jsx47, jsxs as jsxs35, Fragment as Fragment47 } from "react/jsx-runtime";
3281
+ import { jsx as jsx47, jsxs as jsxs34, Fragment as Fragment47 } from "react/jsx-runtime";
3279
3282
  var cliFlag51 = "is-production";
3280
3283
  var currentIsProductionKey = null;
3281
3284
  var isProductionOption = {
3282
3285
  name: "Is Production",
3286
+ addedIn: "4.0.409",
3283
3287
  cliFlag: cliFlag51,
3284
- description: () => /* @__PURE__ */ jsxs35(Fragment47, {
3288
+ description: () => /* @__PURE__ */ jsxs34(Fragment47, {
3285
3289
  children: [
3286
3290
  "Pass ",
3287
3291
  /* @__PURE__ */ jsx47("code", {
@@ -3323,7 +3327,7 @@ var isProductionOption = {
3323
3327
  };
3324
3328
 
3325
3329
  // src/options/jpeg-quality.tsx
3326
- import { jsx as jsx48, jsxs as jsxs36, Fragment as Fragment48 } from "react/jsx-runtime";
3330
+ import { jsx as jsx48, jsxs as jsxs35, Fragment as Fragment48 } from "react/jsx-runtime";
3327
3331
  var defaultValue = DEFAULT_JPEG_QUALITY;
3328
3332
  var quality = defaultValue;
3329
3333
  var setJpegQuality = (q) => {
@@ -3337,8 +3341,9 @@ var setJpegQuality = (q) => {
3337
3341
  var cliFlag52 = "jpeg-quality";
3338
3342
  var jpegQualityOption = {
3339
3343
  name: "JPEG Quality",
3344
+ addedIn: "4.0.0",
3340
3345
  cliFlag: cliFlag52,
3341
- description: () => /* @__PURE__ */ jsxs36(Fragment48, {
3346
+ description: () => /* @__PURE__ */ jsxs35(Fragment48, {
3342
3347
  children: [
3343
3348
  "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80.",
3344
3349
  /* @__PURE__ */ jsx48("br", {}),
@@ -3384,6 +3389,7 @@ var configuredKeyboardShortcutsEnabled = null;
3384
3389
  var cliFlag53 = "disable-keyboard-shortcuts";
3385
3390
  var keyboardShortcutsOption = {
3386
3391
  name: "Disable or Enable keyboard shortcuts",
3392
+ addedIn: "3.2.11",
3387
3393
  cliFlag: cliFlag53,
3388
3394
  description: () => /* @__PURE__ */ jsx49(Fragment49, {
3389
3395
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
@@ -3417,13 +3423,14 @@ var keyboardShortcutsOption = {
3417
3423
  };
3418
3424
 
3419
3425
  // src/options/latency-hint.tsx
3420
- import { jsx as jsx50, jsxs as jsxs37, Fragment as Fragment50 } from "react/jsx-runtime";
3426
+ import { jsx as jsx50, jsxs as jsxs36, Fragment as Fragment50 } from "react/jsx-runtime";
3421
3427
  var cliFlag54 = "audio-latency-hint";
3422
3428
  var value = null;
3423
3429
  var audioLatencyHintOption = {
3424
3430
  name: "Audio Latency Hint",
3431
+ addedIn: "4.0.303",
3425
3432
  cliFlag: cliFlag54,
3426
- description: () => /* @__PURE__ */ jsxs37(Fragment50, {
3433
+ description: () => /* @__PURE__ */ jsxs36(Fragment50, {
3427
3434
  children: [
3428
3435
  "Sets the",
3429
3436
  " ",
@@ -3477,13 +3484,14 @@ var audioLatencyHintOption = {
3477
3484
  };
3478
3485
 
3479
3486
  // src/options/license-key.tsx
3480
- import { jsx as jsx51, jsxs as jsxs38, Fragment as Fragment51 } from "react/jsx-runtime";
3487
+ import { jsx as jsx51, jsxs as jsxs37, Fragment as Fragment51 } from "react/jsx-runtime";
3481
3488
  var currentLicenseKey = null;
3482
3489
  var cliFlag55 = "license-key";
3483
3490
  var licenseKeyOption = {
3484
3491
  name: "License key",
3492
+ addedIn: "4.0.409",
3485
3493
  cliFlag: cliFlag55,
3486
- description: () => /* @__PURE__ */ jsxs38(Fragment51, {
3494
+ description: () => /* @__PURE__ */ jsxs37(Fragment51, {
3487
3495
  children: [
3488
3496
  "License key for sending a usage event using",
3489
3497
  " ",
@@ -3508,22 +3516,23 @@ var licenseKeyOption = {
3508
3516
  value: currentLicenseKey
3509
3517
  };
3510
3518
  },
3511
- setConfig: (value2) => {
3512
- currentLicenseKey = value2;
3519
+ setConfig: (value) => {
3520
+ currentLicenseKey = value;
3513
3521
  },
3514
3522
  id: cliFlag55
3515
3523
  };
3516
3524
 
3517
3525
  // src/options/log-level.tsx
3518
- import { jsx as jsx52, jsxs as jsxs39, Fragment as Fragment52 } from "react/jsx-runtime";
3526
+ import { jsx as jsx52, jsxs as jsxs38, Fragment as Fragment52 } from "react/jsx-runtime";
3519
3527
  var logLevel = "info";
3520
3528
  var configuredLogLevel = null;
3521
3529
  var cliFlag56 = "log";
3522
3530
  var logLevelOption = {
3523
3531
  cliFlag: cliFlag56,
3524
3532
  name: "Log Level",
3533
+ addedIn: "2.0.1",
3525
3534
  ssrName: "logLevel",
3526
- description: () => /* @__PURE__ */ jsxs39(Fragment52, {
3535
+ description: () => /* @__PURE__ */ jsxs38(Fragment52, {
3527
3536
  children: [
3528
3537
  "One of ",
3529
3538
  /* @__PURE__ */ jsx52("code", {
@@ -3585,15 +3594,16 @@ var logLevelOption = {
3585
3594
  };
3586
3595
 
3587
3596
  // src/options/metadata.tsx
3588
- import { jsx as jsx53, jsxs as jsxs40, Fragment as Fragment53 } from "react/jsx-runtime";
3597
+ import { jsx as jsx53, jsxs as jsxs39, Fragment as Fragment53 } from "react/jsx-runtime";
3589
3598
  var metadata = {};
3590
3599
  var cliFlag57 = "metadata";
3591
3600
  var metadataOption = {
3592
3601
  name: "Metadata",
3602
+ addedIn: "4.0.216",
3593
3603
  cliFlag: cliFlag57,
3594
3604
  description: (mode) => {
3595
3605
  if (mode === "ssr") {
3596
- return /* @__PURE__ */ jsxs40(Fragment53, {
3606
+ return /* @__PURE__ */ jsxs39(Fragment53, {
3597
3607
  children: [
3598
3608
  "An object containing metadata to be embedded in the video. See",
3599
3609
  " ",
@@ -3605,7 +3615,7 @@ var metadataOption = {
3605
3615
  ]
3606
3616
  });
3607
3617
  }
3608
- return /* @__PURE__ */ jsxs40(Fragment53, {
3618
+ return /* @__PURE__ */ jsxs39(Fragment53, {
3609
3619
  children: [
3610
3620
  "Metadata to be embedded in the video. See",
3611
3621
  " ",
@@ -3640,10 +3650,10 @@ var metadataOption = {
3640
3650
  }
3641
3651
  return [splitted[0], splitted[1]];
3642
3652
  });
3643
- const value2 = Object.fromEntries(keyValues);
3653
+ const value = Object.fromEntries(keyValues);
3644
3654
  return {
3645
3655
  source: "config",
3646
- value: value2
3656
+ value
3647
3657
  };
3648
3658
  }
3649
3659
  return {
@@ -3665,6 +3675,7 @@ var mutedState = DEFAULT_MUTED_STATE;
3665
3675
  var cliFlag58 = "muted";
3666
3676
  var mutedOption = {
3667
3677
  name: "Muted",
3678
+ addedIn: "3.2.1",
3668
3679
  cliFlag: cliFlag58,
3669
3680
  description: () => /* @__PURE__ */ jsx54(Fragment54, {
3670
3681
  children: "The Audio of the video will be omitted."
@@ -3705,6 +3716,7 @@ var shouldOpenBrowser = true;
3705
3716
  var cliFlag59 = "no-open";
3706
3717
  var noOpenOption = {
3707
3718
  name: "Disable browser auto-open",
3719
+ addedIn: "3.3.19",
3708
3720
  cliFlag: cliFlag59,
3709
3721
  description: () => /* @__PURE__ */ jsx55(Fragment55, {
3710
3722
  children: "If specified, Remotion will not open a browser window when starting the Studio."
@@ -3732,7 +3744,7 @@ var noOpenOption = {
3732
3744
  };
3733
3745
 
3734
3746
  // src/options/number-of-gif-loops.tsx
3735
- import { jsx as jsx56, jsxs as jsxs41, Fragment as Fragment56 } from "react/jsx-runtime";
3747
+ import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
3736
3748
  var currentLoop = null;
3737
3749
  var validate = (newLoop) => {
3738
3750
  if (newLoop !== null && typeof newLoop !== "number") {
@@ -3742,14 +3754,15 @@ var validate = (newLoop) => {
3742
3754
  var cliFlag60 = "number-of-gif-loops";
3743
3755
  var numberOfGifLoopsOption = {
3744
3756
  name: "Number of GIF loops",
3757
+ addedIn: "3.1.0",
3745
3758
  cliFlag: cliFlag60,
3746
3759
  description: () => {
3747
- return /* @__PURE__ */ jsxs41(Fragment56, {
3760
+ return /* @__PURE__ */ jsxs40(Fragment56, {
3748
3761
  children: [
3749
3762
  "Allows you to set the number of loops as follows:",
3750
- /* @__PURE__ */ jsxs41("ul", {
3763
+ /* @__PURE__ */ jsxs40("ul", {
3751
3764
  children: [
3752
- /* @__PURE__ */ jsxs41("li", {
3765
+ /* @__PURE__ */ jsxs40("li", {
3753
3766
  children: [
3754
3767
  /* @__PURE__ */ jsx56("code", {
3755
3768
  children: "null"
@@ -3757,7 +3770,7 @@ var numberOfGifLoopsOption = {
3757
3770
  " (or omitting in the CLI) plays the GIF indefinitely."
3758
3771
  ]
3759
3772
  }),
3760
- /* @__PURE__ */ jsxs41("li", {
3773
+ /* @__PURE__ */ jsxs40("li", {
3761
3774
  children: [
3762
3775
  /* @__PURE__ */ jsx56("code", {
3763
3776
  children: "0"
@@ -3765,7 +3778,7 @@ var numberOfGifLoopsOption = {
3765
3778
  " disables looping"
3766
3779
  ]
3767
3780
  }),
3768
- /* @__PURE__ */ jsxs41("li", {
3781
+ /* @__PURE__ */ jsxs40("li", {
3769
3782
  children: [
3770
3783
  /* @__PURE__ */ jsx56("code", {
3771
3784
  children: "1"
@@ -3773,7 +3786,7 @@ var numberOfGifLoopsOption = {
3773
3786
  " loops the GIF once (plays twice in total)"
3774
3787
  ]
3775
3788
  }),
3776
- /* @__PURE__ */ jsxs41("li", {
3789
+ /* @__PURE__ */ jsxs40("li", {
3777
3790
  children: [
3778
3791
  /* @__PURE__ */ jsx56("code", {
3779
3792
  children: "2"
@@ -3816,14 +3829,15 @@ var numberOfGifLoopsOption = {
3816
3829
  };
3817
3830
 
3818
3831
  // src/options/number-of-shared-audio-tags.tsx
3819
- import { jsx as jsx57, jsxs as jsxs42, Fragment as Fragment57 } from "react/jsx-runtime";
3832
+ import { jsx as jsx57, jsxs as jsxs41, Fragment as Fragment57 } from "react/jsx-runtime";
3820
3833
  var numberOfSharedAudioTags = 0;
3821
3834
  var configuredNumberOfSharedAudioTags = null;
3822
3835
  var cliFlag61 = "number-of-shared-audio-tags";
3823
3836
  var numberOfSharedAudioTagsOption = {
3824
3837
  name: "Number of shared audio tags",
3838
+ addedIn: "3.3.2",
3825
3839
  cliFlag: cliFlag61,
3826
- description: () => /* @__PURE__ */ jsxs42(Fragment57, {
3840
+ description: () => /* @__PURE__ */ jsxs41(Fragment57, {
3827
3841
  children: [
3828
3842
  "Set number of shared audio tags. See",
3829
3843
  " ",
@@ -3850,9 +3864,9 @@ var numberOfSharedAudioTagsOption = {
3850
3864
  source: "config"
3851
3865
  };
3852
3866
  },
3853
- setConfig(value2) {
3854
- numberOfSharedAudioTags = value2;
3855
- configuredNumberOfSharedAudioTags = value2;
3867
+ setConfig(value) {
3868
+ numberOfSharedAudioTags = value;
3869
+ configuredNumberOfSharedAudioTags = value;
3856
3870
  },
3857
3871
  getConfigValue: () => configuredNumberOfSharedAudioTags,
3858
3872
  reset: () => {
@@ -3863,13 +3877,14 @@ var numberOfSharedAudioTagsOption = {
3863
3877
  };
3864
3878
 
3865
3879
  // src/options/offthreadvideo-cache-size.tsx
3866
- import { jsx as jsx58, jsxs as jsxs43, Fragment as Fragment58 } from "react/jsx-runtime";
3880
+ import { jsx as jsx58, jsxs as jsxs42, Fragment as Fragment58 } from "react/jsx-runtime";
3867
3881
  var offthreadVideoCacheSizeInBytes = null;
3868
3882
  var cliFlag62 = "offthreadvideo-cache-size-in-bytes";
3869
3883
  var offthreadVideoCacheSizeInBytesOption = {
3870
3884
  name: "OffthreadVideo cache size",
3885
+ addedIn: "4.0.23",
3871
3886
  cliFlag: cliFlag62,
3872
- description: () => /* @__PURE__ */ jsxs43(Fragment58, {
3887
+ description: () => /* @__PURE__ */ jsxs42(Fragment58, {
3873
3888
  children: [
3874
3889
  "From v4.0, Remotion has a cache for",
3875
3890
  " ",
@@ -3924,13 +3939,14 @@ var offthreadVideoCacheSizeInBytesOption = {
3924
3939
  };
3925
3940
 
3926
3941
  // src/options/offthreadvideo-threads.tsx
3927
- import { jsx as jsx59, jsxs as jsxs44, Fragment as Fragment59 } from "react/jsx-runtime";
3942
+ import { jsx as jsx59, jsxs as jsxs43, Fragment as Fragment59 } from "react/jsx-runtime";
3928
3943
  var value2 = null;
3929
3944
  var cliFlag63 = "offthreadvideo-video-threads";
3930
3945
  var offthreadVideoThreadsOption = {
3931
3946
  name: "OffthreadVideo threads",
3947
+ addedIn: "4.0.261",
3932
3948
  cliFlag: cliFlag63,
3933
- description: () => /* @__PURE__ */ jsxs44(Fragment59, {
3949
+ description: () => /* @__PURE__ */ jsxs43(Fragment59, {
3934
3950
  children: [
3935
3951
  "The number of threads that",
3936
3952
  /* @__PURE__ */ jsx59("a", {
@@ -3975,12 +3991,13 @@ var offthreadVideoThreadsOption = {
3975
3991
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
3976
3992
 
3977
3993
  // src/options/on-browser-download.tsx
3978
- import { jsx as jsx60, jsxs as jsxs45, Fragment as Fragment60 } from "react/jsx-runtime";
3994
+ import { jsx as jsx60, jsxs as jsxs44, Fragment as Fragment60 } from "react/jsx-runtime";
3979
3995
  var cliFlag64 = "on-browser-download";
3980
3996
  var onBrowserDownloadOption = {
3981
3997
  name: "Browser download callback function",
3998
+ addedIn: "4.0.137",
3982
3999
  cliFlag: cliFlag64,
3983
- description: () => /* @__PURE__ */ jsxs45(Fragment60, {
4000
+ description: () => /* @__PURE__ */ jsxs44(Fragment60, {
3984
4001
  children: [
3985
4002
  "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
4003
  " ",
@@ -4003,14 +4020,15 @@ var onBrowserDownloadOption = {
4003
4020
  };
4004
4021
 
4005
4022
  // src/options/out-dir.tsx
4006
- import { jsx as jsx61, jsxs as jsxs46, Fragment as Fragment61 } from "react/jsx-runtime";
4023
+ import { jsx as jsx61, jsxs as jsxs45, Fragment as Fragment61 } from "react/jsx-runtime";
4007
4024
  var cliFlag65 = "out-dir";
4008
4025
  var currentOutDir = null;
4009
4026
  var outDirOption = {
4010
4027
  name: "Output Directory",
4028
+ addedIn: "4.0.426",
4011
4029
  cliFlag: cliFlag65,
4012
4030
  description: () => {
4013
- return /* @__PURE__ */ jsxs46(Fragment61, {
4031
+ return /* @__PURE__ */ jsxs45(Fragment61, {
4014
4032
  children: [
4015
4033
  "Define the location of the resulting bundle. By default it is a folder called ",
4016
4034
  /* @__PURE__ */ jsx61("code", {
@@ -4046,18 +4064,18 @@ var outDirOption = {
4046
4064
  value: null
4047
4065
  };
4048
4066
  },
4049
- setConfig: (value3) => {
4050
- currentOutDir = value3;
4067
+ setConfig: (value) => {
4068
+ currentOutDir = value;
4051
4069
  },
4052
4070
  type: "",
4053
4071
  id: cliFlag65
4054
4072
  };
4055
4073
 
4056
4074
  // 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;
4075
+ import { NoReactInternals as NoReactInternals5 } from "remotion/no-react";
4076
+ var validateFps = NoReactInternals5.validateFps;
4077
+ var validateDimension = NoReactInternals5.validateDimension;
4078
+ var validateDurationInFrames = NoReactInternals5.validateDurationInFrames;
4061
4079
 
4062
4080
  // src/options/override-duration.tsx
4063
4081
  import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
@@ -4065,6 +4083,7 @@ var currentDuration = null;
4065
4083
  var cliFlag66 = "duration";
4066
4084
  var overrideDurationOption = {
4067
4085
  name: "Override Duration",
4086
+ addedIn: "4.0.424",
4068
4087
  cliFlag: cliFlag66,
4069
4088
  description: () => /* @__PURE__ */ jsx62(Fragment62, {
4070
4089
  children: "Overrides the duration in frames of the composition."
@@ -4074,14 +4093,14 @@ var overrideDurationOption = {
4074
4093
  type: null,
4075
4094
  getValue: ({ commandLine }) => {
4076
4095
  if (commandLine[cliFlag66] !== undefined) {
4077
- const value3 = commandLine[cliFlag66];
4078
- validateDurationInFrames(value3, {
4096
+ const value = commandLine[cliFlag66];
4097
+ validateDurationInFrames(value, {
4079
4098
  component: "in --duration flag",
4080
4099
  allowFloats: false
4081
4100
  });
4082
4101
  return {
4083
4102
  source: "cli",
4084
- value: value3
4103
+ value
4085
4104
  };
4086
4105
  }
4087
4106
  if (currentDuration !== null) {
@@ -4114,6 +4133,7 @@ var currentFps = null;
4114
4133
  var cliFlag67 = "fps";
4115
4134
  var overrideFpsOption = {
4116
4135
  name: "Override FPS",
4136
+ addedIn: "4.0.424",
4117
4137
  cliFlag: cliFlag67,
4118
4138
  description: () => /* @__PURE__ */ jsx63(Fragment63, {
4119
4139
  children: "Overrides the frames per second of the composition."
@@ -4123,11 +4143,11 @@ var overrideFpsOption = {
4123
4143
  type: null,
4124
4144
  getValue: ({ commandLine }) => {
4125
4145
  if (commandLine[cliFlag67] !== undefined) {
4126
- const value3 = commandLine[cliFlag67];
4127
- validateFps(value3, "in --fps flag", false);
4146
+ const value = commandLine[cliFlag67];
4147
+ validateFps(value, "in --fps flag", false);
4128
4148
  return {
4129
4149
  source: "cli",
4130
- value: value3
4150
+ value
4131
4151
  };
4132
4152
  }
4133
4153
  if (currentFps !== null) {
@@ -4157,6 +4177,7 @@ var currentHeight = null;
4157
4177
  var cliFlag68 = "height";
4158
4178
  var overrideHeightOption = {
4159
4179
  name: "Override Height",
4180
+ addedIn: "3.2.40",
4160
4181
  cliFlag: cliFlag68,
4161
4182
  description: () => /* @__PURE__ */ jsx64(Fragment64, {
4162
4183
  children: "Overrides the height of the composition."
@@ -4166,11 +4187,11 @@ var overrideHeightOption = {
4166
4187
  type: null,
4167
4188
  getValue: ({ commandLine }) => {
4168
4189
  if (commandLine[cliFlag68] !== undefined) {
4169
- const value3 = commandLine[cliFlag68];
4170
- validateDimension(value3, "height", "in --height flag");
4190
+ const value = commandLine[cliFlag68];
4191
+ validateDimension(value, "height", "in --height flag");
4171
4192
  return {
4172
4193
  source: "cli",
4173
- value: value3
4194
+ value
4174
4195
  };
4175
4196
  }
4176
4197
  if (currentHeight !== null) {
@@ -4200,6 +4221,7 @@ var currentWidth = null;
4200
4221
  var cliFlag69 = "width";
4201
4222
  var overrideWidthOption = {
4202
4223
  name: "Override Width",
4224
+ addedIn: "3.2.40",
4203
4225
  cliFlag: cliFlag69,
4204
4226
  description: () => /* @__PURE__ */ jsx65(Fragment65, {
4205
4227
  children: "Overrides the width of the composition."
@@ -4209,11 +4231,11 @@ var overrideWidthOption = {
4209
4231
  type: null,
4210
4232
  getValue: ({ commandLine }) => {
4211
4233
  if (commandLine[cliFlag69] !== undefined) {
4212
- const value3 = commandLine[cliFlag69];
4213
- validateDimension(value3, "width", "in --width flag");
4234
+ const value = commandLine[cliFlag69];
4235
+ validateDimension(value, "width", "in --width flag");
4214
4236
  return {
4215
4237
  source: "cli",
4216
- value: value3
4238
+ value
4217
4239
  };
4218
4240
  }
4219
4241
  if (currentWidth !== null) {
@@ -4238,18 +4260,19 @@ var overrideWidthOption = {
4238
4260
  };
4239
4261
 
4240
4262
  // src/options/overwrite.tsx
4241
- import { jsx as jsx66, jsxs as jsxs47, Fragment as Fragment66 } from "react/jsx-runtime";
4263
+ import { jsx as jsx66, jsxs as jsxs46, Fragment as Fragment66 } from "react/jsx-runtime";
4242
4264
  var shouldOverwrite = null;
4243
4265
  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})`);
4266
+ var validate2 = (value) => {
4267
+ if (typeof value !== "boolean") {
4268
+ throw new Error(`overwriteExisting must be a boolean but got ${typeof value} (${value})`);
4247
4269
  }
4248
4270
  };
4249
4271
  var overwriteOption = {
4250
4272
  name: "Overwrite output",
4273
+ addedIn: "1.0.0",
4251
4274
  cliFlag: cliFlag70,
4252
- description: () => /* @__PURE__ */ jsxs47(Fragment66, {
4275
+ description: () => /* @__PURE__ */ jsxs46(Fragment66, {
4253
4276
  children: [
4254
4277
  "If set to ",
4255
4278
  /* @__PURE__ */ jsx66("code", {
@@ -4265,7 +4288,7 @@ var overwriteOption = {
4265
4288
  ssrName: "overwrite",
4266
4289
  docLink: "https://www.remotion.dev/docs/options/overwrite",
4267
4290
  type: false,
4268
- getValue: ({ commandLine }, defaultValue2) => {
4291
+ getValue: ({ commandLine }, defaultValue) => {
4269
4292
  if (commandLine[cliFlag70] !== undefined && commandLine[cliFlag70] !== null) {
4270
4293
  validate2(commandLine[cliFlag70]);
4271
4294
  return {
@@ -4281,12 +4304,12 @@ var overwriteOption = {
4281
4304
  }
4282
4305
  return {
4283
4306
  source: "default",
4284
- value: defaultValue2
4307
+ value: defaultValue
4285
4308
  };
4286
4309
  },
4287
- setConfig: (value3) => {
4288
- validate2(value3);
4289
- shouldOverwrite = value3;
4310
+ setConfig: (value) => {
4311
+ validate2(value);
4312
+ shouldOverwrite = value;
4290
4313
  },
4291
4314
  reset: () => {
4292
4315
  shouldOverwrite = null;
@@ -4295,14 +4318,15 @@ var overwriteOption = {
4295
4318
  };
4296
4319
 
4297
4320
  // src/options/package-manager.tsx
4298
- import { jsx as jsx67, jsxs as jsxs48, Fragment as Fragment67 } from "react/jsx-runtime";
4321
+ import { jsx as jsx67, jsxs as jsxs47, Fragment as Fragment67 } from "react/jsx-runtime";
4299
4322
  var cliFlag71 = "package-manager";
4300
4323
  var currentPackageManager = null;
4301
4324
  var packageManagerOption = {
4302
4325
  name: "Package Manager",
4326
+ addedIn: "3.2.33",
4303
4327
  cliFlag: cliFlag71,
4304
4328
  description: () => {
4305
- return /* @__PURE__ */ jsxs48(Fragment67, {
4329
+ return /* @__PURE__ */ jsxs47(Fragment67, {
4306
4330
  children: [
4307
4331
  "Forces a specific package manager to be used. By default, Remotion will auto-detect the package manager based on your lockfile.",
4308
4332
  /* @__PURE__ */ jsx67("br", {}),
@@ -4351,8 +4375,8 @@ var packageManagerOption = {
4351
4375
  value: null
4352
4376
  };
4353
4377
  },
4354
- setConfig: (value3) => {
4355
- currentPackageManager = value3;
4378
+ setConfig: (value) => {
4379
+ currentPackageManager = value;
4356
4380
  },
4357
4381
  type: "",
4358
4382
  id: cliFlag71
@@ -4378,13 +4402,14 @@ var validPixelFormatsForCodec = (codec) => {
4378
4402
  };
4379
4403
 
4380
4404
  // src/options/pixel-format.tsx
4381
- import { jsx as jsx68, jsxs as jsxs49, Fragment as Fragment68 } from "react/jsx-runtime";
4405
+ import { jsx as jsx68, jsxs as jsxs48, Fragment as Fragment68 } from "react/jsx-runtime";
4382
4406
  var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
4383
4407
  var cliFlag72 = "pixel-format";
4384
4408
  var pixelFormatOption = {
4385
4409
  name: "Pixel format",
4410
+ addedIn: "1.4.0",
4386
4411
  cliFlag: cliFlag72,
4387
- description: () => /* @__PURE__ */ jsxs49(Fragment68, {
4412
+ description: () => /* @__PURE__ */ jsxs48(Fragment68, {
4388
4413
  children: [
4389
4414
  "Sets the pixel format in FFmpeg. See",
4390
4415
  " ",
@@ -4430,11 +4455,11 @@ var pixelFormatOption = {
4430
4455
  value: DEFAULT_PIXEL_FORMAT
4431
4456
  };
4432
4457
  },
4433
- setConfig: (value3) => {
4434
- if (!validPixelFormats.includes(value3)) {
4435
- throw new TypeError(`Value ${value3} is not valid as a pixel format.`);
4458
+ setConfig: (value) => {
4459
+ if (!validPixelFormats.includes(value)) {
4460
+ throw new TypeError(`Value ${value} is not valid as a pixel format.`);
4436
4461
  }
4437
- currentPixelFormat = value3;
4462
+ currentPixelFormat = value;
4438
4463
  },
4439
4464
  id: cliFlag72
4440
4465
  };
@@ -4445,6 +4470,7 @@ var cliFlag73 = "port";
4445
4470
  var currentPort = null;
4446
4471
  var portOption = {
4447
4472
  name: "Port",
4473
+ addedIn: "2.1.3",
4448
4474
  cliFlag: cliFlag73,
4449
4475
  description: () => /* @__PURE__ */ jsx69(Fragment69, {
4450
4476
  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."
@@ -4469,21 +4495,22 @@ var portOption = {
4469
4495
  value: null
4470
4496
  };
4471
4497
  },
4472
- setConfig: (value3) => {
4473
- currentPort = value3;
4498
+ setConfig: (value) => {
4499
+ currentPort = value;
4474
4500
  },
4475
4501
  type: 0,
4476
4502
  id: cliFlag73
4477
4503
  };
4478
4504
 
4479
4505
  // src/options/prefer-lossless.tsx
4480
- import { jsx as jsx70, jsxs as jsxs50, Fragment as Fragment70 } from "react/jsx-runtime";
4506
+ import { jsx as jsx70, jsxs as jsxs49, Fragment as Fragment70 } from "react/jsx-runtime";
4481
4507
  var cliFlag74 = "prefer-lossless";
4482
4508
  var input = false;
4483
4509
  var preferLosslessAudioOption = {
4484
4510
  name: "Prefer lossless",
4511
+ addedIn: "4.0.123",
4485
4512
  cliFlag: cliFlag74,
4486
- description: () => /* @__PURE__ */ jsxs50(Fragment70, {
4513
+ description: () => /* @__PURE__ */ jsxs49(Fragment70, {
4487
4514
  children: [
4488
4515
  "Uses a lossless audio codec, if one is available for the codec. If you set",
4489
4516
  /* @__PURE__ */ jsx70("code", {
@@ -4516,13 +4543,14 @@ var preferLosslessAudioOption = {
4516
4543
  };
4517
4544
 
4518
4545
  // src/options/preview-sample-rate.tsx
4519
- import { jsx as jsx71, jsxs as jsxs51, Fragment as Fragment71 } from "react/jsx-runtime";
4546
+ import { jsx as jsx71, jsxs as jsxs50, Fragment as Fragment71 } from "react/jsx-runtime";
4520
4547
  var cliFlag75 = "preview-sample-rate";
4521
4548
  var currentPreviewSampleRate = null;
4522
4549
  var previewSampleRateOption = {
4523
4550
  name: "Preview Sample Rate",
4551
+ addedIn: "4.0.470",
4524
4552
  cliFlag: cliFlag75,
4525
- description: () => /* @__PURE__ */ jsxs51(Fragment71, {
4553
+ description: () => /* @__PURE__ */ jsxs50(Fragment71, {
4526
4554
  children: [
4527
4555
  "Controls the sample rate used for audio playback during preview. When unset, Remotion uses ",
4528
4556
  /* @__PURE__ */ jsx71("code", {
@@ -4543,22 +4571,23 @@ var previewSampleRateOption = {
4543
4571
  }
4544
4572
  return { value: null, source: "default" };
4545
4573
  },
4546
- setConfig: (value3) => {
4547
- currentPreviewSampleRate = value3;
4574
+ setConfig: (value) => {
4575
+ currentPreviewSampleRate = value;
4548
4576
  },
4549
4577
  id: cliFlag75
4550
4578
  };
4551
4579
 
4552
4580
  // src/options/props.tsx
4553
- import { jsx as jsx72, jsxs as jsxs52, Fragment as Fragment72 } from "react/jsx-runtime";
4581
+ import { jsx as jsx72, jsxs as jsxs51, Fragment as Fragment72 } from "react/jsx-runtime";
4554
4582
  var cliFlag76 = "props";
4555
4583
  var propsOption = {
4556
4584
  name: "Input Props",
4585
+ addedIn: "1.0.0",
4557
4586
  cliFlag: cliFlag76,
4558
- description: () => /* @__PURE__ */ jsxs52(Fragment72, {
4587
+ description: () => /* @__PURE__ */ jsxs51(Fragment72, {
4559
4588
  children: [
4560
4589
  "Input Props to pass to the selected composition of your video. Must be a serialized JSON string (",
4561
- /* @__PURE__ */ jsxs52("code", {
4590
+ /* @__PURE__ */ jsxs51("code", {
4562
4591
  children: [
4563
4592
  "--props='",
4564
4593
  "{",
@@ -4596,7 +4625,7 @@ var propsOption = {
4596
4625
  };
4597
4626
 
4598
4627
  // src/options/prores-profile.tsx
4599
- import { jsx as jsx73, jsxs as jsxs53, Fragment as Fragment73 } from "react/jsx-runtime";
4628
+ import { jsx as jsx73, jsxs as jsxs52, Fragment as Fragment73 } from "react/jsx-runtime";
4600
4629
  var validProResProfiles = [
4601
4630
  "4444-xq",
4602
4631
  "4444",
@@ -4609,8 +4638,9 @@ var proResProfile;
4609
4638
  var cliFlag77 = "prores-profile";
4610
4639
  var proResProfileOption = {
4611
4640
  name: "ProRes profile",
4641
+ addedIn: "2.1.6",
4612
4642
  cliFlag: cliFlag77,
4613
- description: () => /* @__PURE__ */ jsxs53(Fragment73, {
4643
+ description: () => /* @__PURE__ */ jsxs52(Fragment73, {
4614
4644
  children: [
4615
4645
  "Set the ProRes profile. This option is only valid if the codec has been set to ",
4616
4646
  /* @__PURE__ */ jsx73("code", {
@@ -4666,21 +4696,22 @@ var proResProfileOption = {
4666
4696
  value: undefined
4667
4697
  };
4668
4698
  },
4669
- setConfig: (value3) => {
4670
- proResProfile = value3;
4699
+ setConfig: (value) => {
4700
+ proResProfile = value;
4671
4701
  },
4672
4702
  id: cliFlag77
4673
4703
  };
4674
4704
 
4675
4705
  // src/options/public-dir.tsx
4676
- import { jsx as jsx74, jsxs as jsxs54, Fragment as Fragment74 } from "react/jsx-runtime";
4706
+ import { jsx as jsx74, jsxs as jsxs53, Fragment as Fragment74 } from "react/jsx-runtime";
4677
4707
  var cliFlag78 = "public-dir";
4678
4708
  var currentPublicDir = null;
4679
4709
  var publicDirOption = {
4680
4710
  name: "Public Directory",
4711
+ addedIn: "3.2.13",
4681
4712
  cliFlag: cliFlag78,
4682
4713
  description: () => {
4683
- return /* @__PURE__ */ jsxs54(Fragment74, {
4714
+ return /* @__PURE__ */ jsxs53(Fragment74, {
4684
4715
  children: [
4685
4716
  "Define the location of the",
4686
4717
  " ",
@@ -4714,21 +4745,22 @@ var publicDirOption = {
4714
4745
  value: null
4715
4746
  };
4716
4747
  },
4717
- setConfig: (value3) => {
4718
- currentPublicDir = value3;
4748
+ setConfig: (value) => {
4749
+ currentPublicDir = value;
4719
4750
  },
4720
4751
  type: "",
4721
4752
  id: cliFlag78
4722
4753
  };
4723
4754
 
4724
4755
  // src/options/public-license-key.tsx
4725
- import { jsx as jsx75, jsxs as jsxs55, Fragment as Fragment75 } from "react/jsx-runtime";
4756
+ import { jsx as jsx75, jsxs as jsxs54, Fragment as Fragment75 } from "react/jsx-runtime";
4726
4757
  var cliFlag79 = "public-license-key";
4727
4758
  var currentPublicLicenseKey = null;
4728
4759
  var publicLicenseKeyOption = {
4729
4760
  name: "Public License Key",
4761
+ addedIn: "4.0.398",
4730
4762
  cliFlag: cliFlag79,
4731
- description: () => /* @__PURE__ */ jsxs55(Fragment75, {
4763
+ description: () => /* @__PURE__ */ jsxs54(Fragment75, {
4732
4764
  children: [
4733
4765
  "The public license key for your company license, obtained from the License keys page on ",
4734
4766
  /* @__PURE__ */ jsx75("a", {
@@ -4758,25 +4790,26 @@ var publicLicenseKeyOption = {
4758
4790
  value: null
4759
4791
  };
4760
4792
  },
4761
- setConfig: (value3) => {
4762
- if (value3 && value3 !== "free-license" && !value3.startsWith("rm_pub_")) {
4793
+ setConfig: (value) => {
4794
+ if (value && value !== "free-license" && !value.startsWith("rm_pub_")) {
4763
4795
  throw new Error('Invalid public license key. It must start with "rm_pub_" or be "free-license".');
4764
4796
  }
4765
- currentPublicLicenseKey = value3;
4797
+ currentPublicLicenseKey = value;
4766
4798
  },
4767
4799
  type: null,
4768
4800
  id: cliFlag79
4769
4801
  };
4770
4802
 
4771
4803
  // src/options/public-path.tsx
4772
- import { jsx as jsx76, jsxs as jsxs56, Fragment as Fragment76 } from "react/jsx-runtime";
4804
+ import { jsx as jsx76, jsxs as jsxs55, Fragment as Fragment76 } from "react/jsx-runtime";
4773
4805
  var cliFlag80 = "public-path";
4774
4806
  var currentPublicPath = null;
4775
4807
  var publicPathOption = {
4776
4808
  name: "Public Path",
4809
+ addedIn: "4.0.127",
4777
4810
  cliFlag: cliFlag80,
4778
4811
  description: () => {
4779
- return /* @__PURE__ */ jsxs56(Fragment76, {
4812
+ return /* @__PURE__ */ jsxs55(Fragment76, {
4780
4813
  children: [
4781
4814
  "The path of the URL where the bundle is going to be hosted. By default it is ",
4782
4815
  /* @__PURE__ */ jsx76("code", {
@@ -4810,8 +4843,8 @@ var publicPathOption = {
4810
4843
  value: null
4811
4844
  };
4812
4845
  },
4813
- setConfig: (value3) => {
4814
- currentPublicPath = value3;
4846
+ setConfig: (value) => {
4847
+ currentPublicPath = value;
4815
4848
  },
4816
4849
  type: "",
4817
4850
  id: cliFlag80
@@ -4826,6 +4859,7 @@ var setRepro = (should) => {
4826
4859
  var cliFlag81 = "repro";
4827
4860
  var reproOption = {
4828
4861
  name: "Create reproduction",
4862
+ addedIn: "4.0.88",
4829
4863
  cliFlag: cliFlag81,
4830
4864
  description: () => /* @__PURE__ */ jsx77(Fragment77, {
4831
4865
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
@@ -4862,6 +4896,7 @@ var configuredRspackEnabled = null;
4862
4896
  var cliFlag82 = "rspack";
4863
4897
  var rspackOption = {
4864
4898
  name: "Rspack",
4899
+ addedIn: "4.0.502",
4865
4900
  cliFlag: cliFlag82,
4866
4901
  description: () => /* @__PURE__ */ jsx78(Fragment78, {
4867
4902
  children: "Uses Rspack instead of Webpack as the bundler for the Studio or bundle."
@@ -4881,9 +4916,9 @@ var rspackOption = {
4881
4916
  source: "config"
4882
4917
  };
4883
4918
  },
4884
- setConfig(value3) {
4885
- rspackEnabled = value3;
4886
- configuredRspackEnabled = value3;
4919
+ setConfig(value) {
4920
+ rspackEnabled = value;
4921
+ configuredRspackEnabled = value;
4887
4922
  },
4888
4923
  getConfigValue: () => configuredRspackEnabled,
4889
4924
  reset: () => {
@@ -4894,14 +4929,15 @@ var rspackOption = {
4894
4929
  };
4895
4930
 
4896
4931
  // src/options/runs.tsx
4897
- import { jsx as jsx79, jsxs as jsxs57, Fragment as Fragment79 } from "react/jsx-runtime";
4932
+ import { jsx as jsx79, jsxs as jsxs56, Fragment as Fragment79 } from "react/jsx-runtime";
4898
4933
  var DEFAULT_RUNS = 3;
4899
4934
  var currentRuns = DEFAULT_RUNS;
4900
4935
  var cliFlag83 = "runs";
4901
4936
  var runsOption = {
4902
4937
  name: "Benchmark runs",
4938
+ addedIn: "3.2.28",
4903
4939
  cliFlag: cliFlag83,
4904
- description: () => /* @__PURE__ */ jsxs57(Fragment79, {
4940
+ description: () => /* @__PURE__ */ jsxs56(Fragment79, {
4905
4941
  children: [
4906
4942
  "Specify how many times the video should be rendered during a benchmark. Default ",
4907
4943
  /* @__PURE__ */ jsx79("code", {
@@ -4915,34 +4951,35 @@ var runsOption = {
4915
4951
  type: DEFAULT_RUNS,
4916
4952
  getValue: ({ commandLine }) => {
4917
4953
  if (commandLine[cliFlag83] !== undefined) {
4918
- const value3 = Number(commandLine[cliFlag83]);
4919
- if (isNaN(value3) || value3 < 1) {
4954
+ const value = Number(commandLine[cliFlag83]);
4955
+ if (isNaN(value) || value < 1) {
4920
4956
  throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag83]}`);
4921
4957
  }
4922
- return { value: value3, source: "cli" };
4958
+ return { value, source: "cli" };
4923
4959
  }
4924
4960
  if (currentRuns !== DEFAULT_RUNS) {
4925
4961
  return { value: currentRuns, source: "config" };
4926
4962
  }
4927
4963
  return { value: DEFAULT_RUNS, source: "default" };
4928
4964
  },
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}`);
4965
+ setConfig: (value) => {
4966
+ if (typeof value !== "number" || isNaN(value) || value < 1) {
4967
+ throw new Error(`Runs must be a positive number, but got ${value}`);
4932
4968
  }
4933
- currentRuns = value3;
4969
+ currentRuns = value;
4934
4970
  },
4935
4971
  id: cliFlag83
4936
4972
  };
4937
4973
 
4938
4974
  // src/options/sample-rate.tsx
4939
- import { jsx as jsx80, jsxs as jsxs58, Fragment as Fragment80 } from "react/jsx-runtime";
4975
+ import { jsx as jsx80, jsxs as jsxs57, Fragment as Fragment80 } from "react/jsx-runtime";
4940
4976
  var cliFlag84 = "sample-rate";
4941
4977
  var currentSampleRate = 48000;
4942
4978
  var sampleRateOption = {
4943
4979
  name: "Sample Rate",
4980
+ addedIn: "4.0.448",
4944
4981
  cliFlag: cliFlag84,
4945
- description: () => /* @__PURE__ */ jsxs58(Fragment80, {
4982
+ description: () => /* @__PURE__ */ jsxs57(Fragment80, {
4946
4983
  children: [
4947
4984
  "Controls the sample rate of the output audio. The default is",
4948
4985
  " ",
@@ -4970,25 +5007,26 @@ var sampleRateOption = {
4970
5007
  }
4971
5008
  return { value: 48000, source: "default" };
4972
5009
  },
4973
- setConfig: (value3) => {
4974
- currentSampleRate = value3;
5010
+ setConfig: (value) => {
5011
+ currentSampleRate = value;
4975
5012
  },
4976
5013
  id: cliFlag84
4977
5014
  };
4978
5015
 
4979
5016
  // src/options/scale.tsx
4980
- import { jsx as jsx81, jsxs as jsxs59, Fragment as Fragment81 } from "react/jsx-runtime";
5017
+ import { jsx as jsx81, jsxs as jsxs58, Fragment as Fragment81 } from "react/jsx-runtime";
4981
5018
  var currentScale = 1;
4982
5019
  var cliFlag85 = "scale";
4983
- var validateScale = (value3) => {
4984
- if (typeof value3 !== "number") {
5020
+ var validateScale = (value) => {
5021
+ if (typeof value !== "number") {
4985
5022
  throw new Error("scale must be a number.");
4986
5023
  }
4987
5024
  };
4988
5025
  var scaleOption = {
4989
5026
  name: "Scale",
5027
+ addedIn: "2.6.7",
4990
5028
  cliFlag: cliFlag85,
4991
- description: () => /* @__PURE__ */ jsxs59(Fragment81, {
5029
+ description: () => /* @__PURE__ */ jsxs58(Fragment81, {
4992
5030
  children: [
4993
5031
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
4994
5032
  /* @__PURE__ */ jsx81("code", {
@@ -5030,19 +5068,151 @@ var scaleOption = {
5030
5068
  id: cliFlag85
5031
5069
  };
5032
5070
 
5071
+ // src/options/sequence-activity-limit.tsx
5072
+ import { NoReactInternals as NoReactInternals6 } from "remotion/no-react";
5073
+ import { jsx as jsx82, jsxs as jsxs59, Fragment as Fragment82 } from "react/jsx-runtime";
5074
+ var configuredLimit = null;
5075
+ var cliFlag86 = "sequence-activity-limit";
5076
+ var sequenceActivityLimitOption = {
5077
+ name: "Sequence Activity limit",
5078
+ addedIn: "4.0.536",
5079
+ cliFlag: cliFlag86,
5080
+ id: cliFlag86,
5081
+ description: () => /* @__PURE__ */ jsxs59(Fragment82, {
5082
+ children: [
5083
+ "Limit hidden scenes discovered by Sequence Activity in the Remotion Studio, including nested sequences and their ancestors. Visible, premounted, and postmounted scenes always render. Defaults to",
5084
+ " ",
5085
+ /* @__PURE__ */ jsx82("code", {
5086
+ children: "Infinity"
5087
+ }),
5088
+ " for unlimited discovery without admission delays. Must be a non-negative safe integer or ",
5089
+ /* @__PURE__ */ jsx82("code", {
5090
+ children: "Infinity"
5091
+ }),
5092
+ ". Set to 0 to disable Sequence Activity. Finite limits prioritize nearby scenes. Does not affect rendering."
5093
+ ]
5094
+ }),
5095
+ ssrName: null,
5096
+ docLink: "https://www.remotion.dev/docs/options/sequence-activity-limit",
5097
+ type: 0,
5098
+ getValue: ({ commandLine }) => {
5099
+ if (commandLine[cliFlag86] !== undefined) {
5100
+ const value = commandLine[cliFlag86] === "Infinity" ? Infinity : commandLine[cliFlag86];
5101
+ if (value !== Infinity && (!Number.isSafeInteger(value) || value < 0)) {
5102
+ throw new Error("Sequence Activity limit must be a non-negative safe integer or Infinity.");
5103
+ }
5104
+ return { value, source: "cli" };
5105
+ }
5106
+ return {
5107
+ value: configuredLimit ?? NoReactInternals6.DEFAULT_SEQUENCE_ACTIVITY_LIMIT,
5108
+ source: "config"
5109
+ };
5110
+ },
5111
+ setConfig(value) {
5112
+ if (value !== Infinity && (!Number.isSafeInteger(value) || value < 0)) {
5113
+ throw new Error("Sequence Activity limit must be a non-negative safe integer or Infinity.");
5114
+ }
5115
+ configuredLimit = value;
5116
+ },
5117
+ getConfigValue: () => configuredLimit,
5118
+ reset: () => {
5119
+ configuredLimit = null;
5120
+ }
5121
+ };
5122
+
5123
+ // src/options/show-layer-frame-numbers.tsx
5124
+ import { jsx as jsx83, jsxs as jsxs60, Fragment as Fragment83 } from "react/jsx-runtime";
5125
+ var configuredShowLayerFrameNumbers = null;
5126
+ var cliFlag87 = "show-layer-frame-numbers";
5127
+ var showLayerFrameNumbersOption = {
5128
+ name: "Show frame numbers of layer",
5129
+ addedIn: "4.0.535",
5130
+ cliFlag: cliFlag87,
5131
+ id: cliFlag87,
5132
+ description: () => /* @__PURE__ */ jsxs60(Fragment83, {
5133
+ children: [
5134
+ "Show the current frame number inside sequence layers in the Studio timeline. Defaults to ",
5135
+ /* @__PURE__ */ jsx83("code", {
5136
+ children: "false"
5137
+ }),
5138
+ "."
5139
+ ]
5140
+ }),
5141
+ ssrName: null,
5142
+ docLink: "https://www.remotion.dev/docs/options/show-layer-frame-numbers",
5143
+ type: false,
5144
+ getValue: ({ commandLine }) => {
5145
+ if (commandLine[cliFlag87] !== undefined && commandLine[cliFlag87] !== null) {
5146
+ return { value: commandLine[cliFlag87], source: "cli" };
5147
+ }
5148
+ return { value: configuredShowLayerFrameNumbers ?? false, source: "config" };
5149
+ },
5150
+ setConfig(value) {
5151
+ if (typeof value !== "boolean") {
5152
+ throw new Error("Config.setShowLayerFrameNumbers() expects a boolean");
5153
+ }
5154
+ configuredShowLayerFrameNumbers = value;
5155
+ },
5156
+ getConfigValue: () => configuredShowLayerFrameNumbers,
5157
+ reset: () => {
5158
+ configuredShowLayerFrameNumbers = null;
5159
+ }
5160
+ };
5161
+
5162
+ // src/options/show-premounting.tsx
5163
+ import { jsx as jsx84, jsxs as jsxs61, Fragment as Fragment84 } from "react/jsx-runtime";
5164
+ var configuredShowPremounting = null;
5165
+ var cliFlag88 = "show-premounting";
5166
+ var showPremountingOption = {
5167
+ name: "Show premounting in the Studio timeline",
5168
+ addedIn: "4.0.535",
5169
+ cliFlag: cliFlag88,
5170
+ id: cliFlag88,
5171
+ description: () => /* @__PURE__ */ jsxs61(Fragment84, {
5172
+ children: [
5173
+ "Show premounting indicators in the Studio timeline. Defaults to",
5174
+ " ",
5175
+ /* @__PURE__ */ jsx84("code", {
5176
+ children: "false"
5177
+ }),
5178
+ "."
5179
+ ]
5180
+ }),
5181
+ ssrName: null,
5182
+ docLink: "https://www.remotion.dev/docs/options/show-premounting",
5183
+ type: true,
5184
+ getValue: ({ commandLine }) => {
5185
+ if (commandLine[cliFlag88] !== undefined && commandLine[cliFlag88] !== null) {
5186
+ return { value: commandLine[cliFlag88], source: "cli" };
5187
+ }
5188
+ return { value: configuredShowPremounting ?? false, source: "config" };
5189
+ },
5190
+ setConfig(value) {
5191
+ if (typeof value !== "boolean") {
5192
+ throw new Error("Config.setShowPremounting() expects a boolean");
5193
+ }
5194
+ configuredShowPremounting = value;
5195
+ },
5196
+ getConfigValue: () => configuredShowPremounting,
5197
+ reset: () => {
5198
+ configuredShowPremounting = null;
5199
+ }
5200
+ };
5201
+
5033
5202
  // src/options/skip-skills.tsx
5034
- import { jsx as jsx82, Fragment as Fragment82 } from "react/jsx-runtime";
5035
- var cliFlag86 = "skip-skills";
5203
+ import { jsx as jsx85, Fragment as Fragment85 } from "react/jsx-runtime";
5204
+ var cliFlag89 = "skip-skills";
5036
5205
  var skipSkillsOption = {
5037
5206
  name: "Skip Skills",
5038
- cliFlag: cliFlag86,
5039
- description: () => /* @__PURE__ */ jsx82(Fragment82, {
5207
+ addedIn: "4.0.503",
5208
+ cliFlag: cliFlag89,
5209
+ description: () => /* @__PURE__ */ jsx85(Fragment85, {
5040
5210
  children: "Do not update installed Remotion Agent Skills while upgrading Remotion."
5041
5211
  }),
5042
5212
  ssrName: null,
5043
5213
  docLink: "https://www.remotion.dev/docs/options/skip-skills",
5044
5214
  getValue: ({ commandLine }) => {
5045
- if (commandLine[cliFlag86]) {
5215
+ if (commandLine[cliFlag89]) {
5046
5216
  return {
5047
5217
  source: "cli",
5048
5218
  value: true
@@ -5057,16 +5227,16 @@ var skipSkillsOption = {
5057
5227
  throw new Error("Cannot skip updating skills via config file");
5058
5228
  },
5059
5229
  type: false,
5060
- id: cliFlag86
5230
+ id: cliFlag89
5061
5231
  };
5062
5232
 
5063
5233
  // 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";
5234
+ import { NoReactInternals as NoReactInternals7 } from "remotion/no-react";
5235
+ import { jsx as jsx86, jsxs as jsxs62, Fragment as Fragment86 } from "react/jsx-runtime";
5236
+ var cliFlag90 = "frame";
5067
5237
  var currentFrame = null;
5068
5238
  var validate3 = (frame) => {
5069
- NoReactInternals5.validateFrame({
5239
+ NoReactInternals7.validateFrame({
5070
5240
  frame,
5071
5241
  durationInFrames: Infinity,
5072
5242
  allowFloats: false
@@ -5074,17 +5244,18 @@ var validate3 = (frame) => {
5074
5244
  };
5075
5245
  var stillFrameOption = {
5076
5246
  name: "Frame",
5077
- cliFlag: cliFlag87,
5078
- description: () => /* @__PURE__ */ jsxs60(Fragment83, {
5247
+ addedIn: "2.3.0",
5248
+ cliFlag: cliFlag90,
5249
+ description: () => /* @__PURE__ */ jsxs62(Fragment86, {
5079
5250
  children: [
5080
5251
  "Which frame should be rendered when rendering a still. Default",
5081
5252
  " ",
5082
- /* @__PURE__ */ jsx83("code", {
5253
+ /* @__PURE__ */ jsx86("code", {
5083
5254
  children: "0"
5084
5255
  }),
5085
5256
  ". From v3.2.27, negative values are allowed, with",
5086
5257
  " ",
5087
- /* @__PURE__ */ jsx83("code", {
5258
+ /* @__PURE__ */ jsx86("code", {
5088
5259
  children: "-1"
5089
5260
  }),
5090
5261
  " being the last frame."
@@ -5093,8 +5264,8 @@ var stillFrameOption = {
5093
5264
  ssrName: "frame",
5094
5265
  docLink: "https://www.remotion.dev/docs/options/frame",
5095
5266
  getValue: ({ commandLine }) => {
5096
- if (commandLine[cliFlag87] !== undefined) {
5097
- const frame = Number(commandLine[cliFlag87]);
5267
+ if (commandLine[cliFlag90] !== undefined) {
5268
+ const frame = Number(commandLine[cliFlag90]);
5098
5269
  validate3(frame);
5099
5270
  return {
5100
5271
  source: "cli",
@@ -5112,31 +5283,32 @@ var stillFrameOption = {
5112
5283
  value: null
5113
5284
  };
5114
5285
  },
5115
- setConfig: (value3) => {
5116
- if (value3 !== null) {
5117
- validate3(value3);
5286
+ setConfig: (value) => {
5287
+ if (value !== null) {
5288
+ validate3(value);
5118
5289
  }
5119
- currentFrame = value3;
5290
+ currentFrame = value;
5120
5291
  },
5121
5292
  type: 0,
5122
- id: cliFlag87
5293
+ id: cliFlag90
5123
5294
  };
5124
5295
 
5125
5296
  // src/options/still-image-format.tsx
5126
- import { jsx as jsx84, jsxs as jsxs61, Fragment as Fragment84 } from "react/jsx-runtime";
5297
+ import { jsx as jsx87, jsxs as jsxs63, Fragment as Fragment87 } from "react/jsx-runtime";
5127
5298
  var currentStillImageFormat = null;
5128
- var cliFlag88 = "image-format";
5299
+ var cliFlag91 = "image-format";
5129
5300
  var stillImageFormatOption = {
5130
5301
  name: "Still Image Format",
5131
- cliFlag: cliFlag88,
5132
- description: () => /* @__PURE__ */ jsxs61(Fragment84, {
5302
+ addedIn: "2.3.0",
5303
+ cliFlag: cliFlag91,
5304
+ description: () => /* @__PURE__ */ jsxs63(Fragment87, {
5133
5305
  children: [
5134
5306
  "The image format to use when rendering a still. Must be one of",
5135
5307
  " ",
5136
5308
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
5137
5309
  ". Default:",
5138
5310
  " ",
5139
- /* @__PURE__ */ jsx84("code", {
5311
+ /* @__PURE__ */ jsx87("code", {
5140
5312
  children: '"png"'
5141
5313
  }),
5142
5314
  "."
@@ -5146,14 +5318,14 @@ var stillImageFormatOption = {
5146
5318
  docLink: "https://www.remotion.dev/docs/options/still-image-format",
5147
5319
  type: null,
5148
5320
  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(", ")}`);
5321
+ if (commandLine[cliFlag91] !== undefined) {
5322
+ const value = commandLine[cliFlag91];
5323
+ if (!validStillImageFormats.includes(value)) {
5324
+ throw new Error(`Invalid still image format: ${value}. Must be one of: ${validStillImageFormats.join(", ")}`);
5153
5325
  }
5154
5326
  return {
5155
5327
  source: "cli",
5156
- value: value3
5328
+ value
5157
5329
  };
5158
5330
  }
5159
5331
  if (currentStillImageFormat !== null) {
@@ -5167,34 +5339,34 @@ var stillImageFormatOption = {
5167
5339
  value: null
5168
5340
  };
5169
5341
  },
5170
- setConfig: (value3) => {
5171
- if (value3 === null) {
5342
+ setConfig: (value) => {
5343
+ if (value === null) {
5172
5344
  currentStillImageFormat = null;
5173
5345
  return;
5174
5346
  }
5175
- if (!validStillImageFormats.includes(value3)) {
5347
+ if (!validStillImageFormats.includes(value)) {
5176
5348
  throw new TypeError([
5177
- `Value ${value3} is not valid as a still image format.`,
5178
- value3 === "jpg" ? 'Did you mean "jpeg"?' : null
5349
+ `Value ${value} is not valid as a still image format.`,
5350
+ value === "jpg" ? 'Did you mean "jpeg"?' : null
5179
5351
  ].filter(Boolean).join(" "));
5180
5352
  }
5181
- currentStillImageFormat = value3;
5353
+ currentStillImageFormat = value;
5182
5354
  },
5183
5355
  id: "still-image-format"
5184
5356
  };
5185
5357
 
5186
5358
  // src/options/throw-if-site-exists.tsx
5187
5359
  var DEFAULT5 = false;
5188
- var cliFlag89 = "throw-if-site-exists";
5360
+ var cliFlag92 = "throw-if-site-exists";
5189
5361
  var throwIfSiteExistsOption = {
5190
- cliFlag: cliFlag89,
5362
+ cliFlag: cliFlag92,
5191
5363
  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
5364
  docLink: "https://www.remotion.dev/docs/options/throw-if-site-exists",
5193
5365
  getValue: ({ commandLine }) => {
5194
- if (commandLine[cliFlag89]) {
5366
+ if (commandLine[cliFlag92]) {
5195
5367
  return {
5196
5368
  source: "cli",
5197
- value: commandLine[cliFlag89]
5369
+ value: commandLine[cliFlag92]
5198
5370
  };
5199
5371
  }
5200
5372
  return {
@@ -5203,46 +5375,48 @@ var throwIfSiteExistsOption = {
5203
5375
  };
5204
5376
  },
5205
5377
  name: "Throw if site exists",
5378
+ addedIn: "4.0.141",
5206
5379
  setConfig: () => {
5207
5380
  throw new Error("Not implemented");
5208
5381
  },
5209
5382
  ssrName: "throwIfSiteExists",
5210
5383
  type: false,
5211
- id: cliFlag89
5384
+ id: cliFlag92
5212
5385
  };
5213
5386
 
5214
5387
  // src/options/timeout.tsx
5215
- import { jsx as jsx85, jsxs as jsxs62, Fragment as Fragment85 } from "react/jsx-runtime";
5388
+ import { jsx as jsx88, jsxs as jsxs64, Fragment as Fragment88 } from "react/jsx-runtime";
5216
5389
  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));
5390
+ var validate4 = (value) => {
5391
+ if (typeof value !== "number") {
5392
+ throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value));
5220
5393
  }
5221
5394
  };
5222
- var cliFlag90 = "timeout";
5395
+ var cliFlag93 = "timeout";
5223
5396
  var delayRenderTimeoutInMillisecondsOption = {
5224
5397
  name: "delayRender() timeout",
5225
- cliFlag: cliFlag90,
5226
- description: () => /* @__PURE__ */ jsxs62(Fragment85, {
5398
+ addedIn: "2.6.3",
5399
+ cliFlag: cliFlag93,
5400
+ description: () => /* @__PURE__ */ jsxs64(Fragment88, {
5227
5401
  children: [
5228
5402
  "A number describing how long the render may take to resolve all",
5229
5403
  " ",
5230
- /* @__PURE__ */ jsx85("a", {
5404
+ /* @__PURE__ */ jsx88("a", {
5231
5405
  href: "https://remotion.dev/docs/delay-render",
5232
- children: /* @__PURE__ */ jsx85("code", {
5406
+ children: /* @__PURE__ */ jsx88("code", {
5233
5407
  children: "delayRender()"
5234
5408
  })
5235
5409
  }),
5236
5410
  " ",
5237
5411
  "calls",
5238
5412
  " ",
5239
- /* @__PURE__ */ jsx85("a", {
5413
+ /* @__PURE__ */ jsx88("a", {
5240
5414
  style: { fontSize: "inherit" },
5241
5415
  href: "https://remotion.dev/docs/timeout",
5242
5416
  children: "before it times out"
5243
5417
  }),
5244
5418
  ". Default: ",
5245
- /* @__PURE__ */ jsx85("code", {
5419
+ /* @__PURE__ */ jsx88("code", {
5246
5420
  children: "30000"
5247
5421
  })
5248
5422
  ]
@@ -5251,10 +5425,10 @@ var delayRenderTimeoutInMillisecondsOption = {
5251
5425
  docLink: "https://www.remotion.dev/docs/options/timeout",
5252
5426
  type: 0,
5253
5427
  getValue: ({ commandLine }) => {
5254
- if (commandLine[cliFlag90] !== undefined) {
5428
+ if (commandLine[cliFlag93] !== undefined) {
5255
5429
  return {
5256
5430
  source: "cli",
5257
- value: commandLine[cliFlag90]
5431
+ value: commandLine[cliFlag93]
5258
5432
  };
5259
5433
  }
5260
5434
  if (currentTimeout !== null) {
@@ -5269,31 +5443,32 @@ var delayRenderTimeoutInMillisecondsOption = {
5269
5443
  value: DEFAULT_TIMEOUT
5270
5444
  };
5271
5445
  },
5272
- setConfig: (value3) => {
5273
- validate4(value3);
5274
- currentTimeout = value3;
5446
+ setConfig: (value) => {
5447
+ validate4(value);
5448
+ currentTimeout = value;
5275
5449
  },
5276
- id: cliFlag90
5450
+ id: cliFlag93
5277
5451
  };
5278
5452
 
5279
5453
  // src/options/user-agent.tsx
5280
- import { jsx as jsx86, Fragment as Fragment86 } from "react/jsx-runtime";
5454
+ import { jsx as jsx89, Fragment as Fragment89 } from "react/jsx-runtime";
5281
5455
  var userAgent = null;
5282
- var cliFlag91 = "user-agent";
5456
+ var cliFlag94 = "user-agent";
5283
5457
  var userAgentOption = {
5284
5458
  name: "User agent",
5285
- cliFlag: cliFlag91,
5286
- description: () => /* @__PURE__ */ jsx86(Fragment86, {
5459
+ addedIn: "3.3.83",
5460
+ cliFlag: cliFlag94,
5461
+ description: () => /* @__PURE__ */ jsx89(Fragment89, {
5287
5462
  children: "Lets you set a custom user agent that the headless Chrome browser assumes."
5288
5463
  }),
5289
5464
  ssrName: "userAgent",
5290
5465
  docLink: "https://www.remotion.dev/docs/options/user-agent",
5291
5466
  type: null,
5292
5467
  getValue: ({ commandLine }) => {
5293
- if (commandLine[cliFlag91] !== undefined) {
5468
+ if (commandLine[cliFlag94] !== undefined) {
5294
5469
  return {
5295
5470
  source: "cli",
5296
- value: commandLine[cliFlag91]
5471
+ value: commandLine[cliFlag94]
5297
5472
  };
5298
5473
  }
5299
5474
  if (userAgent !== null) {
@@ -5307,28 +5482,29 @@ var userAgentOption = {
5307
5482
  value: null
5308
5483
  };
5309
5484
  },
5310
- setConfig: (value3) => {
5311
- userAgent = value3;
5485
+ setConfig: (value) => {
5486
+ userAgent = value;
5312
5487
  },
5313
- id: cliFlag91
5488
+ id: cliFlag94
5314
5489
  };
5315
5490
 
5316
5491
  // src/options/version-flag.tsx
5317
- import { jsx as jsx87, Fragment as Fragment87 } from "react/jsx-runtime";
5318
- var cliFlag92 = "version";
5492
+ import { jsx as jsx90, Fragment as Fragment90 } from "react/jsx-runtime";
5493
+ var cliFlag95 = "version";
5319
5494
  var versionFlagOption = {
5320
5495
  name: "Version",
5321
- cliFlag: cliFlag92,
5322
- description: () => /* @__PURE__ */ jsx87(Fragment87, {
5496
+ addedIn: "4.0.15",
5497
+ cliFlag: cliFlag95,
5498
+ description: () => /* @__PURE__ */ jsx90(Fragment90, {
5323
5499
  children: "Install a specific version. Also enables downgrading to an older version."
5324
5500
  }),
5325
5501
  ssrName: null,
5326
5502
  docLink: "https://www.remotion.dev/docs/options/version",
5327
5503
  getValue: ({ commandLine }) => {
5328
- if (commandLine[cliFlag92] !== undefined) {
5504
+ if (commandLine[cliFlag95] !== undefined) {
5329
5505
  return {
5330
5506
  source: "cli",
5331
- value: String(commandLine[cliFlag92])
5507
+ value: String(commandLine[cliFlag95])
5332
5508
  };
5333
5509
  }
5334
5510
  return {
@@ -5340,30 +5516,31 @@ var versionFlagOption = {
5340
5516
  throw new Error("Cannot set version via config file");
5341
5517
  },
5342
5518
  type: "",
5343
- id: cliFlag92
5519
+ id: cliFlag95
5344
5520
  };
5345
5521
 
5346
5522
  // src/options/video-bitrate.tsx
5347
- import { jsx as jsx88, jsxs as jsxs63, Fragment as Fragment88 } from "react/jsx-runtime";
5523
+ import { jsx as jsx91, jsxs as jsxs65, Fragment as Fragment91 } from "react/jsx-runtime";
5348
5524
  var videoBitrate = null;
5349
- var cliFlag93 = "video-bitrate";
5525
+ var cliFlag96 = "video-bitrate";
5350
5526
  var videoBitrateOption = {
5351
5527
  name: "Video Bitrate",
5352
- cliFlag: cliFlag93,
5353
- description: () => /* @__PURE__ */ jsxs63(Fragment88, {
5528
+ addedIn: "3.2.32",
5529
+ cliFlag: cliFlag96,
5530
+ description: () => /* @__PURE__ */ jsxs65(Fragment91, {
5354
5531
  children: [
5355
5532
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
5356
5533
  "'",
5357
5534
  "s",
5358
- /* @__PURE__ */ jsx88("code", {
5535
+ /* @__PURE__ */ jsx91("code", {
5359
5536
  children: "-b:v"
5360
5537
  }),
5361
5538
  " 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", {
5539
+ /* @__PURE__ */ jsx91("code", {
5363
5540
  children: "512K"
5364
5541
  }),
5365
5542
  " for 512 kbps, ",
5366
- /* @__PURE__ */ jsx88("code", {
5543
+ /* @__PURE__ */ jsx91("code", {
5367
5544
  children: "1M"
5368
5545
  }),
5369
5546
  " for 1 Mbps."
@@ -5373,10 +5550,10 @@ var videoBitrateOption = {
5373
5550
  docLink: "https://www.remotion.dev/docs/options/video-bitrate",
5374
5551
  type: "",
5375
5552
  getValue: ({ commandLine }) => {
5376
- if (commandLine[cliFlag93] !== undefined) {
5553
+ if (commandLine[cliFlag96] !== undefined) {
5377
5554
  return {
5378
5555
  source: "cli",
5379
- value: commandLine[cliFlag93]
5556
+ value: commandLine[cliFlag96]
5380
5557
  };
5381
5558
  }
5382
5559
  if (videoBitrate !== null) {
@@ -5393,34 +5570,35 @@ var videoBitrateOption = {
5393
5570
  setConfig: (bitrate) => {
5394
5571
  videoBitrate = bitrate;
5395
5572
  },
5396
- id: cliFlag93
5573
+ id: cliFlag96
5397
5574
  };
5398
5575
 
5399
5576
  // src/options/video-cache-size.tsx
5400
- import { jsx as jsx89, jsxs as jsxs64, Fragment as Fragment89 } from "react/jsx-runtime";
5577
+ import { jsx as jsx92, jsxs as jsxs66, Fragment as Fragment92 } from "react/jsx-runtime";
5401
5578
  var mediaCacheSizeInBytes = null;
5402
- var cliFlag94 = "media-cache-size-in-bytes";
5579
+ var cliFlag97 = "media-cache-size-in-bytes";
5403
5580
  var mediaCacheSizeInBytesOption = {
5404
5581
  name: "@remotion/media cache size",
5405
- cliFlag: cliFlag94,
5406
- description: () => /* @__PURE__ */ jsxs64(Fragment89, {
5582
+ addedIn: "4.0.352",
5583
+ cliFlag: cliFlag97,
5584
+ description: () => /* @__PURE__ */ jsxs66(Fragment92, {
5407
5585
  children: [
5408
5586
  "Specify the memory budget for decoded media cached by",
5409
5587
  " ",
5410
- /* @__PURE__ */ jsx89("code", {
5588
+ /* @__PURE__ */ jsx92("code", {
5411
5589
  children: "<Video>"
5412
5590
  }),
5413
5591
  " and ",
5414
- /* @__PURE__ */ jsx89("code", {
5592
+ /* @__PURE__ */ jsx92("code", {
5415
5593
  children: "<Audio>"
5416
5594
  }),
5417
5595
  " from",
5418
5596
  " ",
5419
- /* @__PURE__ */ jsx89("code", {
5597
+ /* @__PURE__ */ jsx92("code", {
5420
5598
  children: "@remotion/media"
5421
5599
  }),
5422
5600
  ", 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", {}),
5601
+ /* @__PURE__ */ jsx92("br", {}),
5424
5602
  "The default is half of the available system memory when the render starts."
5425
5603
  ]
5426
5604
  }),
@@ -5428,10 +5606,10 @@ var mediaCacheSizeInBytesOption = {
5428
5606
  docLink: "https://www.remotion.dev/docs/options/media-cache-size-in-bytes",
5429
5607
  type: 0,
5430
5608
  getValue: ({ commandLine }) => {
5431
- if (commandLine[cliFlag94] !== undefined) {
5609
+ if (commandLine[cliFlag97] !== undefined) {
5432
5610
  return {
5433
5611
  source: "cli",
5434
- value: commandLine[cliFlag94]
5612
+ value: commandLine[cliFlag97]
5435
5613
  };
5436
5614
  }
5437
5615
  if (mediaCacheSizeInBytes !== null) {
@@ -5448,11 +5626,11 @@ var mediaCacheSizeInBytesOption = {
5448
5626
  setConfig: (size) => {
5449
5627
  mediaCacheSizeInBytes = size ?? null;
5450
5628
  },
5451
- id: cliFlag94
5629
+ id: cliFlag97
5452
5630
  };
5453
5631
 
5454
5632
  // src/options/video-codec.tsx
5455
- import { jsx as jsx90, Fragment as Fragment90 } from "react/jsx-runtime";
5633
+ import { jsx as jsx93, Fragment as Fragment93 } from "react/jsx-runtime";
5456
5634
  var codec;
5457
5635
  var setCodec = (newCodec) => {
5458
5636
  if (newCodec === undefined) {
@@ -5477,11 +5655,12 @@ var deriveCodecsFromFilename = (extension) => {
5477
5655
  possible: makeFileExtensionMap()[normalizedExtension] ?? []
5478
5656
  };
5479
5657
  };
5480
- var cliFlag95 = "codec";
5658
+ var cliFlag98 = "codec";
5481
5659
  var videoCodecOption = {
5482
5660
  name: "Codec",
5483
- cliFlag: cliFlag95,
5484
- description: () => /* @__PURE__ */ jsx90(Fragment90, {
5661
+ addedIn: "1.4.0",
5662
+ cliFlag: cliFlag98,
5663
+ description: () => /* @__PURE__ */ jsx93(Fragment93, {
5485
5664
  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
5665
  }),
5487
5666
  ssrName: "codec",
@@ -5504,7 +5683,7 @@ var videoCodecOption = {
5504
5683
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
5505
5684
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
5506
5685
  }
5507
- const cliArgument = commandLine[cliFlag95];
5686
+ const cliArgument = commandLine[cliFlag98];
5508
5687
  if (cliArgument) {
5509
5688
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
5510
5689
  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 +5732,31 @@ var videoCodecOption = {
5553
5732
  reset: () => {
5554
5733
  codec = undefined;
5555
5734
  },
5556
- id: cliFlag95
5735
+ id: cliFlag98
5557
5736
  };
5558
5737
 
5559
5738
  // src/options/video-image-format.tsx
5560
- import { jsx as jsx91, jsxs as jsxs65, Fragment as Fragment91 } from "react/jsx-runtime";
5739
+ import { jsx as jsx94, jsxs as jsxs67, Fragment as Fragment94 } from "react/jsx-runtime";
5561
5740
  var currentVideoImageFormat = null;
5562
- var cliFlag96 = "image-format";
5741
+ var cliFlag99 = "image-format";
5563
5742
  var videoImageFormatOption = {
5564
5743
  name: "Video Image Format",
5565
- cliFlag: cliFlag96,
5566
- description: () => /* @__PURE__ */ jsxs65(Fragment91, {
5744
+ addedIn: "1.4.0",
5745
+ cliFlag: cliFlag99,
5746
+ description: () => /* @__PURE__ */ jsxs67(Fragment94, {
5567
5747
  children: [
5568
5748
  "The image format to use when rendering frames for a video. Must be one of",
5569
5749
  " ",
5570
5750
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
5571
5751
  ". Default:",
5572
5752
  " ",
5573
- /* @__PURE__ */ jsx91("code", {
5753
+ /* @__PURE__ */ jsx94("code", {
5574
5754
  children: '"jpeg"'
5575
5755
  }),
5576
5756
  ". JPEG is faster, but does not support transparency.",
5577
- /* @__PURE__ */ jsx91("br", {}),
5757
+ /* @__PURE__ */ jsx94("br", {}),
5578
5758
  "When ",
5579
- /* @__PURE__ */ jsx91("a", {
5759
+ /* @__PURE__ */ jsx94("a", {
5580
5760
  href: "/docs/shared-memory-capture",
5581
5761
  children: "shared-memory capture"
5582
5762
  }),
@@ -5593,14 +5773,14 @@ var videoImageFormatOption = {
5593
5773
  value: options.uiVideoImageFormat
5594
5774
  };
5595
5775
  }
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(", ")}`);
5776
+ if (commandLine[cliFlag99] !== undefined) {
5777
+ const value = commandLine[cliFlag99];
5778
+ if (!validVideoImageFormats.includes(value)) {
5779
+ throw new Error(`Invalid video image format: ${value}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5600
5780
  }
5601
5781
  return {
5602
5782
  source: "from --image-format flag",
5603
- value: value3
5783
+ value
5604
5784
  };
5605
5785
  }
5606
5786
  if (options && options.compositionDefaultVideoImageFormat !== null) {
@@ -5641,29 +5821,30 @@ var videoImageFormatOption = {
5641
5821
  value: null
5642
5822
  };
5643
5823
  },
5644
- setConfig: (value3) => {
5645
- if (value3 === null) {
5824
+ setConfig: (value) => {
5825
+ if (value === null) {
5646
5826
  currentVideoImageFormat = null;
5647
5827
  return;
5648
5828
  }
5649
- if (!validVideoImageFormats.includes(value3)) {
5829
+ if (!validVideoImageFormats.includes(value)) {
5650
5830
  throw new TypeError([
5651
- `Value ${value3} is not valid as a video image format.`,
5652
- value3 === "jpg" ? 'Did you mean "jpeg"?' : null
5831
+ `Value ${value} is not valid as a video image format.`,
5832
+ value === "jpg" ? 'Did you mean "jpeg"?' : null
5653
5833
  ].filter(Boolean).join(" "));
5654
5834
  }
5655
- currentVideoImageFormat = value3;
5835
+ currentVideoImageFormat = value;
5656
5836
  },
5657
5837
  id: "video-image-format"
5658
5838
  };
5659
5839
 
5660
5840
  // src/options/webhook-custom-data.tsx
5661
- import { jsxs as jsxs66, Fragment as Fragment92 } from "react/jsx-runtime";
5662
- var cliFlag97 = "webhook-custom-data";
5841
+ import { jsxs as jsxs68, Fragment as Fragment95 } from "react/jsx-runtime";
5842
+ var cliFlag100 = "webhook-custom-data";
5663
5843
  var webhookCustomDataOption = {
5664
5844
  name: "Webhook custom data",
5665
- cliFlag: cliFlag97,
5666
- description: (type) => /* @__PURE__ */ jsxs66(Fragment92, {
5845
+ addedIn: "4.0.25",
5846
+ cliFlag: cliFlag100,
5847
+ description: (type) => /* @__PURE__ */ jsxs68(Fragment95, {
5667
5848
  children: [
5668
5849
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
5669
5850
  " ",
@@ -5679,24 +5860,25 @@ var webhookCustomDataOption = {
5679
5860
  setConfig: () => {
5680
5861
  throw new Error("Not implemented");
5681
5862
  },
5682
- id: cliFlag97
5863
+ id: cliFlag100
5683
5864
  };
5684
5865
 
5685
5866
  // src/options/webpack-poll.tsx
5686
- import { jsx as jsx92, Fragment as Fragment93 } from "react/jsx-runtime";
5687
- var cliFlag98 = "webpack-poll";
5867
+ import { jsx as jsx95, Fragment as Fragment96 } from "react/jsx-runtime";
5868
+ var cliFlag101 = "webpack-poll";
5688
5869
  var webpackPolling = null;
5689
5870
  var webpackPollOption = {
5690
5871
  name: "Webpack Polling",
5691
- cliFlag: cliFlag98,
5692
- description: () => /* @__PURE__ */ jsx92(Fragment93, {
5872
+ addedIn: "3.3.11",
5873
+ cliFlag: cliFlag101,
5874
+ description: () => /* @__PURE__ */ jsx95(Fragment96, {
5693
5875
  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
5876
  }),
5695
5877
  ssrName: null,
5696
5878
  docLink: "https://www.remotion.dev/docs/options/webpack-poll",
5697
5879
  getValue: ({ commandLine }) => {
5698
- if (commandLine[cliFlag98] !== undefined) {
5699
- const val = commandLine[cliFlag98];
5880
+ if (commandLine[cliFlag101] !== undefined) {
5881
+ const val = commandLine[cliFlag101];
5700
5882
  if (typeof val !== "number") {
5701
5883
  throw new TypeError(`Webpack polling must be a number, got ${JSON.stringify(val)}`);
5702
5884
  }
@@ -5716,18 +5898,18 @@ var webpackPollOption = {
5716
5898
  value: null
5717
5899
  };
5718
5900
  },
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.`);
5901
+ setConfig: (value) => {
5902
+ if (typeof value !== "number" && value !== null) {
5903
+ throw new TypeError(`Polling must be a number or null, got ${JSON.stringify(value)} instead.`);
5722
5904
  }
5723
- webpackPolling = value3;
5905
+ webpackPolling = value;
5724
5906
  },
5725
5907
  type: 0,
5726
- id: cliFlag98
5908
+ id: cliFlag101
5727
5909
  };
5728
5910
 
5729
5911
  // src/options/x264-preset.tsx
5730
- import { jsx as jsx93, jsxs as jsxs67, Fragment as Fragment94 } from "react/jsx-runtime";
5912
+ import { jsx as jsx96, jsxs as jsxs69, Fragment as Fragment97 } from "react/jsx-runtime";
5731
5913
  var x264PresetOptions = [
5732
5914
  "ultrafast",
5733
5915
  "superfast",
@@ -5741,63 +5923,64 @@ var x264PresetOptions = [
5741
5923
  "placebo"
5742
5924
  ];
5743
5925
  var preset = null;
5744
- var cliFlag99 = "x264-preset";
5926
+ var cliFlag102 = "x264-preset";
5745
5927
  var DEFAULT_PRESET = "medium";
5746
5928
  var x264Option = {
5747
5929
  name: "x264 Preset",
5748
- cliFlag: cliFlag99,
5749
- description: () => /* @__PURE__ */ jsxs67(Fragment94, {
5930
+ addedIn: "4.0.22",
5931
+ cliFlag: cliFlag102,
5932
+ description: () => /* @__PURE__ */ jsxs69(Fragment97, {
5750
5933
  children: [
5751
5934
  "Sets a x264 preset profile. Only applies to videos rendered with",
5752
5935
  " ",
5753
- /* @__PURE__ */ jsx93("code", {
5936
+ /* @__PURE__ */ jsx96("code", {
5754
5937
  children: "h264"
5755
5938
  }),
5756
5939
  " codec.",
5757
- /* @__PURE__ */ jsx93("br", {}),
5940
+ /* @__PURE__ */ jsx96("br", {}),
5758
5941
  "Possible values: ",
5759
- /* @__PURE__ */ jsx93("code", {
5942
+ /* @__PURE__ */ jsx96("code", {
5760
5943
  children: "superfast"
5761
5944
  }),
5762
5945
  ", ",
5763
- /* @__PURE__ */ jsx93("code", {
5946
+ /* @__PURE__ */ jsx96("code", {
5764
5947
  children: "veryfast"
5765
5948
  }),
5766
5949
  ",",
5767
5950
  " ",
5768
- /* @__PURE__ */ jsx93("code", {
5951
+ /* @__PURE__ */ jsx96("code", {
5769
5952
  children: "faster"
5770
5953
  }),
5771
5954
  ", ",
5772
- /* @__PURE__ */ jsx93("code", {
5955
+ /* @__PURE__ */ jsx96("code", {
5773
5956
  children: "fast"
5774
5957
  }),
5775
5958
  ", ",
5776
- /* @__PURE__ */ jsx93("code", {
5959
+ /* @__PURE__ */ jsx96("code", {
5777
5960
  children: "medium"
5778
5961
  }),
5779
5962
  ",",
5780
5963
  " ",
5781
- /* @__PURE__ */ jsx93("code", {
5964
+ /* @__PURE__ */ jsx96("code", {
5782
5965
  children: "slow"
5783
5966
  }),
5784
5967
  ", ",
5785
- /* @__PURE__ */ jsx93("code", {
5968
+ /* @__PURE__ */ jsx96("code", {
5786
5969
  children: "slower"
5787
5970
  }),
5788
5971
  ", ",
5789
- /* @__PURE__ */ jsx93("code", {
5972
+ /* @__PURE__ */ jsx96("code", {
5790
5973
  children: "veryslow"
5791
5974
  }),
5792
5975
  ",",
5793
5976
  " ",
5794
- /* @__PURE__ */ jsx93("code", {
5977
+ /* @__PURE__ */ jsx96("code", {
5795
5978
  children: "placebo"
5796
5979
  }),
5797
5980
  ".",
5798
- /* @__PURE__ */ jsx93("br", {}),
5981
+ /* @__PURE__ */ jsx96("br", {}),
5799
5982
  "Default: ",
5800
- /* @__PURE__ */ jsx93("code", {
5983
+ /* @__PURE__ */ jsx96("code", {
5801
5984
  children: DEFAULT_PRESET
5802
5985
  })
5803
5986
  ]
@@ -5806,9 +5989,9 @@ var x264Option = {
5806
5989
  docLink: "https://www.remotion.dev/docs/options/x264-preset",
5807
5990
  type: "fast",
5808
5991
  getValue: ({ commandLine }) => {
5809
- const value3 = commandLine[cliFlag99];
5810
- if (typeof value3 !== "undefined") {
5811
- return { value: value3, source: "cli" };
5992
+ const value = commandLine[cliFlag102];
5993
+ if (typeof value !== "undefined") {
5994
+ return { value, source: "cli" };
5812
5995
  }
5813
5996
  if (preset !== null) {
5814
5997
  return { value: preset, source: "config" };
@@ -5818,11 +6001,13 @@ var x264Option = {
5818
6001
  setConfig: (profile) => {
5819
6002
  preset = profile;
5820
6003
  },
5821
- id: cliFlag99
6004
+ id: cliFlag102
5822
6005
  };
5823
6006
 
5824
6007
  // src/options/index.tsx
5825
6008
  var allOptions = {
6009
+ showLayerFrameNumbersOption,
6010
+ showPremountingOption,
5826
6011
  allowHtmlInCanvasOption,
5827
6012
  audioCodecOption,
5828
6013
  benchmarkConcurrenciesOption,
@@ -5888,6 +6073,7 @@ var allOptions = {
5888
6073
  darkModeOption,
5889
6074
  defaultCodingAgentOption,
5890
6075
  defaultEditorOption,
6076
+ defaultPremountInSecondsOption,
5891
6077
  publicLicenseKeyOption,
5892
6078
  isProductionOption,
5893
6079
  askAIOption,
@@ -5897,7 +6083,7 @@ var allOptions = {
5897
6083
  framesOption,
5898
6084
  forceNewStudioOption,
5899
6085
  experimentalKeepAudioContextAliveOption,
5900
- experimentalTracksOption,
6086
+ sequenceActivityLimitOption,
5901
6087
  numberOfSharedAudioTagsOption,
5902
6088
  ipv4Option,
5903
6089
  stillImageFormatOption,
@@ -6099,40 +6285,40 @@ var optionsMap = {
6099
6285
  };
6100
6286
 
6101
6287
  // src/validate-output-filename.ts
6102
- import { NoReactInternals as NoReactInternals6 } from "remotion/no-react";
6288
+ import { NoReactInternals as NoReactInternals8 } from "remotion/no-react";
6103
6289
  var validateOutputFilename = ({
6104
- codec: codec2,
6290
+ codec,
6105
6291
  audioCodecSetting,
6106
6292
  extension,
6107
6293
  preferLossless,
6108
6294
  separateAudioTo
6109
6295
  }) => {
6110
- if (!defaultFileExtensionMap[codec2]) {
6111
- throw new TypeError(`The codec "${codec2}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
6296
+ if (!defaultFileExtensionMap[codec]) {
6297
+ throw new TypeError(`The codec "${codec}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
6112
6298
  }
6113
6299
  const normalizedExtension = extension === null ? null : extension.toLowerCase();
6114
- if (NoReactInternals6.ENABLE_V5_BREAKING_CHANGES && codec2 === "aac" && (normalizedExtension === "mpg" || normalizedExtension === "mpeg")) {
6300
+ if (NoReactInternals8.ENABLE_V5_BREAKING_CHANGES && codec === "aac" && (normalizedExtension === "mpg" || normalizedExtension === "mpeg")) {
6115
6301
  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
6302
  }
6117
- const map = defaultFileExtensionMap[codec2];
6303
+ const map = defaultFileExtensionMap[codec];
6118
6304
  const resolvedAudioCodec = resolveAudioCodec({
6119
- codec: codec2,
6305
+ codec,
6120
6306
  preferLossless,
6121
6307
  setting: audioCodecSetting,
6122
6308
  separateAudioTo
6123
6309
  });
6124
6310
  if (resolvedAudioCodec === null) {
6125
6311
  if (normalizedExtension !== map.default) {
6126
- throw new TypeError(`When using the ${codec2} codec, the output filename must end in .${map.default}.`);
6312
+ throw new TypeError(`When using the ${codec} codec, the output filename must end in .${map.default}.`);
6127
6313
  }
6128
6314
  return;
6129
6315
  }
6130
6316
  if (!(resolvedAudioCodec in map.forAudioCodec)) {
6131
- throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec2}`);
6317
+ throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec}`);
6132
6318
  }
6133
6319
  const acceptableExtensions = map.forAudioCodec[resolvedAudioCodec].possible;
6134
6320
  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(", ")}.`);
6321
+ 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
6322
  }
6137
6323
  };
6138
6324
 
@@ -6145,7 +6331,7 @@ var BrowserSafeApis = {
6145
6331
  validAudioCodecs,
6146
6332
  getDefaultCrfForCodec,
6147
6333
  getValidCrfRanges,
6148
- proResProfileOptions: NoReactInternals7.proResProfileOptions,
6334
+ proResProfileOptions: NoReactInternals9.proResProfileOptions,
6149
6335
  x264PresetOptions,
6150
6336
  hardwareAccelerationOptions,
6151
6337
  validPixelFormats,
@@ -6173,10 +6359,10 @@ var BrowserSafeApis = {
6173
6359
  validChromeModeOptions
6174
6360
  };
6175
6361
  export {
6176
- defaultEditorIds,
6177
- defaultCodingAgentIds,
6178
- customEditorTargetPathPlaceholder,
6179
- customEditorLineNumberPlaceholder,
6362
+ BrowserSafeApis,
6180
6363
  customEditorColumnNumberPlaceholder,
6181
- BrowserSafeApis
6364
+ customEditorLineNumberPlaceholder,
6365
+ customEditorTargetPathPlaceholder,
6366
+ defaultCodingAgentIds,
6367
+ defaultEditorIds
6182
6368
  };