remotion 4.0.0-fastlambda.8 → 4.0.0-lambda.3

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 (68) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/dist/AbsoluteFill.js +1 -1
  3. package/dist/Composition.d.ts +1 -1
  4. package/dist/Composition.js +30 -1
  5. package/dist/CompositionManager.d.ts +1 -1
  6. package/dist/CompositionManager.js +6 -2
  7. package/dist/IFrame.js +1 -1
  8. package/dist/Img.js +26 -21
  9. package/dist/RemotionRoot.js +1 -1
  10. package/dist/Still.js +1 -1
  11. package/dist/audio/Audio.js +3 -3
  12. package/dist/audio/AudioForDevelopment.js +1 -1
  13. package/dist/audio/AudioForRendering.js +1 -1
  14. package/dist/audio/index.js +5 -1
  15. package/dist/audio/shared-audio-tags.js +6 -2
  16. package/dist/config/bundle-out-dir.d.ts +2 -0
  17. package/dist/config/bundle-out-dir.js +12 -0
  18. package/dist/config/chromium-flags.d.ts +1 -1
  19. package/dist/config/every-nth-file.d.ts +2 -0
  20. package/dist/config/every-nth-file.js +12 -0
  21. package/dist/config/ffmpeg-executable.d.ts +2 -0
  22. package/dist/config/ffmpeg-executable.js +10 -1
  23. package/dist/config/index.d.ts +8 -3
  24. package/dist/config/index.js +7 -2
  25. package/dist/config/loop.d.ts +3 -0
  26. package/dist/config/loop.js +15 -0
  27. package/dist/config/override-webpack.d.ts +1 -7
  28. package/dist/config/public-path.d.ts +2 -0
  29. package/dist/config/public-path.js +12 -0
  30. package/dist/delay-render.d.ts +1 -1
  31. package/dist/freeze.js +1 -1
  32. package/dist/index.d.ts +5 -2
  33. package/dist/index.js +8 -3
  34. package/dist/internals.d.ts +7 -5
  35. package/dist/internals.js +11 -4
  36. package/dist/loading-indicator.d.ts +2 -0
  37. package/dist/loading-indicator.js +35 -0
  38. package/dist/loop/index.js +1 -1
  39. package/dist/perf/index.d.ts +1 -1
  40. package/dist/perf/index.js +2 -0
  41. package/dist/portal-node.d.ts +1 -0
  42. package/dist/portal-node.js +23 -0
  43. package/dist/register-root.d.ts +1 -0
  44. package/dist/register-root.js +20 -5
  45. package/dist/sequencing/index.js +1 -1
  46. package/dist/series/index.js +3 -3
  47. package/dist/use-lazy-component.js +5 -1
  48. package/dist/validate-media-props.d.ts +2 -1
  49. package/dist/validation/validate-every-nth-frame.d.ts +1 -0
  50. package/dist/validation/validate-every-nth-frame.js +21 -0
  51. package/dist/validation/validate-opengl-renderer.d.ts +1 -1
  52. package/dist/validation/validate-opengl-renderer.js +1 -1
  53. package/dist/video/OffthreadVideo.d.ts +3 -0
  54. package/dist/video/OffthreadVideo.js +25 -0
  55. package/dist/video/OffthreadVideoForRendering.d.ts +3 -0
  56. package/dist/video/OffthreadVideoForRendering.js +93 -0
  57. package/dist/video/Video.js +3 -3
  58. package/dist/video/VideoForDevelopment.js +1 -1
  59. package/dist/video/VideoForRendering.js +5 -1
  60. package/dist/video/get-current-time.d.ts +5 -0
  61. package/dist/video/get-current-time.js +10 -2
  62. package/dist/video/index.d.ts +3 -2
  63. package/dist/video/index.js +5 -12
  64. package/dist/video/props.d.ts +10 -1
  65. package/dist/wrap-remotion-context.js +6 -2
  66. package/package.json +3 -3
  67. package/.turbo/turbo-lint.log +0 -11
  68. package/.turbo/turbo-test.log +0 -78
@@ -1,5 +1,5 @@
1
- remotion:build: cache hit, replaying output 4a4ef92a893fde14
1
+ remotion:build: cache hit, replaying output 4c8fee7c2477e9d7
2
2
  remotion:build: 
3
- remotion:build: > remotion@3.0.7 build /Users/jonathanburger/remotion/packages/core
3
+ remotion:build: > remotion@3.0.20 build /Users/jonathanburger/remotion/packages/core
4
4
  remotion:build: > tsc -d
5
5
  remotion:build: 
@@ -19,6 +19,6 @@ const AbsoluteFill = (props) => {
19
19
  ...style,
20
20
  };
21
21
  }, [style]);
22
- return (0, jsx_runtime_1.jsx)("div", { style: actualStyle, ...other }, void 0);
22
+ return (0, jsx_runtime_1.jsx)("div", { style: actualStyle, ...other });
23
23
  };
24
24
  exports.AbsoluteFill = AbsoluteFill;
@@ -21,5 +21,5 @@ declare type CompositionProps<T> = StillProps<T> & {
21
21
  fps: number;
22
22
  durationInFrames: number;
23
23
  };
24
- export declare const Composition: <T>({ width, height, fps, durationInFrames, id, defaultProps, ...compProps }: CompositionProps<T>) => null;
24
+ export declare const Composition: <T>({ width, height, fps, durationInFrames, id, defaultProps, ...compProps }: CompositionProps<T>) => React.ReactPortal | null;
25
25
  export {};
@@ -3,10 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Composition = exports.Folder = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
+ const react_dom_1 = require("react-dom");
6
7
  const CompositionManager_1 = require("./CompositionManager");
8
+ const input_props_1 = require("./config/input-props");
9
+ const delay_render_1 = require("./delay-render");
10
+ const get_environment_1 = require("./get-environment");
11
+ const loading_indicator_1 = require("./loading-indicator");
7
12
  const nonce_1 = require("./nonce");
13
+ const portal_node_1 = require("./portal-node");
8
14
  const truthy_1 = require("./truthy");
9
15
  const use_lazy_component_1 = require("./use-lazy-component");
16
+ const use_video_1 = require("./use-video");
10
17
  const validate_composition_id_1 = require("./validation/validate-composition-id");
11
18
  const validate_dimensions_1 = require("./validation/validate-dimensions");
12
19
  const validate_duration_in_frames_1 = require("./validation/validate-duration-in-frames");
@@ -34,11 +41,19 @@ const Folder = ({ name, children, }) => {
34
41
  unregisterFolder(name, parentName);
35
42
  };
36
43
  }, [name, parent.folderName, parentName, registerFolder, unregisterFolder]);
37
- return ((0, jsx_runtime_1.jsx)(FolderContext.Provider, { value: value, children: children }, void 0));
44
+ return ((0, jsx_runtime_1.jsx)(FolderContext.Provider, { value: value, children: children }));
38
45
  };
39
46
  exports.Folder = Folder;
47
+ const Fallback = () => {
48
+ (0, react_1.useEffect)(() => {
49
+ const fallback = (0, delay_render_1.delayRender)('Waiting for Root component to unsuspend');
50
+ return () => (0, delay_render_1.continueRender)(fallback);
51
+ }, []);
52
+ return null;
53
+ };
40
54
  const Composition = ({ width, height, fps, durationInFrames, id, defaultProps, ...compProps }) => {
41
55
  const { registerComposition, unregisterComposition } = (0, react_1.useContext)(CompositionManager_1.CompositionManager);
56
+ const video = (0, use_video_1.useVideo)();
42
57
  const lazy = (0, use_lazy_component_1.useLazyComponent)(compProps);
43
58
  const nonce = (0, nonce_1.useNonce)();
44
59
  const { folderName, parentName } = (0, react_1.useContext)(FolderContext);
@@ -81,6 +96,20 @@ const Composition = ({ width, height, fps, durationInFrames, id, defaultProps, .
81
96
  nonce,
82
97
  parentName,
83
98
  ]);
99
+ if ((0, get_environment_1.getRemotionEnvironment)() === 'preview' &&
100
+ video &&
101
+ video.component === lazy) {
102
+ const Comp = lazy;
103
+ const inputProps = (0, input_props_1.getInputProps)();
104
+ return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)(loading_indicator_1.Loading, {}), children: (0, jsx_runtime_1.jsx)(Comp, { ...defaultProps, ...inputProps }) }), (0, portal_node_1.portalNode)());
105
+ }
106
+ if ((0, get_environment_1.getRemotionEnvironment)() === 'rendering' &&
107
+ video &&
108
+ video.component === lazy) {
109
+ const Comp = lazy;
110
+ const inputProps = (0, input_props_1.getInputProps)();
111
+ return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)(Fallback, {}), children: (0, jsx_runtime_1.jsx)(Comp, { ...defaultProps, ...inputProps }) }), (0, portal_node_1.portalNode)());
112
+ }
84
113
  return null;
85
114
  };
86
115
  exports.Composition = Composition;
@@ -12,7 +12,7 @@ export declare type TComposition<T = unknown> = {
12
12
  nonce: number;
13
13
  };
14
14
  export declare type TCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames' | 'defaultProps'>;
15
- export declare type SmallTCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames'>;
15
+ export declare type SmallTCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames'> & Partial<Pick<TComposition, 'defaultProps'>>;
16
16
  declare type EnhancedTSequenceData = {
17
17
  type: 'sequence';
18
18
  } | {
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -139,6 +143,6 @@ const CompositionManagerProvider = ({ children }) => {
139
143
  unregisterFolder,
140
144
  folders,
141
145
  ]);
142
- return ((0, jsx_runtime_1.jsx)(exports.CompositionManager.Provider, { value: contextValue, children: children }, void 0));
146
+ return ((0, jsx_runtime_1.jsx)(exports.CompositionManager.Provider, { value: contextValue, children: children }));
143
147
  };
144
148
  exports.CompositionManagerProvider = CompositionManagerProvider;
package/dist/IFrame.js CHANGED
@@ -19,6 +19,6 @@ const IFrameRefForwarding = ({ onLoad, onError, ...props }, ref) => {
19
19
  console.error('Error loading iframe:', e, 'Handle the event using the onError() prop to make this message disappear.');
20
20
  }
21
21
  }, [handle, onError]);
22
- return (0, jsx_runtime_1.jsx)("iframe", { ...props, ref: ref, onError: didGetError, onLoad: didLoad }, void 0);
22
+ return (0, jsx_runtime_1.jsx)("iframe", { ...props, ref: ref, onError: didGetError, onLoad: didLoad });
23
23
  };
24
24
  exports.IFrame = (0, react_1.forwardRef)(IFrameRefForwarding);
package/dist/Img.js CHANGED
@@ -4,34 +4,39 @@ exports.Img = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const delay_render_1 = require("./delay-render");
7
- const ImgRefForwarding = ({ onLoad, onError, ...props }, ref) => {
8
- const [handle] = (0, react_1.useState)(() => (0, delay_render_1.delayRender)('Loading <Img> with src=' + props.src));
9
- (0, react_1.useEffect)(() => {
10
- if (ref &&
11
- ref.current.complete) {
12
- (0, delay_render_1.continueRender)(handle);
13
- }
14
- }, [handle, ref]);
15
- const didLoad = (0, react_1.useCallback)((e) => {
16
- (0, delay_render_1.continueRender)(handle);
17
- onLoad === null || onLoad === void 0 ? void 0 : onLoad(e);
18
- }, [handle, onLoad]);
7
+ const ImgRefForwarding = ({ onError, ...props }, ref) => {
8
+ const imageRef = (0, react_1.useRef)(null);
9
+ (0, react_1.useImperativeHandle)(ref, () => {
10
+ return imageRef.current;
11
+ });
19
12
  const didGetError = (0, react_1.useCallback)((e) => {
20
- (0, delay_render_1.continueRender)(handle);
13
+ var _a;
21
14
  if (onError) {
22
15
  onError(e);
23
16
  }
24
17
  else {
25
- console.error('Error loading image:', e, 'Handle the event using the onError() prop to make this message disappear.');
18
+ console.error('Error loading image with src:', (_a = imageRef.current) === null || _a === void 0 ? void 0 : _a.src, e, 'Handle the event using the onError() prop to make this message disappear.');
19
+ }
20
+ }, [onError]);
21
+ // If image source switches, make new handle
22
+ (0, react_1.useLayoutEffect)(() => {
23
+ const newHandle = (0, delay_render_1.delayRender)('Loading <Img> with src=' + props.src);
24
+ const { current } = imageRef;
25
+ const didLoad = () => {
26
+ (0, delay_render_1.continueRender)(newHandle);
27
+ };
28
+ if (current === null || current === void 0 ? void 0 : current.complete) {
29
+ (0, delay_render_1.continueRender)(newHandle);
30
+ }
31
+ else {
32
+ current === null || current === void 0 ? void 0 : current.addEventListener('load', didLoad, { once: true });
26
33
  }
27
- }, [handle, onError]);
28
- (0, react_1.useEffect)(() => {
29
- console.log('mounting', props.src);
34
+ // If tag gets unmounted, clear pending handles because image is not going to load
30
35
  return () => {
31
- (0, delay_render_1.continueRender)(handle);
32
- console.log('unmounting', props.src);
36
+ current === null || current === void 0 ? void 0 : current.removeEventListener('load', didLoad);
37
+ (0, delay_render_1.continueRender)(newHandle);
33
38
  };
34
- }, []);
35
- return (0, jsx_runtime_1.jsx)("img", { ...props, ref: ref, onLoad: didLoad, onError: didGetError }, void 0);
39
+ }, [props.src]);
40
+ return (0, jsx_runtime_1.jsx)("img", { ...props, ref: imageRef, onError: didGetError });
36
41
  };
37
42
  exports.Img = (0, react_1.forwardRef)(ImgRefForwarding);
@@ -65,6 +65,6 @@ const RemotionRoot = ({ children }) => {
65
65
  // In the preview, which is mostly played on Desktop, we opt out of the autoplay policy fix as described in https://github.com/remotion-dev/remotion/pull/554, as it mostly applies to mobile.
66
66
  , {
67
67
  // In the preview, which is mostly played on Desktop, we opt out of the autoplay policy fix as described in https://github.com/remotion-dev/remotion/pull/554, as it mostly applies to mobile.
68
- numberOfAudioTags: 0, children: children }, void 0) }, void 0) }, void 0) }, void 0) }, void 0));
68
+ numberOfAudioTags: 0, children: children }) }) }) }) }));
69
69
  };
70
70
  exports.RemotionRoot = RemotionRoot;
package/dist/Still.js CHANGED
@@ -4,6 +4,6 @@ exports.Still = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const Composition_1 = require("./Composition");
6
6
  const Still = (props) => {
7
- return (0, jsx_runtime_1.jsx)(Composition_1.Composition, { fps: 1, durationInFrames: 1, ...props }, void 0);
7
+ return (0, jsx_runtime_1.jsx)(Composition_1.Composition, { fps: 1, durationInFrames: 1, ...props });
8
8
  };
9
9
  exports.Still = Still;
@@ -21,12 +21,12 @@ const AudioRefForwardingFunction = (props, ref) => {
21
21
  (0, validate_start_from_props_1.validateStartFromProps)(startFrom, endAt);
22
22
  const startFromFrameNo = startFrom !== null && startFrom !== void 0 ? startFrom : 0;
23
23
  const endAtFrameNo = endAt !== null && endAt !== void 0 ? endAt : Infinity;
24
- return ((0, jsx_runtime_1.jsx)(sequencing_1.Sequence, { layout: "none", from: 0 - startFromFrameNo, showInTimeline: false, durationInFrames: endAtFrameNo, children: (0, jsx_runtime_1.jsx)(exports.Audio, { ...otherProps, ref: ref }, void 0) }, void 0));
24
+ return ((0, jsx_runtime_1.jsx)(sequencing_1.Sequence, { layout: "none", from: 0 - startFromFrameNo, showInTimeline: false, durationInFrames: endAtFrameNo, children: (0, jsx_runtime_1.jsx)(exports.Audio, { ...otherProps, ref: ref }) }));
25
25
  }
26
26
  (0, validate_media_props_1.validateMediaProps)(props, 'Audio');
27
27
  if ((0, get_environment_1.getRemotionEnvironment)() === 'rendering') {
28
- return (0, jsx_runtime_1.jsx)(AudioForRendering_1.AudioForRendering, { ...props, ref: ref, onError: onError }, void 0);
28
+ return (0, jsx_runtime_1.jsx)(AudioForRendering_1.AudioForRendering, { ...props, ref: ref, onError: onError });
29
29
  }
30
- return ((0, jsx_runtime_1.jsx)(AudioForDevelopment_1.AudioForDevelopment, { shouldPreMountAudioTags: audioContext !== null && audioContext.numberOfAudioTags > 0, ...props, ref: ref, onError: onError }, void 0));
30
+ return ((0, jsx_runtime_1.jsx)(AudioForDevelopment_1.AudioForDevelopment, { shouldPreMountAudioTags: audioContext !== null && audioContext.numberOfAudioTags > 0, ...props, ref: ref, onError: onError }));
31
31
  };
32
32
  exports.Audio = (0, react_1.forwardRef)(AudioRefForwardingFunction);
@@ -53,6 +53,6 @@ const AudioForDevelopmentForwardRefFunction = (props, ref) => {
53
53
  if (initialShouldPreMountAudioElements) {
54
54
  return null;
55
55
  }
56
- return (0, jsx_runtime_1.jsx)("audio", { ref: audioRef, ...propsToPass }, void 0);
56
+ return (0, jsx_runtime_1.jsx)("audio", { ref: audioRef, ...propsToPass });
57
57
  };
58
58
  exports.AudioForDevelopment = (0, react_1.forwardRef)(AudioForDevelopmentForwardRefFunction);
@@ -63,6 +63,6 @@ const AudioForRenderingRefForwardingFunction = (props, ref) => {
63
63
  playbackRate,
64
64
  props.playbackRate,
65
65
  ]);
66
- return (0, jsx_runtime_1.jsx)("audio", { ref: audioRef, ...nativeProps }, void 0);
66
+ return (0, jsx_runtime_1.jsx)("audio", { ref: audioRef, ...nativeProps });
67
67
  };
68
68
  exports.AudioForRendering = (0, react_1.forwardRef)(AudioForRenderingRefForwardingFunction);
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -114,7 +118,7 @@ const SharedAudioContextProvider = ({ children, numberOfAudioTags }) => {
114
118
  throw new TypeError('Expected audio data to be there');
115
119
  }
116
120
  return (0, jsx_runtime_1.jsx)("audio", { ref: ref, ...data.props }, id);
117
- }), children] }, void 0));
121
+ }), children] }));
118
122
  };
119
123
  exports.SharedAudioContextProvider = SharedAudioContextProvider;
120
124
  const useSharedAudio = (aud) => {
@@ -0,0 +1,2 @@
1
+ export declare const getBundleOutDir: () => string | null;
2
+ export declare const setBundleOutDir: (path: string) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setBundleOutDir = exports.getBundleOutDir = void 0;
4
+ let bundleOutDir = null;
5
+ const getBundleOutDir = () => {
6
+ return bundleOutDir;
7
+ };
8
+ exports.getBundleOutDir = getBundleOutDir;
9
+ const setBundleOutDir = (path) => {
10
+ bundleOutDir = path;
11
+ };
12
+ exports.setBundleOutDir = setBundleOutDir;
@@ -4,7 +4,7 @@ export declare const getChromiumDisableWebSecurity: () => boolean;
4
4
  export declare const setChromiumDisableWebSecurity: (should: boolean) => void;
5
5
  export declare const getIgnoreCertificateErrors: () => boolean;
6
6
  export declare const setChromiumIgnoreCertificateErrors: (should: boolean) => void;
7
- export declare const getChromiumOpenGlRenderer: () => "angle" | "egl" | "swiftshader" | null;
7
+ export declare const getChromiumOpenGlRenderer: () => "swangle" | "angle" | "egl" | "swiftshader" | null;
8
8
  export declare const setChromiumOpenGlRenderer: (renderer: OpenGlRenderer) => void;
9
9
  export declare const getChromiumHeadlessMode: () => boolean;
10
10
  export declare const setChromiumHeadlessMode: (should: boolean) => void;
@@ -0,0 +1,2 @@
1
+ export declare const setEveryNthFrame: (frame: number) => void;
2
+ export declare const getEveryNthFrame: () => number;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEveryNthFrame = exports.setEveryNthFrame = void 0;
4
+ const validate_every_nth_frame_1 = require("../validation/validate-every-nth-frame");
5
+ let everyNthFrame = 1;
6
+ const setEveryNthFrame = (frame) => {
7
+ (0, validate_every_nth_frame_1.validateEveryNthFrame)(frame);
8
+ everyNthFrame = frame;
9
+ };
10
+ exports.setEveryNthFrame = setEveryNthFrame;
11
+ const getEveryNthFrame = () => everyNthFrame;
12
+ exports.getEveryNthFrame = getEveryNthFrame;
@@ -1,3 +1,5 @@
1
1
  export declare type FfmpegExecutable = string | null;
2
2
  export declare const setFfmpegExecutable: (ffmpegPath: FfmpegExecutable) => void;
3
3
  export declare const getCustomFfmpegExecutable: () => FfmpegExecutable;
4
+ export declare const setFfprobeExecutable: (ffprobePath: FfmpegExecutable) => void;
5
+ export declare const getCustomFfprobeExecutable: () => FfmpegExecutable;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCustomFfmpegExecutable = exports.setFfmpegExecutable = void 0;
3
+ exports.getCustomFfprobeExecutable = exports.setFfprobeExecutable = exports.getCustomFfmpegExecutable = exports.setFfmpegExecutable = void 0;
4
4
  let currentFfmpegExecutablePath = null;
5
+ let currentFfprobeExecutablePath = null;
5
6
  const setFfmpegExecutable = (ffmpegPath) => {
6
7
  currentFfmpegExecutablePath = ffmpegPath;
7
8
  };
@@ -10,3 +11,11 @@ const getCustomFfmpegExecutable = () => {
10
11
  return currentFfmpegExecutablePath;
11
12
  };
12
13
  exports.getCustomFfmpegExecutable = getCustomFfmpegExecutable;
14
+ const setFfprobeExecutable = (ffprobePath) => {
15
+ currentFfprobeExecutablePath = ffprobePath;
16
+ };
17
+ exports.setFfprobeExecutable = setFfprobeExecutable;
18
+ const getCustomFfprobeExecutable = () => {
19
+ return currentFfprobeExecutablePath;
20
+ };
21
+ exports.getCustomFfprobeExecutable = getCustomFfprobeExecutable;
@@ -73,10 +73,10 @@ export declare const Config: {
73
73
  */
74
74
  readonly setChromiumHeadlessMode: (should: boolean) => void;
75
75
  /**
76
- * Set the OpenGL rendering backend for Chrome. Possible values: 'egl', 'angle' and 'swiftshader'.
77
- * Default: 'swiftshader' in Lambda, 'angle' elsewhere.
76
+ * Set the OpenGL rendering backend for Chrome. Possible values: 'egl', 'angle', 'swiftshader' and 'swangle'.
77
+ * Default: 'swangle' in Lambda, null elsewhere.
78
78
  */
79
- readonly setChromiumOpenGlRenderer: (renderer: "angle" | "egl" | "swiftshader") => void;
79
+ readonly setChromiumOpenGlRenderer: (renderer: "swangle" | "angle" | "egl" | "swiftshader") => void;
80
80
  };
81
81
  readonly Rendering: {
82
82
  /**
@@ -112,6 +112,11 @@ export declare const Config: {
112
112
  * Default: null, which will use ffmpeg available in PATH.
113
113
  */
114
114
  readonly setFfmpegExecutable: (ffmpegPath: FfmpegExecutable) => void;
115
+ /**
116
+ * Specify local ffprobe executable.
117
+ * Default: null, which will use ffprobe available in PATH.
118
+ */
119
+ readonly setFfprobeExecutable: (ffprobePath: FfmpegExecutable) => void;
115
120
  /**
116
121
  * Scales the output dimensions by a factor.
117
122
  * Default: 1.
@@ -87,8 +87,8 @@ exports.Config = {
87
87
  */
88
88
  setChromiumHeadlessMode: chromium_flags_1.setChromiumHeadlessMode,
89
89
  /**
90
- * Set the OpenGL rendering backend for Chrome. Possible values: 'egl', 'angle' and 'swiftshader'.
91
- * Default: 'swiftshader' in Lambda, 'angle' elsewhere.
90
+ * Set the OpenGL rendering backend for Chrome. Possible values: 'egl', 'angle', 'swiftshader' and 'swangle'.
91
+ * Default: 'swangle' in Lambda, null elsewhere.
92
92
  */
93
93
  setChromiumOpenGlRenderer: chromium_flags_1.setChromiumOpenGlRenderer,
94
94
  },
@@ -126,6 +126,11 @@ exports.Config = {
126
126
  * Default: null, which will use ffmpeg available in PATH.
127
127
  */
128
128
  setFfmpegExecutable: ffmpeg_executable_1.setFfmpegExecutable,
129
+ /**
130
+ * Specify local ffprobe executable.
131
+ * Default: null, which will use ffprobe available in PATH.
132
+ */
133
+ setFfprobeExecutable: ffmpeg_executable_1.setFfprobeExecutable,
129
134
  /**
130
135
  * Scales the output dimensions by a factor.
131
136
  * Default: 1.
@@ -0,0 +1,3 @@
1
+ export declare type Loop = number | null;
2
+ export declare const setLoop: (newLoop: Loop) => void;
3
+ export declare const getLoop: () => Loop;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLoop = exports.setLoop = void 0;
4
+ let currentLoop = null;
5
+ const setLoop = (newLoop) => {
6
+ if (typeof newLoop !== 'number') {
7
+ throw new Error('--loop flag must be a number.');
8
+ }
9
+ currentLoop = newLoop;
10
+ };
11
+ exports.setLoop = setLoop;
12
+ const getLoop = () => {
13
+ return currentLoop;
14
+ };
15
+ exports.getLoop = getLoop;
@@ -1,11 +1,5 @@
1
1
  import { Configuration } from 'webpack';
2
- export declare type WebpackConfiguration = Configuration & {
3
- devServer: {
4
- contentBase: string;
5
- historyApiFallback: boolean;
6
- hot: true;
7
- };
8
- };
2
+ export declare type WebpackConfiguration = Configuration;
9
3
  export declare type WebpackOverrideFn = (currentConfiguration: WebpackConfiguration) => WebpackConfiguration;
10
4
  export declare const defaultOverrideFunction: WebpackOverrideFn;
11
5
  export declare const getWebpackOverrideFn: () => WebpackOverrideFn;
@@ -0,0 +1,2 @@
1
+ export declare const getPublicPath: () => string | null;
2
+ export declare const setPublicPath: (path: string) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setPublicPath = exports.getPublicPath = void 0;
4
+ let publicPath = null;
5
+ const getPublicPath = () => {
6
+ return publicPath;
7
+ };
8
+ exports.getPublicPath = getPublicPath;
9
+ const setPublicPath = (path) => {
10
+ publicPath = path;
11
+ };
12
+ exports.setPublicPath = setPublicPath;
@@ -5,7 +5,7 @@ export declare const DELAY_RENDER_CALLSTACK_TOKEN = "The delayRender was called:
5
5
  * @returns {number} An identifier to be passed to continueRender().
6
6
  * @link https://www.remotion.dev/docs/delay-render
7
7
  */
8
- export declare const delayRender: (label?: string | undefined) => number;
8
+ export declare const delayRender: (label?: string) => number;
9
9
  /**
10
10
  * Unblock a render that has been blocked by delayRender()
11
11
  * @param handle The return value of delayRender().
package/dist/freeze.js CHANGED
@@ -29,6 +29,6 @@ const Freeze = ({ frame, children }) => {
29
29
  frame,
30
30
  };
31
31
  }, [context, frame]);
32
- return ((0, jsx_runtime_1.jsx)(timeline_position_state_1.TimelineContext.Provider, { value: value, children: (0, jsx_runtime_1.jsx)(sequencing_1.SequenceContext.Provider, { value: null, children: children }, void 0) }, void 0));
32
+ return ((0, jsx_runtime_1.jsx)(timeline_position_state_1.TimelineContext.Provider, { value: value, children: (0, jsx_runtime_1.jsx)(sequencing_1.SequenceContext.Provider, { value: null, children: children }) }));
33
33
  };
34
34
  exports.Freeze = Freeze;
package/dist/index.d.ts CHANGED
@@ -11,13 +11,16 @@ declare global {
11
11
  remotion_cwd: string;
12
12
  remotion_setFrame: (frame: number) => void;
13
13
  remotion_initialFrame: number;
14
+ remotion_proxyPort: number;
14
15
  remotion_puppeteerTimeout: number;
15
16
  remotion_inputProps: string;
16
17
  remotion_envVariables: string;
17
18
  remotion_collectAssets: () => TAsset[];
18
19
  remotion_isPlayer: boolean;
19
20
  remotion_imported: boolean;
20
- siteVersion: '2';
21
+ remotion_isBuilding: undefined | (() => void);
22
+ remotion_finishedBuilding: undefined | (() => void);
23
+ siteVersion: '3';
21
24
  }
22
25
  }
23
26
  export declare type BundleState = {
@@ -51,7 +54,7 @@ export * from './spring';
51
54
  export { staticFile } from './static-file';
52
55
  export * from './Still';
53
56
  export type { PlayableMediaTag } from './timeline-position-state';
54
- export * from './use-frame';
57
+ export { useCurrentFrame } from './use-frame';
55
58
  export * from './use-video-config';
56
59
  export * from './video';
57
60
  export * from './video-config';
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.staticFile = exports.Series = exports.Sequence = exports.registerRoot = exports.Loop = exports.interpolateColors = exports.getInputProps = void 0;
17
+ exports.useCurrentFrame = exports.staticFile = exports.Series = exports.Sequence = exports.registerRoot = exports.Loop = exports.interpolateColors = exports.getInputProps = void 0;
14
18
  require("./asset-types");
15
19
  const multiple_versions_warning_1 = require("./multiple-versions-warning");
16
20
  (0, multiple_versions_warning_1.checkMultipleRemotionVersions)();
@@ -42,7 +46,8 @@ __exportStar(require("./spring"), exports);
42
46
  var static_file_1 = require("./static-file");
43
47
  Object.defineProperty(exports, "staticFile", { enumerable: true, get: function () { return static_file_1.staticFile; } });
44
48
  __exportStar(require("./Still"), exports);
45
- __exportStar(require("./use-frame"), exports);
49
+ var use_frame_1 = require("./use-frame");
50
+ Object.defineProperty(exports, "useCurrentFrame", { enumerable: true, get: function () { return use_frame_1.useCurrentFrame; } });
46
51
  __exportStar(require("./use-video-config"), exports);
47
52
  __exportStar(require("./video"), exports);
48
53
  __exportStar(require("./video-config"), exports);
@@ -49,6 +49,7 @@ export declare const Internals: {
49
49
  getRoot: () => import("react").FC<{}> | null;
50
50
  getBrowserExecutable: () => import("./config/browser-executable").BrowserExecutable;
51
51
  getCustomFfmpegExecutable: () => import("./config/ffmpeg-executable").FfmpegExecutable;
52
+ getCustomFfprobeExecutable: () => import("./config/ffmpeg-executable").FfmpegExecutable;
52
53
  getPixelFormat: () => "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
53
54
  getConcurrency: () => number | null;
54
55
  getRange: () => import("./config/frame-range").FrameRange | null;
@@ -93,9 +94,7 @@ export declare const Internals: {
93
94
  RemotionContextProvider: (props: import("./wrap-remotion-context").RemotionContextProviderProps) => JSX.Element;
94
95
  CSSUtils: typeof CSSUtils;
95
96
  setupEnvVariables: () => void;
96
- setupInitialFrame: () => void;
97
97
  ENV_VARIABLES_ENV_NAME: "ENV_VARIABLES";
98
- INITIAL_FRAME_LOCAL_STORAGE_KEY: string;
99
98
  getDotEnvLocation: () => string | null;
100
99
  getServerPort: () => number | undefined;
101
100
  MediaVolumeContext: import("react").Context<MediaVolumeContextValue>;
@@ -138,14 +137,17 @@ export declare const Internals: {
138
137
  getCurrentPuppeteerTimeout: () => number;
139
138
  getChromiumDisableWebSecurity: () => boolean;
140
139
  getIgnoreCertificateErrors: () => boolean;
141
- validateOpenGlRenderer: (option: "angle" | "egl" | "swiftshader" | null) => "angle" | "egl" | "swiftshader" | null;
142
- getChromiumOpenGlRenderer: () => "angle" | "egl" | "swiftshader" | null;
140
+ validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | null) => "swangle" | "angle" | "egl" | "swiftshader" | null;
141
+ getChromiumOpenGlRenderer: () => "swangle" | "angle" | "egl" | "swiftshader" | null;
143
142
  getChromiumHeadlessMode: () => boolean;
144
- DEFAULT_OPENGL_RENDERER: "angle" | "egl" | "swiftshader" | null;
143
+ DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | null;
145
144
  getPreviewDomElement: () => HTMLElement | null;
146
145
  compositionsRef: import("react").RefObject<{
147
146
  getCompositions: () => TCompMetadata[];
148
147
  }>;
149
148
  DELAY_RENDER_CALLSTACK_TOKEN: string;
149
+ useAbsoluteCurrentFrame: () => number;
150
+ portalNode: () => HTMLElement;
151
+ waitForRoot: (fn: (comp: import("react").FC<{}>) => void) => () => void;
150
152
  };
151
153
  export type { TComposition, Timeline, TCompMetadata, TSequence, WebpackOverrideFn, TAsset, RenderAssetInfo, TimelineContextValue, SetTimelineContextValue, TimelineInOutContextValue, SetTimelineInOutContextValue, CompProps, CompositionManagerContext, MediaVolumeContextValue, SetMediaVolumeContextValue, RemotionEnvironment, ProResProfile, OpenGlRenderer, };