@remotion/renderer 4.0.532 → 4.0.534
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/aac-priming.js +6 -2
- package/dist/browser/BrowserFetcher.d.ts +7 -1
- package/dist/browser/BrowserFetcher.js +33 -13
- package/dist/browser/Connection.js +5 -17
- package/dist/browser/DOMWorld.js +19 -13
- package/dist/browser/devtools-commands.d.ts +13 -1
- package/dist/browser/devtools-types.d.ts +62 -0
- package/dist/browser/get-chrome-download-url.d.ts +1 -1
- package/dist/browser/get-chrome-download-url.js +19 -33
- package/dist/can-use-parallel-encoding.d.ts +0 -1
- package/dist/can-use-parallel-encoding.js +10 -10
- package/dist/client.d.ts +93 -4
- package/dist/client.js +2 -0
- package/dist/compress-assets.d.ts +1 -1
- package/dist/compress-assets.js +1 -1
- package/dist/cycle-browser-tabs.js +9 -1
- package/dist/ensure-browser.js +30 -6
- package/dist/esm/client.mjs +943 -796
- package/dist/esm/index.mjs +4113 -2997
- package/dist/esm/pure.mjs +33 -9
- package/dist/file-extensions.js +4 -1
- package/dist/get-mp4-brand.d.ts +1 -0
- package/dist/get-mp4-brand.js +21 -0
- package/dist/image-format.d.ts +1 -0
- package/dist/image-format.js +8 -4
- package/dist/index.d.ts +14 -1
- package/dist/index.js +4 -0
- package/dist/memory/from-macos-sysctl.d.ts +1 -0
- package/dist/memory/from-macos-sysctl.js +50 -0
- package/dist/memory/from-proc-meminfo.d.ts +1 -1
- package/dist/memory/from-proc-meminfo.js +7 -4
- package/dist/memory/get-available-memory.js +29 -21
- package/dist/mux-video-and-audio.js +8 -2
- package/dist/next-frame-to-render.d.ts +3 -7
- package/dist/next-frame-to-render.js +3 -22
- package/dist/open-browser.js +1 -0
- package/dist/options/allow-html-in-canvas.js +1 -1
- package/dist/options/api-key.js +1 -1
- package/dist/options/ask-ai.js +1 -1
- package/dist/options/audio-bitrate.js +1 -1
- package/dist/options/audio-codec.js +12 -6
- package/dist/options/beep-on-finish.js +1 -1
- package/dist/options/benchmark-concurrencies.js +1 -1
- package/dist/options/binaries-directory.js +1 -1
- package/dist/options/browser-executable.js +1 -1
- package/dist/options/browser.js +1 -1
- package/dist/options/bundle-cache.js +1 -1
- package/dist/options/canvas-tabs.js +1 -1
- package/dist/options/chrome-mode.js +1 -1
- package/dist/options/color-space.js +1 -1
- package/dist/options/concurrency.js +1 -1
- package/dist/options/config.js +1 -1
- package/dist/options/crf.js +1 -1
- package/dist/options/cross-site-isolation.js +1 -1
- package/dist/options/dark-mode.js +1 -1
- package/dist/options/default-coding-agent.js +1 -1
- package/dist/options/default-editor.js +1 -1
- package/dist/options/delete-after.js +1 -1
- package/dist/options/disable-git-source.js +1 -1
- package/dist/options/disable-shared-memory-capture.d.ts +16 -0
- package/dist/options/disable-shared-memory-capture.js +29 -0
- package/dist/options/disable-web-security.js +1 -1
- package/dist/options/disallow-parallel-encoding.js +1 -1
- package/dist/options/enable-cancellation.js +1 -1
- package/dist/options/enable-lambda-insights.js +1 -1
- package/dist/options/enable-multiprocess-on-linux.js +1 -1
- package/dist/options/encoding-buffer-size.js +1 -1
- package/dist/options/encoding-max-rate.js +1 -1
- package/dist/options/enforce-audio.js +1 -1
- package/dist/options/env-file.js +1 -1
- package/dist/options/every-nth-frame.js +1 -1
- package/dist/options/experimental-keep-audio-context-alive.js +1 -1
- package/dist/options/experimental-tracks.d.ts +18 -0
- package/dist/options/experimental-tracks.js +42 -0
- package/dist/options/folder-expiry.js +1 -1
- package/dist/options/for-seamless-aac-concatenation.js +1 -1
- package/dist/options/force-new-studio.js +1 -1
- package/dist/options/frames.js +1 -1
- package/dist/options/gl.js +1 -1
- package/dist/options/gop-size.js +1 -1
- package/dist/options/hardware-acceleration.js +1 -1
- package/dist/options/headless.js +1 -1
- package/dist/options/ignore-certificate-errors.js +1 -1
- package/dist/options/image-sequence-pattern.d.ts +4 -1
- package/dist/options/image-sequence-pattern.js +9 -3
- package/dist/options/image-sequence.js +1 -1
- package/dist/options/index.d.ts +39 -2
- package/dist/options/index.js +4 -0
- package/dist/options/interactivity.js +1 -1
- package/dist/options/ipv4.js +1 -1
- package/dist/options/is-production.js +1 -1
- package/dist/options/jpeg-quality.js +5 -2
- package/dist/options/keyboard-shortcuts.js +1 -1
- package/dist/options/latency-hint.js +1 -1
- package/dist/options/license-key.js +1 -1
- package/dist/options/log-level.js +1 -1
- package/dist/options/metadata.js +1 -1
- package/dist/options/mute.js +1 -1
- package/dist/options/no-open.js +1 -1
- package/dist/options/number-of-gif-loops.js +1 -1
- package/dist/options/number-of-shared-audio-tags.js +1 -1
- package/dist/options/offthreadvideo-cache-size.js +1 -1
- package/dist/options/offthreadvideo-threads.js +1 -1
- package/dist/options/on-browser-download.js +1 -1
- package/dist/options/options-map.d.ts +52 -1
- package/dist/options/options-map.js +4 -0
- package/dist/options/out-dir.js +1 -1
- package/dist/options/override-duration.js +1 -1
- package/dist/options/override-fps.js +1 -1
- package/dist/options/override-height.js +1 -1
- package/dist/options/override-width.js +1 -1
- package/dist/options/overwrite.js +1 -1
- package/dist/options/package-manager.js +1 -1
- package/dist/options/pixel-format.js +1 -1
- package/dist/options/port.js +1 -1
- package/dist/options/prefer-lossless.js +1 -1
- package/dist/options/preview-sample-rate.js +1 -1
- package/dist/options/props.js +1 -1
- package/dist/options/prores-profile.js +1 -1
- package/dist/options/public-dir.js +1 -1
- package/dist/options/public-license-key.js +1 -1
- package/dist/options/public-path.js +1 -1
- package/dist/options/repro.js +1 -1
- package/dist/options/rspack.d.ts +1 -1
- package/dist/options/rspack.js +1 -1
- package/dist/options/runs.js +1 -1
- package/dist/options/sample-rate.js +1 -1
- package/dist/options/scale.js +1 -1
- package/dist/options/separate-audio.js +1 -1
- package/dist/options/skip-skills.js +1 -1
- package/dist/options/still-frame.js +1 -1
- package/dist/options/still-image-format.js +1 -1
- package/dist/options/throw-if-site-exists.js +1 -1
- package/dist/options/timeout.js +1 -1
- package/dist/options/user-agent.js +1 -1
- package/dist/options/version-flag.js +1 -1
- package/dist/options/video-bitrate.js +1 -1
- package/dist/options/video-cache-size.js +1 -1
- package/dist/options/video-codec.js +4 -3
- package/dist/options/video-image-format.js +6 -2
- package/dist/options/webhook-custom-data.js +1 -1
- package/dist/options/webpack-poll.js +1 -1
- package/dist/options/x264-preset.js +1 -1
- package/dist/prespawn-ffmpeg.d.ts +20 -0
- package/dist/prespawn-ffmpeg.js +152 -29
- package/dist/probe-shared-memory-capture.d.ts +8 -0
- package/dist/probe-shared-memory-capture.js +111 -0
- package/dist/puppeteer-screenshot.d.ts +3 -1
- package/dist/puppeteer-screenshot.js +1 -0
- package/dist/pure.d.ts +1 -1
- package/dist/remotion-shared-memory-ffmpeg.d.ts +26 -0
- package/dist/remotion-shared-memory-ffmpeg.js +312 -0
- package/dist/remotion-shared-memory.d.ts +49 -0
- package/dist/remotion-shared-memory.js +359 -0
- package/dist/render-frame-and-retry-target-close.d.ts +7 -3
- package/dist/render-frame-and-retry-target-close.js +23 -4
- package/dist/render-frame-with-option-to-reject.d.ts +6 -2
- package/dist/render-frame-with-option-to-reject.js +207 -115
- package/dist/render-frame.d.ts +6 -6
- package/dist/render-frame.js +4 -1
- package/dist/render-frames.d.ts +7 -0
- package/dist/render-frames.js +20 -18
- package/dist/render-media.d.ts +1 -1
- package/dist/render-media.js +131 -46
- package/dist/render-still.js +1 -0
- package/dist/screenshot-background.d.ts +2 -0
- package/dist/screenshot-background.js +20 -0
- package/dist/screenshot-task.d.ts +4 -2
- package/dist/screenshot-task.js +40 -21
- package/dist/seek-to-frame.js +1 -1
- package/dist/stitch-frames-to-video.js +71 -10
- package/dist/take-frame.d.ts +11 -3
- package/dist/take-frame.js +10 -8
- package/dist/validate-output-filename.d.ts +1 -1
- package/dist/validate-output-filename.js +10 -2
- package/package.json +13 -13
package/dist/client.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type { BuiltInEditor, CustomEditor, DefaultEditor, } from './options/defa
|
|
|
6
6
|
export { HardwareAccelerationOption } from './options/hardware-acceleration';
|
|
7
7
|
export { ProResProfile } from './options/prores-profile';
|
|
8
8
|
export declare const BrowserSafeApis: {
|
|
9
|
+
canUseParallelEncoding: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
9
10
|
getExtensionOfFilename: (filename: string | null) => string | null;
|
|
10
11
|
getFileExtensionFromCodec: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
11
12
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "av1", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
@@ -246,7 +247,7 @@ export declare const BrowserSafeApis: {
|
|
|
246
247
|
validateOutputFilename: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
247
248
|
codec: T;
|
|
248
249
|
audioCodecSetting: "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
249
|
-
extension: string;
|
|
250
|
+
extension: string | null;
|
|
250
251
|
preferLossless: boolean;
|
|
251
252
|
separateAudioTo: string | null;
|
|
252
253
|
}) => void;
|
|
@@ -611,6 +612,22 @@ export declare const BrowserSafeApis: {
|
|
|
611
612
|
setConfig(value: boolean): void;
|
|
612
613
|
id: "disallow-parallel-encoding";
|
|
613
614
|
};
|
|
615
|
+
disableSharedMemoryCaptureOption: {
|
|
616
|
+
name: string;
|
|
617
|
+
cliFlag: "disable-shared-memory-capture";
|
|
618
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
619
|
+
ssrName: string;
|
|
620
|
+
docLink: string;
|
|
621
|
+
type: boolean;
|
|
622
|
+
getValue: ({ commandLine }: {
|
|
623
|
+
commandLine: Record<string, unknown>;
|
|
624
|
+
}) => {
|
|
625
|
+
value: boolean;
|
|
626
|
+
source: string;
|
|
627
|
+
};
|
|
628
|
+
setConfig(value: boolean): void;
|
|
629
|
+
id: "disable-shared-memory-capture";
|
|
630
|
+
};
|
|
614
631
|
folderExpiryOption: {
|
|
615
632
|
name: string;
|
|
616
633
|
cliFlag: "enable-folder-expiry";
|
|
@@ -1276,13 +1293,16 @@ export declare const BrowserSafeApis: {
|
|
|
1276
1293
|
cliFlag: "image-sequence-pattern";
|
|
1277
1294
|
ssrName: string;
|
|
1278
1295
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1279
|
-
docLink:
|
|
1296
|
+
docLink: string;
|
|
1280
1297
|
type: string | null;
|
|
1281
1298
|
getValue: ({ commandLine }: {
|
|
1282
1299
|
commandLine: Record<string, unknown>;
|
|
1283
1300
|
}) => {
|
|
1284
1301
|
value: string;
|
|
1285
1302
|
source: string;
|
|
1303
|
+
} | {
|
|
1304
|
+
value: null;
|
|
1305
|
+
source: string;
|
|
1286
1306
|
};
|
|
1287
1307
|
setConfig: (pattern: string | null) => void;
|
|
1288
1308
|
reset: () => void;
|
|
@@ -1507,6 +1527,24 @@ export declare const BrowserSafeApis: {
|
|
|
1507
1527
|
setConfig(value: boolean): void;
|
|
1508
1528
|
id: "experimental-keep-audio-context-alive";
|
|
1509
1529
|
};
|
|
1530
|
+
experimentalTracksOption: {
|
|
1531
|
+
name: string;
|
|
1532
|
+
cliFlag: "experimental-tracks";
|
|
1533
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1534
|
+
ssrName: null;
|
|
1535
|
+
docLink: string;
|
|
1536
|
+
type: boolean;
|
|
1537
|
+
getValue: ({ commandLine }: {
|
|
1538
|
+
commandLine: Record<string, unknown>;
|
|
1539
|
+
}) => {
|
|
1540
|
+
value: boolean;
|
|
1541
|
+
source: string;
|
|
1542
|
+
};
|
|
1543
|
+
setConfig(value: boolean): void;
|
|
1544
|
+
getConfigValue: () => boolean | null;
|
|
1545
|
+
reset: () => void;
|
|
1546
|
+
id: "experimental-tracks";
|
|
1547
|
+
};
|
|
1510
1548
|
numberOfSharedAudioTagsOption: {
|
|
1511
1549
|
name: string;
|
|
1512
1550
|
cliFlag: "number-of-shared-audio-tags";
|
|
@@ -1687,7 +1725,7 @@ export declare const BrowserSafeApis: {
|
|
|
1687
1725
|
cliFlag: "rspack";
|
|
1688
1726
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1689
1727
|
ssrName: null;
|
|
1690
|
-
docLink:
|
|
1728
|
+
docLink: string;
|
|
1691
1729
|
type: boolean;
|
|
1692
1730
|
getValue: ({ commandLine }: {
|
|
1693
1731
|
commandLine: Record<string, unknown>;
|
|
@@ -2178,6 +2216,22 @@ export declare const BrowserSafeApis: {
|
|
|
2178
2216
|
setConfig(value: boolean): void;
|
|
2179
2217
|
id: "disallow-parallel-encoding";
|
|
2180
2218
|
};
|
|
2219
|
+
readonly disableSharedMemoryCapture: {
|
|
2220
|
+
name: string;
|
|
2221
|
+
cliFlag: "disable-shared-memory-capture";
|
|
2222
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
2223
|
+
ssrName: string;
|
|
2224
|
+
docLink: string;
|
|
2225
|
+
type: boolean;
|
|
2226
|
+
getValue: ({ commandLine }: {
|
|
2227
|
+
commandLine: Record<string, unknown>;
|
|
2228
|
+
}) => {
|
|
2229
|
+
value: boolean;
|
|
2230
|
+
source: string;
|
|
2231
|
+
};
|
|
2232
|
+
setConfig(value: boolean): void;
|
|
2233
|
+
id: "disable-shared-memory-capture";
|
|
2234
|
+
};
|
|
2181
2235
|
readonly jpegQuality: {
|
|
2182
2236
|
name: string;
|
|
2183
2237
|
cliFlag: "jpeg-quality";
|
|
@@ -3100,13 +3154,16 @@ export declare const BrowserSafeApis: {
|
|
|
3100
3154
|
cliFlag: "image-sequence-pattern";
|
|
3101
3155
|
ssrName: string;
|
|
3102
3156
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
3103
|
-
docLink:
|
|
3157
|
+
docLink: string;
|
|
3104
3158
|
type: string | null;
|
|
3105
3159
|
getValue: ({ commandLine }: {
|
|
3106
3160
|
commandLine: Record<string, unknown>;
|
|
3107
3161
|
}) => {
|
|
3108
3162
|
value: string;
|
|
3109
3163
|
source: string;
|
|
3164
|
+
} | {
|
|
3165
|
+
value: null;
|
|
3166
|
+
source: string;
|
|
3110
3167
|
};
|
|
3111
3168
|
setConfig: (pattern: string | null) => void;
|
|
3112
3169
|
reset: () => void;
|
|
@@ -3130,6 +3187,22 @@ export declare const BrowserSafeApis: {
|
|
|
3130
3187
|
};
|
|
3131
3188
|
};
|
|
3132
3189
|
readonly renderMediaOnLambda: {
|
|
3190
|
+
readonly disableSharedMemoryCapture: {
|
|
3191
|
+
name: string;
|
|
3192
|
+
cliFlag: "disable-shared-memory-capture";
|
|
3193
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
3194
|
+
ssrName: string;
|
|
3195
|
+
docLink: string;
|
|
3196
|
+
type: boolean;
|
|
3197
|
+
getValue: ({ commandLine }: {
|
|
3198
|
+
commandLine: Record<string, unknown>;
|
|
3199
|
+
}) => {
|
|
3200
|
+
value: boolean;
|
|
3201
|
+
source: string;
|
|
3202
|
+
};
|
|
3203
|
+
setConfig(value: boolean): void;
|
|
3204
|
+
id: "disable-shared-memory-capture";
|
|
3205
|
+
};
|
|
3133
3206
|
readonly mediaCacheSizeInBytes: {
|
|
3134
3207
|
name: string;
|
|
3135
3208
|
cliFlag: "media-cache-size-in-bytes";
|
|
@@ -3719,6 +3792,22 @@ export declare const BrowserSafeApis: {
|
|
|
3719
3792
|
};
|
|
3720
3793
|
};
|
|
3721
3794
|
readonly renderMediaOnCloudRun: {
|
|
3795
|
+
readonly disableSharedMemoryCapture: {
|
|
3796
|
+
name: string;
|
|
3797
|
+
cliFlag: "disable-shared-memory-capture";
|
|
3798
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
3799
|
+
ssrName: string;
|
|
3800
|
+
docLink: string;
|
|
3801
|
+
type: boolean;
|
|
3802
|
+
getValue: ({ commandLine }: {
|
|
3803
|
+
commandLine: Record<string, unknown>;
|
|
3804
|
+
}) => {
|
|
3805
|
+
value: boolean;
|
|
3806
|
+
source: string;
|
|
3807
|
+
};
|
|
3808
|
+
setConfig(value: boolean): void;
|
|
3809
|
+
id: "disable-shared-memory-capture";
|
|
3810
|
+
};
|
|
3722
3811
|
readonly mediaCacheSizeInBytes: {
|
|
3723
3812
|
name: string;
|
|
3724
3813
|
cliFlag: "media-cache-size-in-bytes";
|
package/dist/client.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BrowserSafeApis = exports.defaultEditorIds = exports.customEditorTargetPathPlaceholder = exports.customEditorLineNumberPlaceholder = exports.customEditorColumnNumberPlaceholder = exports.defaultCodingAgentIds = void 0;
|
|
4
4
|
const no_react_1 = require("remotion/no-react");
|
|
5
5
|
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
6
|
+
const can_use_parallel_encoding_1 = require("./can-use-parallel-encoding");
|
|
6
7
|
const codec_1 = require("./codec");
|
|
7
8
|
const codec_supports_media_1 = require("./codec-supports-media");
|
|
8
9
|
const crf_1 = require("./crf");
|
|
@@ -31,6 +32,7 @@ Object.defineProperty(exports, "customEditorLineNumberPlaceholder", { enumerable
|
|
|
31
32
|
Object.defineProperty(exports, "customEditorTargetPathPlaceholder", { enumerable: true, get: function () { return default_editor_1.customEditorTargetPathPlaceholder; } });
|
|
32
33
|
Object.defineProperty(exports, "defaultEditorIds", { enumerable: true, get: function () { return default_editor_1.defaultEditorIds; } });
|
|
33
34
|
exports.BrowserSafeApis = {
|
|
35
|
+
canUseParallelEncoding: can_use_parallel_encoding_1.canUseParallelEncoding,
|
|
34
36
|
getExtensionOfFilename: get_extension_of_filename_1.getExtensionOfFilename,
|
|
35
37
|
getFileExtensionFromCodec: get_extension_from_codec_1.getFileExtensionFromCodec,
|
|
36
38
|
validCodecs: codec_1.validCodecs,
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Since we track the `src` property for every frame, Node.JS can run out of memory easily. Instead of duplicating the src for every frame, we save memory by replacing the full base 64 encoded data with a string `same-as-[asset-id]-[frame]` referencing a previous asset with the same src.
|
|
4
4
|
*/
|
|
5
5
|
import type { AudioOrVideoAsset } from 'remotion/no-react';
|
|
6
|
-
export declare const compressAsset: (previousRenderAssets:
|
|
6
|
+
export declare const compressAsset: (previousRenderAssets: ReadonlyMap<string, AudioOrVideoAsset>, newRenderAsset: AudioOrVideoAsset) => AudioOrVideoAsset;
|
|
7
7
|
export declare const isAssetCompressed: (src: string) => boolean;
|
package/dist/compress-assets.js
CHANGED
|
@@ -9,7 +9,7 @@ const compressAsset = (previousRenderAssets, newRenderAsset) => {
|
|
|
9
9
|
if (newRenderAsset.src.length < 400) {
|
|
10
10
|
return newRenderAsset;
|
|
11
11
|
}
|
|
12
|
-
const assetWithSameSrc = previousRenderAssets.
|
|
12
|
+
const assetWithSameSrc = previousRenderAssets.get(newRenderAsset.src);
|
|
13
13
|
if (!assetWithSameSrc) {
|
|
14
14
|
return newRenderAsset;
|
|
15
15
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cycleBrowserTabs = void 0;
|
|
4
|
+
const flaky_errors_1 = require("./browser/flaky-errors");
|
|
4
5
|
const logger_1 = require("./logger");
|
|
5
6
|
const cycleBrowserTabs = ({ puppeteerInstance, concurrency, logLevel, indent, }) => {
|
|
6
7
|
if (concurrency <= 1) {
|
|
@@ -25,7 +26,14 @@ const cycleBrowserTabs = ({ puppeteerInstance, concurrency, logLevel, indent, })
|
|
|
25
26
|
if (!(currentPage === null || currentPage === void 0 ? void 0 : currentPage.closed) &&
|
|
26
27
|
!stopped &&
|
|
27
28
|
(currentPage === null || currentPage === void 0 ? void 0 : currentPage.url()) !== 'about:blank') {
|
|
28
|
-
return currentPage.bringToFront()
|
|
29
|
+
return currentPage.bringToFront().catch((err) => {
|
|
30
|
+
// The tabs are closed at the end of a render while a
|
|
31
|
+
// bringToFront() may still be in flight. Only that case is ignored.
|
|
32
|
+
if (stopped && (0, flaky_errors_1.isTargetClosedErr)(err)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
throw err;
|
|
36
|
+
});
|
|
29
37
|
}
|
|
30
38
|
})
|
|
31
39
|
.catch((err) => logger_1.Log.error({ indent, logLevel }, err))
|
package/dist/ensure-browser.js
CHANGED
|
@@ -10,18 +10,37 @@ const BrowserFetcher_1 = require("./browser/BrowserFetcher");
|
|
|
10
10
|
const logger_1 = require("./logger");
|
|
11
11
|
let currentEnsureBrowserOperation = Promise.resolve();
|
|
12
12
|
const internalEnsureBrowserUncapped = async ({ indent, logLevel, browserExecutable, onBrowserDownload, chromeMode, }) => {
|
|
13
|
-
const
|
|
13
|
+
const defaultStatus = getBrowserStatus({
|
|
14
|
+
browserExecutable,
|
|
15
|
+
chromeMode,
|
|
16
|
+
version: null,
|
|
17
|
+
});
|
|
18
|
+
if (defaultStatus.type === 'local-puppeteer-browser' ||
|
|
19
|
+
defaultStatus.type === 'user-defined-path') {
|
|
20
|
+
return defaultStatus;
|
|
21
|
+
}
|
|
22
|
+
const { onProgress, version } = onBrowserDownload({ chromeMode });
|
|
23
|
+
const status = version
|
|
24
|
+
? getBrowserStatus({ browserExecutable, chromeMode, version })
|
|
25
|
+
: defaultStatus;
|
|
26
|
+
if (status.type === 'local-puppeteer-browser') {
|
|
27
|
+
return status;
|
|
28
|
+
}
|
|
14
29
|
if (status.type === 'version-mismatch') {
|
|
30
|
+
const expectedVersion = (0, BrowserFetcher_1.getExpectedVersion)({
|
|
31
|
+
version,
|
|
32
|
+
chromeMode,
|
|
33
|
+
platform: (0, BrowserFetcher_1.getPlatform)(),
|
|
34
|
+
});
|
|
15
35
|
const versionInfo = status.actualVersion
|
|
16
36
|
? ` (installed: ${status.actualVersion})`
|
|
17
37
|
: '';
|
|
18
|
-
logger_1.Log.info({ indent, logLevel }, `This version of Remotion uses Chrome version ${
|
|
38
|
+
logger_1.Log.info({ indent, logLevel }, `This version of Remotion uses Chrome version ${expectedVersion}, but the installed one differs${versionInfo}. Re-downloading.`);
|
|
19
39
|
}
|
|
20
40
|
if (status.type === 'no-browser' || status.type === 'version-mismatch') {
|
|
21
|
-
const { onProgress, version } = onBrowserDownload({ chromeMode });
|
|
22
41
|
await (0, BrowserFetcher_1.downloadBrowser)({ indent, logLevel, onProgress, version, chromeMode });
|
|
23
42
|
}
|
|
24
|
-
const newStatus = getBrowserStatus({ browserExecutable, chromeMode });
|
|
43
|
+
const newStatus = getBrowserStatus({ browserExecutable, chromeMode, version });
|
|
25
44
|
return newStatus;
|
|
26
45
|
};
|
|
27
46
|
const internalEnsureBrowser = (options) => {
|
|
@@ -29,7 +48,7 @@ const internalEnsureBrowser = (options) => {
|
|
|
29
48
|
return currentEnsureBrowserOperation;
|
|
30
49
|
};
|
|
31
50
|
exports.internalEnsureBrowser = internalEnsureBrowser;
|
|
32
|
-
const getBrowserStatus = ({ browserExecutable, chromeMode, }) => {
|
|
51
|
+
const getBrowserStatus = ({ browserExecutable, chromeMode, version, }) => {
|
|
33
52
|
if (browserExecutable) {
|
|
34
53
|
if (!fs_1.default.existsSync(browserExecutable)) {
|
|
35
54
|
throw new Error(`"browserExecutable" was specified as '${browserExecutable}' but the path doesn't exist. Pass "null" for "browserExecutable" to download a browser automatically.`);
|
|
@@ -39,7 +58,12 @@ const getBrowserStatus = ({ browserExecutable, chromeMode, }) => {
|
|
|
39
58
|
const revision = (0, BrowserFetcher_1.getRevisionInfo)(chromeMode);
|
|
40
59
|
if (revision.local && fs_1.default.existsSync(revision.executablePath)) {
|
|
41
60
|
const actualVersion = (0, BrowserFetcher_1.readVersionFile)(chromeMode);
|
|
42
|
-
if (actualVersion ===
|
|
61
|
+
if (actualVersion ===
|
|
62
|
+
(0, BrowserFetcher_1.getExpectedVersion)({
|
|
63
|
+
version,
|
|
64
|
+
chromeMode,
|
|
65
|
+
platform: (0, BrowserFetcher_1.getPlatform)(),
|
|
66
|
+
})) {
|
|
43
67
|
return { path: revision.executablePath, type: 'local-puppeteer-browser' };
|
|
44
68
|
}
|
|
45
69
|
return { type: 'version-mismatch', actualVersion };
|