@remotion/renderer 3.0.0-lambda.395 → 3.0.0-lambda.400

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.
Files changed (46) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-lint.log +0 -0
  3. package/.turbo/turbo-test.log +39 -0
  4. package/dist/get-extension-from-codec.d.ts +1 -1
  5. package/dist/get-pro-res-profile-name.d.ts +3 -0
  6. package/dist/get-pro-res-profile-name.d.ts.map +1 -0
  7. package/dist/get-pro-res-profile-name.js +26 -0
  8. package/dist/get-pro-res-profile-name.js.map +1 -0
  9. package/dist/index.d.ts +1 -1
  10. package/dist/provide-screenshot.d.ts +1 -0
  11. package/dist/provide-screenshot.d.ts.map +1 -1
  12. package/dist/puppeteer-screenshot.d.ts +1 -0
  13. package/dist/puppeteer-screenshot.d.ts.map +1 -1
  14. package/dist/render-video.d.ts +8 -7
  15. package/dist/render-video.d.ts.map +1 -1
  16. package/dist/render-video.js +24 -55
  17. package/dist/render-video.js.map +1 -1
  18. package/dist/run-ffmpeg-command.d.ts +6 -0
  19. package/dist/run-ffmpeg-command.d.ts.map +1 -0
  20. package/dist/run-ffmpeg-command.js +25 -0
  21. package/dist/run-ffmpeg-command.js.map +1 -0
  22. package/dist/screenshot-dom-element.d.ts +1 -0
  23. package/dist/screenshot-dom-element.d.ts.map +1 -1
  24. package/dist/screenshot-task.d.ts +1 -0
  25. package/dist/screenshot-task.d.ts.map +1 -1
  26. package/package.json +4 -4
  27. package/dist/convert-mp3-to-pcm.d.ts +0 -7
  28. package/dist/convert-mp3-to-pcm.d.ts.map +0 -1
  29. package/dist/convert-mp3-to-pcm.js +0 -41
  30. package/dist/convert-mp3-to-pcm.js.map +0 -1
  31. package/dist/handle-null-audio.d.ts +0 -1
  32. package/dist/handle-null-audio.d.ts.map +0 -1
  33. package/dist/handle-null-audio.js +0 -2
  34. package/dist/handle-null-audio.js.map +0 -1
  35. package/dist/is-local-file.d.ts +0 -2
  36. package/dist/is-local-file.d.ts.map +0 -1
  37. package/dist/is-local-file.js +0 -13
  38. package/dist/is-local-file.js.map +0 -1
  39. package/dist/validate-frame.d.ts +0 -2
  40. package/dist/validate-frame.d.ts.map +0 -1
  41. package/dist/validate-frame.js +0 -25
  42. package/dist/validate-frame.js.map +0 -1
  43. package/dist/validate-quality.d.ts +0 -1
  44. package/dist/validate-quality.d.ts.map +0 -1
  45. package/dist/validate-quality.js +0 -2
  46. package/dist/validate-quality.js.map +0 -1
@@ -1,4 +1,4 @@
1
- @remotion/renderer:build: cache hit, replaying output 8b1c3216944b4bff
1
+ @remotion/renderer:build: cache hit, replaying output ff475ce346674e75
2
2
  @remotion/renderer:build: 
3
3
  @remotion/renderer:build: > @remotion/renderer@2.6.9 build /Users/jonathanburger/remotion/packages/renderer
4
4
  @remotion/renderer:build: > tsc -d
File without changes
@@ -0,0 +1,39 @@
1
+ @remotion/renderer:test: cache hit, replaying output c04be8ea4bb5f865
2
+ @remotion/renderer:test: 
3
+ @remotion/renderer:test: > @remotion/renderer@2.6.7 test /Users/jonathanburger/remotion/packages/renderer
4
+ @remotion/renderer:test: > jest
5
+ @remotion/renderer:test: 
6
+ @remotion/renderer:test: watchman warning: Recrawled this watch 45 times, most recently because:
7
+ @remotion/renderer:test: MustScanSubDirs UserDroppedTo resolve, please review the information on
8
+ @remotion/renderer:test: https://facebook.github.io/watchman/docs/troubleshooting.html#recrawl
9
+ @remotion/renderer:test: To clear this warning, run:
10
+ @remotion/renderer:test: `watchman watch-del '/Users/jonathanburger/remotion' ; watchman watch-project '/Users/jonathanburger/remotion'`
11
+ @remotion/renderer:test: 
12
+ @remotion/renderer:test: PASS src/test/serve-url.test.js (16.184 s)
13
+ @remotion/renderer:test: PASS src/test/serve-url.test.ts (16.791 s)
14
+ @remotion/renderer:test: PASS src/test/webpack-to-serve-url.test.ts
15
+ @remotion/renderer:test: PASS src/test/split-assets-into-segments.test.tsx (18.526 s)
16
+ @remotion/renderer:test: PASS src/test/ffmpeg-filters.test.ts (18.719 s)
17
+ @remotion/renderer:test: PASS src/test/ffmpeg-volume-expression.test.ts
18
+ @remotion/renderer:test: PASS src/test/dont-skip-assets.test.ts (19.047 s)
19
+ @remotion/renderer:test: PASS src/test/get-audio-channels.test.ts
20
+ @remotion/renderer:test: PASS src/test/parse-ffmpeg-version.test.ts
21
+ @remotion/renderer:test: PASS src/test/download-file.test.ts
22
+ @remotion/renderer:test: PASS src/test/asset-compression.test.ts
23
+ @remotion/renderer:test: PASS src/test/avoid-ffmpeg-stackoverflow.test.ts
24
+ @remotion/renderer:test: PASS src/test/flatten-volume-array.test.tsx
25
+ @remotion/renderer:test: PASS src/test/handle-weird-file-names.test.ts
26
+ @remotion/renderer:test: PASS src/test/parse-ffmpeg-progress.test.ts
27
+ @remotion/renderer:test: PASS src/test/avoid-asset-zero-length.test.ts
28
+ @remotion/renderer:test: PASS src/test/calculate-atempo.test.ts
29
+ @remotion/renderer:test: PASS src/test/validate-config-stitcher.test.ts
30
+ @remotion/renderer:test: PASS src/test/asset-is-used-at-time.test.ts
31
+ @remotion/renderer:test: PASS src/test/validate-config.test.ts (23.089 s)
32
+ @remotion/renderer:test: PASS src/test/render-still.test.ts
33
+ @remotion/renderer:test: PASS src/test/asset-calculation.test.tsx (31.688 s)
34
+ @remotion/renderer:test: 
35
+ @remotion/renderer:test: Test Suites: 22 passed, 22 total
36
+ @remotion/renderer:test: Tests: 61 passed, 61 total
37
+ @remotion/renderer:test: Snapshots: 0 total
38
+ @remotion/renderer:test: Time: 34.243 s
39
+ @remotion/renderer:test: Ran all test suites.
@@ -1,3 +1,3 @@
1
1
  import { Codec } from 'remotion';
2
- export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "mp4" | "mkv" | "mov" | "webm";
2
+ export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "webm" | "mp4" | "mkv" | "mov";
3
3
  //# sourceMappingURL=get-extension-from-codec.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { Codec, ProResProfile } from 'remotion';
2
+ export declare const getProResProfileName: (codec: Codec, proResProfile: ProResProfile | undefined) => string | null;
3
+ //# sourceMappingURL=get-pro-res-profile-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-pro-res-profile-name.d.ts","sourceRoot":"","sources":["../src/get-pro-res-profile-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,oBAAoB,UACzB,KAAK,iBACG,aAAa,GAAG,SAAS,KACtC,MAAM,GAAG,IAqBX,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProResProfileName = void 0;
4
+ const getProResProfileName = (codec, proResProfile) => {
5
+ if (codec !== 'prores') {
6
+ return null;
7
+ }
8
+ switch (proResProfile) {
9
+ case '4444-xq':
10
+ return '5';
11
+ case '4444':
12
+ return '4';
13
+ case 'hq':
14
+ return '3';
15
+ case 'standard':
16
+ return '2';
17
+ case 'light':
18
+ return '1';
19
+ case 'proxy':
20
+ return '0';
21
+ default:
22
+ return '3';
23
+ }
24
+ };
25
+ exports.getProResProfileName = getProResProfileName;
26
+ //# sourceMappingURL=get-pro-res-profile-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-pro-res-profile-name.js","sourceRoot":"","sources":["../src/get-pro-res-profile-name.ts"],"names":[],"mappings":";;;AAEO,MAAM,oBAAoB,GAAG,CACnC,KAAY,EACZ,aAAwC,EACxB,EAAE;IAClB,IAAI,KAAK,KAAK,QAAQ,EAAE;QACvB,OAAO,IAAI,CAAC;KACZ;IAED,QAAQ,aAAa,EAAE;QACtB,KAAK,SAAS;YACb,OAAO,GAAG,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,GAAG,CAAC;QACZ,KAAK,IAAI;YACR,OAAO,GAAG,CAAC;QACZ,KAAK,UAAU;YACd,OAAO,GAAG,CAAC;QACZ,KAAK,OAAO;YACX,OAAO,GAAG,CAAC;QACZ,KAAK,OAAO;YACX,OAAO,GAAG,CAAC;QACZ;YACC,OAAO,GAAG,CAAC;KACZ;AACF,CAAC,CAAC;AAxBW,QAAA,oBAAoB,wBAwB/B"}
package/dist/index.d.ts CHANGED
@@ -50,7 +50,7 @@ export declare const RenderInternals: {
50
50
  cleanup: (() => void) | undefined;
51
51
  getLogs: () => string;
52
52
  }>;
53
- getFileExtensionFromCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv", type: "chunk" | "final") => "mp3" | "aac" | "wav" | "mp4" | "mkv" | "mov" | "webm";
53
+ getFileExtensionFromCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv", type: "chunk" | "final") => "mp3" | "aac" | "wav" | "webm" | "mp4" | "mkv" | "mov";
54
54
  makeAssetsDownloadTmpDir: () => string;
55
55
  tmpDir: (str: string) => string;
56
56
  deleteDirectory: (directory: string) => Promise<void>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import puppeteer from 'puppeteer-core';
2
3
  import { ImageFormat } from 'remotion';
3
4
  export declare const provideScreenshot: ({ page, imageFormat, options, quality, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"provide-screenshot.d.ts","sourceRoot":"","sources":["../src/provide-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC,eAAO,MAAM,iBAAiB;UAMvB,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;aAClB;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB;MACE,QAAQ,MAAM,CAUjB,CAAC"}
1
+ {"version":3,"file":"provide-screenshot.d.ts","sourceRoot":"","sources":["../src/provide-screenshot.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC,eAAO,MAAM,iBAAiB;UAMvB,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;aAClB;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB;MACE,QAAQ,MAAM,CAUjB,CAAC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { Page, ScreenshotOptions } from 'puppeteer-core';
2
3
  export declare const screenshot: (page: Page, options?: ScreenshotOptions) => Promise<Buffer | string | void>;
3
4
  //# sourceMappingURL=puppeteer-screenshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer-screenshot.d.ts","sourceRoot":"","sources":["../src/puppeteer-screenshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAIvD,eAAO,MAAM,UAAU,SAChB,IAAI,YACD,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,GAAG,IAAI,CAyFhC,CAAC"}
1
+ {"version":3,"file":"puppeteer-screenshot.d.ts","sourceRoot":"","sources":["../src/puppeteer-screenshot.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAIvD,eAAO,MAAM,UAAU,SAChB,IAAI,YACD,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,GAAG,IAAI,CAyFhC,CAAC"}
@@ -1,14 +1,15 @@
1
1
  import type { Browser as PuppeteerBrowser } from 'puppeteer-core';
2
2
  import { Browser, Codec, FfmpegExecutable, FrameRange, PixelFormat, ProResProfile, TCompMetadata } from 'remotion';
3
- export declare type RenderVideoOnDownload = (src: string) => void;
4
- export declare type RenderVideoOnProgress = (progress: {
3
+ export declare type RenderMediaOnDownload = (src: string) => void;
4
+ export declare type StitchingState = 'encoding' | 'muxing';
5
+ export declare type RenderMediaOnProgress = (progress: {
5
6
  renderedFrames: number;
6
7
  encodedFrames: number;
7
8
  encodedDoneIn: number | null;
8
9
  renderedDoneIn: number | null;
9
- stitchStage: 'encoding' | 'muxing';
10
+ stitchStage: StitchingState;
10
11
  }) => void;
11
- export declare type RenderVideoOptions = {
12
+ export declare type RenderMediaOptions = {
12
13
  proResProfile: ProResProfile | undefined;
13
14
  parallelism: number | null;
14
15
  parallelEncoding: boolean;
@@ -28,11 +29,11 @@ export declare type RenderVideoOptions = {
28
29
  openedBrowser: PuppeteerBrowser;
29
30
  overwrite: boolean;
30
31
  absoluteOutputFile: string;
31
- onProgress: RenderVideoOnProgress;
32
- shouldOutputImageSequence: boolean;
32
+ onProgress?: RenderMediaOnProgress;
33
33
  fileExtension: string | null;
34
34
  bundled: string;
35
35
  onDownload: (src: string) => void;
36
+ dumpBrowserLogs: boolean;
36
37
  };
37
- export declare const renderVideo: ({ parallelism, proResProfile, parallelEncoding, crf, outputDir, config, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, browser, serveUrl, openedBrowser, absoluteOutputFile, onProgress, overwrite, shouldOutputImageSequence, fileExtension, bundled, onDownload, }: RenderVideoOptions) => Promise<void>;
38
+ export declare const renderMedia: ({ parallelism, proResProfile, parallelEncoding, crf, outputDir, config, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, browser, serveUrl, openedBrowser, absoluteOutputFile, onProgress, overwrite, fileExtension, bundled, onDownload, dumpBrowserLogs, }: RenderMediaOptions) => Promise<void>;
38
39
  //# sourceMappingURL=render-video.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-video.d.ts","sourceRoot":"","sources":["../src/render-video.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACN,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,UAAU,EAEV,WAAW,EACX,aAAa,EACb,aAAa,EACb,MAAM,UAAU,CAAC;AAIlB,oBAAY,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1D,oBAAY,qBAAqB,GAAG,CAAC,QAAQ,EAAE;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnC,KAAK,IAAI,CAAC;AAEX,oBAAY,kBAAkB,GAAG;IAChC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,qBAAqB,CAAC;IAClC,yBAAyB,EAAE,OAAO,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,WAAW,4TAyBrB,kBAAkB,kBAuKpB,CAAC"}
1
+ {"version":3,"file":"render-video.d.ts","sourceRoot":"","sources":["../src/render-video.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACN,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,UAAU,EAEV,WAAW,EACX,aAAa,EACb,aAAa,EACb,MAAM,UAAU,CAAC;AAIlB,oBAAY,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1D,oBAAY,cAAc,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnD,oBAAY,qBAAqB,GAAG,CAAC,QAAQ,EAAE;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,cAAc,CAAC;CAC5B,KAAK,IAAI,CAAC;AAEX,oBAAY,kBAAkB,GAAG;IAChC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,WAAW,kTAyBrB,kBAAkB,kBAuIpB,CAAC"}
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderVideo = void 0;
6
+ exports.renderMedia = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const remotion_1 = require("remotion");
10
10
  const stitcher_1 = require("./stitcher");
11
11
  const render_1 = require("./render");
12
- const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf, outputDir, config, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, browser, serveUrl, openedBrowser, absoluteOutputFile, onProgress, overwrite, shouldOutputImageSequence, fileExtension, bundled, onDownload, }) => {
12
+ const renderMedia = async ({ parallelism, proResProfile, parallelEncoding, crf, outputDir, config, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, browser, serveUrl, openedBrowser, absoluteOutputFile, onProgress, overwrite, fileExtension, bundled, onDownload, dumpBrowserLogs, }) => {
13
13
  var _a, _b;
14
+ let stitchStage = 'encoding';
14
15
  let stitcherFfmpeg;
15
16
  let preStitcher;
16
17
  let encodedFrames = 0;
@@ -19,6 +20,15 @@ const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf,
19
20
  let renderedDoneIn = null;
20
21
  let encodedDoneIn = null;
21
22
  const renderStart = Date.now();
23
+ const callUpdate = () => {
24
+ onProgress === null || onProgress === void 0 ? void 0 : onProgress({
25
+ encodedDoneIn,
26
+ encodedFrames,
27
+ renderedDoneIn,
28
+ renderedFrames,
29
+ stitchStage,
30
+ });
31
+ };
22
32
  if (parallelEncoding) {
23
33
  if (typeof crf !== 'number') {
24
34
  throw new TypeError('CRF is unexpectedly not a number');
@@ -39,13 +49,7 @@ const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf,
39
49
  parallelism,
40
50
  onProgress: (frame) => {
41
51
  encodedFrames = frame;
42
- onProgress({
43
- encodedFrames,
44
- renderedFrames,
45
- encodedDoneIn: null,
46
- renderedDoneIn: null,
47
- stitchStage: 'encoding',
48
- });
52
+ callUpdate();
49
53
  },
50
54
  verbose: remotion_1.Internals.Logging.isEqualOrBelowLogLevel('verbose'),
51
55
  parallelEncoding,
@@ -55,31 +59,17 @@ const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf,
55
59
  });
56
60
  stitcherFfmpeg = preStitcher.task;
57
61
  }
58
- const renderer = (0, render_1.renderFrames)({
62
+ const { assetsInfo } = await (0, render_1.renderFrames)({
59
63
  config,
60
64
  onFrameUpdate: (frame) => {
61
65
  renderedFrames = frame;
62
- onProgress({
63
- encodedFrames,
64
- renderedFrames,
65
- encodedDoneIn,
66
- renderedDoneIn,
67
- stitchStage: 'encoding',
68
- });
66
+ callUpdate();
69
67
  },
70
68
  parallelism,
71
- parallelEncoding,
72
69
  outputDir,
73
70
  onStart: () => {
74
71
  renderedFrames = 0;
75
- onProgress({
76
- encodedDoneIn,
77
- encodedFrames,
78
- renderedDoneIn,
79
- renderedFrames,
80
- // TODO: Keep a state
81
- stitchStage: 'encoding',
82
- });
72
+ callUpdate();
83
73
  },
84
74
  inputProps,
85
75
  envVariables,
@@ -93,8 +83,8 @@ const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf,
93
83
  (_a = stitcherFfmpeg === null || stitcherFfmpeg === void 0 ? void 0 : stitcherFfmpeg.stdin) === null || _a === void 0 ? void 0 : _a.write(buffer);
94
84
  },
95
85
  serveUrl,
86
+ dumpBrowserLogs,
96
87
  });
97
- const { assetsInfo } = await renderer;
98
88
  if (stitcherFfmpeg) {
99
89
  (_a = stitcherFfmpeg === null || stitcherFfmpeg === void 0 ? void 0 : stitcherFfmpeg.stdin) === null || _a === void 0 ? void 0 : _a.end();
100
90
  await stitcherFfmpeg;
@@ -102,19 +92,7 @@ const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf,
102
92
  }
103
93
  const closeBrowserPromise = openedBrowser.close();
104
94
  renderedDoneIn = Date.now() - renderStart;
105
- onProgress({
106
- encodedFrames,
107
- renderedFrames,
108
- renderedDoneIn,
109
- encodedDoneIn,
110
- stitchStage: 'encoding',
111
- });
112
- if (process.env.DEBUG) {
113
- remotion_1.Internals.perf.logPerf();
114
- }
115
- if (shouldOutputImageSequence) {
116
- return;
117
- }
95
+ callUpdate();
118
96
  if (typeof crf !== 'number') {
119
97
  throw new TypeError('CRF is unexpectedly not a number');
120
98
  }
@@ -142,28 +120,19 @@ const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf,
142
120
  parallelism,
143
121
  ffmpegExecutable,
144
122
  onProgress: (frame) => {
145
- onProgress({
146
- encodedFrames: frame,
147
- renderedFrames,
148
- renderedDoneIn,
149
- encodedDoneIn,
150
- stitchStage: 'muxing',
151
- });
123
+ stitchStage = 'muxing';
124
+ encodedFrames = frame;
125
+ callUpdate();
152
126
  },
153
127
  // TODO: Optimization, Now can download before!
154
128
  onDownload,
155
129
  webpackBundle: bundled,
156
130
  verbose: remotion_1.Internals.Logging.isEqualOrBelowLogLevel('verbose'),
157
131
  });
132
+ encodedFrames = config.durationInFrames;
158
133
  encodedDoneIn = Date.now() - stitchStart;
159
- onProgress({
160
- encodedDoneIn,
161
- encodedFrames,
162
- renderedDoneIn,
163
- renderedFrames,
164
- stitchStage: 'muxing',
165
- });
134
+ callUpdate();
166
135
  await closeBrowserPromise;
167
136
  };
168
- exports.renderVideo = renderVideo;
137
+ exports.renderMedia = renderMedia;
169
138
  //# sourceMappingURL=render-video.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-video.js","sourceRoot":"","sources":["../src/render-video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-video.js","sourceRoot":"","sources":["../src/render-video.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import execa from 'execa';
2
+ export declare const ENABLE_WASM_FFMPEG = true;
3
+ export declare const wasmFfmpeg: import("@ffmpeg/ffmpeg").FFmpeg;
4
+ export declare const load: Promise<void>;
5
+ export declare const runFfmpegCommand: (args: string[], isRenderBad: boolean, options?: execa.Options<string> | undefined) => Promise<execa.ExecaReturnValue<string>>;
6
+ //# sourceMappingURL=run-ffmpeg-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-ffmpeg-command.d.ts","sourceRoot":"","sources":["../src/run-ffmpeg-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,eAAO,MAAM,UAAU,iCAA4B,CAAC;AACpD,eAAO,MAAM,IAAI,eAAoB,CAAC;AAEtC,eAAO,MAAM,gBAAgB,SACtB,MAAM,EAAE,eACD,OAAO,yFAgBpB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runFfmpegCommand = exports.load = exports.wasmFfmpeg = exports.ENABLE_WASM_FFMPEG = void 0;
7
+ const ffmpeg_1 = require("@ffmpeg/ffmpeg");
8
+ const execa_1 = __importDefault(require("execa"));
9
+ const fs_1 = __importDefault(require("fs"));
10
+ exports.ENABLE_WASM_FFMPEG = true;
11
+ exports.wasmFfmpeg = ffmpeg_1.createFFmpeg({ log: true });
12
+ exports.load = exports.wasmFfmpeg.load();
13
+ const runFfmpegCommand = async (args, isRenderBad, options) => {
14
+ await exports.load;
15
+ await exports.wasmFfmpeg.run(...args);
16
+ if (isRenderBad) {
17
+ await fs_1.default.promises.writeFile('./hi.mp4',
18
+ // eslint-disable-next-line new-cap
19
+ exports.wasmFfmpeg.FS('readFile', 'hi.mp4'));
20
+ }
21
+ console.log('wasm done');
22
+ return execa_1.default('ffmpeg', args, options);
23
+ };
24
+ exports.runFfmpegCommand = runFfmpegCommand;
25
+ //# sourceMappingURL=run-ffmpeg-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-ffmpeg-command.js","sourceRoot":"","sources":["../src/run-ffmpeg-command.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA4C;AAC5C,kDAA0B;AAC1B,4CAAoB;AAEP,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAE1B,QAAA,UAAU,GAAG,qBAAY,CAAC,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;AACvC,QAAA,IAAI,GAAG,kBAAU,CAAC,IAAI,EAAE,CAAC;AAE/B,MAAM,gBAAgB,GAAG,KAAK,EACpC,IAAc,EACd,WAAoB,EACpB,OAAuB,EACtB,EAAE;IACH,MAAM,YAAI,CAAC;IAEX,MAAM,kBAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,IAAI,WAAW,EAAE;QAChB,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAC1B,UAAU;QACV,mCAAmC;QACnC,kBAAU,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CACnC,CAAC;KACF;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,eAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import puppeteer from 'puppeteer-core';
2
3
  import { ImageFormat } from 'remotion';
3
4
  export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot-dom-element.d.ts","sourceRoot":"","sources":["../src/screenshot-dom-element.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC,eAAO,MAAM,oBAAoB;UAM1B,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;;;;;MAKxB,QAAQ,MAAM,CA0BjB,CAAC"}
1
+ {"version":3,"file":"screenshot-dom-element.d.ts","sourceRoot":"","sources":["../src/screenshot-dom-element.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC,eAAO,MAAM,oBAAoB;UAM1B,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;;;;;MAKxB,QAAQ,MAAM,CA0BjB,CAAC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { Page, ScreenshotOptions } from 'puppeteer-core';
2
3
  import { StillImageFormat } from 'remotion';
3
4
  export declare const _screenshotTask: (page: Page, format: StillImageFormat, options: ScreenshotOptions) => Promise<Buffer | string>;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot-task.d.ts","sourceRoot":"","sources":["../src/screenshot-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,IAAI,EAAE,iBAAiB,EAAS,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAY,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,eAAe,SACrB,IAAI,UACF,gBAAgB,WACf,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,CAqCzB,CAAC"}
1
+ {"version":3,"file":"screenshot-task.d.ts","sourceRoot":"","sources":["../src/screenshot-task.ts"],"names":[],"mappings":";AACA,OAAO,EAAa,IAAI,EAAE,iBAAiB,EAAS,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAY,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,eAAe,SACrB,IAAI,UACF,gBAAgB,WACf,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,CAqCzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "3.0.0-lambda.395+67a488af4",
3
+ "version": "3.0.0-lambda.400+3b736b911",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,11 +17,11 @@
17
17
  "url": "https://github.com/remotion-dev/remotion"
18
18
  },
19
19
  "dependencies": {
20
- "@remotion/bundler": "3.0.0-lambda.395+67a488af4",
20
+ "@remotion/bundler": "3.0.0-lambda.400+3b736b911",
21
21
  "execa": "5.1.1",
22
22
  "p-limit": "3.1.0",
23
23
  "puppeteer-core": "13.1.2",
24
- "remotion": "3.0.0-lambda.395+67a488af4",
24
+ "remotion": "3.0.0-lambda.400+3b736b911",
25
25
  "serve-handler": "6.1.3"
26
26
  },
27
27
  "peerDependencies": {
@@ -47,5 +47,5 @@
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },
50
- "gitHead": "67a488af444c83fb75e3d308c6f2a57181014aab"
50
+ "gitHead": "3b736b911f76ee53084b35b96ae5fda4f3c2a73a"
51
51
  }
@@ -1,7 +0,0 @@
1
- export declare const getPcmOutputName: (inputName: string) => string;
2
- export declare const conversionStarted: {
3
- [key: string]: boolean;
4
- };
5
- export declare const convertMp3ToPcm: (source: string) => Promise<string>;
6
- export declare const clearMp3Conversions: () => void;
7
- //# sourceMappingURL=convert-mp3-to-pcm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-mp3-to-pcm.d.ts","sourceRoot":"","sources":["../src/convert-mp3-to-pcm.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,cAAe,MAAM,WAMjD,CAAC;AAQF,eAAO,MAAM,iBAAiB,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAM,CAAC;AAE9D,eAAO,MAAM,eAAe,WAAkB,MAAM,oBAcnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAI/B,CAAC"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- // For the h264-mkv format, we need to convert an MP3 file to PCM first
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.clearMp3Conversions = exports.convertMp3ToPcm = exports.conversionStarted = exports.getPcmOutputName = void 0;
8
- const execa_1 = __importDefault(require("execa"));
9
- const path_1 = __importDefault(require("path"));
10
- const getPcmOutputName = (inputName) => {
11
- const dirname = path_1.default.dirname(inputName);
12
- const extension = path_1.default.extname(inputName);
13
- const filename = path_1.default.basename(inputName, extension);
14
- return path_1.default.join(dirname, `${filename}-converted.wav`);
15
- };
16
- exports.getPcmOutputName = getPcmOutputName;
17
- const isMp3 = async (source) => {
18
- const { stderr } = await (0, execa_1.default)('ffprobe', [source]);
19
- return stderr.includes('Audio: mp3');
20
- };
21
- exports.conversionStarted = {};
22
- const convertMp3ToPcm = async (source) => {
23
- const outname = (0, exports.getPcmOutputName)(source);
24
- if (!(await isMp3(source))) {
25
- return source;
26
- }
27
- if (exports.conversionStarted[source]) {
28
- return outname;
29
- }
30
- exports.conversionStarted[source] = true;
31
- await (0, execa_1.default)('ffmpeg', ['-y', '-i', source, (0, exports.getPcmOutputName)(source)]);
32
- return outname;
33
- };
34
- exports.convertMp3ToPcm = convertMp3ToPcm;
35
- const clearMp3Conversions = () => {
36
- Object.keys(exports.conversionStarted).forEach((key) => {
37
- delete exports.conversionStarted[key];
38
- });
39
- };
40
- exports.clearMp3Conversions = clearMp3Conversions;
41
- //# sourceMappingURL=convert-mp3-to-pcm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-mp3-to-pcm.js","sourceRoot":"","sources":["../src/convert-mp3-to-pcm.ts"],"names":[],"mappings":";AAAA,uEAAuE;;;;;;AAEvE,kDAA0B;AAC1B,gDAAwB;AAEjB,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAErD,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC;AACxD,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B;AAEF,MAAM,KAAK,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACtC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,eAAK,EAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAA6B,EAAE,CAAC;AAEvD,MAAM,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;QAC3B,OAAO,MAAM,CAAC;KACd;IAED,IAAI,yBAAiB,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC;KACf;IAED,yBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEjC,MAAM,IAAA,eAAK,EAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACvC,MAAM,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9C,OAAO,yBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=handle-null-audio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-null-audio.d.ts","sourceRoot":"","sources":["../src/handle-null-audio.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=handle-null-audio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-null-audio.js","sourceRoot":"","sources":["../src/handle-null-audio.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare const isServeUrl: (potentialUrl: string) => boolean;
2
- //# sourceMappingURL=is-local-file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-local-file.d.ts","sourceRoot":"","sources":["../src/is-local-file.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,iBAAkB,MAAM,YAY9C,CAAC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isServeUrl = void 0;
4
- const isServeUrl = (potentialUrl) => {
5
- // Theoretically not a valid URL but handle the most basic cases of forgetting protocol in front
6
- if (potentialUrl.startsWith('www.') ||
7
- potentialUrl.includes('amazonaws.com')) {
8
- return true;
9
- }
10
- return (potentialUrl.startsWith('https://') || !potentialUrl.startsWith('http://'));
11
- };
12
- exports.isServeUrl = isServeUrl;
13
- //# sourceMappingURL=is-local-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-local-file.js","sourceRoot":"","sources":["../src/is-local-file.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAE,EAAE;IAClD,gGAAgG;IAChG,IACC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;QAC/B,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EACrC;QACD,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,CACN,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1E,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB"}
@@ -1,2 +0,0 @@
1
- export declare const validateFrame: (frame: number, durationInFrames: number) => void;
2
- //# sourceMappingURL=validate-frame.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-frame.d.ts","sourceRoot":"","sources":["../src/validate-frame.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAAW,MAAM,oBAAoB,MAAM,SAgCpE,CAAC"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateFrame = void 0;
4
- const validateFrame = (frame, durationInFrames) => {
5
- if (typeof frame === 'undefined') {
6
- throw new TypeError(`Argument missing for parameter "frame"`);
7
- }
8
- if (typeof frame !== 'number') {
9
- throw new TypeError(`Argument passed for "frame" is not a number: ${frame}`);
10
- }
11
- if (frame < 0) {
12
- throw new RangeError(`Frame ${frame} cannot be negative`);
13
- }
14
- if (!Number.isFinite(frame)) {
15
- throw new RangeError(`Frame ${frame} is not finite`);
16
- }
17
- if (frame % 1 !== 0) {
18
- throw new RangeError(`Argument for frame must be an integer, but got ${frame}`);
19
- }
20
- if (frame > durationInFrames - 1) {
21
- throw new RangeError(`Cannot use frame ${frame}: Duration of composition is ${durationInFrames}, therefore the highest frame that can be rendered is ${durationInFrames - 1}`);
22
- }
23
- };
24
- exports.validateFrame = validateFrame;
25
- //# sourceMappingURL=validate-frame.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-frame.js","sourceRoot":"","sources":["../src/validate-frame.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,gBAAwB,EAAE,EAAE;IACxE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACjC,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;KAC9D;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAI,SAAS,CAClB,gDAAgD,KAAK,EAAE,CACvD,CAAC;KACF;IAED,IAAI,KAAK,GAAG,CAAC,EAAE;QACd,MAAM,IAAI,UAAU,CAAC,SAAS,KAAK,qBAAqB,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,UAAU,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC;KACrD;IAED,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,UAAU,CACnB,kDAAkD,KAAK,EAAE,CACzD,CAAC;KACF;IAED,IAAI,KAAK,GAAG,gBAAgB,GAAG,CAAC,EAAE;QACjC,MAAM,IAAI,UAAU,CACnB,oBAAoB,KAAK,gCAAgC,gBAAgB,yDACxE,gBAAgB,GAAG,CACpB,EAAE,CACF,CAAC;KACF;AACF,CAAC,CAAC;AAhCW,QAAA,aAAa,iBAgCxB"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=validate-quality.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-quality.d.ts","sourceRoot":"","sources":["../src/validate-quality.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=validate-quality.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-quality.js","sourceRoot":"","sources":["../src/validate-quality.ts"],"names":[],"mappings":""}