@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
@@ -16698,6 +16698,51 @@ var startLongRunningCompositor = ({
16698
16698
  binariesDirectory
16699
16699
  });
16700
16700
  };
16701
+ var makeLazyCompositor = ({
16702
+ maximumFrameCacheItemsInBytes,
16703
+ logLevel,
16704
+ indent,
16705
+ binariesDirectory,
16706
+ extraThreads
16707
+ }) => {
16708
+ let compositor = null;
16709
+ let shutDown = false;
16710
+ const getCompositor = () => {
16711
+ if (shutDown) {
16712
+ throw new Error("Compositor has already been shut down");
16713
+ }
16714
+ if (!compositor) {
16715
+ compositor = startLongRunningCompositor({
16716
+ maximumFrameCacheItemsInBytes,
16717
+ logLevel,
16718
+ indent,
16719
+ binariesDirectory,
16720
+ extraThreads
16721
+ });
16722
+ }
16723
+ return compositor;
16724
+ };
16725
+ return {
16726
+ executeCommand: (type, payload) => {
16727
+ return Promise.resolve().then(() => {
16728
+ return getCompositor().executeCommand(type, payload);
16729
+ });
16730
+ },
16731
+ finishCommands: () => {
16732
+ return compositor?.finishCommands() ?? Promise.resolve();
16733
+ },
16734
+ waitForDone: () => {
16735
+ return compositor?.waitForDone() ?? Promise.resolve();
16736
+ },
16737
+ shutDownOrKill: () => {
16738
+ shutDown = true;
16739
+ return compositor?.shutDownOrKill() ?? Promise.resolve();
16740
+ },
16741
+ get pid() {
16742
+ return compositor?.pid ?? null;
16743
+ }
16744
+ };
16745
+ };
16701
16746
  var startCompositor = ({
16702
16747
  type,
16703
16748
  payload,
@@ -16926,13 +16971,9 @@ var startOffthreadVideoServer = ({
16926
16971
  offthreadVideoThreads
16927
16972
  }) => {
16928
16973
  validateOffthreadVideoCacheSizeInBytes(offthreadVideoCacheSizeInBytes);
16929
- const compositor = startCompositor({
16930
- type: "StartLongRunningProcess",
16931
- payload: {
16932
- concurrency: offthreadVideoThreads,
16933
- maximum_frame_cache_size_in_bytes: offthreadVideoCacheSizeInBytes,
16934
- verbose: isEqualOrBelowLogLevel(logLevel, "verbose")
16935
- },
16974
+ const compositor = makeLazyCompositor({
16975
+ extraThreads: offthreadVideoThreads,
16976
+ maximumFrameCacheItemsInBytes: offthreadVideoCacheSizeInBytes,
16936
16977
  logLevel,
16937
16978
  indent,
16938
16979
  binariesDirectory
@@ -20564,7 +20605,7 @@ var renderFrameWithOptionToReject = async ({
20564
20605
  if (!buffer2) {
20565
20606
  throw new Error("unexpected null buffer");
20566
20607
  }
20567
- onFrameBuffer(buffer2, frame);
20608
+ await onFrameBuffer(buffer2, frame);
20568
20609
  }
20569
20610
  const onlyAvailableAssets = assets.filter(truthy);
20570
20611
  const previousAudioRenderAssets = onlyAvailableAssets.map((a) => a.audioAndVideoAssets).flat(2);
@@ -21372,7 +21413,10 @@ var internalRenderFramesRaw = ({
21372
21413
  });
21373
21414
  })
21374
21415
  ]).then((res) => {
21375
- server?.compositor.executeCommand("CloseAllVideos", {}).then(() => {
21416
+ if (!server || server.compositor.pid === null) {
21417
+ return resolve2(res);
21418
+ }
21419
+ server.compositor.executeCommand("CloseAllVideos", {}).then(() => {
21376
21420
  Log.verbose({ indent, logLevel, tag: "compositor" }, "Freed memory from compositor");
21377
21421
  }).catch((err) => {
21378
21422
  Log.verbose({ indent, logLevel }, "Could not close compositor", err);
@@ -22247,6 +22291,13 @@ var prespawnFfmpeg = (options2) => {
22247
22291
  };
22248
22292
 
22249
22293
  // src/prestitcher-memory-usage.ts
22294
+ var MINIMUM_MEMORY_LEFT = 2000000000;
22295
+ var hasEnoughMemoryForParallelEncoding = ({
22296
+ freeMemory,
22297
+ estimatedUsage
22298
+ }) => {
22299
+ return freeMemory - estimatedUsage > MINIMUM_MEMORY_LEFT;
22300
+ };
22250
22301
  var estimateMemoryUsageForPrestitcher = ({
22251
22302
  width,
22252
22303
  height
@@ -22265,7 +22316,10 @@ var shouldUseParallelEncoding = ({
22265
22316
  height,
22266
22317
  width
22267
22318
  });
22268
- const hasEnoughMemory = freeMemory - estimatedUsage > 2000000000 && estimatedUsage / freeMemory < 0.5;
22319
+ const hasEnoughMemory = hasEnoughMemoryForParallelEncoding({
22320
+ estimatedUsage,
22321
+ freeMemory
22322
+ });
22269
22323
  return {
22270
22324
  hasEnoughMemory,
22271
22325
  freeMemory,
@@ -23775,6 +23829,41 @@ var validateOutputFilename = ({
23775
23829
  }
23776
23830
  };
23777
23831
 
23832
+ // src/write-with-backpressure.ts
23833
+ var writeWithBackpressure = ({
23834
+ data,
23835
+ writable
23836
+ }) => {
23837
+ if (writable.write(data)) {
23838
+ return Promise.resolve();
23839
+ }
23840
+ return new Promise((resolve2, reject) => {
23841
+ const cleanup = () => {
23842
+ writable.off("close", onClose);
23843
+ writable.off("drain", onDrain);
23844
+ writable.off("error", onError);
23845
+ };
23846
+ const onClose = () => {
23847
+ cleanup();
23848
+ reject(new Error("The writable stream closed before it accepted all data."));
23849
+ };
23850
+ const onDrain = () => {
23851
+ cleanup();
23852
+ resolve2();
23853
+ };
23854
+ const onError = (error) => {
23855
+ cleanup();
23856
+ reject(error);
23857
+ };
23858
+ writable.once("close", onClose);
23859
+ writable.once("drain", onDrain);
23860
+ writable.once("error", onError);
23861
+ if (writable.destroyed) {
23862
+ onClose();
23863
+ }
23864
+ });
23865
+ };
23866
+
23778
23867
  // src/render-media.ts
23779
23868
  var SLOWEST_FRAME_COUNT = 10;
23780
23869
  var MAX_RECENT_FRAME_TIMINGS = 150;
@@ -24132,7 +24221,11 @@ var internalRenderMediaRaw = ({
24132
24221
  if (exitStatus?.type === "quit-with-error") {
24133
24222
  throw new Error(`FFmpeg quit with code ${exitStatus.exitCode}${exitStatus.signal ? ` (signal ${exitStatus.signal})` : ""} while piping frame ${frame}. Stderr: ${exitStatus.stderr}`);
24134
24223
  }
24135
- stitcherFfmpeg?.stdin?.write(buffer2);
24224
+ const stdin = stitcherFfmpeg?.stdin;
24225
+ if (!stdin) {
24226
+ throw new Error(`FFmpeg stdin is not available while trying to pipe frame ${frame} to it.`);
24227
+ }
24228
+ await writeWithBackpressure({ data: buffer2, writable: stdin });
24136
24229
  stopPerfMeasure(id);
24137
24230
  const frameIndex = framesToRender.indexOf(frame);
24138
24231
  setFrameToStitch(framesToRender[frameIndex + 1] ?? lastFrameToRender + 1);
package/dist/index.d.ts CHANGED
@@ -588,6 +588,8 @@ export declare const RenderInternals: {
588
588
  source: string;
589
589
  };
590
590
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
591
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
592
+ reset: () => void;
591
593
  type: "error" | "info" | "trace" | "verbose" | "warn";
592
594
  id: "log";
593
595
  };
@@ -707,6 +709,8 @@ export declare const RenderInternals: {
707
709
  source: string;
708
710
  };
709
711
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
712
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
713
+ reset: () => void;
710
714
  type: "error" | "info" | "trace" | "verbose" | "warn";
711
715
  id: "log";
712
716
  };
@@ -822,6 +826,8 @@ export declare const RenderInternals: {
822
826
  source: string;
823
827
  };
824
828
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
829
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
830
+ reset: () => void;
825
831
  type: "error" | "info" | "trace" | "verbose" | "warn";
826
832
  id: "log";
827
833
  };
@@ -971,6 +977,8 @@ export declare const RenderInternals: {
971
977
  source: string;
972
978
  };
973
979
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
980
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
981
+ reset: () => void;
974
982
  type: "error" | "info" | "trace" | "verbose" | "warn";
975
983
  id: "log";
976
984
  };
@@ -1048,7 +1056,7 @@ export declare const RenderInternals: {
1048
1056
  puppeteerInstance: HeadlessBrowser | undefined;
1049
1057
  browserExecutable: import("./browser-executable").BrowserExecutable;
1050
1058
  onBrowserLog: ((log: import("./browser-log").BrowserLog) => void) | null;
1051
- onFrameBuffer: ((buffer: Buffer, frame: number) => void) | null;
1059
+ onFrameBuffer: ((buffer: Buffer, frame: number) => void | Promise<void>) | null;
1052
1060
  onDownload: import(".").RenderMediaOnDownload | null;
1053
1061
  chromiumOptions: import("./open-browser").ChromiumOptions;
1054
1062
  scale: number;
@@ -1172,6 +1180,8 @@ export declare const RenderInternals: {
1172
1180
  source: string;
1173
1181
  };
1174
1182
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
1183
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
1184
+ reset: () => void;
1175
1185
  type: "error" | "info" | "trace" | "verbose" | "warn";
1176
1186
  id: "log";
1177
1187
  };
@@ -1330,6 +1340,8 @@ export declare const RenderInternals: {
1330
1340
  source: string;
1331
1341
  };
1332
1342
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
1343
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
1344
+ reset: () => void;
1333
1345
  type: "error" | "info" | "trace" | "verbose" | "warn";
1334
1346
  id: "log";
1335
1347
  };
@@ -4,7 +4,6 @@ exports.OffthreadVideoServerEmitter = exports.startOffthreadVideoServer = export
4
4
  const node_url_1 = require("node:url");
5
5
  const download_and_map_assets_to_file_1 = require("./assets/download-and-map-assets-to-file");
6
6
  const compositor_1 = require("./compositor/compositor");
7
- const log_level_1 = require("./log-level");
8
7
  const logger_1 = require("./logger");
9
8
  const offthreadvideo_cache_size_1 = require("./options/offthreadvideo-cache-size");
10
9
  const extractUrlAndSourceFromUrl = (url) => {
@@ -38,13 +37,9 @@ exports.extractUrlAndSourceFromUrl = extractUrlAndSourceFromUrl;
38
37
  const REQUEST_CLOSED_TOKEN = 'Request closed';
39
38
  const startOffthreadVideoServer = ({ downloadMap, logLevel, indent, offthreadVideoCacheSizeInBytes, binariesDirectory, offthreadVideoThreads, }) => {
40
39
  (0, offthreadvideo_cache_size_1.validateOffthreadVideoCacheSizeInBytes)(offthreadVideoCacheSizeInBytes);
41
- const compositor = (0, compositor_1.startCompositor)({
42
- type: 'StartLongRunningProcess',
43
- payload: {
44
- concurrency: offthreadVideoThreads,
45
- maximum_frame_cache_size_in_bytes: offthreadVideoCacheSizeInBytes,
46
- verbose: (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose'),
47
- },
40
+ const compositor = (0, compositor_1.makeLazyCompositor)({
41
+ extraThreads: offthreadVideoThreads,
42
+ maximumFrameCacheItemsInBytes: offthreadVideoCacheSizeInBytes,
48
43
  logLevel,
49
44
  indent,
50
45
  binariesDirectory,
@@ -12,5 +12,7 @@ export declare const askAIOption: {
12
12
  source: string;
13
13
  };
14
14
  setConfig(value: boolean): void;
15
+ getConfigValue: () => boolean | null;
16
+ reset: () => void;
15
17
  id: "disable-ask-ai";
16
18
  };
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.askAIOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  let askAIEnabled = true;
6
+ let configuredAskAIEnabled = null;
6
7
  const cliFlag = 'disable-ask-ai';
7
8
  exports.askAIOption = {
8
9
  name: 'Disable or Enable the Ask AI option',
@@ -26,6 +27,12 @@ exports.askAIOption = {
26
27
  },
27
28
  setConfig(value) {
28
29
  askAIEnabled = value;
30
+ configuredAskAIEnabled = value;
31
+ },
32
+ getConfigValue: () => configuredAskAIEnabled,
33
+ reset: () => {
34
+ askAIEnabled = true;
35
+ configuredAskAIEnabled = null;
29
36
  },
30
37
  id: cliFlag,
31
38
  };
@@ -12,5 +12,7 @@ export declare const beepOnFinishOption: {
12
12
  source: string;
13
13
  };
14
14
  setConfig(value: boolean): void;
15
+ getConfigValue: () => boolean | null;
16
+ reset: () => void;
15
17
  id: "beep-on-finish";
16
18
  };
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.beepOnFinishOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  let beepOnFinish = false;
6
+ let configuredBeepOnFinish = null;
6
7
  const cliFlag = 'beep-on-finish';
7
8
  exports.beepOnFinishOption = {
8
9
  name: 'Beep on finish',
@@ -31,6 +32,12 @@ exports.beepOnFinishOption = {
31
32
  },
32
33
  setConfig(value) {
33
34
  beepOnFinish = value;
35
+ configuredBeepOnFinish = value;
36
+ },
37
+ getConfigValue: () => configuredBeepOnFinish,
38
+ reset: () => {
39
+ beepOnFinish = false;
40
+ configuredBeepOnFinish = null;
34
41
  },
35
42
  id: cliFlag,
36
43
  };
@@ -12,5 +12,7 @@ export declare const enableCrossSiteIsolationOption: {
12
12
  source: string;
13
13
  };
14
14
  setConfig(value: boolean): void;
15
+ getConfigValue: () => boolean | null;
16
+ reset: () => void;
15
17
  id: "cross-site-isolation";
16
18
  };
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.enableCrossSiteIsolationOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  let enableCrossSiteIsolation = false;
6
+ let configuredEnableCrossSiteIsolation = null;
6
7
  const cliFlag = 'cross-site-isolation';
7
8
  exports.enableCrossSiteIsolationOption = {
8
9
  name: 'Enable Cross-Site Isolation',
@@ -26,6 +27,12 @@ exports.enableCrossSiteIsolationOption = {
26
27
  },
27
28
  setConfig(value) {
28
29
  enableCrossSiteIsolation = value;
30
+ configuredEnableCrossSiteIsolation = value;
31
+ },
32
+ getConfigValue: () => configuredEnableCrossSiteIsolation,
33
+ reset: () => {
34
+ enableCrossSiteIsolation = false;
35
+ configuredEnableCrossSiteIsolation = null;
29
36
  },
30
37
  id: cliFlag,
31
38
  };
@@ -0,0 +1,16 @@
1
+ export declare const enableCancellationOption: {
2
+ name: string;
3
+ cliFlag: "enable-cancellation";
4
+ description: () => import("react/jsx-runtime").JSX.Element;
5
+ ssrName: null;
6
+ docLink: string;
7
+ type: boolean;
8
+ setConfig: (value: boolean) => void;
9
+ getValue: ({ commandLine }: {
10
+ commandLine: Record<string, unknown>;
11
+ }) => {
12
+ value: boolean;
13
+ source: string;
14
+ };
15
+ id: "enable-cancellation";
16
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enableCancellationOption = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const cliFlag = 'enable-cancellation';
6
+ let enableCancellation = false;
7
+ exports.enableCancellationOption = {
8
+ name: 'Enable cancellation',
9
+ cliFlag,
10
+ description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Allows a Lambda render to be cancelled by pressing Ctrl+C while running", ' ', jsx_runtime_1.jsx("code", { children: "npx remotion lambda render" }),
11
+ ". Enabling cancellation causes each renderer function to poll S3 once per second while it is running."] })),
12
+ ssrName: null,
13
+ docLink: 'https://www.remotion.dev/docs/lambda/cli/render#--enable-cancellation',
14
+ type: false,
15
+ setConfig: (value) => {
16
+ enableCancellation = value;
17
+ },
18
+ getValue: ({ commandLine }) => {
19
+ if (typeof commandLine[cliFlag] === 'boolean') {
20
+ return {
21
+ value: commandLine[cliFlag],
22
+ source: 'cli',
23
+ };
24
+ }
25
+ return {
26
+ value: enableCancellation,
27
+ source: enableCancellation ? 'config' : 'default',
28
+ };
29
+ },
30
+ id: cliFlag,
31
+ };
@@ -1,5 +1,21 @@
1
1
  import type { AnyRemotionOption } from './option';
2
2
  export declare const allOptions: {
3
+ allowHtmlInCanvasOption: {
4
+ name: string;
5
+ cliFlag: "allow-html-in-canvas";
6
+ description: () => import("react/jsx-runtime").JSX.Element;
7
+ ssrName: null;
8
+ docLink: string;
9
+ type: boolean;
10
+ getValue: ({ commandLine }: {
11
+ commandLine: Record<string, unknown>;
12
+ }) => {
13
+ value: boolean;
14
+ source: string;
15
+ };
16
+ setConfig(value: boolean): void;
17
+ id: "allow-html-in-canvas";
18
+ };
3
19
  audioCodecOption: {
4
20
  cliFlag: "audio-codec";
5
21
  setConfig: (audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => void;
@@ -360,6 +376,22 @@ export declare const allOptions: {
360
376
  setConfig: (value: boolean | null) => void;
361
377
  id: "enable-folder-expiry";
362
378
  };
379
+ enableCancellationOption: {
380
+ name: string;
381
+ cliFlag: "enable-cancellation";
382
+ description: () => import("react/jsx-runtime").JSX.Element;
383
+ ssrName: null;
384
+ docLink: string;
385
+ type: boolean;
386
+ setConfig: (value: boolean) => void;
387
+ getValue: ({ commandLine }: {
388
+ commandLine: Record<string, unknown>;
389
+ }) => {
390
+ value: boolean;
391
+ source: string;
392
+ };
393
+ id: "enable-cancellation";
394
+ };
363
395
  enableMultiprocessOnLinuxOption: {
364
396
  name: string;
365
397
  cliFlag: "enable-multiprocess-on-linux";
@@ -476,6 +508,8 @@ export declare const allOptions: {
476
508
  source: string;
477
509
  };
478
510
  setConfig(value: boolean): void;
511
+ getConfigValue: () => boolean | null;
512
+ reset: () => void;
479
513
  id: "beep-on-finish";
480
514
  };
481
515
  numberOfGifLoopsOption: {
@@ -660,6 +694,8 @@ export declare const allOptions: {
660
694
  source: string;
661
695
  };
662
696
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
697
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
698
+ reset: () => void;
663
699
  type: "error" | "info" | "trace" | "verbose" | "warn";
664
700
  id: "log";
665
701
  };
@@ -946,6 +982,8 @@ export declare const allOptions: {
946
982
  source: string;
947
983
  };
948
984
  setConfig: (profile: AudioContextLatencyCategory | null) => void;
985
+ getConfigValue: () => AudioContextLatencyCategory | null;
986
+ reset: () => void;
949
987
  id: "audio-latency-hint";
950
988
  };
951
989
  enableCrossSiteIsolationOption: {
@@ -962,6 +1000,8 @@ export declare const allOptions: {
962
1000
  source: string;
963
1001
  };
964
1002
  setConfig(value: boolean): void;
1003
+ getConfigValue: () => boolean | null;
1004
+ reset: () => void;
965
1005
  id: "cross-site-isolation";
966
1006
  };
967
1007
  ignoreCertificateErrorsOption: {
@@ -1110,6 +1150,8 @@ export declare const allOptions: {
1110
1150
  source: string;
1111
1151
  };
1112
1152
  setConfig(value: boolean): void;
1153
+ getConfigValue: () => boolean | null;
1154
+ reset: () => void;
1113
1155
  id: "disable-ask-ai";
1114
1156
  };
1115
1157
  interactivityOption: {
@@ -1126,6 +1168,8 @@ export declare const allOptions: {
1126
1168
  source: string;
1127
1169
  };
1128
1170
  setConfig(value: boolean): void;
1171
+ getConfigValue: () => boolean | null;
1172
+ reset: () => void;
1129
1173
  id: "disable-interactivity";
1130
1174
  };
1131
1175
  keyboardShortcutsOption: {
@@ -1142,6 +1186,8 @@ export declare const allOptions: {
1142
1186
  source: string;
1143
1187
  };
1144
1188
  setConfig(value: boolean): void;
1189
+ getConfigValue: () => boolean | null;
1190
+ reset: () => void;
1145
1191
  id: "disable-keyboard-shortcuts";
1146
1192
  };
1147
1193
  framesOption: {
@@ -1206,6 +1252,8 @@ export declare const allOptions: {
1206
1252
  source: string;
1207
1253
  };
1208
1254
  setConfig(value: number): void;
1255
+ getConfigValue: () => number | null;
1256
+ reset: () => void;
1209
1257
  id: "number-of-shared-audio-tags";
1210
1258
  };
1211
1259
  ipv4Option: {
@@ -1379,6 +1427,8 @@ export declare const allOptions: {
1379
1427
  source: string;
1380
1428
  };
1381
1429
  setConfig(value: boolean): void;
1430
+ getConfigValue: () => boolean | null;
1431
+ reset: () => void;
1382
1432
  id: "rspack";
1383
1433
  };
1384
1434
  outDirOption: {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.allOptions = void 0;
4
+ const allow_html_in_canvas_1 = require("./allow-html-in-canvas");
4
5
  const api_key_1 = require("./api-key");
5
6
  const ask_ai_1 = require("./ask-ai");
6
7
  const audio_bitrate_1 = require("./audio-bitrate");
@@ -24,6 +25,7 @@ const delete_after_1 = require("./delete-after");
24
25
  const disable_git_source_1 = require("./disable-git-source");
25
26
  const disable_web_security_1 = require("./disable-web-security");
26
27
  const disallow_parallel_encoding_1 = require("./disallow-parallel-encoding");
28
+ const enable_cancellation_1 = require("./enable-cancellation");
27
29
  const enable_lambda_insights_1 = require("./enable-lambda-insights");
28
30
  const enable_multiprocess_on_linux_1 = require("./enable-multiprocess-on-linux");
29
31
  const encoding_buffer_size_1 = require("./encoding-buffer-size");
@@ -96,6 +98,7 @@ const webhook_custom_data_1 = require("./webhook-custom-data");
96
98
  const webpack_poll_1 = require("./webpack-poll");
97
99
  const x264_preset_1 = require("./x264-preset");
98
100
  exports.allOptions = {
101
+ allowHtmlInCanvasOption: allow_html_in_canvas_1.allowHtmlInCanvasOption,
99
102
  audioCodecOption: audio_codec_1.audioCodecOption,
100
103
  benchmarkConcurrenciesOption: benchmark_concurrencies_1.benchmarkConcurrenciesOption,
101
104
  browserExecutableOption: browser_executable_1.browserExecutableOption,
@@ -117,6 +120,7 @@ exports.allOptions = {
117
120
  disableWebSecurityOption: disable_web_security_1.disableWebSecurityOption,
118
121
  disallowParallelEncodingOption: disallow_parallel_encoding_1.disallowParallelEncodingOption,
119
122
  folderExpiryOption: folder_expiry_1.folderExpiryOption,
123
+ enableCancellationOption: enable_cancellation_1.enableCancellationOption,
120
124
  enableMultiprocessOnLinuxOption: enable_multiprocess_on_linux_1.enableMultiprocessOnLinuxOption,
121
125
  glOption: gl_1.glOption,
122
126
  gopSizeOption: gop_size_1.gopSizeOption,
@@ -12,5 +12,7 @@ export declare const interactivityOption: {
12
12
  source: string;
13
13
  };
14
14
  setConfig(value: boolean): void;
15
+ getConfigValue: () => boolean | null;
16
+ reset: () => void;
15
17
  id: "disable-interactivity";
16
18
  };
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.interactivityOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  let interactivityEnabled = true;
6
+ let configuredInteractivityEnabled = null;
6
7
  const cliFlag = 'disable-interactivity';
7
8
  exports.interactivityOption = {
8
9
  name: 'Disable or enable Studio interactivity',
@@ -26,6 +27,12 @@ exports.interactivityOption = {
26
27
  },
27
28
  setConfig(value) {
28
29
  interactivityEnabled = value;
30
+ configuredInteractivityEnabled = value;
31
+ },
32
+ getConfigValue: () => configuredInteractivityEnabled,
33
+ reset: () => {
34
+ interactivityEnabled = true;
35
+ configuredInteractivityEnabled = null;
29
36
  },
30
37
  id: cliFlag,
31
38
  };
@@ -12,5 +12,7 @@ export declare const keyboardShortcutsOption: {
12
12
  source: string;
13
13
  };
14
14
  setConfig(value: boolean): void;
15
+ getConfigValue: () => boolean | null;
16
+ reset: () => void;
15
17
  id: "disable-keyboard-shortcuts";
16
18
  };
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.keyboardShortcutsOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  let keyboardShortcutsEnabled = true;
6
+ let configuredKeyboardShortcutsEnabled = null;
6
7
  const cliFlag = 'disable-keyboard-shortcuts';
7
8
  exports.keyboardShortcutsOption = {
8
9
  name: 'Disable or Enable keyboard shortcuts',
@@ -26,6 +27,12 @@ exports.keyboardShortcutsOption = {
26
27
  },
27
28
  setConfig(value) {
28
29
  keyboardShortcutsEnabled = value;
30
+ configuredKeyboardShortcutsEnabled = value;
31
+ },
32
+ getConfigValue: () => configuredKeyboardShortcutsEnabled,
33
+ reset: () => {
34
+ keyboardShortcutsEnabled = true;
35
+ configuredKeyboardShortcutsEnabled = null;
29
36
  },
30
37
  id: cliFlag,
31
38
  };
@@ -15,5 +15,7 @@ export declare const audioLatencyHintOption: {
15
15
  source: string;
16
16
  };
17
17
  setConfig: (profile: AudioContextLatencyCategory | null) => void;
18
+ getConfigValue: () => AudioContextLatencyCategory | null;
19
+ reset: () => void;
18
20
  id: "audio-latency-hint";
19
21
  };
@@ -33,5 +33,9 @@ exports.audioLatencyHintOption = {
33
33
  setConfig: (profile) => {
34
34
  value = profile;
35
35
  },
36
+ getConfigValue: () => value,
37
+ reset: () => {
38
+ value = null;
39
+ },
36
40
  id: cliFlag,
37
41
  };
@@ -11,6 +11,8 @@ export declare const logLevelOption: {
11
11
  source: string;
12
12
  };
13
13
  setConfig: (newLogLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
14
+ getConfigValue: () => "error" | "info" | "trace" | "verbose" | "warn" | null;
15
+ reset: () => void;
14
16
  type: "error" | "info" | "trace" | "verbose" | "warn";
15
17
  id: "log";
16
18
  };
@@ -4,6 +4,7 @@ exports.logLevelOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const log_level_1 = require("../log-level");
6
6
  let logLevel = 'info';
7
+ let configuredLogLevel = null;
7
8
  const cliFlag = 'log';
8
9
  exports.logLevelOption = {
9
10
  cliFlag,
@@ -42,6 +43,12 @@ exports.logLevelOption = {
42
43
  },
43
44
  setConfig: (newLogLevel) => {
44
45
  logLevel = newLogLevel;
46
+ configuredLogLevel = newLogLevel;
47
+ },
48
+ getConfigValue: () => configuredLogLevel,
49
+ reset: () => {
50
+ logLevel = 'info';
51
+ configuredLogLevel = null;
45
52
  },
46
53
  type: 'error',
47
54
  id: cliFlag,
@@ -12,5 +12,7 @@ export declare const numberOfSharedAudioTagsOption: {
12
12
  source: string;
13
13
  };
14
14
  setConfig(value: number): void;
15
+ getConfigValue: () => number | null;
16
+ reset: () => void;
15
17
  id: "number-of-shared-audio-tags";
16
18
  };