@remotion/renderer 4.0.529 → 4.0.531

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.
@@ -271,6 +271,122 @@ var defaultCodecsForFileExtension = {
271
271
  ts: "h264-ts"
272
272
  };
273
273
 
274
+ // src/path-normalize.ts
275
+ var SLASH = 47;
276
+ var DOT = 46;
277
+ var assertPath = (path) => {
278
+ const t = typeof path;
279
+ if (t !== "string") {
280
+ throw new TypeError(`Expected a string, got a ${t}`);
281
+ }
282
+ };
283
+ var posixNormalize = (path, allowAboveRoot) => {
284
+ let res = "";
285
+ let lastSegmentLength = 0;
286
+ let lastSlash = -1;
287
+ let dots = 0;
288
+ let code;
289
+ for (let i = 0;i <= path.length; ++i) {
290
+ if (i < path.length) {
291
+ code = path.charCodeAt(i);
292
+ } else if (code === SLASH) {
293
+ break;
294
+ } else {
295
+ code = SLASH;
296
+ }
297
+ if (code === SLASH) {
298
+ if (lastSlash === i - 1 || dots === 1) {} else if (lastSlash !== i - 1 && dots === 2) {
299
+ if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== DOT || res.charCodeAt(res.length - 2) !== DOT) {
300
+ if (res.length > 2) {
301
+ const lastSlashIndex = res.lastIndexOf("/");
302
+ if (lastSlashIndex !== res.length - 1) {
303
+ if (lastSlashIndex === -1) {
304
+ res = "";
305
+ lastSegmentLength = 0;
306
+ } else {
307
+ res = res.slice(0, lastSlashIndex);
308
+ lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
309
+ }
310
+ lastSlash = i;
311
+ dots = 0;
312
+ continue;
313
+ }
314
+ } else if (res.length === 2 || res.length === 1) {
315
+ res = "";
316
+ lastSegmentLength = 0;
317
+ lastSlash = i;
318
+ dots = 0;
319
+ continue;
320
+ }
321
+ }
322
+ if (allowAboveRoot) {
323
+ if (res.length > 0) {
324
+ res += "/..";
325
+ } else {
326
+ res = "..";
327
+ }
328
+ lastSegmentLength = 2;
329
+ }
330
+ } else {
331
+ if (res.length > 0) {
332
+ res += "/" + path.slice(lastSlash + 1, i);
333
+ } else {
334
+ res = path.slice(lastSlash + 1, i);
335
+ }
336
+ lastSegmentLength = i - lastSlash - 1;
337
+ }
338
+ lastSlash = i;
339
+ dots = 0;
340
+ } else if (code === DOT && dots !== -1) {
341
+ ++dots;
342
+ } else {
343
+ dots = -1;
344
+ }
345
+ }
346
+ return res;
347
+ };
348
+ var decode = (s) => {
349
+ try {
350
+ return decodeURIComponent(s);
351
+ } catch {
352
+ return s;
353
+ }
354
+ };
355
+ var pathNormalize = (p) => {
356
+ assertPath(p);
357
+ let path = p;
358
+ if (path.length === 0) {
359
+ return ".";
360
+ }
361
+ const isAbsolute = path.charCodeAt(0) === SLASH;
362
+ const trailingSeparator = path.charCodeAt(path.length - 1) === SLASH;
363
+ path = decode(path);
364
+ path = posixNormalize(path, !isAbsolute);
365
+ if (path.length === 0 && !isAbsolute) {
366
+ path = ".";
367
+ }
368
+ if (path.length > 0 && trailingSeparator) {
369
+ path += "/";
370
+ }
371
+ if (isAbsolute) {
372
+ return "/" + path;
373
+ }
374
+ return path;
375
+ };
376
+
377
+ // src/get-extension-of-filename.ts
378
+ var getExtensionOfFilename = (filename) => {
379
+ if (filename === null) {
380
+ return null;
381
+ }
382
+ const segments = pathNormalize(filename).split(/[/\\]/);
383
+ const filenameArr = segments[segments.length - 1].split(".");
384
+ const hasExtension = filenameArr.length >= 2;
385
+ const filenameArrLength = filenameArr.length;
386
+ const extension = hasExtension ? filenameArr[filenameArrLength - 1] : null;
387
+ return extension;
388
+ };
389
+
274
390
  // src/image-format.ts
275
391
  var validVideoImageFormats = ["png", "jpeg", "none"];
276
392
  var validStillImageFormats = ["png", "jpeg", "pdf", "webp"];
@@ -925,20 +1041,59 @@ var bundleCacheOption = {
925
1041
  id: cliFlag12
926
1042
  };
927
1043
 
1044
+ // src/options/canvas-tabs.tsx
1045
+ import { jsx as jsx11, Fragment as Fragment11 } from "react/jsx-runtime";
1046
+ var canvasTabsEnabled = true;
1047
+ var configuredCanvasTabsEnabled = null;
1048
+ var cliFlag13 = "disable-canvas-tabs";
1049
+ var canvasTabsOption = {
1050
+ name: "Disable or enable Studio canvas tabs",
1051
+ cliFlag: cliFlag13,
1052
+ description: () => /* @__PURE__ */ jsx11(Fragment11, {
1053
+ children: "Enable or disable the tabs above the Studio canvas."
1054
+ }),
1055
+ ssrName: null,
1056
+ docLink: "https://www.remotion.dev/docs/config#setcanvastabsenabled",
1057
+ type: false,
1058
+ getValue: ({ commandLine }) => {
1059
+ if (commandLine[cliFlag13] !== undefined && commandLine[cliFlag13] !== null) {
1060
+ canvasTabsEnabled = commandLine[cliFlag13] === false;
1061
+ return {
1062
+ value: canvasTabsEnabled,
1063
+ source: "cli"
1064
+ };
1065
+ }
1066
+ return {
1067
+ value: canvasTabsEnabled,
1068
+ source: "config"
1069
+ };
1070
+ },
1071
+ setConfig(value) {
1072
+ canvasTabsEnabled = value;
1073
+ configuredCanvasTabsEnabled = value;
1074
+ },
1075
+ getConfigValue: () => configuredCanvasTabsEnabled,
1076
+ reset: () => {
1077
+ canvasTabsEnabled = true;
1078
+ configuredCanvasTabsEnabled = null;
1079
+ },
1080
+ id: cliFlag13
1081
+ };
1082
+
928
1083
  // src/options/chrome-mode.tsx
929
- import { jsx as jsx11, jsxs as jsxs8, Fragment as Fragment11 } from "react/jsx-runtime";
1084
+ import { jsx as jsx12, jsxs as jsxs8, Fragment as Fragment12 } from "react/jsx-runtime";
930
1085
  var validChromeModeOptions = [
931
1086
  "headless-shell",
932
1087
  "chrome-for-testing"
933
1088
  ];
934
- var cliFlag13 = "chrome-mode";
1089
+ var cliFlag14 = "chrome-mode";
935
1090
  var configSelection = null;
936
1091
  var chromeModeOption = {
937
- cliFlag: cliFlag13,
1092
+ cliFlag: cliFlag14,
938
1093
  name: "Chrome Mode",
939
1094
  ssrName: "chromeMode",
940
1095
  description: () => {
941
- return /* @__PURE__ */ jsxs8(Fragment11, {
1096
+ return /* @__PURE__ */ jsxs8(Fragment12, {
942
1097
  children: [
943
1098
  "One of",
944
1099
  " ",
@@ -949,7 +1104,7 @@ var chromeModeOption = {
949
1104
  ]
950
1105
  }, option)),
951
1106
  ". Default ",
952
- /* @__PURE__ */ jsx11("code", {
1107
+ /* @__PURE__ */ jsx12("code", {
953
1108
  children: "headless-shell"
954
1109
  }),
955
1110
  ".",
@@ -958,7 +1113,7 @@ var chromeModeOption = {
958
1113
  href: "https://remotion.dev/docs/miscellaneous/chrome-headless-shell",
959
1114
  children: [
960
1115
  "Use ",
961
- /* @__PURE__ */ jsx11("code", {
1116
+ /* @__PURE__ */ jsx12("code", {
962
1117
  children: "chrome-for-testing"
963
1118
  }),
964
1119
  " to take advantage of GPU drivers on Linux."
@@ -969,12 +1124,12 @@ var chromeModeOption = {
969
1124
  },
970
1125
  docLink: "https://www.remotion.dev/chrome-for-testing",
971
1126
  getValue: ({ commandLine }) => {
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(", ")}.`);
1127
+ if (commandLine[cliFlag14]) {
1128
+ if (!validChromeModeOptions.includes(commandLine[cliFlag14])) {
1129
+ throw new Error(`Invalid \`--${cliFlag14}\` value passed. Accepted values: ${validChromeModeOptions.map((l) => `'${l}'`).join(", ")}.`);
975
1130
  }
976
1131
  return {
977
- value: commandLine[cliFlag13],
1132
+ value: commandLine[cliFlag14],
978
1133
  source: "cli"
979
1134
  };
980
1135
  }
@@ -993,22 +1148,22 @@ var chromeModeOption = {
993
1148
  configSelection = newChromeMode;
994
1149
  },
995
1150
  type: "headless-shell",
996
- id: cliFlag13
1151
+ id: cliFlag14
997
1152
  };
998
1153
 
999
1154
  // src/options/color-space.tsx
1000
1155
  import { NoReactInternals } from "remotion/no-react";
1001
- import { jsx as jsx12, jsxs as jsxs9, Fragment as Fragment12 } from "react/jsx-runtime";
1156
+ import { jsx as jsx13, jsxs as jsxs9, Fragment as Fragment13 } from "react/jsx-runtime";
1002
1157
  var validV4ColorSpaces = ["default", "bt601", "bt709", "bt2020-ncl"];
1003
1158
  var validV5ColorSpaces = ["bt601", "bt709", "bt2020-ncl"];
1004
1159
  var validColorSpaces = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? validV5ColorSpaces : validV4ColorSpaces;
1005
1160
  var DEFAULT_COLOR_SPACE = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? "bt709" : "default";
1006
1161
  var colorSpace = DEFAULT_COLOR_SPACE;
1007
- var cliFlag14 = "color-space";
1162
+ var cliFlag15 = "color-space";
1008
1163
  var colorSpaceOption = {
1009
1164
  name: "Color space",
1010
1165
  cliFlag: "color-space",
1011
- description: () => /* @__PURE__ */ jsxs9(Fragment12, {
1166
+ description: () => /* @__PURE__ */ jsxs9(Fragment13, {
1012
1167
  children: [
1013
1168
  "Color space to use for the video. Acceptable values:",
1014
1169
  " ",
@@ -1028,7 +1183,7 @@ var colorSpaceOption = {
1028
1183
  '"',
1029
1184
  ", "
1030
1185
  ]
1031
- }) : /* @__PURE__ */ jsxs9(Fragment12, {
1186
+ }) : /* @__PURE__ */ jsxs9(Fragment13, {
1032
1187
  children: [
1033
1188
  /* @__PURE__ */ jsxs9("code", {
1034
1189
  children: [
@@ -1080,7 +1235,7 @@ var colorSpaceOption = {
1080
1235
  }),
1081
1236
  " ",
1082
1237
  "(since v4.0.88), .",
1083
- /* @__PURE__ */ jsx12("br", {}),
1238
+ /* @__PURE__ */ jsx13("br", {}),
1084
1239
  "For best color accuracy, it is recommended to also use",
1085
1240
  " ",
1086
1241
  /* @__PURE__ */ jsxs9("code", {
@@ -1092,7 +1247,7 @@ var colorSpaceOption = {
1092
1247
  }),
1093
1248
  " ",
1094
1249
  "as the image format to have accurate color transformations throughout.",
1095
- /* @__PURE__ */ jsx12("br", {}),
1250
+ /* @__PURE__ */ jsx13("br", {}),
1096
1251
  "Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."
1097
1252
  ]
1098
1253
  }),
@@ -1100,10 +1255,10 @@ var colorSpaceOption = {
1100
1255
  ssrName: "colorSpace",
1101
1256
  type: DEFAULT_COLOR_SPACE,
1102
1257
  getValue: ({ commandLine }) => {
1103
- if (commandLine[cliFlag14] !== undefined) {
1258
+ if (commandLine[cliFlag15] !== undefined) {
1104
1259
  return {
1105
1260
  source: "cli",
1106
- value: commandLine[cliFlag14]
1261
+ value: commandLine[cliFlag15]
1107
1262
  };
1108
1263
  }
1109
1264
  if (colorSpace !== DEFAULT_COLOR_SPACE) {
@@ -1120,13 +1275,13 @@ var colorSpaceOption = {
1120
1275
  setConfig: (value) => {
1121
1276
  colorSpace = value ?? DEFAULT_COLOR_SPACE;
1122
1277
  },
1123
- id: cliFlag14
1278
+ id: cliFlag15
1124
1279
  };
1125
1280
 
1126
1281
  // src/options/concurrency.tsx
1127
- import { jsx as jsx13, jsxs as jsxs10, Fragment as Fragment13 } from "react/jsx-runtime";
1282
+ import { jsx as jsx14, jsxs as jsxs10, Fragment as Fragment14 } from "react/jsx-runtime";
1128
1283
  var currentConcurrency = null;
1129
- var cliFlag15 = "concurrency";
1284
+ var cliFlag16 = "concurrency";
1130
1285
  var validateConcurrencyValue = (value, setting) => {
1131
1286
  if (typeof value === "undefined" || value === null) {
1132
1287
  return;
@@ -1144,15 +1299,15 @@ var validateConcurrencyValue = (value, setting) => {
1144
1299
  };
1145
1300
  var concurrencyOption = {
1146
1301
  name: "Concurrency",
1147
- cliFlag: cliFlag15,
1148
- description: () => /* @__PURE__ */ jsxs10(Fragment13, {
1302
+ cliFlag: cliFlag16,
1303
+ description: () => /* @__PURE__ */ jsxs10(Fragment14, {
1149
1304
  children: [
1150
1305
  "How many CPU threads to use. Minimum 1. The maximum is the amount of threads you have (In Node.JS ",
1151
- /* @__PURE__ */ jsx13("code", {
1306
+ /* @__PURE__ */ jsx14("code", {
1152
1307
  children: "os.cpus().length"
1153
1308
  }),
1154
1309
  "). You can also provide a percentage value (e.g. ",
1155
- /* @__PURE__ */ jsx13("code", {
1310
+ /* @__PURE__ */ jsx14("code", {
1156
1311
  children: "50%"
1157
1312
  }),
1158
1313
  ")."
@@ -1162,8 +1317,8 @@ var concurrencyOption = {
1162
1317
  docLink: "https://www.remotion.dev/docs/config#setconcurrency",
1163
1318
  type: null,
1164
1319
  getValue: ({ commandLine }) => {
1165
- if (commandLine[cliFlag15] !== undefined) {
1166
- const value = commandLine[cliFlag15];
1320
+ if (commandLine[cliFlag16] !== undefined) {
1321
+ const value = commandLine[cliFlag16];
1167
1322
  validateConcurrencyValue(value, "concurrency");
1168
1323
  return {
1169
1324
  source: "cli",
@@ -1185,25 +1340,25 @@ var concurrencyOption = {
1185
1340
  validateConcurrencyValue(value, "Config.setConcurrency");
1186
1341
  currentConcurrency = value;
1187
1342
  },
1188
- id: cliFlag15
1343
+ id: cliFlag16
1189
1344
  };
1190
1345
 
1191
1346
  // src/options/config.tsx
1192
- import { jsx as jsx14, Fragment as Fragment14 } from "react/jsx-runtime";
1193
- var cliFlag16 = "config";
1347
+ import { jsx as jsx15, Fragment as Fragment15 } from "react/jsx-runtime";
1348
+ var cliFlag17 = "config";
1194
1349
  var configOption = {
1195
1350
  name: "Config file",
1196
- cliFlag: cliFlag16,
1197
- description: () => /* @__PURE__ */ jsx14(Fragment14, {
1351
+ cliFlag: cliFlag17,
1352
+ description: () => /* @__PURE__ */ jsx15(Fragment15, {
1198
1353
  children: "Specify a location for the Remotion config file."
1199
1354
  }),
1200
1355
  ssrName: null,
1201
1356
  docLink: "https://www.remotion.dev/docs/config",
1202
1357
  getValue: ({ commandLine }) => {
1203
- if (commandLine[cliFlag16] !== undefined) {
1358
+ if (commandLine[cliFlag17] !== undefined) {
1204
1359
  return {
1205
1360
  source: "cli",
1206
- value: commandLine[cliFlag16]
1361
+ value: commandLine[cliFlag17]
1207
1362
  };
1208
1363
  }
1209
1364
  return {
@@ -1215,33 +1370,33 @@ var configOption = {
1215
1370
  throw new Error("setConfig is not supported. Pass --config via the CLI instead.");
1216
1371
  },
1217
1372
  type: "",
1218
- id: cliFlag16
1373
+ id: cliFlag17
1219
1374
  };
1220
1375
 
1221
1376
  // src/options/crf.tsx
1222
- import { jsx as jsx15, Fragment as Fragment15 } from "react/jsx-runtime";
1377
+ import { jsx as jsx16, Fragment as Fragment16 } from "react/jsx-runtime";
1223
1378
  var currentCrf;
1224
1379
  var validateCrf = (newCrf) => {
1225
1380
  if (typeof newCrf !== "number" && newCrf !== undefined) {
1226
1381
  throw new TypeError("The CRF must be a number or undefined.");
1227
1382
  }
1228
1383
  };
1229
- var cliFlag17 = "crf";
1384
+ var cliFlag18 = "crf";
1230
1385
  var crfOption = {
1231
1386
  name: "CRF",
1232
- cliFlag: cliFlag17,
1233
- description: () => /* @__PURE__ */ jsx15(Fragment15, {
1387
+ cliFlag: cliFlag18,
1388
+ description: () => /* @__PURE__ */ jsx16(Fragment16, {
1234
1389
  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."
1235
1390
  }),
1236
1391
  ssrName: "crf",
1237
1392
  docLink: "https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting",
1238
1393
  type: 0,
1239
1394
  getValue: ({ commandLine }) => {
1240
- if (commandLine[cliFlag17] !== undefined) {
1241
- validateCrf(commandLine[cliFlag17]);
1395
+ if (commandLine[cliFlag18] !== undefined) {
1396
+ validateCrf(commandLine[cliFlag18]);
1242
1397
  return {
1243
1398
  source: "cli",
1244
- value: commandLine[cliFlag17]
1399
+ value: commandLine[cliFlag18]
1245
1400
  };
1246
1401
  }
1247
1402
  if (currentCrf !== null) {
@@ -1259,22 +1414,22 @@ var crfOption = {
1259
1414
  validateCrf(crf);
1260
1415
  currentCrf = crf;
1261
1416
  },
1262
- id: cliFlag17
1417
+ id: cliFlag18
1263
1418
  };
1264
1419
 
1265
1420
  // src/options/cross-site-isolation.tsx
1266
- import { jsx as jsx16, jsxs as jsxs11, Fragment as Fragment16 } from "react/jsx-runtime";
1421
+ import { jsx as jsx17, jsxs as jsxs11, Fragment as Fragment17 } from "react/jsx-runtime";
1267
1422
  var enableCrossSiteIsolation = false;
1268
1423
  var configuredEnableCrossSiteIsolation = null;
1269
- var cliFlag18 = "cross-site-isolation";
1424
+ var cliFlag19 = "cross-site-isolation";
1270
1425
  var enableCrossSiteIsolationOption = {
1271
1426
  name: "Enable Cross-Site Isolation",
1272
- cliFlag: cliFlag18,
1273
- description: () => /* @__PURE__ */ jsxs11(Fragment16, {
1427
+ cliFlag: cliFlag19,
1428
+ description: () => /* @__PURE__ */ jsxs11(Fragment17, {
1274
1429
  children: [
1275
1430
  "Enable Cross-Site Isolation in the Studio (sets Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy HTTP headers, required for",
1276
1431
  " ",
1277
- /* @__PURE__ */ jsx16("code", {
1432
+ /* @__PURE__ */ jsx17("code", {
1278
1433
  children: "@remotion/whisper-web"
1279
1434
  }),
1280
1435
  ")."
@@ -1284,9 +1439,9 @@ var enableCrossSiteIsolationOption = {
1284
1439
  docLink: "https://www.remotion.dev/docs/config#setenablecrosssiteisolation",
1285
1440
  type: false,
1286
1441
  getValue: ({ commandLine }) => {
1287
- if (commandLine[cliFlag18] !== undefined) {
1442
+ if (commandLine[cliFlag19] !== undefined) {
1288
1443
  return {
1289
- value: commandLine[cliFlag18],
1444
+ value: commandLine[cliFlag19],
1290
1445
  source: "cli"
1291
1446
  };
1292
1447
  }
@@ -1304,22 +1459,22 @@ var enableCrossSiteIsolationOption = {
1304
1459
  enableCrossSiteIsolation = false;
1305
1460
  configuredEnableCrossSiteIsolation = null;
1306
1461
  },
1307
- id: cliFlag18
1462
+ id: cliFlag19
1308
1463
  };
1309
1464
 
1310
1465
  // src/options/dark-mode.tsx
1311
- import { jsx as jsx17, jsxs as jsxs12, Fragment as Fragment17 } from "react/jsx-runtime";
1466
+ import { jsx as jsx18, jsxs as jsxs12, Fragment as Fragment18 } from "react/jsx-runtime";
1312
1467
  var DEFAULT_VALUE = false;
1313
1468
  var darkMode = DEFAULT_VALUE;
1314
- var cliFlag19 = "dark-mode";
1469
+ var cliFlag20 = "dark-mode";
1315
1470
  var darkModeOption = {
1316
1471
  name: "Dark Mode",
1317
- cliFlag: cliFlag19,
1318
- description: () => /* @__PURE__ */ jsxs12(Fragment17, {
1472
+ cliFlag: cliFlag20,
1473
+ description: () => /* @__PURE__ */ jsxs12(Fragment18, {
1319
1474
  children: [
1320
1475
  "Whether Chromium should pretend to be in dark mode by emulating the media feature 'prefers-color-scheme: dark'. Default is",
1321
1476
  " ",
1322
- /* @__PURE__ */ jsx17("code", {
1477
+ /* @__PURE__ */ jsx18("code", {
1323
1478
  children: String(DEFAULT_VALUE)
1324
1479
  }),
1325
1480
  "."
@@ -1329,10 +1484,10 @@ var darkModeOption = {
1329
1484
  docLink: "https://www.remotion.dev/docs/chromium-flags#--dark-mode",
1330
1485
  type: false,
1331
1486
  getValue: ({ commandLine }) => {
1332
- if (commandLine[cliFlag19] !== undefined && commandLine[cliFlag19] !== null) {
1487
+ if (commandLine[cliFlag20] !== undefined && commandLine[cliFlag20] !== null) {
1333
1488
  return {
1334
1489
  source: "cli",
1335
- value: commandLine[cliFlag19]
1490
+ value: commandLine[cliFlag20]
1336
1491
  };
1337
1492
  }
1338
1493
  if (darkMode !== DEFAULT_VALUE) {
@@ -1349,18 +1504,18 @@ var darkModeOption = {
1349
1504
  setConfig: (value) => {
1350
1505
  darkMode = value;
1351
1506
  },
1352
- id: cliFlag19
1507
+ id: cliFlag20
1353
1508
  };
1354
1509
 
1355
1510
  // src/options/default-coding-agent.tsx
1356
- import { jsx as jsx18, jsxs as jsxs13, Fragment as Fragment18 } from "react/jsx-runtime";
1511
+ import { jsx as jsx19, jsxs as jsxs13, Fragment as Fragment19 } from "react/jsx-runtime";
1357
1512
  var defaultCodingAgentIds = [
1358
1513
  "codex",
1359
1514
  "cursor",
1360
1515
  "copilot",
1361
1516
  "claude-code"
1362
1517
  ];
1363
- var cliFlag20 = "coding-agent";
1518
+ var cliFlag21 = "coding-agent";
1364
1519
  var defaultCodingAgent = null;
1365
1520
  var validateDefaultCodingAgent = (value, source) => {
1366
1521
  if (value === null) {
@@ -1373,12 +1528,12 @@ var validateDefaultCodingAgent = (value, source) => {
1373
1528
  };
1374
1529
  var defaultCodingAgentOption = {
1375
1530
  name: "Default coding agent",
1376
- cliFlag: cliFlag20,
1377
- description: () => /* @__PURE__ */ jsxs13(Fragment18, {
1531
+ cliFlag: cliFlag21,
1532
+ description: () => /* @__PURE__ */ jsxs13(Fragment19, {
1378
1533
  children: [
1379
1534
  "Set the default coding agent for Remotion Studio. Available coding agents:",
1380
1535
  " ",
1381
- /* @__PURE__ */ jsx18("code", {
1536
+ /* @__PURE__ */ jsx19("code", {
1382
1537
  children: defaultCodingAgentIds.join(", ")
1383
1538
  }),
1384
1539
  "."
@@ -1388,10 +1543,10 @@ var defaultCodingAgentOption = {
1388
1543
  docLink: "https://www.remotion.dev/docs/config#setdefaultcodingagent",
1389
1544
  type: null,
1390
1545
  getValue: ({ commandLine }) => {
1391
- const cliValue = commandLine[cliFlag20];
1546
+ const cliValue = commandLine[cliFlag21];
1392
1547
  if (cliValue !== undefined && cliValue !== null) {
1393
1548
  return {
1394
- value: validateDefaultCodingAgent(cliValue, `--${cliFlag20}`),
1549
+ value: validateDefaultCodingAgent(cliValue, `--${cliFlag21}`),
1395
1550
  source: "cli"
1396
1551
  };
1397
1552
  }
@@ -1403,11 +1558,11 @@ var defaultCodingAgentOption = {
1403
1558
  setConfig(value) {
1404
1559
  defaultCodingAgent = validateDefaultCodingAgent(value, "Config.setDefaultCodingAgent()");
1405
1560
  },
1406
- id: cliFlag20
1561
+ id: cliFlag21
1407
1562
  };
1408
1563
 
1409
1564
  // src/options/default-editor.tsx
1410
- import { jsx as jsx19, jsxs as jsxs14, Fragment as Fragment19 } from "react/jsx-runtime";
1565
+ import { jsx as jsx20, jsxs as jsxs14, Fragment as Fragment20 } from "react/jsx-runtime";
1411
1566
  var defaultEditorIds = [
1412
1567
  "vscode",
1413
1568
  "cursor",
@@ -1420,7 +1575,7 @@ var defaultEditorIds = [
1420
1575
  var customEditorTargetPathPlaceholder = "%TARGET_PATH%";
1421
1576
  var customEditorLineNumberPlaceholder = "%LINE_NUMBER%";
1422
1577
  var customEditorColumnNumberPlaceholder = "%COLUMN_NUMBER%";
1423
- var cliFlag21 = "editor";
1578
+ var cliFlag22 = "editor";
1424
1579
  var defaultEditor = null;
1425
1580
  var validateBuiltInEditor = (value, source) => {
1426
1581
  if (typeof value !== "string" || !defaultEditorIds.includes(value)) {
@@ -1458,11 +1613,11 @@ var validateDefaultEditor = (value, source) => {
1458
1613
  };
1459
1614
  var defaultEditorOption = {
1460
1615
  name: "Default editor",
1461
- cliFlag: cliFlag21,
1462
- description: () => /* @__PURE__ */ jsxs14(Fragment19, {
1616
+ cliFlag: cliFlag22,
1617
+ description: () => /* @__PURE__ */ jsxs14(Fragment20, {
1463
1618
  children: [
1464
1619
  "Set the default editor for opening files from Remotion Studio. Available editors: ",
1465
- /* @__PURE__ */ jsx19("code", {
1620
+ /* @__PURE__ */ jsx20("code", {
1466
1621
  children: defaultEditorIds.join(", ")
1467
1622
  }),
1468
1623
  "."
@@ -1472,10 +1627,10 @@ var defaultEditorOption = {
1472
1627
  docLink: "https://www.remotion.dev/docs/studio/open-in-editor",
1473
1628
  type: null,
1474
1629
  getValue: ({ commandLine }) => {
1475
- const cliValue = commandLine[cliFlag21];
1630
+ const cliValue = commandLine[cliFlag22];
1476
1631
  if (cliValue !== undefined && cliValue !== null) {
1477
1632
  return {
1478
- value: validateBuiltInEditor(cliValue, `--${cliFlag21}`),
1633
+ value: validateBuiltInEditor(cliValue, `--${cliFlag22}`),
1479
1634
  source: "cli"
1480
1635
  };
1481
1636
  }
@@ -1487,41 +1642,41 @@ var defaultEditorOption = {
1487
1642
  setConfig(value) {
1488
1643
  defaultEditor = validateDefaultEditor(value, "Config.setDefaultEditor()");
1489
1644
  },
1490
- id: cliFlag21
1645
+ id: cliFlag22
1491
1646
  };
1492
1647
 
1493
1648
  // src/options/delete-after.tsx
1494
- import { jsx as jsx20, jsxs as jsxs15, Fragment as Fragment20 } from "react/jsx-runtime";
1495
- var cliFlag22 = "delete-after";
1649
+ import { jsx as jsx21, jsxs as jsxs15, Fragment as Fragment21 } from "react/jsx-runtime";
1650
+ var cliFlag23 = "delete-after";
1496
1651
  var deleteAfter = null;
1497
1652
  var deleteAfterOption = {
1498
1653
  name: "Lambda render expiration",
1499
- cliFlag: cliFlag22,
1654
+ cliFlag: cliFlag23,
1500
1655
  description: () => {
1501
- return /* @__PURE__ */ jsxs15(Fragment20, {
1656
+ return /* @__PURE__ */ jsxs15(Fragment21, {
1502
1657
  children: [
1503
1658
  "Automatically delete the render after a certain period. Accepted values are ",
1504
- /* @__PURE__ */ jsx20("code", {
1659
+ /* @__PURE__ */ jsx21("code", {
1505
1660
  children: "1-day"
1506
1661
  }),
1507
1662
  ", ",
1508
- /* @__PURE__ */ jsx20("code", {
1663
+ /* @__PURE__ */ jsx21("code", {
1509
1664
  children: "3-days"
1510
1665
  }),
1511
1666
  ", ",
1512
- /* @__PURE__ */ jsx20("code", {
1667
+ /* @__PURE__ */ jsx21("code", {
1513
1668
  children: "7-days"
1514
1669
  }),
1515
1670
  " and",
1516
1671
  " ",
1517
- /* @__PURE__ */ jsx20("code", {
1672
+ /* @__PURE__ */ jsx21("code", {
1518
1673
  children: "30-days"
1519
1674
  }),
1520
1675
  ".",
1521
- /* @__PURE__ */ jsx20("br", {}),
1676
+ /* @__PURE__ */ jsx21("br", {}),
1522
1677
  " For this to work, your bucket needs to have",
1523
1678
  " ",
1524
- /* @__PURE__ */ jsx20("a", {
1679
+ /* @__PURE__ */ jsx21("a", {
1525
1680
  href: "/docs/lambda/autodelete",
1526
1681
  children: "lifecycles enabled"
1527
1682
  }),
@@ -1533,10 +1688,10 @@ var deleteAfterOption = {
1533
1688
  docLink: "https://www.remotion.dev/docs/lambda/autodelete",
1534
1689
  type: "1-day",
1535
1690
  getValue: ({ commandLine }) => {
1536
- if (commandLine[cliFlag22] !== undefined) {
1691
+ if (commandLine[cliFlag23] !== undefined) {
1537
1692
  return {
1538
1693
  source: "cli",
1539
- value: commandLine[cliFlag22]
1694
+ value: commandLine[cliFlag23]
1540
1695
  };
1541
1696
  }
1542
1697
  if (deleteAfter !== null) {
@@ -1553,21 +1708,21 @@ var deleteAfterOption = {
1553
1708
  setConfig: (value) => {
1554
1709
  deleteAfter = value;
1555
1710
  },
1556
- id: cliFlag22
1711
+ id: cliFlag23
1557
1712
  };
1558
1713
 
1559
1714
  // src/options/disable-git-source.tsx
1560
1715
  var DEFAULT2 = false;
1561
- var cliFlag23 = "disable-git-source";
1716
+ var cliFlag24 = "disable-git-source";
1562
1717
  var disableGitSourceOption = {
1563
- cliFlag: cliFlag23,
1718
+ cliFlag: cliFlag24,
1564
1719
  description: () => `Disables the Git Source being connected to the Remotion Studio. Clicking on stack traces and certain menu items will be disabled.`,
1565
1720
  docLink: "https://remotion.dev/docs/bundle",
1566
1721
  getValue: ({ commandLine }) => {
1567
- if (commandLine[cliFlag23]) {
1722
+ if (commandLine[cliFlag24]) {
1568
1723
  return {
1569
1724
  source: "cli",
1570
- value: commandLine[cliFlag23]
1725
+ value: commandLine[cliFlag24]
1571
1726
  };
1572
1727
  }
1573
1728
  return {
@@ -1581,27 +1736,27 @@ var disableGitSourceOption = {
1581
1736
  },
1582
1737
  ssrName: "disableGitSource",
1583
1738
  type: false,
1584
- id: cliFlag23
1739
+ id: cliFlag24
1585
1740
  };
1586
1741
 
1587
1742
  // src/options/disable-web-security.tsx
1588
- import { jsx as jsx21, Fragment as Fragment21 } from "react/jsx-runtime";
1743
+ import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
1589
1744
  var disableWebSecurity = false;
1590
- var cliFlag24 = "disable-web-security";
1745
+ var cliFlag25 = "disable-web-security";
1591
1746
  var disableWebSecurityOption = {
1592
1747
  name: "Disable web security",
1593
- cliFlag: cliFlag24,
1594
- description: () => /* @__PURE__ */ jsx21(Fragment21, {
1748
+ cliFlag: cliFlag25,
1749
+ description: () => /* @__PURE__ */ jsx22(Fragment22, {
1595
1750
  children: "This will most notably disable CORS in Chrome among other security features."
1596
1751
  }),
1597
1752
  ssrName: "disableWebSecurity",
1598
1753
  docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-web-security",
1599
1754
  type: false,
1600
1755
  getValue: ({ commandLine }) => {
1601
- if (commandLine[cliFlag24] !== undefined && commandLine[cliFlag24] !== null) {
1756
+ if (commandLine[cliFlag25] !== undefined && commandLine[cliFlag25] !== null) {
1602
1757
  return {
1603
1758
  source: "cli",
1604
- value: Boolean(commandLine[cliFlag24])
1759
+ value: Boolean(commandLine[cliFlag25])
1605
1760
  };
1606
1761
  }
1607
1762
  if (disableWebSecurity) {
@@ -1618,26 +1773,26 @@ var disableWebSecurityOption = {
1618
1773
  setConfig: (value) => {
1619
1774
  disableWebSecurity = value;
1620
1775
  },
1621
- id: cliFlag24
1776
+ id: cliFlag25
1622
1777
  };
1623
1778
 
1624
1779
  // src/options/disallow-parallel-encoding.tsx
1625
- import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
1780
+ import { jsx as jsx23, Fragment as Fragment23 } from "react/jsx-runtime";
1626
1781
  var disallowParallelEncoding = false;
1627
- var cliFlag25 = "disallow-parallel-encoding";
1782
+ var cliFlag26 = "disallow-parallel-encoding";
1628
1783
  var disallowParallelEncodingOption = {
1629
1784
  name: "Disallow parallel encoding",
1630
- cliFlag: cliFlag25,
1631
- description: () => /* @__PURE__ */ jsx22(Fragment22, {
1785
+ cliFlag: cliFlag26,
1786
+ description: () => /* @__PURE__ */ jsx23(Fragment23, {
1632
1787
  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."
1633
1788
  }),
1634
1789
  ssrName: "disallowParallelEncoding",
1635
1790
  docLink: "https://www.remotion.dev/docs/config#setdisallowparallelencoding",
1636
1791
  type: false,
1637
1792
  getValue: ({ commandLine }) => {
1638
- if (commandLine[cliFlag25] !== undefined && commandLine[cliFlag25] !== null) {
1793
+ if (commandLine[cliFlag26] !== undefined && commandLine[cliFlag26] !== null) {
1639
1794
  return {
1640
- value: commandLine[cliFlag25],
1795
+ value: commandLine[cliFlag26],
1641
1796
  source: "cli"
1642
1797
  };
1643
1798
  }
@@ -1655,21 +1810,21 @@ var disallowParallelEncodingOption = {
1655
1810
  setConfig(value) {
1656
1811
  disallowParallelEncoding = value;
1657
1812
  },
1658
- id: cliFlag25
1813
+ id: cliFlag26
1659
1814
  };
1660
1815
 
1661
1816
  // 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";
1817
+ import { jsx as jsx24, jsxs as jsxs16, Fragment as Fragment24 } from "react/jsx-runtime";
1818
+ var cliFlag27 = "enable-cancellation";
1664
1819
  var enableCancellation = false;
1665
1820
  var enableCancellationOption = {
1666
1821
  name: "Enable cancellation",
1667
- cliFlag: cliFlag26,
1668
- description: () => /* @__PURE__ */ jsxs16(Fragment23, {
1822
+ cliFlag: cliFlag27,
1823
+ description: () => /* @__PURE__ */ jsxs16(Fragment24, {
1669
1824
  children: [
1670
1825
  "Allows a Lambda render to be cancelled by pressing Ctrl+C while running",
1671
1826
  " ",
1672
- /* @__PURE__ */ jsx23("code", {
1827
+ /* @__PURE__ */ jsx24("code", {
1673
1828
  children: "npx remotion lambda render"
1674
1829
  }),
1675
1830
  ". Enabling cancellation causes each renderer function to poll S3 once per second while it is running."
@@ -1682,9 +1837,9 @@ var enableCancellationOption = {
1682
1837
  enableCancellation = value;
1683
1838
  },
1684
1839
  getValue: ({ commandLine }) => {
1685
- if (typeof commandLine[cliFlag26] === "boolean") {
1840
+ if (typeof commandLine[cliFlag27] === "boolean") {
1686
1841
  return {
1687
- value: commandLine[cliFlag26],
1842
+ value: commandLine[cliFlag27],
1688
1843
  source: "cli"
1689
1844
  };
1690
1845
  }
@@ -1693,21 +1848,21 @@ var enableCancellationOption = {
1693
1848
  source: enableCancellation ? "config" : "default"
1694
1849
  };
1695
1850
  },
1696
- id: cliFlag26
1851
+ id: cliFlag27
1697
1852
  };
1698
1853
 
1699
1854
  // src/options/enable-lambda-insights.tsx
1700
- import { jsx as jsx24, jsxs as jsxs17, Fragment as Fragment24 } from "react/jsx-runtime";
1701
- var cliFlag27 = "enable-lambda-insights";
1855
+ import { jsx as jsx25, jsxs as jsxs17, Fragment as Fragment25 } from "react/jsx-runtime";
1856
+ var cliFlag28 = "enable-lambda-insights";
1702
1857
  var option = false;
1703
1858
  var enableLambdaInsights = {
1704
1859
  name: "Enable Lambda Insights",
1705
- cliFlag: cliFlag27,
1706
- description: () => /* @__PURE__ */ jsxs17(Fragment24, {
1860
+ cliFlag: cliFlag28,
1861
+ description: () => /* @__PURE__ */ jsxs17(Fragment25, {
1707
1862
  children: [
1708
1863
  "Enable",
1709
1864
  " ",
1710
- /* @__PURE__ */ jsx24("a", {
1865
+ /* @__PURE__ */ jsx25("a", {
1711
1866
  href: "https://remotion.dev/docs/lambda/insights",
1712
1867
  children: "Lambda Insights in AWS CloudWatch"
1713
1868
  }),
@@ -1721,9 +1876,9 @@ var enableLambdaInsights = {
1721
1876
  option = value;
1722
1877
  },
1723
1878
  getValue: ({ commandLine }) => {
1724
- if (commandLine[cliFlag27] !== undefined) {
1879
+ if (commandLine[cliFlag28] !== undefined) {
1725
1880
  return {
1726
- value: commandLine[cliFlag27],
1881
+ value: commandLine[cliFlag28],
1727
1882
  source: "cli"
1728
1883
  };
1729
1884
  }
@@ -1738,41 +1893,41 @@ var enableLambdaInsights = {
1738
1893
  source: "default"
1739
1894
  };
1740
1895
  },
1741
- id: cliFlag27
1896
+ id: cliFlag28
1742
1897
  };
1743
1898
 
1744
1899
  // src/options/enable-multiprocess-on-linux.tsx
1745
- import { jsx as jsx25, jsxs as jsxs18, Fragment as Fragment25 } from "react/jsx-runtime";
1900
+ import { jsx as jsx26, jsxs as jsxs18, Fragment as Fragment26 } from "react/jsx-runtime";
1746
1901
  var DEFAULT_VALUE2 = true;
1747
1902
  var multiProcessOnLinux = DEFAULT_VALUE2;
1748
- var cliFlag28 = "enable-multiprocess-on-linux";
1903
+ var cliFlag29 = "enable-multiprocess-on-linux";
1749
1904
  var enableMultiprocessOnLinuxOption = {
1750
1905
  name: "Enable Multiprocess on Linux",
1751
- cliFlag: cliFlag28,
1752
- description: () => /* @__PURE__ */ jsxs18(Fragment25, {
1906
+ cliFlag: cliFlag29,
1907
+ description: () => /* @__PURE__ */ jsxs18(Fragment26, {
1753
1908
  children: [
1754
1909
  "Removes the ",
1755
- /* @__PURE__ */ jsx25("code", {
1910
+ /* @__PURE__ */ jsx26("code", {
1756
1911
  children: "--single-process"
1757
1912
  }),
1758
1913
  " 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.",
1759
- /* @__PURE__ */ jsx25("br", {}),
1914
+ /* @__PURE__ */ jsx26("br", {}),
1760
1915
  "Default: ",
1761
- /* @__PURE__ */ jsx25("code", {
1916
+ /* @__PURE__ */ jsx26("code", {
1762
1917
  children: "false"
1763
1918
  }),
1764
1919
  " until v4.0.136, then ",
1765
- /* @__PURE__ */ jsx25("code", {
1920
+ /* @__PURE__ */ jsx26("code", {
1766
1921
  children: "true"
1767
1922
  }),
1768
1923
  " from v4.0.137 on because newer Chrome versions ",
1769
1924
  "don't",
1770
1925
  " allow rendering with the ",
1771
- /* @__PURE__ */ jsx25("code", {
1926
+ /* @__PURE__ */ jsx26("code", {
1772
1927
  children: "--single-process"
1773
1928
  }),
1774
1929
  " flag. ",
1775
- /* @__PURE__ */ jsx25("br", {}),
1930
+ /* @__PURE__ */ jsx26("br", {}),
1776
1931
  "This flag will be removed in Remotion v5.0."
1777
1932
  ]
1778
1933
  }),
@@ -1780,10 +1935,10 @@ var enableMultiprocessOnLinuxOption = {
1780
1935
  docLink: "https://www.remotion.dev/docs/chromium-flags",
1781
1936
  type: false,
1782
1937
  getValue: ({ commandLine }) => {
1783
- if (commandLine[cliFlag28] !== undefined) {
1938
+ if (commandLine[cliFlag29] !== undefined) {
1784
1939
  return {
1785
1940
  source: "cli",
1786
- value: commandLine[cliFlag28]
1941
+ value: commandLine[cliFlag29]
1787
1942
  };
1788
1943
  }
1789
1944
  if (multiProcessOnLinux !== false) {
@@ -1800,35 +1955,35 @@ var enableMultiprocessOnLinuxOption = {
1800
1955
  setConfig: (value) => {
1801
1956
  multiProcessOnLinux = value;
1802
1957
  },
1803
- id: cliFlag28
1958
+ id: cliFlag29
1804
1959
  };
1805
1960
 
1806
1961
  // src/options/encoding-buffer-size.tsx
1807
- import { jsx as jsx26, jsxs as jsxs19, Fragment as Fragment26 } from "react/jsx-runtime";
1962
+ import { jsx as jsx27, jsxs as jsxs19, Fragment as Fragment27 } from "react/jsx-runtime";
1808
1963
  var encodingBufferSize = null;
1809
1964
  var setEncodingBufferSize = (bitrate) => {
1810
1965
  encodingBufferSize = bitrate;
1811
1966
  };
1812
- var cliFlag29 = "buffer-size";
1967
+ var cliFlag30 = "buffer-size";
1813
1968
  var encodingBufferSizeOption = {
1814
1969
  name: "FFmpeg -bufsize flag",
1815
- cliFlag: cliFlag29,
1816
- description: () => /* @__PURE__ */ jsxs19(Fragment26, {
1970
+ cliFlag: cliFlag30,
1971
+ description: () => /* @__PURE__ */ jsxs19(Fragment27, {
1817
1972
  children: [
1818
1973
  "The value for the ",
1819
- /* @__PURE__ */ jsx26("code", {
1974
+ /* @__PURE__ */ jsx27("code", {
1820
1975
  children: "-bufsize"
1821
1976
  }),
1822
- " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag."
1977
+ " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag. With the VP8, VP9 and AV1 codecs, a video bitrate must also be set."
1823
1978
  ]
1824
1979
  }),
1825
1980
  ssrName: "encodingBufferSize",
1826
1981
  docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingbuffersize",
1827
1982
  type: "",
1828
1983
  getValue: ({ commandLine }) => {
1829
- if (commandLine[cliFlag29] !== undefined) {
1984
+ if (commandLine[cliFlag30] !== undefined) {
1830
1985
  return {
1831
- value: commandLine[cliFlag29],
1986
+ value: commandLine[cliFlag30],
1832
1987
  source: "cli"
1833
1988
  };
1834
1989
  }
@@ -1844,32 +1999,32 @@ var encodingBufferSizeOption = {
1844
1999
  };
1845
2000
  },
1846
2001
  setConfig: setEncodingBufferSize,
1847
- id: cliFlag29
2002
+ id: cliFlag30
1848
2003
  };
1849
2004
 
1850
2005
  // src/options/encoding-max-rate.tsx
1851
- import { jsx as jsx27, jsxs as jsxs20, Fragment as Fragment27 } from "react/jsx-runtime";
2006
+ import { jsx as jsx28, jsxs as jsxs20, Fragment as Fragment28 } from "react/jsx-runtime";
1852
2007
  var encodingMaxRate = null;
1853
- var cliFlag30 = "max-rate";
2008
+ var cliFlag31 = "max-rate";
1854
2009
  var encodingMaxRateOption = {
1855
2010
  name: "FFmpeg -maxrate flag",
1856
- cliFlag: cliFlag30,
1857
- description: () => /* @__PURE__ */ jsxs20(Fragment27, {
2011
+ cliFlag: cliFlag31,
2012
+ description: () => /* @__PURE__ */ jsxs20(Fragment28, {
1858
2013
  children: [
1859
2014
  "The value for the ",
1860
- /* @__PURE__ */ jsx27("code", {
2015
+ /* @__PURE__ */ jsx28("code", {
1861
2016
  children: "-maxrate"
1862
2017
  }),
1863
- " flag of FFmpeg. Should be used in conjunction with the encoding buffer size flag."
2018
+ " flag of FFmpeg. Should be used in conjunction with the encoding buffer size flag. With the VP8, VP9 and AV1 codecs, a video bitrate must also be set."
1864
2019
  ]
1865
2020
  }),
1866
2021
  ssrName: "encodingMaxRate",
1867
2022
  docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingmaxrate",
1868
2023
  type: "",
1869
2024
  getValue: ({ commandLine }) => {
1870
- if (commandLine[cliFlag30] !== undefined) {
2025
+ if (commandLine[cliFlag31] !== undefined) {
1871
2026
  return {
1872
- value: commandLine[cliFlag30],
2027
+ value: commandLine[cliFlag31],
1873
2028
  source: "cli"
1874
2029
  };
1875
2030
  }
@@ -1887,36 +2042,36 @@ var encodingMaxRateOption = {
1887
2042
  setConfig: (newMaxRate) => {
1888
2043
  encodingMaxRate = newMaxRate;
1889
2044
  },
1890
- id: cliFlag30
2045
+ id: cliFlag31
1891
2046
  };
1892
2047
 
1893
2048
  // src/options/enforce-audio.tsx
1894
- import { jsx as jsx28, jsxs as jsxs21, Fragment as Fragment28 } from "react/jsx-runtime";
2049
+ import { jsx as jsx29, jsxs as jsxs21, Fragment as Fragment29 } from "react/jsx-runtime";
1895
2050
  var DEFAULT_ENFORCE_AUDIO_TRACK = false;
1896
2051
  var enforceAudioTrackState = DEFAULT_ENFORCE_AUDIO_TRACK;
1897
- var cliFlag31 = "enforce-audio-track";
2052
+ var cliFlag32 = "enforce-audio-track";
1898
2053
  var enforceAudioOption = {
1899
2054
  name: "Enforce Audio Track",
1900
- cliFlag: cliFlag31,
1901
- description: (mode) => /* @__PURE__ */ jsxs21(Fragment28, {
2055
+ cliFlag: cliFlag32,
2056
+ description: (mode) => /* @__PURE__ */ jsxs21(Fragment29, {
1902
2057
  children: [
1903
2058
  /* @__PURE__ */ jsxs21("p", {
1904
2059
  children: [
1905
2060
  "Defaults to ",
1906
- /* @__PURE__ */ jsx28("code", {
2061
+ /* @__PURE__ */ jsx29("code", {
1907
2062
  children: "false"
1908
2063
  }),
1909
2064
  ". If ",
1910
- /* @__PURE__ */ jsx28("code", {
2065
+ /* @__PURE__ */ jsx29("code", {
1911
2066
  children: "true"
1912
2067
  }),
1913
2068
  ", include a silent audio track when the render contains no audio. If ",
1914
- /* @__PURE__ */ jsx28("code", {
2069
+ /* @__PURE__ */ jsx29("code", {
1915
2070
  children: "false"
1916
2071
  }),
1917
2072
  ", omit the audio track when no audio is present. Audio-only exports and",
1918
2073
  " ",
1919
- /* @__PURE__ */ jsx28("code", {
2074
+ /* @__PURE__ */ jsx29("code", {
1920
2075
  children: mode === "cli" ? "--separate-audio-to" : "separateAudioTo"
1921
2076
  }),
1922
2077
  " ",
@@ -1925,17 +2080,17 @@ var enforceAudioOption = {
1925
2080
  }),
1926
2081
  /* @__PURE__ */ jsxs21("p", {
1927
2082
  children: [
1928
- mode === "cli" ? /* @__PURE__ */ jsxs21(Fragment28, {
2083
+ mode === "cli" ? /* @__PURE__ */ jsxs21(Fragment29, {
1929
2084
  children: [
1930
2085
  "Pass ",
1931
- /* @__PURE__ */ jsx28("code", {
2086
+ /* @__PURE__ */ jsx29("code", {
1932
2087
  children: "--enforce-audio-track"
1933
2088
  })
1934
2089
  ]
1935
- }) : /* @__PURE__ */ jsxs21(Fragment28, {
2090
+ }) : /* @__PURE__ */ jsxs21(Fragment29, {
1936
2091
  children: [
1937
2092
  "Set this to ",
1938
- /* @__PURE__ */ jsx28("code", {
2093
+ /* @__PURE__ */ jsx29("code", {
1939
2094
  children: "true"
1940
2095
  })
1941
2096
  ]
@@ -1943,13 +2098,13 @@ var enforceAudioOption = {
1943
2098
  " ",
1944
2099
  "for",
1945
2100
  " ",
1946
- /* @__PURE__ */ jsx28("a", {
2101
+ /* @__PURE__ */ jsx29("a", {
1947
2102
  href: "/docs/distributed-rendering",
1948
2103
  children: "chunks that will later be concatenated"
1949
2104
  }),
1950
2105
  ", because other chunks may contain audio.",
1951
2106
  " ",
1952
- /* @__PURE__ */ jsx28("code", {
2107
+ /* @__PURE__ */ jsx29("code", {
1953
2108
  children: mode === "cli" ? "--muted" : "muted: true"
1954
2109
  }),
1955
2110
  " takes precedence."
@@ -1961,7 +2116,7 @@ var enforceAudioOption = {
1961
2116
  docLink: "https://www.remotion.dev/docs/config#setenforceaudiotrack-",
1962
2117
  type: false,
1963
2118
  getValue: ({ commandLine }) => {
1964
- if (commandLine[cliFlag31]) {
2119
+ if (commandLine[cliFlag32]) {
1965
2120
  return {
1966
2121
  source: "cli",
1967
2122
  value: true
@@ -1981,20 +2136,20 @@ var enforceAudioOption = {
1981
2136
  setConfig: (value) => {
1982
2137
  enforceAudioTrackState = value;
1983
2138
  },
1984
- id: cliFlag31
2139
+ id: cliFlag32
1985
2140
  };
1986
2141
 
1987
2142
  // src/options/env-file.tsx
1988
- import { jsx as jsx29, jsxs as jsxs22, Fragment as Fragment29 } from "react/jsx-runtime";
1989
- var cliFlag32 = "env-file";
2143
+ import { jsx as jsx30, jsxs as jsxs22, Fragment as Fragment30 } from "react/jsx-runtime";
2144
+ var cliFlag33 = "env-file";
1990
2145
  var envFileLocation = null;
1991
2146
  var envFileOption = {
1992
2147
  name: "Env File",
1993
- cliFlag: cliFlag32,
1994
- description: () => /* @__PURE__ */ jsxs22(Fragment29, {
2148
+ cliFlag: cliFlag33,
2149
+ description: () => /* @__PURE__ */ jsxs22(Fragment30, {
1995
2150
  children: [
1996
2151
  "Specify a location for a dotenv file. Default ",
1997
- /* @__PURE__ */ jsx29("code", {
2152
+ /* @__PURE__ */ jsx30("code", {
1998
2153
  children: ".env"
1999
2154
  }),
2000
2155
  "."
@@ -2003,10 +2158,10 @@ var envFileOption = {
2003
2158
  ssrName: null,
2004
2159
  docLink: "https://www.remotion.dev/docs/cli/render#--env-file",
2005
2160
  getValue: ({ commandLine }) => {
2006
- if (commandLine[cliFlag32] !== undefined) {
2161
+ if (commandLine[cliFlag33] !== undefined) {
2007
2162
  return {
2008
2163
  source: "cli",
2009
- value: commandLine[cliFlag32]
2164
+ value: commandLine[cliFlag33]
2010
2165
  };
2011
2166
  }
2012
2167
  if (envFileLocation !== null) {
@@ -2024,30 +2179,30 @@ var envFileOption = {
2024
2179
  envFileLocation = value;
2025
2180
  },
2026
2181
  type: "",
2027
- id: cliFlag32
2182
+ id: cliFlag33
2028
2183
  };
2029
2184
 
2030
2185
  // src/options/every-nth-frame.tsx
2031
- import { jsx as jsx30, jsxs as jsxs23, Fragment as Fragment30 } from "react/jsx-runtime";
2186
+ import { jsx as jsx31, jsxs as jsxs23, Fragment as Fragment31 } from "react/jsx-runtime";
2032
2187
  var DEFAULT_EVERY_NTH_FRAME = 1;
2033
2188
  var everyNthFrame = DEFAULT_EVERY_NTH_FRAME;
2034
- var cliFlag33 = "every-nth-frame";
2189
+ var cliFlag34 = "every-nth-frame";
2035
2190
  var everyNthFrameOption = {
2036
2191
  name: "Every nth frame",
2037
- cliFlag: cliFlag33,
2038
- description: () => /* @__PURE__ */ jsxs23(Fragment30, {
2192
+ cliFlag: cliFlag34,
2193
+ description: () => /* @__PURE__ */ jsxs23(Fragment31, {
2039
2194
  children: [
2040
2195
  "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 ",
2041
- /* @__PURE__ */ jsx30("code", {
2196
+ /* @__PURE__ */ jsx31("code", {
2042
2197
  children: "fps"
2043
2198
  }),
2044
2199
  " is 30, and",
2045
2200
  " ",
2046
- /* @__PURE__ */ jsx30("code", {
2201
+ /* @__PURE__ */ jsx31("code", {
2047
2202
  children: "everyNthFrame"
2048
2203
  }),
2049
2204
  " is 2, the FPS of the GIF is ",
2050
- /* @__PURE__ */ jsx30("code", {
2205
+ /* @__PURE__ */ jsx31("code", {
2051
2206
  children: "15"
2052
2207
  }),
2053
2208
  "."
@@ -2057,10 +2212,10 @@ var everyNthFrameOption = {
2057
2212
  docLink: "https://www.remotion.dev/docs/config#seteverynthframe",
2058
2213
  type: DEFAULT_EVERY_NTH_FRAME,
2059
2214
  getValue: ({ commandLine }) => {
2060
- if (commandLine[cliFlag33] !== undefined) {
2215
+ if (commandLine[cliFlag34] !== undefined) {
2061
2216
  return {
2062
2217
  source: "cli",
2063
- value: commandLine[cliFlag33]
2218
+ value: commandLine[cliFlag34]
2064
2219
  };
2065
2220
  }
2066
2221
  if (everyNthFrame !== DEFAULT_EVERY_NTH_FRAME) {
@@ -2077,20 +2232,20 @@ var everyNthFrameOption = {
2077
2232
  setConfig: (value) => {
2078
2233
  everyNthFrame = value;
2079
2234
  },
2080
- id: cliFlag33
2235
+ id: cliFlag34
2081
2236
  };
2082
2237
 
2083
2238
  // src/options/experimental-keep-audio-context-alive.tsx
2084
- import { jsx as jsx31, jsxs as jsxs24, Fragment as Fragment31 } from "react/jsx-runtime";
2239
+ import { jsx as jsx32, jsxs as jsxs24, Fragment as Fragment32 } from "react/jsx-runtime";
2085
2240
  var experimentalKeepAudioContextAlive = false;
2086
- var cliFlag34 = "experimental-keep-audio-context-alive";
2241
+ var cliFlag35 = "experimental-keep-audio-context-alive";
2087
2242
  var experimentalKeepAudioContextAliveOption = {
2088
2243
  name: "Keep AudioContext alive (experimental)",
2089
- cliFlag: cliFlag34,
2090
- description: () => /* @__PURE__ */ jsxs24(Fragment31, {
2244
+ cliFlag: cliFlag35,
2245
+ description: () => /* @__PURE__ */ jsxs24(Fragment32, {
2091
2246
  children: [
2092
2247
  "Keeps the shared ",
2093
- /* @__PURE__ */ jsx31("code", {
2248
+ /* @__PURE__ */ jsx32("code", {
2094
2249
  children: "AudioContext"
2095
2250
  }),
2096
2251
  " running while the Remotion Studio is paused."
@@ -2100,9 +2255,9 @@ var experimentalKeepAudioContextAliveOption = {
2100
2255
  docLink: "https://www.remotion.dev/docs/config#setexperimentalkeepaudiocontextalive",
2101
2256
  type: false,
2102
2257
  getValue: ({ commandLine }) => {
2103
- if (commandLine[cliFlag34] !== undefined && commandLine[cliFlag34] !== null) {
2258
+ if (commandLine[cliFlag35] !== undefined && commandLine[cliFlag35] !== null) {
2104
2259
  return {
2105
- value: commandLine[cliFlag34],
2260
+ value: commandLine[cliFlag35],
2106
2261
  source: "cli"
2107
2262
  };
2108
2263
  }
@@ -2114,26 +2269,26 @@ var experimentalKeepAudioContextAliveOption = {
2114
2269
  setConfig(value) {
2115
2270
  experimentalKeepAudioContextAlive = value;
2116
2271
  },
2117
- id: cliFlag34
2272
+ id: cliFlag35
2118
2273
  };
2119
2274
 
2120
2275
  // src/options/folder-expiry.tsx
2121
- import { jsx as jsx32, jsxs as jsxs25, Fragment as Fragment32 } from "react/jsx-runtime";
2276
+ import { jsx as jsx33, jsxs as jsxs25, Fragment as Fragment33 } from "react/jsx-runtime";
2122
2277
  var enableFolderExpiry = null;
2123
- var cliFlag35 = "enable-folder-expiry";
2278
+ var cliFlag36 = "enable-folder-expiry";
2124
2279
  var folderExpiryOption = {
2125
2280
  name: "Lambda render expiration",
2126
- cliFlag: cliFlag35,
2281
+ cliFlag: cliFlag36,
2127
2282
  description: () => {
2128
- return /* @__PURE__ */ jsxs25(Fragment32, {
2283
+ return /* @__PURE__ */ jsxs25(Fragment33, {
2129
2284
  children: [
2130
2285
  "When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is",
2131
2286
  " ",
2132
- /* @__PURE__ */ jsx32("code", {
2287
+ /* @__PURE__ */ jsx33("code", {
2133
2288
  children: "null"
2134
2289
  }),
2135
2290
  ", which does not change any lifecycle policies of the S3 bucket. See: ",
2136
- /* @__PURE__ */ jsx32("a", {
2291
+ /* @__PURE__ */ jsx33("a", {
2137
2292
  href: "/docs/lambda/autodelete",
2138
2293
  children: "Lambda autodelete"
2139
2294
  }),
@@ -2145,10 +2300,10 @@ var folderExpiryOption = {
2145
2300
  docLink: "https://www.remotion.dev/docs/lambda/autodelete",
2146
2301
  type: false,
2147
2302
  getValue: ({ commandLine }) => {
2148
- if (commandLine[cliFlag35] !== undefined) {
2303
+ if (commandLine[cliFlag36] !== undefined) {
2149
2304
  return {
2150
2305
  source: "cli",
2151
- value: commandLine[cliFlag35]
2306
+ value: commandLine[cliFlag36]
2152
2307
  };
2153
2308
  }
2154
2309
  if (enableFolderExpiry !== null) {
@@ -2165,28 +2320,28 @@ var folderExpiryOption = {
2165
2320
  setConfig: (value) => {
2166
2321
  enableFolderExpiry = value;
2167
2322
  },
2168
- id: cliFlag35
2323
+ id: cliFlag36
2169
2324
  };
2170
2325
 
2171
2326
  // src/options/for-seamless-aac-concatenation.tsx
2172
- import { jsx as jsx33, jsxs as jsxs26, Fragment as Fragment33 } from "react/jsx-runtime";
2327
+ import { jsx as jsx34, jsxs as jsxs26, Fragment as Fragment34 } from "react/jsx-runtime";
2173
2328
  var DEFAULT3 = false;
2174
2329
  var forSeamlessAacConcatenation = DEFAULT3;
2175
- var cliFlag36 = "for-seamless-aac-concatenation";
2330
+ var cliFlag37 = "for-seamless-aac-concatenation";
2176
2331
  var forSeamlessAacConcatenationOption = {
2177
2332
  name: "For seamless AAC concatenation",
2178
- cliFlag: cliFlag36,
2179
- description: () => /* @__PURE__ */ jsxs26(Fragment33, {
2333
+ cliFlag: cliFlag37,
2334
+ description: () => /* @__PURE__ */ jsxs26(Fragment34, {
2180
2335
  children: [
2181
2336
  "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.",
2182
- /* @__PURE__ */ jsx33("br", {}),
2183
- /* @__PURE__ */ jsx33("br", {}),
2337
+ /* @__PURE__ */ jsx34("br", {}),
2338
+ /* @__PURE__ */ jsx34("br", {}),
2184
2339
  " This option is used internally. There is currently no documentation yet for to concatenate the audio chunks."
2185
2340
  ]
2186
2341
  }),
2187
2342
  docLink: "https://remotion.dev/docs/renderer",
2188
2343
  getValue: ({ commandLine }) => {
2189
- if (commandLine[cliFlag36]) {
2344
+ if (commandLine[cliFlag37]) {
2190
2345
  return {
2191
2346
  source: "cli",
2192
2347
  value: true
@@ -2208,26 +2363,26 @@ var forSeamlessAacConcatenationOption = {
2208
2363
  },
2209
2364
  ssrName: "forSeamlessAacConcatenation",
2210
2365
  type: false,
2211
- id: cliFlag36
2366
+ id: cliFlag37
2212
2367
  };
2213
2368
 
2214
2369
  // src/options/force-new-studio.tsx
2215
- import { jsx as jsx34, Fragment as Fragment34 } from "react/jsx-runtime";
2370
+ import { jsx as jsx35, Fragment as Fragment35 } from "react/jsx-runtime";
2216
2371
  var forceNewEnabled = false;
2217
- var cliFlag37 = "force-new";
2372
+ var cliFlag38 = "force-new";
2218
2373
  var forceNewStudioOption = {
2219
2374
  name: "Force New Studio",
2220
- cliFlag: cliFlag37,
2221
- description: () => /* @__PURE__ */ jsx34(Fragment34, {
2375
+ cliFlag: cliFlag38,
2376
+ description: () => /* @__PURE__ */ jsx35(Fragment35, {
2222
2377
  children: "Forces starting a new Studio instance even if one is already running on the same port for the same project."
2223
2378
  }),
2224
2379
  ssrName: null,
2225
2380
  docLink: "https://www.remotion.dev/docs/config#setforcenewstudioenabled",
2226
2381
  type: false,
2227
2382
  getValue: ({ commandLine }) => {
2228
- if (commandLine[cliFlag37] !== undefined && commandLine[cliFlag37] !== null) {
2383
+ if (commandLine[cliFlag38] !== undefined && commandLine[cliFlag38] !== null) {
2229
2384
  return {
2230
- value: commandLine[cliFlag37],
2385
+ value: commandLine[cliFlag38],
2231
2386
  source: "cli"
2232
2387
  };
2233
2388
  }
@@ -2239,7 +2394,7 @@ var forceNewStudioOption = {
2239
2394
  setConfig(value) {
2240
2395
  forceNewEnabled = value;
2241
2396
  },
2242
- id: cliFlag37
2397
+ id: cliFlag38
2243
2398
  };
2244
2399
 
2245
2400
  // src/frame-range.ts
@@ -2358,8 +2513,8 @@ var validateSelectedFrames = ({
2358
2513
  };
2359
2514
 
2360
2515
  // src/options/frames.tsx
2361
- import { jsx as jsx35, jsxs as jsxs27, Fragment as Fragment35 } from "react/jsx-runtime";
2362
- var cliFlag38 = "frames";
2516
+ import { jsx as jsx36, jsxs as jsxs27, Fragment as Fragment36 } from "react/jsx-runtime";
2517
+ var cliFlag39 = "frames";
2363
2518
  var frameSelection = null;
2364
2519
  var parseFrameRangeFromCli = (newFrameRange) => {
2365
2520
  if (typeof newFrameRange === "number") {
@@ -2436,16 +2591,16 @@ var parseFrameRangeFromCli = (newFrameRange) => {
2436
2591
  };
2437
2592
  var framesOption = {
2438
2593
  name: "Frame Range",
2439
- cliFlag: cliFlag38,
2440
- description: () => /* @__PURE__ */ jsxs27(Fragment35, {
2594
+ cliFlag: cliFlag39,
2595
+ description: () => /* @__PURE__ */ jsxs27(Fragment36, {
2441
2596
  children: [
2442
2597
  "Render a subset of a video. Pass a single number to render a still, or a range (e.g. ",
2443
- /* @__PURE__ */ jsx35("code", {
2598
+ /* @__PURE__ */ jsx36("code", {
2444
2599
  children: "0-9"
2445
2600
  }),
2446
2601
  ") to render a subset of frames. Pass",
2447
2602
  " ",
2448
- /* @__PURE__ */ jsx35("code", {
2603
+ /* @__PURE__ */ jsx36("code", {
2449
2604
  children: "100-"
2450
2605
  }),
2451
2606
  " to render from frame 100 to the end."
@@ -2455,8 +2610,8 @@ var framesOption = {
2455
2610
  docLink: "https://www.remotion.dev/docs/config#setframerange",
2456
2611
  type: null,
2457
2612
  getValue: ({ commandLine }) => {
2458
- if (commandLine[cliFlag38] !== undefined) {
2459
- const value = parseFrameRangeFromCli(commandLine[cliFlag38]);
2613
+ if (commandLine[cliFlag39] !== undefined) {
2614
+ const value = parseFrameRangeFromCli(commandLine[cliFlag39]);
2460
2615
  if (typeof value === "object" && !Array.isArray(value)) {
2461
2616
  validateSelectedFrames({
2462
2617
  frames: value.frames,
@@ -2483,12 +2638,12 @@ var framesOption = {
2483
2638
  }
2484
2639
  frameSelection = value;
2485
2640
  },
2486
- id: cliFlag38
2641
+ id: cliFlag39
2487
2642
  };
2488
2643
 
2489
2644
  // src/options/gl.tsx
2490
2645
  import { NoReactInternals as NoReactInternals2 } from "remotion/no-react";
2491
- import { jsx as jsx36, jsxs as jsxs28, Fragment as Fragment36 } from "react/jsx-runtime";
2646
+ import { jsx as jsx37, jsxs as jsxs28, Fragment as Fragment37 } from "react/jsx-runtime";
2492
2647
  var validOpenGlRenderers = [
2493
2648
  "swangle",
2494
2649
  "angle",
@@ -2506,7 +2661,7 @@ var AngleChangelog = () => {
2506
2661
  return /* @__PURE__ */ jsxs28("details", {
2507
2662
  style: { fontSize: "0.9em", marginBottom: "1em" },
2508
2663
  children: [
2509
- /* @__PURE__ */ jsx36("summary", {
2664
+ /* @__PURE__ */ jsx37("summary", {
2510
2665
  children: "Changelog"
2511
2666
  }),
2512
2667
  /* @__PURE__ */ jsxs28("ul", {
@@ -2515,12 +2670,12 @@ var AngleChangelog = () => {
2515
2670
  children: [
2516
2671
  "From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was",
2517
2672
  " ",
2518
- /* @__PURE__ */ jsx36("code", {
2673
+ /* @__PURE__ */ jsx37("code", {
2519
2674
  children: "swiftshader"
2520
2675
  }),
2521
2676
  ", but from v3.0.8 the default is",
2522
2677
  " ",
2523
- /* @__PURE__ */ jsx36("code", {
2678
+ /* @__PURE__ */ jsx37("code", {
2524
2679
  children: "swangle"
2525
2680
  }),
2526
2681
  " (Swiftshader on Angle) since Chrome 101 added support for it."
@@ -2529,7 +2684,7 @@ var AngleChangelog = () => {
2529
2684
  /* @__PURE__ */ jsxs28("li", {
2530
2685
  children: [
2531
2686
  "From Remotion v2.4.3 until v2.6.6, the default was ",
2532
- /* @__PURE__ */ jsx36("code", {
2687
+ /* @__PURE__ */ jsx37("code", {
2533
2688
  children: "angle"
2534
2689
  }),
2535
2690
  ", however it turns out to have a small memory leak that could crash long Remotion renders."
@@ -2538,7 +2693,7 @@ var AngleChangelog = () => {
2538
2693
  NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs28("li", {
2539
2694
  children: [
2540
2695
  "From Remotion v5.0, the default is ",
2541
- /* @__PURE__ */ jsx36("code", {
2696
+ /* @__PURE__ */ jsx37("code", {
2542
2697
  children: "angle"
2543
2698
  }),
2544
2699
  ". If no compatible GPU is available, Chromium automatically falls back to SwiftShader."
@@ -2549,53 +2704,53 @@ var AngleChangelog = () => {
2549
2704
  ]
2550
2705
  });
2551
2706
  };
2552
- var cliFlag39 = "gl";
2707
+ var cliFlag40 = "gl";
2553
2708
  var glOption = {
2554
- cliFlag: cliFlag39,
2709
+ cliFlag: cliFlag40,
2555
2710
  docLink: "https://www.remotion.dev/docs/chromium-flags#--gl",
2556
2711
  name: "OpenGL renderer",
2557
2712
  type: "angle",
2558
2713
  ssrName: "gl",
2559
2714
  description: () => {
2560
- return /* @__PURE__ */ jsxs28(Fragment36, {
2715
+ return /* @__PURE__ */ jsxs28(Fragment37, {
2561
2716
  children: [
2562
- /* @__PURE__ */ jsx36(AngleChangelog, {}),
2717
+ /* @__PURE__ */ jsx37(AngleChangelog, {}),
2563
2718
  /* @__PURE__ */ jsxs28("p", {
2564
2719
  children: [
2565
2720
  "Select the OpenGL renderer backend for Chromium. ",
2566
- /* @__PURE__ */ jsx36("br", {}),
2721
+ /* @__PURE__ */ jsx37("br", {}),
2567
2722
  "Accepted values:"
2568
2723
  ]
2569
2724
  }),
2570
2725
  /* @__PURE__ */ jsxs28("ul", {
2571
2726
  children: [
2572
- /* @__PURE__ */ jsx36("li", {
2573
- children: /* @__PURE__ */ jsx36("code", {
2727
+ /* @__PURE__ */ jsx37("li", {
2728
+ children: /* @__PURE__ */ jsx37("code", {
2574
2729
  children: '"angle"'
2575
2730
  })
2576
2731
  }),
2577
- /* @__PURE__ */ jsx36("li", {
2578
- children: /* @__PURE__ */ jsx36("code", {
2732
+ /* @__PURE__ */ jsx37("li", {
2733
+ children: /* @__PURE__ */ jsx37("code", {
2579
2734
  children: '"egl"'
2580
2735
  })
2581
2736
  }),
2582
- /* @__PURE__ */ jsx36("li", {
2583
- children: /* @__PURE__ */ jsx36("code", {
2737
+ /* @__PURE__ */ jsx37("li", {
2738
+ children: /* @__PURE__ */ jsx37("code", {
2584
2739
  children: '"swiftshader"'
2585
2740
  })
2586
2741
  }),
2587
- /* @__PURE__ */ jsx36("li", {
2588
- children: /* @__PURE__ */ jsx36("code", {
2742
+ /* @__PURE__ */ jsx37("li", {
2743
+ children: /* @__PURE__ */ jsx37("code", {
2589
2744
  children: '"swangle"'
2590
2745
  })
2591
2746
  }),
2592
2747
  /* @__PURE__ */ jsxs28("li", {
2593
2748
  children: [
2594
- /* @__PURE__ */ jsx36("code", {
2749
+ /* @__PURE__ */ jsx37("code", {
2595
2750
  children: '"vulkan"'
2596
2751
  }),
2597
2752
  " (",
2598
- /* @__PURE__ */ jsx36("em", {
2753
+ /* @__PURE__ */ jsx37("em", {
2599
2754
  children: "from Remotion v4.0.41"
2600
2755
  }),
2601
2756
  ")"
@@ -2603,11 +2758,11 @@ var glOption = {
2603
2758
  }),
2604
2759
  /* @__PURE__ */ jsxs28("li", {
2605
2760
  children: [
2606
- /* @__PURE__ */ jsx36("code", {
2761
+ /* @__PURE__ */ jsx37("code", {
2607
2762
  children: '"angle-egl"'
2608
2763
  }),
2609
2764
  " (",
2610
- /* @__PURE__ */ jsx36("em", {
2765
+ /* @__PURE__ */ jsx37("em", {
2611
2766
  children: "from Remotion v4.0.51"
2612
2767
  }),
2613
2768
  ")"
@@ -2619,12 +2774,12 @@ var glOption = {
2619
2774
  children: [
2620
2775
  "The default is",
2621
2776
  " ",
2622
- /* @__PURE__ */ jsx36("code", {
2777
+ /* @__PURE__ */ jsx37("code", {
2623
2778
  children: DEFAULT_OPENGL_RENDERER === null ? "null" : `"${DEFAULT_OPENGL_RENDERER}"`
2624
2779
  }),
2625
2780
  DEFAULT_OPENGL_RENDERER === null ? ", letting Chrome decide" : ", with automatic fallback to SwiftShader if no compatible GPU is available",
2626
2781
  ", except on Lambda where the default is ",
2627
- /* @__PURE__ */ jsx36("code", {
2782
+ /* @__PURE__ */ jsx37("code", {
2628
2783
  children: '"swangle"'
2629
2784
  })
2630
2785
  ]
@@ -2633,10 +2788,10 @@ var glOption = {
2633
2788
  });
2634
2789
  },
2635
2790
  getValue: ({ commandLine }) => {
2636
- if (commandLine[cliFlag39]) {
2637
- validateOpenGlRenderer(commandLine[cliFlag39]);
2791
+ if (commandLine[cliFlag40]) {
2792
+ validateOpenGlRenderer(commandLine[cliFlag40]);
2638
2793
  return {
2639
- value: commandLine[cliFlag39],
2794
+ value: commandLine[cliFlag40],
2640
2795
  source: "cli"
2641
2796
  };
2642
2797
  }
@@ -2655,7 +2810,7 @@ var glOption = {
2655
2810
  validateOpenGlRenderer(value);
2656
2811
  openGlRenderer = value;
2657
2812
  },
2658
- id: cliFlag39
2813
+ id: cliFlag40
2659
2814
  };
2660
2815
  var validateOpenGlRenderer = (option2) => {
2661
2816
  if (option2 === null) {
@@ -2668,7 +2823,7 @@ var validateOpenGlRenderer = (option2) => {
2668
2823
  };
2669
2824
 
2670
2825
  // src/options/gop-size.tsx
2671
- import { jsx as jsx37, jsxs as jsxs29, Fragment as Fragment37 } from "react/jsx-runtime";
2826
+ import { jsx as jsx38, jsxs as jsxs29, Fragment as Fragment38 } from "react/jsx-runtime";
2672
2827
  var gopSize = null;
2673
2828
  var validateGopSize = (value) => {
2674
2829
  if (value === null) {
@@ -2678,14 +2833,14 @@ var validateGopSize = (value) => {
2678
2833
  throw new TypeError("The GOP size must be an integer greater than 0 or null.");
2679
2834
  }
2680
2835
  };
2681
- var cliFlag40 = "gop";
2836
+ var cliFlag41 = "gop";
2682
2837
  var gopSizeOption = {
2683
2838
  name: "GOP size",
2684
- cliFlag: cliFlag40,
2685
- description: () => /* @__PURE__ */ jsxs29(Fragment37, {
2839
+ cliFlag: cliFlag41,
2840
+ description: () => /* @__PURE__ */ jsxs29(Fragment38, {
2686
2841
  children: [
2687
2842
  "Set the maximum number of frames between two keyframes. This maps to FFmpeg's ",
2688
- /* @__PURE__ */ jsx37("code", {
2843
+ /* @__PURE__ */ jsx38("code", {
2689
2844
  children: "-g"
2690
2845
  }),
2691
2846
  " option. Default: Let the encoder decide."
@@ -2695,7 +2850,7 @@ var gopSizeOption = {
2695
2850
  docLink: "https://www.remotion.dev/docs/config#setgopsize",
2696
2851
  type: null,
2697
2852
  getValue: ({ commandLine }) => {
2698
- const value = commandLine[cliFlag40];
2853
+ const value = commandLine[cliFlag41];
2699
2854
  if (value !== undefined) {
2700
2855
  validateGopSize(value);
2701
2856
  return { value, source: "cli" };
@@ -2706,7 +2861,7 @@ var gopSizeOption = {
2706
2861
  validateGopSize(value);
2707
2862
  gopSize = value;
2708
2863
  },
2709
- id: cliFlag40
2864
+ id: cliFlag41
2710
2865
  };
2711
2866
 
2712
2867
  // src/options/hardware-acceleration.tsx
@@ -2715,11 +2870,11 @@ var hardwareAccelerationOptions = [
2715
2870
  "if-possible",
2716
2871
  "required"
2717
2872
  ];
2718
- var cliFlag41 = "hardware-acceleration";
2873
+ var cliFlag42 = "hardware-acceleration";
2719
2874
  var currentValue = null;
2720
2875
  var hardwareAccelerationOption = {
2721
2876
  name: "Hardware Acceleration",
2722
- cliFlag: cliFlag41,
2877
+ cliFlag: cliFlag42,
2723
2878
  description: () => `
2724
2879
  One of
2725
2880
  ${new Intl.ListFormat("en", { type: "disjunction" }).format(hardwareAccelerationOptions.map((a) => JSON.stringify(a)))}
@@ -2731,10 +2886,10 @@ var hardwareAccelerationOption = {
2731
2886
  docLink: "https://www.remotion.dev/docs/encoding",
2732
2887
  type: "disable",
2733
2888
  getValue: ({ commandLine }) => {
2734
- if (commandLine[cliFlag41] !== undefined) {
2735
- const value = commandLine[cliFlag41];
2889
+ if (commandLine[cliFlag42] !== undefined) {
2890
+ const value = commandLine[cliFlag42];
2736
2891
  if (!hardwareAccelerationOptions.includes(value)) {
2737
- throw new Error(`Invalid value for --${cliFlag41}: ${value}`);
2892
+ throw new Error(`Invalid value for --${cliFlag42}: ${value}`);
2738
2893
  }
2739
2894
  return {
2740
2895
  source: "cli",
@@ -2754,26 +2909,26 @@ var hardwareAccelerationOption = {
2754
2909
  },
2755
2910
  setConfig: (value) => {
2756
2911
  if (!hardwareAccelerationOptions.includes(value)) {
2757
- throw new Error(`Invalid value for --${cliFlag41}: ${value}`);
2912
+ throw new Error(`Invalid value for --${cliFlag42}: ${value}`);
2758
2913
  }
2759
2914
  currentValue = value;
2760
2915
  },
2761
- id: cliFlag41
2916
+ id: cliFlag42
2762
2917
  };
2763
2918
 
2764
2919
  // src/options/headless.tsx
2765
- import { jsx as jsx38, jsxs as jsxs30, Fragment as Fragment38 } from "react/jsx-runtime";
2920
+ import { jsx as jsx39, jsxs as jsxs30, Fragment as Fragment39 } from "react/jsx-runtime";
2766
2921
  var DEFAULT4 = true;
2767
2922
  var headlessMode = DEFAULT4;
2768
- var cliFlag42 = "disable-headless";
2923
+ var cliFlag43 = "disable-headless";
2769
2924
  var headlessOption = {
2770
2925
  name: "Disable Headless Mode",
2771
- cliFlag: cliFlag42,
2772
- description: () => /* @__PURE__ */ jsxs30(Fragment38, {
2926
+ cliFlag: cliFlag43,
2927
+ description: () => /* @__PURE__ */ jsxs30(Fragment39, {
2773
2928
  children: [
2774
2929
  "If disabled, the render will open an actual Chrome window where you can see the render happen. This requires",
2775
2930
  " ",
2776
- /* @__PURE__ */ jsx38("a", {
2931
+ /* @__PURE__ */ jsx39("a", {
2777
2932
  href: "/docs/miscellaneous/chrome-headless-shell",
2778
2933
  children: "Chrome for Testing"
2779
2934
  }),
@@ -2785,10 +2940,10 @@ var headlessOption = {
2785
2940
  docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-headless",
2786
2941
  type: false,
2787
2942
  getValue: ({ commandLine }) => {
2788
- if (commandLine[cliFlag42] !== undefined && commandLine[cliFlag42] !== null) {
2943
+ if (commandLine[cliFlag43] !== undefined && commandLine[cliFlag43] !== null) {
2789
2944
  return {
2790
2945
  source: "cli",
2791
- value: !commandLine[cliFlag42]
2946
+ value: !commandLine[cliFlag43]
2792
2947
  };
2793
2948
  }
2794
2949
  if (headlessMode !== DEFAULT4) {
@@ -2805,27 +2960,27 @@ var headlessOption = {
2805
2960
  setConfig: (value) => {
2806
2961
  headlessMode = value;
2807
2962
  },
2808
- id: cliFlag42
2963
+ id: cliFlag43
2809
2964
  };
2810
2965
 
2811
2966
  // src/options/ignore-certificate-errors.tsx
2812
- import { jsx as jsx39, Fragment as Fragment39 } from "react/jsx-runtime";
2967
+ import { jsx as jsx40, Fragment as Fragment40 } from "react/jsx-runtime";
2813
2968
  var ignoreCertificateErrors = false;
2814
- var cliFlag43 = "ignore-certificate-errors";
2969
+ var cliFlag44 = "ignore-certificate-errors";
2815
2970
  var ignoreCertificateErrorsOption = {
2816
2971
  name: "Ignore certificate errors",
2817
- cliFlag: cliFlag43,
2818
- description: () => /* @__PURE__ */ jsx39(Fragment39, {
2972
+ cliFlag: cliFlag44,
2973
+ description: () => /* @__PURE__ */ jsx40(Fragment40, {
2819
2974
  children: "Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored."
2820
2975
  }),
2821
2976
  ssrName: "ignoreCertificateErrors",
2822
2977
  docLink: "https://www.remotion.dev/docs/chromium-flags#--ignore-certificate-errors",
2823
2978
  type: false,
2824
2979
  getValue: ({ commandLine }) => {
2825
- if (commandLine[cliFlag43] !== undefined && commandLine[cliFlag43] !== null) {
2980
+ if (commandLine[cliFlag44] !== undefined && commandLine[cliFlag44] !== null) {
2826
2981
  return {
2827
2982
  source: "cli",
2828
- value: Boolean(commandLine[cliFlag43])
2983
+ value: Boolean(commandLine[cliFlag44])
2829
2984
  };
2830
2985
  }
2831
2986
  if (ignoreCertificateErrors) {
@@ -2842,23 +2997,23 @@ var ignoreCertificateErrorsOption = {
2842
2997
  setConfig: (value) => {
2843
2998
  ignoreCertificateErrors = value;
2844
2999
  },
2845
- id: cliFlag43
3000
+ id: cliFlag44
2846
3001
  };
2847
3002
 
2848
3003
  // src/options/image-sequence.tsx
2849
- import { jsx as jsx40, jsxs as jsxs31, Fragment as Fragment40 } from "react/jsx-runtime";
2850
- var cliFlag44 = "sequence";
3004
+ import { jsx as jsx41, jsxs as jsxs31, Fragment as Fragment41 } from "react/jsx-runtime";
3005
+ var cliFlag45 = "sequence";
2851
3006
  var imageSequence = false;
2852
3007
  var imageSequenceOption = {
2853
3008
  name: "Image Sequence",
2854
- cliFlag: cliFlag44,
2855
- description: () => /* @__PURE__ */ jsxs31(Fragment40, {
3009
+ cliFlag: cliFlag45,
3010
+ description: () => /* @__PURE__ */ jsxs31(Fragment41, {
2856
3011
  children: [
2857
3012
  "Pass this flag to output an image sequence instead of a video. The default image format is JPEG. See",
2858
3013
  " ",
2859
- /* @__PURE__ */ jsx40("a", {
3014
+ /* @__PURE__ */ jsx41("a", {
2860
3015
  href: "/docs/config#setimagesequence",
2861
- children: /* @__PURE__ */ jsx40("code", {
3016
+ children: /* @__PURE__ */ jsx41("code", {
2862
3017
  children: "setImageSequence()"
2863
3018
  })
2864
3019
  }),
@@ -2869,10 +3024,10 @@ var imageSequenceOption = {
2869
3024
  ssrName: null,
2870
3025
  docLink: "https://www.remotion.dev/docs/config#setimagesequence",
2871
3026
  getValue: ({ commandLine }) => {
2872
- if (commandLine[cliFlag44] !== undefined && commandLine[cliFlag44] !== null) {
3027
+ if (commandLine[cliFlag45] !== undefined && commandLine[cliFlag45] !== null) {
2873
3028
  return {
2874
3029
  source: "cli",
2875
- value: Boolean(commandLine[cliFlag44])
3030
+ value: Boolean(commandLine[cliFlag45])
2876
3031
  };
2877
3032
  }
2878
3033
  return {
@@ -2884,25 +3039,25 @@ var imageSequenceOption = {
2884
3039
  imageSequence = value;
2885
3040
  },
2886
3041
  type: false,
2887
- id: cliFlag44
3042
+ id: cliFlag45
2888
3043
  };
2889
3044
 
2890
3045
  // src/options/image-sequence-pattern.tsx
2891
- import { jsx as jsx41, jsxs as jsxs32, Fragment as Fragment41 } from "react/jsx-runtime";
2892
- var cliFlag45 = "image-sequence-pattern";
3046
+ import { jsx as jsx42, jsxs as jsxs32, Fragment as Fragment42 } from "react/jsx-runtime";
3047
+ var cliFlag46 = "image-sequence-pattern";
2893
3048
  var currentImageSequencePattern = null;
2894
3049
  var imageSequencePatternOption = {
2895
3050
  name: "Image Sequence Pattern",
2896
- cliFlag: cliFlag45,
3051
+ cliFlag: cliFlag46,
2897
3052
  ssrName: "imageSequencePattern",
2898
- description: () => /* @__PURE__ */ jsxs32(Fragment41, {
3053
+ description: () => /* @__PURE__ */ jsxs32(Fragment42, {
2899
3054
  children: [
2900
3055
  "Pattern for naming image sequence files. Supports ",
2901
- /* @__PURE__ */ jsx41("code", {
3056
+ /* @__PURE__ */ jsx42("code", {
2902
3057
  children: "[frame]"
2903
3058
  }),
2904
3059
  " for the zero-padded frame number and ",
2905
- /* @__PURE__ */ jsx41("code", {
3060
+ /* @__PURE__ */ jsx42("code", {
2906
3061
  children: "[ext]"
2907
3062
  }),
2908
3063
  " for the file extension."
@@ -2918,7 +3073,7 @@ var imageSequencePatternOption = {
2918
3073
  };
2919
3074
  }
2920
3075
  return {
2921
- value: commandLine[cliFlag45],
3076
+ value: commandLine[cliFlag46],
2922
3077
  source: "cli"
2923
3078
  };
2924
3079
  },
@@ -2928,26 +3083,26 @@ var imageSequencePatternOption = {
2928
3083
  reset: () => {
2929
3084
  currentImageSequencePattern = null;
2930
3085
  },
2931
- id: cliFlag45
3086
+ id: cliFlag46
2932
3087
  };
2933
3088
 
2934
3089
  // src/options/interactivity.tsx
2935
- import { jsx as jsx42, Fragment as Fragment42 } from "react/jsx-runtime";
3090
+ import { jsx as jsx43, Fragment as Fragment43 } from "react/jsx-runtime";
2936
3091
  var interactivityEnabled = true;
2937
3092
  var configuredInteractivityEnabled = null;
2938
- var cliFlag46 = "disable-interactivity";
3093
+ var cliFlag47 = "disable-interactivity";
2939
3094
  var interactivityOption = {
2940
3095
  name: "Disable or enable Studio interactivity",
2941
- cliFlag: cliFlag46,
2942
- description: () => /* @__PURE__ */ jsx42(Fragment42, {
3096
+ cliFlag: cliFlag47,
3097
+ description: () => /* @__PURE__ */ jsx43(Fragment43, {
2943
3098
  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."
2944
3099
  }),
2945
3100
  ssrName: null,
2946
3101
  docLink: "https://www.remotion.dev/docs/config#setinteractivityenabled",
2947
3102
  type: false,
2948
3103
  getValue: ({ commandLine }) => {
2949
- if (commandLine[cliFlag46] !== undefined && commandLine[cliFlag46] !== null) {
2950
- interactivityEnabled = commandLine[cliFlag46] === false;
3104
+ if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
3105
+ interactivityEnabled = commandLine[cliFlag47] === false;
2951
3106
  return {
2952
3107
  value: interactivityEnabled,
2953
3108
  source: "cli"
@@ -2967,26 +3122,26 @@ var interactivityOption = {
2967
3122
  interactivityEnabled = true;
2968
3123
  configuredInteractivityEnabled = null;
2969
3124
  },
2970
- id: cliFlag46
3125
+ id: cliFlag47
2971
3126
  };
2972
3127
 
2973
3128
  // src/options/ipv4.tsx
2974
- import { jsx as jsx43, Fragment as Fragment43 } from "react/jsx-runtime";
3129
+ import { jsx as jsx44, Fragment as Fragment44 } from "react/jsx-runtime";
2975
3130
  var forceIPv4 = false;
2976
- var cliFlag47 = "ipv4";
3131
+ var cliFlag48 = "ipv4";
2977
3132
  var ipv4Option = {
2978
3133
  name: "IPv4",
2979
- cliFlag: cliFlag47,
2980
- description: () => /* @__PURE__ */ jsx43(Fragment43, {
3134
+ cliFlag: cliFlag48,
3135
+ description: () => /* @__PURE__ */ jsx44(Fragment44, {
2981
3136
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
2982
3137
  }),
2983
3138
  ssrName: null,
2984
3139
  docLink: "https://www.remotion.dev/docs/cli/studio",
2985
3140
  type: false,
2986
3141
  getValue: ({ commandLine }) => {
2987
- if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
3142
+ if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
2988
3143
  return {
2989
- value: commandLine[cliFlag47],
3144
+ value: commandLine[cliFlag48],
2990
3145
  source: "cli"
2991
3146
  };
2992
3147
  }
@@ -2998,25 +3153,25 @@ var ipv4Option = {
2998
3153
  setConfig(value) {
2999
3154
  forceIPv4 = value;
3000
3155
  },
3001
- id: cliFlag47
3156
+ id: cliFlag48
3002
3157
  };
3003
3158
 
3004
3159
  // src/options/is-production.tsx
3005
- import { jsx as jsx44, jsxs as jsxs33, Fragment as Fragment44 } from "react/jsx-runtime";
3006
- var cliFlag48 = "is-production";
3160
+ import { jsx as jsx45, jsxs as jsxs33, Fragment as Fragment45 } from "react/jsx-runtime";
3161
+ var cliFlag49 = "is-production";
3007
3162
  var currentIsProductionKey = null;
3008
3163
  var isProductionOption = {
3009
3164
  name: "Is Production",
3010
- cliFlag: cliFlag48,
3011
- description: () => /* @__PURE__ */ jsxs33(Fragment44, {
3165
+ cliFlag: cliFlag49,
3166
+ description: () => /* @__PURE__ */ jsxs33(Fragment45, {
3012
3167
  children: [
3013
3168
  "Pass ",
3014
- /* @__PURE__ */ jsx44("code", {
3169
+ /* @__PURE__ */ jsx45("code", {
3015
3170
  children: "false"
3016
3171
  }),
3017
3172
  " if this a development render to not count it as a billable render on remotion.pro. Only can be used in conjuction with",
3018
3173
  " ",
3019
- /* @__PURE__ */ jsx44("code", {
3174
+ /* @__PURE__ */ jsx45("code", {
3020
3175
  children: "licenseKey"
3021
3176
  }),
3022
3177
  "."
@@ -3025,10 +3180,10 @@ var isProductionOption = {
3025
3180
  ssrName: "isProduction",
3026
3181
  docLink: "https://www.remotion.dev/docs/licensing",
3027
3182
  getValue: ({ commandLine }) => {
3028
- if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
3183
+ if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3029
3184
  return {
3030
3185
  source: "cli",
3031
- value: commandLine[cliFlag48]
3186
+ value: commandLine[cliFlag49]
3032
3187
  };
3033
3188
  }
3034
3189
  if (currentIsProductionKey !== null) {
@@ -3046,11 +3201,11 @@ var isProductionOption = {
3046
3201
  currentIsProductionKey = value;
3047
3202
  },
3048
3203
  type: false,
3049
- id: cliFlag48
3204
+ id: cliFlag49
3050
3205
  };
3051
3206
 
3052
3207
  // src/options/jpeg-quality.tsx
3053
- import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
3208
+ import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
3054
3209
  var defaultValue = DEFAULT_JPEG_QUALITY;
3055
3210
  var quality = defaultValue;
3056
3211
  var setJpegQuality = (q) => {
@@ -3061,11 +3216,11 @@ var setJpegQuality = (q) => {
3061
3216
  }
3062
3217
  quality = q;
3063
3218
  };
3064
- var cliFlag49 = "jpeg-quality";
3219
+ var cliFlag50 = "jpeg-quality";
3065
3220
  var jpegQualityOption = {
3066
3221
  name: "JPEG Quality",
3067
- cliFlag: cliFlag49,
3068
- description: () => /* @__PURE__ */ jsx45(Fragment45, {
3222
+ cliFlag: cliFlag50,
3223
+ description: () => /* @__PURE__ */ jsx46(Fragment46, {
3069
3224
  children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80."
3070
3225
  }),
3071
3226
  ssrName: "jpegQuality",
@@ -3073,11 +3228,11 @@ var jpegQualityOption = {
3073
3228
  type: 0,
3074
3229
  setConfig: setJpegQuality,
3075
3230
  getValue: ({ commandLine }) => {
3076
- if (commandLine[cliFlag49] !== undefined) {
3077
- validateJpegQuality(commandLine[cliFlag49]);
3231
+ if (commandLine[cliFlag50] !== undefined) {
3232
+ validateJpegQuality(commandLine[cliFlag50]);
3078
3233
  return {
3079
3234
  source: "cli",
3080
- value: commandLine[cliFlag49]
3235
+ value: commandLine[cliFlag50]
3081
3236
  };
3082
3237
  }
3083
3238
  if (quality !== defaultValue) {
@@ -3091,26 +3246,26 @@ var jpegQualityOption = {
3091
3246
  value: defaultValue
3092
3247
  };
3093
3248
  },
3094
- id: cliFlag49
3249
+ id: cliFlag50
3095
3250
  };
3096
3251
 
3097
3252
  // src/options/keyboard-shortcuts.tsx
3098
- import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
3253
+ import { jsx as jsx47, Fragment as Fragment47 } from "react/jsx-runtime";
3099
3254
  var keyboardShortcutsEnabled = true;
3100
3255
  var configuredKeyboardShortcutsEnabled = null;
3101
- var cliFlag50 = "disable-keyboard-shortcuts";
3256
+ var cliFlag51 = "disable-keyboard-shortcuts";
3102
3257
  var keyboardShortcutsOption = {
3103
3258
  name: "Disable or Enable keyboard shortcuts",
3104
- cliFlag: cliFlag50,
3105
- description: () => /* @__PURE__ */ jsx46(Fragment46, {
3259
+ cliFlag: cliFlag51,
3260
+ description: () => /* @__PURE__ */ jsx47(Fragment47, {
3106
3261
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
3107
3262
  }),
3108
3263
  ssrName: null,
3109
3264
  docLink: "https://www.remotion.dev/docs/config#setkeyboardshortcutsenabled",
3110
3265
  type: false,
3111
3266
  getValue: ({ commandLine }) => {
3112
- if (commandLine[cliFlag50] !== undefined && commandLine[cliFlag50] !== null) {
3113
- keyboardShortcutsEnabled = commandLine[cliFlag50] === false;
3267
+ if (commandLine[cliFlag51] !== undefined && commandLine[cliFlag51] !== null) {
3268
+ keyboardShortcutsEnabled = commandLine[cliFlag51] === false;
3114
3269
  return {
3115
3270
  value: keyboardShortcutsEnabled,
3116
3271
  source: "cli"
@@ -3130,42 +3285,42 @@ var keyboardShortcutsOption = {
3130
3285
  keyboardShortcutsEnabled = true;
3131
3286
  configuredKeyboardShortcutsEnabled = null;
3132
3287
  },
3133
- id: cliFlag50
3288
+ id: cliFlag51
3134
3289
  };
3135
3290
 
3136
3291
  // src/options/latency-hint.tsx
3137
- import { jsx as jsx47, jsxs as jsxs34, Fragment as Fragment47 } from "react/jsx-runtime";
3138
- var cliFlag51 = "audio-latency-hint";
3292
+ import { jsx as jsx48, jsxs as jsxs34, Fragment as Fragment48 } from "react/jsx-runtime";
3293
+ var cliFlag52 = "audio-latency-hint";
3139
3294
  var value = null;
3140
3295
  var audioLatencyHintOption = {
3141
3296
  name: "Audio Latency Hint",
3142
- cliFlag: cliFlag51,
3143
- description: () => /* @__PURE__ */ jsxs34(Fragment47, {
3297
+ cliFlag: cliFlag52,
3298
+ description: () => /* @__PURE__ */ jsxs34(Fragment48, {
3144
3299
  children: [
3145
3300
  "Sets the",
3146
3301
  " ",
3147
- /* @__PURE__ */ jsx47("a", {
3302
+ /* @__PURE__ */ jsx48("a", {
3148
3303
  href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
3149
3304
  children: "audio latency"
3150
3305
  }),
3151
3306
  " ",
3152
3307
  "hint for the global ",
3153
- /* @__PURE__ */ jsx47("code", {
3308
+ /* @__PURE__ */ jsx48("code", {
3154
3309
  children: "AudioContext"
3155
3310
  }),
3156
3311
  " context that Remotion uses to play audio.",
3157
- /* @__PURE__ */ jsx47("br", {}),
3312
+ /* @__PURE__ */ jsx48("br", {}),
3158
3313
  "Possible values: ",
3159
- /* @__PURE__ */ jsx47("code", {
3314
+ /* @__PURE__ */ jsx48("code", {
3160
3315
  children: "interactive"
3161
3316
  }),
3162
3317
  ", ",
3163
- /* @__PURE__ */ jsx47("code", {
3318
+ /* @__PURE__ */ jsx48("code", {
3164
3319
  children: "balanced"
3165
3320
  }),
3166
3321
  ",",
3167
3322
  " ",
3168
- /* @__PURE__ */ jsx47("code", {
3323
+ /* @__PURE__ */ jsx48("code", {
3169
3324
  children: "playback"
3170
3325
  })
3171
3326
  ]
@@ -3174,7 +3329,7 @@ var audioLatencyHintOption = {
3174
3329
  docLink: "https://www.remotion.dev/docs/renderer/render-media",
3175
3330
  type: "playback",
3176
3331
  getValue: ({ commandLine }) => {
3177
- const val = commandLine[cliFlag51];
3332
+ const val = commandLine[cliFlag52];
3178
3333
  if (typeof val !== "undefined") {
3179
3334
  return { value: val, source: "cli" };
3180
3335
  }
@@ -3190,21 +3345,21 @@ var audioLatencyHintOption = {
3190
3345
  reset: () => {
3191
3346
  value = null;
3192
3347
  },
3193
- id: cliFlag51
3348
+ id: cliFlag52
3194
3349
  };
3195
3350
 
3196
3351
  // src/options/license-key.tsx
3197
- import { jsx as jsx48, jsxs as jsxs35, Fragment as Fragment48 } from "react/jsx-runtime";
3352
+ import { jsx as jsx49, jsxs as jsxs35, Fragment as Fragment49 } from "react/jsx-runtime";
3198
3353
  var currentLicenseKey = null;
3199
- var cliFlag52 = "license-key";
3354
+ var cliFlag53 = "license-key";
3200
3355
  var licenseKeyOption = {
3201
3356
  name: "License key",
3202
- cliFlag: cliFlag52,
3203
- description: () => /* @__PURE__ */ jsxs35(Fragment48, {
3357
+ cliFlag: cliFlag53,
3358
+ description: () => /* @__PURE__ */ jsxs35(Fragment49, {
3204
3359
  children: [
3205
3360
  "License key for sending a usage event using",
3206
3361
  " ",
3207
- /* @__PURE__ */ jsx48("code", {
3362
+ /* @__PURE__ */ jsx49("code", {
3208
3363
  children: "@remotion/licensing"
3209
3364
  }),
3210
3365
  "."
@@ -3214,10 +3369,10 @@ var licenseKeyOption = {
3214
3369
  docLink: "https://www.remotion.dev/docs/licensing",
3215
3370
  type: null,
3216
3371
  getValue: ({ commandLine }) => {
3217
- if (commandLine[cliFlag52] !== undefined) {
3372
+ if (commandLine[cliFlag53] !== undefined) {
3218
3373
  return {
3219
3374
  source: "cli",
3220
- value: commandLine[cliFlag52]
3375
+ value: commandLine[cliFlag53]
3221
3376
  };
3222
3377
  }
3223
3378
  return {
@@ -3228,48 +3383,48 @@ var licenseKeyOption = {
3228
3383
  setConfig: (value2) => {
3229
3384
  currentLicenseKey = value2;
3230
3385
  },
3231
- id: cliFlag52
3386
+ id: cliFlag53
3232
3387
  };
3233
3388
 
3234
3389
  // src/options/log-level.tsx
3235
- import { jsx as jsx49, jsxs as jsxs36, Fragment as Fragment49 } from "react/jsx-runtime";
3390
+ import { jsx as jsx50, jsxs as jsxs36, Fragment as Fragment50 } from "react/jsx-runtime";
3236
3391
  var logLevel = "info";
3237
3392
  var configuredLogLevel = null;
3238
- var cliFlag53 = "log";
3393
+ var cliFlag54 = "log";
3239
3394
  var logLevelOption = {
3240
- cliFlag: cliFlag53,
3395
+ cliFlag: cliFlag54,
3241
3396
  name: "Log Level",
3242
3397
  ssrName: "logLevel",
3243
- description: () => /* @__PURE__ */ jsxs36(Fragment49, {
3398
+ description: () => /* @__PURE__ */ jsxs36(Fragment50, {
3244
3399
  children: [
3245
3400
  "One of ",
3246
- /* @__PURE__ */ jsx49("code", {
3401
+ /* @__PURE__ */ jsx50("code", {
3247
3402
  children: "trace"
3248
3403
  }),
3249
3404
  ", ",
3250
- /* @__PURE__ */ jsx49("code", {
3405
+ /* @__PURE__ */ jsx50("code", {
3251
3406
  children: "verbose"
3252
3407
  }),
3253
3408
  ", ",
3254
- /* @__PURE__ */ jsx49("code", {
3409
+ /* @__PURE__ */ jsx50("code", {
3255
3410
  children: "info"
3256
3411
  }),
3257
3412
  ",",
3258
3413
  " ",
3259
- /* @__PURE__ */ jsx49("code", {
3414
+ /* @__PURE__ */ jsx50("code", {
3260
3415
  children: "warn"
3261
3416
  }),
3262
3417
  ", ",
3263
- /* @__PURE__ */ jsx49("code", {
3418
+ /* @__PURE__ */ jsx50("code", {
3264
3419
  children: "error"
3265
3420
  }),
3266
3421
  ".",
3267
- /* @__PURE__ */ jsx49("br", {}),
3422
+ /* @__PURE__ */ jsx50("br", {}),
3268
3423
  " Determines how much info is being logged to the console.",
3269
- /* @__PURE__ */ jsx49("br", {}),
3270
- /* @__PURE__ */ jsx49("br", {}),
3424
+ /* @__PURE__ */ jsx50("br", {}),
3425
+ /* @__PURE__ */ jsx50("br", {}),
3271
3426
  " Default ",
3272
- /* @__PURE__ */ jsx49("code", {
3427
+ /* @__PURE__ */ jsx50("code", {
3273
3428
  children: "info"
3274
3429
  }),
3275
3430
  "."
@@ -3277,11 +3432,11 @@ var logLevelOption = {
3277
3432
  }),
3278
3433
  docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
3279
3434
  getValue: ({ commandLine }) => {
3280
- if (commandLine[cliFlag53]) {
3281
- if (!isValidLogLevel(commandLine[cliFlag53])) {
3435
+ if (commandLine[cliFlag54]) {
3436
+ if (!isValidLogLevel(commandLine[cliFlag54])) {
3282
3437
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
3283
3438
  }
3284
- return { value: commandLine[cliFlag53], source: "cli" };
3439
+ return { value: commandLine[cliFlag54], source: "cli" };
3285
3440
  }
3286
3441
  if (logLevel !== "info") {
3287
3442
  return { value: logLevel, source: "config" };
@@ -3298,23 +3453,23 @@ var logLevelOption = {
3298
3453
  configuredLogLevel = null;
3299
3454
  },
3300
3455
  type: "error",
3301
- id: cliFlag53
3456
+ id: cliFlag54
3302
3457
  };
3303
3458
 
3304
3459
  // src/options/metadata.tsx
3305
- import { jsx as jsx50, jsxs as jsxs37, Fragment as Fragment50 } from "react/jsx-runtime";
3460
+ import { jsx as jsx51, jsxs as jsxs37, Fragment as Fragment51 } from "react/jsx-runtime";
3306
3461
  var metadata = {};
3307
- var cliFlag54 = "metadata";
3462
+ var cliFlag55 = "metadata";
3308
3463
  var metadataOption = {
3309
3464
  name: "Metadata",
3310
- cliFlag: cliFlag54,
3465
+ cliFlag: cliFlag55,
3311
3466
  description: (mode) => {
3312
3467
  if (mode === "ssr") {
3313
- return /* @__PURE__ */ jsxs37(Fragment50, {
3468
+ return /* @__PURE__ */ jsxs37(Fragment51, {
3314
3469
  children: [
3315
3470
  "An object containing metadata to be embedded in the video. See",
3316
3471
  " ",
3317
- /* @__PURE__ */ jsx50("a", {
3472
+ /* @__PURE__ */ jsx51("a", {
3318
3473
  href: "/docs/metadata",
3319
3474
  children: "here"
3320
3475
  }),
@@ -3322,18 +3477,18 @@ var metadataOption = {
3322
3477
  ]
3323
3478
  });
3324
3479
  }
3325
- return /* @__PURE__ */ jsxs37(Fragment50, {
3480
+ return /* @__PURE__ */ jsxs37(Fragment51, {
3326
3481
  children: [
3327
3482
  "Metadata to be embedded in the video. See",
3328
3483
  " ",
3329
- /* @__PURE__ */ jsx50("a", {
3484
+ /* @__PURE__ */ jsx51("a", {
3330
3485
  href: "/docs/metadata",
3331
3486
  children: "here"
3332
3487
  }),
3333
3488
  " for which metadata is accepted.",
3334
- /* @__PURE__ */ jsx50("br", {}),
3489
+ /* @__PURE__ */ jsx51("br", {}),
3335
3490
  "The parameter must be in the format of ",
3336
- /* @__PURE__ */ jsx50("code", {
3491
+ /* @__PURE__ */ jsx51("code", {
3337
3492
  children: "--metadata key=value"
3338
3493
  }),
3339
3494
  " ",
@@ -3344,8 +3499,8 @@ var metadataOption = {
3344
3499
  docLink: "https://www.remotion.dev/docs/metadata",
3345
3500
  type: {},
3346
3501
  getValue: ({ commandLine }) => {
3347
- if (commandLine[cliFlag54] !== undefined) {
3348
- const val = commandLine[cliFlag54];
3502
+ if (commandLine[cliFlag55] !== undefined) {
3503
+ const val = commandLine[cliFlag55];
3349
3504
  const array = typeof val === "string" ? [val] : val;
3350
3505
  const keyValues = array.map((a) => {
3351
3506
  if (!a.includes("=")) {
@@ -3372,28 +3527,28 @@ var metadataOption = {
3372
3527
  metadata = newMetadata;
3373
3528
  },
3374
3529
  ssrName: "metadata",
3375
- id: cliFlag54
3530
+ id: cliFlag55
3376
3531
  };
3377
3532
 
3378
3533
  // src/options/mute.tsx
3379
- import { jsx as jsx51, Fragment as Fragment51 } from "react/jsx-runtime";
3534
+ import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3380
3535
  var DEFAULT_MUTED_STATE = false;
3381
3536
  var mutedState = DEFAULT_MUTED_STATE;
3382
- var cliFlag55 = "muted";
3537
+ var cliFlag56 = "muted";
3383
3538
  var mutedOption = {
3384
3539
  name: "Muted",
3385
- cliFlag: cliFlag55,
3386
- description: () => /* @__PURE__ */ jsx51(Fragment51, {
3540
+ cliFlag: cliFlag56,
3541
+ description: () => /* @__PURE__ */ jsx52(Fragment52, {
3387
3542
  children: "The Audio of the video will be omitted."
3388
3543
  }),
3389
3544
  ssrName: "muted",
3390
3545
  docLink: "https://www.remotion.dev/docs/audio/muting",
3391
3546
  type: false,
3392
3547
  getValue: ({ commandLine }) => {
3393
- if (commandLine[cliFlag55] !== null) {
3548
+ if (commandLine[cliFlag56] !== null) {
3394
3549
  return {
3395
3550
  source: "cli",
3396
- value: commandLine[cliFlag55]
3551
+ value: commandLine[cliFlag56]
3397
3552
  };
3398
3553
  }
3399
3554
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -3413,17 +3568,17 @@ var mutedOption = {
3413
3568
  reset: () => {
3414
3569
  mutedState = DEFAULT_MUTED_STATE;
3415
3570
  },
3416
- id: cliFlag55
3571
+ id: cliFlag56
3417
3572
  };
3418
3573
 
3419
3574
  // src/options/no-open.tsx
3420
- import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3575
+ import { jsx as jsx53, Fragment as Fragment53 } from "react/jsx-runtime";
3421
3576
  var shouldOpenBrowser = true;
3422
- var cliFlag56 = "no-open";
3577
+ var cliFlag57 = "no-open";
3423
3578
  var noOpenOption = {
3424
3579
  name: "Disable browser auto-open",
3425
- cliFlag: cliFlag56,
3426
- description: () => /* @__PURE__ */ jsx52(Fragment52, {
3580
+ cliFlag: cliFlag57,
3581
+ description: () => /* @__PURE__ */ jsx53(Fragment53, {
3427
3582
  children: "If specified, Remotion will not open a browser window when starting the Studio."
3428
3583
  }),
3429
3584
  ssrName: null,
@@ -3445,30 +3600,30 @@ var noOpenOption = {
3445
3600
  reset: () => {
3446
3601
  shouldOpenBrowser = true;
3447
3602
  },
3448
- id: cliFlag56
3603
+ id: cliFlag57
3449
3604
  };
3450
3605
 
3451
3606
  // src/options/number-of-gif-loops.tsx
3452
- import { jsx as jsx53, jsxs as jsxs38, Fragment as Fragment53 } from "react/jsx-runtime";
3607
+ import { jsx as jsx54, jsxs as jsxs38, Fragment as Fragment54 } from "react/jsx-runtime";
3453
3608
  var currentLoop = null;
3454
3609
  var validate = (newLoop) => {
3455
3610
  if (newLoop !== null && typeof newLoop !== "number") {
3456
3611
  throw new Error("--number-of-gif-loops flag must be a number.");
3457
3612
  }
3458
3613
  };
3459
- var cliFlag57 = "number-of-gif-loops";
3614
+ var cliFlag58 = "number-of-gif-loops";
3460
3615
  var numberOfGifLoopsOption = {
3461
3616
  name: "Number of GIF loops",
3462
- cliFlag: cliFlag57,
3617
+ cliFlag: cliFlag58,
3463
3618
  description: () => {
3464
- return /* @__PURE__ */ jsxs38(Fragment53, {
3619
+ return /* @__PURE__ */ jsxs38(Fragment54, {
3465
3620
  children: [
3466
3621
  "Allows you to set the number of loops as follows:",
3467
3622
  /* @__PURE__ */ jsxs38("ul", {
3468
3623
  children: [
3469
3624
  /* @__PURE__ */ jsxs38("li", {
3470
3625
  children: [
3471
- /* @__PURE__ */ jsx53("code", {
3626
+ /* @__PURE__ */ jsx54("code", {
3472
3627
  children: "null"
3473
3628
  }),
3474
3629
  " (or omitting in the CLI) plays the GIF indefinitely."
@@ -3476,7 +3631,7 @@ var numberOfGifLoopsOption = {
3476
3631
  }),
3477
3632
  /* @__PURE__ */ jsxs38("li", {
3478
3633
  children: [
3479
- /* @__PURE__ */ jsx53("code", {
3634
+ /* @__PURE__ */ jsx54("code", {
3480
3635
  children: "0"
3481
3636
  }),
3482
3637
  " disables looping"
@@ -3484,7 +3639,7 @@ var numberOfGifLoopsOption = {
3484
3639
  }),
3485
3640
  /* @__PURE__ */ jsxs38("li", {
3486
3641
  children: [
3487
- /* @__PURE__ */ jsx53("code", {
3642
+ /* @__PURE__ */ jsx54("code", {
3488
3643
  children: "1"
3489
3644
  }),
3490
3645
  " loops the GIF once (plays twice in total)"
@@ -3492,7 +3647,7 @@ var numberOfGifLoopsOption = {
3492
3647
  }),
3493
3648
  /* @__PURE__ */ jsxs38("li", {
3494
3649
  children: [
3495
- /* @__PURE__ */ jsx53("code", {
3650
+ /* @__PURE__ */ jsx54("code", {
3496
3651
  children: "2"
3497
3652
  }),
3498
3653
  " loops the GIF twice (plays three times in total) and so on."
@@ -3507,10 +3662,10 @@ var numberOfGifLoopsOption = {
3507
3662
  docLink: "https://www.remotion.dev/docs/render-as-gif#changing-the-number-of-loops",
3508
3663
  type: 0,
3509
3664
  getValue: ({ commandLine }) => {
3510
- if (commandLine[cliFlag57] !== undefined) {
3511
- validate(commandLine[cliFlag57]);
3665
+ if (commandLine[cliFlag58] !== undefined) {
3666
+ validate(commandLine[cliFlag58]);
3512
3667
  return {
3513
- value: commandLine[cliFlag57],
3668
+ value: commandLine[cliFlag58],
3514
3669
  source: "cli"
3515
3670
  };
3516
3671
  }
@@ -3529,22 +3684,22 @@ var numberOfGifLoopsOption = {
3529
3684
  validate(newLoop);
3530
3685
  currentLoop = newLoop;
3531
3686
  },
3532
- id: cliFlag57
3687
+ id: cliFlag58
3533
3688
  };
3534
3689
 
3535
3690
  // src/options/number-of-shared-audio-tags.tsx
3536
- import { jsx as jsx54, jsxs as jsxs39, Fragment as Fragment54 } from "react/jsx-runtime";
3691
+ import { jsx as jsx55, jsxs as jsxs39, Fragment as Fragment55 } from "react/jsx-runtime";
3537
3692
  var numberOfSharedAudioTags = 0;
3538
3693
  var configuredNumberOfSharedAudioTags = null;
3539
- var cliFlag58 = "number-of-shared-audio-tags";
3694
+ var cliFlag59 = "number-of-shared-audio-tags";
3540
3695
  var numberOfSharedAudioTagsOption = {
3541
3696
  name: "Number of shared audio tags",
3542
- cliFlag: cliFlag58,
3543
- description: () => /* @__PURE__ */ jsxs39(Fragment54, {
3697
+ cliFlag: cliFlag59,
3698
+ description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3544
3699
  children: [
3545
3700
  "Set number of shared audio tags. See",
3546
3701
  " ",
3547
- /* @__PURE__ */ jsx54("a", {
3702
+ /* @__PURE__ */ jsx55("a", {
3548
3703
  href: "https://www.remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop",
3549
3704
  children: "Using the numberOfSharedAudioTags prop"
3550
3705
  }),
@@ -3556,9 +3711,9 @@ var numberOfSharedAudioTagsOption = {
3556
3711
  docLink: "https://www.remotion.dev/docs/config#setnumberofsharedaudiotags",
3557
3712
  type: 0,
3558
3713
  getValue: ({ commandLine }) => {
3559
- if (commandLine[cliFlag58] !== undefined) {
3714
+ if (commandLine[cliFlag59] !== undefined) {
3560
3715
  return {
3561
- value: commandLine[cliFlag58],
3716
+ value: commandLine[cliFlag59],
3562
3717
  source: "cli"
3563
3718
  };
3564
3719
  }
@@ -3576,39 +3731,39 @@ var numberOfSharedAudioTagsOption = {
3576
3731
  numberOfSharedAudioTags = 0;
3577
3732
  configuredNumberOfSharedAudioTags = null;
3578
3733
  },
3579
- id: cliFlag58
3734
+ id: cliFlag59
3580
3735
  };
3581
3736
 
3582
3737
  // src/options/offthreadvideo-cache-size.tsx
3583
- import { jsx as jsx55, jsxs as jsxs40, Fragment as Fragment55 } from "react/jsx-runtime";
3738
+ import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
3584
3739
  var offthreadVideoCacheSizeInBytes = null;
3585
- var cliFlag59 = "offthreadvideo-cache-size-in-bytes";
3740
+ var cliFlag60 = "offthreadvideo-cache-size-in-bytes";
3586
3741
  var offthreadVideoCacheSizeInBytesOption = {
3587
3742
  name: "OffthreadVideo cache size",
3588
- cliFlag: cliFlag59,
3589
- description: () => /* @__PURE__ */ jsxs40(Fragment55, {
3743
+ cliFlag: cliFlag60,
3744
+ description: () => /* @__PURE__ */ jsxs40(Fragment56, {
3590
3745
  children: [
3591
3746
  "From v4.0, Remotion has a cache for",
3592
3747
  " ",
3593
- /* @__PURE__ */ jsx55("a", {
3748
+ /* @__PURE__ */ jsx56("a", {
3594
3749
  href: "https://remotion.dev/docs/offthreadvideo",
3595
- children: /* @__PURE__ */ jsx55("code", {
3750
+ children: /* @__PURE__ */ jsx56("code", {
3596
3751
  children: "<OffthreadVideo>"
3597
3752
  })
3598
3753
  }),
3599
3754
  " ",
3600
3755
  "frames. The default is ",
3601
- /* @__PURE__ */ jsx55("code", {
3756
+ /* @__PURE__ */ jsx56("code", {
3602
3757
  children: "null"
3603
3758
  }),
3604
3759
  ", corresponding to half of the system memory available when the render starts.",
3605
- /* @__PURE__ */ jsx55("br", {}),
3760
+ /* @__PURE__ */ jsx56("br", {}),
3606
3761
  " 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.",
3607
- /* @__PURE__ */ jsx55("br", {}),
3762
+ /* @__PURE__ */ jsx56("br", {}),
3608
3763
  "The used value will be printed when running in verbose mode.",
3609
- /* @__PURE__ */ jsx55("br", {}),
3764
+ /* @__PURE__ */ jsx56("br", {}),
3610
3765
  "Default: ",
3611
- /* @__PURE__ */ jsx55("code", {
3766
+ /* @__PURE__ */ jsx56("code", {
3612
3767
  children: "null"
3613
3768
  })
3614
3769
  ]
@@ -3617,10 +3772,10 @@ var offthreadVideoCacheSizeInBytesOption = {
3617
3772
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
3618
3773
  type: 0,
3619
3774
  getValue: ({ commandLine }) => {
3620
- if (commandLine[cliFlag59] !== undefined) {
3775
+ if (commandLine[cliFlag60] !== undefined) {
3621
3776
  return {
3622
3777
  source: "cli",
3623
- value: commandLine[cliFlag59]
3778
+ value: commandLine[cliFlag60]
3624
3779
  };
3625
3780
  }
3626
3781
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -3637,22 +3792,22 @@ var offthreadVideoCacheSizeInBytesOption = {
3637
3792
  setConfig: (size) => {
3638
3793
  offthreadVideoCacheSizeInBytes = size ?? null;
3639
3794
  },
3640
- id: cliFlag59
3795
+ id: cliFlag60
3641
3796
  };
3642
3797
 
3643
3798
  // src/options/offthreadvideo-threads.tsx
3644
- import { jsx as jsx56, jsxs as jsxs41, Fragment as Fragment56 } from "react/jsx-runtime";
3799
+ import { jsx as jsx57, jsxs as jsxs41, Fragment as Fragment57 } from "react/jsx-runtime";
3645
3800
  var value2 = null;
3646
- var cliFlag60 = "offthreadvideo-video-threads";
3801
+ var cliFlag61 = "offthreadvideo-video-threads";
3647
3802
  var offthreadVideoThreadsOption = {
3648
3803
  name: "OffthreadVideo threads",
3649
- cliFlag: cliFlag60,
3650
- description: () => /* @__PURE__ */ jsxs41(Fragment56, {
3804
+ cliFlag: cliFlag61,
3805
+ description: () => /* @__PURE__ */ jsxs41(Fragment57, {
3651
3806
  children: [
3652
3807
  "The number of threads that",
3653
- /* @__PURE__ */ jsx56("a", {
3808
+ /* @__PURE__ */ jsx57("a", {
3654
3809
  href: "https://remotion.dev/docs/offthreadvideo",
3655
- children: /* @__PURE__ */ jsx56("code", {
3810
+ children: /* @__PURE__ */ jsx57("code", {
3656
3811
  children: "<OffthreadVideo>"
3657
3812
  })
3658
3813
  }),
@@ -3667,10 +3822,10 @@ var offthreadVideoThreadsOption = {
3667
3822
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
3668
3823
  type: 0,
3669
3824
  getValue: ({ commandLine }) => {
3670
- if (commandLine[cliFlag60] !== undefined) {
3825
+ if (commandLine[cliFlag61] !== undefined) {
3671
3826
  return {
3672
3827
  source: "cli",
3673
- value: commandLine[cliFlag60]
3828
+ value: commandLine[cliFlag61]
3674
3829
  };
3675
3830
  }
3676
3831
  if (value2 !== null) {
@@ -3687,21 +3842,21 @@ var offthreadVideoThreadsOption = {
3687
3842
  setConfig: (size) => {
3688
3843
  value2 = size ?? null;
3689
3844
  },
3690
- id: cliFlag60
3845
+ id: cliFlag61
3691
3846
  };
3692
3847
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
3693
3848
 
3694
3849
  // src/options/on-browser-download.tsx
3695
- import { jsx as jsx57, jsxs as jsxs42, Fragment as Fragment57 } from "react/jsx-runtime";
3696
- var cliFlag61 = "on-browser-download";
3850
+ import { jsx as jsx58, jsxs as jsxs42, Fragment as Fragment58 } from "react/jsx-runtime";
3851
+ var cliFlag62 = "on-browser-download";
3697
3852
  var onBrowserDownloadOption = {
3698
3853
  name: "Browser download callback function",
3699
- cliFlag: cliFlag61,
3700
- description: () => /* @__PURE__ */ jsxs42(Fragment57, {
3854
+ cliFlag: cliFlag62,
3855
+ description: () => /* @__PURE__ */ jsxs42(Fragment58, {
3701
3856
  children: [
3702
3857
  "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.",
3703
3858
  " ",
3704
- /* @__PURE__ */ jsx57("a", {
3859
+ /* @__PURE__ */ jsx58("a", {
3705
3860
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
3706
3861
  children: "See here for how to use this option."
3707
3862
  })
@@ -3716,26 +3871,26 @@ var onBrowserDownloadOption = {
3716
3871
  setConfig: () => {
3717
3872
  throw new Error("does not support config file");
3718
3873
  },
3719
- id: cliFlag61
3874
+ id: cliFlag62
3720
3875
  };
3721
3876
 
3722
3877
  // src/options/out-dir.tsx
3723
- import { jsx as jsx58, jsxs as jsxs43, Fragment as Fragment58 } from "react/jsx-runtime";
3724
- var cliFlag62 = "out-dir";
3878
+ import { jsx as jsx59, jsxs as jsxs43, Fragment as Fragment59 } from "react/jsx-runtime";
3879
+ var cliFlag63 = "out-dir";
3725
3880
  var currentOutDir = null;
3726
3881
  var outDirOption = {
3727
3882
  name: "Output Directory",
3728
- cliFlag: cliFlag62,
3883
+ cliFlag: cliFlag63,
3729
3884
  description: () => {
3730
- return /* @__PURE__ */ jsxs43(Fragment58, {
3885
+ return /* @__PURE__ */ jsxs43(Fragment59, {
3731
3886
  children: [
3732
3887
  "Define the location of the resulting bundle. By default it is a folder called ",
3733
- /* @__PURE__ */ jsx58("code", {
3888
+ /* @__PURE__ */ jsx59("code", {
3734
3889
  children: "build"
3735
3890
  }),
3736
3891
  ", adjacent to the",
3737
3892
  " ",
3738
- /* @__PURE__ */ jsx58("a", {
3893
+ /* @__PURE__ */ jsx59("a", {
3739
3894
  href: "/docs/terminology/remotion-root",
3740
3895
  children: "Remotion Root"
3741
3896
  }),
@@ -3746,10 +3901,10 @@ var outDirOption = {
3746
3901
  ssrName: "outDir",
3747
3902
  docLink: "https://www.remotion.dev/docs/cli/bundle#--out-dir",
3748
3903
  getValue: ({ commandLine }) => {
3749
- if (commandLine[cliFlag62] !== undefined) {
3904
+ if (commandLine[cliFlag63] !== undefined) {
3750
3905
  return {
3751
3906
  source: "cli",
3752
- value: commandLine[cliFlag62]
3907
+ value: commandLine[cliFlag63]
3753
3908
  };
3754
3909
  }
3755
3910
  if (currentOutDir !== null) {
@@ -3767,7 +3922,7 @@ var outDirOption = {
3767
3922
  currentOutDir = value3;
3768
3923
  },
3769
3924
  type: "",
3770
- id: cliFlag62
3925
+ id: cliFlag63
3771
3926
  };
3772
3927
 
3773
3928
  // src/validate.ts
@@ -3777,21 +3932,21 @@ var validateDimension = NoReactInternals3.validateDimension;
3777
3932
  var validateDurationInFrames = NoReactInternals3.validateDurationInFrames;
3778
3933
 
3779
3934
  // src/options/override-duration.tsx
3780
- import { jsx as jsx59, Fragment as Fragment59 } from "react/jsx-runtime";
3935
+ import { jsx as jsx60, Fragment as Fragment60 } from "react/jsx-runtime";
3781
3936
  var currentDuration = null;
3782
- var cliFlag63 = "duration";
3937
+ var cliFlag64 = "duration";
3783
3938
  var overrideDurationOption = {
3784
3939
  name: "Override Duration",
3785
- cliFlag: cliFlag63,
3786
- description: () => /* @__PURE__ */ jsx59(Fragment59, {
3940
+ cliFlag: cliFlag64,
3941
+ description: () => /* @__PURE__ */ jsx60(Fragment60, {
3787
3942
  children: "Overrides the duration in frames of the composition."
3788
3943
  }),
3789
3944
  ssrName: null,
3790
3945
  docLink: "https://www.remotion.dev/docs/config#overrideduration",
3791
3946
  type: null,
3792
3947
  getValue: ({ commandLine }) => {
3793
- if (commandLine[cliFlag63] !== undefined) {
3794
- const value3 = commandLine[cliFlag63];
3948
+ if (commandLine[cliFlag64] !== undefined) {
3949
+ const value3 = commandLine[cliFlag64];
3795
3950
  validateDurationInFrames(value3, {
3796
3951
  component: "in --duration flag",
3797
3952
  allowFloats: false
@@ -3822,25 +3977,25 @@ var overrideDurationOption = {
3822
3977
  reset: () => {
3823
3978
  currentDuration = null;
3824
3979
  },
3825
- id: cliFlag63
3980
+ id: cliFlag64
3826
3981
  };
3827
3982
 
3828
3983
  // src/options/override-fps.tsx
3829
- import { jsx as jsx60, Fragment as Fragment60 } from "react/jsx-runtime";
3984
+ import { jsx as jsx61, Fragment as Fragment61 } from "react/jsx-runtime";
3830
3985
  var currentFps = null;
3831
- var cliFlag64 = "fps";
3986
+ var cliFlag65 = "fps";
3832
3987
  var overrideFpsOption = {
3833
3988
  name: "Override FPS",
3834
- cliFlag: cliFlag64,
3835
- description: () => /* @__PURE__ */ jsx60(Fragment60, {
3989
+ cliFlag: cliFlag65,
3990
+ description: () => /* @__PURE__ */ jsx61(Fragment61, {
3836
3991
  children: "Overrides the frames per second of the composition."
3837
3992
  }),
3838
3993
  ssrName: null,
3839
3994
  docLink: "https://www.remotion.dev/docs/config#overridefps",
3840
3995
  type: null,
3841
3996
  getValue: ({ commandLine }) => {
3842
- if (commandLine[cliFlag64] !== undefined) {
3843
- const value3 = commandLine[cliFlag64];
3997
+ if (commandLine[cliFlag65] !== undefined) {
3998
+ const value3 = commandLine[cliFlag65];
3844
3999
  validateFps(value3, "in --fps flag", false);
3845
4000
  return {
3846
4001
  source: "cli",
@@ -3865,25 +4020,25 @@ var overrideFpsOption = {
3865
4020
  reset: () => {
3866
4021
  currentFps = null;
3867
4022
  },
3868
- id: cliFlag64
4023
+ id: cliFlag65
3869
4024
  };
3870
4025
 
3871
4026
  // src/options/override-height.tsx
3872
- import { jsx as jsx61, Fragment as Fragment61 } from "react/jsx-runtime";
4027
+ import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
3873
4028
  var currentHeight = null;
3874
- var cliFlag65 = "height";
4029
+ var cliFlag66 = "height";
3875
4030
  var overrideHeightOption = {
3876
4031
  name: "Override Height",
3877
- cliFlag: cliFlag65,
3878
- description: () => /* @__PURE__ */ jsx61(Fragment61, {
4032
+ cliFlag: cliFlag66,
4033
+ description: () => /* @__PURE__ */ jsx62(Fragment62, {
3879
4034
  children: "Overrides the height of the composition."
3880
4035
  }),
3881
4036
  ssrName: null,
3882
4037
  docLink: "https://www.remotion.dev/docs/config#overrideheight",
3883
4038
  type: null,
3884
4039
  getValue: ({ commandLine }) => {
3885
- if (commandLine[cliFlag65] !== undefined) {
3886
- const value3 = commandLine[cliFlag65];
4040
+ if (commandLine[cliFlag66] !== undefined) {
4041
+ const value3 = commandLine[cliFlag66];
3887
4042
  validateDimension(value3, "height", "in --height flag");
3888
4043
  return {
3889
4044
  source: "cli",
@@ -3908,25 +4063,25 @@ var overrideHeightOption = {
3908
4063
  reset: () => {
3909
4064
  currentHeight = null;
3910
4065
  },
3911
- id: cliFlag65
4066
+ id: cliFlag66
3912
4067
  };
3913
4068
 
3914
4069
  // src/options/override-width.tsx
3915
- import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
4070
+ import { jsx as jsx63, Fragment as Fragment63 } from "react/jsx-runtime";
3916
4071
  var currentWidth = null;
3917
- var cliFlag66 = "width";
4072
+ var cliFlag67 = "width";
3918
4073
  var overrideWidthOption = {
3919
4074
  name: "Override Width",
3920
- cliFlag: cliFlag66,
3921
- description: () => /* @__PURE__ */ jsx62(Fragment62, {
4075
+ cliFlag: cliFlag67,
4076
+ description: () => /* @__PURE__ */ jsx63(Fragment63, {
3922
4077
  children: "Overrides the width of the composition."
3923
4078
  }),
3924
4079
  ssrName: null,
3925
4080
  docLink: "https://www.remotion.dev/docs/config#overridewidth",
3926
4081
  type: null,
3927
4082
  getValue: ({ commandLine }) => {
3928
- if (commandLine[cliFlag66] !== undefined) {
3929
- const value3 = commandLine[cliFlag66];
4083
+ if (commandLine[cliFlag67] !== undefined) {
4084
+ const value3 = commandLine[cliFlag67];
3930
4085
  validateDimension(value3, "width", "in --width flag");
3931
4086
  return {
3932
4087
  source: "cli",
@@ -3951,13 +4106,13 @@ var overrideWidthOption = {
3951
4106
  reset: () => {
3952
4107
  currentWidth = null;
3953
4108
  },
3954
- id: cliFlag66
4109
+ id: cliFlag67
3955
4110
  };
3956
4111
 
3957
4112
  // src/options/overwrite.tsx
3958
- import { jsx as jsx63, jsxs as jsxs44, Fragment as Fragment63 } from "react/jsx-runtime";
4113
+ import { jsx as jsx64, jsxs as jsxs44, Fragment as Fragment64 } from "react/jsx-runtime";
3959
4114
  var shouldOverwrite = null;
3960
- var cliFlag67 = "overwrite";
4115
+ var cliFlag68 = "overwrite";
3961
4116
  var validate2 = (value3) => {
3962
4117
  if (typeof value3 !== "boolean") {
3963
4118
  throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
@@ -3965,15 +4120,15 @@ var validate2 = (value3) => {
3965
4120
  };
3966
4121
  var overwriteOption = {
3967
4122
  name: "Overwrite output",
3968
- cliFlag: cliFlag67,
3969
- description: () => /* @__PURE__ */ jsxs44(Fragment63, {
4123
+ cliFlag: cliFlag68,
4124
+ description: () => /* @__PURE__ */ jsxs44(Fragment64, {
3970
4125
  children: [
3971
4126
  "If set to ",
3972
- /* @__PURE__ */ jsx63("code", {
4127
+ /* @__PURE__ */ jsx64("code", {
3973
4128
  children: "false"
3974
4129
  }),
3975
4130
  ", will prevent rendering to a path that already exists. Default is ",
3976
- /* @__PURE__ */ jsx63("code", {
4131
+ /* @__PURE__ */ jsx64("code", {
3977
4132
  children: "true"
3978
4133
  }),
3979
4134
  "."
@@ -3983,11 +4138,11 @@ var overwriteOption = {
3983
4138
  docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
3984
4139
  type: false,
3985
4140
  getValue: ({ commandLine }, defaultValue2) => {
3986
- if (commandLine[cliFlag67] !== undefined && commandLine[cliFlag67] !== null) {
3987
- validate2(commandLine[cliFlag67]);
4141
+ if (commandLine[cliFlag68] !== undefined && commandLine[cliFlag68] !== null) {
4142
+ validate2(commandLine[cliFlag68]);
3988
4143
  return {
3989
4144
  source: "cli",
3990
- value: commandLine[cliFlag67]
4145
+ value: commandLine[cliFlag68]
3991
4146
  };
3992
4147
  }
3993
4148
  if (shouldOverwrite !== null) {
@@ -4008,40 +4163,40 @@ var overwriteOption = {
4008
4163
  reset: () => {
4009
4164
  shouldOverwrite = null;
4010
4165
  },
4011
- id: cliFlag67
4166
+ id: cliFlag68
4012
4167
  };
4013
4168
 
4014
4169
  // src/options/package-manager.tsx
4015
- import { jsx as jsx64, jsxs as jsxs45, Fragment as Fragment64 } from "react/jsx-runtime";
4016
- var cliFlag68 = "package-manager";
4170
+ import { jsx as jsx65, jsxs as jsxs45, Fragment as Fragment65 } from "react/jsx-runtime";
4171
+ var cliFlag69 = "package-manager";
4017
4172
  var currentPackageManager = null;
4018
4173
  var packageManagerOption = {
4019
4174
  name: "Package Manager",
4020
- cliFlag: cliFlag68,
4175
+ cliFlag: cliFlag69,
4021
4176
  description: () => {
4022
- return /* @__PURE__ */ jsxs45(Fragment64, {
4177
+ return /* @__PURE__ */ jsxs45(Fragment65, {
4023
4178
  children: [
4024
4179
  "Forces a specific package manager to be used. By default, Remotion will auto-detect the package manager based on your lockfile.",
4025
- /* @__PURE__ */ jsx64("br", {}),
4180
+ /* @__PURE__ */ jsx65("br", {}),
4026
4181
  "Acceptable values are ",
4027
- /* @__PURE__ */ jsx64("code", {
4182
+ /* @__PURE__ */ jsx65("code", {
4028
4183
  children: "npm"
4029
4184
  }),
4030
4185
  ", ",
4031
- /* @__PURE__ */ jsx64("code", {
4186
+ /* @__PURE__ */ jsx65("code", {
4032
4187
  children: "yarn"
4033
4188
  }),
4034
4189
  ",",
4035
4190
  " ",
4036
- /* @__PURE__ */ jsx64("code", {
4191
+ /* @__PURE__ */ jsx65("code", {
4037
4192
  children: "pnpm"
4038
4193
  }),
4039
4194
  ", ",
4040
- /* @__PURE__ */ jsx64("code", {
4195
+ /* @__PURE__ */ jsx65("code", {
4041
4196
  children: "bun"
4042
4197
  }),
4043
4198
  " and ",
4044
- /* @__PURE__ */ jsx64("code", {
4199
+ /* @__PURE__ */ jsx65("code", {
4045
4200
  children: "nub"
4046
4201
  }),
4047
4202
  "."
@@ -4051,10 +4206,10 @@ var packageManagerOption = {
4051
4206
  ssrName: "packageManager",
4052
4207
  docLink: "https://www.remotion.dev/docs/cli/upgrade#--package-manager",
4053
4208
  getValue: ({ commandLine }) => {
4054
- if (commandLine[cliFlag68] !== undefined) {
4209
+ if (commandLine[cliFlag69] !== undefined) {
4055
4210
  return {
4056
4211
  source: "cli",
4057
- value: commandLine[cliFlag68]
4212
+ value: commandLine[cliFlag69]
4058
4213
  };
4059
4214
  }
4060
4215
  if (currentPackageManager !== null) {
@@ -4072,7 +4227,7 @@ var packageManagerOption = {
4072
4227
  currentPackageManager = value3;
4073
4228
  },
4074
4229
  type: "",
4075
- id: cliFlag68
4230
+ id: cliFlag69
4076
4231
  };
4077
4232
 
4078
4233
  // src/pixel-format.ts
@@ -4095,17 +4250,17 @@ var validPixelFormatsForCodec = (codec) => {
4095
4250
  };
4096
4251
 
4097
4252
  // src/options/pixel-format.tsx
4098
- import { jsx as jsx65, jsxs as jsxs46, Fragment as Fragment65 } from "react/jsx-runtime";
4253
+ import { jsx as jsx66, jsxs as jsxs46, Fragment as Fragment66 } from "react/jsx-runtime";
4099
4254
  var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
4100
- var cliFlag69 = "pixel-format";
4255
+ var cliFlag70 = "pixel-format";
4101
4256
  var pixelFormatOption = {
4102
4257
  name: "Pixel format",
4103
- cliFlag: cliFlag69,
4104
- description: () => /* @__PURE__ */ jsxs46(Fragment65, {
4258
+ cliFlag: cliFlag70,
4259
+ description: () => /* @__PURE__ */ jsxs46(Fragment66, {
4105
4260
  children: [
4106
4261
  "Sets the pixel format in FFmpeg. See",
4107
4262
  " ",
4108
- /* @__PURE__ */ jsx65("a", {
4263
+ /* @__PURE__ */ jsx66("a", {
4109
4264
  href: "https://trac.ffmpeg.org/wiki/Chroma%20Subsampling",
4110
4265
  children: "the FFmpeg docs for an explanation"
4111
4266
  }),
@@ -4124,10 +4279,10 @@ var pixelFormatOption = {
4124
4279
  value: options.uiPixelFormat
4125
4280
  };
4126
4281
  }
4127
- if (commandLine[cliFlag69] !== undefined) {
4282
+ if (commandLine[cliFlag70] !== undefined) {
4128
4283
  return {
4129
4284
  source: "from --pixel-format flag",
4130
- value: commandLine[cliFlag69]
4285
+ value: commandLine[cliFlag70]
4131
4286
  };
4132
4287
  }
4133
4288
  if (options && options.compositionDefaultPixelFormat !== null) {
@@ -4153,26 +4308,26 @@ var pixelFormatOption = {
4153
4308
  }
4154
4309
  currentPixelFormat = value3;
4155
4310
  },
4156
- id: cliFlag69
4311
+ id: cliFlag70
4157
4312
  };
4158
4313
 
4159
4314
  // src/options/port.tsx
4160
- import { jsx as jsx66, Fragment as Fragment66 } from "react/jsx-runtime";
4161
- var cliFlag70 = "port";
4315
+ import { jsx as jsx67, Fragment as Fragment67 } from "react/jsx-runtime";
4316
+ var cliFlag71 = "port";
4162
4317
  var currentPort = null;
4163
4318
  var portOption = {
4164
4319
  name: "Port",
4165
- cliFlag: cliFlag70,
4166
- description: () => /* @__PURE__ */ jsx66(Fragment66, {
4320
+ cliFlag: cliFlag71,
4321
+ description: () => /* @__PURE__ */ jsx67(Fragment67, {
4167
4322
  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."
4168
4323
  }),
4169
4324
  ssrName: null,
4170
4325
  docLink: "https://www.remotion.dev/docs/config#setstudioport",
4171
4326
  getValue: ({ commandLine }) => {
4172
- if (commandLine[cliFlag70] !== undefined) {
4327
+ if (commandLine[cliFlag71] !== undefined) {
4173
4328
  return {
4174
4329
  source: "cli",
4175
- value: commandLine[cliFlag70]
4330
+ value: commandLine[cliFlag71]
4176
4331
  };
4177
4332
  }
4178
4333
  if (currentPort !== null) {
@@ -4190,25 +4345,25 @@ var portOption = {
4190
4345
  currentPort = value3;
4191
4346
  },
4192
4347
  type: 0,
4193
- id: cliFlag70
4348
+ id: cliFlag71
4194
4349
  };
4195
4350
 
4196
4351
  // src/options/prefer-lossless.tsx
4197
- import { jsx as jsx67, jsxs as jsxs47, Fragment as Fragment67 } from "react/jsx-runtime";
4198
- var cliFlag71 = "prefer-lossless";
4352
+ import { jsx as jsx68, jsxs as jsxs47, Fragment as Fragment68 } from "react/jsx-runtime";
4353
+ var cliFlag72 = "prefer-lossless";
4199
4354
  var input = false;
4200
4355
  var preferLosslessAudioOption = {
4201
4356
  name: "Prefer lossless",
4202
- cliFlag: cliFlag71,
4203
- description: () => /* @__PURE__ */ jsxs47(Fragment67, {
4357
+ cliFlag: cliFlag72,
4358
+ description: () => /* @__PURE__ */ jsxs47(Fragment68, {
4204
4359
  children: [
4205
4360
  "Uses a lossless audio codec, if one is available for the codec. If you set",
4206
- /* @__PURE__ */ jsx67("code", {
4361
+ /* @__PURE__ */ jsx68("code", {
4207
4362
  children: "audioCodec"
4208
4363
  }),
4209
4364
  ", it takes priority over",
4210
4365
  " ",
4211
- /* @__PURE__ */ jsx67("code", {
4366
+ /* @__PURE__ */ jsx68("code", {
4212
4367
  children: "preferLossless"
4213
4368
  }),
4214
4369
  "."
@@ -4218,7 +4373,7 @@ var preferLosslessAudioOption = {
4218
4373
  type: false,
4219
4374
  ssrName: "preferLossless",
4220
4375
  getValue: ({ commandLine }) => {
4221
- if (commandLine[cliFlag71]) {
4376
+ if (commandLine[cliFlag72]) {
4222
4377
  return { value: true, source: "cli" };
4223
4378
  }
4224
4379
  if (input === true) {
@@ -4229,20 +4384,20 @@ var preferLosslessAudioOption = {
4229
4384
  setConfig: (val) => {
4230
4385
  input = val;
4231
4386
  },
4232
- id: cliFlag71
4387
+ id: cliFlag72
4233
4388
  };
4234
4389
 
4235
4390
  // src/options/preview-sample-rate.tsx
4236
- import { jsx as jsx68, jsxs as jsxs48, Fragment as Fragment68 } from "react/jsx-runtime";
4237
- var cliFlag72 = "preview-sample-rate";
4391
+ import { jsx as jsx69, jsxs as jsxs48, Fragment as Fragment69 } from "react/jsx-runtime";
4392
+ var cliFlag73 = "preview-sample-rate";
4238
4393
  var currentPreviewSampleRate = null;
4239
4394
  var previewSampleRateOption = {
4240
4395
  name: "Preview Sample Rate",
4241
- cliFlag: cliFlag72,
4242
- description: () => /* @__PURE__ */ jsxs48(Fragment68, {
4396
+ cliFlag: cliFlag73,
4397
+ description: () => /* @__PURE__ */ jsxs48(Fragment69, {
4243
4398
  children: [
4244
4399
  "Controls the sample rate used for audio playback during preview. When unset, Remotion uses ",
4245
- /* @__PURE__ */ jsx68("code", {
4400
+ /* @__PURE__ */ jsx69("code", {
4246
4401
  children: "48000"
4247
4402
  }),
4248
4403
  " Hz."
@@ -4252,8 +4407,8 @@ var previewSampleRateOption = {
4252
4407
  docLink: "https://www.remotion.dev/docs/config#setpreviewsamplerate",
4253
4408
  type: null,
4254
4409
  getValue: ({ commandLine }) => {
4255
- if (commandLine[cliFlag72] !== undefined) {
4256
- return { value: commandLine[cliFlag72], source: "cli" };
4410
+ if (commandLine[cliFlag73] !== undefined) {
4411
+ return { value: commandLine[cliFlag73], source: "cli" };
4257
4412
  }
4258
4413
  if (currentPreviewSampleRate !== null) {
4259
4414
  return { value: currentPreviewSampleRate, source: "config file" };
@@ -4263,16 +4418,16 @@ var previewSampleRateOption = {
4263
4418
  setConfig: (value3) => {
4264
4419
  currentPreviewSampleRate = value3;
4265
4420
  },
4266
- id: cliFlag72
4421
+ id: cliFlag73
4267
4422
  };
4268
4423
 
4269
4424
  // src/options/props.tsx
4270
- import { jsx as jsx69, jsxs as jsxs49, Fragment as Fragment69 } from "react/jsx-runtime";
4271
- var cliFlag73 = "props";
4425
+ import { jsx as jsx70, jsxs as jsxs49, Fragment as Fragment70 } from "react/jsx-runtime";
4426
+ var cliFlag74 = "props";
4272
4427
  var propsOption = {
4273
4428
  name: "Input Props",
4274
- cliFlag: cliFlag73,
4275
- description: () => /* @__PURE__ */ jsxs49(Fragment69, {
4429
+ cliFlag: cliFlag74,
4430
+ description: () => /* @__PURE__ */ jsxs49(Fragment70, {
4276
4431
  children: [
4277
4432
  "Input Props to pass to the selected composition of your video. Must be a serialized JSON string (",
4278
4433
  /* @__PURE__ */ jsxs49("code", {
@@ -4285,7 +4440,7 @@ var propsOption = {
4285
4440
  ]
4286
4441
  }),
4287
4442
  ") or a path to a JSON file (",
4288
- /* @__PURE__ */ jsx69("code", {
4443
+ /* @__PURE__ */ jsx70("code", {
4289
4444
  children: "./path/to/props.json"
4290
4445
  }),
4291
4446
  ")."
@@ -4294,10 +4449,10 @@ var propsOption = {
4294
4449
  ssrName: null,
4295
4450
  docLink: "https://www.remotion.dev/docs/passing-props#passing-input-props-in-the-cli",
4296
4451
  getValue: ({ commandLine }) => {
4297
- if (commandLine[cliFlag73] !== undefined) {
4452
+ if (commandLine[cliFlag74] !== undefined) {
4298
4453
  return {
4299
4454
  source: "cli",
4300
- value: commandLine[cliFlag73]
4455
+ value: commandLine[cliFlag74]
4301
4456
  };
4302
4457
  }
4303
4458
  return {
@@ -4309,11 +4464,11 @@ var propsOption = {
4309
4464
  throw new Error("setProps is not supported. Pass --props via the CLI instead.");
4310
4465
  },
4311
4466
  type: "",
4312
- id: cliFlag73
4467
+ id: cliFlag74
4313
4468
  };
4314
4469
 
4315
4470
  // src/options/prores-profile.tsx
4316
- import { jsx as jsx70, jsxs as jsxs50, Fragment as Fragment70 } from "react/jsx-runtime";
4471
+ import { jsx as jsx71, jsxs as jsxs50, Fragment as Fragment71 } from "react/jsx-runtime";
4317
4472
  var validProResProfiles = [
4318
4473
  "4444-xq",
4319
4474
  "4444",
@@ -4323,14 +4478,14 @@ var validProResProfiles = [
4323
4478
  "proxy"
4324
4479
  ];
4325
4480
  var proResProfile;
4326
- var cliFlag74 = "prores-profile";
4481
+ var cliFlag75 = "prores-profile";
4327
4482
  var proResProfileOption = {
4328
4483
  name: "ProRes profile",
4329
- cliFlag: cliFlag74,
4330
- description: () => /* @__PURE__ */ jsxs50(Fragment70, {
4484
+ cliFlag: cliFlag75,
4485
+ description: () => /* @__PURE__ */ jsxs50(Fragment71, {
4331
4486
  children: [
4332
4487
  "Set the ProRes profile. This option is only valid if the codec has been set to ",
4333
- /* @__PURE__ */ jsx70("code", {
4488
+ /* @__PURE__ */ jsx71("code", {
4334
4489
  children: "prores"
4335
4490
  }),
4336
4491
  ". Possible values:",
@@ -4338,12 +4493,12 @@ var proResProfileOption = {
4338
4493
  validProResProfiles.map((p) => `"${p}"`).join(", "),
4339
4494
  ". Default:",
4340
4495
  " ",
4341
- /* @__PURE__ */ jsx70("code", {
4496
+ /* @__PURE__ */ jsx71("code", {
4342
4497
  children: '"hq"'
4343
4498
  }),
4344
4499
  ". See",
4345
4500
  " ",
4346
- /* @__PURE__ */ jsx70("a", {
4501
+ /* @__PURE__ */ jsx71("a", {
4347
4502
  href: "https://video.stackexchange.com/a/14715",
4348
4503
  children: "here"
4349
4504
  }),
@@ -4360,10 +4515,10 @@ var proResProfileOption = {
4360
4515
  value: options.uiProResProfile
4361
4516
  };
4362
4517
  }
4363
- if (commandLine[cliFlag74] !== undefined) {
4518
+ if (commandLine[cliFlag75] !== undefined) {
4364
4519
  return {
4365
4520
  source: "from --prores-profile flag",
4366
- value: String(commandLine[cliFlag74])
4521
+ value: String(commandLine[cliFlag75])
4367
4522
  };
4368
4523
  }
4369
4524
  if (options && options.compositionDefaultProResProfile !== null) {
@@ -4386,24 +4541,24 @@ var proResProfileOption = {
4386
4541
  setConfig: (value3) => {
4387
4542
  proResProfile = value3;
4388
4543
  },
4389
- id: cliFlag74
4544
+ id: cliFlag75
4390
4545
  };
4391
4546
 
4392
4547
  // src/options/public-dir.tsx
4393
- import { jsx as jsx71, jsxs as jsxs51, Fragment as Fragment71 } from "react/jsx-runtime";
4394
- var cliFlag75 = "public-dir";
4548
+ import { jsx as jsx72, jsxs as jsxs51, Fragment as Fragment72 } from "react/jsx-runtime";
4549
+ var cliFlag76 = "public-dir";
4395
4550
  var currentPublicDir = null;
4396
4551
  var publicDirOption = {
4397
4552
  name: "Public Directory",
4398
- cliFlag: cliFlag75,
4553
+ cliFlag: cliFlag76,
4399
4554
  description: () => {
4400
- return /* @__PURE__ */ jsxs51(Fragment71, {
4555
+ return /* @__PURE__ */ jsxs51(Fragment72, {
4401
4556
  children: [
4402
4557
  "Define the location of the",
4403
4558
  " ",
4404
- /* @__PURE__ */ jsx71("a", {
4559
+ /* @__PURE__ */ jsx72("a", {
4405
4560
  href: "/docs/terminology/public-dir",
4406
- children: /* @__PURE__ */ jsx71("code", {
4561
+ children: /* @__PURE__ */ jsx72("code", {
4407
4562
  children: "public/ directory"
4408
4563
  })
4409
4564
  }),
@@ -4414,10 +4569,10 @@ var publicDirOption = {
4414
4569
  ssrName: "publicDir",
4415
4570
  docLink: "https://www.remotion.dev/docs/terminology/public-dir",
4416
4571
  getValue: ({ commandLine }) => {
4417
- if (commandLine[cliFlag75] !== undefined) {
4572
+ if (commandLine[cliFlag76] !== undefined) {
4418
4573
  return {
4419
4574
  source: "cli",
4420
- value: commandLine[cliFlag75]
4575
+ value: commandLine[cliFlag76]
4421
4576
  };
4422
4577
  }
4423
4578
  if (currentPublicDir !== null) {
@@ -4435,20 +4590,20 @@ var publicDirOption = {
4435
4590
  currentPublicDir = value3;
4436
4591
  },
4437
4592
  type: "",
4438
- id: cliFlag75
4593
+ id: cliFlag76
4439
4594
  };
4440
4595
 
4441
4596
  // src/options/public-license-key.tsx
4442
- import { jsx as jsx72, jsxs as jsxs52, Fragment as Fragment72 } from "react/jsx-runtime";
4443
- var cliFlag76 = "public-license-key";
4597
+ import { jsx as jsx73, jsxs as jsxs52, Fragment as Fragment73 } from "react/jsx-runtime";
4598
+ var cliFlag77 = "public-license-key";
4444
4599
  var currentPublicLicenseKey = null;
4445
4600
  var publicLicenseKeyOption = {
4446
4601
  name: "Public License Key",
4447
- cliFlag: cliFlag76,
4448
- description: () => /* @__PURE__ */ jsxs52(Fragment72, {
4602
+ cliFlag: cliFlag77,
4603
+ description: () => /* @__PURE__ */ jsxs52(Fragment73, {
4449
4604
  children: [
4450
4605
  "The public license key for your company license, obtained from the License keys page on ",
4451
- /* @__PURE__ */ jsx72("a", {
4606
+ /* @__PURE__ */ jsx73("a", {
4452
4607
  href: "https://remotion.pro/dashboard",
4453
4608
  children: "remotion.pro"
4454
4609
  }),
@@ -4458,10 +4613,10 @@ var publicLicenseKeyOption = {
4458
4613
  ssrName: "publicLicenseKey",
4459
4614
  docLink: "https://www.remotion.dev/docs/licensing",
4460
4615
  getValue: ({ commandLine }) => {
4461
- if (commandLine[cliFlag76] !== undefined) {
4616
+ if (commandLine[cliFlag77] !== undefined) {
4462
4617
  return {
4463
4618
  source: "cli",
4464
- value: commandLine[cliFlag76]
4619
+ value: commandLine[cliFlag77]
4465
4620
  };
4466
4621
  }
4467
4622
  if (currentPublicLicenseKey !== null) {
@@ -4482,25 +4637,25 @@ var publicLicenseKeyOption = {
4482
4637
  currentPublicLicenseKey = value3;
4483
4638
  },
4484
4639
  type: null,
4485
- id: cliFlag76
4640
+ id: cliFlag77
4486
4641
  };
4487
4642
 
4488
4643
  // src/options/public-path.tsx
4489
- import { jsx as jsx73, jsxs as jsxs53, Fragment as Fragment73 } from "react/jsx-runtime";
4490
- var cliFlag77 = "public-path";
4644
+ import { jsx as jsx74, jsxs as jsxs53, Fragment as Fragment74 } from "react/jsx-runtime";
4645
+ var cliFlag78 = "public-path";
4491
4646
  var currentPublicPath = null;
4492
4647
  var publicPathOption = {
4493
4648
  name: "Public Path",
4494
- cliFlag: cliFlag77,
4649
+ cliFlag: cliFlag78,
4495
4650
  description: () => {
4496
- return /* @__PURE__ */ jsxs53(Fragment73, {
4651
+ return /* @__PURE__ */ jsxs53(Fragment74, {
4497
4652
  children: [
4498
4653
  "The path of the URL where the bundle is going to be hosted. By default it is ",
4499
- /* @__PURE__ */ jsx73("code", {
4654
+ /* @__PURE__ */ jsx74("code", {
4500
4655
  children: "./"
4501
4656
  }),
4502
4657
  ", making the bundle relocatable. Set an absolute path such as ",
4503
- /* @__PURE__ */ jsx73("code", {
4658
+ /* @__PURE__ */ jsx74("code", {
4504
4659
  children: "/sites/my-site/"
4505
4660
  }),
4506
4661
  " to host the bundle at a fixed location."
@@ -4510,10 +4665,10 @@ var publicPathOption = {
4510
4665
  ssrName: "publicPath",
4511
4666
  docLink: "https://www.remotion.dev/docs/renderer",
4512
4667
  getValue: ({ commandLine }) => {
4513
- if (commandLine[cliFlag77] !== undefined) {
4668
+ if (commandLine[cliFlag78] !== undefined) {
4514
4669
  return {
4515
4670
  source: "cli",
4516
- value: commandLine[cliFlag77]
4671
+ value: commandLine[cliFlag78]
4517
4672
  };
4518
4673
  }
4519
4674
  if (currentPublicPath !== null) {
@@ -4531,29 +4686,29 @@ var publicPathOption = {
4531
4686
  currentPublicPath = value3;
4532
4687
  },
4533
4688
  type: "",
4534
- id: cliFlag77
4689
+ id: cliFlag78
4535
4690
  };
4536
4691
 
4537
4692
  // src/options/repro.tsx
4538
- import { jsx as jsx74, Fragment as Fragment74 } from "react/jsx-runtime";
4693
+ import { jsx as jsx75, Fragment as Fragment75 } from "react/jsx-runtime";
4539
4694
  var enableRepro = false;
4540
4695
  var setRepro = (should) => {
4541
4696
  enableRepro = should;
4542
4697
  };
4543
- var cliFlag78 = "repro";
4698
+ var cliFlag79 = "repro";
4544
4699
  var reproOption = {
4545
4700
  name: "Create reproduction",
4546
- cliFlag: cliFlag78,
4547
- description: () => /* @__PURE__ */ jsx74(Fragment74, {
4701
+ cliFlag: cliFlag79,
4702
+ description: () => /* @__PURE__ */ jsx75(Fragment75, {
4548
4703
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
4549
4704
  }),
4550
4705
  ssrName: "repro",
4551
4706
  docLink: "https://www.remotion.dev/docs/render-media#repro",
4552
4707
  type: false,
4553
4708
  getValue: ({ commandLine }) => {
4554
- if (commandLine[cliFlag78] !== undefined && commandLine[cliFlag78] !== null) {
4709
+ if (commandLine[cliFlag79] !== undefined && commandLine[cliFlag79] !== null) {
4555
4710
  return {
4556
- value: commandLine[cliFlag78],
4711
+ value: commandLine[cliFlag79],
4557
4712
  source: "cli"
4558
4713
  };
4559
4714
  }
@@ -4569,27 +4724,27 @@ var reproOption = {
4569
4724
  };
4570
4725
  },
4571
4726
  setConfig: setRepro,
4572
- id: cliFlag78
4727
+ id: cliFlag79
4573
4728
  };
4574
4729
 
4575
4730
  // src/options/rspack.tsx
4576
- import { jsx as jsx75, Fragment as Fragment75 } from "react/jsx-runtime";
4731
+ import { jsx as jsx76, Fragment as Fragment76 } from "react/jsx-runtime";
4577
4732
  var rspackEnabled = false;
4578
4733
  var configuredRspackEnabled = null;
4579
- var cliFlag79 = "rspack";
4734
+ var cliFlag80 = "rspack";
4580
4735
  var rspackOption = {
4581
4736
  name: "Rspack",
4582
- cliFlag: cliFlag79,
4583
- description: () => /* @__PURE__ */ jsx75(Fragment75, {
4737
+ cliFlag: cliFlag80,
4738
+ description: () => /* @__PURE__ */ jsx76(Fragment76, {
4584
4739
  children: "Uses Rspack instead of Webpack as the bundler for the Studio or bundle."
4585
4740
  }),
4586
4741
  ssrName: null,
4587
4742
  docLink: null,
4588
4743
  type: false,
4589
4744
  getValue: ({ commandLine }) => {
4590
- if (commandLine[cliFlag79] !== undefined && commandLine[cliFlag79] !== null) {
4745
+ if (commandLine[cliFlag80] !== undefined && commandLine[cliFlag80] !== null) {
4591
4746
  return {
4592
- value: commandLine[cliFlag79],
4747
+ value: commandLine[cliFlag80],
4593
4748
  source: "cli"
4594
4749
  };
4595
4750
  }
@@ -4607,21 +4762,21 @@ var rspackOption = {
4607
4762
  rspackEnabled = false;
4608
4763
  configuredRspackEnabled = null;
4609
4764
  },
4610
- id: cliFlag79
4765
+ id: cliFlag80
4611
4766
  };
4612
4767
 
4613
4768
  // src/options/runs.tsx
4614
- import { jsx as jsx76, jsxs as jsxs54, Fragment as Fragment76 } from "react/jsx-runtime";
4769
+ import { jsx as jsx77, jsxs as jsxs54, Fragment as Fragment77 } from "react/jsx-runtime";
4615
4770
  var DEFAULT_RUNS = 3;
4616
4771
  var currentRuns = DEFAULT_RUNS;
4617
- var cliFlag80 = "runs";
4772
+ var cliFlag81 = "runs";
4618
4773
  var runsOption = {
4619
4774
  name: "Benchmark runs",
4620
- cliFlag: cliFlag80,
4621
- description: () => /* @__PURE__ */ jsxs54(Fragment76, {
4775
+ cliFlag: cliFlag81,
4776
+ description: () => /* @__PURE__ */ jsxs54(Fragment77, {
4622
4777
  children: [
4623
4778
  "Specify how many times the video should be rendered during a benchmark. Default ",
4624
- /* @__PURE__ */ jsx76("code", {
4779
+ /* @__PURE__ */ jsx77("code", {
4625
4780
  children: DEFAULT_RUNS
4626
4781
  }),
4627
4782
  "."
@@ -4631,10 +4786,10 @@ var runsOption = {
4631
4786
  docLink: "https://www.remotion.dev/docs/cli/benchmark#--runs",
4632
4787
  type: DEFAULT_RUNS,
4633
4788
  getValue: ({ commandLine }) => {
4634
- if (commandLine[cliFlag80] !== undefined) {
4635
- const value3 = Number(commandLine[cliFlag80]);
4789
+ if (commandLine[cliFlag81] !== undefined) {
4790
+ const value3 = Number(commandLine[cliFlag81]);
4636
4791
  if (isNaN(value3) || value3 < 1) {
4637
- throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag80]}`);
4792
+ throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag81]}`);
4638
4793
  }
4639
4794
  return { value: value3, source: "cli" };
4640
4795
  }
@@ -4649,21 +4804,21 @@ var runsOption = {
4649
4804
  }
4650
4805
  currentRuns = value3;
4651
4806
  },
4652
- id: cliFlag80
4807
+ id: cliFlag81
4653
4808
  };
4654
4809
 
4655
4810
  // src/options/sample-rate.tsx
4656
- import { jsx as jsx77, jsxs as jsxs55, Fragment as Fragment77 } from "react/jsx-runtime";
4657
- var cliFlag81 = "sample-rate";
4811
+ import { jsx as jsx78, jsxs as jsxs55, Fragment as Fragment78 } from "react/jsx-runtime";
4812
+ var cliFlag82 = "sample-rate";
4658
4813
  var currentSampleRate = 48000;
4659
4814
  var sampleRateOption = {
4660
4815
  name: "Sample Rate",
4661
- cliFlag: cliFlag81,
4662
- description: () => /* @__PURE__ */ jsxs55(Fragment77, {
4816
+ cliFlag: cliFlag82,
4817
+ description: () => /* @__PURE__ */ jsxs55(Fragment78, {
4663
4818
  children: [
4664
4819
  "Controls the sample rate of the output audio. The default is",
4665
4820
  " ",
4666
- /* @__PURE__ */ jsx77("code", {
4821
+ /* @__PURE__ */ jsx78("code", {
4667
4822
  children: "48000"
4668
4823
  }),
4669
4824
  " Hz. Match this to your source audio to avoid resampling artifacts."
@@ -4673,8 +4828,8 @@ var sampleRateOption = {
4673
4828
  docLink: "https://www.remotion.dev/docs/sample-rate",
4674
4829
  type: 48000,
4675
4830
  getValue: ({ commandLine }, compositionSampleRate) => {
4676
- if (commandLine[cliFlag81] !== undefined) {
4677
- return { value: commandLine[cliFlag81], source: "cli" };
4831
+ if (commandLine[cliFlag82] !== undefined) {
4832
+ return { value: commandLine[cliFlag82], source: "cli" };
4678
4833
  }
4679
4834
  if (currentSampleRate !== 48000) {
4680
4835
  return { value: currentSampleRate, source: "config file" };
@@ -4690,13 +4845,13 @@ var sampleRateOption = {
4690
4845
  setConfig: (value3) => {
4691
4846
  currentSampleRate = value3;
4692
4847
  },
4693
- id: cliFlag81
4848
+ id: cliFlag82
4694
4849
  };
4695
4850
 
4696
4851
  // src/options/scale.tsx
4697
- import { jsx as jsx78, jsxs as jsxs56, Fragment as Fragment78 } from "react/jsx-runtime";
4852
+ import { jsx as jsx79, jsxs as jsxs56, Fragment as Fragment79 } from "react/jsx-runtime";
4698
4853
  var currentScale = 1;
4699
- var cliFlag82 = "scale";
4854
+ var cliFlag83 = "scale";
4700
4855
  var validateScale = (value3) => {
4701
4856
  if (typeof value3 !== "number") {
4702
4857
  throw new Error("scale must be a number.");
@@ -4704,15 +4859,15 @@ var validateScale = (value3) => {
4704
4859
  };
4705
4860
  var scaleOption = {
4706
4861
  name: "Scale",
4707
- cliFlag: cliFlag82,
4708
- description: () => /* @__PURE__ */ jsxs56(Fragment78, {
4862
+ cliFlag: cliFlag83,
4863
+ description: () => /* @__PURE__ */ jsxs56(Fragment79, {
4709
4864
  children: [
4710
4865
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
4711
- /* @__PURE__ */ jsx78("code", {
4866
+ /* @__PURE__ */ jsx79("code", {
4712
4867
  children: "1.5"
4713
4868
  }),
4714
4869
  ". See ",
4715
- /* @__PURE__ */ jsx78("a", {
4870
+ /* @__PURE__ */ jsx79("a", {
4716
4871
  href: "https://www.remotion.dev/docs/scaling",
4717
4872
  children: "Scaling"
4718
4873
  }),
@@ -4723,11 +4878,11 @@ var scaleOption = {
4723
4878
  docLink: "https://www.remotion.dev/docs/scaling",
4724
4879
  type: 0,
4725
4880
  getValue: ({ commandLine }) => {
4726
- if (commandLine[cliFlag82] !== undefined) {
4727
- validateScale(commandLine[cliFlag82]);
4881
+ if (commandLine[cliFlag83] !== undefined) {
4882
+ validateScale(commandLine[cliFlag83]);
4728
4883
  return {
4729
4884
  source: "cli",
4730
- value: commandLine[cliFlag82]
4885
+ value: commandLine[cliFlag83]
4731
4886
  };
4732
4887
  }
4733
4888
  if (currentScale !== null) {
@@ -4744,22 +4899,22 @@ var scaleOption = {
4744
4899
  setConfig: (scale) => {
4745
4900
  currentScale = scale;
4746
4901
  },
4747
- id: cliFlag82
4902
+ id: cliFlag83
4748
4903
  };
4749
4904
 
4750
4905
  // src/options/skip-skills.tsx
4751
- import { jsx as jsx79, Fragment as Fragment79 } from "react/jsx-runtime";
4752
- var cliFlag83 = "skip-skills";
4906
+ import { jsx as jsx80, Fragment as Fragment80 } from "react/jsx-runtime";
4907
+ var cliFlag84 = "skip-skills";
4753
4908
  var skipSkillsOption = {
4754
4909
  name: "Skip Skills",
4755
- cliFlag: cliFlag83,
4756
- description: () => /* @__PURE__ */ jsx79(Fragment79, {
4910
+ cliFlag: cliFlag84,
4911
+ description: () => /* @__PURE__ */ jsx80(Fragment80, {
4757
4912
  children: "Do not update installed Remotion Agent Skills while upgrading Remotion."
4758
4913
  }),
4759
4914
  ssrName: null,
4760
4915
  docLink: "https://www.remotion.dev/docs/cli/upgrade#--skip-skills",
4761
4916
  getValue: ({ commandLine }) => {
4762
- if (commandLine[cliFlag83]) {
4917
+ if (commandLine[cliFlag84]) {
4763
4918
  return {
4764
4919
  source: "cli",
4765
4920
  value: true
@@ -4774,13 +4929,13 @@ var skipSkillsOption = {
4774
4929
  throw new Error("Cannot skip updating skills via config file");
4775
4930
  },
4776
4931
  type: false,
4777
- id: cliFlag83
4932
+ id: cliFlag84
4778
4933
  };
4779
4934
 
4780
4935
  // src/options/still-frame.tsx
4781
4936
  import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4782
- import { jsx as jsx80, jsxs as jsxs57, Fragment as Fragment80 } from "react/jsx-runtime";
4783
- var cliFlag84 = "frame";
4937
+ import { jsx as jsx81, jsxs as jsxs57, Fragment as Fragment81 } from "react/jsx-runtime";
4938
+ var cliFlag85 = "frame";
4784
4939
  var currentFrame = null;
4785
4940
  var validate3 = (frame) => {
4786
4941
  NoReactInternals4.validateFrame({
@@ -4791,17 +4946,17 @@ var validate3 = (frame) => {
4791
4946
  };
4792
4947
  var stillFrameOption = {
4793
4948
  name: "Frame",
4794
- cliFlag: cliFlag84,
4795
- description: () => /* @__PURE__ */ jsxs57(Fragment80, {
4949
+ cliFlag: cliFlag85,
4950
+ description: () => /* @__PURE__ */ jsxs57(Fragment81, {
4796
4951
  children: [
4797
4952
  "Which frame should be rendered when rendering a still. Default",
4798
4953
  " ",
4799
- /* @__PURE__ */ jsx80("code", {
4954
+ /* @__PURE__ */ jsx81("code", {
4800
4955
  children: "0"
4801
4956
  }),
4802
4957
  ". From v3.2.27, negative values are allowed, with",
4803
4958
  " ",
4804
- /* @__PURE__ */ jsx80("code", {
4959
+ /* @__PURE__ */ jsx81("code", {
4805
4960
  children: "-1"
4806
4961
  }),
4807
4962
  " being the last frame."
@@ -4810,8 +4965,8 @@ var stillFrameOption = {
4810
4965
  ssrName: "frame",
4811
4966
  docLink: "https://www.remotion.dev/docs/cli/still#--frame",
4812
4967
  getValue: ({ commandLine }) => {
4813
- if (commandLine[cliFlag84] !== undefined) {
4814
- const frame = Number(commandLine[cliFlag84]);
4968
+ if (commandLine[cliFlag85] !== undefined) {
4969
+ const frame = Number(commandLine[cliFlag85]);
4815
4970
  validate3(frame);
4816
4971
  return {
4817
4972
  source: "cli",
@@ -4836,24 +4991,24 @@ var stillFrameOption = {
4836
4991
  currentFrame = value3;
4837
4992
  },
4838
4993
  type: 0,
4839
- id: cliFlag84
4994
+ id: cliFlag85
4840
4995
  };
4841
4996
 
4842
4997
  // src/options/still-image-format.tsx
4843
- import { jsx as jsx81, jsxs as jsxs58, Fragment as Fragment81 } from "react/jsx-runtime";
4998
+ import { jsx as jsx82, jsxs as jsxs58, Fragment as Fragment82 } from "react/jsx-runtime";
4844
4999
  var currentStillImageFormat = null;
4845
- var cliFlag85 = "image-format";
5000
+ var cliFlag86 = "image-format";
4846
5001
  var stillImageFormatOption = {
4847
5002
  name: "Still Image Format",
4848
- cliFlag: cliFlag85,
4849
- description: () => /* @__PURE__ */ jsxs58(Fragment81, {
5003
+ cliFlag: cliFlag86,
5004
+ description: () => /* @__PURE__ */ jsxs58(Fragment82, {
4850
5005
  children: [
4851
5006
  "The image format to use when rendering a still. Must be one of",
4852
5007
  " ",
4853
5008
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
4854
5009
  ". Default:",
4855
5010
  " ",
4856
- /* @__PURE__ */ jsx81("code", {
5011
+ /* @__PURE__ */ jsx82("code", {
4857
5012
  children: '"png"'
4858
5013
  }),
4859
5014
  "."
@@ -4863,8 +5018,8 @@ var stillImageFormatOption = {
4863
5018
  docLink: "https://www.remotion.dev/docs/renderer/render-still#imageformat",
4864
5019
  type: null,
4865
5020
  getValue: ({ commandLine }) => {
4866
- if (commandLine[cliFlag85] !== undefined) {
4867
- const value3 = commandLine[cliFlag85];
5021
+ if (commandLine[cliFlag86] !== undefined) {
5022
+ const value3 = commandLine[cliFlag86];
4868
5023
  if (!validStillImageFormats.includes(value3)) {
4869
5024
  throw new Error(`Invalid still image format: ${value3}. Must be one of: ${validStillImageFormats.join(", ")}`);
4870
5025
  }
@@ -4902,16 +5057,16 @@ var stillImageFormatOption = {
4902
5057
 
4903
5058
  // src/options/throw-if-site-exists.tsx
4904
5059
  var DEFAULT5 = false;
4905
- var cliFlag86 = "throw-if-site-exists";
5060
+ var cliFlag87 = "throw-if-site-exists";
4906
5061
  var throwIfSiteExistsOption = {
4907
- cliFlag: cliFlag86,
5062
+ cliFlag: cliFlag87,
4908
5063
  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.`,
4909
5064
  docLink: "https://remotion.dev/docs/lambda/deploy-site",
4910
5065
  getValue: ({ commandLine }) => {
4911
- if (commandLine[cliFlag86]) {
5066
+ if (commandLine[cliFlag87]) {
4912
5067
  return {
4913
5068
  source: "cli",
4914
- value: commandLine[cliFlag86]
5069
+ value: commandLine[cliFlag87]
4915
5070
  };
4916
5071
  }
4917
5072
  return {
@@ -4925,41 +5080,41 @@ var throwIfSiteExistsOption = {
4925
5080
  },
4926
5081
  ssrName: "throwIfSiteExists",
4927
5082
  type: false,
4928
- id: cliFlag86
5083
+ id: cliFlag87
4929
5084
  };
4930
5085
 
4931
5086
  // src/options/timeout.tsx
4932
- import { jsx as jsx82, jsxs as jsxs59, Fragment as Fragment82 } from "react/jsx-runtime";
5087
+ import { jsx as jsx83, jsxs as jsxs59, Fragment as Fragment83 } from "react/jsx-runtime";
4933
5088
  var currentTimeout = DEFAULT_TIMEOUT;
4934
5089
  var validate4 = (value3) => {
4935
5090
  if (typeof value3 !== "number") {
4936
5091
  throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
4937
5092
  }
4938
5093
  };
4939
- var cliFlag87 = "timeout";
5094
+ var cliFlag88 = "timeout";
4940
5095
  var delayRenderTimeoutInMillisecondsOption = {
4941
5096
  name: "delayRender() timeout",
4942
- cliFlag: cliFlag87,
4943
- description: () => /* @__PURE__ */ jsxs59(Fragment82, {
5097
+ cliFlag: cliFlag88,
5098
+ description: () => /* @__PURE__ */ jsxs59(Fragment83, {
4944
5099
  children: [
4945
5100
  "A number describing how long the render may take to resolve all",
4946
5101
  " ",
4947
- /* @__PURE__ */ jsx82("a", {
5102
+ /* @__PURE__ */ jsx83("a", {
4948
5103
  href: "https://remotion.dev/docs/delay-render",
4949
- children: /* @__PURE__ */ jsx82("code", {
5104
+ children: /* @__PURE__ */ jsx83("code", {
4950
5105
  children: "delayRender()"
4951
5106
  })
4952
5107
  }),
4953
5108
  " ",
4954
5109
  "calls",
4955
5110
  " ",
4956
- /* @__PURE__ */ jsx82("a", {
5111
+ /* @__PURE__ */ jsx83("a", {
4957
5112
  style: { fontSize: "inherit" },
4958
5113
  href: "https://remotion.dev/docs/timeout",
4959
5114
  children: "before it times out"
4960
5115
  }),
4961
5116
  ". Default: ",
4962
- /* @__PURE__ */ jsx82("code", {
5117
+ /* @__PURE__ */ jsx83("code", {
4963
5118
  children: "30000"
4964
5119
  })
4965
5120
  ]
@@ -4968,10 +5123,10 @@ var delayRenderTimeoutInMillisecondsOption = {
4968
5123
  docLink: "https://www.remotion.dev/docs/timeout",
4969
5124
  type: 0,
4970
5125
  getValue: ({ commandLine }) => {
4971
- if (commandLine[cliFlag87] !== undefined) {
5126
+ if (commandLine[cliFlag88] !== undefined) {
4972
5127
  return {
4973
5128
  source: "cli",
4974
- value: commandLine[cliFlag87]
5129
+ value: commandLine[cliFlag88]
4975
5130
  };
4976
5131
  }
4977
5132
  if (currentTimeout !== null) {
@@ -4990,27 +5145,27 @@ var delayRenderTimeoutInMillisecondsOption = {
4990
5145
  validate4(value3);
4991
5146
  currentTimeout = value3;
4992
5147
  },
4993
- id: cliFlag87
5148
+ id: cliFlag88
4994
5149
  };
4995
5150
 
4996
5151
  // src/options/user-agent.tsx
4997
- import { jsx as jsx83, Fragment as Fragment83 } from "react/jsx-runtime";
5152
+ import { jsx as jsx84, Fragment as Fragment84 } from "react/jsx-runtime";
4998
5153
  var userAgent = null;
4999
- var cliFlag88 = "user-agent";
5154
+ var cliFlag89 = "user-agent";
5000
5155
  var userAgentOption = {
5001
5156
  name: "User agent",
5002
- cliFlag: cliFlag88,
5003
- description: () => /* @__PURE__ */ jsx83(Fragment83, {
5157
+ cliFlag: cliFlag89,
5158
+ description: () => /* @__PURE__ */ jsx84(Fragment84, {
5004
5159
  children: "Lets you set a custom user agent that the headless Chrome browser assumes."
5005
5160
  }),
5006
5161
  ssrName: "userAgent",
5007
5162
  docLink: "https://www.remotion.dev/docs/chromium-flags#--user-agent",
5008
5163
  type: null,
5009
5164
  getValue: ({ commandLine }) => {
5010
- if (commandLine[cliFlag88] !== undefined) {
5165
+ if (commandLine[cliFlag89] !== undefined) {
5011
5166
  return {
5012
5167
  source: "cli",
5013
- value: commandLine[cliFlag88]
5168
+ value: commandLine[cliFlag89]
5014
5169
  };
5015
5170
  }
5016
5171
  if (userAgent !== null) {
@@ -5027,25 +5182,25 @@ var userAgentOption = {
5027
5182
  setConfig: (value3) => {
5028
5183
  userAgent = value3;
5029
5184
  },
5030
- id: cliFlag88
5185
+ id: cliFlag89
5031
5186
  };
5032
5187
 
5033
5188
  // src/options/version-flag.tsx
5034
- import { jsx as jsx84, Fragment as Fragment84 } from "react/jsx-runtime";
5035
- var cliFlag89 = "version";
5189
+ import { jsx as jsx85, Fragment as Fragment85 } from "react/jsx-runtime";
5190
+ var cliFlag90 = "version";
5036
5191
  var versionFlagOption = {
5037
5192
  name: "Version",
5038
- cliFlag: cliFlag89,
5039
- description: () => /* @__PURE__ */ jsx84(Fragment84, {
5193
+ cliFlag: cliFlag90,
5194
+ description: () => /* @__PURE__ */ jsx85(Fragment85, {
5040
5195
  children: "Install a specific version. Also enables downgrading to an older version."
5041
5196
  }),
5042
5197
  ssrName: null,
5043
5198
  docLink: "https://www.remotion.dev/docs/cli/upgrade#--version",
5044
5199
  getValue: ({ commandLine }) => {
5045
- if (commandLine[cliFlag89] !== undefined) {
5200
+ if (commandLine[cliFlag90] !== undefined) {
5046
5201
  return {
5047
5202
  source: "cli",
5048
- value: String(commandLine[cliFlag89])
5203
+ value: String(commandLine[cliFlag90])
5049
5204
  };
5050
5205
  }
5051
5206
  return {
@@ -5057,30 +5212,30 @@ var versionFlagOption = {
5057
5212
  throw new Error("Cannot set version via config file");
5058
5213
  },
5059
5214
  type: "",
5060
- id: cliFlag89
5215
+ id: cliFlag90
5061
5216
  };
5062
5217
 
5063
5218
  // src/options/video-bitrate.tsx
5064
- import { jsx as jsx85, jsxs as jsxs60, Fragment as Fragment85 } from "react/jsx-runtime";
5219
+ import { jsx as jsx86, jsxs as jsxs60, Fragment as Fragment86 } from "react/jsx-runtime";
5065
5220
  var videoBitrate = null;
5066
- var cliFlag90 = "video-bitrate";
5221
+ var cliFlag91 = "video-bitrate";
5067
5222
  var videoBitrateOption = {
5068
5223
  name: "Video Bitrate",
5069
- cliFlag: cliFlag90,
5070
- description: () => /* @__PURE__ */ jsxs60(Fragment85, {
5224
+ cliFlag: cliFlag91,
5225
+ description: () => /* @__PURE__ */ jsxs60(Fragment86, {
5071
5226
  children: [
5072
5227
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
5073
5228
  "'",
5074
5229
  "s",
5075
- /* @__PURE__ */ jsx85("code", {
5230
+ /* @__PURE__ */ jsx86("code", {
5076
5231
  children: "-b:v"
5077
5232
  }),
5078
5233
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
5079
- /* @__PURE__ */ jsx85("code", {
5234
+ /* @__PURE__ */ jsx86("code", {
5080
5235
  children: "512K"
5081
5236
  }),
5082
5237
  " for 512 kbps, ",
5083
- /* @__PURE__ */ jsx85("code", {
5238
+ /* @__PURE__ */ jsx86("code", {
5084
5239
  children: "1M"
5085
5240
  }),
5086
5241
  " for 1 Mbps."
@@ -5090,10 +5245,10 @@ var videoBitrateOption = {
5090
5245
  docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
5091
5246
  type: "",
5092
5247
  getValue: ({ commandLine }) => {
5093
- if (commandLine[cliFlag90] !== undefined) {
5248
+ if (commandLine[cliFlag91] !== undefined) {
5094
5249
  return {
5095
5250
  source: "cli",
5096
- value: commandLine[cliFlag90]
5251
+ value: commandLine[cliFlag91]
5097
5252
  };
5098
5253
  }
5099
5254
  if (videoBitrate !== null) {
@@ -5110,34 +5265,34 @@ var videoBitrateOption = {
5110
5265
  setConfig: (bitrate) => {
5111
5266
  videoBitrate = bitrate;
5112
5267
  },
5113
- id: cliFlag90
5268
+ id: cliFlag91
5114
5269
  };
5115
5270
 
5116
5271
  // src/options/video-cache-size.tsx
5117
- import { jsx as jsx86, jsxs as jsxs61, Fragment as Fragment86 } from "react/jsx-runtime";
5272
+ import { jsx as jsx87, jsxs as jsxs61, Fragment as Fragment87 } from "react/jsx-runtime";
5118
5273
  var mediaCacheSizeInBytes = null;
5119
- var cliFlag91 = "media-cache-size-in-bytes";
5274
+ var cliFlag92 = "media-cache-size-in-bytes";
5120
5275
  var mediaCacheSizeInBytesOption = {
5121
5276
  name: "@remotion/media cache size",
5122
- cliFlag: cliFlag91,
5123
- description: () => /* @__PURE__ */ jsxs61(Fragment86, {
5277
+ cliFlag: cliFlag92,
5278
+ description: () => /* @__PURE__ */ jsxs61(Fragment87, {
5124
5279
  children: [
5125
5280
  "Specify the memory budget for decoded media cached by",
5126
5281
  " ",
5127
- /* @__PURE__ */ jsx86("code", {
5282
+ /* @__PURE__ */ jsx87("code", {
5128
5283
  children: "<Video>"
5129
5284
  }),
5130
5285
  " and ",
5131
- /* @__PURE__ */ jsx86("code", {
5286
+ /* @__PURE__ */ jsx87("code", {
5132
5287
  children: "<Audio>"
5133
5288
  }),
5134
5289
  " from",
5135
5290
  " ",
5136
- /* @__PURE__ */ jsx86("code", {
5291
+ /* @__PURE__ */ jsx87("code", {
5137
5292
  children: "@remotion/media"
5138
5293
  }),
5139
5294
  ", 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. ",
5140
- /* @__PURE__ */ jsx86("br", {}),
5295
+ /* @__PURE__ */ jsx87("br", {}),
5141
5296
  "The default is half of the available system memory when the render starts."
5142
5297
  ]
5143
5298
  }),
@@ -5145,10 +5300,10 @@ var mediaCacheSizeInBytesOption = {
5145
5300
  docLink: "https://www.remotion.dev/docs/media/cache",
5146
5301
  type: 0,
5147
5302
  getValue: ({ commandLine }) => {
5148
- if (commandLine[cliFlag91] !== undefined) {
5303
+ if (commandLine[cliFlag92] !== undefined) {
5149
5304
  return {
5150
5305
  source: "cli",
5151
- value: commandLine[cliFlag91]
5306
+ value: commandLine[cliFlag92]
5152
5307
  };
5153
5308
  }
5154
5309
  if (mediaCacheSizeInBytes !== null) {
@@ -5165,126 +5320,11 @@ var mediaCacheSizeInBytesOption = {
5165
5320
  setConfig: (size) => {
5166
5321
  mediaCacheSizeInBytes = size ?? null;
5167
5322
  },
5168
- id: cliFlag91
5169
- };
5170
-
5171
- // src/path-normalize.ts
5172
- var SLASH = 47;
5173
- var DOT = 46;
5174
- var assertPath = (path) => {
5175
- const t = typeof path;
5176
- if (t !== "string") {
5177
- throw new TypeError(`Expected a string, got a ${t}`);
5178
- }
5179
- };
5180
- var posixNormalize = (path, allowAboveRoot) => {
5181
- let res = "";
5182
- let lastSegmentLength = 0;
5183
- let lastSlash = -1;
5184
- let dots = 0;
5185
- let code;
5186
- for (let i = 0;i <= path.length; ++i) {
5187
- if (i < path.length) {
5188
- code = path.charCodeAt(i);
5189
- } else if (code === SLASH) {
5190
- break;
5191
- } else {
5192
- code = SLASH;
5193
- }
5194
- if (code === SLASH) {
5195
- if (lastSlash === i - 1 || dots === 1) {} else if (lastSlash !== i - 1 && dots === 2) {
5196
- if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== DOT || res.charCodeAt(res.length - 2) !== DOT) {
5197
- if (res.length > 2) {
5198
- const lastSlashIndex = res.lastIndexOf("/");
5199
- if (lastSlashIndex !== res.length - 1) {
5200
- if (lastSlashIndex === -1) {
5201
- res = "";
5202
- lastSegmentLength = 0;
5203
- } else {
5204
- res = res.slice(0, lastSlashIndex);
5205
- lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
5206
- }
5207
- lastSlash = i;
5208
- dots = 0;
5209
- continue;
5210
- }
5211
- } else if (res.length === 2 || res.length === 1) {
5212
- res = "";
5213
- lastSegmentLength = 0;
5214
- lastSlash = i;
5215
- dots = 0;
5216
- continue;
5217
- }
5218
- }
5219
- if (allowAboveRoot) {
5220
- if (res.length > 0) {
5221
- res += "/..";
5222
- } else {
5223
- res = "..";
5224
- }
5225
- lastSegmentLength = 2;
5226
- }
5227
- } else {
5228
- if (res.length > 0) {
5229
- res += "/" + path.slice(lastSlash + 1, i);
5230
- } else {
5231
- res = path.slice(lastSlash + 1, i);
5232
- }
5233
- lastSegmentLength = i - lastSlash - 1;
5234
- }
5235
- lastSlash = i;
5236
- dots = 0;
5237
- } else if (code === DOT && dots !== -1) {
5238
- ++dots;
5239
- } else {
5240
- dots = -1;
5241
- }
5242
- }
5243
- return res;
5244
- };
5245
- var decode = (s) => {
5246
- try {
5247
- return decodeURIComponent(s);
5248
- } catch {
5249
- return s;
5250
- }
5251
- };
5252
- var pathNormalize = (p) => {
5253
- assertPath(p);
5254
- let path = p;
5255
- if (path.length === 0) {
5256
- return ".";
5257
- }
5258
- const isAbsolute = path.charCodeAt(0) === SLASH;
5259
- const trailingSeparator = path.charCodeAt(path.length - 1) === SLASH;
5260
- path = decode(path);
5261
- path = posixNormalize(path, !isAbsolute);
5262
- if (path.length === 0 && !isAbsolute) {
5263
- path = ".";
5264
- }
5265
- if (path.length > 0 && trailingSeparator) {
5266
- path += "/";
5267
- }
5268
- if (isAbsolute) {
5269
- return "/" + path;
5270
- }
5271
- return path;
5272
- };
5273
-
5274
- // src/get-extension-of-filename.ts
5275
- var getExtensionOfFilename = (filename) => {
5276
- if (filename === null) {
5277
- return null;
5278
- }
5279
- const filenameArr = pathNormalize(filename).split(".");
5280
- const hasExtension = filenameArr.length >= 2;
5281
- const filenameArrLength = filenameArr.length;
5282
- const extension = hasExtension ? filenameArr[filenameArrLength - 1] : null;
5283
- return extension;
5323
+ id: cliFlag92
5284
5324
  };
5285
5325
 
5286
5326
  // src/options/video-codec.tsx
5287
- import { jsx as jsx87, Fragment as Fragment87 } from "react/jsx-runtime";
5327
+ import { jsx as jsx88, Fragment as Fragment88 } from "react/jsx-runtime";
5288
5328
  var codec;
5289
5329
  var setCodec = (newCodec) => {
5290
5330
  if (newCodec === undefined) {
@@ -5308,11 +5348,11 @@ var deriveCodecsFromFilename = (extension) => {
5308
5348
  possible: makeFileExtensionMap()[extension] ?? []
5309
5349
  };
5310
5350
  };
5311
- var cliFlag92 = "codec";
5351
+ var cliFlag93 = "codec";
5312
5352
  var videoCodecOption = {
5313
5353
  name: "Codec",
5314
- cliFlag: cliFlag92,
5315
- description: () => /* @__PURE__ */ jsx87(Fragment87, {
5354
+ cliFlag: cliFlag93,
5355
+ description: () => /* @__PURE__ */ jsx88(Fragment88, {
5316
5356
  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."
5317
5357
  }),
5318
5358
  ssrName: "codec",
@@ -5335,7 +5375,7 @@ var videoCodecOption = {
5335
5375
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
5336
5376
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
5337
5377
  }
5338
- const cliArgument = commandLine[cliFlag92];
5378
+ const cliArgument = commandLine[cliFlag93];
5339
5379
  if (cliArgument) {
5340
5380
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
5341
5381
  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.`);
@@ -5384,24 +5424,24 @@ var videoCodecOption = {
5384
5424
  reset: () => {
5385
5425
  codec = undefined;
5386
5426
  },
5387
- id: cliFlag92
5427
+ id: cliFlag93
5388
5428
  };
5389
5429
 
5390
5430
  // src/options/video-image-format.tsx
5391
- import { jsx as jsx88, jsxs as jsxs62, Fragment as Fragment88 } from "react/jsx-runtime";
5431
+ import { jsx as jsx89, jsxs as jsxs62, Fragment as Fragment89 } from "react/jsx-runtime";
5392
5432
  var currentVideoImageFormat = null;
5393
- var cliFlag93 = "image-format";
5433
+ var cliFlag94 = "image-format";
5394
5434
  var videoImageFormatOption = {
5395
5435
  name: "Video Image Format",
5396
- cliFlag: cliFlag93,
5397
- description: () => /* @__PURE__ */ jsxs62(Fragment88, {
5436
+ cliFlag: cliFlag94,
5437
+ description: () => /* @__PURE__ */ jsxs62(Fragment89, {
5398
5438
  children: [
5399
5439
  "The image format to use when rendering frames for a video. Must be one of",
5400
5440
  " ",
5401
5441
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
5402
5442
  ". Default:",
5403
5443
  " ",
5404
- /* @__PURE__ */ jsx88("code", {
5444
+ /* @__PURE__ */ jsx89("code", {
5405
5445
  children: '"jpeg"'
5406
5446
  }),
5407
5447
  ". JPEG is faster, but does not support transparency."
@@ -5417,8 +5457,8 @@ var videoImageFormatOption = {
5417
5457
  value: options.uiVideoImageFormat
5418
5458
  };
5419
5459
  }
5420
- if (commandLine[cliFlag93] !== undefined) {
5421
- const value3 = commandLine[cliFlag93];
5460
+ if (commandLine[cliFlag94] !== undefined) {
5461
+ const value3 = commandLine[cliFlag94];
5422
5462
  if (!validVideoImageFormats.includes(value3)) {
5423
5463
  throw new Error(`Invalid video image format: ${value3}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5424
5464
  }
@@ -5482,12 +5522,12 @@ var videoImageFormatOption = {
5482
5522
  };
5483
5523
 
5484
5524
  // src/options/webhook-custom-data.tsx
5485
- import { jsxs as jsxs63, Fragment as Fragment89 } from "react/jsx-runtime";
5486
- var cliFlag94 = "webhook-custom-data";
5525
+ import { jsxs as jsxs63, Fragment as Fragment90 } from "react/jsx-runtime";
5526
+ var cliFlag95 = "webhook-custom-data";
5487
5527
  var webhookCustomDataOption = {
5488
5528
  name: "Webhook custom data",
5489
- cliFlag: cliFlag94,
5490
- description: (type) => /* @__PURE__ */ jsxs63(Fragment89, {
5529
+ cliFlag: cliFlag95,
5530
+ description: (type) => /* @__PURE__ */ jsxs63(Fragment90, {
5491
5531
  children: [
5492
5532
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
5493
5533
  " ",
@@ -5503,24 +5543,24 @@ var webhookCustomDataOption = {
5503
5543
  setConfig: () => {
5504
5544
  throw new Error("Not implemented");
5505
5545
  },
5506
- id: cliFlag94
5546
+ id: cliFlag95
5507
5547
  };
5508
5548
 
5509
5549
  // src/options/webpack-poll.tsx
5510
- import { jsx as jsx89, Fragment as Fragment90 } from "react/jsx-runtime";
5511
- var cliFlag95 = "webpack-poll";
5550
+ import { jsx as jsx90, Fragment as Fragment91 } from "react/jsx-runtime";
5551
+ var cliFlag96 = "webpack-poll";
5512
5552
  var webpackPolling = null;
5513
5553
  var webpackPollOption = {
5514
5554
  name: "Webpack Polling",
5515
- cliFlag: cliFlag95,
5516
- description: () => /* @__PURE__ */ jsx89(Fragment90, {
5555
+ cliFlag: cliFlag96,
5556
+ description: () => /* @__PURE__ */ jsx90(Fragment91, {
5517
5557
  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."
5518
5558
  }),
5519
5559
  ssrName: null,
5520
5560
  docLink: "https://www.remotion.dev/docs/config#setwebpackpollinginmilliseconds",
5521
5561
  getValue: ({ commandLine }) => {
5522
- if (commandLine[cliFlag95] !== undefined) {
5523
- const val = commandLine[cliFlag95];
5562
+ if (commandLine[cliFlag96] !== undefined) {
5563
+ const val = commandLine[cliFlag96];
5524
5564
  if (typeof val !== "number") {
5525
5565
  throw new TypeError(`Webpack polling must be a number, got ${JSON.stringify(val)}`);
5526
5566
  }
@@ -5547,11 +5587,11 @@ var webpackPollOption = {
5547
5587
  webpackPolling = value3;
5548
5588
  },
5549
5589
  type: 0,
5550
- id: cliFlag95
5590
+ id: cliFlag96
5551
5591
  };
5552
5592
 
5553
5593
  // src/options/x264-preset.tsx
5554
- import { jsx as jsx90, jsxs as jsxs64, Fragment as Fragment91 } from "react/jsx-runtime";
5594
+ import { jsx as jsx91, jsxs as jsxs64, Fragment as Fragment92 } from "react/jsx-runtime";
5555
5595
  var x264PresetOptions = [
5556
5596
  "ultrafast",
5557
5597
  "superfast",
@@ -5565,63 +5605,63 @@ var x264PresetOptions = [
5565
5605
  "placebo"
5566
5606
  ];
5567
5607
  var preset = null;
5568
- var cliFlag96 = "x264-preset";
5608
+ var cliFlag97 = "x264-preset";
5569
5609
  var DEFAULT_PRESET = "medium";
5570
5610
  var x264Option = {
5571
5611
  name: "x264 Preset",
5572
- cliFlag: cliFlag96,
5573
- description: () => /* @__PURE__ */ jsxs64(Fragment91, {
5612
+ cliFlag: cliFlag97,
5613
+ description: () => /* @__PURE__ */ jsxs64(Fragment92, {
5574
5614
  children: [
5575
5615
  "Sets a x264 preset profile. Only applies to videos rendered with",
5576
5616
  " ",
5577
- /* @__PURE__ */ jsx90("code", {
5617
+ /* @__PURE__ */ jsx91("code", {
5578
5618
  children: "h264"
5579
5619
  }),
5580
5620
  " codec.",
5581
- /* @__PURE__ */ jsx90("br", {}),
5621
+ /* @__PURE__ */ jsx91("br", {}),
5582
5622
  "Possible values: ",
5583
- /* @__PURE__ */ jsx90("code", {
5623
+ /* @__PURE__ */ jsx91("code", {
5584
5624
  children: "superfast"
5585
5625
  }),
5586
5626
  ", ",
5587
- /* @__PURE__ */ jsx90("code", {
5627
+ /* @__PURE__ */ jsx91("code", {
5588
5628
  children: "veryfast"
5589
5629
  }),
5590
5630
  ",",
5591
5631
  " ",
5592
- /* @__PURE__ */ jsx90("code", {
5632
+ /* @__PURE__ */ jsx91("code", {
5593
5633
  children: "faster"
5594
5634
  }),
5595
5635
  ", ",
5596
- /* @__PURE__ */ jsx90("code", {
5636
+ /* @__PURE__ */ jsx91("code", {
5597
5637
  children: "fast"
5598
5638
  }),
5599
5639
  ", ",
5600
- /* @__PURE__ */ jsx90("code", {
5640
+ /* @__PURE__ */ jsx91("code", {
5601
5641
  children: "medium"
5602
5642
  }),
5603
5643
  ",",
5604
5644
  " ",
5605
- /* @__PURE__ */ jsx90("code", {
5645
+ /* @__PURE__ */ jsx91("code", {
5606
5646
  children: "slow"
5607
5647
  }),
5608
5648
  ", ",
5609
- /* @__PURE__ */ jsx90("code", {
5649
+ /* @__PURE__ */ jsx91("code", {
5610
5650
  children: "slower"
5611
5651
  }),
5612
5652
  ", ",
5613
- /* @__PURE__ */ jsx90("code", {
5653
+ /* @__PURE__ */ jsx91("code", {
5614
5654
  children: "veryslow"
5615
5655
  }),
5616
5656
  ",",
5617
5657
  " ",
5618
- /* @__PURE__ */ jsx90("code", {
5658
+ /* @__PURE__ */ jsx91("code", {
5619
5659
  children: "placebo"
5620
5660
  }),
5621
5661
  ".",
5622
- /* @__PURE__ */ jsx90("br", {}),
5662
+ /* @__PURE__ */ jsx91("br", {}),
5623
5663
  "Default: ",
5624
- /* @__PURE__ */ jsx90("code", {
5664
+ /* @__PURE__ */ jsx91("code", {
5625
5665
  children: DEFAULT_PRESET
5626
5666
  })
5627
5667
  ]
@@ -5630,7 +5670,7 @@ var x264Option = {
5630
5670
  docLink: "https://www.remotion.dev/docs/renderer/render-media",
5631
5671
  type: "fast",
5632
5672
  getValue: ({ commandLine }) => {
5633
- const value3 = commandLine[cliFlag96];
5673
+ const value3 = commandLine[cliFlag97];
5634
5674
  if (typeof value3 !== "undefined") {
5635
5675
  return { value: value3, source: "cli" };
5636
5676
  }
@@ -5642,7 +5682,7 @@ var x264Option = {
5642
5682
  setConfig: (profile) => {
5643
5683
  preset = profile;
5644
5684
  },
5645
- id: cliFlag96
5685
+ id: cliFlag97
5646
5686
  };
5647
5687
 
5648
5688
  // src/options/index.tsx
@@ -5716,6 +5756,7 @@ var allOptions = {
5716
5756
  askAIOption,
5717
5757
  interactivityOption,
5718
5758
  keyboardShortcutsOption,
5759
+ canvasTabsOption,
5719
5760
  framesOption,
5720
5761
  forceNewStudioOption,
5721
5762
  experimentalKeepAudioContextAliveOption,
@@ -5951,6 +5992,7 @@ var validateOutputFilename = ({
5951
5992
 
5952
5993
  // src/client.ts
5953
5994
  var BrowserSafeApis = {
5995
+ getExtensionOfFilename,
5954
5996
  getFileExtensionFromCodec,
5955
5997
  validCodecs,
5956
5998
  validAudioCodecs,