@remotion/renderer 4.0.301 → 4.0.303

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.
package/dist/client.d.ts CHANGED
@@ -884,6 +884,24 @@ export declare const BrowserSafeApis: {
884
884
  };
885
885
  setConfig: (value: string | null) => void;
886
886
  };
887
+ audioLatencyHintOption: {
888
+ name: string;
889
+ cliFlag: "audio-latency-hint";
890
+ description: () => import("react/jsx-runtime").JSX.Element;
891
+ ssrName: "audioLatencyHint";
892
+ docLink: string;
893
+ type: AudioContextLatencyCategory;
894
+ getValue: ({ commandLine }: {
895
+ commandLine: Record<string, unknown>;
896
+ }) => {
897
+ value: AudioContextLatencyCategory;
898
+ source: string;
899
+ } | {
900
+ value: null;
901
+ source: string;
902
+ };
903
+ setConfig: (profile: AudioContextLatencyCategory | null) => void;
904
+ };
887
905
  };
888
906
  validColorSpaces: readonly ["default", "bt709", "bt2020-ncl"];
889
907
  optionsMap: {
@@ -1597,44 +1597,99 @@ var jpegQualityOption = {
1597
1597
  }
1598
1598
  };
1599
1599
 
1600
- // src/options/log-level.tsx
1600
+ // src/options/latency-hint.tsx
1601
1601
  import { jsx as jsx19, jsxs as jsxs15, Fragment as Fragment19 } from "react/jsx-runtime";
1602
+ var cliFlag23 = "audio-latency-hint";
1603
+ var value = null;
1604
+ var audioLatencyHintOption = {
1605
+ name: "Audio Latency Hint",
1606
+ cliFlag: cliFlag23,
1607
+ description: () => /* @__PURE__ */ jsxs15(Fragment19, {
1608
+ children: [
1609
+ "Sets the",
1610
+ " ",
1611
+ /* @__PURE__ */ jsx19("a", {
1612
+ href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
1613
+ children: "audio latency"
1614
+ }),
1615
+ " ",
1616
+ "hint for the global ",
1617
+ /* @__PURE__ */ jsx19("code", {
1618
+ children: "AudioContext"
1619
+ }),
1620
+ " context that Remotion uses to play audio.",
1621
+ /* @__PURE__ */ jsx19("br", {}),
1622
+ "Possible values: ",
1623
+ /* @__PURE__ */ jsx19("code", {
1624
+ children: "interactive"
1625
+ }),
1626
+ ", ",
1627
+ /* @__PURE__ */ jsx19("code", {
1628
+ children: "balanced"
1629
+ }),
1630
+ ",",
1631
+ " ",
1632
+ /* @__PURE__ */ jsx19("code", {
1633
+ children: "playback"
1634
+ })
1635
+ ]
1636
+ }),
1637
+ ssrName: "audioLatencyHint",
1638
+ docLink: "https://www.remotion.dev/docs/renderer/render-media",
1639
+ type: "interactive",
1640
+ getValue: ({ commandLine }) => {
1641
+ const val = commandLine[cliFlag23];
1642
+ if (typeof val !== "undefined") {
1643
+ return { value: val, source: "cli" };
1644
+ }
1645
+ if (value !== null) {
1646
+ return { value, source: "config" };
1647
+ }
1648
+ return { value: null, source: "default" };
1649
+ },
1650
+ setConfig: (profile) => {
1651
+ value = profile;
1652
+ }
1653
+ };
1654
+
1655
+ // src/options/log-level.tsx
1656
+ import { jsx as jsx20, jsxs as jsxs16, Fragment as Fragment20 } from "react/jsx-runtime";
1602
1657
  var logLevel = "info";
1603
- var cliFlag23 = "log";
1658
+ var cliFlag24 = "log";
1604
1659
  var logLevelOption = {
1605
- cliFlag: cliFlag23,
1660
+ cliFlag: cliFlag24,
1606
1661
  name: "Log Level",
1607
1662
  ssrName: "logLevel",
1608
- description: () => /* @__PURE__ */ jsxs15(Fragment19, {
1663
+ description: () => /* @__PURE__ */ jsxs16(Fragment20, {
1609
1664
  children: [
1610
1665
  "One of ",
1611
- /* @__PURE__ */ jsx19("code", {
1666
+ /* @__PURE__ */ jsx20("code", {
1612
1667
  children: "trace"
1613
1668
  }),
1614
1669
  ", ",
1615
- /* @__PURE__ */ jsx19("code", {
1670
+ /* @__PURE__ */ jsx20("code", {
1616
1671
  children: "verbose"
1617
1672
  }),
1618
1673
  ", ",
1619
- /* @__PURE__ */ jsx19("code", {
1674
+ /* @__PURE__ */ jsx20("code", {
1620
1675
  children: "info"
1621
1676
  }),
1622
1677
  ",",
1623
1678
  " ",
1624
- /* @__PURE__ */ jsx19("code", {
1679
+ /* @__PURE__ */ jsx20("code", {
1625
1680
  children: "warn"
1626
1681
  }),
1627
1682
  ", ",
1628
- /* @__PURE__ */ jsx19("code", {
1683
+ /* @__PURE__ */ jsx20("code", {
1629
1684
  children: "error"
1630
1685
  }),
1631
1686
  ".",
1632
- /* @__PURE__ */ jsx19("br", {}),
1687
+ /* @__PURE__ */ jsx20("br", {}),
1633
1688
  " Determines how much info is being logged to the console.",
1634
- /* @__PURE__ */ jsx19("br", {}),
1635
- /* @__PURE__ */ jsx19("br", {}),
1689
+ /* @__PURE__ */ jsx20("br", {}),
1690
+ /* @__PURE__ */ jsx20("br", {}),
1636
1691
  " Default ",
1637
- /* @__PURE__ */ jsx19("code", {
1692
+ /* @__PURE__ */ jsx20("code", {
1638
1693
  children: "info"
1639
1694
  }),
1640
1695
  "."
@@ -1642,11 +1697,11 @@ var logLevelOption = {
1642
1697
  }),
1643
1698
  docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
1644
1699
  getValue: ({ commandLine }) => {
1645
- if (commandLine[cliFlag23]) {
1646
- if (!isValidLogLevel(commandLine[cliFlag23])) {
1700
+ if (commandLine[cliFlag24]) {
1701
+ if (!isValidLogLevel(commandLine[cliFlag24])) {
1647
1702
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
1648
1703
  }
1649
- return { value: commandLine[cliFlag23], source: "cli" };
1704
+ return { value: commandLine[cliFlag24], source: "cli" };
1650
1705
  }
1651
1706
  if (logLevel !== "info") {
1652
1707
  return { value: logLevel, source: "config" };
@@ -1660,19 +1715,19 @@ var logLevelOption = {
1660
1715
  };
1661
1716
 
1662
1717
  // src/options/metadata.tsx
1663
- import { jsx as jsx20, jsxs as jsxs16, Fragment as Fragment20 } from "react/jsx-runtime";
1718
+ import { jsx as jsx21, jsxs as jsxs17, Fragment as Fragment21 } from "react/jsx-runtime";
1664
1719
  var metadata = {};
1665
- var cliFlag24 = "metadata";
1720
+ var cliFlag25 = "metadata";
1666
1721
  var metadataOption = {
1667
1722
  name: "Metadata",
1668
- cliFlag: cliFlag24,
1723
+ cliFlag: cliFlag25,
1669
1724
  description: (mode) => {
1670
1725
  if (mode === "ssr") {
1671
- return /* @__PURE__ */ jsxs16(Fragment20, {
1726
+ return /* @__PURE__ */ jsxs17(Fragment21, {
1672
1727
  children: [
1673
1728
  "An object containing metadata to be embedded in the video. See",
1674
1729
  " ",
1675
- /* @__PURE__ */ jsx20("a", {
1730
+ /* @__PURE__ */ jsx21("a", {
1676
1731
  href: "/docs/metadata",
1677
1732
  children: "here"
1678
1733
  }),
@@ -1680,18 +1735,18 @@ var metadataOption = {
1680
1735
  ]
1681
1736
  });
1682
1737
  }
1683
- return /* @__PURE__ */ jsxs16(Fragment20, {
1738
+ return /* @__PURE__ */ jsxs17(Fragment21, {
1684
1739
  children: [
1685
1740
  "Metadata to be embedded in the video. See",
1686
1741
  " ",
1687
- /* @__PURE__ */ jsx20("a", {
1742
+ /* @__PURE__ */ jsx21("a", {
1688
1743
  href: "/docs/metadata",
1689
1744
  children: "here"
1690
1745
  }),
1691
1746
  " for which metadata is accepted.",
1692
- /* @__PURE__ */ jsx20("br", {}),
1747
+ /* @__PURE__ */ jsx21("br", {}),
1693
1748
  "The parameter must be in the format of ",
1694
- /* @__PURE__ */ jsx20("code", {
1749
+ /* @__PURE__ */ jsx21("code", {
1695
1750
  children: "--metadata key=value"
1696
1751
  }),
1697
1752
  " ",
@@ -1702,8 +1757,8 @@ var metadataOption = {
1702
1757
  docLink: "https://www.remotion.dev/docs/metadata",
1703
1758
  type: {},
1704
1759
  getValue: ({ commandLine }) => {
1705
- if (commandLine[cliFlag24] !== undefined) {
1706
- const val = commandLine[cliFlag24];
1760
+ if (commandLine[cliFlag25] !== undefined) {
1761
+ const val = commandLine[cliFlag25];
1707
1762
  const array = typeof val === "string" ? [val] : val;
1708
1763
  const keyValues = array.map((a) => {
1709
1764
  if (!a.includes("=")) {
@@ -1715,10 +1770,10 @@ var metadataOption = {
1715
1770
  }
1716
1771
  return [splitted[0], splitted[1]];
1717
1772
  });
1718
- const value = Object.fromEntries(keyValues);
1773
+ const value2 = Object.fromEntries(keyValues);
1719
1774
  return {
1720
1775
  source: "config",
1721
- value
1776
+ value: value2
1722
1777
  };
1723
1778
  }
1724
1779
  return {
@@ -1733,24 +1788,24 @@ var metadataOption = {
1733
1788
  };
1734
1789
 
1735
1790
  // src/options/mute.tsx
1736
- import { jsx as jsx21, Fragment as Fragment21 } from "react/jsx-runtime";
1791
+ import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
1737
1792
  var DEFAULT_MUTED_STATE = false;
1738
1793
  var mutedState = DEFAULT_MUTED_STATE;
1739
- var cliFlag25 = "muted";
1794
+ var cliFlag26 = "muted";
1740
1795
  var mutedOption = {
1741
1796
  name: "Muted",
1742
- cliFlag: cliFlag25,
1743
- description: () => /* @__PURE__ */ jsx21(Fragment21, {
1797
+ cliFlag: cliFlag26,
1798
+ description: () => /* @__PURE__ */ jsx22(Fragment22, {
1744
1799
  children: "The Audio of the video will be omitted."
1745
1800
  }),
1746
1801
  ssrName: "muted",
1747
1802
  docLink: "https://www.remotion.dev/docs/audio/muting",
1748
1803
  type: false,
1749
1804
  getValue: ({ commandLine }) => {
1750
- if (commandLine[cliFlag25] !== null) {
1805
+ if (commandLine[cliFlag26] !== null) {
1751
1806
  return {
1752
1807
  source: "cli",
1753
- value: commandLine[cliFlag25]
1808
+ value: commandLine[cliFlag26]
1754
1809
  };
1755
1810
  }
1756
1811
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -1770,50 +1825,50 @@ var mutedOption = {
1770
1825
  };
1771
1826
 
1772
1827
  // src/options/number-of-gif-loops.tsx
1773
- import { jsx as jsx22, jsxs as jsxs17, Fragment as Fragment22 } from "react/jsx-runtime";
1828
+ import { jsx as jsx23, jsxs as jsxs18, Fragment as Fragment23 } from "react/jsx-runtime";
1774
1829
  var currentLoop = null;
1775
1830
  var validate = (newLoop) => {
1776
1831
  if (newLoop !== null && typeof newLoop !== "number") {
1777
1832
  throw new Error("--number-of-gif-loops flag must be a number.");
1778
1833
  }
1779
1834
  };
1780
- var cliFlag26 = "number-of-gif-loops";
1835
+ var cliFlag27 = "number-of-gif-loops";
1781
1836
  var numberOfGifLoopsOption = {
1782
1837
  name: "Number of GIF loops",
1783
- cliFlag: cliFlag26,
1838
+ cliFlag: cliFlag27,
1784
1839
  description: () => {
1785
- return /* @__PURE__ */ jsxs17(Fragment22, {
1840
+ return /* @__PURE__ */ jsxs18(Fragment23, {
1786
1841
  children: [
1787
1842
  "Allows you to set the number of loops as follows:",
1788
- /* @__PURE__ */ jsxs17("ul", {
1843
+ /* @__PURE__ */ jsxs18("ul", {
1789
1844
  children: [
1790
- /* @__PURE__ */ jsxs17("li", {
1845
+ /* @__PURE__ */ jsxs18("li", {
1791
1846
  children: [
1792
- /* @__PURE__ */ jsx22("code", {
1847
+ /* @__PURE__ */ jsx23("code", {
1793
1848
  children: "null"
1794
1849
  }),
1795
1850
  " (or omitting in the CLI) plays the GIF indefinitely."
1796
1851
  ]
1797
1852
  }),
1798
- /* @__PURE__ */ jsxs17("li", {
1853
+ /* @__PURE__ */ jsxs18("li", {
1799
1854
  children: [
1800
- /* @__PURE__ */ jsx22("code", {
1855
+ /* @__PURE__ */ jsx23("code", {
1801
1856
  children: "0"
1802
1857
  }),
1803
1858
  " disables looping"
1804
1859
  ]
1805
1860
  }),
1806
- /* @__PURE__ */ jsxs17("li", {
1861
+ /* @__PURE__ */ jsxs18("li", {
1807
1862
  children: [
1808
- /* @__PURE__ */ jsx22("code", {
1863
+ /* @__PURE__ */ jsx23("code", {
1809
1864
  children: "1"
1810
1865
  }),
1811
1866
  " loops the GIF once (plays twice in total)"
1812
1867
  ]
1813
1868
  }),
1814
- /* @__PURE__ */ jsxs17("li", {
1869
+ /* @__PURE__ */ jsxs18("li", {
1815
1870
  children: [
1816
- /* @__PURE__ */ jsx22("code", {
1871
+ /* @__PURE__ */ jsx23("code", {
1817
1872
  children: "2"
1818
1873
  }),
1819
1874
  " loops the GIF twice (plays three times in total) and so on."
@@ -1828,10 +1883,10 @@ var numberOfGifLoopsOption = {
1828
1883
  docLink: "https://www.remotion.dev/docs/render-as-gif#changing-the-number-of-loops",
1829
1884
  type: 0,
1830
1885
  getValue: ({ commandLine }) => {
1831
- if (commandLine[cliFlag26] !== undefined) {
1832
- validate(commandLine[cliFlag26]);
1886
+ if (commandLine[cliFlag27] !== undefined) {
1887
+ validate(commandLine[cliFlag27]);
1833
1888
  return {
1834
- value: commandLine[cliFlag26],
1889
+ value: commandLine[cliFlag27],
1835
1890
  source: "cli"
1836
1891
  };
1837
1892
  }
@@ -1853,35 +1908,35 @@ var numberOfGifLoopsOption = {
1853
1908
  };
1854
1909
 
1855
1910
  // src/options/offthreadvideo-cache-size.tsx
1856
- import { jsx as jsx23, jsxs as jsxs18, Fragment as Fragment23 } from "react/jsx-runtime";
1911
+ import { jsx as jsx24, jsxs as jsxs19, Fragment as Fragment24 } from "react/jsx-runtime";
1857
1912
  var offthreadVideoCacheSizeInBytes = null;
1858
- var cliFlag27 = "offthreadvideo-cache-size-in-bytes";
1913
+ var cliFlag28 = "offthreadvideo-cache-size-in-bytes";
1859
1914
  var offthreadVideoCacheSizeInBytesOption = {
1860
1915
  name: "OffthreadVideo cache size",
1861
- cliFlag: cliFlag27,
1862
- description: () => /* @__PURE__ */ jsxs18(Fragment23, {
1916
+ cliFlag: cliFlag28,
1917
+ description: () => /* @__PURE__ */ jsxs19(Fragment24, {
1863
1918
  children: [
1864
1919
  "From v4.0, Remotion has a cache for",
1865
1920
  " ",
1866
- /* @__PURE__ */ jsx23("a", {
1921
+ /* @__PURE__ */ jsx24("a", {
1867
1922
  href: "https://remotion.dev/docs/offthreadvideo",
1868
- children: /* @__PURE__ */ jsx23("code", {
1923
+ children: /* @__PURE__ */ jsx24("code", {
1869
1924
  children: "<OffthreadVideo>"
1870
1925
  })
1871
1926
  }),
1872
1927
  " ",
1873
1928
  "frames. The default is ",
1874
- /* @__PURE__ */ jsx23("code", {
1929
+ /* @__PURE__ */ jsx24("code", {
1875
1930
  children: "null"
1876
1931
  }),
1877
1932
  ", corresponding to half of the system memory available when the render starts.",
1878
- /* @__PURE__ */ jsx23("br", {}),
1933
+ /* @__PURE__ */ jsx24("br", {}),
1879
1934
  " 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.",
1880
- /* @__PURE__ */ jsx23("br", {}),
1935
+ /* @__PURE__ */ jsx24("br", {}),
1881
1936
  "The used value will be printed when running in verbose mode.",
1882
- /* @__PURE__ */ jsx23("br", {}),
1937
+ /* @__PURE__ */ jsx24("br", {}),
1883
1938
  "Default: ",
1884
- /* @__PURE__ */ jsx23("code", {
1939
+ /* @__PURE__ */ jsx24("code", {
1885
1940
  children: "null"
1886
1941
  })
1887
1942
  ]
@@ -1890,10 +1945,10 @@ var offthreadVideoCacheSizeInBytesOption = {
1890
1945
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
1891
1946
  type: 0,
1892
1947
  getValue: ({ commandLine }) => {
1893
- if (commandLine[cliFlag27] !== undefined) {
1948
+ if (commandLine[cliFlag28] !== undefined) {
1894
1949
  return {
1895
1950
  source: "cli",
1896
- value: commandLine[cliFlag27]
1951
+ value: commandLine[cliFlag28]
1897
1952
  };
1898
1953
  }
1899
1954
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -1913,18 +1968,18 @@ var offthreadVideoCacheSizeInBytesOption = {
1913
1968
  };
1914
1969
 
1915
1970
  // src/options/offthreadvideo-threads.tsx
1916
- import { jsx as jsx24, jsxs as jsxs19, Fragment as Fragment24 } from "react/jsx-runtime";
1917
- var value = null;
1918
- var cliFlag28 = "offthreadvideo-video-threads";
1971
+ import { jsx as jsx25, jsxs as jsxs20, Fragment as Fragment25 } from "react/jsx-runtime";
1972
+ var value2 = null;
1973
+ var cliFlag29 = "offthreadvideo-video-threads";
1919
1974
  var offthreadVideoThreadsOption = {
1920
1975
  name: "OffthreadVideo threads",
1921
- cliFlag: cliFlag28,
1922
- description: () => /* @__PURE__ */ jsxs19(Fragment24, {
1976
+ cliFlag: cliFlag29,
1977
+ description: () => /* @__PURE__ */ jsxs20(Fragment25, {
1923
1978
  children: [
1924
1979
  "The number of threads that",
1925
- /* @__PURE__ */ jsx24("a", {
1980
+ /* @__PURE__ */ jsx25("a", {
1926
1981
  href: "https://remotion.dev/docs/offthreadvideo",
1927
- children: /* @__PURE__ */ jsx24("code", {
1982
+ children: /* @__PURE__ */ jsx25("code", {
1928
1983
  children: "<OffthreadVideo>"
1929
1984
  })
1930
1985
  }),
@@ -1939,16 +1994,16 @@ var offthreadVideoThreadsOption = {
1939
1994
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
1940
1995
  type: 0,
1941
1996
  getValue: ({ commandLine }) => {
1942
- if (commandLine[cliFlag28] !== undefined) {
1997
+ if (commandLine[cliFlag29] !== undefined) {
1943
1998
  return {
1944
1999
  source: "cli",
1945
- value: commandLine[cliFlag28]
2000
+ value: commandLine[cliFlag29]
1946
2001
  };
1947
2002
  }
1948
- if (value !== null) {
2003
+ if (value2 !== null) {
1949
2004
  return {
1950
2005
  source: "config",
1951
- value
2006
+ value: value2
1952
2007
  };
1953
2008
  }
1954
2009
  return {
@@ -1957,22 +2012,22 @@ var offthreadVideoThreadsOption = {
1957
2012
  };
1958
2013
  },
1959
2014
  setConfig: (size) => {
1960
- value = size ?? null;
2015
+ value2 = size ?? null;
1961
2016
  }
1962
2017
  };
1963
2018
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
1964
2019
 
1965
2020
  // src/options/on-browser-download.tsx
1966
- import { jsx as jsx25, jsxs as jsxs20, Fragment as Fragment25 } from "react/jsx-runtime";
1967
- var cliFlag29 = "on-browser-download";
2021
+ import { jsx as jsx26, jsxs as jsxs21, Fragment as Fragment26 } from "react/jsx-runtime";
2022
+ var cliFlag30 = "on-browser-download";
1968
2023
  var onBrowserDownloadOption = {
1969
2024
  name: "Browser download callback function",
1970
- cliFlag: cliFlag29,
1971
- description: () => /* @__PURE__ */ jsxs20(Fragment25, {
2025
+ cliFlag: cliFlag30,
2026
+ description: () => /* @__PURE__ */ jsxs21(Fragment26, {
1972
2027
  children: [
1973
2028
  "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.",
1974
2029
  " ",
1975
- /* @__PURE__ */ jsx25("a", {
2030
+ /* @__PURE__ */ jsx26("a", {
1976
2031
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
1977
2032
  children: "See here for how to use this option."
1978
2033
  })
@@ -1990,25 +2045,25 @@ var onBrowserDownloadOption = {
1990
2045
  };
1991
2046
 
1992
2047
  // src/options/overwrite.tsx
1993
- import { jsx as jsx26, jsxs as jsxs21, Fragment as Fragment26 } from "react/jsx-runtime";
2048
+ import { jsx as jsx27, jsxs as jsxs22, Fragment as Fragment27 } from "react/jsx-runtime";
1994
2049
  var shouldOverwrite = null;
1995
- var cliFlag30 = "overwrite";
1996
- var validate2 = (value2) => {
1997
- if (typeof value2 !== "boolean") {
1998
- throw new Error(`overwriteExisting must be a boolean but got ${typeof value2} (${value2})`);
2050
+ var cliFlag31 = "overwrite";
2051
+ var validate2 = (value3) => {
2052
+ if (typeof value3 !== "boolean") {
2053
+ throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
1999
2054
  }
2000
2055
  };
2001
2056
  var overwriteOption = {
2002
2057
  name: "Overwrite output",
2003
- cliFlag: cliFlag30,
2004
- description: () => /* @__PURE__ */ jsxs21(Fragment26, {
2058
+ cliFlag: cliFlag31,
2059
+ description: () => /* @__PURE__ */ jsxs22(Fragment27, {
2005
2060
  children: [
2006
2061
  "If set to ",
2007
- /* @__PURE__ */ jsx26("code", {
2062
+ /* @__PURE__ */ jsx27("code", {
2008
2063
  children: "false"
2009
2064
  }),
2010
2065
  ", will prevent rendering to a path that already exists. Default is ",
2011
- /* @__PURE__ */ jsx26("code", {
2066
+ /* @__PURE__ */ jsx27("code", {
2012
2067
  children: "true"
2013
2068
  }),
2014
2069
  "."
@@ -2018,11 +2073,11 @@ var overwriteOption = {
2018
2073
  docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
2019
2074
  type: false,
2020
2075
  getValue: ({ commandLine }, defaultValue2) => {
2021
- if (commandLine[cliFlag30] !== undefined) {
2022
- validate2(commandLine[cliFlag30]);
2076
+ if (commandLine[cliFlag31] !== undefined) {
2077
+ validate2(commandLine[cliFlag31]);
2023
2078
  return {
2024
2079
  source: "cli",
2025
- value: commandLine[cliFlag30]
2080
+ value: commandLine[cliFlag31]
2026
2081
  };
2027
2082
  }
2028
2083
  if (shouldOverwrite !== null) {
@@ -2036,28 +2091,28 @@ var overwriteOption = {
2036
2091
  value: defaultValue2
2037
2092
  };
2038
2093
  },
2039
- setConfig: (value2) => {
2040
- validate2(value2);
2041
- shouldOverwrite = value2;
2094
+ setConfig: (value3) => {
2095
+ validate2(value3);
2096
+ shouldOverwrite = value3;
2042
2097
  }
2043
2098
  };
2044
2099
 
2045
2100
  // src/options/prefer-lossless.tsx
2046
- import { jsx as jsx27, jsxs as jsxs22, Fragment as Fragment27 } from "react/jsx-runtime";
2047
- var cliFlag31 = "prefer-lossless";
2101
+ import { jsx as jsx28, jsxs as jsxs23, Fragment as Fragment28 } from "react/jsx-runtime";
2102
+ var cliFlag32 = "prefer-lossless";
2048
2103
  var input = false;
2049
2104
  var preferLosslessAudioOption = {
2050
2105
  name: "Prefer lossless",
2051
- cliFlag: cliFlag31,
2052
- description: () => /* @__PURE__ */ jsxs22(Fragment27, {
2106
+ cliFlag: cliFlag32,
2107
+ description: () => /* @__PURE__ */ jsxs23(Fragment28, {
2053
2108
  children: [
2054
2109
  "Uses a lossless audio codec, if one is available for the codec. If you set",
2055
- /* @__PURE__ */ jsx27("code", {
2110
+ /* @__PURE__ */ jsx28("code", {
2056
2111
  children: "audioCodec"
2057
2112
  }),
2058
2113
  ", it takes priority over",
2059
2114
  " ",
2060
- /* @__PURE__ */ jsx27("code", {
2115
+ /* @__PURE__ */ jsx28("code", {
2061
2116
  children: "preferLossless"
2062
2117
  }),
2063
2118
  "."
@@ -2067,7 +2122,7 @@ var preferLosslessAudioOption = {
2067
2122
  type: false,
2068
2123
  ssrName: "preferLossless",
2069
2124
  getValue: ({ commandLine }) => {
2070
- if (commandLine[cliFlag31]) {
2125
+ if (commandLine[cliFlag32]) {
2071
2126
  return { value: true, source: "cli" };
2072
2127
  }
2073
2128
  if (input === true) {
@@ -2081,20 +2136,20 @@ var preferLosslessAudioOption = {
2081
2136
  };
2082
2137
 
2083
2138
  // src/options/public-dir.tsx
2084
- import { jsx as jsx28, jsxs as jsxs23, Fragment as Fragment28 } from "react/jsx-runtime";
2085
- var cliFlag32 = "public-dir";
2139
+ import { jsx as jsx29, jsxs as jsxs24, Fragment as Fragment29 } from "react/jsx-runtime";
2140
+ var cliFlag33 = "public-dir";
2086
2141
  var currentPublicDir = null;
2087
2142
  var publicDirOption = {
2088
2143
  name: "Public Directory",
2089
- cliFlag: cliFlag32,
2144
+ cliFlag: cliFlag33,
2090
2145
  description: () => {
2091
- return /* @__PURE__ */ jsxs23(Fragment28, {
2146
+ return /* @__PURE__ */ jsxs24(Fragment29, {
2092
2147
  children: [
2093
2148
  "Define the location of the",
2094
2149
  " ",
2095
- /* @__PURE__ */ jsx28("a", {
2150
+ /* @__PURE__ */ jsx29("a", {
2096
2151
  href: "/docs/terminology/public-dir",
2097
- children: /* @__PURE__ */ jsx28("code", {
2152
+ children: /* @__PURE__ */ jsx29("code", {
2098
2153
  children: "public/ directory"
2099
2154
  })
2100
2155
  }),
@@ -2105,10 +2160,10 @@ var publicDirOption = {
2105
2160
  ssrName: "publicDir",
2106
2161
  docLink: "https://www.remotion.dev/docs/terminology/public-dir",
2107
2162
  getValue: ({ commandLine }) => {
2108
- if (commandLine[cliFlag32] !== undefined) {
2163
+ if (commandLine[cliFlag33] !== undefined) {
2109
2164
  return {
2110
2165
  source: "cli",
2111
- value: commandLine[cliFlag32]
2166
+ value: commandLine[cliFlag33]
2112
2167
  };
2113
2168
  }
2114
2169
  if (currentPublicDir !== null) {
@@ -2122,32 +2177,32 @@ var publicDirOption = {
2122
2177
  value: null
2123
2178
  };
2124
2179
  },
2125
- setConfig: (value2) => {
2126
- currentPublicDir = value2;
2180
+ setConfig: (value3) => {
2181
+ currentPublicDir = value3;
2127
2182
  },
2128
2183
  type: ""
2129
2184
  };
2130
2185
 
2131
2186
  // src/options/public-path.tsx
2132
- import { jsx as jsx29, jsxs as jsxs24, Fragment as Fragment29 } from "react/jsx-runtime";
2133
- var cliFlag33 = "public-path";
2187
+ import { jsx as jsx30, jsxs as jsxs25, Fragment as Fragment30 } from "react/jsx-runtime";
2188
+ var cliFlag34 = "public-path";
2134
2189
  var currentPublicPath = null;
2135
2190
  var publicPathOption = {
2136
2191
  name: "Public Path",
2137
- cliFlag: cliFlag33,
2192
+ cliFlag: cliFlag34,
2138
2193
  description: () => {
2139
- return /* @__PURE__ */ jsxs24(Fragment29, {
2194
+ return /* @__PURE__ */ jsxs25(Fragment30, {
2140
2195
  children: [
2141
2196
  "The path of the URL where the bundle is going to be hosted. By default it is ",
2142
- /* @__PURE__ */ jsx29("code", {
2197
+ /* @__PURE__ */ jsx30("code", {
2143
2198
  children: "/"
2144
2199
  }),
2145
2200
  ", meaning that the bundle is going to be hosted at the root of the domain (e.g. ",
2146
- /* @__PURE__ */ jsx29("code", {
2201
+ /* @__PURE__ */ jsx30("code", {
2147
2202
  children: "https://localhost:3000/"
2148
2203
  }),
2149
2204
  "). If you are deploying to a subdirectory (e.g. ",
2150
- /* @__PURE__ */ jsx29("code", {
2205
+ /* @__PURE__ */ jsx30("code", {
2151
2206
  children: "/sites/my-site/"
2152
2207
  }),
2153
2208
  "), you should set this to the subdirectory."
@@ -2157,10 +2212,10 @@ var publicPathOption = {
2157
2212
  ssrName: "publicPath",
2158
2213
  docLink: "https://www.remotion.dev/docs/renderer",
2159
2214
  getValue: ({ commandLine }) => {
2160
- if (commandLine[cliFlag33] !== undefined) {
2215
+ if (commandLine[cliFlag34] !== undefined) {
2161
2216
  return {
2162
2217
  source: "cli",
2163
- value: commandLine[cliFlag33]
2218
+ value: commandLine[cliFlag34]
2164
2219
  };
2165
2220
  }
2166
2221
  if (currentPublicPath !== null) {
@@ -2174,32 +2229,32 @@ var publicPathOption = {
2174
2229
  value: null
2175
2230
  };
2176
2231
  },
2177
- setConfig: (value2) => {
2178
- currentPublicPath = value2;
2232
+ setConfig: (value3) => {
2233
+ currentPublicPath = value3;
2179
2234
  },
2180
2235
  type: ""
2181
2236
  };
2182
2237
 
2183
2238
  // src/options/repro.tsx
2184
- import { jsx as jsx30, Fragment as Fragment30 } from "react/jsx-runtime";
2239
+ import { jsx as jsx31, Fragment as Fragment31 } from "react/jsx-runtime";
2185
2240
  var enableRepro = false;
2186
2241
  var setRepro = (should) => {
2187
2242
  enableRepro = should;
2188
2243
  };
2189
- var cliFlag34 = "repro";
2244
+ var cliFlag35 = "repro";
2190
2245
  var reproOption = {
2191
2246
  name: "Create reproduction",
2192
- cliFlag: cliFlag34,
2193
- description: () => /* @__PURE__ */ jsx30(Fragment30, {
2247
+ cliFlag: cliFlag35,
2248
+ description: () => /* @__PURE__ */ jsx31(Fragment31, {
2194
2249
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
2195
2250
  }),
2196
2251
  ssrName: "repro",
2197
2252
  docLink: "https://www.remotion.dev/docs/render-media#repro",
2198
2253
  type: false,
2199
2254
  getValue: ({ commandLine }) => {
2200
- if (commandLine[cliFlag34] !== undefined) {
2255
+ if (commandLine[cliFlag35] !== undefined) {
2201
2256
  return {
2202
- value: commandLine[cliFlag34],
2257
+ value: commandLine[cliFlag35],
2203
2258
  source: "cli"
2204
2259
  };
2205
2260
  }
@@ -2218,21 +2273,21 @@ var reproOption = {
2218
2273
  };
2219
2274
 
2220
2275
  // src/options/scale.tsx
2221
- import { jsx as jsx31, jsxs as jsxs25, Fragment as Fragment31 } from "react/jsx-runtime";
2276
+ import { jsx as jsx32, jsxs as jsxs26, Fragment as Fragment32 } from "react/jsx-runtime";
2222
2277
  var currentScale = 1;
2223
- var cliFlag35 = "scale";
2224
- var validateScale = (value2) => {
2225
- if (typeof value2 !== "number") {
2278
+ var cliFlag36 = "scale";
2279
+ var validateScale = (value3) => {
2280
+ if (typeof value3 !== "number") {
2226
2281
  throw new Error("scale must be a number.");
2227
2282
  }
2228
2283
  };
2229
2284
  var scaleOption = {
2230
2285
  name: "Scale",
2231
- cliFlag: cliFlag35,
2232
- description: () => /* @__PURE__ */ jsxs25(Fragment31, {
2286
+ cliFlag: cliFlag36,
2287
+ description: () => /* @__PURE__ */ jsxs26(Fragment32, {
2233
2288
  children: [
2234
2289
  "Scales the output by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
2235
- /* @__PURE__ */ jsx31("code", {
2290
+ /* @__PURE__ */ jsx32("code", {
2236
2291
  children: "1.5"
2237
2292
  }),
2238
2293
  ". Vector elements like fonts and HTML markups will be rendered with extra details."
@@ -2242,11 +2297,11 @@ var scaleOption = {
2242
2297
  docLink: "https://www.remotion.dev/docs/scaling",
2243
2298
  type: 0,
2244
2299
  getValue: ({ commandLine }) => {
2245
- if (commandLine[cliFlag35] !== undefined) {
2246
- validateScale(commandLine[cliFlag35]);
2300
+ if (commandLine[cliFlag36] !== undefined) {
2301
+ validateScale(commandLine[cliFlag36]);
2247
2302
  return {
2248
2303
  source: "cli",
2249
- value: commandLine[cliFlag35]
2304
+ value: commandLine[cliFlag36]
2250
2305
  };
2251
2306
  }
2252
2307
  if (currentScale !== null) {
@@ -2267,16 +2322,16 @@ var scaleOption = {
2267
2322
 
2268
2323
  // src/options/throw-if-site-exists.tsx
2269
2324
  var DEFAULT5 = false;
2270
- var cliFlag36 = "throw-if-site-exists";
2325
+ var cliFlag37 = "throw-if-site-exists";
2271
2326
  var throwIfSiteExistsOption = {
2272
- cliFlag: cliFlag36,
2327
+ cliFlag: cliFlag37,
2273
2328
  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.`,
2274
2329
  docLink: "https://remotion.dev/docs/lambda/deploy-site",
2275
2330
  getValue: ({ commandLine }) => {
2276
- if (commandLine[cliFlag36]) {
2331
+ if (commandLine[cliFlag37]) {
2277
2332
  return {
2278
2333
  source: "cli",
2279
- value: commandLine[cliFlag36]
2334
+ value: commandLine[cliFlag37]
2280
2335
  };
2281
2336
  }
2282
2337
  return {
@@ -2293,35 +2348,35 @@ var throwIfSiteExistsOption = {
2293
2348
  };
2294
2349
 
2295
2350
  // src/options/timeout.tsx
2296
- import { jsx as jsx32, jsxs as jsxs26, Fragment as Fragment32 } from "react/jsx-runtime";
2351
+ import { jsx as jsx33, jsxs as jsxs27, Fragment as Fragment33 } from "react/jsx-runtime";
2297
2352
  var currentTimeout = DEFAULT_TIMEOUT;
2298
- var validate3 = (value2) => {
2299
- if (typeof value2 !== "number") {
2300
- throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value2));
2353
+ var validate3 = (value3) => {
2354
+ if (typeof value3 !== "number") {
2355
+ throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
2301
2356
  }
2302
2357
  };
2303
- var cliFlag37 = "timeout";
2358
+ var cliFlag38 = "timeout";
2304
2359
  var delayRenderTimeoutInMillisecondsOption = {
2305
2360
  name: "delayRender() timeout",
2306
- cliFlag: cliFlag37,
2307
- description: () => /* @__PURE__ */ jsxs26(Fragment32, {
2361
+ cliFlag: cliFlag38,
2362
+ description: () => /* @__PURE__ */ jsxs27(Fragment33, {
2308
2363
  children: [
2309
2364
  "A number describing how long the render may take to resolve all",
2310
2365
  " ",
2311
- /* @__PURE__ */ jsx32("a", {
2366
+ /* @__PURE__ */ jsx33("a", {
2312
2367
  href: "https://remotion.dev/docs/delay-render",
2313
- children: /* @__PURE__ */ jsx32("code", {
2368
+ children: /* @__PURE__ */ jsx33("code", {
2314
2369
  children: "delayRender()"
2315
2370
  })
2316
2371
  }),
2317
2372
  " ",
2318
2373
  "calls ",
2319
- /* @__PURE__ */ jsx32("a", {
2374
+ /* @__PURE__ */ jsx33("a", {
2320
2375
  href: "https://remotion.dev/docs/timeout",
2321
2376
  children: "before it times out"
2322
2377
  }),
2323
2378
  ". Default: ",
2324
- /* @__PURE__ */ jsx32("code", {
2379
+ /* @__PURE__ */ jsx33("code", {
2325
2380
  children: "30000"
2326
2381
  })
2327
2382
  ]
@@ -2330,10 +2385,10 @@ var delayRenderTimeoutInMillisecondsOption = {
2330
2385
  docLink: "https://www.remotion.dev/docs/timeout",
2331
2386
  type: 0,
2332
2387
  getValue: ({ commandLine }) => {
2333
- if (commandLine[cliFlag37] !== undefined) {
2388
+ if (commandLine[cliFlag38] !== undefined) {
2334
2389
  return {
2335
2390
  source: "cli",
2336
- value: commandLine[cliFlag37]
2391
+ value: commandLine[cliFlag38]
2337
2392
  };
2338
2393
  }
2339
2394
  if (currentTimeout !== null) {
@@ -2348,33 +2403,33 @@ var delayRenderTimeoutInMillisecondsOption = {
2348
2403
  value: DEFAULT_TIMEOUT
2349
2404
  };
2350
2405
  },
2351
- setConfig: (value2) => {
2352
- validate3(value2);
2353
- currentTimeout = value2;
2406
+ setConfig: (value3) => {
2407
+ validate3(value3);
2408
+ currentTimeout = value3;
2354
2409
  }
2355
2410
  };
2356
2411
 
2357
2412
  // src/options/video-bitrate.tsx
2358
- import { jsx as jsx33, jsxs as jsxs27, Fragment as Fragment33 } from "react/jsx-runtime";
2413
+ import { jsx as jsx34, jsxs as jsxs28, Fragment as Fragment34 } from "react/jsx-runtime";
2359
2414
  var videoBitrate = null;
2360
- var cliFlag38 = "video-bitrate";
2415
+ var cliFlag39 = "video-bitrate";
2361
2416
  var videoBitrateOption = {
2362
2417
  name: "Video Bitrate",
2363
- cliFlag: cliFlag38,
2364
- description: () => /* @__PURE__ */ jsxs27(Fragment33, {
2418
+ cliFlag: cliFlag39,
2419
+ description: () => /* @__PURE__ */ jsxs28(Fragment34, {
2365
2420
  children: [
2366
2421
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
2367
2422
  "'",
2368
2423
  "s",
2369
- /* @__PURE__ */ jsx33("code", {
2424
+ /* @__PURE__ */ jsx34("code", {
2370
2425
  children: "-b:v"
2371
2426
  }),
2372
2427
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
2373
- /* @__PURE__ */ jsx33("code", {
2428
+ /* @__PURE__ */ jsx34("code", {
2374
2429
  children: "512K"
2375
2430
  }),
2376
2431
  " for 512 kbps, ",
2377
- /* @__PURE__ */ jsx33("code", {
2432
+ /* @__PURE__ */ jsx34("code", {
2378
2433
  children: "1M"
2379
2434
  }),
2380
2435
  " for 1 Mbps."
@@ -2384,10 +2439,10 @@ var videoBitrateOption = {
2384
2439
  docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
2385
2440
  type: "",
2386
2441
  getValue: ({ commandLine }) => {
2387
- if (commandLine[cliFlag38] !== undefined) {
2442
+ if (commandLine[cliFlag39] !== undefined) {
2388
2443
  return {
2389
2444
  source: "cli",
2390
- value: commandLine[cliFlag38]
2445
+ value: commandLine[cliFlag39]
2391
2446
  };
2392
2447
  }
2393
2448
  if (videoBitrate !== null) {
@@ -2522,7 +2577,7 @@ var getExtensionOfFilename = (filename) => {
2522
2577
  };
2523
2578
 
2524
2579
  // src/options/video-codec.tsx
2525
- import { jsx as jsx34, Fragment as Fragment34 } from "react/jsx-runtime";
2580
+ import { jsx as jsx35, Fragment as Fragment35 } from "react/jsx-runtime";
2526
2581
  var codec;
2527
2582
  var setCodec = (newCodec) => {
2528
2583
  if (newCodec === undefined) {
@@ -2546,11 +2601,11 @@ var deriveCodecsFromFilename = (extension) => {
2546
2601
  possible: makeFileExtensionMap()[extension] ?? []
2547
2602
  };
2548
2603
  };
2549
- var cliFlag39 = "codec";
2604
+ var cliFlag40 = "codec";
2550
2605
  var videoCodecOption = {
2551
2606
  name: "Codec",
2552
- cliFlag: cliFlag39,
2553
- description: () => /* @__PURE__ */ jsx34(Fragment34, {
2607
+ cliFlag: cliFlag40,
2608
+ description: () => /* @__PURE__ */ jsx35(Fragment35, {
2554
2609
  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."
2555
2610
  }),
2556
2611
  ssrName: "codec",
@@ -2573,7 +2628,7 @@ var videoCodecOption = {
2573
2628
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
2574
2629
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
2575
2630
  }
2576
- const cliArgument = commandLine[cliFlag39];
2631
+ const cliArgument = commandLine[cliFlag40];
2577
2632
  if (cliArgument) {
2578
2633
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
2579
2634
  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.`);
@@ -2610,12 +2665,12 @@ var videoCodecOption = {
2610
2665
  };
2611
2666
 
2612
2667
  // src/options/webhook-custom-data.tsx
2613
- import { jsxs as jsxs28, Fragment as Fragment35 } from "react/jsx-runtime";
2614
- var cliFlag40 = "webhook-custom-data";
2668
+ import { jsxs as jsxs29, Fragment as Fragment36 } from "react/jsx-runtime";
2669
+ var cliFlag41 = "webhook-custom-data";
2615
2670
  var webhookCustomDataOption = {
2616
2671
  name: "Webhook custom data",
2617
- cliFlag: cliFlag40,
2618
- description: (type) => /* @__PURE__ */ jsxs28(Fragment35, {
2672
+ cliFlag: cliFlag41,
2673
+ description: (type) => /* @__PURE__ */ jsxs29(Fragment36, {
2619
2674
  children: [
2620
2675
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
2621
2676
  " ",
@@ -2634,7 +2689,7 @@ var webhookCustomDataOption = {
2634
2689
  };
2635
2690
 
2636
2691
  // src/options/x264-preset.tsx
2637
- import { jsx as jsx35, jsxs as jsxs29, Fragment as Fragment36 } from "react/jsx-runtime";
2692
+ import { jsx as jsx36, jsxs as jsxs30, Fragment as Fragment37 } from "react/jsx-runtime";
2638
2693
  var x264PresetOptions = [
2639
2694
  "ultrafast",
2640
2695
  "superfast",
@@ -2648,63 +2703,63 @@ var x264PresetOptions = [
2648
2703
  "placebo"
2649
2704
  ];
2650
2705
  var preset = null;
2651
- var cliFlag41 = "x264-preset";
2706
+ var cliFlag42 = "x264-preset";
2652
2707
  var DEFAULT_PRESET = "medium";
2653
2708
  var x264Option = {
2654
2709
  name: "x264 Preset",
2655
- cliFlag: cliFlag41,
2656
- description: () => /* @__PURE__ */ jsxs29(Fragment36, {
2710
+ cliFlag: cliFlag42,
2711
+ description: () => /* @__PURE__ */ jsxs30(Fragment37, {
2657
2712
  children: [
2658
2713
  "Sets a x264 preset profile. Only applies to videos rendered with",
2659
2714
  " ",
2660
- /* @__PURE__ */ jsx35("code", {
2715
+ /* @__PURE__ */ jsx36("code", {
2661
2716
  children: "h264"
2662
2717
  }),
2663
2718
  " codec.",
2664
- /* @__PURE__ */ jsx35("br", {}),
2719
+ /* @__PURE__ */ jsx36("br", {}),
2665
2720
  "Possible values: ",
2666
- /* @__PURE__ */ jsx35("code", {
2721
+ /* @__PURE__ */ jsx36("code", {
2667
2722
  children: "superfast"
2668
2723
  }),
2669
2724
  ", ",
2670
- /* @__PURE__ */ jsx35("code", {
2725
+ /* @__PURE__ */ jsx36("code", {
2671
2726
  children: "veryfast"
2672
2727
  }),
2673
2728
  ",",
2674
2729
  " ",
2675
- /* @__PURE__ */ jsx35("code", {
2730
+ /* @__PURE__ */ jsx36("code", {
2676
2731
  children: "faster"
2677
2732
  }),
2678
2733
  ", ",
2679
- /* @__PURE__ */ jsx35("code", {
2734
+ /* @__PURE__ */ jsx36("code", {
2680
2735
  children: "fast"
2681
2736
  }),
2682
2737
  ", ",
2683
- /* @__PURE__ */ jsx35("code", {
2738
+ /* @__PURE__ */ jsx36("code", {
2684
2739
  children: "medium"
2685
2740
  }),
2686
2741
  ",",
2687
2742
  " ",
2688
- /* @__PURE__ */ jsx35("code", {
2743
+ /* @__PURE__ */ jsx36("code", {
2689
2744
  children: "slow"
2690
2745
  }),
2691
2746
  ", ",
2692
- /* @__PURE__ */ jsx35("code", {
2747
+ /* @__PURE__ */ jsx36("code", {
2693
2748
  children: "slower"
2694
2749
  }),
2695
2750
  ", ",
2696
- /* @__PURE__ */ jsx35("code", {
2751
+ /* @__PURE__ */ jsx36("code", {
2697
2752
  children: "veryslow"
2698
2753
  }),
2699
2754
  ",",
2700
2755
  " ",
2701
- /* @__PURE__ */ jsx35("code", {
2756
+ /* @__PURE__ */ jsx36("code", {
2702
2757
  children: "placebo"
2703
2758
  }),
2704
2759
  ".",
2705
- /* @__PURE__ */ jsx35("br", {}),
2760
+ /* @__PURE__ */ jsx36("br", {}),
2706
2761
  "Default: ",
2707
- /* @__PURE__ */ jsx35("code", {
2762
+ /* @__PURE__ */ jsx36("code", {
2708
2763
  children: DEFAULT_PRESET
2709
2764
  })
2710
2765
  ]
@@ -2713,9 +2768,9 @@ var x264Option = {
2713
2768
  docLink: "https://www.remotion.dev/docs/renderer/render-media",
2714
2769
  type: "fast",
2715
2770
  getValue: ({ commandLine }) => {
2716
- const value2 = commandLine[cliFlag41];
2717
- if (typeof value2 !== "undefined") {
2718
- return { value: value2, source: "cli" };
2771
+ const value3 = commandLine[cliFlag42];
2772
+ if (typeof value3 !== "undefined") {
2773
+ return { value: value3, source: "cli" };
2719
2774
  }
2720
2775
  if (preset !== null) {
2721
2776
  return { value: preset, source: "config" };
@@ -2769,7 +2824,8 @@ var allOptions = {
2769
2824
  metadataOption,
2770
2825
  hardwareAccelerationOption,
2771
2826
  chromeModeOption,
2772
- apiKeyOption
2827
+ apiKeyOption,
2828
+ audioLatencyHintOption
2773
2829
  };
2774
2830
 
2775
2831
  // src/options/options-map.ts
@@ -661,6 +661,24 @@ export declare const allOptions: {
661
661
  };
662
662
  setConfig: (value: string | null) => void;
663
663
  };
664
+ audioLatencyHintOption: {
665
+ name: string;
666
+ cliFlag: "audio-latency-hint";
667
+ description: () => import("react/jsx-runtime").JSX.Element;
668
+ ssrName: "audioLatencyHint";
669
+ docLink: string;
670
+ type: AudioContextLatencyCategory;
671
+ getValue: ({ commandLine }: {
672
+ commandLine: Record<string, unknown>;
673
+ }) => {
674
+ value: AudioContextLatencyCategory;
675
+ source: string;
676
+ } | {
677
+ value: null;
678
+ source: string;
679
+ };
680
+ setConfig: (profile: AudioContextLatencyCategory | null) => void;
681
+ };
664
682
  };
665
683
  export type AvailableOptions = keyof typeof allOptions;
666
684
  export type TypeOfOption<Type> = Type extends AnyRemotionOption<infer X> ? X : never;
@@ -22,6 +22,7 @@ const gl_1 = require("./gl");
22
22
  const hardware_acceleration_1 = require("./hardware-acceleration");
23
23
  const headless_1 = require("./headless");
24
24
  const jpeg_quality_1 = require("./jpeg-quality");
25
+ const latency_hint_1 = require("./latency-hint");
25
26
  const log_level_1 = require("./log-level");
26
27
  const metadata_1 = require("./metadata");
27
28
  const mute_1 = require("./mute");
@@ -84,4 +85,5 @@ exports.allOptions = {
84
85
  hardwareAccelerationOption: hardware_acceleration_1.hardwareAccelerationOption,
85
86
  chromeModeOption: chrome_mode_1.chromeModeOption,
86
87
  apiKeyOption: api_key_1.apiKeyOption,
88
+ audioLatencyHintOption: latency_hint_1.audioLatencyHintOption,
87
89
  };
@@ -0,0 +1,18 @@
1
+ export declare const audioLatencyHintOption: {
2
+ name: string;
3
+ cliFlag: "audio-latency-hint";
4
+ description: () => import("react/jsx-runtime").JSX.Element;
5
+ ssrName: "audioLatencyHint";
6
+ docLink: string;
7
+ type: AudioContextLatencyCategory;
8
+ getValue: ({ commandLine }: {
9
+ commandLine: Record<string, unknown>;
10
+ }) => {
11
+ value: AudioContextLatencyCategory;
12
+ source: string;
13
+ } | {
14
+ value: null;
15
+ source: string;
16
+ };
17
+ setConfig: (profile: AudioContextLatencyCategory | null) => void;
18
+ };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.audioLatencyHintOption = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const cliFlag = 'audio-latency-hint';
6
+ let value = null;
7
+ exports.audioLatencyHintOption = {
8
+ name: 'Audio Latency Hint',
9
+ cliFlag,
10
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Sets the", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext", children: "audio latency" }), ' ', "hint for the global ", (0, jsx_runtime_1.jsx)("code", { children: "AudioContext" }), " context that Remotion uses to play audio.", (0, jsx_runtime_1.jsx)("br", {}), "Possible values: ", (0, jsx_runtime_1.jsx)("code", { children: "interactive" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "balanced" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "playback" })] })),
11
+ ssrName: 'audioLatencyHint',
12
+ docLink: 'https://www.remotion.dev/docs/renderer/render-media',
13
+ type: 'interactive',
14
+ getValue: ({ commandLine }) => {
15
+ const val = commandLine[cliFlag];
16
+ if (typeof val !== 'undefined') {
17
+ return { value: val, source: 'cli' };
18
+ }
19
+ if (value !== null) {
20
+ return { value, source: 'config' };
21
+ }
22
+ return { value: null, source: 'default' };
23
+ },
24
+ setConfig: (profile) => {
25
+ value = profile;
26
+ },
27
+ };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
4
4
  },
5
5
  "name": "@remotion/renderer",
6
- "version": "4.0.301",
6
+ "version": "4.0.303",
7
7
  "description": "Render Remotion videos using Node.js or Bun",
8
8
  "main": "dist/index.js",
9
9
  "types": "dist/index.d.ts",
@@ -18,8 +18,8 @@
18
18
  "extract-zip": "2.0.1",
19
19
  "source-map": "^0.8.0-beta.0",
20
20
  "ws": "8.17.1",
21
- "@remotion/streaming": "4.0.301",
22
- "remotion": "4.0.301"
21
+ "remotion": "4.0.303",
22
+ "@remotion/streaming": "4.0.303"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "react": ">=16.8.0",
@@ -33,17 +33,17 @@
33
33
  "react-dom": "19.0.0",
34
34
  "@types/ws": "8.5.10",
35
35
  "eslint": "9.19.0",
36
- "@remotion/example-videos": "4.0.301",
37
- "@remotion/eslint-config-internal": "4.0.301"
36
+ "@remotion/eslint-config-internal": "4.0.303",
37
+ "@remotion/example-videos": "4.0.303"
38
38
  },
39
39
  "optionalDependencies": {
40
- "@remotion/compositor-darwin-arm64": "4.0.301",
41
- "@remotion/compositor-darwin-x64": "4.0.301",
42
- "@remotion/compositor-linux-arm64-musl": "4.0.301",
43
- "@remotion/compositor-linux-arm64-gnu": "4.0.301",
44
- "@remotion/compositor-linux-x64-gnu": "4.0.301",
45
- "@remotion/compositor-win32-x64-msvc": "4.0.301",
46
- "@remotion/compositor-linux-x64-musl": "4.0.301"
40
+ "@remotion/compositor-darwin-arm64": "4.0.303",
41
+ "@remotion/compositor-linux-arm64-gnu": "4.0.303",
42
+ "@remotion/compositor-darwin-x64": "4.0.303",
43
+ "@remotion/compositor-linux-arm64-musl": "4.0.303",
44
+ "@remotion/compositor-linux-x64-gnu": "4.0.303",
45
+ "@remotion/compositor-win32-x64-msvc": "4.0.303",
46
+ "@remotion/compositor-linux-x64-musl": "4.0.303"
47
47
  },
48
48
  "keywords": [
49
49
  "remotion",