remotion 4.0.136 → 4.0.138
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/cjs/Composition.js +3 -3
- package/dist/cjs/CompositionManager.js +1 -1
- package/dist/cjs/RemotionRoot.js +2 -2
- package/dist/cjs/ResolveCompositionConfig.js +1 -1
- package/dist/cjs/Sequence.js +2 -2
- package/dist/cjs/audio/Audio.js +1 -1
- package/dist/cjs/audio/AudioForPreview.js +2 -2
- package/dist/cjs/audio/AudioForRendering.js +2 -2
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/internals.d.ts +1 -1
- package/dist/cjs/no-react.d.ts +2 -2
- package/dist/cjs/series/index.js +1 -1
- package/dist/cjs/use-media-in-timeline.js +2 -2
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/video/OffthreadVideo.js +1 -1
- package/dist/cjs/video/OffthreadVideoForRendering.js +3 -3
- package/dist/cjs/video/Video.js +2 -2
- package/dist/cjs/video/VideoForPreview.js +2 -2
- package/dist/cjs/video/VideoForRendering.js +2 -2
- package/dist/cjs/video/index.d.ts +1 -1
- package/dist/cjs/wrap-remotion-context.js +3 -3
- package/dist/esm/index.mjs +82 -82
- package/dist/esm/version.mjs +1 -1
- package/package.json +4 -4
- package/dist/cjs/audio/AudioForDevelopment.d.ts +0 -17
- package/dist/cjs/audio/AudioForDevelopment.js +0 -117
- package/dist/cjs/get-timeline-clip-name.d.ts +0 -1
- package/dist/cjs/get-timeline-clip-name.js +0 -25
- package/dist/cjs/video/VideoForDevelopment.d.ts +0 -15
- package/dist/cjs/video/VideoForDevelopment.js +0 -149
package/dist/cjs/Composition.js
CHANGED
|
@@ -7,15 +7,15 @@ const react_dom_1 = require("react-dom");
|
|
|
7
7
|
const AbsoluteFill_js_1 = require("./AbsoluteFill.js");
|
|
8
8
|
const CanUseRemotionHooks_js_1 = require("./CanUseRemotionHooks.js");
|
|
9
9
|
const CompositionManagerContext_js_1 = require("./CompositionManagerContext.js");
|
|
10
|
-
const delay_render_js_1 = require("./delay-render.js");
|
|
11
10
|
const Folder_js_1 = require("./Folder.js");
|
|
11
|
+
const NativeLayers_js_1 = require("./NativeLayers.js");
|
|
12
|
+
const ResolveCompositionConfig_js_1 = require("./ResolveCompositionConfig.js");
|
|
13
|
+
const delay_render_js_1 = require("./delay-render.js");
|
|
12
14
|
const get_remotion_environment_js_1 = require("./get-remotion-environment.js");
|
|
13
15
|
const is_player_js_1 = require("./is-player.js");
|
|
14
16
|
const loading_indicator_js_1 = require("./loading-indicator.js");
|
|
15
|
-
const NativeLayers_js_1 = require("./NativeLayers.js");
|
|
16
17
|
const nonce_js_1 = require("./nonce.js");
|
|
17
18
|
const portal_node_js_1 = require("./portal-node.js");
|
|
18
|
-
const ResolveCompositionConfig_js_1 = require("./ResolveCompositionConfig.js");
|
|
19
19
|
const use_lazy_component_js_1 = require("./use-lazy-component.js");
|
|
20
20
|
const use_video_js_1 = require("./use-video.js");
|
|
21
21
|
const validate_composition_id_js_1 = require("./validation/validate-composition-id.js");
|
|
@@ -26,11 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.CompositionManagerProvider = exports.compositionsRef = void 0;
|
|
27
27
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
28
28
|
const react_1 = __importStar(require("react"));
|
|
29
|
-
const shared_audio_tags_js_1 = require("./audio/shared-audio-tags.js");
|
|
30
29
|
const CompositionManagerContext_js_1 = require("./CompositionManagerContext.js");
|
|
31
30
|
const RenderAssetManager_js_1 = require("./RenderAssetManager.js");
|
|
32
31
|
const ResolveCompositionConfig_js_1 = require("./ResolveCompositionConfig.js");
|
|
33
32
|
const SequenceManager_js_1 = require("./SequenceManager.js");
|
|
33
|
+
const shared_audio_tags_js_1 = require("./audio/shared-audio-tags.js");
|
|
34
34
|
exports.compositionsRef = react_1.default.createRef();
|
|
35
35
|
const CompositionManagerProvider = ({ children, numberOfAudioTags }) => {
|
|
36
36
|
var _a;
|
package/dist/cjs/RemotionRoot.js
CHANGED
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RemotionRoot = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const buffering_js_1 = require("./buffering.js");
|
|
7
6
|
const CompositionManager_js_1 = require("./CompositionManager.js");
|
|
8
|
-
const delay_render_js_1 = require("./delay-render.js");
|
|
9
7
|
const EditorProps_js_1 = require("./EditorProps.js");
|
|
10
8
|
const NativeLayers_js_1 = require("./NativeLayers.js");
|
|
9
|
+
const buffering_js_1 = require("./buffering.js");
|
|
10
|
+
const delay_render_js_1 = require("./delay-render.js");
|
|
11
11
|
const nonce_js_1 = require("./nonce.js");
|
|
12
12
|
const prefetch_state_js_1 = require("./prefetch-state.js");
|
|
13
13
|
const random_js_1 = require("./random.js");
|
|
@@ -4,8 +4,8 @@ exports.useResolvedVideoConfig = exports.ResolveCompositionConfig = exports.need
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const CompositionManagerContext_js_1 = require("./CompositionManagerContext.js");
|
|
7
|
-
const input_props_js_1 = require("./config/input-props.js");
|
|
8
7
|
const EditorProps_js_1 = require("./EditorProps.js");
|
|
8
|
+
const input_props_js_1 = require("./config/input-props.js");
|
|
9
9
|
const get_remotion_environment_js_1 = require("./get-remotion-environment.js");
|
|
10
10
|
const resolve_video_config_js_1 = require("./resolve-video-config.js");
|
|
11
11
|
const validate_dimensions_js_1 = require("./validation/validate-dimensions.js");
|
package/dist/cjs/Sequence.js
CHANGED
|
@@ -4,10 +4,10 @@ exports.Sequence = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const AbsoluteFill_js_1 = require("./AbsoluteFill.js");
|
|
7
|
-
const get_remotion_environment_js_1 = require("./get-remotion-environment.js");
|
|
8
|
-
const nonce_js_1 = require("./nonce.js");
|
|
9
7
|
const SequenceContext_js_1 = require("./SequenceContext.js");
|
|
10
8
|
const SequenceManager_js_1 = require("./SequenceManager.js");
|
|
9
|
+
const get_remotion_environment_js_1 = require("./get-remotion-environment.js");
|
|
10
|
+
const nonce_js_1 = require("./nonce.js");
|
|
11
11
|
const timeline_position_state_js_1 = require("./timeline-position-state.js");
|
|
12
12
|
const use_video_config_js_1 = require("./use-video-config.js");
|
|
13
13
|
const SequenceRefForwardingFunction = ({ from = 0, durationInFrames = Infinity, children, name, height, width, showInTimeline = true, loopDisplay, stack, ...other }, ref) => {
|
package/dist/cjs/audio/Audio.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.Audio = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
+
const Sequence_js_1 = require("../Sequence.js");
|
|
7
8
|
const absolute_src_js_1 = require("../absolute-src.js");
|
|
8
9
|
const calculate_loop_js_1 = require("../calculate-loop.js");
|
|
9
10
|
const cancel_render_js_1 = require("../cancel-render.js");
|
|
@@ -11,7 +12,6 @@ const enable_sequence_stack_traces_js_1 = require("../enable-sequence-stack-trac
|
|
|
11
12
|
const get_remotion_environment_js_1 = require("../get-remotion-environment.js");
|
|
12
13
|
const index_js_1 = require("../loop/index.js");
|
|
13
14
|
const prefetch_js_1 = require("../prefetch.js");
|
|
14
|
-
const Sequence_js_1 = require("../Sequence.js");
|
|
15
15
|
const use_video_config_js_1 = require("../use-video-config.js");
|
|
16
16
|
const validate_media_props_js_1 = require("../validate-media-props.js");
|
|
17
17
|
const validate_start_from_props_js_1 = require("../validate-start-from-props.js");
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AudioForPreview = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const prefetch_js_1 = require("../prefetch.js");
|
|
7
|
-
const random_js_1 = require("../random.js");
|
|
8
6
|
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
9
7
|
const SequenceManager_js_1 = require("../SequenceManager.js");
|
|
8
|
+
const prefetch_js_1 = require("../prefetch.js");
|
|
9
|
+
const random_js_1 = require("../random.js");
|
|
10
10
|
const use_media_buffering_js_1 = require("../use-media-buffering.js");
|
|
11
11
|
const use_media_in_timeline_js_1 = require("../use-media-in-timeline.js");
|
|
12
12
|
const use_media_playback_js_1 = require("../use-media-playback.js");
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AudioForRendering = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const RenderAssetManager_js_1 = require("../RenderAssetManager.js");
|
|
7
|
+
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
6
8
|
const absolute_src_js_1 = require("../absolute-src.js");
|
|
7
9
|
const delay_render_js_1 = require("../delay-render.js");
|
|
8
10
|
const random_js_1 = require("../random.js");
|
|
9
|
-
const RenderAssetManager_js_1 = require("../RenderAssetManager.js");
|
|
10
|
-
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
11
11
|
const timeline_position_state_js_1 = require("../timeline-position-state.js");
|
|
12
12
|
const use_current_frame_js_1 = require("../use-current-frame.js");
|
|
13
13
|
const volume_prop_js_1 = require("../volume-prop.js");
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="react" />
|
|
2
3
|
import './asset-types.js';
|
|
3
4
|
import type { Codec } from './codec.js';
|
|
4
5
|
import type { TRenderAsset } from './CompositionManager.js';
|
|
@@ -25,6 +26,7 @@ declare global {
|
|
|
25
26
|
remotion_setBundleMode: (bundleMode: BundleState) => void;
|
|
26
27
|
remotion_staticBase: string;
|
|
27
28
|
remotion_staticFiles: StaticFile[];
|
|
29
|
+
remotion_publicPath: string;
|
|
28
30
|
remotion_publicFolderExists: string | null;
|
|
29
31
|
remotion_editorName: string | null;
|
|
30
32
|
remotion_numberOfAudioTags: number;
|
package/dist/cjs/internals.d.ts
CHANGED
|
@@ -161,4 +161,4 @@ export declare const Internals: {
|
|
|
161
161
|
};
|
|
162
162
|
}) => number;
|
|
163
163
|
};
|
|
164
|
-
export type {
|
|
164
|
+
export type { CompositionManagerContext, CompProps, MediaVolumeContextValue, RemotionEnvironment, SerializedJSONWithCustomFields, SetMediaVolumeContextValue, SetTimelineContextValue, TRenderAsset as TAsset, TCompMetadata, TComposition, TimelinePosition as Timeline, TimelineContextValue, TSequence, WatchRemotionStaticFilesPayload, };
|
package/dist/cjs/no-react.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { TRenderAsset } from './CompositionManager';
|
|
2
|
-
export { EasingFunction, ExtrapolateType, interpolate, InterpolateOptions, } from './interpolate';
|
|
3
2
|
export type { ClipRegion } from './NativeLayers';
|
|
4
|
-
export {
|
|
3
|
+
export { EasingFunction, ExtrapolateType, InterpolateOptions, interpolate, } from './interpolate';
|
|
4
|
+
export { RandomSeed, random } from './random.js';
|
|
5
5
|
export type { VideoConfig } from './video-config';
|
|
6
6
|
import { processColor } from './interpolate-colors';
|
|
7
7
|
import { truthy } from './truthy';
|
package/dist/cjs/series/index.js
CHANGED
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Series = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const enable_sequence_stack_traces_js_1 = require("../enable-sequence-stack-traces.js");
|
|
7
6
|
const Sequence_js_1 = require("../Sequence.js");
|
|
7
|
+
const enable_sequence_stack_traces_js_1 = require("../enable-sequence-stack-traces.js");
|
|
8
8
|
const validate_duration_in_frames_js_1 = require("../validation/validate-duration-in-frames.js");
|
|
9
9
|
const flatten_children_js_1 = require("./flatten-children.js");
|
|
10
10
|
const SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMediaInTimeline = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
+
const SequenceContext_js_1 = require("./SequenceContext.js");
|
|
6
|
+
const SequenceManager_js_1 = require("./SequenceManager.js");
|
|
5
7
|
const use_audio_frame_js_1 = require("./audio/use-audio-frame.js");
|
|
6
8
|
const get_asset_file_name_js_1 = require("./get-asset-file-name.js");
|
|
7
9
|
const get_remotion_environment_js_1 = require("./get-remotion-environment.js");
|
|
8
10
|
const nonce_js_1 = require("./nonce.js");
|
|
9
11
|
const play_and_handle_not_allowed_error_js_1 = require("./play-and-handle-not-allowed-error.js");
|
|
10
|
-
const SequenceContext_js_1 = require("./SequenceContext.js");
|
|
11
|
-
const SequenceManager_js_1 = require("./SequenceManager.js");
|
|
12
12
|
const timeline_position_state_js_1 = require("./timeline-position-state.js");
|
|
13
13
|
const use_video_config_js_1 = require("./use-video-config.js");
|
|
14
14
|
const volume_prop_js_1 = require("./volume-prop.js");
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "4.0.
|
|
1
|
+
export declare const VERSION = "4.0.138";
|
package/dist/cjs/version.js
CHANGED
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OffthreadVideo = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const get_remotion_environment_js_1 = require("../get-remotion-environment.js");
|
|
7
6
|
const Sequence_js_1 = require("../Sequence.js");
|
|
7
|
+
const get_remotion_environment_js_1 = require("../get-remotion-environment.js");
|
|
8
8
|
const validate_media_props_js_1 = require("../validate-media-props.js");
|
|
9
9
|
const validate_start_from_props_js_1 = require("../validate-start-from-props.js");
|
|
10
10
|
const OffthreadVideoForRendering_js_1 = require("./OffthreadVideoForRendering.js");
|
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OffthreadVideoForRendering = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const Img_js_1 = require("../Img.js");
|
|
7
|
+
const RenderAssetManager_js_1 = require("../RenderAssetManager.js");
|
|
8
|
+
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
6
9
|
const absolute_src_js_1 = require("../absolute-src.js");
|
|
7
10
|
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
8
11
|
const cancel_render_js_1 = require("../cancel-render.js");
|
|
9
12
|
const default_css_js_1 = require("../default-css.js");
|
|
10
|
-
const Img_js_1 = require("../Img.js");
|
|
11
13
|
const random_js_1 = require("../random.js");
|
|
12
|
-
const RenderAssetManager_js_1 = require("../RenderAssetManager.js");
|
|
13
|
-
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
14
14
|
const timeline_position_state_js_1 = require("../timeline-position-state.js");
|
|
15
15
|
const truthy_js_1 = require("../truthy.js");
|
|
16
16
|
const use_current_frame_js_1 = require("../use-current-frame.js");
|
package/dist/cjs/video/Video.js
CHANGED
|
@@ -4,19 +4,19 @@ exports.Video = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
+
const Sequence_js_1 = require("../Sequence.js");
|
|
7
8
|
const absolute_src_js_1 = require("../absolute-src.js");
|
|
8
9
|
const calculate_loop_js_1 = require("../calculate-loop.js");
|
|
9
10
|
const enable_sequence_stack_traces_js_1 = require("../enable-sequence-stack-traces.js");
|
|
10
11
|
const get_remotion_environment_js_1 = require("../get-remotion-environment.js");
|
|
11
12
|
const index_js_1 = require("../loop/index.js");
|
|
12
13
|
const prefetch_js_1 = require("../prefetch.js");
|
|
13
|
-
const Sequence_js_1 = require("../Sequence.js");
|
|
14
14
|
const use_video_config_js_1 = require("../use-video-config.js");
|
|
15
15
|
const validate_media_props_js_1 = require("../validate-media-props.js");
|
|
16
16
|
const validate_start_from_props_js_1 = require("../validate-start-from-props.js");
|
|
17
|
-
const duration_state_js_1 = require("./duration-state.js");
|
|
18
17
|
const VideoForPreview_js_1 = require("./VideoForPreview.js");
|
|
19
18
|
const VideoForRendering_js_1 = require("./VideoForRendering.js");
|
|
19
|
+
const duration_state_js_1 = require("./duration-state.js");
|
|
20
20
|
const VideoForwardingFunction = (props, ref) => {
|
|
21
21
|
var _a, _b;
|
|
22
22
|
const { startFrom, endAt, name, pauseWhenBuffering, stack, _remotionInternalNativeLoopPassed, showInTimeline, ...otherProps } = props;
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VideoForPreview = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
7
|
-
const prefetch_js_1 = require("../prefetch.js");
|
|
8
6
|
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
9
7
|
const SequenceManager_js_1 = require("../SequenceManager.js");
|
|
8
|
+
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
9
|
+
const prefetch_js_1 = require("../prefetch.js");
|
|
10
10
|
const use_media_buffering_js_1 = require("../use-media-buffering.js");
|
|
11
11
|
const use_media_in_timeline_js_1 = require("../use-media-in-timeline.js");
|
|
12
12
|
const use_media_playback_js_1 = require("../use-media-playback.js");
|
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VideoForRendering = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const RenderAssetManager_js_1 = require("../RenderAssetManager.js");
|
|
7
|
+
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
6
8
|
const absolute_src_js_1 = require("../absolute-src.js");
|
|
7
9
|
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
8
10
|
const delay_render_js_1 = require("../delay-render.js");
|
|
9
11
|
const get_remotion_environment_js_1 = require("../get-remotion-environment.js");
|
|
10
12
|
const is_approximately_the_same_js_1 = require("../is-approximately-the-same.js");
|
|
11
13
|
const random_js_1 = require("../random.js");
|
|
12
|
-
const RenderAssetManager_js_1 = require("../RenderAssetManager.js");
|
|
13
|
-
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
14
14
|
const timeline_position_state_js_1 = require("../timeline-position-state.js");
|
|
15
15
|
const use_current_frame_js_1 = require("../use-current-frame.js");
|
|
16
16
|
const use_unsafe_video_config_js_1 = require("../use-unsafe-video-config.js");
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { OffthreadVideo } from './OffthreadVideo.js';
|
|
2
|
-
export { OffthreadVideoProps as RemotionOffthreadVideoProps, RemotionMainVideoProps, RemotionVideoProps, } from './props.js';
|
|
3
2
|
export { Video } from './Video.js';
|
|
3
|
+
export { RemotionMainVideoProps, OffthreadVideoProps as RemotionOffthreadVideoProps, RemotionVideoProps, } from './props.js';
|
|
@@ -29,16 +29,16 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
29
29
|
// such as in React Three Fiber. All the contexts need to be passed again
|
|
30
30
|
// for them to be useable
|
|
31
31
|
const react_1 = __importStar(require("react"));
|
|
32
|
-
const buffering_js_1 = require("./buffering.js");
|
|
33
32
|
const CanUseRemotionHooks_js_1 = require("./CanUseRemotionHooks.js");
|
|
34
33
|
const CompositionManagerContext_js_1 = require("./CompositionManagerContext.js");
|
|
35
34
|
const NativeLayers_js_1 = require("./NativeLayers.js");
|
|
36
|
-
const nonce_js_1 = require("./nonce.js");
|
|
37
|
-
const prefetch_state_js_1 = require("./prefetch-state.js");
|
|
38
35
|
const RenderAssetManager_js_1 = require("./RenderAssetManager.js");
|
|
39
36
|
const ResolveCompositionConfig_js_1 = require("./ResolveCompositionConfig.js");
|
|
40
37
|
const SequenceContext_js_1 = require("./SequenceContext.js");
|
|
41
38
|
const SequenceManager_js_1 = require("./SequenceManager.js");
|
|
39
|
+
const buffering_js_1 = require("./buffering.js");
|
|
40
|
+
const nonce_js_1 = require("./nonce.js");
|
|
41
|
+
const prefetch_state_js_1 = require("./prefetch-state.js");
|
|
42
42
|
const timeline_position_state_js_1 = require("./timeline-position-state.js");
|
|
43
43
|
function useRemotionContexts() {
|
|
44
44
|
const compositionManagerCtx = react_1.default.useContext(CompositionManagerContext_js_1.CompositionManager);
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { createContext, useState, useMemo, useLayoutEffect, useContext, useEffect, forwardRef,
|
|
1
|
+
import React, { createContext, useState, useMemo, useLayoutEffect, useContext, useEffect, forwardRef, useCallback, useRef, createRef, useImperativeHandle, useReducer, Suspense, Children } from 'react';
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
4
|
|
|
@@ -105,7 +105,7 @@ function truthy(value) {
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
// Automatically generated on publish
|
|
108
|
-
const VERSION = '4.0.
|
|
108
|
+
const VERSION = '4.0.138';
|
|
109
109
|
|
|
110
110
|
const checkMultipleRemotionVersions = () => {
|
|
111
111
|
if (typeof globalThis === 'undefined') {
|
|
@@ -178,25 +178,6 @@ const AbsoluteFillRefForwarding = (props, ref) => {
|
|
|
178
178
|
*/
|
|
179
179
|
const AbsoluteFill = forwardRef(AbsoluteFillRefForwarding);
|
|
180
180
|
|
|
181
|
-
const NonceContext = createContext({
|
|
182
|
-
getNonce: () => 0,
|
|
183
|
-
fastRefreshes: 0,
|
|
184
|
-
});
|
|
185
|
-
const useNonce = () => {
|
|
186
|
-
const context = useContext(NonceContext);
|
|
187
|
-
const [nonce, setNonce] = useState(() => context.getNonce());
|
|
188
|
-
const lastContext = useRef(context);
|
|
189
|
-
// Only if context changes, but not initially
|
|
190
|
-
useEffect(() => {
|
|
191
|
-
if (lastContext.current === context) {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
lastContext.current = context;
|
|
195
|
-
setNonce(context.getNonce);
|
|
196
|
-
}, [context]);
|
|
197
|
-
return nonce;
|
|
198
|
-
};
|
|
199
|
-
|
|
200
181
|
const SequenceContext = createContext(null);
|
|
201
182
|
|
|
202
183
|
const SequenceManager = React.createContext({
|
|
@@ -241,6 +222,25 @@ const SequenceManagerProvider = ({ children }) => {
|
|
|
241
222
|
return (jsx(SequenceManager.Provider, { value: sequenceContext, children: jsx(SequenceVisibilityToggleContext.Provider, { value: hiddenContext, children: children }) }));
|
|
242
223
|
};
|
|
243
224
|
|
|
225
|
+
const NonceContext = createContext({
|
|
226
|
+
getNonce: () => 0,
|
|
227
|
+
fastRefreshes: 0,
|
|
228
|
+
});
|
|
229
|
+
const useNonce = () => {
|
|
230
|
+
const context = useContext(NonceContext);
|
|
231
|
+
const [nonce, setNonce] = useState(() => context.getNonce());
|
|
232
|
+
const lastContext = useRef(context);
|
|
233
|
+
// Only if context changes, but not initially
|
|
234
|
+
useEffect(() => {
|
|
235
|
+
if (lastContext.current === context) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
lastContext.current = context;
|
|
239
|
+
setNonce(context.getNonce);
|
|
240
|
+
}, [context]);
|
|
241
|
+
return nonce;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
244
|
const CompositionManager = createContext({
|
|
245
245
|
compositions: [],
|
|
246
246
|
registerComposition: () => undefined,
|
|
@@ -254,6 +254,31 @@ const CompositionManager = createContext({
|
|
|
254
254
|
setCanvasContent: () => undefined,
|
|
255
255
|
});
|
|
256
256
|
|
|
257
|
+
const EditorPropsContext = createContext({
|
|
258
|
+
props: {},
|
|
259
|
+
updateProps: () => {
|
|
260
|
+
throw new Error('Not implemented');
|
|
261
|
+
},
|
|
262
|
+
});
|
|
263
|
+
const EditorPropsProvider = ({ children }) => {
|
|
264
|
+
const [props, setProps] = React.useState({});
|
|
265
|
+
const updateProps = useCallback(({ defaultProps, id, newProps, }) => {
|
|
266
|
+
setProps((prev) => {
|
|
267
|
+
var _a;
|
|
268
|
+
return {
|
|
269
|
+
...prev,
|
|
270
|
+
[id]: typeof newProps === 'function'
|
|
271
|
+
? newProps((_a = prev[id]) !== null && _a !== void 0 ? _a : defaultProps)
|
|
272
|
+
: newProps,
|
|
273
|
+
};
|
|
274
|
+
});
|
|
275
|
+
}, []);
|
|
276
|
+
const ctx = useMemo(() => {
|
|
277
|
+
return { props, updateProps };
|
|
278
|
+
}, [props, updateProps]);
|
|
279
|
+
return (jsx(EditorPropsContext.Provider, { value: ctx, children: children }));
|
|
280
|
+
};
|
|
281
|
+
|
|
257
282
|
const problematicCharacters = {
|
|
258
283
|
'%3A': ':',
|
|
259
284
|
'%2F': '/',
|
|
@@ -394,31 +419,6 @@ const getInputProps = () => {
|
|
|
394
419
|
return parsed;
|
|
395
420
|
};
|
|
396
421
|
|
|
397
|
-
const EditorPropsContext = createContext({
|
|
398
|
-
props: {},
|
|
399
|
-
updateProps: () => {
|
|
400
|
-
throw new Error('Not implemented');
|
|
401
|
-
},
|
|
402
|
-
});
|
|
403
|
-
const EditorPropsProvider = ({ children }) => {
|
|
404
|
-
const [props, setProps] = React.useState({});
|
|
405
|
-
const updateProps = useCallback(({ defaultProps, id, newProps, }) => {
|
|
406
|
-
setProps((prev) => {
|
|
407
|
-
var _a;
|
|
408
|
-
return {
|
|
409
|
-
...prev,
|
|
410
|
-
[id]: typeof newProps === 'function'
|
|
411
|
-
? newProps((_a = prev[id]) !== null && _a !== void 0 ? _a : defaultProps)
|
|
412
|
-
: newProps,
|
|
413
|
-
};
|
|
414
|
-
});
|
|
415
|
-
}, []);
|
|
416
|
-
const ctx = useMemo(() => {
|
|
417
|
-
return { props, updateProps };
|
|
418
|
-
}, [props, updateProps]);
|
|
419
|
-
return (jsx(EditorPropsContext.Provider, { value: ctx, children: children }));
|
|
420
|
-
};
|
|
421
|
-
|
|
422
422
|
const validCodecs = [
|
|
423
423
|
'h264',
|
|
424
424
|
'h265',
|
|
@@ -2537,6 +2537,42 @@ const AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
2537
2537
|
};
|
|
2538
2538
|
const AudioForPreview = forwardRef(AudioForDevelopmentForwardRefFunction);
|
|
2539
2539
|
|
|
2540
|
+
const RenderAssetManager = createContext({
|
|
2541
|
+
// Must be undefined, otherwise error in Player
|
|
2542
|
+
registerRenderAsset: () => undefined,
|
|
2543
|
+
unregisterRenderAsset: () => undefined,
|
|
2544
|
+
renderAssets: [],
|
|
2545
|
+
});
|
|
2546
|
+
const RenderAssetManagerProvider = ({ children }) => {
|
|
2547
|
+
const [renderAssets, setRenderAssets] = useState([]);
|
|
2548
|
+
const registerRenderAsset = useCallback((renderAsset) => {
|
|
2549
|
+
setRenderAssets((assets) => {
|
|
2550
|
+
return [...assets, renderAsset];
|
|
2551
|
+
});
|
|
2552
|
+
}, []);
|
|
2553
|
+
const unregisterRenderAsset = useCallback((id) => {
|
|
2554
|
+
setRenderAssets((assts) => {
|
|
2555
|
+
return assts.filter((a) => a.id !== id);
|
|
2556
|
+
});
|
|
2557
|
+
}, []);
|
|
2558
|
+
useLayoutEffect(() => {
|
|
2559
|
+
if (typeof window !== 'undefined') {
|
|
2560
|
+
window.remotion_collectAssets = () => {
|
|
2561
|
+
setRenderAssets([]); // clear assets at next render
|
|
2562
|
+
return renderAssets;
|
|
2563
|
+
};
|
|
2564
|
+
}
|
|
2565
|
+
}, [renderAssets]);
|
|
2566
|
+
const contextValue = useMemo(() => {
|
|
2567
|
+
return {
|
|
2568
|
+
registerRenderAsset,
|
|
2569
|
+
unregisterRenderAsset,
|
|
2570
|
+
renderAssets,
|
|
2571
|
+
};
|
|
2572
|
+
}, [renderAssets, registerRenderAsset, unregisterRenderAsset]);
|
|
2573
|
+
return (jsx(RenderAssetManager.Provider, { value: contextValue, children: children }));
|
|
2574
|
+
};
|
|
2575
|
+
|
|
2540
2576
|
if (typeof window !== 'undefined') {
|
|
2541
2577
|
window.remotion_renderReady = false;
|
|
2542
2578
|
}
|
|
@@ -2616,42 +2652,6 @@ const continueRender = (handle) => {
|
|
|
2616
2652
|
}
|
|
2617
2653
|
};
|
|
2618
2654
|
|
|
2619
|
-
const RenderAssetManager = createContext({
|
|
2620
|
-
// Must be undefined, otherwise error in Player
|
|
2621
|
-
registerRenderAsset: () => undefined,
|
|
2622
|
-
unregisterRenderAsset: () => undefined,
|
|
2623
|
-
renderAssets: [],
|
|
2624
|
-
});
|
|
2625
|
-
const RenderAssetManagerProvider = ({ children }) => {
|
|
2626
|
-
const [renderAssets, setRenderAssets] = useState([]);
|
|
2627
|
-
const registerRenderAsset = useCallback((renderAsset) => {
|
|
2628
|
-
setRenderAssets((assets) => {
|
|
2629
|
-
return [...assets, renderAsset];
|
|
2630
|
-
});
|
|
2631
|
-
}, []);
|
|
2632
|
-
const unregisterRenderAsset = useCallback((id) => {
|
|
2633
|
-
setRenderAssets((assts) => {
|
|
2634
|
-
return assts.filter((a) => a.id !== id);
|
|
2635
|
-
});
|
|
2636
|
-
}, []);
|
|
2637
|
-
useLayoutEffect(() => {
|
|
2638
|
-
if (typeof window !== 'undefined') {
|
|
2639
|
-
window.remotion_collectAssets = () => {
|
|
2640
|
-
setRenderAssets([]); // clear assets at next render
|
|
2641
|
-
return renderAssets;
|
|
2642
|
-
};
|
|
2643
|
-
}
|
|
2644
|
-
}, [renderAssets]);
|
|
2645
|
-
const contextValue = useMemo(() => {
|
|
2646
|
-
return {
|
|
2647
|
-
registerRenderAsset,
|
|
2648
|
-
unregisterRenderAsset,
|
|
2649
|
-
renderAssets,
|
|
2650
|
-
};
|
|
2651
|
-
}, [renderAssets, registerRenderAsset, unregisterRenderAsset]);
|
|
2652
|
-
return (jsx(RenderAssetManager.Provider, { value: contextValue, children: children }));
|
|
2653
|
-
};
|
|
2654
|
-
|
|
2655
2655
|
const AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
2656
2656
|
const audioRef = useRef(null);
|
|
2657
2657
|
const absoluteFrame = useTimelinePosition();
|
package/dist/esm/version.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "remotion",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.138",
|
|
4
4
|
"description": "Render videos in React",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"types": "dist/cjs/index.d.ts",
|
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
"react-dom": ">=16.8.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@jonny/eslint-config": "3.0.
|
|
21
|
+
"@jonny/eslint-config": "3.0.281",
|
|
22
22
|
"@rollup/plugin-typescript": "^8.2.0",
|
|
23
23
|
"@testing-library/react": "14.0.0",
|
|
24
24
|
"@types/node": "18.14.6",
|
|
25
25
|
"@types/react": "18.2.48",
|
|
26
26
|
"@types/react-dom": "18.2.18",
|
|
27
|
-
"eslint": "8.
|
|
27
|
+
"eslint": "8.56.0",
|
|
28
28
|
"eslint-plugin-require-extensions": "^0.1.2",
|
|
29
29
|
"jsdom": "21.1.0",
|
|
30
|
-
"prettier": "3.
|
|
30
|
+
"prettier": "3.2.5",
|
|
31
31
|
"prettier-plugin-organize-imports": "3.2.4",
|
|
32
32
|
"react": "18.2.0",
|
|
33
33
|
"react-dom": "18.2.0",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export declare const AudioForDevelopment: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "nonce" | "onEnded" | "onResize" | "onResizeCapture" | "autoPlay" | "controls"> & {
|
|
4
|
-
name?: string | undefined;
|
|
5
|
-
volume?: import("../volume-prop.js").VolumeProp | undefined;
|
|
6
|
-
playbackRate?: number | undefined;
|
|
7
|
-
acceptableTimeShiftInSeconds?: number | undefined;
|
|
8
|
-
allowAmplificationDuringRender?: boolean | undefined;
|
|
9
|
-
_remotionInternalNeedsDurationCalculation?: boolean | undefined;
|
|
10
|
-
_remotionInternalNativeLoopPassed?: boolean | undefined;
|
|
11
|
-
toneFrequency?: number | undefined;
|
|
12
|
-
} & {
|
|
13
|
-
shouldPreMountAudioTags: boolean;
|
|
14
|
-
onDuration: (src: string, durationInSeconds: number) => void;
|
|
15
|
-
_remotionInternalNativeLoopPassed: boolean;
|
|
16
|
-
_remotionInternalStack: string | null;
|
|
17
|
-
} & RefAttributes<HTMLAudioElement>>;
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AudioForDevelopment = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const prefetch_js_1 = require("../prefetch.js");
|
|
7
|
-
const random_js_1 = require("../random.js");
|
|
8
|
-
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
9
|
-
const SequenceManager_js_1 = require("../SequenceManager.js");
|
|
10
|
-
const use_media_in_timeline_js_1 = require("../use-media-in-timeline.js");
|
|
11
|
-
const use_media_playback_js_1 = require("../use-media-playback.js");
|
|
12
|
-
const use_media_tag_volume_js_1 = require("../use-media-tag-volume.js");
|
|
13
|
-
const use_sync_volume_with_media_tag_js_1 = require("../use-sync-volume-with-media-tag.js");
|
|
14
|
-
const volume_position_state_js_1 = require("../volume-position-state.js");
|
|
15
|
-
const shared_audio_tags_js_1 = require("./shared-audio-tags.js");
|
|
16
|
-
const use_audio_frame_js_1 = require("./use-audio-frame.js");
|
|
17
|
-
const AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
18
|
-
var _a;
|
|
19
|
-
const [initialShouldPreMountAudioElements] = (0, react_1.useState)(props.shouldPreMountAudioTags);
|
|
20
|
-
if (props.shouldPreMountAudioTags !== initialShouldPreMountAudioElements) {
|
|
21
|
-
throw new Error('Cannot change the behavior for pre-mounting audio tags dynamically.');
|
|
22
|
-
}
|
|
23
|
-
const [mediaVolume] = (0, volume_position_state_js_1.useMediaVolumeState)();
|
|
24
|
-
const [mediaMuted] = (0, volume_position_state_js_1.useMediaMutedState)();
|
|
25
|
-
const volumePropFrame = (0, use_audio_frame_js_1.useFrameForVolumeProp)();
|
|
26
|
-
const { volume, muted, playbackRate, shouldPreMountAudioTags, src, onDuration, acceptableTimeShiftInSeconds, _remotionInternalNeedsDurationCalculation, _remotionInternalNativeLoopPassed, _remotionInternalStack, allowAmplificationDuringRender, name, ...nativeProps } = props;
|
|
27
|
-
const { hidden } = (0, react_1.useContext)(SequenceManager_js_1.SequenceVisibilityToggleContext);
|
|
28
|
-
if (!src) {
|
|
29
|
-
throw new TypeError("No 'src' was passed to <Audio>.");
|
|
30
|
-
}
|
|
31
|
-
const preloadedSrc = (0, prefetch_js_1.usePreload)(src);
|
|
32
|
-
const sequenceContext = (0, react_1.useContext)(SequenceContext_js_1.SequenceContext);
|
|
33
|
-
const [timelineId] = (0, react_1.useState)(() => String(Math.random()));
|
|
34
|
-
const isSequenceHidden = (_a = hidden[timelineId]) !== null && _a !== void 0 ? _a : false;
|
|
35
|
-
const propsToPass = (0, react_1.useMemo)(() => {
|
|
36
|
-
return {
|
|
37
|
-
muted: muted || mediaMuted || isSequenceHidden,
|
|
38
|
-
src: preloadedSrc,
|
|
39
|
-
loop: _remotionInternalNativeLoopPassed,
|
|
40
|
-
...nativeProps,
|
|
41
|
-
};
|
|
42
|
-
}, [
|
|
43
|
-
_remotionInternalNativeLoopPassed,
|
|
44
|
-
isSequenceHidden,
|
|
45
|
-
mediaMuted,
|
|
46
|
-
muted,
|
|
47
|
-
nativeProps,
|
|
48
|
-
preloadedSrc,
|
|
49
|
-
]);
|
|
50
|
-
// Generate a string that's as unique as possible for this asset
|
|
51
|
-
// but at the same time deterministic. We use it to combat strict mode issues.
|
|
52
|
-
const id = (0, react_1.useMemo)(() => `audio-${(0, random_js_1.random)(src !== null && src !== void 0 ? src : '')}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.cumulatedFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
|
|
53
|
-
src,
|
|
54
|
-
sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom,
|
|
55
|
-
sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.cumulatedFrom,
|
|
56
|
-
sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames,
|
|
57
|
-
props.muted,
|
|
58
|
-
props.loop,
|
|
59
|
-
]);
|
|
60
|
-
const audioRef = (0, shared_audio_tags_js_1.useSharedAudio)(propsToPass, id).el;
|
|
61
|
-
const actualVolume = (0, use_media_tag_volume_js_1.useMediaTagVolume)(audioRef);
|
|
62
|
-
(0, use_sync_volume_with_media_tag_js_1.useSyncVolumeWithMediaTag)({
|
|
63
|
-
volumePropFrame,
|
|
64
|
-
actualVolume,
|
|
65
|
-
volume,
|
|
66
|
-
mediaVolume,
|
|
67
|
-
mediaRef: audioRef,
|
|
68
|
-
});
|
|
69
|
-
(0, use_media_in_timeline_js_1.useMediaInTimeline)({
|
|
70
|
-
volume,
|
|
71
|
-
mediaVolume,
|
|
72
|
-
mediaRef: audioRef,
|
|
73
|
-
src,
|
|
74
|
-
mediaType: 'audio',
|
|
75
|
-
playbackRate: playbackRate !== null && playbackRate !== void 0 ? playbackRate : 1,
|
|
76
|
-
displayName: name !== null && name !== void 0 ? name : null,
|
|
77
|
-
id: timelineId,
|
|
78
|
-
stack: props._remotionInternalStack,
|
|
79
|
-
});
|
|
80
|
-
(0, use_media_playback_js_1.useMediaPlayback)({
|
|
81
|
-
mediaRef: audioRef,
|
|
82
|
-
src,
|
|
83
|
-
mediaType: 'audio',
|
|
84
|
-
playbackRate: playbackRate !== null && playbackRate !== void 0 ? playbackRate : 1,
|
|
85
|
-
onlyWarnForMediaSeekingError: false,
|
|
86
|
-
acceptableTimeshift: acceptableTimeShiftInSeconds !== null && acceptableTimeShiftInSeconds !== void 0 ? acceptableTimeShiftInSeconds : use_media_playback_js_1.DEFAULT_ACCEPTABLE_TIMESHIFT,
|
|
87
|
-
});
|
|
88
|
-
(0, react_1.useImperativeHandle)(ref, () => {
|
|
89
|
-
return audioRef.current;
|
|
90
|
-
}, [audioRef]);
|
|
91
|
-
const currentOnDurationCallback = (0, react_1.useRef)();
|
|
92
|
-
currentOnDurationCallback.current = onDuration;
|
|
93
|
-
(0, react_1.useEffect)(() => {
|
|
94
|
-
var _a;
|
|
95
|
-
const { current } = audioRef;
|
|
96
|
-
if (!current) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
if (current.duration) {
|
|
100
|
-
(_a = currentOnDurationCallback.current) === null || _a === void 0 ? void 0 : _a.call(currentOnDurationCallback, current.src, current.duration);
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const onLoadedMetadata = () => {
|
|
104
|
-
var _a;
|
|
105
|
-
(_a = currentOnDurationCallback.current) === null || _a === void 0 ? void 0 : _a.call(currentOnDurationCallback, current.src, current.duration);
|
|
106
|
-
};
|
|
107
|
-
current.addEventListener('loadedmetadata', onLoadedMetadata);
|
|
108
|
-
return () => {
|
|
109
|
-
current.removeEventListener('loadedmetadata', onLoadedMetadata);
|
|
110
|
-
};
|
|
111
|
-
}, [audioRef, src]);
|
|
112
|
-
if (initialShouldPreMountAudioElements) {
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
return (0, jsx_runtime_1.jsx)("audio", { ref: audioRef, preload: "metadata", ...propsToPass });
|
|
116
|
-
};
|
|
117
|
-
exports.AudioForDevelopment = (0, react_1.forwardRef)(AudioForDevelopmentForwardRefFunction);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const getTimelineClipName: (children: React.ReactNode) => string;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTimelineClipName = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const HIDDEN_NAMES = ['__WEBPACK_DEFAULT_EXPORT__'];
|
|
6
|
-
const getTimelineClipName = (children) => {
|
|
7
|
-
var _a;
|
|
8
|
-
const tree = (_a = react_1.Children.map(children, (ch) => {
|
|
9
|
-
if (!(0, react_1.isValidElement)(ch)) {
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
// Must be name, not ID
|
|
13
|
-
const name = typeof ch.type !== 'string' && ch.type.name;
|
|
14
|
-
if (name && !HIDDEN_NAMES.includes(name)) {
|
|
15
|
-
return name;
|
|
16
|
-
}
|
|
17
|
-
if (ch.props.children) {
|
|
18
|
-
const chName = (0, exports.getTimelineClipName)(ch.props.children);
|
|
19
|
-
return chName;
|
|
20
|
-
}
|
|
21
|
-
return null;
|
|
22
|
-
})) === null || _a === void 0 ? void 0 : _a.filter(Boolean);
|
|
23
|
-
return (tree === null || tree === void 0 ? void 0 : tree.length) ? tree[0] : '';
|
|
24
|
-
};
|
|
25
|
-
exports.getTimelineClipName = getTimelineClipName;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export declare const VideoForDevelopment: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
|
|
4
|
-
name?: string | undefined;
|
|
5
|
-
volume?: import("../volume-prop.js").VolumeProp | undefined;
|
|
6
|
-
playbackRate?: number | undefined;
|
|
7
|
-
acceptableTimeShiftInSeconds?: number | undefined;
|
|
8
|
-
allowAmplificationDuringRender?: boolean | undefined;
|
|
9
|
-
toneFrequency?: number | undefined;
|
|
10
|
-
} & {
|
|
11
|
-
onlyWarnForMediaSeekingError: boolean;
|
|
12
|
-
onDuration: (src: string, durationInSeconds: number) => void;
|
|
13
|
-
_remotionInternalNativeLoopPassed: boolean;
|
|
14
|
-
_remotionInternalStack: string | null;
|
|
15
|
-
} & RefAttributes<HTMLVideoElement>>;
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VideoForDevelopment = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
7
|
-
const prefetch_js_1 = require("../prefetch.js");
|
|
8
|
-
const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
9
|
-
const SequenceManager_js_1 = require("../SequenceManager.js");
|
|
10
|
-
const use_media_in_timeline_js_1 = require("../use-media-in-timeline.js");
|
|
11
|
-
const use_media_playback_js_1 = require("../use-media-playback.js");
|
|
12
|
-
const use_media_tag_volume_js_1 = require("../use-media-tag-volume.js");
|
|
13
|
-
const use_sync_volume_with_media_tag_js_1 = require("../use-sync-volume-with-media-tag.js");
|
|
14
|
-
const use_video_config_js_1 = require("../use-video-config.js");
|
|
15
|
-
const volume_position_state_js_1 = require("../volume-position-state.js");
|
|
16
|
-
const video_fragment_js_1 = require("./video-fragment.js");
|
|
17
|
-
const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
|
|
18
|
-
var _a, _b, _c;
|
|
19
|
-
const videoRef = (0, react_1.useRef)(null);
|
|
20
|
-
const volumePropFrame = (0, use_audio_frame_js_1.useFrameForVolumeProp)();
|
|
21
|
-
const { fps, durationInFrames } = (0, use_video_config_js_1.useVideoConfig)();
|
|
22
|
-
const parentSequence = (0, react_1.useContext)(SequenceContext_js_1.SequenceContext);
|
|
23
|
-
const { hidden } = (0, react_1.useContext)(SequenceManager_js_1.SequenceVisibilityToggleContext);
|
|
24
|
-
const [timelineId] = (0, react_1.useState)(() => String(Math.random()));
|
|
25
|
-
const isSequenceHidden = (_a = hidden[timelineId]) !== null && _a !== void 0 ? _a : false;
|
|
26
|
-
const { volume, muted, playbackRate, onlyWarnForMediaSeekingError, src, onDuration,
|
|
27
|
-
// @ts-expect-error
|
|
28
|
-
acceptableTimeShift, acceptableTimeShiftInSeconds, toneFrequency, name, _remotionInternalNativeLoopPassed, _remotionInternalStack, style, ...nativeProps } = props;
|
|
29
|
-
if (typeof acceptableTimeShift !== 'undefined') {
|
|
30
|
-
throw new Error('acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.');
|
|
31
|
-
}
|
|
32
|
-
const actualVolume = (0, use_media_tag_volume_js_1.useMediaTagVolume)(videoRef);
|
|
33
|
-
const [mediaVolume] = (0, volume_position_state_js_1.useMediaVolumeState)();
|
|
34
|
-
const [mediaMuted] = (0, volume_position_state_js_1.useMediaMutedState)();
|
|
35
|
-
(0, use_media_in_timeline_js_1.useMediaInTimeline)({
|
|
36
|
-
mediaRef: videoRef,
|
|
37
|
-
volume,
|
|
38
|
-
mediaVolume,
|
|
39
|
-
mediaType: 'video',
|
|
40
|
-
src,
|
|
41
|
-
playbackRate: (_b = props.playbackRate) !== null && _b !== void 0 ? _b : 1,
|
|
42
|
-
displayName: name !== null && name !== void 0 ? name : null,
|
|
43
|
-
id: timelineId,
|
|
44
|
-
stack: props._remotionInternalStack,
|
|
45
|
-
});
|
|
46
|
-
(0, use_sync_volume_with_media_tag_js_1.useSyncVolumeWithMediaTag)({
|
|
47
|
-
volumePropFrame,
|
|
48
|
-
actualVolume,
|
|
49
|
-
volume,
|
|
50
|
-
mediaVolume,
|
|
51
|
-
mediaRef: videoRef,
|
|
52
|
-
});
|
|
53
|
-
(0, use_media_playback_js_1.useMediaPlayback)({
|
|
54
|
-
mediaRef: videoRef,
|
|
55
|
-
src,
|
|
56
|
-
mediaType: 'video',
|
|
57
|
-
playbackRate: (_c = props.playbackRate) !== null && _c !== void 0 ? _c : 1,
|
|
58
|
-
onlyWarnForMediaSeekingError,
|
|
59
|
-
acceptableTimeshift: acceptableTimeShiftInSeconds !== null && acceptableTimeShiftInSeconds !== void 0 ? acceptableTimeShiftInSeconds : use_media_playback_js_1.DEFAULT_ACCEPTABLE_TIMESHIFT,
|
|
60
|
-
});
|
|
61
|
-
const actualFrom = parentSequence
|
|
62
|
-
? parentSequence.relativeFrom + parentSequence.cumulatedFrom
|
|
63
|
-
: 0;
|
|
64
|
-
const duration = parentSequence
|
|
65
|
-
? Math.min(parentSequence.durationInFrames, durationInFrames)
|
|
66
|
-
: durationInFrames;
|
|
67
|
-
const actualSrc = (0, video_fragment_js_1.useAppendVideoFragment)({
|
|
68
|
-
actualSrc: (0, prefetch_js_1.usePreload)(src),
|
|
69
|
-
actualFrom,
|
|
70
|
-
duration,
|
|
71
|
-
fps,
|
|
72
|
-
});
|
|
73
|
-
(0, react_1.useImperativeHandle)(ref, () => {
|
|
74
|
-
return videoRef.current;
|
|
75
|
-
}, []);
|
|
76
|
-
(0, react_1.useEffect)(() => {
|
|
77
|
-
const { current } = videoRef;
|
|
78
|
-
if (!current) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
const errorHandler = () => {
|
|
82
|
-
var _a;
|
|
83
|
-
if (current === null || current === void 0 ? void 0 : current.error) {
|
|
84
|
-
// eslint-disable-next-line no-console
|
|
85
|
-
console.error('Error occurred in video', current === null || current === void 0 ? void 0 : current.error);
|
|
86
|
-
// If user is handling the error, we don't cause an unhandled exception
|
|
87
|
-
if (props.onError) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
throw new Error(`The browser threw an error while playing the video ${src}: Code ${current.error.code} - ${(_a = current === null || current === void 0 ? void 0 : current.error) === null || _a === void 0 ? void 0 : _a.message}. See https://remotion.dev/docs/media-playback-error for help. Pass an onError() prop to handle the error.`);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
throw new Error('The browser threw an error');
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
current.addEventListener('error', errorHandler, { once: true });
|
|
97
|
-
return () => {
|
|
98
|
-
current.removeEventListener('error', errorHandler);
|
|
99
|
-
};
|
|
100
|
-
}, [props.onError, src]);
|
|
101
|
-
const currentOnDurationCallback = (0, react_1.useRef)();
|
|
102
|
-
currentOnDurationCallback.current = onDuration;
|
|
103
|
-
(0, react_1.useEffect)(() => {
|
|
104
|
-
var _a;
|
|
105
|
-
const { current } = videoRef;
|
|
106
|
-
if (!current) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (current.duration) {
|
|
110
|
-
(_a = currentOnDurationCallback.current) === null || _a === void 0 ? void 0 : _a.call(currentOnDurationCallback, src, current.duration);
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
const onLoadedMetadata = () => {
|
|
114
|
-
var _a;
|
|
115
|
-
(_a = currentOnDurationCallback.current) === null || _a === void 0 ? void 0 : _a.call(currentOnDurationCallback, src, current.duration);
|
|
116
|
-
};
|
|
117
|
-
current.addEventListener('loadedmetadata', onLoadedMetadata);
|
|
118
|
-
return () => {
|
|
119
|
-
current.removeEventListener('loadedmetadata', onLoadedMetadata);
|
|
120
|
-
};
|
|
121
|
-
}, [src]);
|
|
122
|
-
(0, react_1.useEffect)(() => {
|
|
123
|
-
const { current } = videoRef;
|
|
124
|
-
if (!current) {
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
// Without this, on iOS Safari, the video cannot be seeked.
|
|
128
|
-
// if a seek is triggered before `loadedmetadata` is fired,
|
|
129
|
-
// the video will not seek, even if `loadedmetadata` is fired afterwards.
|
|
130
|
-
// Also, this needs to happen in a useEffect, because otherwise
|
|
131
|
-
// the SSR props will be applied.
|
|
132
|
-
if ((0, video_fragment_js_1.isIosSafari)()) {
|
|
133
|
-
current.preload = 'metadata';
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
current.preload = 'auto';
|
|
137
|
-
}
|
|
138
|
-
}, []);
|
|
139
|
-
const actualStyle = (0, react_1.useMemo)(() => {
|
|
140
|
-
var _a;
|
|
141
|
-
return {
|
|
142
|
-
...style,
|
|
143
|
-
opacity: isSequenceHidden ? 0 : (_a = style === null || style === void 0 ? void 0 : style.opacity) !== null && _a !== void 0 ? _a : 1,
|
|
144
|
-
};
|
|
145
|
-
}, [isSequenceHidden, style]);
|
|
146
|
-
return ((0, jsx_runtime_1.jsx)("video", { ref: videoRef, muted: muted || mediaMuted, playsInline: true, src: actualSrc, loop: _remotionInternalNativeLoopPassed, style: actualStyle, ...nativeProps }));
|
|
147
|
-
};
|
|
148
|
-
// Copy types from forwardRef but not necessary to remove ref
|
|
149
|
-
exports.VideoForDevelopment = (0, react_1.forwardRef)(VideoForDevelopmentRefForwardingFunction);
|