@remotion/renderer 4.0.17 → 4.0.19

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/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import execa from 'execa';
2
3
  import { HeadlessBrowser } from './browser/Browser';
3
4
  import { SymbolicateableError } from './error-handling/symbolicateable-error';
@@ -16,6 +17,7 @@ export type { FfmpegOverrideFn } from './ffmpeg-override';
16
17
  export { FileExtension } from './file-extensions';
17
18
  export { FrameRange } from './frame-range';
18
19
  export { getCompositions, GetCompositionsOptions } from './get-compositions';
20
+ export { getSilentParts } from './get-silent-parts';
19
21
  export { getVideoMetadata } from './get-video-metadata';
20
22
  export { ImageFormat, StillImageFormat, validateSelectedPixelFormatAndImageFormatCombination, VideoImageFormat, } from './image-format';
21
23
  export type { LogLevel } from './log-level';
@@ -36,7 +38,7 @@ export { OnStartData, RenderFramesOutput } from './types';
36
38
  export { OpenGlRenderer } from './validate-opengl-renderer';
37
39
  export { validateOutputFilename } from './validate-output-filename';
38
40
  export declare const RenderInternals: {
39
- ensureLocalBrowser: (browser: import("./browser").Browser, preferredBrowserExecutable: import("./browser-executable").BrowserExecutable) => Promise<void>;
41
+ ensureLocalBrowser: (preferredBrowserExecutable: import("./browser-executable").BrowserExecutable) => Promise<void>;
40
42
  getActualConcurrency: (userPreference: string | number | null) => number;
41
43
  serveStatic: (path: string | null, options: {
42
44
  port: number | null;
@@ -54,9 +56,9 @@ export declare const RenderInternals: {
54
56
  width: number;
55
57
  height: number;
56
58
  scale: number;
57
- codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif";
59
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
58
60
  }) => void;
59
- getFileExtensionFromCodec: <T extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "pcm-16" | "aac" | "mp3" | "opus" | null) => import("./file-extensions").FileExtension;
61
+ getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
60
62
  tmpDir: (str: string) => string;
61
63
  deleteDirectory: (directory: string) => void;
62
64
  isServeUrl: (potentialUrl: string) => boolean;
@@ -106,21 +108,21 @@ export declare const RenderInternals: {
106
108
  };
107
109
  registerErrorSymbolicationLock: () => number;
108
110
  unlockErrorSymbolicationLock: (id: number) => void;
109
- canUseParallelEncoding: (codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
111
+ canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
110
112
  mimeContentType: typeof mimeContentType;
111
113
  mimeLookup: typeof mimeLookup;
112
114
  validateConcurrency: (value: unknown, setting: string) => void;
113
115
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
114
- DEFAULT_BROWSER: import("./browser").Browser;
116
+ DEFAULT_BROWSER: "chrome";
115
117
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
116
- DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | null;
117
- validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | null) => "swangle" | "angle" | "egl" | "swiftshader" | null;
118
+ DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | null;
119
+ validateOpenGlRenderer: (option: "angle" | "swangle" | "egl" | "swiftshader" | null) => "angle" | "swangle" | "egl" | "swiftshader" | null;
118
120
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
119
121
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
120
122
  validateJpegQuality: (q: number | undefined) => void;
121
123
  DEFAULT_TIMEOUT: number;
122
- DEFAULT_CODEC: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif";
123
- isAudioCodec: (codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
124
+ DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
125
+ isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
124
126
  logLevels: readonly ["verbose", "info", "warn", "error"];
125
127
  isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
126
128
  isValidLogLevel: (level: string) => boolean;
@@ -137,23 +139,23 @@ export declare const RenderInternals: {
137
139
  output: string;
138
140
  onProgress: (p: number) => void;
139
141
  numberOfFrames: number;
140
- codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif";
142
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
141
143
  fps: number;
142
144
  numberOfGifLoops: number | null;
143
- audioCodec: "pcm-16" | "aac" | "mp3" | "opus" | null;
145
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
144
146
  }) => Promise<void>;
145
147
  getMinConcurrency: () => number;
146
148
  getMaxConcurrency: () => any;
147
149
  getDefaultAudioCodec: ({ codec, preferLossless, }: {
148
- codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif";
150
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
149
151
  preferLossless: boolean;
150
- }) => "pcm-16" | "aac" | "mp3" | "opus" | null;
152
+ }) => "mp3" | "aac" | "pcm-16" | "opus" | null;
151
153
  validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
152
154
  defaultFileExtensionMap: {
153
- aac: {
155
+ h264: {
154
156
  default: import("./file-extensions").FileExtension;
155
157
  forAudioCodec: {
156
- "pcm-16": {
158
+ mp3: {
157
159
  possible: import("./file-extensions").FileExtension[];
158
160
  default: import("./file-extensions").FileExtension;
159
161
  };
@@ -161,72 +163,72 @@ export declare const RenderInternals: {
161
163
  possible: import("./file-extensions").FileExtension[];
162
164
  default: import("./file-extensions").FileExtension;
163
165
  };
166
+ "pcm-16": {
167
+ possible: import("./file-extensions").FileExtension[];
168
+ default: import("./file-extensions").FileExtension;
169
+ };
164
170
  };
165
171
  };
166
- mp3: {
172
+ h265: {
167
173
  default: import("./file-extensions").FileExtension;
168
174
  forAudioCodec: {
169
- "pcm-16": {
175
+ aac: {
170
176
  possible: import("./file-extensions").FileExtension[];
171
177
  default: import("./file-extensions").FileExtension;
172
178
  };
173
- mp3: {
179
+ "pcm-16": {
174
180
  possible: import("./file-extensions").FileExtension[];
175
181
  default: import("./file-extensions").FileExtension;
176
182
  };
177
183
  };
178
184
  };
179
- h264: {
185
+ vp8: {
180
186
  default: import("./file-extensions").FileExtension;
181
187
  forAudioCodec: {
182
188
  "pcm-16": {
183
189
  possible: import("./file-extensions").FileExtension[];
184
190
  default: import("./file-extensions").FileExtension;
185
191
  };
186
- aac: {
187
- possible: import("./file-extensions").FileExtension[];
188
- default: import("./file-extensions").FileExtension;
189
- };
190
- mp3: {
192
+ opus: {
191
193
  possible: import("./file-extensions").FileExtension[];
192
194
  default: import("./file-extensions").FileExtension;
193
195
  };
194
196
  };
195
197
  };
196
- h265: {
198
+ vp9: {
197
199
  default: import("./file-extensions").FileExtension;
198
200
  forAudioCodec: {
199
201
  "pcm-16": {
200
202
  possible: import("./file-extensions").FileExtension[];
201
203
  default: import("./file-extensions").FileExtension;
202
204
  };
203
- aac: {
205
+ opus: {
204
206
  possible: import("./file-extensions").FileExtension[];
205
207
  default: import("./file-extensions").FileExtension;
206
208
  };
207
209
  };
208
210
  };
209
- vp8: {
211
+ mp3: {
210
212
  default: import("./file-extensions").FileExtension;
211
213
  forAudioCodec: {
212
- "pcm-16": {
214
+ mp3: {
213
215
  possible: import("./file-extensions").FileExtension[];
214
216
  default: import("./file-extensions").FileExtension;
215
217
  };
216
- opus: {
218
+ "pcm-16": {
217
219
  possible: import("./file-extensions").FileExtension[];
218
220
  default: import("./file-extensions").FileExtension;
219
221
  };
220
222
  };
221
223
  };
222
- vp9: {
224
+ aac: {
223
225
  default: import("./file-extensions").FileExtension;
224
226
  forAudioCodec: {
225
- "pcm-16": {
227
+ aac: {
226
228
  possible: import("./file-extensions").FileExtension[];
227
229
  default: import("./file-extensions").FileExtension;
228
230
  };
229
- opus: {
231
+ "pcm-16": {
230
232
  possible: import("./file-extensions").FileExtension[];
231
233
  default: import("./file-extensions").FileExtension;
232
234
  };
@@ -244,11 +246,11 @@ export declare const RenderInternals: {
244
246
  prores: {
245
247
  default: import("./file-extensions").FileExtension;
246
248
  forAudioCodec: {
247
- "pcm-16": {
249
+ aac: {
248
250
  possible: import("./file-extensions").FileExtension[];
249
251
  default: import("./file-extensions").FileExtension;
250
252
  };
251
- aac: {
253
+ "pcm-16": {
252
254
  possible: import("./file-extensions").FileExtension[];
253
255
  default: import("./file-extensions").FileExtension;
254
256
  };
@@ -257,11 +259,11 @@ export declare const RenderInternals: {
257
259
  "h264-mkv": {
258
260
  default: import("./file-extensions").FileExtension;
259
261
  forAudioCodec: {
260
- "pcm-16": {
262
+ mp3: {
261
263
  possible: import("./file-extensions").FileExtension[];
262
264
  default: import("./file-extensions").FileExtension;
263
265
  };
264
- mp3: {
266
+ "pcm-16": {
265
267
  possible: import("./file-extensions").FileExtension[];
266
268
  default: import("./file-extensions").FileExtension;
267
269
  };
@@ -284,8 +286,8 @@ export declare const RenderInternals: {
284
286
  readonly vp9: readonly ["opus", "pcm-16"];
285
287
  readonly wav: readonly ["pcm-16"];
286
288
  };
287
- makeFileExtensionMap: () => Record<string, ("aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
288
- defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif">;
289
+ makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
290
+ defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
289
291
  getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd") => string;
290
292
  callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
291
293
  dynamicLibraryPathOptions: () => {
@@ -302,8 +304,8 @@ export declare const RenderInternals: {
302
304
  };
303
305
  validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
304
306
  validVideoImageFormats: readonly ["png", "jpeg", "none"];
305
- DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
306
- DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
307
+ DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
308
+ DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
307
309
  DEFAULT_JPEG_QUALITY: number;
308
310
  chalk: {
309
311
  enabled: () => boolean;
@@ -414,7 +416,7 @@ export declare const RenderInternals: {
414
416
  frame: number;
415
417
  serializedInputPropsWithCustomSchema: string;
416
418
  serializedResolvedPropsWithCustomSchema: string;
417
- imageFormat: "png" | "jpeg" | "pdf" | "webp";
419
+ imageFormat: "jpeg" | "png" | "webp" | "pdf";
418
420
  jpegQuality: number;
419
421
  puppeteerInstance: HeadlessBrowser | null;
420
422
  envVariables: Record<string, string>;
@@ -440,7 +442,7 @@ export declare const RenderInternals: {
440
442
  forceDeviceScaleFactor: number | undefined;
441
443
  viewport: import("./browser/PuppeteerViewport").Viewport | null;
442
444
  indent: boolean;
443
- browser: import("./browser").Browser;
445
+ browser: "chrome";
444
446
  logLevel: "verbose" | "info" | "warn" | "error";
445
447
  }) => Promise<HeadlessBrowser>;
446
448
  internalSelectComposition: (options: {
@@ -480,4 +482,5 @@ export declare const RenderInternals: {
480
482
  buffer: Buffer | null;
481
483
  slowestFrames: import("./render-media").SlowFrame[];
482
484
  }>;
485
+ validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
483
486
  };
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.RenderInternals = exports.validateOutputFilename = exports.stitchFramesToVideo = exports.selectComposition = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.validateSelectedPixelFormatAndImageFormatCombination = exports.getVideoMetadata = exports.getCompositions = exports.ErrorWithStackFrame = void 0;
29
+ exports.RenderInternals = exports.validateOutputFilename = exports.stitchFramesToVideo = exports.selectComposition = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.validateSelectedPixelFormatAndImageFormatCombination = exports.getVideoMetadata = exports.getSilentParts = exports.getCompositions = exports.ErrorWithStackFrame = void 0;
30
30
  const execa_1 = __importDefault(require("execa"));
31
31
  const download_file_1 = require("./assets/download-file");
32
32
  const audio_codec_1 = require("./audio-codec");
@@ -86,6 +86,8 @@ var handle_javascript_exception_1 = require("./error-handling/handle-javascript-
86
86
  Object.defineProperty(exports, "ErrorWithStackFrame", { enumerable: true, get: function () { return handle_javascript_exception_1.ErrorWithStackFrame; } });
87
87
  var get_compositions_2 = require("./get-compositions");
88
88
  Object.defineProperty(exports, "getCompositions", { enumerable: true, get: function () { return get_compositions_2.getCompositions; } });
89
+ var get_silent_parts_1 = require("./get-silent-parts");
90
+ Object.defineProperty(exports, "getSilentParts", { enumerable: true, get: function () { return get_silent_parts_1.getSilentParts; } });
89
91
  var get_video_metadata_1 = require("./get-video-metadata");
90
92
  Object.defineProperty(exports, "getVideoMetadata", { enumerable: true, get: function () { return get_video_metadata_1.getVideoMetadata; } });
91
93
  var image_format_2 = require("./image-format");
@@ -184,6 +186,7 @@ exports.RenderInternals = {
184
186
  internalGetCompositions: get_compositions_1.internalGetCompositions,
185
187
  internalRenderFrames: render_frames_1.internalRenderFrames,
186
188
  internalRenderMedia: render_media_1.internalRenderMedia,
189
+ validOpenGlRenderers: validate_opengl_renderer_1.validOpenGlRenderers,
187
190
  };
188
191
  // Warn of potential performance issues with Apple Silicon (M1 chip under Rosetta)
189
192
  (0, check_apple_silicon_1.checkNodeVersionAndWarnAboutRosetta)();
@@ -30,15 +30,15 @@ const killAllBrowsers = async () => {
30
30
  exports.killAllBrowsers = killAllBrowsers;
31
31
  const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, viewport, logLevel, }) => {
32
32
  var _a, _b;
33
+ // @ts-expect-error Firefox
33
34
  if (browser === 'firefox') {
34
35
  throw new TypeError('Firefox supported is not yet turned on. Stay tuned for the future.');
35
36
  }
36
- await (0, get_local_browser_executable_1.ensureLocalBrowser)(browser, browserExecutable);
37
- const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browser, browserExecutable);
37
+ await (0, get_local_browser_executable_1.ensureLocalBrowser)(browserExecutable);
38
+ const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browserExecutable);
38
39
  const customGlRenderer = getOpenGlRenderer((_a = chromiumOptions.gl) !== null && _a !== void 0 ? _a : null);
39
40
  const browserInstance = await node_1.puppeteer.launch({
40
41
  executablePath,
41
- product: browser,
42
42
  dumpio: (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose'),
43
43
  logLevel,
44
44
  indent,
@@ -74,6 +74,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
74
74
  let encodedFrames = 0;
75
75
  let muxedFrames = 0;
76
76
  let renderedFrames = 0;
77
+ let totalFramesToRender = 0;
77
78
  let renderedDoneIn = null;
78
79
  let encodedDoneIn = null;
79
80
  let cancelled = false;
@@ -133,6 +134,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
133
134
  scale,
134
135
  width: composition.width,
135
136
  });
137
+ const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
136
138
  const callUpdate = () => {
137
139
  onProgress === null || onProgress === void 0 ? void 0 : onProgress({
138
140
  encodedDoneIn,
@@ -141,10 +143,9 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
141
143
  renderedFrames,
142
144
  stitchStage,
143
145
  progress: Math.round((70 * renderedFrames + 15 * encodedFrames + 15 * muxedFrames) /
144
- composition.durationInFrames) / 100,
146
+ totalFramesToRender) / 100,
145
147
  });
146
148
  };
147
- const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
148
149
  const cancelRenderFrames = (0, make_cancel_signal_1.makeCancelSignal)();
149
150
  const cancelPrestitcher = (0, make_cancel_signal_1.makeCancelSignal)();
150
151
  const cancelStitcher = (0, make_cancel_signal_1.makeCancelSignal)();
@@ -247,6 +248,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
247
248
  outputDir: parallelEncoding ? null : workingDir,
248
249
  onStart: (data) => {
249
250
  renderedFrames = 0;
251
+ totalFramesToRender = data.frameCount;
250
252
  callUpdate();
251
253
  onStart === null || onStart === void 0 ? void 0 : onStart(data);
252
254
  },
@@ -328,6 +330,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
328
330
  muxedFrames = frame;
329
331
  }
330
332
  else {
333
+ muxedFrames = frame;
331
334
  encodedFrames = frame;
332
335
  }
333
336
  callUpdate();
@@ -114,9 +114,12 @@ const innerSetPropsAndEnv = async ({ serializedInputPropsWithCustomSchema, envVa
114
114
  if (siteVersion !== requiredVersion) {
115
115
  throw new Error([
116
116
  `Incompatible site: When visiting ${urlToVisit}, a bundle was found, but one that is not compatible with this version of Remotion. Found version: ${siteVersion} - Required version: ${requiredVersion}. To resolve this error:`,
117
- ' Use `npx remotion lambda sites create` to redeploy the site with the latest version.',
118
- ' ℹ Use --site-name with the same name as before to overwrite your site.',
119
- ' Use `deploySite()` if you are using the Node.JS APIs.',
117
+ 'When using server-side rendering:',
118
+ ` Use 'bundle()' with '@remotion/bundler' of version ${version_1.VERSION} to create a compatible bundle.`,
119
+ 'When using the Remotion Lambda:',
120
+ ' ▸ Use `npx remotion lambda sites create` to redeploy the site with the latest version.',
121
+ ' ℹ Use --site-name with the same name as before to overwrite your site.',
122
+ ' ▸ Use `deploySite()` if you are using the Node.JS APIs.',
120
123
  ].join('\n'));
121
124
  }
122
125
  if (remotionVersion !== version_1.VERSION && process.env.NODE_ENV !== 'test') {
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
2
3
  import type { RenderAssetInfo } from './assets/download-map';
3
4
  import type { AudioCodec } from './audio-codec';
@@ -1,5 +1,4 @@
1
- declare const validRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
2
- export type OpenGlRenderer = typeof validRenderers[number];
1
+ export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
2
+ export type OpenGlRenderer = typeof validOpenGlRenderers[number];
3
3
  export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
4
4
  export declare const validateOpenGlRenderer: (option: OpenGlRenderer | null) => OpenGlRenderer | null;
5
- export {};
@@ -1,14 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateOpenGlRenderer = exports.DEFAULT_OPENGL_RENDERER = void 0;
4
- const validRenderers = ['swangle', 'angle', 'egl', 'swiftshader'];
3
+ exports.validateOpenGlRenderer = exports.DEFAULT_OPENGL_RENDERER = exports.validOpenGlRenderers = void 0;
4
+ exports.validOpenGlRenderers = [
5
+ 'swangle',
6
+ 'angle',
7
+ 'egl',
8
+ 'swiftshader',
9
+ ];
5
10
  exports.DEFAULT_OPENGL_RENDERER = null;
6
11
  const validateOpenGlRenderer = (option) => {
7
12
  if (option === null) {
8
13
  return null;
9
14
  }
10
- if (!validRenderers.includes(option)) {
11
- throw new TypeError(`${option} is not a valid GL backend. Accepted values: ${validRenderers.join(', ')}`);
15
+ if (!exports.validOpenGlRenderers.includes(option)) {
16
+ throw new TypeError(`${option} is not a valid GL backend. Accepted values: ${exports.validOpenGlRenderers.join(', ')}`);
12
17
  }
13
18
  return option;
14
19
  };
@@ -1,5 +1,5 @@
1
1
  import type { AudioCodec } from './audio-codec';
2
- export declare const validateOutputFilename: <T extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
2
+ export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
3
3
  codec: T;
4
4
  audioCodec: AudioCodec | null;
5
5
  extension: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "4.0.17",
3
+ "version": "4.0.19",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "extract-zip": "2.0.1",
19
19
  "source-map": "^0.8.0-beta.0",
20
20
  "ws": "8.7.0",
21
- "remotion": "4.0.17"
21
+ "remotion": "4.0.19"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": ">=16.8.0",
@@ -37,18 +37,17 @@
37
37
  "prettier-plugin-organize-imports": "^3.2.2",
38
38
  "react": "18.0.0",
39
39
  "react-dom": "18.0.0",
40
- "typescript": "4.9.5",
41
40
  "vitest": "0.31.1",
42
41
  "zod": "^3.21.4"
43
42
  },
44
43
  "optionalDependencies": {
45
- "@remotion/compositor-darwin-arm64": "4.0.17",
46
- "@remotion/compositor-linux-arm64-musl": "4.0.17",
47
- "@remotion/compositor-linux-arm64-gnu": "4.0.17",
48
- "@remotion/compositor-darwin-x64": "4.0.17",
49
- "@remotion/compositor-win32-x64-msvc": "4.0.17",
50
- "@remotion/compositor-linux-x64-musl": "4.0.17",
51
- "@remotion/compositor-linux-x64-gnu": "4.0.17"
44
+ "@remotion/compositor-darwin-arm64": "4.0.19",
45
+ "@remotion/compositor-linux-arm64-musl": "4.0.19",
46
+ "@remotion/compositor-darwin-x64": "4.0.19",
47
+ "@remotion/compositor-win32-x64-msvc": "4.0.19",
48
+ "@remotion/compositor-linux-x64-musl": "4.0.19",
49
+ "@remotion/compositor-linux-x64-gnu": "4.0.19",
50
+ "@remotion/compositor-linux-arm64-gnu": "4.0.19"
52
51
  },
53
52
  "keywords": [
54
53
  "remotion",