@remotion/renderer 4.0.513 → 4.0.515

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 (44) hide show
  1. package/dist/client.d.ts +78 -0
  2. package/dist/compositor/compositor.d.ts +7 -0
  3. package/dist/compositor/compositor.js +45 -1
  4. package/dist/ensure-browser.d.ts +2 -0
  5. package/dist/esm/client.mjs +978 -839
  6. package/dist/esm/index.mjs +104 -11
  7. package/dist/index.d.ts +13 -1
  8. package/dist/offthread-video-server.js +3 -8
  9. package/dist/options/ask-ai.d.ts +2 -0
  10. package/dist/options/ask-ai.js +7 -0
  11. package/dist/options/beep-on-finish.d.ts +2 -0
  12. package/dist/options/beep-on-finish.js +7 -0
  13. package/dist/options/cross-site-isolation.d.ts +2 -0
  14. package/dist/options/cross-site-isolation.js +7 -0
  15. package/dist/options/enable-cancellation.d.ts +16 -0
  16. package/dist/options/enable-cancellation.js +31 -0
  17. package/dist/options/index.d.ts +50 -0
  18. package/dist/options/index.js +4 -0
  19. package/dist/options/interactivity.d.ts +2 -0
  20. package/dist/options/interactivity.js +7 -0
  21. package/dist/options/keyboard-shortcuts.d.ts +2 -0
  22. package/dist/options/keyboard-shortcuts.js +7 -0
  23. package/dist/options/latency-hint.d.ts +2 -0
  24. package/dist/options/latency-hint.js +4 -0
  25. package/dist/options/log-level.d.ts +2 -0
  26. package/dist/options/log-level.js +7 -0
  27. package/dist/options/number-of-shared-audio-tags.d.ts +2 -0
  28. package/dist/options/number-of-shared-audio-tags.js +7 -0
  29. package/dist/options/option.d.ts +1 -0
  30. package/dist/options/options-map.d.ts +28 -0
  31. package/dist/options/rspack.d.ts +2 -0
  32. package/dist/options/rspack.js +7 -0
  33. package/dist/prestitcher-memory-usage.d.ts +4 -0
  34. package/dist/prestitcher-memory-usage.js +10 -3
  35. package/dist/render-frame-and-retry-target-close.d.ts +1 -1
  36. package/dist/render-frame-with-option-to-reject.d.ts +1 -1
  37. package/dist/render-frame-with-option-to-reject.js +1 -1
  38. package/dist/render-frame.d.ts +1 -1
  39. package/dist/render-frames.d.ts +3 -3
  40. package/dist/render-frames.js +8 -2
  41. package/dist/render-media.js +7 -3
  42. package/dist/write-with-backpressure.d.ts +5 -0
  43. package/dist/write-with-backpressure.js +34 -0
  44. package/package.json +13 -13
@@ -304,17 +304,56 @@ var isValidLogLevel = (level) => {
304
304
  return getNumberForLogLevel(level) > -1;
305
305
  };
306
306
 
307
- // src/options/api-key.tsx
307
+ // src/options/allow-html-in-canvas.tsx
308
308
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
309
+ var allowHtmlInCanvasEnabled = false;
310
+ var cliFlag = "allow-html-in-canvas";
311
+ var allowHtmlInCanvasOption = {
312
+ name: "Allow HTML-in-canvas for client-side rendering",
313
+ cliFlag,
314
+ description: () => /* @__PURE__ */ jsxs(Fragment, {
315
+ children: [
316
+ "When client-side rendering is enabled in the Studio, allow the experimental Chromium HTML-in-canvas API to be used for capturing frames. See",
317
+ " ",
318
+ /* @__PURE__ */ jsx("a", {
319
+ href: "/docs/client-side-rendering/html-in-canvas",
320
+ children: "HTML-in-canvas docs"
321
+ }),
322
+ "."
323
+ ]
324
+ }),
325
+ ssrName: null,
326
+ docLink: "https://www.remotion.dev/docs/client-side-rendering/html-in-canvas",
327
+ type: false,
328
+ getValue: ({ commandLine }) => {
329
+ if (commandLine[cliFlag] !== null) {
330
+ return {
331
+ value: commandLine[cliFlag],
332
+ source: "cli"
333
+ };
334
+ }
335
+ return {
336
+ value: allowHtmlInCanvasEnabled,
337
+ source: "config"
338
+ };
339
+ },
340
+ setConfig(value) {
341
+ allowHtmlInCanvasEnabled = value;
342
+ },
343
+ id: cliFlag
344
+ };
345
+
346
+ // src/options/api-key.tsx
347
+ import { jsx as jsx2, jsxs as jsxs2, Fragment as Fragment2 } from "react/jsx-runtime";
309
348
  var currentApiKey = null;
310
- var cliFlag = "api-key";
349
+ var cliFlag2 = "api-key";
311
350
  var apiKeyOption = {
312
351
  name: "API key",
313
- cliFlag,
314
- description: () => /* @__PURE__ */ jsxs(Fragment, {
352
+ cliFlag: cliFlag2,
353
+ description: () => /* @__PURE__ */ jsxs2(Fragment2, {
315
354
  children: [
316
355
  "API key for sending a usage event using ",
317
- /* @__PURE__ */ jsx("code", {
356
+ /* @__PURE__ */ jsx2("code", {
318
357
  children: "@remotion/licensing"
319
358
  }),
320
359
  "."
@@ -324,10 +363,10 @@ var apiKeyOption = {
324
363
  docLink: "https://www.remotion.dev/docs/licensing",
325
364
  type: null,
326
365
  getValue: ({ commandLine }) => {
327
- if (commandLine[cliFlag] !== undefined) {
366
+ if (commandLine[cliFlag2] !== undefined) {
328
367
  return {
329
368
  source: "cli",
330
- value: commandLine[cliFlag]
369
+ value: commandLine[cliFlag2]
331
370
  };
332
371
  }
333
372
  return {
@@ -338,24 +377,25 @@ var apiKeyOption = {
338
377
  setConfig: (value) => {
339
378
  currentApiKey = value;
340
379
  },
341
- id: cliFlag
380
+ id: cliFlag2
342
381
  };
343
382
 
344
383
  // src/options/ask-ai.tsx
345
- import { jsx as jsx2, Fragment as Fragment2 } from "react/jsx-runtime";
384
+ import { jsx as jsx3, Fragment as Fragment3 } from "react/jsx-runtime";
346
385
  var askAIEnabled = true;
347
- var cliFlag2 = "disable-ask-ai";
386
+ var configuredAskAIEnabled = null;
387
+ var cliFlag3 = "disable-ask-ai";
348
388
  var askAIOption = {
349
389
  name: "Disable or Enable the Ask AI option",
350
- cliFlag: cliFlag2,
351
- description: () => /* @__PURE__ */ jsx2(Fragment2, {
390
+ cliFlag: cliFlag3,
391
+ description: () => /* @__PURE__ */ jsx3(Fragment3, {
352
392
  children: "If the Cmd + I shortcut of the Ask AI modal conflicts with your Studio, you can disable it using this."
353
393
  }),
354
394
  ssrName: null,
355
395
  docLink: "https://www.remotion.dev/docs/config#setaskaienabled",
356
396
  type: false,
357
397
  getValue: ({ commandLine }) => {
358
- if (commandLine[cliFlag2] !== undefined) {
398
+ if (commandLine[cliFlag3] !== undefined) {
359
399
  askAIEnabled = false;
360
400
  return {
361
401
  value: askAIEnabled,
@@ -369,35 +409,41 @@ var askAIOption = {
369
409
  },
370
410
  setConfig(value) {
371
411
  askAIEnabled = value;
412
+ configuredAskAIEnabled = value;
372
413
  },
373
- id: cliFlag2
414
+ getConfigValue: () => configuredAskAIEnabled,
415
+ reset: () => {
416
+ askAIEnabled = true;
417
+ configuredAskAIEnabled = null;
418
+ },
419
+ id: cliFlag3
374
420
  };
375
421
 
376
422
  // src/options/audio-bitrate.tsx
377
- import { jsx as jsx3, jsxs as jsxs2, Fragment as Fragment3 } from "react/jsx-runtime";
378
- var cliFlag3 = "audio-bitrate";
423
+ import { jsx as jsx4, jsxs as jsxs3, Fragment as Fragment4 } from "react/jsx-runtime";
424
+ var cliFlag4 = "audio-bitrate";
379
425
  var audioBitrate = null;
380
426
  var audioBitrateOption = {
381
427
  name: "Audio Bitrate",
382
- cliFlag: cliFlag3,
383
- description: () => /* @__PURE__ */ jsxs2(Fragment3, {
428
+ cliFlag: cliFlag4,
429
+ description: () => /* @__PURE__ */ jsxs3(Fragment4, {
384
430
  children: [
385
431
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
386
432
  "'",
387
433
  "s ",
388
- /* @__PURE__ */ jsx3("code", {
434
+ /* @__PURE__ */ jsx4("code", {
389
435
  children: "-b:a"
390
436
  }),
391
437
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact audio bitrate specified. Example values: ",
392
- /* @__PURE__ */ jsx3("code", {
438
+ /* @__PURE__ */ jsx4("code", {
393
439
  children: "512K"
394
440
  }),
395
441
  " for 512 kbps, ",
396
- /* @__PURE__ */ jsx3("code", {
442
+ /* @__PURE__ */ jsx4("code", {
397
443
  children: "1M"
398
444
  }),
399
445
  " for 1 Mbps. Default: ",
400
- /* @__PURE__ */ jsx3("code", {
446
+ /* @__PURE__ */ jsx4("code", {
401
447
  children: "320k"
402
448
  })
403
449
  ]
@@ -406,9 +452,9 @@ var audioBitrateOption = {
406
452
  docLink: "https://www.remotion.dev/docs/renderer/render-media#audiobitrate-",
407
453
  type: "0",
408
454
  getValue: ({ commandLine }) => {
409
- if (commandLine[cliFlag3]) {
455
+ if (commandLine[cliFlag4]) {
410
456
  return {
411
- value: commandLine[cliFlag3],
457
+ value: commandLine[cliFlag4],
412
458
  source: "cli"
413
459
  };
414
460
  }
@@ -426,21 +472,21 @@ var audioBitrateOption = {
426
472
  setConfig: (value) => {
427
473
  audioBitrate = value;
428
474
  },
429
- id: cliFlag3
475
+ id: cliFlag4
430
476
  };
431
477
 
432
478
  // src/options/separate-audio.tsx
433
479
  var DEFAULT = null;
434
- var cliFlag4 = "separate-audio-to";
480
+ var cliFlag5 = "separate-audio-to";
435
481
  var separateAudioOption = {
436
- cliFlag: cliFlag4,
482
+ cliFlag: cliFlag5,
437
483
  description: () => `If set, the audio will not be included in the main output but rendered as a separate file at the location you pass. It is recommended to use an absolute path. If a relative path is passed, it is relative to the Remotion Root.`,
438
484
  docLink: "https://remotion.dev/docs/renderer/render-media",
439
485
  getValue: ({ commandLine }) => {
440
- if (commandLine[cliFlag4]) {
486
+ if (commandLine[cliFlag5]) {
441
487
  return {
442
488
  source: "cli",
443
- value: commandLine[cliFlag4]
489
+ value: commandLine[cliFlag5]
444
490
  };
445
491
  }
446
492
  return {
@@ -454,7 +500,7 @@ var separateAudioOption = {
454
500
  },
455
501
  ssrName: "separateAudioTo",
456
502
  type: "string",
457
- id: cliFlag4
503
+ id: cliFlag5
458
504
  };
459
505
 
460
506
  // src/options/audio-codec.tsx
@@ -476,7 +522,7 @@ var supportedAudioCodecs = {
476
522
  };
477
523
  var _satisfies = supportedAudioCodecs;
478
524
  if (_satisfies) {}
479
- var cliFlag5 = "audio-codec";
525
+ var cliFlag6 = "audio-codec";
480
526
  var ssrName = "audioCodec";
481
527
  var defaultAudioCodecs = {
482
528
  "h264-mkv": {
@@ -584,7 +630,7 @@ var getDefaultAudioCodec = ({
584
630
  };
585
631
  var _audioCodec = null;
586
632
  var audioCodecOption = {
587
- cliFlag: cliFlag5,
633
+ cliFlag: cliFlag6,
588
634
  setConfig: (audioCodec) => {
589
635
  if (audioCodec === null) {
590
636
  _audioCodec = null;
@@ -596,14 +642,14 @@ var audioCodecOption = {
596
642
  _audioCodec = audioCodec;
597
643
  },
598
644
  getValue: ({ commandLine }) => {
599
- if (commandLine[cliFlag5]) {
600
- const codec = commandLine[cliFlag5];
601
- if (!validAudioCodecs.includes(commandLine[cliFlag5])) {
645
+ if (commandLine[cliFlag6]) {
646
+ const codec = commandLine[cliFlag6];
647
+ if (!validAudioCodecs.includes(commandLine[cliFlag6])) {
602
648
  throw new Error(`Audio codec must be one of the following: ${validAudioCodecs.join(", ")}, but got ${codec}`);
603
649
  }
604
650
  return {
605
651
  source: "cli",
606
- value: commandLine[cliFlag5]
652
+ value: commandLine[cliFlag6]
607
653
  };
608
654
  }
609
655
  if (_audioCodec !== null) {
@@ -622,26 +668,27 @@ var audioCodecOption = {
622
668
  name: "Audio Codec",
623
669
  ssrName,
624
670
  type: "aac",
625
- id: cliFlag5
671
+ id: cliFlag6
626
672
  };
627
673
 
628
674
  // src/options/beep-on-finish.tsx
629
- import { jsx as jsx4, Fragment as Fragment4 } from "react/jsx-runtime";
675
+ import { jsx as jsx5, Fragment as Fragment5 } from "react/jsx-runtime";
630
676
  var beepOnFinish = false;
631
- var cliFlag6 = "beep-on-finish";
677
+ var configuredBeepOnFinish = null;
678
+ var cliFlag7 = "beep-on-finish";
632
679
  var beepOnFinishOption = {
633
680
  name: "Beep on finish",
634
- cliFlag: cliFlag6,
635
- description: () => /* @__PURE__ */ jsx4(Fragment4, {
681
+ cliFlag: cliFlag7,
682
+ description: () => /* @__PURE__ */ jsx5(Fragment5, {
636
683
  children: "Whether the Remotion Studio tab should beep when the render is finished."
637
684
  }),
638
685
  ssrName: null,
639
686
  docLink: "https://www.remotion.dev/docs/config#setbeeponfinish",
640
687
  type: false,
641
688
  getValue: ({ commandLine }) => {
642
- if (commandLine[cliFlag6] !== undefined && commandLine[cliFlag6] !== null) {
689
+ if (commandLine[cliFlag7] !== undefined && commandLine[cliFlag7] !== null) {
643
690
  return {
644
- value: commandLine[cliFlag6],
691
+ value: commandLine[cliFlag7],
645
692
  source: "cli"
646
693
  };
647
694
  }
@@ -658,22 +705,28 @@ var beepOnFinishOption = {
658
705
  },
659
706
  setConfig(value) {
660
707
  beepOnFinish = value;
708
+ configuredBeepOnFinish = value;
661
709
  },
662
- id: cliFlag6
710
+ getConfigValue: () => configuredBeepOnFinish,
711
+ reset: () => {
712
+ beepOnFinish = false;
713
+ configuredBeepOnFinish = null;
714
+ },
715
+ id: cliFlag7
663
716
  };
664
717
 
665
718
  // src/options/benchmark-concurrencies.tsx
666
- import { jsx as jsx5, jsxs as jsxs3, Fragment as Fragment5 } from "react/jsx-runtime";
719
+ import { jsx as jsx6, jsxs as jsxs4, Fragment as Fragment6 } from "react/jsx-runtime";
667
720
  var currentConcurrencies = null;
668
- var cliFlag7 = "concurrencies";
721
+ var cliFlag8 = "concurrencies";
669
722
  var benchmarkConcurrenciesOption = {
670
723
  name: "Benchmark concurrencies",
671
- cliFlag: cliFlag7,
672
- description: () => /* @__PURE__ */ jsxs3(Fragment5, {
724
+ cliFlag: cliFlag8,
725
+ description: () => /* @__PURE__ */ jsxs4(Fragment6, {
673
726
  children: [
674
727
  "Specify which concurrency values should be used while benchmarking. Multiple values can be passed separated by comma. Learn more about",
675
728
  " ",
676
- /* @__PURE__ */ jsx5("a", {
729
+ /* @__PURE__ */ jsx6("a", {
677
730
  href: "https://remotion.dev/docs/terminology/concurrency",
678
731
  children: "concurrency"
679
732
  }),
@@ -684,8 +737,8 @@ var benchmarkConcurrenciesOption = {
684
737
  docLink: "https://www.remotion.dev/docs/cli/benchmark#--concurrencies",
685
738
  type: null,
686
739
  getValue: ({ commandLine }) => {
687
- if (commandLine[cliFlag7] !== undefined) {
688
- return { value: commandLine[cliFlag7], source: "cli" };
740
+ if (commandLine[cliFlag8] !== undefined) {
741
+ return { value: commandLine[cliFlag8], source: "cli" };
689
742
  }
690
743
  if (currentConcurrencies !== null) {
691
744
  return { value: currentConcurrencies, source: "config" };
@@ -695,38 +748,38 @@ var benchmarkConcurrenciesOption = {
695
748
  setConfig: (value) => {
696
749
  currentConcurrencies = value;
697
750
  },
698
- id: cliFlag7
751
+ id: cliFlag8
699
752
  };
700
753
 
701
754
  // src/options/binaries-directory.tsx
702
- import { jsx as jsx6, jsxs as jsxs4, Fragment as Fragment6 } from "react/jsx-runtime";
703
- var cliFlag8 = "binaries-directory";
755
+ import { jsx as jsx7, jsxs as jsxs5, Fragment as Fragment7 } from "react/jsx-runtime";
756
+ var cliFlag9 = "binaries-directory";
704
757
  var currentDirectory = null;
705
758
  var binariesDirectoryOption = {
706
759
  name: "Binaries Directory",
707
- cliFlag: cliFlag8,
708
- description: () => /* @__PURE__ */ jsxs4(Fragment6, {
760
+ cliFlag: cliFlag9,
761
+ description: () => /* @__PURE__ */ jsxs5(Fragment7, {
709
762
  children: [
710
763
  "The directory where the platform-specific binaries and libraries that Remotion needs are located. Those include an ",
711
- /* @__PURE__ */ jsx6("code", {
764
+ /* @__PURE__ */ jsx7("code", {
712
765
  children: "ffmpeg"
713
766
  }),
714
767
  " and",
715
768
  " ",
716
- /* @__PURE__ */ jsx6("code", {
769
+ /* @__PURE__ */ jsx7("code", {
717
770
  children: "ffprobe"
718
771
  }),
719
772
  " binary, a Rust binary for various tasks, and various shared libraries. If the value is set to ",
720
- /* @__PURE__ */ jsx6("code", {
773
+ /* @__PURE__ */ jsx7("code", {
721
774
  children: "null"
722
775
  }),
723
776
  ", which is the default, then the path of a platform-specific package located at",
724
777
  " ",
725
- /* @__PURE__ */ jsx6("code", {
778
+ /* @__PURE__ */ jsx7("code", {
726
779
  children: "node_modules/@remotion/compositor-*"
727
780
  }),
728
781
  " is selected.",
729
- /* @__PURE__ */ jsx6("br", {}),
782
+ /* @__PURE__ */ jsx7("br", {}),
730
783
  "This option is useful in environments where Remotion is not officially supported to run like bundled serverless functions or Electron."
731
784
  ]
732
785
  }),
@@ -734,10 +787,10 @@ var binariesDirectoryOption = {
734
787
  docLink: "https://www.remotion.dev/docs/renderer",
735
788
  type: "",
736
789
  getValue: ({ commandLine }) => {
737
- if (commandLine[cliFlag8] !== undefined) {
790
+ if (commandLine[cliFlag9] !== undefined) {
738
791
  return {
739
792
  source: "cli",
740
- value: commandLine[cliFlag8]
793
+ value: commandLine[cliFlag9]
741
794
  };
742
795
  }
743
796
  if (currentDirectory !== null) {
@@ -754,20 +807,20 @@ var binariesDirectoryOption = {
754
807
  setConfig: (value) => {
755
808
  currentDirectory = value;
756
809
  },
757
- id: cliFlag8
810
+ id: cliFlag9
758
811
  };
759
812
 
760
813
  // src/options/browser.tsx
761
- import { jsx as jsx7, jsxs as jsxs5, Fragment as Fragment7 } from "react/jsx-runtime";
762
- var cliFlag9 = "browser";
814
+ import { jsx as jsx8, jsxs as jsxs6, Fragment as Fragment8 } from "react/jsx-runtime";
815
+ var cliFlag10 = "browser";
763
816
  var browserOption = {
764
817
  name: "Browser",
765
- cliFlag: cliFlag9,
766
- description: () => /* @__PURE__ */ jsxs5(Fragment7, {
818
+ cliFlag: cliFlag10,
819
+ description: () => /* @__PURE__ */ jsxs6(Fragment8, {
767
820
  children: [
768
821
  "Specify the browser which should be used for opening a tab. The default browser will be used by default. Pass an absolute path or",
769
822
  " ",
770
- /* @__PURE__ */ jsx7("code", {
823
+ /* @__PURE__ */ jsx8("code", {
771
824
  children: '"chrome"'
772
825
  }),
773
826
  " to use Chrome. If Chrome is selected as the browser and you are on macOS, Remotion will try to reuse an existing tab."
@@ -776,10 +829,10 @@ var browserOption = {
776
829
  ssrName: null,
777
830
  docLink: "https://www.remotion.dev/docs/cli/studio#--browser",
778
831
  getValue: ({ commandLine }) => {
779
- if (commandLine[cliFlag9] !== undefined) {
832
+ if (commandLine[cliFlag10] !== undefined) {
780
833
  return {
781
834
  source: "cli",
782
- value: commandLine[cliFlag9]
835
+ value: commandLine[cliFlag10]
783
836
  };
784
837
  }
785
838
  return {
@@ -791,27 +844,27 @@ var browserOption = {
791
844
  throw new Error("setBrowser is not supported. Pass --browser via the CLI instead.");
792
845
  },
793
846
  type: "",
794
- id: cliFlag9
847
+ id: cliFlag10
795
848
  };
796
849
 
797
850
  // src/options/browser-executable.tsx
798
- import { jsx as jsx8, Fragment as Fragment8 } from "react/jsx-runtime";
851
+ import { jsx as jsx9, Fragment as Fragment9 } from "react/jsx-runtime";
799
852
  var currentBrowserExecutablePath = null;
800
- var cliFlag10 = "browser-executable";
853
+ var cliFlag11 = "browser-executable";
801
854
  var browserExecutableOption = {
802
855
  name: "Browser executable",
803
- cliFlag: cliFlag10,
804
- description: () => /* @__PURE__ */ jsx8(Fragment8, {
856
+ cliFlag: cliFlag11,
857
+ description: () => /* @__PURE__ */ jsx9(Fragment9, {
805
858
  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."
806
859
  }),
807
860
  ssrName: "browserExecutable",
808
861
  docLink: "https://www.remotion.dev/docs/config#setbrowserexecutable",
809
862
  type: null,
810
863
  getValue: ({ commandLine }) => {
811
- if (commandLine[cliFlag10] !== undefined) {
864
+ if (commandLine[cliFlag11] !== undefined) {
812
865
  return {
813
866
  source: "cli",
814
- value: commandLine[cliFlag10]
867
+ value: commandLine[cliFlag11]
815
868
  };
816
869
  }
817
870
  if (currentBrowserExecutablePath !== null) {
@@ -828,21 +881,21 @@ var browserExecutableOption = {
828
881
  setConfig: (value) => {
829
882
  currentBrowserExecutablePath = value;
830
883
  },
831
- id: cliFlag10
884
+ id: cliFlag11
832
885
  };
833
886
 
834
887
  // src/options/bundle-cache.tsx
835
- import { jsx as jsx9, jsxs as jsxs6, Fragment as Fragment9 } from "react/jsx-runtime";
836
- var cliFlag11 = "bundle-cache";
888
+ import { jsx as jsx10, jsxs as jsxs7, Fragment as Fragment10 } from "react/jsx-runtime";
889
+ var cliFlag12 = "bundle-cache";
837
890
  var cachingEnabled = true;
838
891
  var bundleCacheOption = {
839
892
  name: "Webpack Bundle Caching",
840
- cliFlag: cliFlag11,
841
- description: () => /* @__PURE__ */ jsxs6(Fragment9, {
893
+ cliFlag: cliFlag12,
894
+ description: () => /* @__PURE__ */ jsxs7(Fragment10, {
842
895
  children: [
843
896
  "Enable or disable Webpack caching. This flag is enabled by default, use",
844
897
  " ",
845
- /* @__PURE__ */ jsx9("code", {
898
+ /* @__PURE__ */ jsx10("code", {
846
899
  children: "--bundle-cache=false"
847
900
  }),
848
901
  " to disable caching."
@@ -851,10 +904,10 @@ var bundleCacheOption = {
851
904
  ssrName: null,
852
905
  docLink: "https://www.remotion.dev/docs/config#setcachingenabled",
853
906
  getValue: ({ commandLine }) => {
854
- if (commandLine[cliFlag11] !== undefined && commandLine[cliFlag11] !== null) {
907
+ if (commandLine[cliFlag12] !== undefined && commandLine[cliFlag12] !== null) {
855
908
  return {
856
909
  source: "cli",
857
- value: Boolean(commandLine[cliFlag11])
910
+ value: Boolean(commandLine[cliFlag12])
858
911
  };
859
912
  }
860
913
  return {
@@ -864,48 +917,48 @@ var bundleCacheOption = {
864
917
  },
865
918
  setConfig: (value) => {
866
919
  if (typeof value !== "boolean") {
867
- throw new TypeError(`Value for "${cliFlag11}" must be a boolean, but got ${typeof value}.`);
920
+ throw new TypeError(`Value for "${cliFlag12}" must be a boolean, but got ${typeof value}.`);
868
921
  }
869
922
  cachingEnabled = value;
870
923
  },
871
924
  type: true,
872
- id: cliFlag11
925
+ id: cliFlag12
873
926
  };
874
927
 
875
928
  // src/options/chrome-mode.tsx
876
- import { jsx as jsx10, jsxs as jsxs7, Fragment as Fragment10 } from "react/jsx-runtime";
929
+ import { jsx as jsx11, jsxs as jsxs8, Fragment as Fragment11 } from "react/jsx-runtime";
877
930
  var validChromeModeOptions = [
878
931
  "headless-shell",
879
932
  "chrome-for-testing"
880
933
  ];
881
- var cliFlag12 = "chrome-mode";
934
+ var cliFlag13 = "chrome-mode";
882
935
  var configSelection = null;
883
936
  var chromeModeOption = {
884
- cliFlag: cliFlag12,
937
+ cliFlag: cliFlag13,
885
938
  name: "Chrome Mode",
886
939
  ssrName: "chromeMode",
887
940
  description: () => {
888
- return /* @__PURE__ */ jsxs7(Fragment10, {
941
+ return /* @__PURE__ */ jsxs8(Fragment11, {
889
942
  children: [
890
943
  "One of",
891
944
  " ",
892
- validChromeModeOptions.map((option, i) => /* @__PURE__ */ jsxs7("code", {
945
+ validChromeModeOptions.map((option, i) => /* @__PURE__ */ jsxs8("code", {
893
946
  children: [
894
947
  option,
895
948
  i === validChromeModeOptions.length - 1 ? "" : ", "
896
949
  ]
897
950
  }, option)),
898
951
  ". Default ",
899
- /* @__PURE__ */ jsx10("code", {
952
+ /* @__PURE__ */ jsx11("code", {
900
953
  children: "headless-shell"
901
954
  }),
902
955
  ".",
903
956
  " ",
904
- /* @__PURE__ */ jsxs7("a", {
957
+ /* @__PURE__ */ jsxs8("a", {
905
958
  href: "https://remotion.dev/docs/miscellaneous/chrome-headless-shell",
906
959
  children: [
907
960
  "Use ",
908
- /* @__PURE__ */ jsx10("code", {
961
+ /* @__PURE__ */ jsx11("code", {
909
962
  children: "chrome-for-testing"
910
963
  }),
911
964
  " to take advantage of GPU drivers on Linux."
@@ -916,12 +969,12 @@ var chromeModeOption = {
916
969
  },
917
970
  docLink: "https://www.remotion.dev/chrome-for-testing",
918
971
  getValue: ({ commandLine }) => {
919
- if (commandLine[cliFlag12]) {
920
- if (!validChromeModeOptions.includes(commandLine[cliFlag12])) {
921
- throw new Error(`Invalid \`--${cliFlag12}\` value passed. Accepted values: ${validChromeModeOptions.map((l) => `'${l}'`).join(", ")}.`);
972
+ if (commandLine[cliFlag13]) {
973
+ if (!validChromeModeOptions.includes(commandLine[cliFlag13])) {
974
+ throw new Error(`Invalid \`--${cliFlag13}\` value passed. Accepted values: ${validChromeModeOptions.map((l) => `'${l}'`).join(", ")}.`);
922
975
  }
923
976
  return {
924
- value: commandLine[cliFlag12],
977
+ value: commandLine[cliFlag13],
925
978
  source: "cli"
926
979
  };
927
980
  }
@@ -940,26 +993,26 @@ var chromeModeOption = {
940
993
  configSelection = newChromeMode;
941
994
  },
942
995
  type: "headless-shell",
943
- id: cliFlag12
996
+ id: cliFlag13
944
997
  };
945
998
 
946
999
  // src/options/color-space.tsx
947
1000
  import { NoReactInternals } from "remotion/no-react";
948
- import { jsx as jsx11, jsxs as jsxs8, Fragment as Fragment11 } from "react/jsx-runtime";
1001
+ import { jsx as jsx12, jsxs as jsxs9, Fragment as Fragment12 } from "react/jsx-runtime";
949
1002
  var validV4ColorSpaces = ["default", "bt601", "bt709", "bt2020-ncl"];
950
1003
  var validV5ColorSpaces = ["bt601", "bt709", "bt2020-ncl"];
951
1004
  var validColorSpaces = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? validV5ColorSpaces : validV4ColorSpaces;
952
1005
  var DEFAULT_COLOR_SPACE = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? "bt709" : "default";
953
1006
  var colorSpace = DEFAULT_COLOR_SPACE;
954
- var cliFlag13 = "color-space";
1007
+ var cliFlag14 = "color-space";
955
1008
  var colorSpaceOption = {
956
1009
  name: "Color space",
957
1010
  cliFlag: "color-space",
958
- description: () => /* @__PURE__ */ jsxs8(Fragment11, {
1011
+ description: () => /* @__PURE__ */ jsxs9(Fragment12, {
959
1012
  children: [
960
1013
  "Color space to use for the video. Acceptable values:",
961
1014
  " ",
962
- /* @__PURE__ */ jsxs8("code", {
1015
+ /* @__PURE__ */ jsxs9("code", {
963
1016
  children: [
964
1017
  '"',
965
1018
  DEFAULT_COLOR_SPACE,
@@ -968,16 +1021,16 @@ var colorSpaceOption = {
968
1021
  }),
969
1022
  "(default since 5.0),",
970
1023
  " ",
971
- NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs8("code", {
1024
+ NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs9("code", {
972
1025
  children: [
973
1026
  '"',
974
1027
  "bt601",
975
1028
  '"',
976
1029
  ", "
977
1030
  ]
978
- }) : /* @__PURE__ */ jsxs8(Fragment11, {
1031
+ }) : /* @__PURE__ */ jsxs9(Fragment12, {
979
1032
  children: [
980
- /* @__PURE__ */ jsxs8("code", {
1033
+ /* @__PURE__ */ jsxs9("code", {
981
1034
  children: [
982
1035
  '"',
983
1036
  "bt601",
@@ -987,7 +1040,7 @@ var colorSpaceOption = {
987
1040
  " ",
988
1041
  "(same as",
989
1042
  " ",
990
- /* @__PURE__ */ jsxs8("code", {
1043
+ /* @__PURE__ */ jsxs9("code", {
991
1044
  children: [
992
1045
  '"',
993
1046
  "default",
@@ -996,7 +1049,7 @@ var colorSpaceOption = {
996
1049
  }),
997
1050
  ", since v4.0.424),",
998
1051
  " ",
999
- /* @__PURE__ */ jsxs8("code", {
1052
+ /* @__PURE__ */ jsxs9("code", {
1000
1053
  children: [
1001
1054
  '"',
1002
1055
  "bt709",
@@ -1008,7 +1061,7 @@ var colorSpaceOption = {
1008
1061
  " "
1009
1062
  ]
1010
1063
  }),
1011
- /* @__PURE__ */ jsxs8("code", {
1064
+ /* @__PURE__ */ jsxs9("code", {
1012
1065
  children: [
1013
1066
  '"',
1014
1067
  "bt2020-ncl",
@@ -1018,7 +1071,7 @@ var colorSpaceOption = {
1018
1071
  " ",
1019
1072
  "(since v4.0.88),",
1020
1073
  " ",
1021
- /* @__PURE__ */ jsxs8("code", {
1074
+ /* @__PURE__ */ jsxs9("code", {
1022
1075
  children: [
1023
1076
  '"',
1024
1077
  "bt2020-cl",
@@ -1027,10 +1080,10 @@ var colorSpaceOption = {
1027
1080
  }),
1028
1081
  " ",
1029
1082
  "(since v4.0.88), .",
1030
- /* @__PURE__ */ jsx11("br", {}),
1083
+ /* @__PURE__ */ jsx12("br", {}),
1031
1084
  "For best color accuracy, it is recommended to also use",
1032
1085
  " ",
1033
- /* @__PURE__ */ jsxs8("code", {
1086
+ /* @__PURE__ */ jsxs9("code", {
1034
1087
  children: [
1035
1088
  '"',
1036
1089
  "png",
@@ -1039,7 +1092,7 @@ var colorSpaceOption = {
1039
1092
  }),
1040
1093
  " ",
1041
1094
  "as the image format to have accurate color transformations throughout.",
1042
- /* @__PURE__ */ jsx11("br", {}),
1095
+ /* @__PURE__ */ jsx12("br", {}),
1043
1096
  "Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."
1044
1097
  ]
1045
1098
  }),
@@ -1047,10 +1100,10 @@ var colorSpaceOption = {
1047
1100
  ssrName: "colorSpace",
1048
1101
  type: DEFAULT_COLOR_SPACE,
1049
1102
  getValue: ({ commandLine }) => {
1050
- if (commandLine[cliFlag13] !== undefined) {
1103
+ if (commandLine[cliFlag14] !== undefined) {
1051
1104
  return {
1052
1105
  source: "cli",
1053
- value: commandLine[cliFlag13]
1106
+ value: commandLine[cliFlag14]
1054
1107
  };
1055
1108
  }
1056
1109
  if (colorSpace !== DEFAULT_COLOR_SPACE) {
@@ -1067,13 +1120,13 @@ var colorSpaceOption = {
1067
1120
  setConfig: (value) => {
1068
1121
  colorSpace = value ?? DEFAULT_COLOR_SPACE;
1069
1122
  },
1070
- id: cliFlag13
1123
+ id: cliFlag14
1071
1124
  };
1072
1125
 
1073
1126
  // src/options/concurrency.tsx
1074
- import { jsx as jsx12, jsxs as jsxs9, Fragment as Fragment12 } from "react/jsx-runtime";
1127
+ import { jsx as jsx13, jsxs as jsxs10, Fragment as Fragment13 } from "react/jsx-runtime";
1075
1128
  var currentConcurrency = null;
1076
- var cliFlag14 = "concurrency";
1129
+ var cliFlag15 = "concurrency";
1077
1130
  var validateConcurrencyValue = (value, setting) => {
1078
1131
  if (typeof value === "undefined" || value === null) {
1079
1132
  return;
@@ -1091,15 +1144,15 @@ var validateConcurrencyValue = (value, setting) => {
1091
1144
  };
1092
1145
  var concurrencyOption = {
1093
1146
  name: "Concurrency",
1094
- cliFlag: cliFlag14,
1095
- description: () => /* @__PURE__ */ jsxs9(Fragment12, {
1147
+ cliFlag: cliFlag15,
1148
+ description: () => /* @__PURE__ */ jsxs10(Fragment13, {
1096
1149
  children: [
1097
1150
  "How many CPU threads to use. Minimum 1. The maximum is the amount of threads you have (In Node.JS ",
1098
- /* @__PURE__ */ jsx12("code", {
1151
+ /* @__PURE__ */ jsx13("code", {
1099
1152
  children: "os.cpus().length"
1100
1153
  }),
1101
1154
  "). You can also provide a percentage value (e.g. ",
1102
- /* @__PURE__ */ jsx12("code", {
1155
+ /* @__PURE__ */ jsx13("code", {
1103
1156
  children: "50%"
1104
1157
  }),
1105
1158
  ")."
@@ -1109,8 +1162,8 @@ var concurrencyOption = {
1109
1162
  docLink: "https://www.remotion.dev/docs/config#setconcurrency",
1110
1163
  type: null,
1111
1164
  getValue: ({ commandLine }) => {
1112
- if (commandLine[cliFlag14] !== undefined) {
1113
- const value = commandLine[cliFlag14];
1165
+ if (commandLine[cliFlag15] !== undefined) {
1166
+ const value = commandLine[cliFlag15];
1114
1167
  validateConcurrencyValue(value, "concurrency");
1115
1168
  return {
1116
1169
  source: "cli",
@@ -1132,25 +1185,25 @@ var concurrencyOption = {
1132
1185
  validateConcurrencyValue(value, "Config.setConcurrency");
1133
1186
  currentConcurrency = value;
1134
1187
  },
1135
- id: cliFlag14
1188
+ id: cliFlag15
1136
1189
  };
1137
1190
 
1138
1191
  // src/options/config.tsx
1139
- import { jsx as jsx13, Fragment as Fragment13 } from "react/jsx-runtime";
1140
- var cliFlag15 = "config";
1192
+ import { jsx as jsx14, Fragment as Fragment14 } from "react/jsx-runtime";
1193
+ var cliFlag16 = "config";
1141
1194
  var configOption = {
1142
1195
  name: "Config file",
1143
- cliFlag: cliFlag15,
1144
- description: () => /* @__PURE__ */ jsx13(Fragment13, {
1196
+ cliFlag: cliFlag16,
1197
+ description: () => /* @__PURE__ */ jsx14(Fragment14, {
1145
1198
  children: "Specify a location for the Remotion config file."
1146
1199
  }),
1147
1200
  ssrName: null,
1148
1201
  docLink: "https://www.remotion.dev/docs/config",
1149
1202
  getValue: ({ commandLine }) => {
1150
- if (commandLine[cliFlag15] !== undefined) {
1203
+ if (commandLine[cliFlag16] !== undefined) {
1151
1204
  return {
1152
1205
  source: "cli",
1153
- value: commandLine[cliFlag15]
1206
+ value: commandLine[cliFlag16]
1154
1207
  };
1155
1208
  }
1156
1209
  return {
@@ -1162,33 +1215,33 @@ var configOption = {
1162
1215
  throw new Error("setConfig is not supported. Pass --config via the CLI instead.");
1163
1216
  },
1164
1217
  type: "",
1165
- id: cliFlag15
1218
+ id: cliFlag16
1166
1219
  };
1167
1220
 
1168
1221
  // src/options/crf.tsx
1169
- import { jsx as jsx14, Fragment as Fragment14 } from "react/jsx-runtime";
1222
+ import { jsx as jsx15, Fragment as Fragment15 } from "react/jsx-runtime";
1170
1223
  var currentCrf;
1171
1224
  var validateCrf = (newCrf) => {
1172
1225
  if (typeof newCrf !== "number" && newCrf !== undefined) {
1173
1226
  throw new TypeError("The CRF must be a number or undefined.");
1174
1227
  }
1175
1228
  };
1176
- var cliFlag16 = "crf";
1229
+ var cliFlag17 = "crf";
1177
1230
  var crfOption = {
1178
1231
  name: "CRF",
1179
- cliFlag: cliFlag16,
1180
- description: () => /* @__PURE__ */ jsx14(Fragment14, {
1232
+ cliFlag: cliFlag17,
1233
+ description: () => /* @__PURE__ */ jsx15(Fragment15, {
1181
1234
  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."
1182
1235
  }),
1183
1236
  ssrName: "crf",
1184
1237
  docLink: "https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting",
1185
1238
  type: 0,
1186
1239
  getValue: ({ commandLine }) => {
1187
- if (commandLine[cliFlag16] !== undefined) {
1188
- validateCrf(commandLine[cliFlag16]);
1240
+ if (commandLine[cliFlag17] !== undefined) {
1241
+ validateCrf(commandLine[cliFlag17]);
1189
1242
  return {
1190
1243
  source: "cli",
1191
- value: commandLine[cliFlag16]
1244
+ value: commandLine[cliFlag17]
1192
1245
  };
1193
1246
  }
1194
1247
  if (currentCrf !== null) {
@@ -1206,21 +1259,22 @@ var crfOption = {
1206
1259
  validateCrf(crf);
1207
1260
  currentCrf = crf;
1208
1261
  },
1209
- id: cliFlag16
1262
+ id: cliFlag17
1210
1263
  };
1211
1264
 
1212
1265
  // src/options/cross-site-isolation.tsx
1213
- import { jsx as jsx15, jsxs as jsxs10, Fragment as Fragment15 } from "react/jsx-runtime";
1266
+ import { jsx as jsx16, jsxs as jsxs11, Fragment as Fragment16 } from "react/jsx-runtime";
1214
1267
  var enableCrossSiteIsolation = false;
1215
- var cliFlag17 = "cross-site-isolation";
1268
+ var configuredEnableCrossSiteIsolation = null;
1269
+ var cliFlag18 = "cross-site-isolation";
1216
1270
  var enableCrossSiteIsolationOption = {
1217
1271
  name: "Enable Cross-Site Isolation",
1218
- cliFlag: cliFlag17,
1219
- description: () => /* @__PURE__ */ jsxs10(Fragment15, {
1272
+ cliFlag: cliFlag18,
1273
+ description: () => /* @__PURE__ */ jsxs11(Fragment16, {
1220
1274
  children: [
1221
1275
  "Enable Cross-Site Isolation in the Studio (sets Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy HTTP headers, required for",
1222
1276
  " ",
1223
- /* @__PURE__ */ jsx15("code", {
1277
+ /* @__PURE__ */ jsx16("code", {
1224
1278
  children: "@remotion/whisper-web"
1225
1279
  }),
1226
1280
  ")."
@@ -1230,9 +1284,9 @@ var enableCrossSiteIsolationOption = {
1230
1284
  docLink: "https://www.remotion.dev/docs/config#setenablecrosssiteisolation",
1231
1285
  type: false,
1232
1286
  getValue: ({ commandLine }) => {
1233
- if (commandLine[cliFlag17] !== undefined) {
1287
+ if (commandLine[cliFlag18] !== undefined) {
1234
1288
  return {
1235
- value: commandLine[cliFlag17],
1289
+ value: commandLine[cliFlag18],
1236
1290
  source: "cli"
1237
1291
  };
1238
1292
  }
@@ -1243,23 +1297,29 @@ var enableCrossSiteIsolationOption = {
1243
1297
  },
1244
1298
  setConfig(value) {
1245
1299
  enableCrossSiteIsolation = value;
1300
+ configuredEnableCrossSiteIsolation = value;
1246
1301
  },
1247
- id: cliFlag17
1302
+ getConfigValue: () => configuredEnableCrossSiteIsolation,
1303
+ reset: () => {
1304
+ enableCrossSiteIsolation = false;
1305
+ configuredEnableCrossSiteIsolation = null;
1306
+ },
1307
+ id: cliFlag18
1248
1308
  };
1249
1309
 
1250
1310
  // src/options/dark-mode.tsx
1251
- import { jsx as jsx16, jsxs as jsxs11, Fragment as Fragment16 } from "react/jsx-runtime";
1311
+ import { jsx as jsx17, jsxs as jsxs12, Fragment as Fragment17 } from "react/jsx-runtime";
1252
1312
  var DEFAULT_VALUE = false;
1253
1313
  var darkMode = DEFAULT_VALUE;
1254
- var cliFlag18 = "dark-mode";
1314
+ var cliFlag19 = "dark-mode";
1255
1315
  var darkModeOption = {
1256
1316
  name: "Dark Mode",
1257
- cliFlag: cliFlag18,
1258
- description: () => /* @__PURE__ */ jsxs11(Fragment16, {
1317
+ cliFlag: cliFlag19,
1318
+ description: () => /* @__PURE__ */ jsxs12(Fragment17, {
1259
1319
  children: [
1260
1320
  "Whether Chromium should pretend to be in dark mode by emulating the media feature 'prefers-color-scheme: dark'. Default is",
1261
1321
  " ",
1262
- /* @__PURE__ */ jsx16("code", {
1322
+ /* @__PURE__ */ jsx17("code", {
1263
1323
  children: String(DEFAULT_VALUE)
1264
1324
  }),
1265
1325
  "."
@@ -1269,10 +1329,10 @@ var darkModeOption = {
1269
1329
  docLink: "https://www.remotion.dev/docs/chromium-flags#--dark-mode",
1270
1330
  type: false,
1271
1331
  getValue: ({ commandLine }) => {
1272
- if (commandLine[cliFlag18] !== undefined && commandLine[cliFlag18] !== null) {
1332
+ if (commandLine[cliFlag19] !== undefined && commandLine[cliFlag19] !== null) {
1273
1333
  return {
1274
1334
  source: "cli",
1275
- value: commandLine[cliFlag18]
1335
+ value: commandLine[cliFlag19]
1276
1336
  };
1277
1337
  }
1278
1338
  if (darkMode !== DEFAULT_VALUE) {
@@ -1289,18 +1349,18 @@ var darkModeOption = {
1289
1349
  setConfig: (value) => {
1290
1350
  darkMode = value;
1291
1351
  },
1292
- id: cliFlag18
1352
+ id: cliFlag19
1293
1353
  };
1294
1354
 
1295
1355
  // src/options/default-coding-agent.tsx
1296
- import { jsx as jsx17, jsxs as jsxs12, Fragment as Fragment17 } from "react/jsx-runtime";
1356
+ import { jsx as jsx18, jsxs as jsxs13, Fragment as Fragment18 } from "react/jsx-runtime";
1297
1357
  var defaultCodingAgentIds = [
1298
1358
  "codex",
1299
1359
  "cursor",
1300
1360
  "copilot",
1301
1361
  "claude-code"
1302
1362
  ];
1303
- var cliFlag19 = "coding-agent";
1363
+ var cliFlag20 = "coding-agent";
1304
1364
  var defaultCodingAgent = null;
1305
1365
  var validateDefaultCodingAgent = (value, source) => {
1306
1366
  if (value === null) {
@@ -1313,12 +1373,12 @@ var validateDefaultCodingAgent = (value, source) => {
1313
1373
  };
1314
1374
  var defaultCodingAgentOption = {
1315
1375
  name: "Default coding agent",
1316
- cliFlag: cliFlag19,
1317
- description: () => /* @__PURE__ */ jsxs12(Fragment17, {
1376
+ cliFlag: cliFlag20,
1377
+ description: () => /* @__PURE__ */ jsxs13(Fragment18, {
1318
1378
  children: [
1319
1379
  "Set the default coding agent for Remotion Studio. Available coding agents:",
1320
1380
  " ",
1321
- /* @__PURE__ */ jsx17("code", {
1381
+ /* @__PURE__ */ jsx18("code", {
1322
1382
  children: defaultCodingAgentIds.join(", ")
1323
1383
  }),
1324
1384
  "."
@@ -1328,10 +1388,10 @@ var defaultCodingAgentOption = {
1328
1388
  docLink: "https://www.remotion.dev/docs/config#setdefaultcodingagent",
1329
1389
  type: null,
1330
1390
  getValue: ({ commandLine }) => {
1331
- const cliValue = commandLine[cliFlag19];
1391
+ const cliValue = commandLine[cliFlag20];
1332
1392
  if (cliValue !== undefined && cliValue !== null) {
1333
1393
  return {
1334
- value: validateDefaultCodingAgent(cliValue, `--${cliFlag19}`),
1394
+ value: validateDefaultCodingAgent(cliValue, `--${cliFlag20}`),
1335
1395
  source: "cli"
1336
1396
  };
1337
1397
  }
@@ -1343,11 +1403,11 @@ var defaultCodingAgentOption = {
1343
1403
  setConfig(value) {
1344
1404
  defaultCodingAgent = validateDefaultCodingAgent(value, "Config.setDefaultCodingAgent()");
1345
1405
  },
1346
- id: cliFlag19
1406
+ id: cliFlag20
1347
1407
  };
1348
1408
 
1349
1409
  // src/options/default-editor.tsx
1350
- import { jsx as jsx18, jsxs as jsxs13, Fragment as Fragment18 } from "react/jsx-runtime";
1410
+ import { jsx as jsx19, jsxs as jsxs14, Fragment as Fragment19 } from "react/jsx-runtime";
1351
1411
  var defaultEditorIds = [
1352
1412
  "vscode",
1353
1413
  "cursor",
@@ -1360,7 +1420,7 @@ var defaultEditorIds = [
1360
1420
  var customEditorTargetPathPlaceholder = "%TARGET_PATH%";
1361
1421
  var customEditorLineNumberPlaceholder = "%LINE_NUMBER%";
1362
1422
  var customEditorColumnNumberPlaceholder = "%COLUMN_NUMBER%";
1363
- var cliFlag20 = "editor";
1423
+ var cliFlag21 = "editor";
1364
1424
  var defaultEditor = null;
1365
1425
  var validateBuiltInEditor = (value, source) => {
1366
1426
  if (typeof value !== "string" || !defaultEditorIds.includes(value)) {
@@ -1398,11 +1458,11 @@ var validateDefaultEditor = (value, source) => {
1398
1458
  };
1399
1459
  var defaultEditorOption = {
1400
1460
  name: "Default editor",
1401
- cliFlag: cliFlag20,
1402
- description: () => /* @__PURE__ */ jsxs13(Fragment18, {
1461
+ cliFlag: cliFlag21,
1462
+ description: () => /* @__PURE__ */ jsxs14(Fragment19, {
1403
1463
  children: [
1404
1464
  "Set the default editor for opening files from Remotion Studio. Available editors: ",
1405
- /* @__PURE__ */ jsx18("code", {
1465
+ /* @__PURE__ */ jsx19("code", {
1406
1466
  children: defaultEditorIds.join(", ")
1407
1467
  }),
1408
1468
  "."
@@ -1412,10 +1472,10 @@ var defaultEditorOption = {
1412
1472
  docLink: "https://www.remotion.dev/docs/studio/open-in-editor",
1413
1473
  type: null,
1414
1474
  getValue: ({ commandLine }) => {
1415
- const cliValue = commandLine[cliFlag20];
1475
+ const cliValue = commandLine[cliFlag21];
1416
1476
  if (cliValue !== undefined && cliValue !== null) {
1417
1477
  return {
1418
- value: validateBuiltInEditor(cliValue, `--${cliFlag20}`),
1478
+ value: validateBuiltInEditor(cliValue, `--${cliFlag21}`),
1419
1479
  source: "cli"
1420
1480
  };
1421
1481
  }
@@ -1427,41 +1487,41 @@ var defaultEditorOption = {
1427
1487
  setConfig(value) {
1428
1488
  defaultEditor = validateDefaultEditor(value, "Config.setDefaultEditor()");
1429
1489
  },
1430
- id: cliFlag20
1490
+ id: cliFlag21
1431
1491
  };
1432
1492
 
1433
1493
  // src/options/delete-after.tsx
1434
- import { jsx as jsx19, jsxs as jsxs14, Fragment as Fragment19 } from "react/jsx-runtime";
1435
- var cliFlag21 = "delete-after";
1494
+ import { jsx as jsx20, jsxs as jsxs15, Fragment as Fragment20 } from "react/jsx-runtime";
1495
+ var cliFlag22 = "delete-after";
1436
1496
  var deleteAfter = null;
1437
1497
  var deleteAfterOption = {
1438
1498
  name: "Lambda render expiration",
1439
- cliFlag: cliFlag21,
1499
+ cliFlag: cliFlag22,
1440
1500
  description: () => {
1441
- return /* @__PURE__ */ jsxs14(Fragment19, {
1501
+ return /* @__PURE__ */ jsxs15(Fragment20, {
1442
1502
  children: [
1443
1503
  "Automatically delete the render after a certain period. Accepted values are ",
1444
- /* @__PURE__ */ jsx19("code", {
1504
+ /* @__PURE__ */ jsx20("code", {
1445
1505
  children: "1-day"
1446
1506
  }),
1447
1507
  ", ",
1448
- /* @__PURE__ */ jsx19("code", {
1508
+ /* @__PURE__ */ jsx20("code", {
1449
1509
  children: "3-days"
1450
1510
  }),
1451
1511
  ", ",
1452
- /* @__PURE__ */ jsx19("code", {
1512
+ /* @__PURE__ */ jsx20("code", {
1453
1513
  children: "7-days"
1454
1514
  }),
1455
1515
  " and",
1456
1516
  " ",
1457
- /* @__PURE__ */ jsx19("code", {
1517
+ /* @__PURE__ */ jsx20("code", {
1458
1518
  children: "30-days"
1459
1519
  }),
1460
1520
  ".",
1461
- /* @__PURE__ */ jsx19("br", {}),
1521
+ /* @__PURE__ */ jsx20("br", {}),
1462
1522
  " For this to work, your bucket needs to have",
1463
1523
  " ",
1464
- /* @__PURE__ */ jsx19("a", {
1524
+ /* @__PURE__ */ jsx20("a", {
1465
1525
  href: "/docs/lambda/autodelete",
1466
1526
  children: "lifecycles enabled"
1467
1527
  }),
@@ -1473,10 +1533,10 @@ var deleteAfterOption = {
1473
1533
  docLink: "https://www.remotion.dev/docs/lambda/autodelete",
1474
1534
  type: "1-day",
1475
1535
  getValue: ({ commandLine }) => {
1476
- if (commandLine[cliFlag21] !== undefined) {
1536
+ if (commandLine[cliFlag22] !== undefined) {
1477
1537
  return {
1478
1538
  source: "cli",
1479
- value: commandLine[cliFlag21]
1539
+ value: commandLine[cliFlag22]
1480
1540
  };
1481
1541
  }
1482
1542
  if (deleteAfter !== null) {
@@ -1493,21 +1553,21 @@ var deleteAfterOption = {
1493
1553
  setConfig: (value) => {
1494
1554
  deleteAfter = value;
1495
1555
  },
1496
- id: cliFlag21
1556
+ id: cliFlag22
1497
1557
  };
1498
1558
 
1499
1559
  // src/options/disable-git-source.tsx
1500
1560
  var DEFAULT2 = false;
1501
- var cliFlag22 = "disable-git-source";
1561
+ var cliFlag23 = "disable-git-source";
1502
1562
  var disableGitSourceOption = {
1503
- cliFlag: cliFlag22,
1563
+ cliFlag: cliFlag23,
1504
1564
  description: () => `Disables the Git Source being connected to the Remotion Studio. Clicking on stack traces and certain menu items will be disabled.`,
1505
1565
  docLink: "https://remotion.dev/docs/bundle",
1506
1566
  getValue: ({ commandLine }) => {
1507
- if (commandLine[cliFlag22]) {
1567
+ if (commandLine[cliFlag23]) {
1508
1568
  return {
1509
1569
  source: "cli",
1510
- value: commandLine[cliFlag22]
1570
+ value: commandLine[cliFlag23]
1511
1571
  };
1512
1572
  }
1513
1573
  return {
@@ -1521,27 +1581,27 @@ var disableGitSourceOption = {
1521
1581
  },
1522
1582
  ssrName: "disableGitSource",
1523
1583
  type: false,
1524
- id: cliFlag22
1584
+ id: cliFlag23
1525
1585
  };
1526
1586
 
1527
1587
  // src/options/disable-web-security.tsx
1528
- import { jsx as jsx20, Fragment as Fragment20 } from "react/jsx-runtime";
1588
+ import { jsx as jsx21, Fragment as Fragment21 } from "react/jsx-runtime";
1529
1589
  var disableWebSecurity = false;
1530
- var cliFlag23 = "disable-web-security";
1590
+ var cliFlag24 = "disable-web-security";
1531
1591
  var disableWebSecurityOption = {
1532
1592
  name: "Disable web security",
1533
- cliFlag: cliFlag23,
1534
- description: () => /* @__PURE__ */ jsx20(Fragment20, {
1593
+ cliFlag: cliFlag24,
1594
+ description: () => /* @__PURE__ */ jsx21(Fragment21, {
1535
1595
  children: "This will most notably disable CORS in Chrome among other security features."
1536
1596
  }),
1537
1597
  ssrName: "disableWebSecurity",
1538
1598
  docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-web-security",
1539
1599
  type: false,
1540
1600
  getValue: ({ commandLine }) => {
1541
- if (commandLine[cliFlag23] !== undefined && commandLine[cliFlag23] !== null) {
1601
+ if (commandLine[cliFlag24] !== undefined && commandLine[cliFlag24] !== null) {
1542
1602
  return {
1543
1603
  source: "cli",
1544
- value: Boolean(commandLine[cliFlag23])
1604
+ value: Boolean(commandLine[cliFlag24])
1545
1605
  };
1546
1606
  }
1547
1607
  if (disableWebSecurity) {
@@ -1558,26 +1618,26 @@ var disableWebSecurityOption = {
1558
1618
  setConfig: (value) => {
1559
1619
  disableWebSecurity = value;
1560
1620
  },
1561
- id: cliFlag23
1621
+ id: cliFlag24
1562
1622
  };
1563
1623
 
1564
1624
  // src/options/disallow-parallel-encoding.tsx
1565
- import { jsx as jsx21, Fragment as Fragment21 } from "react/jsx-runtime";
1625
+ import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
1566
1626
  var disallowParallelEncoding = false;
1567
- var cliFlag24 = "disallow-parallel-encoding";
1627
+ var cliFlag25 = "disallow-parallel-encoding";
1568
1628
  var disallowParallelEncodingOption = {
1569
1629
  name: "Disallow parallel encoding",
1570
- cliFlag: cliFlag24,
1571
- description: () => /* @__PURE__ */ jsx21(Fragment21, {
1630
+ cliFlag: cliFlag25,
1631
+ description: () => /* @__PURE__ */ jsx22(Fragment22, {
1572
1632
  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."
1573
1633
  }),
1574
1634
  ssrName: "disallowParallelEncoding",
1575
1635
  docLink: "https://www.remotion.dev/docs/config#setdisallowparallelencoding",
1576
1636
  type: false,
1577
1637
  getValue: ({ commandLine }) => {
1578
- if (commandLine[cliFlag24] !== undefined && commandLine[cliFlag24] !== null) {
1638
+ if (commandLine[cliFlag25] !== undefined && commandLine[cliFlag25] !== null) {
1579
1639
  return {
1580
- value: commandLine[cliFlag24],
1640
+ value: commandLine[cliFlag25],
1581
1641
  source: "cli"
1582
1642
  };
1583
1643
  }
@@ -1595,21 +1655,59 @@ var disallowParallelEncodingOption = {
1595
1655
  setConfig(value) {
1596
1656
  disallowParallelEncoding = value;
1597
1657
  },
1598
- id: cliFlag24
1658
+ id: cliFlag25
1659
+ };
1660
+
1661
+ // src/options/enable-cancellation.tsx
1662
+ import { jsx as jsx23, jsxs as jsxs16, Fragment as Fragment23 } from "react/jsx-runtime";
1663
+ var cliFlag26 = "enable-cancellation";
1664
+ var enableCancellation = false;
1665
+ var enableCancellationOption = {
1666
+ name: "Enable cancellation",
1667
+ cliFlag: cliFlag26,
1668
+ description: () => /* @__PURE__ */ jsxs16(Fragment23, {
1669
+ children: [
1670
+ "Allows a Lambda render to be cancelled by pressing Ctrl+C while running",
1671
+ " ",
1672
+ /* @__PURE__ */ jsx23("code", {
1673
+ children: "npx remotion lambda render"
1674
+ }),
1675
+ ". Enabling cancellation causes each renderer function to poll S3 once per second while it is running."
1676
+ ]
1677
+ }),
1678
+ ssrName: null,
1679
+ docLink: "https://www.remotion.dev/docs/lambda/cli/render#--enable-cancellation",
1680
+ type: false,
1681
+ setConfig: (value) => {
1682
+ enableCancellation = value;
1683
+ },
1684
+ getValue: ({ commandLine }) => {
1685
+ if (typeof commandLine[cliFlag26] === "boolean") {
1686
+ return {
1687
+ value: commandLine[cliFlag26],
1688
+ source: "cli"
1689
+ };
1690
+ }
1691
+ return {
1692
+ value: enableCancellation,
1693
+ source: enableCancellation ? "config" : "default"
1694
+ };
1695
+ },
1696
+ id: cliFlag26
1599
1697
  };
1600
1698
 
1601
1699
  // src/options/enable-lambda-insights.tsx
1602
- import { jsx as jsx22, jsxs as jsxs15, Fragment as Fragment22 } from "react/jsx-runtime";
1603
- var cliFlag25 = "enable-lambda-insights";
1700
+ import { jsx as jsx24, jsxs as jsxs17, Fragment as Fragment24 } from "react/jsx-runtime";
1701
+ var cliFlag27 = "enable-lambda-insights";
1604
1702
  var option = false;
1605
1703
  var enableLambdaInsights = {
1606
1704
  name: "Enable Lambda Insights",
1607
- cliFlag: cliFlag25,
1608
- description: () => /* @__PURE__ */ jsxs15(Fragment22, {
1705
+ cliFlag: cliFlag27,
1706
+ description: () => /* @__PURE__ */ jsxs17(Fragment24, {
1609
1707
  children: [
1610
1708
  "Enable",
1611
1709
  " ",
1612
- /* @__PURE__ */ jsx22("a", {
1710
+ /* @__PURE__ */ jsx24("a", {
1613
1711
  href: "https://remotion.dev/docs/lambda/insights",
1614
1712
  children: "Lambda Insights in AWS CloudWatch"
1615
1713
  }),
@@ -1623,9 +1721,9 @@ var enableLambdaInsights = {
1623
1721
  option = value;
1624
1722
  },
1625
1723
  getValue: ({ commandLine }) => {
1626
- if (commandLine[cliFlag25] !== undefined) {
1724
+ if (commandLine[cliFlag27] !== undefined) {
1627
1725
  return {
1628
- value: commandLine[cliFlag25],
1726
+ value: commandLine[cliFlag27],
1629
1727
  source: "cli"
1630
1728
  };
1631
1729
  }
@@ -1640,41 +1738,41 @@ var enableLambdaInsights = {
1640
1738
  source: "default"
1641
1739
  };
1642
1740
  },
1643
- id: cliFlag25
1741
+ id: cliFlag27
1644
1742
  };
1645
1743
 
1646
1744
  // src/options/enable-multiprocess-on-linux.tsx
1647
- import { jsx as jsx23, jsxs as jsxs16, Fragment as Fragment23 } from "react/jsx-runtime";
1745
+ import { jsx as jsx25, jsxs as jsxs18, Fragment as Fragment25 } from "react/jsx-runtime";
1648
1746
  var DEFAULT_VALUE2 = true;
1649
1747
  var multiProcessOnLinux = DEFAULT_VALUE2;
1650
- var cliFlag26 = "enable-multiprocess-on-linux";
1748
+ var cliFlag28 = "enable-multiprocess-on-linux";
1651
1749
  var enableMultiprocessOnLinuxOption = {
1652
1750
  name: "Enable Multiprocess on Linux",
1653
- cliFlag: cliFlag26,
1654
- description: () => /* @__PURE__ */ jsxs16(Fragment23, {
1751
+ cliFlag: cliFlag28,
1752
+ description: () => /* @__PURE__ */ jsxs18(Fragment25, {
1655
1753
  children: [
1656
1754
  "Removes the ",
1657
- /* @__PURE__ */ jsx23("code", {
1755
+ /* @__PURE__ */ jsx25("code", {
1658
1756
  children: "--single-process"
1659
1757
  }),
1660
1758
  " 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.",
1661
- /* @__PURE__ */ jsx23("br", {}),
1759
+ /* @__PURE__ */ jsx25("br", {}),
1662
1760
  "Default: ",
1663
- /* @__PURE__ */ jsx23("code", {
1761
+ /* @__PURE__ */ jsx25("code", {
1664
1762
  children: "false"
1665
1763
  }),
1666
1764
  " until v4.0.136, then ",
1667
- /* @__PURE__ */ jsx23("code", {
1765
+ /* @__PURE__ */ jsx25("code", {
1668
1766
  children: "true"
1669
1767
  }),
1670
1768
  " from v4.0.137 on because newer Chrome versions ",
1671
1769
  "don't",
1672
1770
  " allow rendering with the ",
1673
- /* @__PURE__ */ jsx23("code", {
1771
+ /* @__PURE__ */ jsx25("code", {
1674
1772
  children: "--single-process"
1675
1773
  }),
1676
1774
  " flag. ",
1677
- /* @__PURE__ */ jsx23("br", {}),
1775
+ /* @__PURE__ */ jsx25("br", {}),
1678
1776
  "This flag will be removed in Remotion v5.0."
1679
1777
  ]
1680
1778
  }),
@@ -1682,10 +1780,10 @@ var enableMultiprocessOnLinuxOption = {
1682
1780
  docLink: "https://www.remotion.dev/docs/chromium-flags",
1683
1781
  type: false,
1684
1782
  getValue: ({ commandLine }) => {
1685
- if (commandLine[cliFlag26] !== undefined) {
1783
+ if (commandLine[cliFlag28] !== undefined) {
1686
1784
  return {
1687
1785
  source: "cli",
1688
- value: commandLine[cliFlag26]
1786
+ value: commandLine[cliFlag28]
1689
1787
  };
1690
1788
  }
1691
1789
  if (multiProcessOnLinux !== false) {
@@ -1702,23 +1800,23 @@ var enableMultiprocessOnLinuxOption = {
1702
1800
  setConfig: (value) => {
1703
1801
  multiProcessOnLinux = value;
1704
1802
  },
1705
- id: cliFlag26
1803
+ id: cliFlag28
1706
1804
  };
1707
1805
 
1708
1806
  // src/options/encoding-buffer-size.tsx
1709
- import { jsx as jsx24, jsxs as jsxs17, Fragment as Fragment24 } from "react/jsx-runtime";
1807
+ import { jsx as jsx26, jsxs as jsxs19, Fragment as Fragment26 } from "react/jsx-runtime";
1710
1808
  var encodingBufferSize = null;
1711
1809
  var setEncodingBufferSize = (bitrate) => {
1712
1810
  encodingBufferSize = bitrate;
1713
1811
  };
1714
- var cliFlag27 = "buffer-size";
1812
+ var cliFlag29 = "buffer-size";
1715
1813
  var encodingBufferSizeOption = {
1716
1814
  name: "FFmpeg -bufsize flag",
1717
- cliFlag: cliFlag27,
1718
- description: () => /* @__PURE__ */ jsxs17(Fragment24, {
1815
+ cliFlag: cliFlag29,
1816
+ description: () => /* @__PURE__ */ jsxs19(Fragment26, {
1719
1817
  children: [
1720
1818
  "The value for the ",
1721
- /* @__PURE__ */ jsx24("code", {
1819
+ /* @__PURE__ */ jsx26("code", {
1722
1820
  children: "-bufsize"
1723
1821
  }),
1724
1822
  " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag."
@@ -1728,9 +1826,9 @@ var encodingBufferSizeOption = {
1728
1826
  docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingbuffersize",
1729
1827
  type: "",
1730
1828
  getValue: ({ commandLine }) => {
1731
- if (commandLine[cliFlag27] !== undefined) {
1829
+ if (commandLine[cliFlag29] !== undefined) {
1732
1830
  return {
1733
- value: commandLine[cliFlag27],
1831
+ value: commandLine[cliFlag29],
1734
1832
  source: "cli"
1735
1833
  };
1736
1834
  }
@@ -1746,20 +1844,20 @@ var encodingBufferSizeOption = {
1746
1844
  };
1747
1845
  },
1748
1846
  setConfig: setEncodingBufferSize,
1749
- id: cliFlag27
1847
+ id: cliFlag29
1750
1848
  };
1751
1849
 
1752
1850
  // src/options/encoding-max-rate.tsx
1753
- import { jsx as jsx25, jsxs as jsxs18, Fragment as Fragment25 } from "react/jsx-runtime";
1851
+ import { jsx as jsx27, jsxs as jsxs20, Fragment as Fragment27 } from "react/jsx-runtime";
1754
1852
  var encodingMaxRate = null;
1755
- var cliFlag28 = "max-rate";
1853
+ var cliFlag30 = "max-rate";
1756
1854
  var encodingMaxRateOption = {
1757
1855
  name: "FFmpeg -maxrate flag",
1758
- cliFlag: cliFlag28,
1759
- description: () => /* @__PURE__ */ jsxs18(Fragment25, {
1856
+ cliFlag: cliFlag30,
1857
+ description: () => /* @__PURE__ */ jsxs20(Fragment27, {
1760
1858
  children: [
1761
1859
  "The value for the ",
1762
- /* @__PURE__ */ jsx25("code", {
1860
+ /* @__PURE__ */ jsx27("code", {
1763
1861
  children: "-maxrate"
1764
1862
  }),
1765
1863
  " flag of FFmpeg. Should be used in conjunction with the encoding buffer size flag."
@@ -1769,9 +1867,9 @@ var encodingMaxRateOption = {
1769
1867
  docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingmaxrate",
1770
1868
  type: "",
1771
1869
  getValue: ({ commandLine }) => {
1772
- if (commandLine[cliFlag28] !== undefined) {
1870
+ if (commandLine[cliFlag30] !== undefined) {
1773
1871
  return {
1774
- value: commandLine[cliFlag28],
1872
+ value: commandLine[cliFlag30],
1775
1873
  source: "cli"
1776
1874
  };
1777
1875
  }
@@ -1789,25 +1887,25 @@ var encodingMaxRateOption = {
1789
1887
  setConfig: (newMaxRate) => {
1790
1888
  encodingMaxRate = newMaxRate;
1791
1889
  },
1792
- id: cliFlag28
1890
+ id: cliFlag30
1793
1891
  };
1794
1892
 
1795
1893
  // src/options/enforce-audio.tsx
1796
- import { jsx as jsx26, Fragment as Fragment26 } from "react/jsx-runtime";
1894
+ import { jsx as jsx28, Fragment as Fragment28 } from "react/jsx-runtime";
1797
1895
  var DEFAULT_ENFORCE_AUDIO_TRACK = false;
1798
1896
  var enforceAudioTrackState = DEFAULT_ENFORCE_AUDIO_TRACK;
1799
- var cliFlag29 = "enforce-audio-track";
1897
+ var cliFlag31 = "enforce-audio-track";
1800
1898
  var enforceAudioOption = {
1801
1899
  name: "Enforce Audio Track",
1802
- cliFlag: cliFlag29,
1803
- description: () => /* @__PURE__ */ jsx26(Fragment26, {
1900
+ cliFlag: cliFlag31,
1901
+ description: () => /* @__PURE__ */ jsx28(Fragment28, {
1804
1902
  children: "Render a silent audio track if there would be none otherwise."
1805
1903
  }),
1806
1904
  ssrName: "enforceAudioTrack",
1807
1905
  docLink: "https://www.remotion.dev/docs/config#setenforceaudiotrack-",
1808
1906
  type: false,
1809
1907
  getValue: ({ commandLine }) => {
1810
- if (commandLine[cliFlag29]) {
1908
+ if (commandLine[cliFlag31]) {
1811
1909
  return {
1812
1910
  source: "cli",
1813
1911
  value: true
@@ -1827,20 +1925,20 @@ var enforceAudioOption = {
1827
1925
  setConfig: (value) => {
1828
1926
  enforceAudioTrackState = value;
1829
1927
  },
1830
- id: cliFlag29
1928
+ id: cliFlag31
1831
1929
  };
1832
1930
 
1833
1931
  // src/options/env-file.tsx
1834
- import { jsx as jsx27, jsxs as jsxs19, Fragment as Fragment27 } from "react/jsx-runtime";
1835
- var cliFlag30 = "env-file";
1932
+ import { jsx as jsx29, jsxs as jsxs21, Fragment as Fragment29 } from "react/jsx-runtime";
1933
+ var cliFlag32 = "env-file";
1836
1934
  var envFileLocation = null;
1837
1935
  var envFileOption = {
1838
1936
  name: "Env File",
1839
- cliFlag: cliFlag30,
1840
- description: () => /* @__PURE__ */ jsxs19(Fragment27, {
1937
+ cliFlag: cliFlag32,
1938
+ description: () => /* @__PURE__ */ jsxs21(Fragment29, {
1841
1939
  children: [
1842
1940
  "Specify a location for a dotenv file. Default ",
1843
- /* @__PURE__ */ jsx27("code", {
1941
+ /* @__PURE__ */ jsx29("code", {
1844
1942
  children: ".env"
1845
1943
  }),
1846
1944
  "."
@@ -1849,10 +1947,10 @@ var envFileOption = {
1849
1947
  ssrName: null,
1850
1948
  docLink: "https://www.remotion.dev/docs/cli/render#--env-file",
1851
1949
  getValue: ({ commandLine }) => {
1852
- if (commandLine[cliFlag30] !== undefined) {
1950
+ if (commandLine[cliFlag32] !== undefined) {
1853
1951
  return {
1854
1952
  source: "cli",
1855
- value: commandLine[cliFlag30]
1953
+ value: commandLine[cliFlag32]
1856
1954
  };
1857
1955
  }
1858
1956
  if (envFileLocation !== null) {
@@ -1870,30 +1968,30 @@ var envFileOption = {
1870
1968
  envFileLocation = value;
1871
1969
  },
1872
1970
  type: "",
1873
- id: cliFlag30
1971
+ id: cliFlag32
1874
1972
  };
1875
1973
 
1876
1974
  // src/options/every-nth-frame.tsx
1877
- import { jsx as jsx28, jsxs as jsxs20, Fragment as Fragment28 } from "react/jsx-runtime";
1975
+ import { jsx as jsx30, jsxs as jsxs22, Fragment as Fragment30 } from "react/jsx-runtime";
1878
1976
  var DEFAULT_EVERY_NTH_FRAME = 1;
1879
1977
  var everyNthFrame = DEFAULT_EVERY_NTH_FRAME;
1880
- var cliFlag31 = "every-nth-frame";
1978
+ var cliFlag33 = "every-nth-frame";
1881
1979
  var everyNthFrameOption = {
1882
1980
  name: "Every nth frame",
1883
- cliFlag: cliFlag31,
1884
- description: () => /* @__PURE__ */ jsxs20(Fragment28, {
1981
+ cliFlag: cliFlag33,
1982
+ description: () => /* @__PURE__ */ jsxs22(Fragment30, {
1885
1983
  children: [
1886
1984
  "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 ",
1887
- /* @__PURE__ */ jsx28("code", {
1985
+ /* @__PURE__ */ jsx30("code", {
1888
1986
  children: "fps"
1889
1987
  }),
1890
1988
  " is 30, and",
1891
1989
  " ",
1892
- /* @__PURE__ */ jsx28("code", {
1990
+ /* @__PURE__ */ jsx30("code", {
1893
1991
  children: "everyNthFrame"
1894
1992
  }),
1895
1993
  " is 2, the FPS of the GIF is ",
1896
- /* @__PURE__ */ jsx28("code", {
1994
+ /* @__PURE__ */ jsx30("code", {
1897
1995
  children: "15"
1898
1996
  }),
1899
1997
  "."
@@ -1903,10 +2001,10 @@ var everyNthFrameOption = {
1903
2001
  docLink: "https://www.remotion.dev/docs/config#seteverynthframe",
1904
2002
  type: DEFAULT_EVERY_NTH_FRAME,
1905
2003
  getValue: ({ commandLine }) => {
1906
- if (commandLine[cliFlag31] !== undefined) {
2004
+ if (commandLine[cliFlag33] !== undefined) {
1907
2005
  return {
1908
2006
  source: "cli",
1909
- value: commandLine[cliFlag31]
2007
+ value: commandLine[cliFlag33]
1910
2008
  };
1911
2009
  }
1912
2010
  if (everyNthFrame !== DEFAULT_EVERY_NTH_FRAME) {
@@ -1923,20 +2021,20 @@ var everyNthFrameOption = {
1923
2021
  setConfig: (value) => {
1924
2022
  everyNthFrame = value;
1925
2023
  },
1926
- id: cliFlag31
2024
+ id: cliFlag33
1927
2025
  };
1928
2026
 
1929
2027
  // src/options/experimental-keep-audio-context-alive.tsx
1930
- import { jsx as jsx29, jsxs as jsxs21, Fragment as Fragment29 } from "react/jsx-runtime";
2028
+ import { jsx as jsx31, jsxs as jsxs23, Fragment as Fragment31 } from "react/jsx-runtime";
1931
2029
  var experimentalKeepAudioContextAlive = false;
1932
- var cliFlag32 = "experimental-keep-audio-context-alive";
2030
+ var cliFlag34 = "experimental-keep-audio-context-alive";
1933
2031
  var experimentalKeepAudioContextAliveOption = {
1934
2032
  name: "Keep AudioContext alive (experimental)",
1935
- cliFlag: cliFlag32,
1936
- description: () => /* @__PURE__ */ jsxs21(Fragment29, {
2033
+ cliFlag: cliFlag34,
2034
+ description: () => /* @__PURE__ */ jsxs23(Fragment31, {
1937
2035
  children: [
1938
2036
  "Keeps the shared ",
1939
- /* @__PURE__ */ jsx29("code", {
2037
+ /* @__PURE__ */ jsx31("code", {
1940
2038
  children: "AudioContext"
1941
2039
  }),
1942
2040
  " running while the Remotion Studio is paused."
@@ -1946,9 +2044,9 @@ var experimentalKeepAudioContextAliveOption = {
1946
2044
  docLink: "https://www.remotion.dev/docs/config#setexperimentalkeepaudiocontextalive",
1947
2045
  type: false,
1948
2046
  getValue: ({ commandLine }) => {
1949
- if (commandLine[cliFlag32] !== undefined && commandLine[cliFlag32] !== null) {
2047
+ if (commandLine[cliFlag34] !== undefined && commandLine[cliFlag34] !== null) {
1950
2048
  return {
1951
- value: commandLine[cliFlag32],
2049
+ value: commandLine[cliFlag34],
1952
2050
  source: "cli"
1953
2051
  };
1954
2052
  }
@@ -1960,26 +2058,26 @@ var experimentalKeepAudioContextAliveOption = {
1960
2058
  setConfig(value) {
1961
2059
  experimentalKeepAudioContextAlive = value;
1962
2060
  },
1963
- id: cliFlag32
2061
+ id: cliFlag34
1964
2062
  };
1965
2063
 
1966
2064
  // src/options/folder-expiry.tsx
1967
- import { jsx as jsx30, jsxs as jsxs22, Fragment as Fragment30 } from "react/jsx-runtime";
2065
+ import { jsx as jsx32, jsxs as jsxs24, Fragment as Fragment32 } from "react/jsx-runtime";
1968
2066
  var enableFolderExpiry = null;
1969
- var cliFlag33 = "enable-folder-expiry";
2067
+ var cliFlag35 = "enable-folder-expiry";
1970
2068
  var folderExpiryOption = {
1971
2069
  name: "Lambda render expiration",
1972
- cliFlag: cliFlag33,
2070
+ cliFlag: cliFlag35,
1973
2071
  description: () => {
1974
- return /* @__PURE__ */ jsxs22(Fragment30, {
2072
+ return /* @__PURE__ */ jsxs24(Fragment32, {
1975
2073
  children: [
1976
2074
  "When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is",
1977
2075
  " ",
1978
- /* @__PURE__ */ jsx30("code", {
2076
+ /* @__PURE__ */ jsx32("code", {
1979
2077
  children: "null"
1980
2078
  }),
1981
2079
  ", which does not change any lifecycle policies of the S3 bucket. See: ",
1982
- /* @__PURE__ */ jsx30("a", {
2080
+ /* @__PURE__ */ jsx32("a", {
1983
2081
  href: "/docs/lambda/autodelete",
1984
2082
  children: "Lambda autodelete"
1985
2083
  }),
@@ -1991,10 +2089,10 @@ var folderExpiryOption = {
1991
2089
  docLink: "https://www.remotion.dev/docs/lambda/autodelete",
1992
2090
  type: false,
1993
2091
  getValue: ({ commandLine }) => {
1994
- if (commandLine[cliFlag33] !== undefined) {
2092
+ if (commandLine[cliFlag35] !== undefined) {
1995
2093
  return {
1996
2094
  source: "cli",
1997
- value: commandLine[cliFlag33]
2095
+ value: commandLine[cliFlag35]
1998
2096
  };
1999
2097
  }
2000
2098
  if (enableFolderExpiry !== null) {
@@ -2011,28 +2109,28 @@ var folderExpiryOption = {
2011
2109
  setConfig: (value) => {
2012
2110
  enableFolderExpiry = value;
2013
2111
  },
2014
- id: cliFlag33
2112
+ id: cliFlag35
2015
2113
  };
2016
2114
 
2017
2115
  // src/options/for-seamless-aac-concatenation.tsx
2018
- import { jsx as jsx31, jsxs as jsxs23, Fragment as Fragment31 } from "react/jsx-runtime";
2116
+ import { jsx as jsx33, jsxs as jsxs25, Fragment as Fragment33 } from "react/jsx-runtime";
2019
2117
  var DEFAULT3 = false;
2020
2118
  var forSeamlessAacConcatenation = DEFAULT3;
2021
- var cliFlag34 = "for-seamless-aac-concatenation";
2119
+ var cliFlag36 = "for-seamless-aac-concatenation";
2022
2120
  var forSeamlessAacConcatenationOption = {
2023
2121
  name: "For seamless AAC concatenation",
2024
- cliFlag: cliFlag34,
2025
- description: () => /* @__PURE__ */ jsxs23(Fragment31, {
2122
+ cliFlag: cliFlag36,
2123
+ description: () => /* @__PURE__ */ jsxs25(Fragment33, {
2026
2124
  children: [
2027
2125
  "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.",
2028
- /* @__PURE__ */ jsx31("br", {}),
2029
- /* @__PURE__ */ jsx31("br", {}),
2126
+ /* @__PURE__ */ jsx33("br", {}),
2127
+ /* @__PURE__ */ jsx33("br", {}),
2030
2128
  " This option is used internally. There is currently no documentation yet for to concatenate the audio chunks."
2031
2129
  ]
2032
2130
  }),
2033
2131
  docLink: "https://remotion.dev/docs/renderer",
2034
2132
  getValue: ({ commandLine }) => {
2035
- if (commandLine[cliFlag34]) {
2133
+ if (commandLine[cliFlag36]) {
2036
2134
  return {
2037
2135
  source: "cli",
2038
2136
  value: true
@@ -2054,26 +2152,26 @@ var forSeamlessAacConcatenationOption = {
2054
2152
  },
2055
2153
  ssrName: "forSeamlessAacConcatenation",
2056
2154
  type: false,
2057
- id: cliFlag34
2155
+ id: cliFlag36
2058
2156
  };
2059
2157
 
2060
2158
  // src/options/force-new-studio.tsx
2061
- import { jsx as jsx32, Fragment as Fragment32 } from "react/jsx-runtime";
2159
+ import { jsx as jsx34, Fragment as Fragment34 } from "react/jsx-runtime";
2062
2160
  var forceNewEnabled = false;
2063
- var cliFlag35 = "force-new";
2161
+ var cliFlag37 = "force-new";
2064
2162
  var forceNewStudioOption = {
2065
2163
  name: "Force New Studio",
2066
- cliFlag: cliFlag35,
2067
- description: () => /* @__PURE__ */ jsx32(Fragment32, {
2164
+ cliFlag: cliFlag37,
2165
+ description: () => /* @__PURE__ */ jsx34(Fragment34, {
2068
2166
  children: "Forces starting a new Studio instance even if one is already running on the same port for the same project."
2069
2167
  }),
2070
2168
  ssrName: null,
2071
2169
  docLink: "https://www.remotion.dev/docs/config#setforcenewstudioenabled",
2072
2170
  type: false,
2073
2171
  getValue: ({ commandLine }) => {
2074
- if (commandLine[cliFlag35] !== undefined && commandLine[cliFlag35] !== null) {
2172
+ if (commandLine[cliFlag37] !== undefined && commandLine[cliFlag37] !== null) {
2075
2173
  return {
2076
- value: commandLine[cliFlag35],
2174
+ value: commandLine[cliFlag37],
2077
2175
  source: "cli"
2078
2176
  };
2079
2177
  }
@@ -2085,7 +2183,7 @@ var forceNewStudioOption = {
2085
2183
  setConfig(value) {
2086
2184
  forceNewEnabled = value;
2087
2185
  },
2088
- id: cliFlag35
2186
+ id: cliFlag37
2089
2187
  };
2090
2188
 
2091
2189
  // src/frame-range.ts
@@ -2204,8 +2302,8 @@ var validateSelectedFrames = ({
2204
2302
  };
2205
2303
 
2206
2304
  // src/options/frames.tsx
2207
- import { jsx as jsx33, jsxs as jsxs24, Fragment as Fragment33 } from "react/jsx-runtime";
2208
- var cliFlag36 = "frames";
2305
+ import { jsx as jsx35, jsxs as jsxs26, Fragment as Fragment35 } from "react/jsx-runtime";
2306
+ var cliFlag38 = "frames";
2209
2307
  var frameSelection = null;
2210
2308
  var parseFrameRangeFromCli = (newFrameRange) => {
2211
2309
  if (typeof newFrameRange === "number") {
@@ -2282,16 +2380,16 @@ var parseFrameRangeFromCli = (newFrameRange) => {
2282
2380
  };
2283
2381
  var framesOption = {
2284
2382
  name: "Frame Range",
2285
- cliFlag: cliFlag36,
2286
- description: () => /* @__PURE__ */ jsxs24(Fragment33, {
2383
+ cliFlag: cliFlag38,
2384
+ description: () => /* @__PURE__ */ jsxs26(Fragment35, {
2287
2385
  children: [
2288
2386
  "Render a subset of a video. Pass a single number to render a still, or a range (e.g. ",
2289
- /* @__PURE__ */ jsx33("code", {
2387
+ /* @__PURE__ */ jsx35("code", {
2290
2388
  children: "0-9"
2291
2389
  }),
2292
2390
  ") to render a subset of frames. Pass",
2293
2391
  " ",
2294
- /* @__PURE__ */ jsx33("code", {
2392
+ /* @__PURE__ */ jsx35("code", {
2295
2393
  children: "100-"
2296
2394
  }),
2297
2395
  " to render from frame 100 to the end."
@@ -2301,8 +2399,8 @@ var framesOption = {
2301
2399
  docLink: "https://www.remotion.dev/docs/config#setframerange",
2302
2400
  type: null,
2303
2401
  getValue: ({ commandLine }) => {
2304
- if (commandLine[cliFlag36] !== undefined) {
2305
- const value = parseFrameRangeFromCli(commandLine[cliFlag36]);
2402
+ if (commandLine[cliFlag38] !== undefined) {
2403
+ const value = parseFrameRangeFromCli(commandLine[cliFlag38]);
2306
2404
  if (typeof value === "object" && !Array.isArray(value)) {
2307
2405
  validateSelectedFrames({
2308
2406
  frames: value.frames,
@@ -2329,12 +2427,12 @@ var framesOption = {
2329
2427
  }
2330
2428
  frameSelection = value;
2331
2429
  },
2332
- id: cliFlag36
2430
+ id: cliFlag38
2333
2431
  };
2334
2432
 
2335
2433
  // src/options/gl.tsx
2336
2434
  import { NoReactInternals as NoReactInternals2 } from "remotion/no-react";
2337
- import { jsx as jsx34, jsxs as jsxs25, Fragment as Fragment34 } from "react/jsx-runtime";
2435
+ import { jsx as jsx36, jsxs as jsxs27, Fragment as Fragment36 } from "react/jsx-runtime";
2338
2436
  var validOpenGlRenderers = [
2339
2437
  "swangle",
2340
2438
  "angle",
@@ -2349,42 +2447,42 @@ var getDefaultOpenGlRenderer = (enableV5BreakingChanges) => {
2349
2447
  var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals2.ENABLE_V5_BREAKING_CHANGES);
2350
2448
  var openGlRenderer = DEFAULT_OPENGL_RENDERER;
2351
2449
  var AngleChangelog = () => {
2352
- return /* @__PURE__ */ jsxs25("details", {
2450
+ return /* @__PURE__ */ jsxs27("details", {
2353
2451
  style: { fontSize: "0.9em", marginBottom: "1em" },
2354
2452
  children: [
2355
- /* @__PURE__ */ jsx34("summary", {
2453
+ /* @__PURE__ */ jsx36("summary", {
2356
2454
  children: "Changelog"
2357
2455
  }),
2358
- /* @__PURE__ */ jsxs25("ul", {
2456
+ /* @__PURE__ */ jsxs27("ul", {
2359
2457
  children: [
2360
- /* @__PURE__ */ jsxs25("li", {
2458
+ /* @__PURE__ */ jsxs27("li", {
2361
2459
  children: [
2362
2460
  "From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was",
2363
2461
  " ",
2364
- /* @__PURE__ */ jsx34("code", {
2462
+ /* @__PURE__ */ jsx36("code", {
2365
2463
  children: "swiftshader"
2366
2464
  }),
2367
2465
  ", but from v3.0.8 the default is",
2368
2466
  " ",
2369
- /* @__PURE__ */ jsx34("code", {
2467
+ /* @__PURE__ */ jsx36("code", {
2370
2468
  children: "swangle"
2371
2469
  }),
2372
2470
  " (Swiftshader on Angle) since Chrome 101 added support for it."
2373
2471
  ]
2374
2472
  }),
2375
- /* @__PURE__ */ jsxs25("li", {
2473
+ /* @__PURE__ */ jsxs27("li", {
2376
2474
  children: [
2377
2475
  "From Remotion v2.4.3 until v2.6.6, the default was ",
2378
- /* @__PURE__ */ jsx34("code", {
2476
+ /* @__PURE__ */ jsx36("code", {
2379
2477
  children: "angle"
2380
2478
  }),
2381
2479
  ", however it turns out to have a small memory leak that could crash long Remotion renders."
2382
2480
  ]
2383
2481
  }),
2384
- NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs25("li", {
2482
+ NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs27("li", {
2385
2483
  children: [
2386
2484
  "From Remotion v5.0, the default is ",
2387
- /* @__PURE__ */ jsx34("code", {
2485
+ /* @__PURE__ */ jsx36("code", {
2388
2486
  children: "angle"
2389
2487
  }),
2390
2488
  ". If no compatible GPU is available, Chromium automatically falls back to SwiftShader."
@@ -2395,65 +2493,65 @@ var AngleChangelog = () => {
2395
2493
  ]
2396
2494
  });
2397
2495
  };
2398
- var cliFlag37 = "gl";
2496
+ var cliFlag39 = "gl";
2399
2497
  var glOption = {
2400
- cliFlag: cliFlag37,
2498
+ cliFlag: cliFlag39,
2401
2499
  docLink: "https://www.remotion.dev/docs/chromium-flags#--gl",
2402
2500
  name: "OpenGL renderer",
2403
2501
  type: "angle",
2404
2502
  ssrName: "gl",
2405
2503
  description: () => {
2406
- return /* @__PURE__ */ jsxs25(Fragment34, {
2504
+ return /* @__PURE__ */ jsxs27(Fragment36, {
2407
2505
  children: [
2408
- /* @__PURE__ */ jsx34(AngleChangelog, {}),
2409
- /* @__PURE__ */ jsxs25("p", {
2506
+ /* @__PURE__ */ jsx36(AngleChangelog, {}),
2507
+ /* @__PURE__ */ jsxs27("p", {
2410
2508
  children: [
2411
2509
  "Select the OpenGL renderer backend for Chromium. ",
2412
- /* @__PURE__ */ jsx34("br", {}),
2510
+ /* @__PURE__ */ jsx36("br", {}),
2413
2511
  "Accepted values:"
2414
2512
  ]
2415
2513
  }),
2416
- /* @__PURE__ */ jsxs25("ul", {
2514
+ /* @__PURE__ */ jsxs27("ul", {
2417
2515
  children: [
2418
- /* @__PURE__ */ jsx34("li", {
2419
- children: /* @__PURE__ */ jsx34("code", {
2516
+ /* @__PURE__ */ jsx36("li", {
2517
+ children: /* @__PURE__ */ jsx36("code", {
2420
2518
  children: '"angle"'
2421
2519
  })
2422
2520
  }),
2423
- /* @__PURE__ */ jsx34("li", {
2424
- children: /* @__PURE__ */ jsx34("code", {
2521
+ /* @__PURE__ */ jsx36("li", {
2522
+ children: /* @__PURE__ */ jsx36("code", {
2425
2523
  children: '"egl"'
2426
2524
  })
2427
2525
  }),
2428
- /* @__PURE__ */ jsx34("li", {
2429
- children: /* @__PURE__ */ jsx34("code", {
2526
+ /* @__PURE__ */ jsx36("li", {
2527
+ children: /* @__PURE__ */ jsx36("code", {
2430
2528
  children: '"swiftshader"'
2431
2529
  })
2432
2530
  }),
2433
- /* @__PURE__ */ jsx34("li", {
2434
- children: /* @__PURE__ */ jsx34("code", {
2531
+ /* @__PURE__ */ jsx36("li", {
2532
+ children: /* @__PURE__ */ jsx36("code", {
2435
2533
  children: '"swangle"'
2436
2534
  })
2437
2535
  }),
2438
- /* @__PURE__ */ jsxs25("li", {
2536
+ /* @__PURE__ */ jsxs27("li", {
2439
2537
  children: [
2440
- /* @__PURE__ */ jsx34("code", {
2538
+ /* @__PURE__ */ jsx36("code", {
2441
2539
  children: '"vulkan"'
2442
2540
  }),
2443
2541
  " (",
2444
- /* @__PURE__ */ jsx34("em", {
2542
+ /* @__PURE__ */ jsx36("em", {
2445
2543
  children: "from Remotion v4.0.41"
2446
2544
  }),
2447
2545
  ")"
2448
2546
  ]
2449
2547
  }),
2450
- /* @__PURE__ */ jsxs25("li", {
2548
+ /* @__PURE__ */ jsxs27("li", {
2451
2549
  children: [
2452
- /* @__PURE__ */ jsx34("code", {
2550
+ /* @__PURE__ */ jsx36("code", {
2453
2551
  children: '"angle-egl"'
2454
2552
  }),
2455
2553
  " (",
2456
- /* @__PURE__ */ jsx34("em", {
2554
+ /* @__PURE__ */ jsx36("em", {
2457
2555
  children: "from Remotion v4.0.51"
2458
2556
  }),
2459
2557
  ")"
@@ -2461,16 +2559,16 @@ var glOption = {
2461
2559
  })
2462
2560
  ]
2463
2561
  }),
2464
- /* @__PURE__ */ jsxs25("p", {
2562
+ /* @__PURE__ */ jsxs27("p", {
2465
2563
  children: [
2466
2564
  "The default is",
2467
2565
  " ",
2468
- /* @__PURE__ */ jsx34("code", {
2566
+ /* @__PURE__ */ jsx36("code", {
2469
2567
  children: DEFAULT_OPENGL_RENDERER === null ? "null" : `"${DEFAULT_OPENGL_RENDERER}"`
2470
2568
  }),
2471
2569
  DEFAULT_OPENGL_RENDERER === null ? ", letting Chrome decide" : ", with automatic fallback to SwiftShader if no compatible GPU is available",
2472
2570
  ", except on Lambda where the default is ",
2473
- /* @__PURE__ */ jsx34("code", {
2571
+ /* @__PURE__ */ jsx36("code", {
2474
2572
  children: '"swangle"'
2475
2573
  })
2476
2574
  ]
@@ -2479,10 +2577,10 @@ var glOption = {
2479
2577
  });
2480
2578
  },
2481
2579
  getValue: ({ commandLine }) => {
2482
- if (commandLine[cliFlag37]) {
2483
- validateOpenGlRenderer(commandLine[cliFlag37]);
2580
+ if (commandLine[cliFlag39]) {
2581
+ validateOpenGlRenderer(commandLine[cliFlag39]);
2484
2582
  return {
2485
- value: commandLine[cliFlag37],
2583
+ value: commandLine[cliFlag39],
2486
2584
  source: "cli"
2487
2585
  };
2488
2586
  }
@@ -2501,7 +2599,7 @@ var glOption = {
2501
2599
  validateOpenGlRenderer(value);
2502
2600
  openGlRenderer = value;
2503
2601
  },
2504
- id: cliFlag37
2602
+ id: cliFlag39
2505
2603
  };
2506
2604
  var validateOpenGlRenderer = (option2) => {
2507
2605
  if (option2 === null) {
@@ -2514,7 +2612,7 @@ var validateOpenGlRenderer = (option2) => {
2514
2612
  };
2515
2613
 
2516
2614
  // src/options/gop-size.tsx
2517
- import { jsx as jsx35, jsxs as jsxs26, Fragment as Fragment35 } from "react/jsx-runtime";
2615
+ import { jsx as jsx37, jsxs as jsxs28, Fragment as Fragment37 } from "react/jsx-runtime";
2518
2616
  var gopSize = null;
2519
2617
  var validateGopSize = (value) => {
2520
2618
  if (value === null) {
@@ -2524,14 +2622,14 @@ var validateGopSize = (value) => {
2524
2622
  throw new TypeError("The GOP size must be an integer greater than 0 or null.");
2525
2623
  }
2526
2624
  };
2527
- var cliFlag38 = "gop";
2625
+ var cliFlag40 = "gop";
2528
2626
  var gopSizeOption = {
2529
2627
  name: "GOP size",
2530
- cliFlag: cliFlag38,
2531
- description: () => /* @__PURE__ */ jsxs26(Fragment35, {
2628
+ cliFlag: cliFlag40,
2629
+ description: () => /* @__PURE__ */ jsxs28(Fragment37, {
2532
2630
  children: [
2533
2631
  "Set the maximum number of frames between two keyframes. This maps to FFmpeg's ",
2534
- /* @__PURE__ */ jsx35("code", {
2632
+ /* @__PURE__ */ jsx37("code", {
2535
2633
  children: "-g"
2536
2634
  }),
2537
2635
  " option. Default: Let the encoder decide."
@@ -2541,7 +2639,7 @@ var gopSizeOption = {
2541
2639
  docLink: "https://www.remotion.dev/docs/config#setgopsize",
2542
2640
  type: null,
2543
2641
  getValue: ({ commandLine }) => {
2544
- const value = commandLine[cliFlag38];
2642
+ const value = commandLine[cliFlag40];
2545
2643
  if (value !== undefined) {
2546
2644
  validateGopSize(value);
2547
2645
  return { value, source: "cli" };
@@ -2552,7 +2650,7 @@ var gopSizeOption = {
2552
2650
  validateGopSize(value);
2553
2651
  gopSize = value;
2554
2652
  },
2555
- id: cliFlag38
2653
+ id: cliFlag40
2556
2654
  };
2557
2655
 
2558
2656
  // src/options/hardware-acceleration.tsx
@@ -2561,11 +2659,11 @@ var hardwareAccelerationOptions = [
2561
2659
  "if-possible",
2562
2660
  "required"
2563
2661
  ];
2564
- var cliFlag39 = "hardware-acceleration";
2662
+ var cliFlag41 = "hardware-acceleration";
2565
2663
  var currentValue = null;
2566
2664
  var hardwareAccelerationOption = {
2567
2665
  name: "Hardware Acceleration",
2568
- cliFlag: cliFlag39,
2666
+ cliFlag: cliFlag41,
2569
2667
  description: () => `
2570
2668
  One of
2571
2669
  ${new Intl.ListFormat("en", { type: "disjunction" }).format(hardwareAccelerationOptions.map((a) => JSON.stringify(a)))}
@@ -2577,10 +2675,10 @@ var hardwareAccelerationOption = {
2577
2675
  docLink: "https://www.remotion.dev/docs/encoding",
2578
2676
  type: "disable",
2579
2677
  getValue: ({ commandLine }) => {
2580
- if (commandLine[cliFlag39] !== undefined) {
2581
- const value = commandLine[cliFlag39];
2678
+ if (commandLine[cliFlag41] !== undefined) {
2679
+ const value = commandLine[cliFlag41];
2582
2680
  if (!hardwareAccelerationOptions.includes(value)) {
2583
- throw new Error(`Invalid value for --${cliFlag39}: ${value}`);
2681
+ throw new Error(`Invalid value for --${cliFlag41}: ${value}`);
2584
2682
  }
2585
2683
  return {
2586
2684
  source: "cli",
@@ -2600,26 +2698,26 @@ var hardwareAccelerationOption = {
2600
2698
  },
2601
2699
  setConfig: (value) => {
2602
2700
  if (!hardwareAccelerationOptions.includes(value)) {
2603
- throw new Error(`Invalid value for --${cliFlag39}: ${value}`);
2701
+ throw new Error(`Invalid value for --${cliFlag41}: ${value}`);
2604
2702
  }
2605
2703
  currentValue = value;
2606
2704
  },
2607
- id: cliFlag39
2705
+ id: cliFlag41
2608
2706
  };
2609
2707
 
2610
2708
  // src/options/headless.tsx
2611
- import { jsx as jsx36, jsxs as jsxs27, Fragment as Fragment36 } from "react/jsx-runtime";
2709
+ import { jsx as jsx38, jsxs as jsxs29, Fragment as Fragment38 } from "react/jsx-runtime";
2612
2710
  var DEFAULT4 = true;
2613
2711
  var headlessMode = DEFAULT4;
2614
- var cliFlag40 = "disable-headless";
2712
+ var cliFlag42 = "disable-headless";
2615
2713
  var headlessOption = {
2616
2714
  name: "Disable Headless Mode",
2617
- cliFlag: cliFlag40,
2618
- description: () => /* @__PURE__ */ jsxs27(Fragment36, {
2715
+ cliFlag: cliFlag42,
2716
+ description: () => /* @__PURE__ */ jsxs29(Fragment38, {
2619
2717
  children: [
2620
2718
  "If disabled, the render will open an actual Chrome window where you can see the render happen. This requires",
2621
2719
  " ",
2622
- /* @__PURE__ */ jsx36("a", {
2720
+ /* @__PURE__ */ jsx38("a", {
2623
2721
  href: "/docs/miscellaneous/chrome-headless-shell",
2624
2722
  children: "Chrome for Testing"
2625
2723
  }),
@@ -2631,10 +2729,10 @@ var headlessOption = {
2631
2729
  docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-headless",
2632
2730
  type: false,
2633
2731
  getValue: ({ commandLine }) => {
2634
- if (commandLine[cliFlag40] !== undefined && commandLine[cliFlag40] !== null) {
2732
+ if (commandLine[cliFlag42] !== undefined && commandLine[cliFlag42] !== null) {
2635
2733
  return {
2636
2734
  source: "cli",
2637
- value: !commandLine[cliFlag40]
2735
+ value: !commandLine[cliFlag42]
2638
2736
  };
2639
2737
  }
2640
2738
  if (headlessMode !== DEFAULT4) {
@@ -2651,27 +2749,27 @@ var headlessOption = {
2651
2749
  setConfig: (value) => {
2652
2750
  headlessMode = value;
2653
2751
  },
2654
- id: cliFlag40
2752
+ id: cliFlag42
2655
2753
  };
2656
2754
 
2657
2755
  // src/options/ignore-certificate-errors.tsx
2658
- import { jsx as jsx37, Fragment as Fragment37 } from "react/jsx-runtime";
2756
+ import { jsx as jsx39, Fragment as Fragment39 } from "react/jsx-runtime";
2659
2757
  var ignoreCertificateErrors = false;
2660
- var cliFlag41 = "ignore-certificate-errors";
2758
+ var cliFlag43 = "ignore-certificate-errors";
2661
2759
  var ignoreCertificateErrorsOption = {
2662
2760
  name: "Ignore certificate errors",
2663
- cliFlag: cliFlag41,
2664
- description: () => /* @__PURE__ */ jsx37(Fragment37, {
2761
+ cliFlag: cliFlag43,
2762
+ description: () => /* @__PURE__ */ jsx39(Fragment39, {
2665
2763
  children: "Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored."
2666
2764
  }),
2667
2765
  ssrName: "ignoreCertificateErrors",
2668
2766
  docLink: "https://www.remotion.dev/docs/chromium-flags#--ignore-certificate-errors",
2669
2767
  type: false,
2670
2768
  getValue: ({ commandLine }) => {
2671
- if (commandLine[cliFlag41] !== undefined && commandLine[cliFlag41] !== null) {
2769
+ if (commandLine[cliFlag43] !== undefined && commandLine[cliFlag43] !== null) {
2672
2770
  return {
2673
2771
  source: "cli",
2674
- value: Boolean(commandLine[cliFlag41])
2772
+ value: Boolean(commandLine[cliFlag43])
2675
2773
  };
2676
2774
  }
2677
2775
  if (ignoreCertificateErrors) {
@@ -2688,23 +2786,23 @@ var ignoreCertificateErrorsOption = {
2688
2786
  setConfig: (value) => {
2689
2787
  ignoreCertificateErrors = value;
2690
2788
  },
2691
- id: cliFlag41
2789
+ id: cliFlag43
2692
2790
  };
2693
2791
 
2694
2792
  // src/options/image-sequence.tsx
2695
- import { jsx as jsx38, jsxs as jsxs28, Fragment as Fragment38 } from "react/jsx-runtime";
2696
- var cliFlag42 = "sequence";
2793
+ import { jsx as jsx40, jsxs as jsxs30, Fragment as Fragment40 } from "react/jsx-runtime";
2794
+ var cliFlag44 = "sequence";
2697
2795
  var imageSequence = false;
2698
2796
  var imageSequenceOption = {
2699
2797
  name: "Image Sequence",
2700
- cliFlag: cliFlag42,
2701
- description: () => /* @__PURE__ */ jsxs28(Fragment38, {
2798
+ cliFlag: cliFlag44,
2799
+ description: () => /* @__PURE__ */ jsxs30(Fragment40, {
2702
2800
  children: [
2703
2801
  "Pass this flag to output an image sequence instead of a video. The default image format is JPEG. See",
2704
2802
  " ",
2705
- /* @__PURE__ */ jsx38("a", {
2803
+ /* @__PURE__ */ jsx40("a", {
2706
2804
  href: "/docs/config#setimagesequence",
2707
- children: /* @__PURE__ */ jsx38("code", {
2805
+ children: /* @__PURE__ */ jsx40("code", {
2708
2806
  children: "setImageSequence()"
2709
2807
  })
2710
2808
  }),
@@ -2715,10 +2813,10 @@ var imageSequenceOption = {
2715
2813
  ssrName: null,
2716
2814
  docLink: "https://www.remotion.dev/docs/config#setimagesequence",
2717
2815
  getValue: ({ commandLine }) => {
2718
- if (commandLine[cliFlag42] !== undefined && commandLine[cliFlag42] !== null) {
2816
+ if (commandLine[cliFlag44] !== undefined && commandLine[cliFlag44] !== null) {
2719
2817
  return {
2720
2818
  source: "cli",
2721
- value: Boolean(commandLine[cliFlag42])
2819
+ value: Boolean(commandLine[cliFlag44])
2722
2820
  };
2723
2821
  }
2724
2822
  return {
@@ -2730,25 +2828,25 @@ var imageSequenceOption = {
2730
2828
  imageSequence = value;
2731
2829
  },
2732
2830
  type: false,
2733
- id: cliFlag42
2831
+ id: cliFlag44
2734
2832
  };
2735
2833
 
2736
2834
  // src/options/image-sequence-pattern.tsx
2737
- import { jsx as jsx39, jsxs as jsxs29, Fragment as Fragment39 } from "react/jsx-runtime";
2738
- var cliFlag43 = "image-sequence-pattern";
2835
+ import { jsx as jsx41, jsxs as jsxs31, Fragment as Fragment41 } from "react/jsx-runtime";
2836
+ var cliFlag45 = "image-sequence-pattern";
2739
2837
  var currentImageSequencePattern = null;
2740
2838
  var imageSequencePatternOption = {
2741
2839
  name: "Image Sequence Pattern",
2742
- cliFlag: cliFlag43,
2840
+ cliFlag: cliFlag45,
2743
2841
  ssrName: "imageSequencePattern",
2744
- description: () => /* @__PURE__ */ jsxs29(Fragment39, {
2842
+ description: () => /* @__PURE__ */ jsxs31(Fragment41, {
2745
2843
  children: [
2746
2844
  "Pattern for naming image sequence files. Supports ",
2747
- /* @__PURE__ */ jsx39("code", {
2845
+ /* @__PURE__ */ jsx41("code", {
2748
2846
  children: "[frame]"
2749
2847
  }),
2750
2848
  " for the zero-padded frame number and ",
2751
- /* @__PURE__ */ jsx39("code", {
2849
+ /* @__PURE__ */ jsx41("code", {
2752
2850
  children: "[ext]"
2753
2851
  }),
2754
2852
  " for the file extension."
@@ -2764,7 +2862,7 @@ var imageSequencePatternOption = {
2764
2862
  };
2765
2863
  }
2766
2864
  return {
2767
- value: commandLine[cliFlag43],
2865
+ value: commandLine[cliFlag45],
2768
2866
  source: "cli"
2769
2867
  };
2770
2868
  },
@@ -2774,25 +2872,26 @@ var imageSequencePatternOption = {
2774
2872
  reset: () => {
2775
2873
  currentImageSequencePattern = null;
2776
2874
  },
2777
- id: cliFlag43
2875
+ id: cliFlag45
2778
2876
  };
2779
2877
 
2780
2878
  // src/options/interactivity.tsx
2781
- import { jsx as jsx40, Fragment as Fragment40 } from "react/jsx-runtime";
2879
+ import { jsx as jsx42, Fragment as Fragment42 } from "react/jsx-runtime";
2782
2880
  var interactivityEnabled = true;
2783
- var cliFlag44 = "disable-interactivity";
2881
+ var configuredInteractivityEnabled = null;
2882
+ var cliFlag46 = "disable-interactivity";
2784
2883
  var interactivityOption = {
2785
2884
  name: "Disable or enable Studio interactivity",
2786
- cliFlag: cliFlag44,
2787
- description: () => /* @__PURE__ */ jsx40(Fragment40, {
2885
+ cliFlag: cliFlag46,
2886
+ description: () => /* @__PURE__ */ jsx42(Fragment42, {
2788
2887
  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."
2789
2888
  }),
2790
2889
  ssrName: null,
2791
2890
  docLink: "https://www.remotion.dev/docs/config#setinteractivityenabled",
2792
2891
  type: false,
2793
2892
  getValue: ({ commandLine }) => {
2794
- if (commandLine[cliFlag44] !== undefined && commandLine[cliFlag44] !== null) {
2795
- interactivityEnabled = commandLine[cliFlag44] === false;
2893
+ if (commandLine[cliFlag46] !== undefined && commandLine[cliFlag46] !== null) {
2894
+ interactivityEnabled = commandLine[cliFlag46] === false;
2796
2895
  return {
2797
2896
  value: interactivityEnabled,
2798
2897
  source: "cli"
@@ -2805,27 +2904,33 @@ var interactivityOption = {
2805
2904
  },
2806
2905
  setConfig(value) {
2807
2906
  interactivityEnabled = value;
2907
+ configuredInteractivityEnabled = value;
2808
2908
  },
2809
- id: cliFlag44
2909
+ getConfigValue: () => configuredInteractivityEnabled,
2910
+ reset: () => {
2911
+ interactivityEnabled = true;
2912
+ configuredInteractivityEnabled = null;
2913
+ },
2914
+ id: cliFlag46
2810
2915
  };
2811
2916
 
2812
2917
  // src/options/ipv4.tsx
2813
- import { jsx as jsx41, Fragment as Fragment41 } from "react/jsx-runtime";
2918
+ import { jsx as jsx43, Fragment as Fragment43 } from "react/jsx-runtime";
2814
2919
  var forceIPv4 = false;
2815
- var cliFlag45 = "ipv4";
2920
+ var cliFlag47 = "ipv4";
2816
2921
  var ipv4Option = {
2817
2922
  name: "IPv4",
2818
- cliFlag: cliFlag45,
2819
- description: () => /* @__PURE__ */ jsx41(Fragment41, {
2923
+ cliFlag: cliFlag47,
2924
+ description: () => /* @__PURE__ */ jsx43(Fragment43, {
2820
2925
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
2821
2926
  }),
2822
2927
  ssrName: null,
2823
2928
  docLink: "https://www.remotion.dev/docs/cli/studio",
2824
2929
  type: false,
2825
2930
  getValue: ({ commandLine }) => {
2826
- if (commandLine[cliFlag45] !== undefined && commandLine[cliFlag45] !== null) {
2931
+ if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
2827
2932
  return {
2828
- value: commandLine[cliFlag45],
2933
+ value: commandLine[cliFlag47],
2829
2934
  source: "cli"
2830
2935
  };
2831
2936
  }
@@ -2837,25 +2942,25 @@ var ipv4Option = {
2837
2942
  setConfig(value) {
2838
2943
  forceIPv4 = value;
2839
2944
  },
2840
- id: cliFlag45
2945
+ id: cliFlag47
2841
2946
  };
2842
2947
 
2843
2948
  // src/options/is-production.tsx
2844
- import { jsx as jsx42, jsxs as jsxs30, Fragment as Fragment42 } from "react/jsx-runtime";
2845
- var cliFlag46 = "is-production";
2949
+ import { jsx as jsx44, jsxs as jsxs32, Fragment as Fragment44 } from "react/jsx-runtime";
2950
+ var cliFlag48 = "is-production";
2846
2951
  var currentIsProductionKey = null;
2847
2952
  var isProductionOption = {
2848
2953
  name: "Is Production",
2849
- cliFlag: cliFlag46,
2850
- description: () => /* @__PURE__ */ jsxs30(Fragment42, {
2954
+ cliFlag: cliFlag48,
2955
+ description: () => /* @__PURE__ */ jsxs32(Fragment44, {
2851
2956
  children: [
2852
2957
  "Pass ",
2853
- /* @__PURE__ */ jsx42("code", {
2958
+ /* @__PURE__ */ jsx44("code", {
2854
2959
  children: "false"
2855
2960
  }),
2856
2961
  " if this a development render to not count it as a billable render on remotion.pro. Only can be used in conjuction with",
2857
2962
  " ",
2858
- /* @__PURE__ */ jsx42("code", {
2963
+ /* @__PURE__ */ jsx44("code", {
2859
2964
  children: "licenseKey"
2860
2965
  }),
2861
2966
  "."
@@ -2864,10 +2969,10 @@ var isProductionOption = {
2864
2969
  ssrName: "isProduction",
2865
2970
  docLink: "https://www.remotion.dev/docs/licensing",
2866
2971
  getValue: ({ commandLine }) => {
2867
- if (commandLine[cliFlag46] !== undefined && commandLine[cliFlag46] !== null) {
2972
+ if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
2868
2973
  return {
2869
2974
  source: "cli",
2870
- value: commandLine[cliFlag46]
2975
+ value: commandLine[cliFlag48]
2871
2976
  };
2872
2977
  }
2873
2978
  if (currentIsProductionKey !== null) {
@@ -2885,11 +2990,11 @@ var isProductionOption = {
2885
2990
  currentIsProductionKey = value;
2886
2991
  },
2887
2992
  type: false,
2888
- id: cliFlag46
2993
+ id: cliFlag48
2889
2994
  };
2890
2995
 
2891
2996
  // src/options/jpeg-quality.tsx
2892
- import { jsx as jsx43, Fragment as Fragment43 } from "react/jsx-runtime";
2997
+ import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
2893
2998
  var defaultValue = DEFAULT_JPEG_QUALITY;
2894
2999
  var quality = defaultValue;
2895
3000
  var setJpegQuality = (q) => {
@@ -2900,11 +3005,11 @@ var setJpegQuality = (q) => {
2900
3005
  }
2901
3006
  quality = q;
2902
3007
  };
2903
- var cliFlag47 = "jpeg-quality";
3008
+ var cliFlag49 = "jpeg-quality";
2904
3009
  var jpegQualityOption = {
2905
3010
  name: "JPEG Quality",
2906
- cliFlag: cliFlag47,
2907
- description: () => /* @__PURE__ */ jsx43(Fragment43, {
3011
+ cliFlag: cliFlag49,
3012
+ description: () => /* @__PURE__ */ jsx45(Fragment45, {
2908
3013
  children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80."
2909
3014
  }),
2910
3015
  ssrName: "jpegQuality",
@@ -2912,11 +3017,11 @@ var jpegQualityOption = {
2912
3017
  type: 0,
2913
3018
  setConfig: setJpegQuality,
2914
3019
  getValue: ({ commandLine }) => {
2915
- if (commandLine[cliFlag47] !== undefined) {
2916
- validateJpegQuality(commandLine[cliFlag47]);
3020
+ if (commandLine[cliFlag49] !== undefined) {
3021
+ validateJpegQuality(commandLine[cliFlag49]);
2917
3022
  return {
2918
3023
  source: "cli",
2919
- value: commandLine[cliFlag47]
3024
+ value: commandLine[cliFlag49]
2920
3025
  };
2921
3026
  }
2922
3027
  if (quality !== defaultValue) {
@@ -2930,25 +3035,26 @@ var jpegQualityOption = {
2930
3035
  value: defaultValue
2931
3036
  };
2932
3037
  },
2933
- id: cliFlag47
3038
+ id: cliFlag49
2934
3039
  };
2935
3040
 
2936
3041
  // src/options/keyboard-shortcuts.tsx
2937
- import { jsx as jsx44, Fragment as Fragment44 } from "react/jsx-runtime";
3042
+ import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
2938
3043
  var keyboardShortcutsEnabled = true;
2939
- var cliFlag48 = "disable-keyboard-shortcuts";
3044
+ var configuredKeyboardShortcutsEnabled = null;
3045
+ var cliFlag50 = "disable-keyboard-shortcuts";
2940
3046
  var keyboardShortcutsOption = {
2941
3047
  name: "Disable or Enable keyboard shortcuts",
2942
- cliFlag: cliFlag48,
2943
- description: () => /* @__PURE__ */ jsx44(Fragment44, {
3048
+ cliFlag: cliFlag50,
3049
+ description: () => /* @__PURE__ */ jsx46(Fragment46, {
2944
3050
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
2945
3051
  }),
2946
3052
  ssrName: null,
2947
3053
  docLink: "https://www.remotion.dev/docs/config#setkeyboardshortcutsenabled",
2948
3054
  type: false,
2949
3055
  getValue: ({ commandLine }) => {
2950
- if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
2951
- keyboardShortcutsEnabled = commandLine[cliFlag48] === false;
3056
+ if (commandLine[cliFlag50] !== undefined && commandLine[cliFlag50] !== null) {
3057
+ keyboardShortcutsEnabled = commandLine[cliFlag50] === false;
2952
3058
  return {
2953
3059
  value: keyboardShortcutsEnabled,
2954
3060
  source: "cli"
@@ -2961,43 +3067,49 @@ var keyboardShortcutsOption = {
2961
3067
  },
2962
3068
  setConfig(value) {
2963
3069
  keyboardShortcutsEnabled = value;
3070
+ configuredKeyboardShortcutsEnabled = value;
2964
3071
  },
2965
- id: cliFlag48
3072
+ getConfigValue: () => configuredKeyboardShortcutsEnabled,
3073
+ reset: () => {
3074
+ keyboardShortcutsEnabled = true;
3075
+ configuredKeyboardShortcutsEnabled = null;
3076
+ },
3077
+ id: cliFlag50
2966
3078
  };
2967
3079
 
2968
3080
  // src/options/latency-hint.tsx
2969
- import { jsx as jsx45, jsxs as jsxs31, Fragment as Fragment45 } from "react/jsx-runtime";
2970
- var cliFlag49 = "audio-latency-hint";
3081
+ import { jsx as jsx47, jsxs as jsxs33, Fragment as Fragment47 } from "react/jsx-runtime";
3082
+ var cliFlag51 = "audio-latency-hint";
2971
3083
  var value = null;
2972
3084
  var audioLatencyHintOption = {
2973
3085
  name: "Audio Latency Hint",
2974
- cliFlag: cliFlag49,
2975
- description: () => /* @__PURE__ */ jsxs31(Fragment45, {
3086
+ cliFlag: cliFlag51,
3087
+ description: () => /* @__PURE__ */ jsxs33(Fragment47, {
2976
3088
  children: [
2977
3089
  "Sets the",
2978
3090
  " ",
2979
- /* @__PURE__ */ jsx45("a", {
3091
+ /* @__PURE__ */ jsx47("a", {
2980
3092
  href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
2981
3093
  children: "audio latency"
2982
3094
  }),
2983
3095
  " ",
2984
3096
  "hint for the global ",
2985
- /* @__PURE__ */ jsx45("code", {
3097
+ /* @__PURE__ */ jsx47("code", {
2986
3098
  children: "AudioContext"
2987
3099
  }),
2988
3100
  " context that Remotion uses to play audio.",
2989
- /* @__PURE__ */ jsx45("br", {}),
3101
+ /* @__PURE__ */ jsx47("br", {}),
2990
3102
  "Possible values: ",
2991
- /* @__PURE__ */ jsx45("code", {
3103
+ /* @__PURE__ */ jsx47("code", {
2992
3104
  children: "interactive"
2993
3105
  }),
2994
3106
  ", ",
2995
- /* @__PURE__ */ jsx45("code", {
3107
+ /* @__PURE__ */ jsx47("code", {
2996
3108
  children: "balanced"
2997
3109
  }),
2998
3110
  ",",
2999
3111
  " ",
3000
- /* @__PURE__ */ jsx45("code", {
3112
+ /* @__PURE__ */ jsx47("code", {
3001
3113
  children: "playback"
3002
3114
  })
3003
3115
  ]
@@ -3006,7 +3118,7 @@ var audioLatencyHintOption = {
3006
3118
  docLink: "https://www.remotion.dev/docs/renderer/render-media",
3007
3119
  type: "playback",
3008
3120
  getValue: ({ commandLine }) => {
3009
- const val = commandLine[cliFlag49];
3121
+ const val = commandLine[cliFlag51];
3010
3122
  if (typeof val !== "undefined") {
3011
3123
  return { value: val, source: "cli" };
3012
3124
  }
@@ -3018,21 +3130,25 @@ var audioLatencyHintOption = {
3018
3130
  setConfig: (profile) => {
3019
3131
  value = profile;
3020
3132
  },
3021
- id: cliFlag49
3133
+ getConfigValue: () => value,
3134
+ reset: () => {
3135
+ value = null;
3136
+ },
3137
+ id: cliFlag51
3022
3138
  };
3023
3139
 
3024
3140
  // src/options/license-key.tsx
3025
- import { jsx as jsx46, jsxs as jsxs32, Fragment as Fragment46 } from "react/jsx-runtime";
3141
+ import { jsx as jsx48, jsxs as jsxs34, Fragment as Fragment48 } from "react/jsx-runtime";
3026
3142
  var currentLicenseKey = null;
3027
- var cliFlag50 = "license-key";
3143
+ var cliFlag52 = "license-key";
3028
3144
  var licenseKeyOption = {
3029
3145
  name: "License key",
3030
- cliFlag: cliFlag50,
3031
- description: () => /* @__PURE__ */ jsxs32(Fragment46, {
3146
+ cliFlag: cliFlag52,
3147
+ description: () => /* @__PURE__ */ jsxs34(Fragment48, {
3032
3148
  children: [
3033
3149
  "License key for sending a usage event using",
3034
3150
  " ",
3035
- /* @__PURE__ */ jsx46("code", {
3151
+ /* @__PURE__ */ jsx48("code", {
3036
3152
  children: "@remotion/licensing"
3037
3153
  }),
3038
3154
  "."
@@ -3042,10 +3158,10 @@ var licenseKeyOption = {
3042
3158
  docLink: "https://www.remotion.dev/docs/licensing",
3043
3159
  type: null,
3044
3160
  getValue: ({ commandLine }) => {
3045
- if (commandLine[cliFlag50] !== undefined) {
3161
+ if (commandLine[cliFlag52] !== undefined) {
3046
3162
  return {
3047
3163
  source: "cli",
3048
- value: commandLine[cliFlag50]
3164
+ value: commandLine[cliFlag52]
3049
3165
  };
3050
3166
  }
3051
3167
  return {
@@ -3056,47 +3172,48 @@ var licenseKeyOption = {
3056
3172
  setConfig: (value2) => {
3057
3173
  currentLicenseKey = value2;
3058
3174
  },
3059
- id: cliFlag50
3175
+ id: cliFlag52
3060
3176
  };
3061
3177
 
3062
3178
  // src/options/log-level.tsx
3063
- import { jsx as jsx47, jsxs as jsxs33, Fragment as Fragment47 } from "react/jsx-runtime";
3179
+ import { jsx as jsx49, jsxs as jsxs35, Fragment as Fragment49 } from "react/jsx-runtime";
3064
3180
  var logLevel = "info";
3065
- var cliFlag51 = "log";
3181
+ var configuredLogLevel = null;
3182
+ var cliFlag53 = "log";
3066
3183
  var logLevelOption = {
3067
- cliFlag: cliFlag51,
3184
+ cliFlag: cliFlag53,
3068
3185
  name: "Log Level",
3069
3186
  ssrName: "logLevel",
3070
- description: () => /* @__PURE__ */ jsxs33(Fragment47, {
3187
+ description: () => /* @__PURE__ */ jsxs35(Fragment49, {
3071
3188
  children: [
3072
3189
  "One of ",
3073
- /* @__PURE__ */ jsx47("code", {
3190
+ /* @__PURE__ */ jsx49("code", {
3074
3191
  children: "trace"
3075
3192
  }),
3076
3193
  ", ",
3077
- /* @__PURE__ */ jsx47("code", {
3194
+ /* @__PURE__ */ jsx49("code", {
3078
3195
  children: "verbose"
3079
3196
  }),
3080
3197
  ", ",
3081
- /* @__PURE__ */ jsx47("code", {
3198
+ /* @__PURE__ */ jsx49("code", {
3082
3199
  children: "info"
3083
3200
  }),
3084
3201
  ",",
3085
3202
  " ",
3086
- /* @__PURE__ */ jsx47("code", {
3203
+ /* @__PURE__ */ jsx49("code", {
3087
3204
  children: "warn"
3088
3205
  }),
3089
3206
  ", ",
3090
- /* @__PURE__ */ jsx47("code", {
3207
+ /* @__PURE__ */ jsx49("code", {
3091
3208
  children: "error"
3092
3209
  }),
3093
3210
  ".",
3094
- /* @__PURE__ */ jsx47("br", {}),
3211
+ /* @__PURE__ */ jsx49("br", {}),
3095
3212
  " Determines how much info is being logged to the console.",
3096
- /* @__PURE__ */ jsx47("br", {}),
3097
- /* @__PURE__ */ jsx47("br", {}),
3213
+ /* @__PURE__ */ jsx49("br", {}),
3214
+ /* @__PURE__ */ jsx49("br", {}),
3098
3215
  " Default ",
3099
- /* @__PURE__ */ jsx47("code", {
3216
+ /* @__PURE__ */ jsx49("code", {
3100
3217
  children: "info"
3101
3218
  }),
3102
3219
  "."
@@ -3104,11 +3221,11 @@ var logLevelOption = {
3104
3221
  }),
3105
3222
  docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
3106
3223
  getValue: ({ commandLine }) => {
3107
- if (commandLine[cliFlag51]) {
3108
- if (!isValidLogLevel(commandLine[cliFlag51])) {
3224
+ if (commandLine[cliFlag53]) {
3225
+ if (!isValidLogLevel(commandLine[cliFlag53])) {
3109
3226
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
3110
3227
  }
3111
- return { value: commandLine[cliFlag51], source: "cli" };
3228
+ return { value: commandLine[cliFlag53], source: "cli" };
3112
3229
  }
3113
3230
  if (logLevel !== "info") {
3114
3231
  return { value: logLevel, source: "config" };
@@ -3117,25 +3234,31 @@ var logLevelOption = {
3117
3234
  },
3118
3235
  setConfig: (newLogLevel) => {
3119
3236
  logLevel = newLogLevel;
3237
+ configuredLogLevel = newLogLevel;
3238
+ },
3239
+ getConfigValue: () => configuredLogLevel,
3240
+ reset: () => {
3241
+ logLevel = "info";
3242
+ configuredLogLevel = null;
3120
3243
  },
3121
3244
  type: "error",
3122
- id: cliFlag51
3245
+ id: cliFlag53
3123
3246
  };
3124
3247
 
3125
3248
  // src/options/metadata.tsx
3126
- import { jsx as jsx48, jsxs as jsxs34, Fragment as Fragment48 } from "react/jsx-runtime";
3249
+ import { jsx as jsx50, jsxs as jsxs36, Fragment as Fragment50 } from "react/jsx-runtime";
3127
3250
  var metadata = {};
3128
- var cliFlag52 = "metadata";
3251
+ var cliFlag54 = "metadata";
3129
3252
  var metadataOption = {
3130
3253
  name: "Metadata",
3131
- cliFlag: cliFlag52,
3254
+ cliFlag: cliFlag54,
3132
3255
  description: (mode) => {
3133
3256
  if (mode === "ssr") {
3134
- return /* @__PURE__ */ jsxs34(Fragment48, {
3257
+ return /* @__PURE__ */ jsxs36(Fragment50, {
3135
3258
  children: [
3136
3259
  "An object containing metadata to be embedded in the video. See",
3137
3260
  " ",
3138
- /* @__PURE__ */ jsx48("a", {
3261
+ /* @__PURE__ */ jsx50("a", {
3139
3262
  href: "/docs/metadata",
3140
3263
  children: "here"
3141
3264
  }),
@@ -3143,18 +3266,18 @@ var metadataOption = {
3143
3266
  ]
3144
3267
  });
3145
3268
  }
3146
- return /* @__PURE__ */ jsxs34(Fragment48, {
3269
+ return /* @__PURE__ */ jsxs36(Fragment50, {
3147
3270
  children: [
3148
3271
  "Metadata to be embedded in the video. See",
3149
3272
  " ",
3150
- /* @__PURE__ */ jsx48("a", {
3273
+ /* @__PURE__ */ jsx50("a", {
3151
3274
  href: "/docs/metadata",
3152
3275
  children: "here"
3153
3276
  }),
3154
3277
  " for which metadata is accepted.",
3155
- /* @__PURE__ */ jsx48("br", {}),
3278
+ /* @__PURE__ */ jsx50("br", {}),
3156
3279
  "The parameter must be in the format of ",
3157
- /* @__PURE__ */ jsx48("code", {
3280
+ /* @__PURE__ */ jsx50("code", {
3158
3281
  children: "--metadata key=value"
3159
3282
  }),
3160
3283
  " ",
@@ -3165,8 +3288,8 @@ var metadataOption = {
3165
3288
  docLink: "https://www.remotion.dev/docs/metadata",
3166
3289
  type: {},
3167
3290
  getValue: ({ commandLine }) => {
3168
- if (commandLine[cliFlag52] !== undefined) {
3169
- const val = commandLine[cliFlag52];
3291
+ if (commandLine[cliFlag54] !== undefined) {
3292
+ const val = commandLine[cliFlag54];
3170
3293
  const array = typeof val === "string" ? [val] : val;
3171
3294
  const keyValues = array.map((a) => {
3172
3295
  if (!a.includes("=")) {
@@ -3193,28 +3316,28 @@ var metadataOption = {
3193
3316
  metadata = newMetadata;
3194
3317
  },
3195
3318
  ssrName: "metadata",
3196
- id: cliFlag52
3319
+ id: cliFlag54
3197
3320
  };
3198
3321
 
3199
3322
  // src/options/mute.tsx
3200
- import { jsx as jsx49, Fragment as Fragment49 } from "react/jsx-runtime";
3323
+ import { jsx as jsx51, Fragment as Fragment51 } from "react/jsx-runtime";
3201
3324
  var DEFAULT_MUTED_STATE = false;
3202
3325
  var mutedState = DEFAULT_MUTED_STATE;
3203
- var cliFlag53 = "muted";
3326
+ var cliFlag55 = "muted";
3204
3327
  var mutedOption = {
3205
3328
  name: "Muted",
3206
- cliFlag: cliFlag53,
3207
- description: () => /* @__PURE__ */ jsx49(Fragment49, {
3329
+ cliFlag: cliFlag55,
3330
+ description: () => /* @__PURE__ */ jsx51(Fragment51, {
3208
3331
  children: "The Audio of the video will be omitted."
3209
3332
  }),
3210
3333
  ssrName: "muted",
3211
3334
  docLink: "https://www.remotion.dev/docs/audio/muting",
3212
3335
  type: false,
3213
3336
  getValue: ({ commandLine }) => {
3214
- if (commandLine[cliFlag53] !== null) {
3337
+ if (commandLine[cliFlag55] !== null) {
3215
3338
  return {
3216
3339
  source: "cli",
3217
- value: commandLine[cliFlag53]
3340
+ value: commandLine[cliFlag55]
3218
3341
  };
3219
3342
  }
3220
3343
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -3234,17 +3357,17 @@ var mutedOption = {
3234
3357
  reset: () => {
3235
3358
  mutedState = DEFAULT_MUTED_STATE;
3236
3359
  },
3237
- id: cliFlag53
3360
+ id: cliFlag55
3238
3361
  };
3239
3362
 
3240
3363
  // src/options/no-open.tsx
3241
- import { jsx as jsx50, Fragment as Fragment50 } from "react/jsx-runtime";
3364
+ import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3242
3365
  var shouldOpenBrowser = true;
3243
- var cliFlag54 = "no-open";
3366
+ var cliFlag56 = "no-open";
3244
3367
  var noOpenOption = {
3245
3368
  name: "Disable browser auto-open",
3246
- cliFlag: cliFlag54,
3247
- description: () => /* @__PURE__ */ jsx50(Fragment50, {
3369
+ cliFlag: cliFlag56,
3370
+ description: () => /* @__PURE__ */ jsx52(Fragment52, {
3248
3371
  children: "If specified, Remotion will not open a browser window when starting the Studio."
3249
3372
  }),
3250
3373
  ssrName: null,
@@ -3266,54 +3389,54 @@ var noOpenOption = {
3266
3389
  reset: () => {
3267
3390
  shouldOpenBrowser = true;
3268
3391
  },
3269
- id: cliFlag54
3392
+ id: cliFlag56
3270
3393
  };
3271
3394
 
3272
3395
  // src/options/number-of-gif-loops.tsx
3273
- import { jsx as jsx51, jsxs as jsxs35, Fragment as Fragment51 } from "react/jsx-runtime";
3396
+ import { jsx as jsx53, jsxs as jsxs37, Fragment as Fragment53 } from "react/jsx-runtime";
3274
3397
  var currentLoop = null;
3275
3398
  var validate = (newLoop) => {
3276
3399
  if (newLoop !== null && typeof newLoop !== "number") {
3277
3400
  throw new Error("--number-of-gif-loops flag must be a number.");
3278
3401
  }
3279
3402
  };
3280
- var cliFlag55 = "number-of-gif-loops";
3403
+ var cliFlag57 = "number-of-gif-loops";
3281
3404
  var numberOfGifLoopsOption = {
3282
3405
  name: "Number of GIF loops",
3283
- cliFlag: cliFlag55,
3406
+ cliFlag: cliFlag57,
3284
3407
  description: () => {
3285
- return /* @__PURE__ */ jsxs35(Fragment51, {
3408
+ return /* @__PURE__ */ jsxs37(Fragment53, {
3286
3409
  children: [
3287
3410
  "Allows you to set the number of loops as follows:",
3288
- /* @__PURE__ */ jsxs35("ul", {
3411
+ /* @__PURE__ */ jsxs37("ul", {
3289
3412
  children: [
3290
- /* @__PURE__ */ jsxs35("li", {
3413
+ /* @__PURE__ */ jsxs37("li", {
3291
3414
  children: [
3292
- /* @__PURE__ */ jsx51("code", {
3415
+ /* @__PURE__ */ jsx53("code", {
3293
3416
  children: "null"
3294
3417
  }),
3295
3418
  " (or omitting in the CLI) plays the GIF indefinitely."
3296
3419
  ]
3297
3420
  }),
3298
- /* @__PURE__ */ jsxs35("li", {
3421
+ /* @__PURE__ */ jsxs37("li", {
3299
3422
  children: [
3300
- /* @__PURE__ */ jsx51("code", {
3423
+ /* @__PURE__ */ jsx53("code", {
3301
3424
  children: "0"
3302
3425
  }),
3303
3426
  " disables looping"
3304
3427
  ]
3305
3428
  }),
3306
- /* @__PURE__ */ jsxs35("li", {
3429
+ /* @__PURE__ */ jsxs37("li", {
3307
3430
  children: [
3308
- /* @__PURE__ */ jsx51("code", {
3431
+ /* @__PURE__ */ jsx53("code", {
3309
3432
  children: "1"
3310
3433
  }),
3311
3434
  " loops the GIF once (plays twice in total)"
3312
3435
  ]
3313
3436
  }),
3314
- /* @__PURE__ */ jsxs35("li", {
3437
+ /* @__PURE__ */ jsxs37("li", {
3315
3438
  children: [
3316
- /* @__PURE__ */ jsx51("code", {
3439
+ /* @__PURE__ */ jsx53("code", {
3317
3440
  children: "2"
3318
3441
  }),
3319
3442
  " loops the GIF twice (plays three times in total) and so on."
@@ -3328,10 +3451,10 @@ var numberOfGifLoopsOption = {
3328
3451
  docLink: "https://www.remotion.dev/docs/render-as-gif#changing-the-number-of-loops",
3329
3452
  type: 0,
3330
3453
  getValue: ({ commandLine }) => {
3331
- if (commandLine[cliFlag55] !== undefined) {
3332
- validate(commandLine[cliFlag55]);
3454
+ if (commandLine[cliFlag57] !== undefined) {
3455
+ validate(commandLine[cliFlag57]);
3333
3456
  return {
3334
- value: commandLine[cliFlag55],
3457
+ value: commandLine[cliFlag57],
3335
3458
  source: "cli"
3336
3459
  };
3337
3460
  }
@@ -3350,21 +3473,22 @@ var numberOfGifLoopsOption = {
3350
3473
  validate(newLoop);
3351
3474
  currentLoop = newLoop;
3352
3475
  },
3353
- id: cliFlag55
3476
+ id: cliFlag57
3354
3477
  };
3355
3478
 
3356
3479
  // src/options/number-of-shared-audio-tags.tsx
3357
- import { jsx as jsx52, jsxs as jsxs36, Fragment as Fragment52 } from "react/jsx-runtime";
3480
+ import { jsx as jsx54, jsxs as jsxs38, Fragment as Fragment54 } from "react/jsx-runtime";
3358
3481
  var numberOfSharedAudioTags = 0;
3359
- var cliFlag56 = "number-of-shared-audio-tags";
3482
+ var configuredNumberOfSharedAudioTags = null;
3483
+ var cliFlag58 = "number-of-shared-audio-tags";
3360
3484
  var numberOfSharedAudioTagsOption = {
3361
3485
  name: "Number of shared audio tags",
3362
- cliFlag: cliFlag56,
3363
- description: () => /* @__PURE__ */ jsxs36(Fragment52, {
3486
+ cliFlag: cliFlag58,
3487
+ description: () => /* @__PURE__ */ jsxs38(Fragment54, {
3364
3488
  children: [
3365
3489
  "Set number of shared audio tags. See",
3366
3490
  " ",
3367
- /* @__PURE__ */ jsx52("a", {
3491
+ /* @__PURE__ */ jsx54("a", {
3368
3492
  href: "https://www.remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop",
3369
3493
  children: "Using the numberOfSharedAudioTags prop"
3370
3494
  }),
@@ -3376,9 +3500,9 @@ var numberOfSharedAudioTagsOption = {
3376
3500
  docLink: "https://www.remotion.dev/docs/config#setnumberofsharedaudiotags",
3377
3501
  type: 0,
3378
3502
  getValue: ({ commandLine }) => {
3379
- if (commandLine[cliFlag56] !== undefined) {
3503
+ if (commandLine[cliFlag58] !== undefined) {
3380
3504
  return {
3381
- value: commandLine[cliFlag56],
3505
+ value: commandLine[cliFlag58],
3382
3506
  source: "cli"
3383
3507
  };
3384
3508
  }
@@ -3389,40 +3513,46 @@ var numberOfSharedAudioTagsOption = {
3389
3513
  },
3390
3514
  setConfig(value2) {
3391
3515
  numberOfSharedAudioTags = value2;
3516
+ configuredNumberOfSharedAudioTags = value2;
3392
3517
  },
3393
- id: cliFlag56
3518
+ getConfigValue: () => configuredNumberOfSharedAudioTags,
3519
+ reset: () => {
3520
+ numberOfSharedAudioTags = 0;
3521
+ configuredNumberOfSharedAudioTags = null;
3522
+ },
3523
+ id: cliFlag58
3394
3524
  };
3395
3525
 
3396
3526
  // src/options/offthreadvideo-cache-size.tsx
3397
- import { jsx as jsx53, jsxs as jsxs37, Fragment as Fragment53 } from "react/jsx-runtime";
3527
+ import { jsx as jsx55, jsxs as jsxs39, Fragment as Fragment55 } from "react/jsx-runtime";
3398
3528
  var offthreadVideoCacheSizeInBytes = null;
3399
- var cliFlag57 = "offthreadvideo-cache-size-in-bytes";
3529
+ var cliFlag59 = "offthreadvideo-cache-size-in-bytes";
3400
3530
  var offthreadVideoCacheSizeInBytesOption = {
3401
3531
  name: "OffthreadVideo cache size",
3402
- cliFlag: cliFlag57,
3403
- description: () => /* @__PURE__ */ jsxs37(Fragment53, {
3532
+ cliFlag: cliFlag59,
3533
+ description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3404
3534
  children: [
3405
3535
  "From v4.0, Remotion has a cache for",
3406
3536
  " ",
3407
- /* @__PURE__ */ jsx53("a", {
3537
+ /* @__PURE__ */ jsx55("a", {
3408
3538
  href: "https://remotion.dev/docs/offthreadvideo",
3409
- children: /* @__PURE__ */ jsx53("code", {
3539
+ children: /* @__PURE__ */ jsx55("code", {
3410
3540
  children: "<OffthreadVideo>"
3411
3541
  })
3412
3542
  }),
3413
3543
  " ",
3414
3544
  "frames. The default is ",
3415
- /* @__PURE__ */ jsx53("code", {
3545
+ /* @__PURE__ */ jsx55("code", {
3416
3546
  children: "null"
3417
3547
  }),
3418
3548
  ", corresponding to half of the system memory available when the render starts.",
3419
- /* @__PURE__ */ jsx53("br", {}),
3549
+ /* @__PURE__ */ jsx55("br", {}),
3420
3550
  " This option allows to override the size of the cache. The higher it is, the faster the render will be, but the more memory will be used.",
3421
- /* @__PURE__ */ jsx53("br", {}),
3551
+ /* @__PURE__ */ jsx55("br", {}),
3422
3552
  "The used value will be printed when running in verbose mode.",
3423
- /* @__PURE__ */ jsx53("br", {}),
3553
+ /* @__PURE__ */ jsx55("br", {}),
3424
3554
  "Default: ",
3425
- /* @__PURE__ */ jsx53("code", {
3555
+ /* @__PURE__ */ jsx55("code", {
3426
3556
  children: "null"
3427
3557
  })
3428
3558
  ]
@@ -3431,10 +3561,10 @@ var offthreadVideoCacheSizeInBytesOption = {
3431
3561
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
3432
3562
  type: 0,
3433
3563
  getValue: ({ commandLine }) => {
3434
- if (commandLine[cliFlag57] !== undefined) {
3564
+ if (commandLine[cliFlag59] !== undefined) {
3435
3565
  return {
3436
3566
  source: "cli",
3437
- value: commandLine[cliFlag57]
3567
+ value: commandLine[cliFlag59]
3438
3568
  };
3439
3569
  }
3440
3570
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -3451,22 +3581,22 @@ var offthreadVideoCacheSizeInBytesOption = {
3451
3581
  setConfig: (size) => {
3452
3582
  offthreadVideoCacheSizeInBytes = size ?? null;
3453
3583
  },
3454
- id: cliFlag57
3584
+ id: cliFlag59
3455
3585
  };
3456
3586
 
3457
3587
  // src/options/offthreadvideo-threads.tsx
3458
- import { jsx as jsx54, jsxs as jsxs38, Fragment as Fragment54 } from "react/jsx-runtime";
3588
+ import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
3459
3589
  var value2 = null;
3460
- var cliFlag58 = "offthreadvideo-video-threads";
3590
+ var cliFlag60 = "offthreadvideo-video-threads";
3461
3591
  var offthreadVideoThreadsOption = {
3462
3592
  name: "OffthreadVideo threads",
3463
- cliFlag: cliFlag58,
3464
- description: () => /* @__PURE__ */ jsxs38(Fragment54, {
3593
+ cliFlag: cliFlag60,
3594
+ description: () => /* @__PURE__ */ jsxs40(Fragment56, {
3465
3595
  children: [
3466
3596
  "The number of threads that",
3467
- /* @__PURE__ */ jsx54("a", {
3597
+ /* @__PURE__ */ jsx56("a", {
3468
3598
  href: "https://remotion.dev/docs/offthreadvideo",
3469
- children: /* @__PURE__ */ jsx54("code", {
3599
+ children: /* @__PURE__ */ jsx56("code", {
3470
3600
  children: "<OffthreadVideo>"
3471
3601
  })
3472
3602
  }),
@@ -3481,10 +3611,10 @@ var offthreadVideoThreadsOption = {
3481
3611
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
3482
3612
  type: 0,
3483
3613
  getValue: ({ commandLine }) => {
3484
- if (commandLine[cliFlag58] !== undefined) {
3614
+ if (commandLine[cliFlag60] !== undefined) {
3485
3615
  return {
3486
3616
  source: "cli",
3487
- value: commandLine[cliFlag58]
3617
+ value: commandLine[cliFlag60]
3488
3618
  };
3489
3619
  }
3490
3620
  if (value2 !== null) {
@@ -3501,21 +3631,21 @@ var offthreadVideoThreadsOption = {
3501
3631
  setConfig: (size) => {
3502
3632
  value2 = size ?? null;
3503
3633
  },
3504
- id: cliFlag58
3634
+ id: cliFlag60
3505
3635
  };
3506
3636
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
3507
3637
 
3508
3638
  // src/options/on-browser-download.tsx
3509
- import { jsx as jsx55, jsxs as jsxs39, Fragment as Fragment55 } from "react/jsx-runtime";
3510
- var cliFlag59 = "on-browser-download";
3639
+ import { jsx as jsx57, jsxs as jsxs41, Fragment as Fragment57 } from "react/jsx-runtime";
3640
+ var cliFlag61 = "on-browser-download";
3511
3641
  var onBrowserDownloadOption = {
3512
3642
  name: "Browser download callback function",
3513
- cliFlag: cliFlag59,
3514
- description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3643
+ cliFlag: cliFlag61,
3644
+ description: () => /* @__PURE__ */ jsxs41(Fragment57, {
3515
3645
  children: [
3516
3646
  "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.",
3517
3647
  " ",
3518
- /* @__PURE__ */ jsx55("a", {
3648
+ /* @__PURE__ */ jsx57("a", {
3519
3649
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
3520
3650
  children: "See here for how to use this option."
3521
3651
  })
@@ -3530,26 +3660,26 @@ var onBrowserDownloadOption = {
3530
3660
  setConfig: () => {
3531
3661
  throw new Error("does not support config file");
3532
3662
  },
3533
- id: cliFlag59
3663
+ id: cliFlag61
3534
3664
  };
3535
3665
 
3536
3666
  // src/options/out-dir.tsx
3537
- import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
3538
- var cliFlag60 = "out-dir";
3667
+ import { jsx as jsx58, jsxs as jsxs42, Fragment as Fragment58 } from "react/jsx-runtime";
3668
+ var cliFlag62 = "out-dir";
3539
3669
  var currentOutDir = null;
3540
3670
  var outDirOption = {
3541
3671
  name: "Output Directory",
3542
- cliFlag: cliFlag60,
3672
+ cliFlag: cliFlag62,
3543
3673
  description: () => {
3544
- return /* @__PURE__ */ jsxs40(Fragment56, {
3674
+ return /* @__PURE__ */ jsxs42(Fragment58, {
3545
3675
  children: [
3546
3676
  "Define the location of the resulting bundle. By default it is a folder called ",
3547
- /* @__PURE__ */ jsx56("code", {
3677
+ /* @__PURE__ */ jsx58("code", {
3548
3678
  children: "build"
3549
3679
  }),
3550
3680
  ", adjacent to the",
3551
3681
  " ",
3552
- /* @__PURE__ */ jsx56("a", {
3682
+ /* @__PURE__ */ jsx58("a", {
3553
3683
  href: "/docs/terminology/remotion-root",
3554
3684
  children: "Remotion Root"
3555
3685
  }),
@@ -3560,10 +3690,10 @@ var outDirOption = {
3560
3690
  ssrName: "outDir",
3561
3691
  docLink: "https://www.remotion.dev/docs/cli/bundle#--out-dir",
3562
3692
  getValue: ({ commandLine }) => {
3563
- if (commandLine[cliFlag60] !== undefined) {
3693
+ if (commandLine[cliFlag62] !== undefined) {
3564
3694
  return {
3565
3695
  source: "cli",
3566
- value: commandLine[cliFlag60]
3696
+ value: commandLine[cliFlag62]
3567
3697
  };
3568
3698
  }
3569
3699
  if (currentOutDir !== null) {
@@ -3581,7 +3711,7 @@ var outDirOption = {
3581
3711
  currentOutDir = value3;
3582
3712
  },
3583
3713
  type: "",
3584
- id: cliFlag60
3714
+ id: cliFlag62
3585
3715
  };
3586
3716
 
3587
3717
  // src/validate.ts
@@ -3591,21 +3721,21 @@ var validateDimension = NoReactInternals3.validateDimension;
3591
3721
  var validateDurationInFrames = NoReactInternals3.validateDurationInFrames;
3592
3722
 
3593
3723
  // src/options/override-duration.tsx
3594
- import { jsx as jsx57, Fragment as Fragment57 } from "react/jsx-runtime";
3724
+ import { jsx as jsx59, Fragment as Fragment59 } from "react/jsx-runtime";
3595
3725
  var currentDuration = null;
3596
- var cliFlag61 = "duration";
3726
+ var cliFlag63 = "duration";
3597
3727
  var overrideDurationOption = {
3598
3728
  name: "Override Duration",
3599
- cliFlag: cliFlag61,
3600
- description: () => /* @__PURE__ */ jsx57(Fragment57, {
3729
+ cliFlag: cliFlag63,
3730
+ description: () => /* @__PURE__ */ jsx59(Fragment59, {
3601
3731
  children: "Overrides the duration in frames of the composition."
3602
3732
  }),
3603
3733
  ssrName: null,
3604
3734
  docLink: "https://www.remotion.dev/docs/config#overrideduration",
3605
3735
  type: null,
3606
3736
  getValue: ({ commandLine }) => {
3607
- if (commandLine[cliFlag61] !== undefined) {
3608
- const value3 = commandLine[cliFlag61];
3737
+ if (commandLine[cliFlag63] !== undefined) {
3738
+ const value3 = commandLine[cliFlag63];
3609
3739
  validateDurationInFrames(value3, {
3610
3740
  component: "in --duration flag",
3611
3741
  allowFloats: false
@@ -3636,25 +3766,25 @@ var overrideDurationOption = {
3636
3766
  reset: () => {
3637
3767
  currentDuration = null;
3638
3768
  },
3639
- id: cliFlag61
3769
+ id: cliFlag63
3640
3770
  };
3641
3771
 
3642
3772
  // src/options/override-fps.tsx
3643
- import { jsx as jsx58, Fragment as Fragment58 } from "react/jsx-runtime";
3773
+ import { jsx as jsx60, Fragment as Fragment60 } from "react/jsx-runtime";
3644
3774
  var currentFps = null;
3645
- var cliFlag62 = "fps";
3775
+ var cliFlag64 = "fps";
3646
3776
  var overrideFpsOption = {
3647
3777
  name: "Override FPS",
3648
- cliFlag: cliFlag62,
3649
- description: () => /* @__PURE__ */ jsx58(Fragment58, {
3778
+ cliFlag: cliFlag64,
3779
+ description: () => /* @__PURE__ */ jsx60(Fragment60, {
3650
3780
  children: "Overrides the frames per second of the composition."
3651
3781
  }),
3652
3782
  ssrName: null,
3653
3783
  docLink: "https://www.remotion.dev/docs/config#overridefps",
3654
3784
  type: null,
3655
3785
  getValue: ({ commandLine }) => {
3656
- if (commandLine[cliFlag62] !== undefined) {
3657
- const value3 = commandLine[cliFlag62];
3786
+ if (commandLine[cliFlag64] !== undefined) {
3787
+ const value3 = commandLine[cliFlag64];
3658
3788
  validateFps(value3, "in --fps flag", false);
3659
3789
  return {
3660
3790
  source: "cli",
@@ -3679,25 +3809,25 @@ var overrideFpsOption = {
3679
3809
  reset: () => {
3680
3810
  currentFps = null;
3681
3811
  },
3682
- id: cliFlag62
3812
+ id: cliFlag64
3683
3813
  };
3684
3814
 
3685
3815
  // src/options/override-height.tsx
3686
- import { jsx as jsx59, Fragment as Fragment59 } from "react/jsx-runtime";
3816
+ import { jsx as jsx61, Fragment as Fragment61 } from "react/jsx-runtime";
3687
3817
  var currentHeight = null;
3688
- var cliFlag63 = "height";
3818
+ var cliFlag65 = "height";
3689
3819
  var overrideHeightOption = {
3690
3820
  name: "Override Height",
3691
- cliFlag: cliFlag63,
3692
- description: () => /* @__PURE__ */ jsx59(Fragment59, {
3821
+ cliFlag: cliFlag65,
3822
+ description: () => /* @__PURE__ */ jsx61(Fragment61, {
3693
3823
  children: "Overrides the height of the composition."
3694
3824
  }),
3695
3825
  ssrName: null,
3696
3826
  docLink: "https://www.remotion.dev/docs/config#overrideheight",
3697
3827
  type: null,
3698
3828
  getValue: ({ commandLine }) => {
3699
- if (commandLine[cliFlag63] !== undefined) {
3700
- const value3 = commandLine[cliFlag63];
3829
+ if (commandLine[cliFlag65] !== undefined) {
3830
+ const value3 = commandLine[cliFlag65];
3701
3831
  validateDimension(value3, "height", "in --height flag");
3702
3832
  return {
3703
3833
  source: "cli",
@@ -3722,25 +3852,25 @@ var overrideHeightOption = {
3722
3852
  reset: () => {
3723
3853
  currentHeight = null;
3724
3854
  },
3725
- id: cliFlag63
3855
+ id: cliFlag65
3726
3856
  };
3727
3857
 
3728
3858
  // src/options/override-width.tsx
3729
- import { jsx as jsx60, Fragment as Fragment60 } from "react/jsx-runtime";
3859
+ import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
3730
3860
  var currentWidth = null;
3731
- var cliFlag64 = "width";
3861
+ var cliFlag66 = "width";
3732
3862
  var overrideWidthOption = {
3733
3863
  name: "Override Width",
3734
- cliFlag: cliFlag64,
3735
- description: () => /* @__PURE__ */ jsx60(Fragment60, {
3864
+ cliFlag: cliFlag66,
3865
+ description: () => /* @__PURE__ */ jsx62(Fragment62, {
3736
3866
  children: "Overrides the width of the composition."
3737
3867
  }),
3738
3868
  ssrName: null,
3739
3869
  docLink: "https://www.remotion.dev/docs/config#overridewidth",
3740
3870
  type: null,
3741
3871
  getValue: ({ commandLine }) => {
3742
- if (commandLine[cliFlag64] !== undefined) {
3743
- const value3 = commandLine[cliFlag64];
3872
+ if (commandLine[cliFlag66] !== undefined) {
3873
+ const value3 = commandLine[cliFlag66];
3744
3874
  validateDimension(value3, "width", "in --width flag");
3745
3875
  return {
3746
3876
  source: "cli",
@@ -3765,13 +3895,13 @@ var overrideWidthOption = {
3765
3895
  reset: () => {
3766
3896
  currentWidth = null;
3767
3897
  },
3768
- id: cliFlag64
3898
+ id: cliFlag66
3769
3899
  };
3770
3900
 
3771
3901
  // src/options/overwrite.tsx
3772
- import { jsx as jsx61, jsxs as jsxs41, Fragment as Fragment61 } from "react/jsx-runtime";
3902
+ import { jsx as jsx63, jsxs as jsxs43, Fragment as Fragment63 } from "react/jsx-runtime";
3773
3903
  var shouldOverwrite = null;
3774
- var cliFlag65 = "overwrite";
3904
+ var cliFlag67 = "overwrite";
3775
3905
  var validate2 = (value3) => {
3776
3906
  if (typeof value3 !== "boolean") {
3777
3907
  throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
@@ -3779,15 +3909,15 @@ var validate2 = (value3) => {
3779
3909
  };
3780
3910
  var overwriteOption = {
3781
3911
  name: "Overwrite output",
3782
- cliFlag: cliFlag65,
3783
- description: () => /* @__PURE__ */ jsxs41(Fragment61, {
3912
+ cliFlag: cliFlag67,
3913
+ description: () => /* @__PURE__ */ jsxs43(Fragment63, {
3784
3914
  children: [
3785
3915
  "If set to ",
3786
- /* @__PURE__ */ jsx61("code", {
3916
+ /* @__PURE__ */ jsx63("code", {
3787
3917
  children: "false"
3788
3918
  }),
3789
3919
  ", will prevent rendering to a path that already exists. Default is ",
3790
- /* @__PURE__ */ jsx61("code", {
3920
+ /* @__PURE__ */ jsx63("code", {
3791
3921
  children: "true"
3792
3922
  }),
3793
3923
  "."
@@ -3797,11 +3927,11 @@ var overwriteOption = {
3797
3927
  docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
3798
3928
  type: false,
3799
3929
  getValue: ({ commandLine }, defaultValue2) => {
3800
- if (commandLine[cliFlag65] !== undefined && commandLine[cliFlag65] !== null) {
3801
- validate2(commandLine[cliFlag65]);
3930
+ if (commandLine[cliFlag67] !== undefined && commandLine[cliFlag67] !== null) {
3931
+ validate2(commandLine[cliFlag67]);
3802
3932
  return {
3803
3933
  source: "cli",
3804
- value: commandLine[cliFlag65]
3934
+ value: commandLine[cliFlag67]
3805
3935
  };
3806
3936
  }
3807
3937
  if (shouldOverwrite !== null) {
@@ -3822,36 +3952,36 @@ var overwriteOption = {
3822
3952
  reset: () => {
3823
3953
  shouldOverwrite = null;
3824
3954
  },
3825
- id: cliFlag65
3955
+ id: cliFlag67
3826
3956
  };
3827
3957
 
3828
3958
  // src/options/package-manager.tsx
3829
- import { jsx as jsx62, jsxs as jsxs42, Fragment as Fragment62 } from "react/jsx-runtime";
3830
- var cliFlag66 = "package-manager";
3959
+ import { jsx as jsx64, jsxs as jsxs44, Fragment as Fragment64 } from "react/jsx-runtime";
3960
+ var cliFlag68 = "package-manager";
3831
3961
  var currentPackageManager = null;
3832
3962
  var packageManagerOption = {
3833
3963
  name: "Package Manager",
3834
- cliFlag: cliFlag66,
3964
+ cliFlag: cliFlag68,
3835
3965
  description: () => {
3836
- return /* @__PURE__ */ jsxs42(Fragment62, {
3966
+ return /* @__PURE__ */ jsxs44(Fragment64, {
3837
3967
  children: [
3838
3968
  "Forces a specific package manager to be used. By default, Remotion will auto-detect the package manager based on your lockfile.",
3839
- /* @__PURE__ */ jsx62("br", {}),
3969
+ /* @__PURE__ */ jsx64("br", {}),
3840
3970
  "Acceptable values are ",
3841
- /* @__PURE__ */ jsx62("code", {
3971
+ /* @__PURE__ */ jsx64("code", {
3842
3972
  children: "npm"
3843
3973
  }),
3844
3974
  ", ",
3845
- /* @__PURE__ */ jsx62("code", {
3975
+ /* @__PURE__ */ jsx64("code", {
3846
3976
  children: "yarn"
3847
3977
  }),
3848
3978
  ",",
3849
3979
  " ",
3850
- /* @__PURE__ */ jsx62("code", {
3980
+ /* @__PURE__ */ jsx64("code", {
3851
3981
  children: "pnpm"
3852
3982
  }),
3853
3983
  " and ",
3854
- /* @__PURE__ */ jsx62("code", {
3984
+ /* @__PURE__ */ jsx64("code", {
3855
3985
  children: "bun"
3856
3986
  }),
3857
3987
  "."
@@ -3861,10 +3991,10 @@ var packageManagerOption = {
3861
3991
  ssrName: "packageManager",
3862
3992
  docLink: "https://www.remotion.dev/docs/cli/upgrade#--package-manager",
3863
3993
  getValue: ({ commandLine }) => {
3864
- if (commandLine[cliFlag66] !== undefined) {
3994
+ if (commandLine[cliFlag68] !== undefined) {
3865
3995
  return {
3866
3996
  source: "cli",
3867
- value: commandLine[cliFlag66]
3997
+ value: commandLine[cliFlag68]
3868
3998
  };
3869
3999
  }
3870
4000
  if (currentPackageManager !== null) {
@@ -3882,7 +4012,7 @@ var packageManagerOption = {
3882
4012
  currentPackageManager = value3;
3883
4013
  },
3884
4014
  type: "",
3885
- id: cliFlag66
4015
+ id: cliFlag68
3886
4016
  };
3887
4017
 
3888
4018
  // src/pixel-format.ts
@@ -3905,17 +4035,17 @@ var validPixelFormatsForCodec = (codec) => {
3905
4035
  };
3906
4036
 
3907
4037
  // src/options/pixel-format.tsx
3908
- import { jsx as jsx63, jsxs as jsxs43, Fragment as Fragment63 } from "react/jsx-runtime";
4038
+ import { jsx as jsx65, jsxs as jsxs45, Fragment as Fragment65 } from "react/jsx-runtime";
3909
4039
  var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
3910
- var cliFlag67 = "pixel-format";
4040
+ var cliFlag69 = "pixel-format";
3911
4041
  var pixelFormatOption = {
3912
4042
  name: "Pixel format",
3913
- cliFlag: cliFlag67,
3914
- description: () => /* @__PURE__ */ jsxs43(Fragment63, {
4043
+ cliFlag: cliFlag69,
4044
+ description: () => /* @__PURE__ */ jsxs45(Fragment65, {
3915
4045
  children: [
3916
4046
  "Sets the pixel format in FFmpeg. See",
3917
4047
  " ",
3918
- /* @__PURE__ */ jsx63("a", {
4048
+ /* @__PURE__ */ jsx65("a", {
3919
4049
  href: "https://trac.ffmpeg.org/wiki/Chroma%20Subsampling",
3920
4050
  children: "the FFmpeg docs for an explanation"
3921
4051
  }),
@@ -3934,10 +4064,10 @@ var pixelFormatOption = {
3934
4064
  value: options.uiPixelFormat
3935
4065
  };
3936
4066
  }
3937
- if (commandLine[cliFlag67] !== undefined) {
4067
+ if (commandLine[cliFlag69] !== undefined) {
3938
4068
  return {
3939
4069
  source: "from --pixel-format flag",
3940
- value: commandLine[cliFlag67]
4070
+ value: commandLine[cliFlag69]
3941
4071
  };
3942
4072
  }
3943
4073
  if (options && options.compositionDefaultPixelFormat !== null) {
@@ -3963,26 +4093,26 @@ var pixelFormatOption = {
3963
4093
  }
3964
4094
  currentPixelFormat = value3;
3965
4095
  },
3966
- id: cliFlag67
4096
+ id: cliFlag69
3967
4097
  };
3968
4098
 
3969
4099
  // src/options/port.tsx
3970
- import { jsx as jsx64, Fragment as Fragment64 } from "react/jsx-runtime";
3971
- var cliFlag68 = "port";
4100
+ import { jsx as jsx66, Fragment as Fragment66 } from "react/jsx-runtime";
4101
+ var cliFlag70 = "port";
3972
4102
  var currentPort = null;
3973
4103
  var portOption = {
3974
4104
  name: "Port",
3975
- cliFlag: cliFlag68,
3976
- description: () => /* @__PURE__ */ jsx64(Fragment64, {
4105
+ cliFlag: cliFlag70,
4106
+ description: () => /* @__PURE__ */ jsx66(Fragment66, {
3977
4107
  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."
3978
4108
  }),
3979
4109
  ssrName: null,
3980
4110
  docLink: "https://www.remotion.dev/docs/config#setstudioport",
3981
4111
  getValue: ({ commandLine }) => {
3982
- if (commandLine[cliFlag68] !== undefined) {
4112
+ if (commandLine[cliFlag70] !== undefined) {
3983
4113
  return {
3984
4114
  source: "cli",
3985
- value: commandLine[cliFlag68]
4115
+ value: commandLine[cliFlag70]
3986
4116
  };
3987
4117
  }
3988
4118
  if (currentPort !== null) {
@@ -4000,25 +4130,25 @@ var portOption = {
4000
4130
  currentPort = value3;
4001
4131
  },
4002
4132
  type: 0,
4003
- id: cliFlag68
4133
+ id: cliFlag70
4004
4134
  };
4005
4135
 
4006
4136
  // src/options/prefer-lossless.tsx
4007
- import { jsx as jsx65, jsxs as jsxs44, Fragment as Fragment65 } from "react/jsx-runtime";
4008
- var cliFlag69 = "prefer-lossless";
4137
+ import { jsx as jsx67, jsxs as jsxs46, Fragment as Fragment67 } from "react/jsx-runtime";
4138
+ var cliFlag71 = "prefer-lossless";
4009
4139
  var input = false;
4010
4140
  var preferLosslessAudioOption = {
4011
4141
  name: "Prefer lossless",
4012
- cliFlag: cliFlag69,
4013
- description: () => /* @__PURE__ */ jsxs44(Fragment65, {
4142
+ cliFlag: cliFlag71,
4143
+ description: () => /* @__PURE__ */ jsxs46(Fragment67, {
4014
4144
  children: [
4015
4145
  "Uses a lossless audio codec, if one is available for the codec. If you set",
4016
- /* @__PURE__ */ jsx65("code", {
4146
+ /* @__PURE__ */ jsx67("code", {
4017
4147
  children: "audioCodec"
4018
4148
  }),
4019
4149
  ", it takes priority over",
4020
4150
  " ",
4021
- /* @__PURE__ */ jsx65("code", {
4151
+ /* @__PURE__ */ jsx67("code", {
4022
4152
  children: "preferLossless"
4023
4153
  }),
4024
4154
  "."
@@ -4028,7 +4158,7 @@ var preferLosslessAudioOption = {
4028
4158
  type: false,
4029
4159
  ssrName: "preferLossless",
4030
4160
  getValue: ({ commandLine }) => {
4031
- if (commandLine[cliFlag69]) {
4161
+ if (commandLine[cliFlag71]) {
4032
4162
  return { value: true, source: "cli" };
4033
4163
  }
4034
4164
  if (input === true) {
@@ -4039,20 +4169,20 @@ var preferLosslessAudioOption = {
4039
4169
  setConfig: (val) => {
4040
4170
  input = val;
4041
4171
  },
4042
- id: cliFlag69
4172
+ id: cliFlag71
4043
4173
  };
4044
4174
 
4045
4175
  // src/options/preview-sample-rate.tsx
4046
- import { jsx as jsx66, jsxs as jsxs45, Fragment as Fragment66 } from "react/jsx-runtime";
4047
- var cliFlag70 = "preview-sample-rate";
4176
+ import { jsx as jsx68, jsxs as jsxs47, Fragment as Fragment68 } from "react/jsx-runtime";
4177
+ var cliFlag72 = "preview-sample-rate";
4048
4178
  var currentPreviewSampleRate = null;
4049
4179
  var previewSampleRateOption = {
4050
4180
  name: "Preview Sample Rate",
4051
- cliFlag: cliFlag70,
4052
- description: () => /* @__PURE__ */ jsxs45(Fragment66, {
4181
+ cliFlag: cliFlag72,
4182
+ description: () => /* @__PURE__ */ jsxs47(Fragment68, {
4053
4183
  children: [
4054
4184
  "Controls the sample rate used for audio playback during preview. When unset, Remotion uses ",
4055
- /* @__PURE__ */ jsx66("code", {
4185
+ /* @__PURE__ */ jsx68("code", {
4056
4186
  children: "48000"
4057
4187
  }),
4058
4188
  " Hz."
@@ -4062,8 +4192,8 @@ var previewSampleRateOption = {
4062
4192
  docLink: "https://www.remotion.dev/docs/config#setpreviewsamplerate",
4063
4193
  type: null,
4064
4194
  getValue: ({ commandLine }) => {
4065
- if (commandLine[cliFlag70] !== undefined) {
4066
- return { value: commandLine[cliFlag70], source: "cli" };
4195
+ if (commandLine[cliFlag72] !== undefined) {
4196
+ return { value: commandLine[cliFlag72], source: "cli" };
4067
4197
  }
4068
4198
  if (currentPreviewSampleRate !== null) {
4069
4199
  return { value: currentPreviewSampleRate, source: "config file" };
@@ -4073,19 +4203,19 @@ var previewSampleRateOption = {
4073
4203
  setConfig: (value3) => {
4074
4204
  currentPreviewSampleRate = value3;
4075
4205
  },
4076
- id: cliFlag70
4206
+ id: cliFlag72
4077
4207
  };
4078
4208
 
4079
4209
  // src/options/props.tsx
4080
- import { jsx as jsx67, jsxs as jsxs46, Fragment as Fragment67 } from "react/jsx-runtime";
4081
- var cliFlag71 = "props";
4210
+ import { jsx as jsx69, jsxs as jsxs48, Fragment as Fragment69 } from "react/jsx-runtime";
4211
+ var cliFlag73 = "props";
4082
4212
  var propsOption = {
4083
4213
  name: "Input Props",
4084
- cliFlag: cliFlag71,
4085
- description: () => /* @__PURE__ */ jsxs46(Fragment67, {
4214
+ cliFlag: cliFlag73,
4215
+ description: () => /* @__PURE__ */ jsxs48(Fragment69, {
4086
4216
  children: [
4087
4217
  "Input Props to pass to the selected composition of your video. Must be a serialized JSON string (",
4088
- /* @__PURE__ */ jsxs46("code", {
4218
+ /* @__PURE__ */ jsxs48("code", {
4089
4219
  children: [
4090
4220
  "--props='",
4091
4221
  "{",
@@ -4095,7 +4225,7 @@ var propsOption = {
4095
4225
  ]
4096
4226
  }),
4097
4227
  ") or a path to a JSON file (",
4098
- /* @__PURE__ */ jsx67("code", {
4228
+ /* @__PURE__ */ jsx69("code", {
4099
4229
  children: "./path/to/props.json"
4100
4230
  }),
4101
4231
  ")."
@@ -4104,10 +4234,10 @@ var propsOption = {
4104
4234
  ssrName: null,
4105
4235
  docLink: "https://www.remotion.dev/docs/passing-props#passing-input-props-in-the-cli",
4106
4236
  getValue: ({ commandLine }) => {
4107
- if (commandLine[cliFlag71] !== undefined) {
4237
+ if (commandLine[cliFlag73] !== undefined) {
4108
4238
  return {
4109
4239
  source: "cli",
4110
- value: commandLine[cliFlag71]
4240
+ value: commandLine[cliFlag73]
4111
4241
  };
4112
4242
  }
4113
4243
  return {
@@ -4119,11 +4249,11 @@ var propsOption = {
4119
4249
  throw new Error("setProps is not supported. Pass --props via the CLI instead.");
4120
4250
  },
4121
4251
  type: "",
4122
- id: cliFlag71
4252
+ id: cliFlag73
4123
4253
  };
4124
4254
 
4125
4255
  // src/options/prores-profile.tsx
4126
- import { jsx as jsx68, jsxs as jsxs47, Fragment as Fragment68 } from "react/jsx-runtime";
4256
+ import { jsx as jsx70, jsxs as jsxs49, Fragment as Fragment70 } from "react/jsx-runtime";
4127
4257
  var validProResProfiles = [
4128
4258
  "4444-xq",
4129
4259
  "4444",
@@ -4133,14 +4263,14 @@ var validProResProfiles = [
4133
4263
  "proxy"
4134
4264
  ];
4135
4265
  var proResProfile;
4136
- var cliFlag72 = "prores-profile";
4266
+ var cliFlag74 = "prores-profile";
4137
4267
  var proResProfileOption = {
4138
4268
  name: "ProRes profile",
4139
- cliFlag: cliFlag72,
4140
- description: () => /* @__PURE__ */ jsxs47(Fragment68, {
4269
+ cliFlag: cliFlag74,
4270
+ description: () => /* @__PURE__ */ jsxs49(Fragment70, {
4141
4271
  children: [
4142
4272
  "Set the ProRes profile. This option is only valid if the codec has been set to ",
4143
- /* @__PURE__ */ jsx68("code", {
4273
+ /* @__PURE__ */ jsx70("code", {
4144
4274
  children: "prores"
4145
4275
  }),
4146
4276
  ". Possible values:",
@@ -4148,12 +4278,12 @@ var proResProfileOption = {
4148
4278
  validProResProfiles.map((p) => `"${p}"`).join(", "),
4149
4279
  ". Default:",
4150
4280
  " ",
4151
- /* @__PURE__ */ jsx68("code", {
4281
+ /* @__PURE__ */ jsx70("code", {
4152
4282
  children: '"hq"'
4153
4283
  }),
4154
4284
  ". See",
4155
4285
  " ",
4156
- /* @__PURE__ */ jsx68("a", {
4286
+ /* @__PURE__ */ jsx70("a", {
4157
4287
  href: "https://video.stackexchange.com/a/14715",
4158
4288
  children: "here"
4159
4289
  }),
@@ -4170,10 +4300,10 @@ var proResProfileOption = {
4170
4300
  value: options.uiProResProfile
4171
4301
  };
4172
4302
  }
4173
- if (commandLine[cliFlag72] !== undefined) {
4303
+ if (commandLine[cliFlag74] !== undefined) {
4174
4304
  return {
4175
4305
  source: "from --prores-profile flag",
4176
- value: String(commandLine[cliFlag72])
4306
+ value: String(commandLine[cliFlag74])
4177
4307
  };
4178
4308
  }
4179
4309
  if (options && options.compositionDefaultProResProfile !== null) {
@@ -4196,24 +4326,24 @@ var proResProfileOption = {
4196
4326
  setConfig: (value3) => {
4197
4327
  proResProfile = value3;
4198
4328
  },
4199
- id: cliFlag72
4329
+ id: cliFlag74
4200
4330
  };
4201
4331
 
4202
4332
  // src/options/public-dir.tsx
4203
- import { jsx as jsx69, jsxs as jsxs48, Fragment as Fragment69 } from "react/jsx-runtime";
4204
- var cliFlag73 = "public-dir";
4333
+ import { jsx as jsx71, jsxs as jsxs50, Fragment as Fragment71 } from "react/jsx-runtime";
4334
+ var cliFlag75 = "public-dir";
4205
4335
  var currentPublicDir = null;
4206
4336
  var publicDirOption = {
4207
4337
  name: "Public Directory",
4208
- cliFlag: cliFlag73,
4338
+ cliFlag: cliFlag75,
4209
4339
  description: () => {
4210
- return /* @__PURE__ */ jsxs48(Fragment69, {
4340
+ return /* @__PURE__ */ jsxs50(Fragment71, {
4211
4341
  children: [
4212
4342
  "Define the location of the",
4213
4343
  " ",
4214
- /* @__PURE__ */ jsx69("a", {
4344
+ /* @__PURE__ */ jsx71("a", {
4215
4345
  href: "/docs/terminology/public-dir",
4216
- children: /* @__PURE__ */ jsx69("code", {
4346
+ children: /* @__PURE__ */ jsx71("code", {
4217
4347
  children: "public/ directory"
4218
4348
  })
4219
4349
  }),
@@ -4224,10 +4354,10 @@ var publicDirOption = {
4224
4354
  ssrName: "publicDir",
4225
4355
  docLink: "https://www.remotion.dev/docs/terminology/public-dir",
4226
4356
  getValue: ({ commandLine }) => {
4227
- if (commandLine[cliFlag73] !== undefined) {
4357
+ if (commandLine[cliFlag75] !== undefined) {
4228
4358
  return {
4229
4359
  source: "cli",
4230
- value: commandLine[cliFlag73]
4360
+ value: commandLine[cliFlag75]
4231
4361
  };
4232
4362
  }
4233
4363
  if (currentPublicDir !== null) {
@@ -4245,20 +4375,20 @@ var publicDirOption = {
4245
4375
  currentPublicDir = value3;
4246
4376
  },
4247
4377
  type: "",
4248
- id: cliFlag73
4378
+ id: cliFlag75
4249
4379
  };
4250
4380
 
4251
4381
  // src/options/public-license-key.tsx
4252
- import { jsx as jsx70, jsxs as jsxs49, Fragment as Fragment70 } from "react/jsx-runtime";
4253
- var cliFlag74 = "public-license-key";
4382
+ import { jsx as jsx72, jsxs as jsxs51, Fragment as Fragment72 } from "react/jsx-runtime";
4383
+ var cliFlag76 = "public-license-key";
4254
4384
  var currentPublicLicenseKey = null;
4255
4385
  var publicLicenseKeyOption = {
4256
4386
  name: "Public License Key",
4257
- cliFlag: cliFlag74,
4258
- description: () => /* @__PURE__ */ jsxs49(Fragment70, {
4387
+ cliFlag: cliFlag76,
4388
+ description: () => /* @__PURE__ */ jsxs51(Fragment72, {
4259
4389
  children: [
4260
4390
  "The public license key for your company license, obtained from the License keys page on ",
4261
- /* @__PURE__ */ jsx70("a", {
4391
+ /* @__PURE__ */ jsx72("a", {
4262
4392
  href: "https://remotion.pro/dashboard",
4263
4393
  children: "remotion.pro"
4264
4394
  }),
@@ -4268,10 +4398,10 @@ var publicLicenseKeyOption = {
4268
4398
  ssrName: "publicLicenseKey",
4269
4399
  docLink: "https://www.remotion.dev/docs/licensing",
4270
4400
  getValue: ({ commandLine }) => {
4271
- if (commandLine[cliFlag74] !== undefined) {
4401
+ if (commandLine[cliFlag76] !== undefined) {
4272
4402
  return {
4273
4403
  source: "cli",
4274
- value: commandLine[cliFlag74]
4404
+ value: commandLine[cliFlag76]
4275
4405
  };
4276
4406
  }
4277
4407
  if (currentPublicLicenseKey !== null) {
@@ -4292,25 +4422,25 @@ var publicLicenseKeyOption = {
4292
4422
  currentPublicLicenseKey = value3;
4293
4423
  },
4294
4424
  type: null,
4295
- id: cliFlag74
4425
+ id: cliFlag76
4296
4426
  };
4297
4427
 
4298
4428
  // src/options/public-path.tsx
4299
- import { jsx as jsx71, jsxs as jsxs50, Fragment as Fragment71 } from "react/jsx-runtime";
4300
- var cliFlag75 = "public-path";
4429
+ import { jsx as jsx73, jsxs as jsxs52, Fragment as Fragment73 } from "react/jsx-runtime";
4430
+ var cliFlag77 = "public-path";
4301
4431
  var currentPublicPath = null;
4302
4432
  var publicPathOption = {
4303
4433
  name: "Public Path",
4304
- cliFlag: cliFlag75,
4434
+ cliFlag: cliFlag77,
4305
4435
  description: () => {
4306
- return /* @__PURE__ */ jsxs50(Fragment71, {
4436
+ return /* @__PURE__ */ jsxs52(Fragment73, {
4307
4437
  children: [
4308
4438
  "The path of the URL where the bundle is going to be hosted. By default it is ",
4309
- /* @__PURE__ */ jsx71("code", {
4439
+ /* @__PURE__ */ jsx73("code", {
4310
4440
  children: "./"
4311
4441
  }),
4312
4442
  ", making the bundle relocatable. Set an absolute path such as ",
4313
- /* @__PURE__ */ jsx71("code", {
4443
+ /* @__PURE__ */ jsx73("code", {
4314
4444
  children: "/sites/my-site/"
4315
4445
  }),
4316
4446
  " to host the bundle at a fixed location."
@@ -4320,10 +4450,10 @@ var publicPathOption = {
4320
4450
  ssrName: "publicPath",
4321
4451
  docLink: "https://www.remotion.dev/docs/renderer",
4322
4452
  getValue: ({ commandLine }) => {
4323
- if (commandLine[cliFlag75] !== undefined) {
4453
+ if (commandLine[cliFlag77] !== undefined) {
4324
4454
  return {
4325
4455
  source: "cli",
4326
- value: commandLine[cliFlag75]
4456
+ value: commandLine[cliFlag77]
4327
4457
  };
4328
4458
  }
4329
4459
  if (currentPublicPath !== null) {
@@ -4341,29 +4471,29 @@ var publicPathOption = {
4341
4471
  currentPublicPath = value3;
4342
4472
  },
4343
4473
  type: "",
4344
- id: cliFlag75
4474
+ id: cliFlag77
4345
4475
  };
4346
4476
 
4347
4477
  // src/options/repro.tsx
4348
- import { jsx as jsx72, Fragment as Fragment72 } from "react/jsx-runtime";
4478
+ import { jsx as jsx74, Fragment as Fragment74 } from "react/jsx-runtime";
4349
4479
  var enableRepro = false;
4350
4480
  var setRepro = (should) => {
4351
4481
  enableRepro = should;
4352
4482
  };
4353
- var cliFlag76 = "repro";
4483
+ var cliFlag78 = "repro";
4354
4484
  var reproOption = {
4355
4485
  name: "Create reproduction",
4356
- cliFlag: cliFlag76,
4357
- description: () => /* @__PURE__ */ jsx72(Fragment72, {
4486
+ cliFlag: cliFlag78,
4487
+ description: () => /* @__PURE__ */ jsx74(Fragment74, {
4358
4488
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
4359
4489
  }),
4360
4490
  ssrName: "repro",
4361
4491
  docLink: "https://www.remotion.dev/docs/render-media#repro",
4362
4492
  type: false,
4363
4493
  getValue: ({ commandLine }) => {
4364
- if (commandLine[cliFlag76] !== undefined && commandLine[cliFlag76] !== null) {
4494
+ if (commandLine[cliFlag78] !== undefined && commandLine[cliFlag78] !== null) {
4365
4495
  return {
4366
- value: commandLine[cliFlag76],
4496
+ value: commandLine[cliFlag78],
4367
4497
  source: "cli"
4368
4498
  };
4369
4499
  }
@@ -4379,26 +4509,27 @@ var reproOption = {
4379
4509
  };
4380
4510
  },
4381
4511
  setConfig: setRepro,
4382
- id: cliFlag76
4512
+ id: cliFlag78
4383
4513
  };
4384
4514
 
4385
4515
  // src/options/rspack.tsx
4386
- import { jsx as jsx73, Fragment as Fragment73 } from "react/jsx-runtime";
4516
+ import { jsx as jsx75, Fragment as Fragment75 } from "react/jsx-runtime";
4387
4517
  var rspackEnabled = false;
4388
- var cliFlag77 = "rspack";
4518
+ var configuredRspackEnabled = null;
4519
+ var cliFlag79 = "rspack";
4389
4520
  var rspackOption = {
4390
4521
  name: "Rspack",
4391
- cliFlag: cliFlag77,
4392
- description: () => /* @__PURE__ */ jsx73(Fragment73, {
4522
+ cliFlag: cliFlag79,
4523
+ description: () => /* @__PURE__ */ jsx75(Fragment75, {
4393
4524
  children: "Uses Rspack instead of Webpack as the bundler for the Studio or bundle."
4394
4525
  }),
4395
4526
  ssrName: null,
4396
4527
  docLink: null,
4397
4528
  type: false,
4398
4529
  getValue: ({ commandLine }) => {
4399
- if (commandLine[cliFlag77] !== undefined && commandLine[cliFlag77] !== null) {
4530
+ if (commandLine[cliFlag79] !== undefined && commandLine[cliFlag79] !== null) {
4400
4531
  return {
4401
- value: commandLine[cliFlag77],
4532
+ value: commandLine[cliFlag79],
4402
4533
  source: "cli"
4403
4534
  };
4404
4535
  }
@@ -4409,22 +4540,28 @@ var rspackOption = {
4409
4540
  },
4410
4541
  setConfig(value3) {
4411
4542
  rspackEnabled = value3;
4543
+ configuredRspackEnabled = value3;
4412
4544
  },
4413
- id: cliFlag77
4545
+ getConfigValue: () => configuredRspackEnabled,
4546
+ reset: () => {
4547
+ rspackEnabled = false;
4548
+ configuredRspackEnabled = null;
4549
+ },
4550
+ id: cliFlag79
4414
4551
  };
4415
4552
 
4416
4553
  // src/options/runs.tsx
4417
- import { jsx as jsx74, jsxs as jsxs51, Fragment as Fragment74 } from "react/jsx-runtime";
4554
+ import { jsx as jsx76, jsxs as jsxs53, Fragment as Fragment76 } from "react/jsx-runtime";
4418
4555
  var DEFAULT_RUNS = 3;
4419
4556
  var currentRuns = DEFAULT_RUNS;
4420
- var cliFlag78 = "runs";
4557
+ var cliFlag80 = "runs";
4421
4558
  var runsOption = {
4422
4559
  name: "Benchmark runs",
4423
- cliFlag: cliFlag78,
4424
- description: () => /* @__PURE__ */ jsxs51(Fragment74, {
4560
+ cliFlag: cliFlag80,
4561
+ description: () => /* @__PURE__ */ jsxs53(Fragment76, {
4425
4562
  children: [
4426
4563
  "Specify how many times the video should be rendered during a benchmark. Default ",
4427
- /* @__PURE__ */ jsx74("code", {
4564
+ /* @__PURE__ */ jsx76("code", {
4428
4565
  children: DEFAULT_RUNS
4429
4566
  }),
4430
4567
  "."
@@ -4434,10 +4571,10 @@ var runsOption = {
4434
4571
  docLink: "https://www.remotion.dev/docs/cli/benchmark#--runs",
4435
4572
  type: DEFAULT_RUNS,
4436
4573
  getValue: ({ commandLine }) => {
4437
- if (commandLine[cliFlag78] !== undefined) {
4438
- const value3 = Number(commandLine[cliFlag78]);
4574
+ if (commandLine[cliFlag80] !== undefined) {
4575
+ const value3 = Number(commandLine[cliFlag80]);
4439
4576
  if (isNaN(value3) || value3 < 1) {
4440
- throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag78]}`);
4577
+ throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag80]}`);
4441
4578
  }
4442
4579
  return { value: value3, source: "cli" };
4443
4580
  }
@@ -4452,21 +4589,21 @@ var runsOption = {
4452
4589
  }
4453
4590
  currentRuns = value3;
4454
4591
  },
4455
- id: cliFlag78
4592
+ id: cliFlag80
4456
4593
  };
4457
4594
 
4458
4595
  // src/options/sample-rate.tsx
4459
- import { jsx as jsx75, jsxs as jsxs52, Fragment as Fragment75 } from "react/jsx-runtime";
4460
- var cliFlag79 = "sample-rate";
4596
+ import { jsx as jsx77, jsxs as jsxs54, Fragment as Fragment77 } from "react/jsx-runtime";
4597
+ var cliFlag81 = "sample-rate";
4461
4598
  var currentSampleRate = 48000;
4462
4599
  var sampleRateOption = {
4463
4600
  name: "Sample Rate",
4464
- cliFlag: cliFlag79,
4465
- description: () => /* @__PURE__ */ jsxs52(Fragment75, {
4601
+ cliFlag: cliFlag81,
4602
+ description: () => /* @__PURE__ */ jsxs54(Fragment77, {
4466
4603
  children: [
4467
4604
  "Controls the sample rate of the output audio. The default is",
4468
4605
  " ",
4469
- /* @__PURE__ */ jsx75("code", {
4606
+ /* @__PURE__ */ jsx77("code", {
4470
4607
  children: "48000"
4471
4608
  }),
4472
4609
  " Hz. Match this to your source audio to avoid resampling artifacts."
@@ -4476,8 +4613,8 @@ var sampleRateOption = {
4476
4613
  docLink: "https://www.remotion.dev/docs/sample-rate",
4477
4614
  type: 48000,
4478
4615
  getValue: ({ commandLine }, compositionSampleRate) => {
4479
- if (commandLine[cliFlag79] !== undefined) {
4480
- return { value: commandLine[cliFlag79], source: "cli" };
4616
+ if (commandLine[cliFlag81] !== undefined) {
4617
+ return { value: commandLine[cliFlag81], source: "cli" };
4481
4618
  }
4482
4619
  if (currentSampleRate !== 48000) {
4483
4620
  return { value: currentSampleRate, source: "config file" };
@@ -4493,13 +4630,13 @@ var sampleRateOption = {
4493
4630
  setConfig: (value3) => {
4494
4631
  currentSampleRate = value3;
4495
4632
  },
4496
- id: cliFlag79
4633
+ id: cliFlag81
4497
4634
  };
4498
4635
 
4499
4636
  // src/options/scale.tsx
4500
- import { jsx as jsx76, jsxs as jsxs53, Fragment as Fragment76 } from "react/jsx-runtime";
4637
+ import { jsx as jsx78, jsxs as jsxs55, Fragment as Fragment78 } from "react/jsx-runtime";
4501
4638
  var currentScale = 1;
4502
- var cliFlag80 = "scale";
4639
+ var cliFlag82 = "scale";
4503
4640
  var validateScale = (value3) => {
4504
4641
  if (typeof value3 !== "number") {
4505
4642
  throw new Error("scale must be a number.");
@@ -4507,15 +4644,15 @@ var validateScale = (value3) => {
4507
4644
  };
4508
4645
  var scaleOption = {
4509
4646
  name: "Scale",
4510
- cliFlag: cliFlag80,
4511
- description: () => /* @__PURE__ */ jsxs53(Fragment76, {
4647
+ cliFlag: cliFlag82,
4648
+ description: () => /* @__PURE__ */ jsxs55(Fragment78, {
4512
4649
  children: [
4513
4650
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
4514
- /* @__PURE__ */ jsx76("code", {
4651
+ /* @__PURE__ */ jsx78("code", {
4515
4652
  children: "1.5"
4516
4653
  }),
4517
4654
  ". See ",
4518
- /* @__PURE__ */ jsx76("a", {
4655
+ /* @__PURE__ */ jsx78("a", {
4519
4656
  href: "https://www.remotion.dev/docs/scaling",
4520
4657
  children: "Scaling"
4521
4658
  }),
@@ -4526,11 +4663,11 @@ var scaleOption = {
4526
4663
  docLink: "https://www.remotion.dev/docs/scaling",
4527
4664
  type: 0,
4528
4665
  getValue: ({ commandLine }) => {
4529
- if (commandLine[cliFlag80] !== undefined) {
4530
- validateScale(commandLine[cliFlag80]);
4666
+ if (commandLine[cliFlag82] !== undefined) {
4667
+ validateScale(commandLine[cliFlag82]);
4531
4668
  return {
4532
4669
  source: "cli",
4533
- value: commandLine[cliFlag80]
4670
+ value: commandLine[cliFlag82]
4534
4671
  };
4535
4672
  }
4536
4673
  if (currentScale !== null) {
@@ -4547,22 +4684,22 @@ var scaleOption = {
4547
4684
  setConfig: (scale) => {
4548
4685
  currentScale = scale;
4549
4686
  },
4550
- id: cliFlag80
4687
+ id: cliFlag82
4551
4688
  };
4552
4689
 
4553
4690
  // src/options/skip-skills.tsx
4554
- import { jsx as jsx77, Fragment as Fragment77 } from "react/jsx-runtime";
4555
- var cliFlag81 = "skip-skills";
4691
+ import { jsx as jsx79, Fragment as Fragment79 } from "react/jsx-runtime";
4692
+ var cliFlag83 = "skip-skills";
4556
4693
  var skipSkillsOption = {
4557
4694
  name: "Skip Skills",
4558
- cliFlag: cliFlag81,
4559
- description: () => /* @__PURE__ */ jsx77(Fragment77, {
4695
+ cliFlag: cliFlag83,
4696
+ description: () => /* @__PURE__ */ jsx79(Fragment79, {
4560
4697
  children: "Do not update installed Remotion Agent Skills while upgrading Remotion."
4561
4698
  }),
4562
4699
  ssrName: null,
4563
4700
  docLink: "https://www.remotion.dev/docs/cli/upgrade#--skip-skills",
4564
4701
  getValue: ({ commandLine }) => {
4565
- if (commandLine[cliFlag81]) {
4702
+ if (commandLine[cliFlag83]) {
4566
4703
  return {
4567
4704
  source: "cli",
4568
4705
  value: true
@@ -4577,13 +4714,13 @@ var skipSkillsOption = {
4577
4714
  throw new Error("Cannot skip updating skills via config file");
4578
4715
  },
4579
4716
  type: false,
4580
- id: cliFlag81
4717
+ id: cliFlag83
4581
4718
  };
4582
4719
 
4583
4720
  // src/options/still-frame.tsx
4584
4721
  import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4585
- import { jsx as jsx78, jsxs as jsxs54, Fragment as Fragment78 } from "react/jsx-runtime";
4586
- var cliFlag82 = "frame";
4722
+ import { jsx as jsx80, jsxs as jsxs56, Fragment as Fragment80 } from "react/jsx-runtime";
4723
+ var cliFlag84 = "frame";
4587
4724
  var currentFrame = null;
4588
4725
  var validate3 = (frame) => {
4589
4726
  NoReactInternals4.validateFrame({
@@ -4594,17 +4731,17 @@ var validate3 = (frame) => {
4594
4731
  };
4595
4732
  var stillFrameOption = {
4596
4733
  name: "Frame",
4597
- cliFlag: cliFlag82,
4598
- description: () => /* @__PURE__ */ jsxs54(Fragment78, {
4734
+ cliFlag: cliFlag84,
4735
+ description: () => /* @__PURE__ */ jsxs56(Fragment80, {
4599
4736
  children: [
4600
4737
  "Which frame should be rendered when rendering a still. Default",
4601
4738
  " ",
4602
- /* @__PURE__ */ jsx78("code", {
4739
+ /* @__PURE__ */ jsx80("code", {
4603
4740
  children: "0"
4604
4741
  }),
4605
4742
  ". From v3.2.27, negative values are allowed, with",
4606
4743
  " ",
4607
- /* @__PURE__ */ jsx78("code", {
4744
+ /* @__PURE__ */ jsx80("code", {
4608
4745
  children: "-1"
4609
4746
  }),
4610
4747
  " being the last frame."
@@ -4613,8 +4750,8 @@ var stillFrameOption = {
4613
4750
  ssrName: "frame",
4614
4751
  docLink: "https://www.remotion.dev/docs/cli/still#--frame",
4615
4752
  getValue: ({ commandLine }) => {
4616
- if (commandLine[cliFlag82] !== undefined) {
4617
- const frame = Number(commandLine[cliFlag82]);
4753
+ if (commandLine[cliFlag84] !== undefined) {
4754
+ const frame = Number(commandLine[cliFlag84]);
4618
4755
  validate3(frame);
4619
4756
  return {
4620
4757
  source: "cli",
@@ -4639,24 +4776,24 @@ var stillFrameOption = {
4639
4776
  currentFrame = value3;
4640
4777
  },
4641
4778
  type: 0,
4642
- id: cliFlag82
4779
+ id: cliFlag84
4643
4780
  };
4644
4781
 
4645
4782
  // src/options/still-image-format.tsx
4646
- import { jsx as jsx79, jsxs as jsxs55, Fragment as Fragment79 } from "react/jsx-runtime";
4783
+ import { jsx as jsx81, jsxs as jsxs57, Fragment as Fragment81 } from "react/jsx-runtime";
4647
4784
  var currentStillImageFormat = null;
4648
- var cliFlag83 = "image-format";
4785
+ var cliFlag85 = "image-format";
4649
4786
  var stillImageFormatOption = {
4650
4787
  name: "Still Image Format",
4651
- cliFlag: cliFlag83,
4652
- description: () => /* @__PURE__ */ jsxs55(Fragment79, {
4788
+ cliFlag: cliFlag85,
4789
+ description: () => /* @__PURE__ */ jsxs57(Fragment81, {
4653
4790
  children: [
4654
4791
  "The image format to use when rendering a still. Must be one of",
4655
4792
  " ",
4656
4793
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
4657
4794
  ". Default:",
4658
4795
  " ",
4659
- /* @__PURE__ */ jsx79("code", {
4796
+ /* @__PURE__ */ jsx81("code", {
4660
4797
  children: '"png"'
4661
4798
  }),
4662
4799
  "."
@@ -4666,8 +4803,8 @@ var stillImageFormatOption = {
4666
4803
  docLink: "https://www.remotion.dev/docs/renderer/render-still#imageformat",
4667
4804
  type: null,
4668
4805
  getValue: ({ commandLine }) => {
4669
- if (commandLine[cliFlag83] !== undefined) {
4670
- const value3 = commandLine[cliFlag83];
4806
+ if (commandLine[cliFlag85] !== undefined) {
4807
+ const value3 = commandLine[cliFlag85];
4671
4808
  if (!validStillImageFormats.includes(value3)) {
4672
4809
  throw new Error(`Invalid still image format: ${value3}. Must be one of: ${validStillImageFormats.join(", ")}`);
4673
4810
  }
@@ -4705,16 +4842,16 @@ var stillImageFormatOption = {
4705
4842
 
4706
4843
  // src/options/throw-if-site-exists.tsx
4707
4844
  var DEFAULT5 = false;
4708
- var cliFlag84 = "throw-if-site-exists";
4845
+ var cliFlag86 = "throw-if-site-exists";
4709
4846
  var throwIfSiteExistsOption = {
4710
- cliFlag: cliFlag84,
4847
+ cliFlag: cliFlag86,
4711
4848
  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.`,
4712
4849
  docLink: "https://remotion.dev/docs/lambda/deploy-site",
4713
4850
  getValue: ({ commandLine }) => {
4714
- if (commandLine[cliFlag84]) {
4851
+ if (commandLine[cliFlag86]) {
4715
4852
  return {
4716
4853
  source: "cli",
4717
- value: commandLine[cliFlag84]
4854
+ value: commandLine[cliFlag86]
4718
4855
  };
4719
4856
  }
4720
4857
  return {
@@ -4728,41 +4865,41 @@ var throwIfSiteExistsOption = {
4728
4865
  },
4729
4866
  ssrName: "throwIfSiteExists",
4730
4867
  type: false,
4731
- id: cliFlag84
4868
+ id: cliFlag86
4732
4869
  };
4733
4870
 
4734
4871
  // src/options/timeout.tsx
4735
- import { jsx as jsx80, jsxs as jsxs56, Fragment as Fragment80 } from "react/jsx-runtime";
4872
+ import { jsx as jsx82, jsxs as jsxs58, Fragment as Fragment82 } from "react/jsx-runtime";
4736
4873
  var currentTimeout = DEFAULT_TIMEOUT;
4737
4874
  var validate4 = (value3) => {
4738
4875
  if (typeof value3 !== "number") {
4739
4876
  throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
4740
4877
  }
4741
4878
  };
4742
- var cliFlag85 = "timeout";
4879
+ var cliFlag87 = "timeout";
4743
4880
  var delayRenderTimeoutInMillisecondsOption = {
4744
4881
  name: "delayRender() timeout",
4745
- cliFlag: cliFlag85,
4746
- description: () => /* @__PURE__ */ jsxs56(Fragment80, {
4882
+ cliFlag: cliFlag87,
4883
+ description: () => /* @__PURE__ */ jsxs58(Fragment82, {
4747
4884
  children: [
4748
4885
  "A number describing how long the render may take to resolve all",
4749
4886
  " ",
4750
- /* @__PURE__ */ jsx80("a", {
4887
+ /* @__PURE__ */ jsx82("a", {
4751
4888
  href: "https://remotion.dev/docs/delay-render",
4752
- children: /* @__PURE__ */ jsx80("code", {
4889
+ children: /* @__PURE__ */ jsx82("code", {
4753
4890
  children: "delayRender()"
4754
4891
  })
4755
4892
  }),
4756
4893
  " ",
4757
4894
  "calls",
4758
4895
  " ",
4759
- /* @__PURE__ */ jsx80("a", {
4896
+ /* @__PURE__ */ jsx82("a", {
4760
4897
  style: { fontSize: "inherit" },
4761
4898
  href: "https://remotion.dev/docs/timeout",
4762
4899
  children: "before it times out"
4763
4900
  }),
4764
4901
  ". Default: ",
4765
- /* @__PURE__ */ jsx80("code", {
4902
+ /* @__PURE__ */ jsx82("code", {
4766
4903
  children: "30000"
4767
4904
  })
4768
4905
  ]
@@ -4771,10 +4908,10 @@ var delayRenderTimeoutInMillisecondsOption = {
4771
4908
  docLink: "https://www.remotion.dev/docs/timeout",
4772
4909
  type: 0,
4773
4910
  getValue: ({ commandLine }) => {
4774
- if (commandLine[cliFlag85] !== undefined) {
4911
+ if (commandLine[cliFlag87] !== undefined) {
4775
4912
  return {
4776
4913
  source: "cli",
4777
- value: commandLine[cliFlag85]
4914
+ value: commandLine[cliFlag87]
4778
4915
  };
4779
4916
  }
4780
4917
  if (currentTimeout !== null) {
@@ -4793,27 +4930,27 @@ var delayRenderTimeoutInMillisecondsOption = {
4793
4930
  validate4(value3);
4794
4931
  currentTimeout = value3;
4795
4932
  },
4796
- id: cliFlag85
4933
+ id: cliFlag87
4797
4934
  };
4798
4935
 
4799
4936
  // src/options/user-agent.tsx
4800
- import { jsx as jsx81, Fragment as Fragment81 } from "react/jsx-runtime";
4937
+ import { jsx as jsx83, Fragment as Fragment83 } from "react/jsx-runtime";
4801
4938
  var userAgent = null;
4802
- var cliFlag86 = "user-agent";
4939
+ var cliFlag88 = "user-agent";
4803
4940
  var userAgentOption = {
4804
4941
  name: "User agent",
4805
- cliFlag: cliFlag86,
4806
- description: () => /* @__PURE__ */ jsx81(Fragment81, {
4942
+ cliFlag: cliFlag88,
4943
+ description: () => /* @__PURE__ */ jsx83(Fragment83, {
4807
4944
  children: "Lets you set a custom user agent that the headless Chrome browser assumes."
4808
4945
  }),
4809
4946
  ssrName: "userAgent",
4810
4947
  docLink: "https://www.remotion.dev/docs/chromium-flags#--user-agent",
4811
4948
  type: null,
4812
4949
  getValue: ({ commandLine }) => {
4813
- if (commandLine[cliFlag86] !== undefined) {
4950
+ if (commandLine[cliFlag88] !== undefined) {
4814
4951
  return {
4815
4952
  source: "cli",
4816
- value: commandLine[cliFlag86]
4953
+ value: commandLine[cliFlag88]
4817
4954
  };
4818
4955
  }
4819
4956
  if (userAgent !== null) {
@@ -4830,25 +4967,25 @@ var userAgentOption = {
4830
4967
  setConfig: (value3) => {
4831
4968
  userAgent = value3;
4832
4969
  },
4833
- id: cliFlag86
4970
+ id: cliFlag88
4834
4971
  };
4835
4972
 
4836
4973
  // src/options/version-flag.tsx
4837
- import { jsx as jsx82, Fragment as Fragment82 } from "react/jsx-runtime";
4838
- var cliFlag87 = "version";
4974
+ import { jsx as jsx84, Fragment as Fragment84 } from "react/jsx-runtime";
4975
+ var cliFlag89 = "version";
4839
4976
  var versionFlagOption = {
4840
4977
  name: "Version",
4841
- cliFlag: cliFlag87,
4842
- description: () => /* @__PURE__ */ jsx82(Fragment82, {
4978
+ cliFlag: cliFlag89,
4979
+ description: () => /* @__PURE__ */ jsx84(Fragment84, {
4843
4980
  children: "Install a specific version. Also enables downgrading to an older version."
4844
4981
  }),
4845
4982
  ssrName: null,
4846
4983
  docLink: "https://www.remotion.dev/docs/cli/upgrade#--version",
4847
4984
  getValue: ({ commandLine }) => {
4848
- if (commandLine[cliFlag87] !== undefined) {
4985
+ if (commandLine[cliFlag89] !== undefined) {
4849
4986
  return {
4850
4987
  source: "cli",
4851
- value: String(commandLine[cliFlag87])
4988
+ value: String(commandLine[cliFlag89])
4852
4989
  };
4853
4990
  }
4854
4991
  return {
@@ -4860,30 +4997,30 @@ var versionFlagOption = {
4860
4997
  throw new Error("Cannot set version via config file");
4861
4998
  },
4862
4999
  type: "",
4863
- id: cliFlag87
5000
+ id: cliFlag89
4864
5001
  };
4865
5002
 
4866
5003
  // src/options/video-bitrate.tsx
4867
- import { jsx as jsx83, jsxs as jsxs57, Fragment as Fragment83 } from "react/jsx-runtime";
5004
+ import { jsx as jsx85, jsxs as jsxs59, Fragment as Fragment85 } from "react/jsx-runtime";
4868
5005
  var videoBitrate = null;
4869
- var cliFlag88 = "video-bitrate";
5006
+ var cliFlag90 = "video-bitrate";
4870
5007
  var videoBitrateOption = {
4871
5008
  name: "Video Bitrate",
4872
- cliFlag: cliFlag88,
4873
- description: () => /* @__PURE__ */ jsxs57(Fragment83, {
5009
+ cliFlag: cliFlag90,
5010
+ description: () => /* @__PURE__ */ jsxs59(Fragment85, {
4874
5011
  children: [
4875
5012
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
4876
5013
  "'",
4877
5014
  "s",
4878
- /* @__PURE__ */ jsx83("code", {
5015
+ /* @__PURE__ */ jsx85("code", {
4879
5016
  children: "-b:v"
4880
5017
  }),
4881
5018
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
4882
- /* @__PURE__ */ jsx83("code", {
5019
+ /* @__PURE__ */ jsx85("code", {
4883
5020
  children: "512K"
4884
5021
  }),
4885
5022
  " for 512 kbps, ",
4886
- /* @__PURE__ */ jsx83("code", {
5023
+ /* @__PURE__ */ jsx85("code", {
4887
5024
  children: "1M"
4888
5025
  }),
4889
5026
  " for 1 Mbps."
@@ -4893,10 +5030,10 @@ var videoBitrateOption = {
4893
5030
  docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
4894
5031
  type: "",
4895
5032
  getValue: ({ commandLine }) => {
4896
- if (commandLine[cliFlag88] !== undefined) {
5033
+ if (commandLine[cliFlag90] !== undefined) {
4897
5034
  return {
4898
5035
  source: "cli",
4899
- value: commandLine[cliFlag88]
5036
+ value: commandLine[cliFlag90]
4900
5037
  };
4901
5038
  }
4902
5039
  if (videoBitrate !== null) {
@@ -4913,34 +5050,34 @@ var videoBitrateOption = {
4913
5050
  setConfig: (bitrate) => {
4914
5051
  videoBitrate = bitrate;
4915
5052
  },
4916
- id: cliFlag88
5053
+ id: cliFlag90
4917
5054
  };
4918
5055
 
4919
5056
  // src/options/video-cache-size.tsx
4920
- import { jsx as jsx84, jsxs as jsxs58, Fragment as Fragment84 } from "react/jsx-runtime";
5057
+ import { jsx as jsx86, jsxs as jsxs60, Fragment as Fragment86 } from "react/jsx-runtime";
4921
5058
  var mediaCacheSizeInBytes = null;
4922
- var cliFlag89 = "media-cache-size-in-bytes";
5059
+ var cliFlag91 = "media-cache-size-in-bytes";
4923
5060
  var mediaCacheSizeInBytesOption = {
4924
5061
  name: "@remotion/media cache size",
4925
- cliFlag: cliFlag89,
4926
- description: () => /* @__PURE__ */ jsxs58(Fragment84, {
5062
+ cliFlag: cliFlag91,
5063
+ description: () => /* @__PURE__ */ jsxs60(Fragment86, {
4927
5064
  children: [
4928
5065
  "Specify the memory budget for decoded media cached by",
4929
5066
  " ",
4930
- /* @__PURE__ */ jsx84("code", {
5067
+ /* @__PURE__ */ jsx86("code", {
4931
5068
  children: "<Video>"
4932
5069
  }),
4933
5070
  " and ",
4934
- /* @__PURE__ */ jsx84("code", {
5071
+ /* @__PURE__ */ jsx86("code", {
4935
5072
  children: "<Audio>"
4936
5073
  }),
4937
5074
  " from",
4938
5075
  " ",
4939
- /* @__PURE__ */ jsx84("code", {
5076
+ /* @__PURE__ */ jsx86("code", {
4940
5077
  children: "@remotion/media"
4941
5078
  }),
4942
5079
  ", 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. ",
4943
- /* @__PURE__ */ jsx84("br", {}),
5080
+ /* @__PURE__ */ jsx86("br", {}),
4944
5081
  "The default is half of the available system memory when the render starts."
4945
5082
  ]
4946
5083
  }),
@@ -4948,10 +5085,10 @@ var mediaCacheSizeInBytesOption = {
4948
5085
  docLink: "https://www.remotion.dev/docs/media/cache",
4949
5086
  type: 0,
4950
5087
  getValue: ({ commandLine }) => {
4951
- if (commandLine[cliFlag89] !== undefined) {
5088
+ if (commandLine[cliFlag91] !== undefined) {
4952
5089
  return {
4953
5090
  source: "cli",
4954
- value: commandLine[cliFlag89]
5091
+ value: commandLine[cliFlag91]
4955
5092
  };
4956
5093
  }
4957
5094
  if (mediaCacheSizeInBytes !== null) {
@@ -4968,7 +5105,7 @@ var mediaCacheSizeInBytesOption = {
4968
5105
  setConfig: (size) => {
4969
5106
  mediaCacheSizeInBytes = size ?? null;
4970
5107
  },
4971
- id: cliFlag89
5108
+ id: cliFlag91
4972
5109
  };
4973
5110
 
4974
5111
  // src/path-normalize.ts
@@ -5087,7 +5224,7 @@ var getExtensionOfFilename = (filename) => {
5087
5224
  };
5088
5225
 
5089
5226
  // src/options/video-codec.tsx
5090
- import { jsx as jsx85, Fragment as Fragment85 } from "react/jsx-runtime";
5227
+ import { jsx as jsx87, Fragment as Fragment87 } from "react/jsx-runtime";
5091
5228
  var codec;
5092
5229
  var setCodec = (newCodec) => {
5093
5230
  if (newCodec === undefined) {
@@ -5111,11 +5248,11 @@ var deriveCodecsFromFilename = (extension) => {
5111
5248
  possible: makeFileExtensionMap()[extension] ?? []
5112
5249
  };
5113
5250
  };
5114
- var cliFlag90 = "codec";
5251
+ var cliFlag92 = "codec";
5115
5252
  var videoCodecOption = {
5116
5253
  name: "Codec",
5117
- cliFlag: cliFlag90,
5118
- description: () => /* @__PURE__ */ jsx85(Fragment85, {
5254
+ cliFlag: cliFlag92,
5255
+ description: () => /* @__PURE__ */ jsx87(Fragment87, {
5119
5256
  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."
5120
5257
  }),
5121
5258
  ssrName: "codec",
@@ -5138,7 +5275,7 @@ var videoCodecOption = {
5138
5275
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
5139
5276
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
5140
5277
  }
5141
- const cliArgument = commandLine[cliFlag90];
5278
+ const cliArgument = commandLine[cliFlag92];
5142
5279
  if (cliArgument) {
5143
5280
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
5144
5281
  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.`);
@@ -5187,24 +5324,24 @@ var videoCodecOption = {
5187
5324
  reset: () => {
5188
5325
  codec = undefined;
5189
5326
  },
5190
- id: cliFlag90
5327
+ id: cliFlag92
5191
5328
  };
5192
5329
 
5193
5330
  // src/options/video-image-format.tsx
5194
- import { jsx as jsx86, jsxs as jsxs59, Fragment as Fragment86 } from "react/jsx-runtime";
5331
+ import { jsx as jsx88, jsxs as jsxs61, Fragment as Fragment88 } from "react/jsx-runtime";
5195
5332
  var currentVideoImageFormat = null;
5196
- var cliFlag91 = "image-format";
5333
+ var cliFlag93 = "image-format";
5197
5334
  var videoImageFormatOption = {
5198
5335
  name: "Video Image Format",
5199
- cliFlag: cliFlag91,
5200
- description: () => /* @__PURE__ */ jsxs59(Fragment86, {
5336
+ cliFlag: cliFlag93,
5337
+ description: () => /* @__PURE__ */ jsxs61(Fragment88, {
5201
5338
  children: [
5202
5339
  "The image format to use when rendering frames for a video. Must be one of",
5203
5340
  " ",
5204
5341
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
5205
5342
  ". Default:",
5206
5343
  " ",
5207
- /* @__PURE__ */ jsx86("code", {
5344
+ /* @__PURE__ */ jsx88("code", {
5208
5345
  children: '"jpeg"'
5209
5346
  }),
5210
5347
  ". JPEG is faster, but does not support transparency."
@@ -5220,8 +5357,8 @@ var videoImageFormatOption = {
5220
5357
  value: options.uiVideoImageFormat
5221
5358
  };
5222
5359
  }
5223
- if (commandLine[cliFlag91] !== undefined) {
5224
- const value3 = commandLine[cliFlag91];
5360
+ if (commandLine[cliFlag93] !== undefined) {
5361
+ const value3 = commandLine[cliFlag93];
5225
5362
  if (!validVideoImageFormats.includes(value3)) {
5226
5363
  throw new Error(`Invalid video image format: ${value3}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5227
5364
  }
@@ -5285,12 +5422,12 @@ var videoImageFormatOption = {
5285
5422
  };
5286
5423
 
5287
5424
  // src/options/webhook-custom-data.tsx
5288
- import { jsxs as jsxs60, Fragment as Fragment87 } from "react/jsx-runtime";
5289
- var cliFlag92 = "webhook-custom-data";
5425
+ import { jsxs as jsxs62, Fragment as Fragment89 } from "react/jsx-runtime";
5426
+ var cliFlag94 = "webhook-custom-data";
5290
5427
  var webhookCustomDataOption = {
5291
5428
  name: "Webhook custom data",
5292
- cliFlag: cliFlag92,
5293
- description: (type) => /* @__PURE__ */ jsxs60(Fragment87, {
5429
+ cliFlag: cliFlag94,
5430
+ description: (type) => /* @__PURE__ */ jsxs62(Fragment89, {
5294
5431
  children: [
5295
5432
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
5296
5433
  " ",
@@ -5306,24 +5443,24 @@ var webhookCustomDataOption = {
5306
5443
  setConfig: () => {
5307
5444
  throw new Error("Not implemented");
5308
5445
  },
5309
- id: cliFlag92
5446
+ id: cliFlag94
5310
5447
  };
5311
5448
 
5312
5449
  // src/options/webpack-poll.tsx
5313
- import { jsx as jsx87, Fragment as Fragment88 } from "react/jsx-runtime";
5314
- var cliFlag93 = "webpack-poll";
5450
+ import { jsx as jsx89, Fragment as Fragment90 } from "react/jsx-runtime";
5451
+ var cliFlag95 = "webpack-poll";
5315
5452
  var webpackPolling = null;
5316
5453
  var webpackPollOption = {
5317
5454
  name: "Webpack Polling",
5318
- cliFlag: cliFlag93,
5319
- description: () => /* @__PURE__ */ jsx87(Fragment88, {
5455
+ cliFlag: cliFlag95,
5456
+ description: () => /* @__PURE__ */ jsx89(Fragment90, {
5320
5457
  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."
5321
5458
  }),
5322
5459
  ssrName: null,
5323
5460
  docLink: "https://www.remotion.dev/docs/config#setwebpackpollinginmilliseconds",
5324
5461
  getValue: ({ commandLine }) => {
5325
- if (commandLine[cliFlag93] !== undefined) {
5326
- const val = commandLine[cliFlag93];
5462
+ if (commandLine[cliFlag95] !== undefined) {
5463
+ const val = commandLine[cliFlag95];
5327
5464
  if (typeof val !== "number") {
5328
5465
  throw new TypeError(`Webpack polling must be a number, got ${JSON.stringify(val)}`);
5329
5466
  }
@@ -5350,11 +5487,11 @@ var webpackPollOption = {
5350
5487
  webpackPolling = value3;
5351
5488
  },
5352
5489
  type: 0,
5353
- id: cliFlag93
5490
+ id: cliFlag95
5354
5491
  };
5355
5492
 
5356
5493
  // src/options/x264-preset.tsx
5357
- import { jsx as jsx88, jsxs as jsxs61, Fragment as Fragment89 } from "react/jsx-runtime";
5494
+ import { jsx as jsx90, jsxs as jsxs63, Fragment as Fragment91 } from "react/jsx-runtime";
5358
5495
  var x264PresetOptions = [
5359
5496
  "ultrafast",
5360
5497
  "superfast",
@@ -5368,63 +5505,63 @@ var x264PresetOptions = [
5368
5505
  "placebo"
5369
5506
  ];
5370
5507
  var preset = null;
5371
- var cliFlag94 = "x264-preset";
5508
+ var cliFlag96 = "x264-preset";
5372
5509
  var DEFAULT_PRESET = "medium";
5373
5510
  var x264Option = {
5374
5511
  name: "x264 Preset",
5375
- cliFlag: cliFlag94,
5376
- description: () => /* @__PURE__ */ jsxs61(Fragment89, {
5512
+ cliFlag: cliFlag96,
5513
+ description: () => /* @__PURE__ */ jsxs63(Fragment91, {
5377
5514
  children: [
5378
5515
  "Sets a x264 preset profile. Only applies to videos rendered with",
5379
5516
  " ",
5380
- /* @__PURE__ */ jsx88("code", {
5517
+ /* @__PURE__ */ jsx90("code", {
5381
5518
  children: "h264"
5382
5519
  }),
5383
5520
  " codec.",
5384
- /* @__PURE__ */ jsx88("br", {}),
5521
+ /* @__PURE__ */ jsx90("br", {}),
5385
5522
  "Possible values: ",
5386
- /* @__PURE__ */ jsx88("code", {
5523
+ /* @__PURE__ */ jsx90("code", {
5387
5524
  children: "superfast"
5388
5525
  }),
5389
5526
  ", ",
5390
- /* @__PURE__ */ jsx88("code", {
5527
+ /* @__PURE__ */ jsx90("code", {
5391
5528
  children: "veryfast"
5392
5529
  }),
5393
5530
  ",",
5394
5531
  " ",
5395
- /* @__PURE__ */ jsx88("code", {
5532
+ /* @__PURE__ */ jsx90("code", {
5396
5533
  children: "faster"
5397
5534
  }),
5398
5535
  ", ",
5399
- /* @__PURE__ */ jsx88("code", {
5536
+ /* @__PURE__ */ jsx90("code", {
5400
5537
  children: "fast"
5401
5538
  }),
5402
5539
  ", ",
5403
- /* @__PURE__ */ jsx88("code", {
5540
+ /* @__PURE__ */ jsx90("code", {
5404
5541
  children: "medium"
5405
5542
  }),
5406
5543
  ",",
5407
5544
  " ",
5408
- /* @__PURE__ */ jsx88("code", {
5545
+ /* @__PURE__ */ jsx90("code", {
5409
5546
  children: "slow"
5410
5547
  }),
5411
5548
  ", ",
5412
- /* @__PURE__ */ jsx88("code", {
5549
+ /* @__PURE__ */ jsx90("code", {
5413
5550
  children: "slower"
5414
5551
  }),
5415
5552
  ", ",
5416
- /* @__PURE__ */ jsx88("code", {
5553
+ /* @__PURE__ */ jsx90("code", {
5417
5554
  children: "veryslow"
5418
5555
  }),
5419
5556
  ",",
5420
5557
  " ",
5421
- /* @__PURE__ */ jsx88("code", {
5558
+ /* @__PURE__ */ jsx90("code", {
5422
5559
  children: "placebo"
5423
5560
  }),
5424
5561
  ".",
5425
- /* @__PURE__ */ jsx88("br", {}),
5562
+ /* @__PURE__ */ jsx90("br", {}),
5426
5563
  "Default: ",
5427
- /* @__PURE__ */ jsx88("code", {
5564
+ /* @__PURE__ */ jsx90("code", {
5428
5565
  children: DEFAULT_PRESET
5429
5566
  })
5430
5567
  ]
@@ -5433,7 +5570,7 @@ var x264Option = {
5433
5570
  docLink: "https://www.remotion.dev/docs/renderer/render-media",
5434
5571
  type: "fast",
5435
5572
  getValue: ({ commandLine }) => {
5436
- const value3 = commandLine[cliFlag94];
5573
+ const value3 = commandLine[cliFlag96];
5437
5574
  if (typeof value3 !== "undefined") {
5438
5575
  return { value: value3, source: "cli" };
5439
5576
  }
@@ -5445,11 +5582,12 @@ var x264Option = {
5445
5582
  setConfig: (profile) => {
5446
5583
  preset = profile;
5447
5584
  },
5448
- id: cliFlag94
5585
+ id: cliFlag96
5449
5586
  };
5450
5587
 
5451
5588
  // src/options/index.tsx
5452
5589
  var allOptions = {
5590
+ allowHtmlInCanvasOption,
5453
5591
  audioCodecOption,
5454
5592
  benchmarkConcurrenciesOption,
5455
5593
  browserExecutableOption,
@@ -5471,6 +5609,7 @@ var allOptions = {
5471
5609
  disableWebSecurityOption,
5472
5610
  disallowParallelEncodingOption,
5473
5611
  folderExpiryOption,
5612
+ enableCancellationOption,
5474
5613
  enableMultiprocessOnLinuxOption,
5475
5614
  glOption,
5476
5615
  gopSizeOption,