@remotion/renderer 4.0.290 → 4.0.292

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.
@@ -70,7 +70,7 @@ const makeBrowserRunner = async ({ executablePath, processArguments, userDataDir
70
70
  const dumpio = (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose');
71
71
  const stdio = dumpio
72
72
  ? ['ignore', 'pipe', 'pipe']
73
- : ['pipe', 'ignore', 'pipe'];
73
+ : ['pipe', 'pipe', 'pipe'];
74
74
  const proc = childProcess.spawn(executablePath, processArguments, {
75
75
  // On non-windows platforms, `detached: true` makes child process a
76
76
  // leader of a new process group, making it possible to kill child
@@ -235,13 +235,17 @@ const makeBrowserRunner = async ({ executablePath, processArguments, userDataDir
235
235
  exports.makeBrowserRunner = makeBrowserRunner;
236
236
  function waitForWSEndpoint({ browserProcess, timeout, logLevel, indent, }) {
237
237
  const browserStderr = browserProcess.stderr;
238
+ const browserStdout = browserProcess.stdout;
238
239
  (0, assert_1.assert)(browserStderr, '`browserProcess` does not have stderr.');
239
- let stderrString = '';
240
+ (0, assert_1.assert)(browserStdout, '`browserProcess` does not have stdout.');
241
+ let stdioString = '';
240
242
  return new Promise((resolve, reject) => {
241
- browserStderr.addListener('data', onData);
243
+ browserStderr.addListener('data', onStdIoData);
244
+ browserStdout.addListener('data', onStdIoData);
242
245
  browserStderr.addListener('close', onClose);
243
246
  const listeners = [
244
- () => browserStderr.removeListener('data', onData),
247
+ () => browserStderr.removeListener('data', onStdIoData),
248
+ () => browserStdout.removeListener('data', onStdIoData),
245
249
  () => browserStderr.removeListener('close', onClose),
246
250
  (0, util_1.addEventListener)(browserProcess, 'exit', (code, signal) => {
247
251
  logger_1.Log.verbose({ indent, logLevel }, 'Browser process exited with code', code, 'signal', signal);
@@ -257,7 +261,7 @@ function waitForWSEndpoint({ browserProcess, timeout, logLevel, indent, }) {
257
261
  reject(new Error([
258
262
  'Failed to launch the browser process!',
259
263
  error ? error.stack : null,
260
- stderrString,
264
+ stdioString,
261
265
  'Troubleshooting: https://remotion.dev/docs/troubleshooting/browser-launch',
262
266
  ]
263
267
  .filter(truthy_1.truthy)
@@ -265,11 +269,11 @@ function waitForWSEndpoint({ browserProcess, timeout, logLevel, indent, }) {
265
269
  }
266
270
  function onTimeout() {
267
271
  cleanup();
268
- reject(new Errors_1.TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${stderrString}`));
272
+ reject(new Errors_1.TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${stdioString}`));
269
273
  }
270
- function onData(data) {
271
- stderrString += data.toString('utf8');
272
- const match = stderrString.match(/DevTools listening on (ws:\/\/.*)/);
274
+ function onStdIoData(data) {
275
+ stdioString += data.toString('utf8');
276
+ const match = stdioString.match(/DevTools listening on (ws:\/\/.*)/);
273
277
  if (!match) {
274
278
  return;
275
279
  }
@@ -22,4 +22,5 @@ export interface LaunchOptions {
22
22
  indent: boolean;
23
23
  defaultViewport: Viewport;
24
24
  userDataDir: string;
25
+ timeout: number;
25
26
  }
@@ -15,4 +15,4 @@
15
15
  */
16
16
  import { HeadlessBrowser } from './Browser';
17
17
  import type { LaunchOptions } from './LaunchOptions';
18
- export declare const launchChrome: ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, }: LaunchOptions) => Promise<HeadlessBrowser>;
18
+ export declare const launchChrome: ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, timeout, }: LaunchOptions) => Promise<HeadlessBrowser>;
@@ -17,8 +17,7 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.launchChrome = void 0;
19
19
  const Browser_1 = require("./Browser");
20
- const launchChrome = async ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, }) => {
21
- const timeout = 60000;
20
+ const launchChrome = async ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, timeout, }) => {
22
21
  const browser = await Browser_1.HeadlessBrowser.create({
23
22
  defaultViewport,
24
23
  args,
@@ -33,6 +33,15 @@ const shouldLogBrowserMessage = (message) => {
33
33
  if (message.includes('Received HEADERS for invalid stream')) {
34
34
  return false;
35
35
  }
36
+ if (message.includes('CVDisplayLinkCreateWithCGDisplay failed')) {
37
+ return false;
38
+ }
39
+ if (message.includes('Falling back to ALSA for audio output')) {
40
+ return false;
41
+ }
42
+ if (message.includes('VizNullHypothesis is disabled')) {
43
+ return false;
44
+ }
36
45
  return true;
37
46
  };
38
47
  exports.shouldLogBrowserMessage = shouldLogBrowserMessage;
@@ -1929,10 +1929,10 @@ var offthreadVideoThreadsOption = {
1929
1929
  })
1930
1930
  }),
1931
1931
  " ",
1932
- "can start to extract frames. frames. The default is",
1932
+ "can start to extract frames. The default is",
1933
1933
  " ",
1934
1934
  DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS,
1935
- ". Increase carefully, as too much threads may cause instability."
1935
+ ". Increase carefully, as too many threads may cause instability."
1936
1936
  ]
1937
1937
  }),
1938
1938
  ssrName: "offthreadVideoThreads",
@@ -3175,6 +3175,15 @@ var shouldLogBrowserMessage = (message) => {
3175
3175
  if (message.includes("Received HEADERS for invalid stream")) {
3176
3176
  return false;
3177
3177
  }
3178
+ if (message.includes("CVDisplayLinkCreateWithCGDisplay failed")) {
3179
+ return false;
3180
+ }
3181
+ if (message.includes("Falling back to ALSA for audio output")) {
3182
+ return false;
3183
+ }
3184
+ if (message.includes("VizNullHypothesis is disabled")) {
3185
+ return false;
3186
+ }
3178
3187
  return true;
3179
3188
  };
3180
3189
  var parseBrowserLogMessage = (input) => {
@@ -3234,7 +3243,7 @@ var makeBrowserRunner = async ({
3234
3243
  timeout
3235
3244
  }) => {
3236
3245
  const dumpio = isEqualOrBelowLogLevel(logLevel, "verbose");
3237
- const stdio = dumpio ? ["ignore", "pipe", "pipe"] : ["pipe", "ignore", "pipe"];
3246
+ const stdio = dumpio ? ["ignore", "pipe", "pipe"] : ["pipe", "pipe", "pipe"];
3238
3247
  const proc = childProcess.spawn(executablePath, processArguments, {
3239
3248
  detached: process.platform !== "win32",
3240
3249
  env: process.env,
@@ -3368,13 +3377,17 @@ function waitForWSEndpoint({
3368
3377
  indent
3369
3378
  }) {
3370
3379
  const browserStderr = browserProcess.stderr;
3380
+ const browserStdout = browserProcess.stdout;
3371
3381
  assert(browserStderr, "`browserProcess` does not have stderr.");
3372
- let stderrString = "";
3382
+ assert(browserStdout, "`browserProcess` does not have stdout.");
3383
+ let stdioString = "";
3373
3384
  return new Promise((resolve, reject) => {
3374
- browserStderr.addListener("data", onData);
3385
+ browserStderr.addListener("data", onStdIoData);
3386
+ browserStdout.addListener("data", onStdIoData);
3375
3387
  browserStderr.addListener("close", onClose);
3376
3388
  const listeners = [
3377
- () => browserStderr.removeListener("data", onData),
3389
+ () => browserStderr.removeListener("data", onStdIoData),
3390
+ () => browserStdout.removeListener("data", onStdIoData),
3378
3391
  () => browserStderr.removeListener("close", onClose),
3379
3392
  addEventListener(browserProcess, "exit", (code, signal) => {
3380
3393
  Log.verbose({ indent, logLevel }, "Browser process exited with code", code, "signal", signal);
@@ -3390,18 +3403,18 @@ function waitForWSEndpoint({
3390
3403
  reject(new Error([
3391
3404
  "Failed to launch the browser process!",
3392
3405
  error ? error.stack : null,
3393
- stderrString,
3406
+ stdioString,
3394
3407
  "Troubleshooting: https://remotion.dev/docs/troubleshooting/browser-launch"
3395
3408
  ].filter(truthy).join(`
3396
3409
  `)));
3397
3410
  }
3398
3411
  function onTimeout() {
3399
3412
  cleanup();
3400
- reject(new TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${stderrString}`));
3413
+ reject(new TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${stdioString}`));
3401
3414
  }
3402
- function onData(data) {
3403
- stderrString += data.toString("utf8");
3404
- const match = stderrString.match(/DevTools listening on (ws:\/\/.*)/);
3415
+ function onStdIoData(data) {
3416
+ stdioString += data.toString("utf8");
3417
+ const match = stdioString.match(/DevTools listening on (ws:\/\/.*)/);
3405
3418
  if (!match) {
3406
3419
  return;
3407
3420
  }
@@ -4634,9 +4647,9 @@ var launchChrome = async ({
4634
4647
  defaultViewport,
4635
4648
  indent,
4636
4649
  logLevel,
4637
- userDataDir
4650
+ userDataDir,
4651
+ timeout
4638
4652
  }) => {
4639
- const timeout = 60000;
4640
4653
  const browser = await HeadlessBrowser.create({
4641
4654
  defaultViewport,
4642
4655
  args,
@@ -4991,9 +5004,15 @@ var getAvailableMemory = (logLevel) => {
4991
5004
  // src/get-cpu-count.ts
4992
5005
  import { execSync as execSync2 } from "node:child_process";
4993
5006
  import { cpus } from "node:os";
5007
+ var nprocCount;
4994
5008
  var getConcurrencyFromNProc = () => {
5009
+ if (nprocCount !== undefined) {
5010
+ return nprocCount;
5011
+ }
4995
5012
  try {
4996
- return parseInt(execSync2("nproc", { stdio: "pipe" }).toString().trim(), 10);
5013
+ const count = parseInt(execSync2("nproc", { stdio: "pipe" }).toString().trim(), 10);
5014
+ nprocCount = count;
5015
+ return count;
4997
5016
  } catch {
4998
5017
  return null;
4999
5018
  }
@@ -5090,6 +5109,7 @@ var internalOpenBrowser = async ({
5090
5109
  if (browser === "firefox") {
5091
5110
  throw new TypeError("Firefox supported is not yet turned on. Stay tuned for the future.");
5092
5111
  }
5112
+ Log.verbose({ indent, logLevel }, "Ensuring browser executable");
5093
5113
  await internalEnsureBrowser({
5094
5114
  browserExecutable,
5095
5115
  logLevel,
@@ -5097,6 +5117,7 @@ var internalOpenBrowser = async ({
5097
5117
  onBrowserDownload,
5098
5118
  chromeMode
5099
5119
  });
5120
+ Log.verbose({ indent, logLevel }, "Ensured browser is available.");
5100
5121
  const executablePath = getLocalBrowserExecutable({
5101
5122
  preferredBrowserExecutable: browserExecutable,
5102
5123
  logLevel,
@@ -5107,7 +5128,7 @@ var internalOpenBrowser = async ({
5107
5128
  const enableMultiProcessOnLinux = chromiumOptions.enableMultiProcessOnLinux ?? true;
5108
5129
  Log.verbose({ indent, logLevel, tag: "openBrowser()" }, `Opening browser: gl = ${chromiumOptions.gl}, executable = ${executablePath}, enableMultiProcessOnLinux = ${enableMultiProcessOnLinux}`);
5109
5130
  if (chromiumOptions.userAgent) {
5110
- Log.verbose({ indent, logLevel: "verbose", tag: "openBrowser()" }, `Using custom user agent: ${chromiumOptions.userAgent}`);
5131
+ Log.verbose({ indent, logLevel, tag: "openBrowser()" }, `Using custom user agent: ${chromiumOptions.userAgent}`);
5111
5132
  }
5112
5133
  const userDataDir = await fs9.promises.mkdtemp(path9.join(os3.tmpdir(), "puppeteer_dev_chrome_profile-"));
5113
5134
  const browserInstance = await launchChrome({
@@ -5115,6 +5136,7 @@ var internalOpenBrowser = async ({
5115
5136
  logLevel,
5116
5137
  indent,
5117
5138
  userDataDir,
5139
+ timeout: 25000,
5118
5140
  args: [
5119
5141
  "about:blank",
5120
5142
  "--allow-pre-commit-input",
@@ -16411,8 +16433,8 @@ var innerGetCompositions = async ({
16411
16433
  height,
16412
16434
  fps,
16413
16435
  durationInFrames,
16414
- props: NoReactInternals8.deserializeJSONWithCustomFields(r.serializedResolvedPropsWithCustomSchema),
16415
- defaultProps: NoReactInternals8.deserializeJSONWithCustomFields(r.serializedDefaultPropsWithCustomSchema),
16436
+ props: NoReactInternals8.deserializeJSONWithSpecialTypes(r.serializedResolvedPropsWithCustomSchema),
16437
+ defaultProps: NoReactInternals8.deserializeJSONWithSpecialTypes(r.serializedDefaultPropsWithCustomSchema),
16416
16438
  defaultCodec,
16417
16439
  defaultOutName
16418
16440
  };
@@ -16529,7 +16551,7 @@ var getCompositions = (serveUrlOrWebpackUrl, config) => {
16529
16551
  browserExecutable: browserExecutable ?? null,
16530
16552
  chromiumOptions: chromiumOptions ?? {},
16531
16553
  envVariables: envVariables ?? {},
16532
- serializedInputPropsWithCustomSchema: NoReactInternals8.serializeJSONWithDate({
16554
+ serializedInputPropsWithCustomSchema: NoReactInternals8.serializeJSONWithSpecialTypes({
16533
16555
  data: inputProps ?? {},
16534
16556
  indent: undefined,
16535
16557
  staticBase: null
@@ -18810,12 +18832,12 @@ var renderFrames = (options) => {
18810
18832
  indent,
18811
18833
  jpegQuality: jpegQuality ?? DEFAULT_JPEG_QUALITY,
18812
18834
  onDownload: onDownload ?? null,
18813
- serializedInputPropsWithCustomSchema: NoReactInternals12.serializeJSONWithDate({
18835
+ serializedInputPropsWithCustomSchema: NoReactInternals12.serializeJSONWithSpecialTypes({
18814
18836
  indent: undefined,
18815
18837
  staticBase: null,
18816
18838
  data: inputProps ?? {}
18817
18839
  }).serializedString,
18818
- serializedResolvedPropsWithCustomSchema: NoReactInternals12.serializeJSONWithDate({
18840
+ serializedResolvedPropsWithCustomSchema: NoReactInternals12.serializeJSONWithSpecialTypes({
18819
18841
  indent: undefined,
18820
18842
  staticBase: null,
18821
18843
  data: composition.props
@@ -21425,7 +21447,7 @@ var renderMedia = ({
21425
21447
  ffmpegOverride: ffmpegOverride ?? undefined,
21426
21448
  frameRange: frameRange ?? null,
21427
21449
  imageFormat: imageFormat ?? DEFAULT_VIDEO_IMAGE_FORMAT,
21428
- serializedInputPropsWithCustomSchema: NoReactInternals14.serializeJSONWithDate({
21450
+ serializedInputPropsWithCustomSchema: NoReactInternals14.serializeJSONWithSpecialTypes({
21429
21451
  indent: undefined,
21430
21452
  staticBase: null,
21431
21453
  data: inputProps ?? {}
@@ -21460,7 +21482,7 @@ var renderMedia = ({
21460
21482
  return;
21461
21483
  },
21462
21484
  server: undefined,
21463
- serializedResolvedPropsWithCustomSchema: NoReactInternals14.serializeJSONWithDate({
21485
+ serializedResolvedPropsWithCustomSchema: NoReactInternals14.serializeJSONWithSpecialTypes({
21464
21486
  indent: undefined,
21465
21487
  staticBase: null,
21466
21488
  data: composition.props ?? {}
@@ -21769,7 +21791,7 @@ var renderStill = (options) => {
21769
21791
  frame: frame ?? 0,
21770
21792
  imageFormat: imageFormat ?? DEFAULT_STILL_IMAGE_FORMAT,
21771
21793
  indent,
21772
- serializedInputPropsWithCustomSchema: NoReactInternals15.serializeJSONWithDate({
21794
+ serializedInputPropsWithCustomSchema: NoReactInternals15.serializeJSONWithSpecialTypes({
21773
21795
  staticBase: null,
21774
21796
  indent: undefined,
21775
21797
  data: inputProps ?? {}
@@ -21786,7 +21808,7 @@ var renderStill = (options) => {
21786
21808
  serveUrl,
21787
21809
  timeoutInMilliseconds: timeoutInMilliseconds ?? DEFAULT_TIMEOUT,
21788
21810
  logLevel,
21789
- serializedResolvedPropsWithCustomSchema: NoReactInternals15.serializeJSONWithDate({
21811
+ serializedResolvedPropsWithCustomSchema: NoReactInternals15.serializeJSONWithSpecialTypes({
21790
21812
  indent: undefined,
21791
21813
  staticBase: null,
21792
21814
  data: composition.props ?? {}
@@ -21881,8 +21903,8 @@ var innerSelectComposition = async ({
21881
21903
  height,
21882
21904
  fps,
21883
21905
  durationInFrames,
21884
- props: NoReactInternals16.deserializeJSONWithCustomFields(res.serializedResolvedPropsWithCustomSchema),
21885
- defaultProps: NoReactInternals16.deserializeJSONWithCustomFields(res.serializedDefaultPropsWithCustomSchema),
21906
+ props: NoReactInternals16.deserializeJSONWithSpecialTypes(res.serializedResolvedPropsWithCustomSchema),
21907
+ defaultProps: NoReactInternals16.deserializeJSONWithSpecialTypes(res.serializedDefaultPropsWithCustomSchema),
21886
21908
  defaultCodec,
21887
21909
  defaultOutName
21888
21910
  },
@@ -22013,7 +22035,7 @@ var selectComposition = async (options) => {
22013
22035
  browserExecutable: browserExecutable ?? null,
22014
22036
  chromiumOptions: chromiumOptions ?? {},
22015
22037
  envVariables: envVariables ?? {},
22016
- serializedInputPropsWithCustomSchema: NoReactInternals16.serializeJSONWithDate({
22038
+ serializedInputPropsWithCustomSchema: NoReactInternals16.serializeJSONWithSpecialTypes({
22017
22039
  indent: undefined,
22018
22040
  staticBase: null,
22019
22041
  data: inputProps ?? {}
@@ -67,8 +67,8 @@ const innerGetCompositions = async ({ envVariables, serializedInputPropsWithCust
67
67
  height,
68
68
  fps,
69
69
  durationInFrames,
70
- props: no_react_1.NoReactInternals.deserializeJSONWithCustomFields(r.serializedResolvedPropsWithCustomSchema),
71
- defaultProps: no_react_1.NoReactInternals.deserializeJSONWithCustomFields(r.serializedDefaultPropsWithCustomSchema),
70
+ props: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(r.serializedResolvedPropsWithCustomSchema),
71
+ defaultProps: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(r.serializedDefaultPropsWithCustomSchema),
72
72
  defaultCodec,
73
73
  defaultOutName,
74
74
  };
@@ -158,7 +158,7 @@ const getCompositions = (serveUrlOrWebpackUrl, config) => {
158
158
  browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
159
159
  chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
160
160
  envVariables: envVariables !== null && envVariables !== void 0 ? envVariables : {},
161
- serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
161
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
162
162
  data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
163
163
  indent: undefined,
164
164
  staticBase: null,
@@ -6,10 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getCpuCount = exports.getConcurrencyFromNProc = void 0;
7
7
  const node_child_process_1 = require("node:child_process");
8
8
  const node_os_1 = require("node:os");
9
+ let nprocCount;
9
10
  // We also get it from nproc and use the minimum of the two.
10
11
  const getConcurrencyFromNProc = () => {
12
+ if (nprocCount !== undefined) {
13
+ return nprocCount;
14
+ }
11
15
  try {
12
- return parseInt((0, node_child_process_1.execSync)('nproc', { stdio: 'pipe' }).toString().trim(), 10);
16
+ const count = parseInt((0, node_child_process_1.execSync)('nproc', { stdio: 'pipe' }).toString().trim(), 10);
17
+ nprocCount = count;
18
+ return count;
13
19
  }
14
20
  catch (_a) {
15
21
  return null;
@@ -55,6 +55,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
55
55
  if (browser === 'firefox') {
56
56
  throw new TypeError('Firefox supported is not yet turned on. Stay tuned for the future.');
57
57
  }
58
+ logger_1.Log.verbose({ indent, logLevel }, 'Ensuring browser executable');
58
59
  await (0, ensure_browser_1.internalEnsureBrowser)({
59
60
  browserExecutable,
60
61
  logLevel,
@@ -62,6 +63,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
62
63
  onBrowserDownload,
63
64
  chromeMode,
64
65
  });
66
+ logger_1.Log.verbose({ indent, logLevel }, 'Ensured browser is available.');
65
67
  const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)({
66
68
  preferredBrowserExecutable: browserExecutable,
67
69
  logLevel,
@@ -72,7 +74,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
72
74
  const enableMultiProcessOnLinux = (_b = chromiumOptions.enableMultiProcessOnLinux) !== null && _b !== void 0 ? _b : true;
73
75
  logger_1.Log.verbose({ indent, logLevel, tag: 'openBrowser()' }, `Opening browser: gl = ${chromiumOptions.gl}, executable = ${executablePath}, enableMultiProcessOnLinux = ${enableMultiProcessOnLinux}`);
74
76
  if (chromiumOptions.userAgent) {
75
- logger_1.Log.verbose({ indent, logLevel: 'verbose', tag: 'openBrowser()' }, `Using custom user agent: ${chromiumOptions.userAgent}`);
77
+ logger_1.Log.verbose({ indent, logLevel, tag: 'openBrowser()' }, `Using custom user agent: ${chromiumOptions.userAgent}`);
76
78
  }
77
79
  const userDataDir = await node_fs_1.default.promises.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), 'puppeteer_dev_chrome_profile-'));
78
80
  const browserInstance = await (0, Launcher_1.launchChrome)({
@@ -80,6 +82,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
80
82
  logLevel,
81
83
  indent,
82
84
  userDataDir,
85
+ timeout: 25000,
83
86
  args: [
84
87
  'about:blank',
85
88
  '--allow-pre-commit-input',
@@ -11,7 +11,7 @@ const cliFlag = 'offthreadvideo-video-threads';
11
11
  exports.offthreadVideoThreadsOption = {
12
12
  name: 'OffthreadVideo threads',
13
13
  cliFlag,
14
- description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The number of threads that", (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs/offthreadvideo", children: (0, jsx_runtime_1.jsx)("code", { children: "<OffthreadVideo>" }) }), ' ', "can start to extract frames. frames. The default is", ' ', exports.DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS, ". Increase carefully, as too much threads may cause instability."] })),
14
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The number of threads that", (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs/offthreadvideo", children: (0, jsx_runtime_1.jsx)("code", { children: "<OffthreadVideo>" }) }), ' ', "can start to extract frames. The default is", ' ', exports.DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS, ". Increase carefully, as too many threads may cause instability."] })),
15
15
  ssrName: 'offthreadVideoThreads',
16
16
  docLink: 'https://www.remotion.dev/docs/offthreadvideo',
17
17
  type: 0,
@@ -358,12 +358,12 @@ const renderFrames = (options) => {
358
358
  indent,
359
359
  jpegQuality: jpegQuality !== null && jpegQuality !== void 0 ? jpegQuality : jpeg_quality_1.DEFAULT_JPEG_QUALITY,
360
360
  onDownload: onDownload !== null && onDownload !== void 0 ? onDownload : null,
361
- serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
361
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
362
362
  indent: undefined,
363
363
  staticBase: null,
364
364
  data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
365
365
  }).serializedString,
366
- serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
366
+ serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
367
367
  indent: undefined,
368
368
  staticBase: null,
369
369
  data: composition.props,
@@ -539,7 +539,7 @@ const renderMedia = ({ proResProfile, x264Preset, crf, composition, inputProps,
539
539
  ffmpegOverride: ffmpegOverride !== null && ffmpegOverride !== void 0 ? ffmpegOverride : undefined,
540
540
  frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
541
541
  imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : image_format_1.DEFAULT_VIDEO_IMAGE_FORMAT,
542
- serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
542
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
543
543
  indent: undefined,
544
544
  staticBase: null,
545
545
  data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
@@ -566,7 +566,7 @@ const renderMedia = ({ proResProfile, x264Preset, crf, composition, inputProps,
566
566
  indent,
567
567
  onCtrlCExit: () => undefined,
568
568
  server: undefined,
569
- serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
569
+ serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
570
570
  indent: undefined,
571
571
  staticBase: null,
572
572
  data: (_b = composition.props) !== null && _b !== void 0 ? _b : {},
@@ -300,7 +300,7 @@ const renderStill = (options) => {
300
300
  frame: frame !== null && frame !== void 0 ? frame : 0,
301
301
  imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : image_format_1.DEFAULT_STILL_IMAGE_FORMAT,
302
302
  indent,
303
- serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
303
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
304
304
  staticBase: null,
305
305
  indent: undefined,
306
306
  data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
@@ -317,7 +317,7 @@ const renderStill = (options) => {
317
317
  serveUrl,
318
318
  timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : TimeoutSettings_1.DEFAULT_TIMEOUT,
319
319
  logLevel,
320
- serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
320
+ serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
321
321
  indent: undefined,
322
322
  staticBase: null,
323
323
  data: (_b = composition.props) !== null && _b !== void 0 ? _b : {},
@@ -78,8 +78,8 @@ const innerSelectComposition = async ({ page, serializedInputPropsWithCustomSche
78
78
  height,
79
79
  fps,
80
80
  durationInFrames,
81
- props: no_react_1.NoReactInternals.deserializeJSONWithCustomFields(res.serializedResolvedPropsWithCustomSchema),
82
- defaultProps: no_react_1.NoReactInternals.deserializeJSONWithCustomFields(res.serializedDefaultPropsWithCustomSchema),
81
+ props: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(res.serializedResolvedPropsWithCustomSchema),
82
+ defaultProps: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(res.serializedDefaultPropsWithCustomSchema),
83
83
  defaultCodec,
84
84
  defaultOutName,
85
85
  },
@@ -181,7 +181,7 @@ const selectComposition = async (options) => {
181
181
  browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
182
182
  chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
183
183
  envVariables: envVariables !== null && envVariables !== void 0 ? envVariables : {},
184
- serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
184
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
185
185
  indent: undefined,
186
186
  staticBase: null,
187
187
  data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
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.290",
6
+ "version": "4.0.292",
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": "4.0.290",
22
- "@remotion/streaming": "4.0.290"
21
+ "remotion": "4.0.292",
22
+ "@remotion/streaming": "4.0.292"
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.290",
37
- "@remotion/eslint-config-internal": "4.0.290"
36
+ "@remotion/example-videos": "4.0.292",
37
+ "@remotion/eslint-config-internal": "4.0.292"
38
38
  },
39
39
  "optionalDependencies": {
40
- "@remotion/compositor-darwin-x64": "4.0.290",
41
- "@remotion/compositor-darwin-arm64": "4.0.290",
42
- "@remotion/compositor-linux-arm64-gnu": "4.0.290",
43
- "@remotion/compositor-linux-x64-musl": "4.0.290",
44
- "@remotion/compositor-linux-arm64-musl": "4.0.290",
45
- "@remotion/compositor-linux-x64-gnu": "4.0.290",
46
- "@remotion/compositor-win32-x64-msvc": "4.0.290"
40
+ "@remotion/compositor-darwin-arm64": "4.0.292",
41
+ "@remotion/compositor-darwin-x64": "4.0.292",
42
+ "@remotion/compositor-linux-arm64-musl": "4.0.292",
43
+ "@remotion/compositor-linux-x64-gnu": "4.0.292",
44
+ "@remotion/compositor-linux-arm64-gnu": "4.0.292",
45
+ "@remotion/compositor-win32-x64-msvc": "4.0.292",
46
+ "@remotion/compositor-linux-x64-musl": "4.0.292"
47
47
  },
48
48
  "keywords": [
49
49
  "remotion",