remotion 4.0.524 → 4.0.526
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/AbsoluteFill.d.ts +0 -1
- package/dist/cjs/Img.d.ts +2 -0
- package/dist/cjs/Img.js +23 -18
- package/dist/cjs/Interactive.d.ts +0 -1
- package/dist/cjs/TimelineContext.d.ts +1 -0
- package/dist/cjs/TimelineContext.js +1 -0
- package/dist/cjs/absolute-src.js +1 -1
- package/dist/cjs/animated-image/resolve-image-source.js +1 -1
- package/dist/cjs/audio/AudioForPreview.js +9 -6
- package/dist/cjs/audio/AudioForRendering.js +11 -8
- package/dist/cjs/audio/shared-audio-tags.js +2 -2
- package/dist/cjs/audio/use-media-audio-state.d.ts +17 -0
- package/dist/cjs/audio/use-media-audio-state.js +27 -0
- package/dist/cjs/canvas-image/CanvasImage.d.ts +1 -0
- package/dist/cjs/canvas-image/CanvasImage.js +11 -6
- package/dist/cjs/canvas-image/props.d.ts +1 -0
- package/dist/cjs/delay-render.js +1 -1
- package/dist/cjs/font-face-registry.d.ts +19 -0
- package/dist/cjs/font-face-registry.js +48 -0
- package/dist/cjs/freeze.js +1 -0
- package/dist/cjs/interactivity-schema.d.ts +1 -2
- package/dist/cjs/interactivity-schema.js +0 -1
- package/dist/cjs/internals.d.ts +6 -1
- package/dist/cjs/internals.js +3 -0
- package/dist/cjs/no-react.d.ts +3 -0
- package/dist/cjs/no-react.js +4 -0
- package/dist/cjs/timeline-position-state.d.ts +1 -0
- package/dist/cjs/timeline-position-state.js +5 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/video/OffthreadVideoForRendering.js +13 -11
- package/dist/cjs/video/VideoForPreview.js +8 -3
- package/dist/cjs/video/VideoForRendering.js +14 -11
- package/dist/esm/index.mjs +240 -175
- package/dist/esm/no-react.mjs +35 -2
- package/dist/esm/version.mjs +1 -1
- package/package.json +2 -2
- package/dist/cjs/audio/streaming-pitch-shifter.d.ts +0 -18
- package/dist/cjs/audio/streaming-pitch-shifter.js +0 -349
- package/dist/cjs/interpolate-translate.d.ts +0 -8
- package/dist/cjs/interpolate-translate.js +0 -70
- package/dist/cjs/sequence-field-schema.d.ts +0 -425
- package/dist/cjs/sequence-field-schema.js +0 -133
- package/dist/cjs/wrap-in-schema.d.ts +0 -20
- package/dist/cjs/wrap-in-schema.js +0 -203
|
@@ -11,6 +11,7 @@ export declare const clampFrameToCompositionRange: (frame: number, durationInFra
|
|
|
11
11
|
export declare const useTimelineContext: () => TimelineContextValue;
|
|
12
12
|
export declare const usePlaybackRate: () => PlaybackRateContextValue;
|
|
13
13
|
export declare const useTimelinePosition: () => number;
|
|
14
|
+
export declare const useIsInsideFreeze: () => boolean;
|
|
14
15
|
export declare const useAbsoluteTimelinePosition: () => number;
|
|
15
16
|
export declare const useTimelineSetFrame: () => (u: import("react").SetStateAction<Record<string, number>>) => void;
|
|
16
17
|
export { usePlaying } from './use-playing.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useBuffering = exports.usePlaying = exports.useTimelineSetFrame = exports.useAbsoluteTimelinePosition = exports.useTimelinePosition = exports.usePlaybackRate = exports.useTimelineContext = exports.clampFrameToCompositionRange = exports.getFrameForComposition = exports.getInitialFrameState = exports.persistCurrentFrame = void 0;
|
|
3
|
+
exports.useBuffering = exports.usePlaying = exports.useTimelineSetFrame = exports.useAbsoluteTimelinePosition = exports.useIsInsideFreeze = exports.useTimelinePosition = exports.usePlaybackRate = exports.useTimelineContext = exports.clampFrameToCompositionRange = exports.getFrameForComposition = exports.getInitialFrameState = exports.persistCurrentFrame = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const TimelineContext_js_1 = require("./TimelineContext.js");
|
|
6
6
|
const use_remotion_environment_js_1 = require("./use-remotion-environment.js");
|
|
@@ -69,6 +69,10 @@ const useTimelinePosition = () => {
|
|
|
69
69
|
return useTimelinePositionFromContext(state);
|
|
70
70
|
};
|
|
71
71
|
exports.useTimelinePosition = useTimelinePosition;
|
|
72
|
+
const useIsInsideFreeze = () => {
|
|
73
|
+
return (0, exports.useTimelineContext)().isInsideFreeze;
|
|
74
|
+
};
|
|
75
|
+
exports.useIsInsideFreeze = useIsInsideFreeze;
|
|
72
76
|
const useAbsoluteTimelinePosition = () => {
|
|
73
77
|
const state = (0, react_1.useContext)(TimelineContext_js_1.AbsoluteTimeContext);
|
|
74
78
|
if (state === null) {
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const absolute_src_js_1 = require("../absolute-src.js");
|
|
7
7
|
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
8
|
+
const use_media_audio_state_js_1 = require("../audio/use-media-audio-state.js");
|
|
8
9
|
const cancel_render_js_1 = require("../cancel-render.js");
|
|
9
10
|
const default_css_js_1 = require("../default-css.js");
|
|
10
11
|
const Img_js_1 = require("../Img.js");
|
|
@@ -15,6 +16,7 @@ const timeline_position_state_js_1 = require("../timeline-position-state.js");
|
|
|
15
16
|
const truthy_js_1 = require("../truthy.js");
|
|
16
17
|
const use_current_frame_js_1 = require("../use-current-frame.js");
|
|
17
18
|
const use_delay_render_js_1 = require("../use-delay-render.js");
|
|
19
|
+
const use_media_enabled_js_1 = require("../use-media-enabled.js");
|
|
18
20
|
const use_unsafe_video_config_js_1 = require("../use-unsafe-video-config.js");
|
|
19
21
|
const volume_prop_js_1 = require("../volume-prop.js");
|
|
20
22
|
const volume_safeguard_js_1 = require("../volume-safeguard.js");
|
|
@@ -42,27 +44,27 @@ crossOrigin, audioStreamIndex, preservePitch: _preservePitch, ...props }) => {
|
|
|
42
44
|
sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom,
|
|
43
45
|
sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames,
|
|
44
46
|
]);
|
|
45
|
-
if (!videoConfig) {
|
|
46
|
-
throw new Error('No video config found');
|
|
47
|
-
}
|
|
48
47
|
const volume = (0, volume_prop_js_1.evaluateVolume)({
|
|
49
48
|
volume: volumeProp,
|
|
50
49
|
frame: volumePropsFrame,
|
|
51
50
|
mediaVolume: 1,
|
|
52
51
|
});
|
|
53
52
|
(0, volume_safeguard_js_1.warnAboutTooHighVolume)(volume);
|
|
53
|
+
const audioEnabled = (0, use_media_enabled_js_1.useAudioEnabled)();
|
|
54
|
+
const { shouldUseAudio } = (0, use_media_audio_state_js_1.useMediaAudioState)({
|
|
55
|
+
muted,
|
|
56
|
+
volume,
|
|
57
|
+
audioEnabled,
|
|
58
|
+
});
|
|
59
|
+
if (!videoConfig) {
|
|
60
|
+
throw new Error('No video config found');
|
|
61
|
+
}
|
|
54
62
|
(0, react_1.useEffect)(() => {
|
|
55
63
|
var _a;
|
|
56
64
|
if (!src) {
|
|
57
65
|
throw new Error('No src passed');
|
|
58
66
|
}
|
|
59
|
-
if (!
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
if (muted) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
if (volume <= 0) {
|
|
67
|
+
if (!shouldUseAudio) {
|
|
66
68
|
return;
|
|
67
69
|
}
|
|
68
70
|
registerRenderAsset({
|
|
@@ -79,7 +81,7 @@ crossOrigin, audioStreamIndex, preservePitch: _preservePitch, ...props }) => {
|
|
|
79
81
|
});
|
|
80
82
|
return () => unregisterRenderAsset(id);
|
|
81
83
|
}, [
|
|
82
|
-
|
|
84
|
+
shouldUseAudio,
|
|
83
85
|
src,
|
|
84
86
|
registerRenderAsset,
|
|
85
87
|
id,
|
|
@@ -39,6 +39,7 @@ const react_1 = __importStar(require("react"));
|
|
|
39
39
|
const shared_audio_tags_js_1 = require("../audio/shared-audio-tags.js");
|
|
40
40
|
const shared_element_source_node_js_1 = require("../audio/shared-element-source-node.js");
|
|
41
41
|
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
42
|
+
const use_media_audio_state_js_1 = require("../audio/use-media-audio-state.js");
|
|
42
43
|
const get_cross_origin_value_js_1 = require("../get-cross-origin-value.js");
|
|
43
44
|
const log_level_context_js_1 = require("../log-level-context.js");
|
|
44
45
|
const playback_logging_js_1 = require("../playback-logging.js");
|
|
@@ -111,12 +112,16 @@ const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
|
|
|
111
112
|
throw new Error('acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.');
|
|
112
113
|
}
|
|
113
114
|
const [mediaVolume] = (0, volume_position_state_js_1.useMediaVolumeState)();
|
|
114
|
-
const [playerMuted] = (0, volume_position_state_js_1.usePlayerMutedState)();
|
|
115
115
|
const userPreferredVolume = (0, volume_prop_js_1.evaluateVolume)({
|
|
116
116
|
frame: volumePropFrame,
|
|
117
117
|
volume,
|
|
118
118
|
mediaVolume,
|
|
119
119
|
});
|
|
120
|
+
const { isMutedForTimeline, isMutedForPlayback } = (0, use_media_audio_state_js_1.useMediaAudioState)({
|
|
121
|
+
muted: muted !== null && muted !== void 0 ? muted : false,
|
|
122
|
+
volume: userPreferredVolume,
|
|
123
|
+
audioEnabled: true,
|
|
124
|
+
});
|
|
120
125
|
(0, volume_safeguard_js_1.warnAboutTooHighVolume)(userPreferredVolume);
|
|
121
126
|
const getStack = (0, react_1.useCallback)(() => {
|
|
122
127
|
return _remotionInternalStack !== null && _remotionInternalStack !== void 0 ? _remotionInternalStack : null;
|
|
@@ -138,7 +143,7 @@ const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
|
|
|
138
143
|
? 'https://www.remotion.dev/docs/offthreadvideo'
|
|
139
144
|
: 'https://www.remotion.dev/docs/html5-video',
|
|
140
145
|
refForOutline: videoRef,
|
|
141
|
-
muted:
|
|
146
|
+
muted: isMutedForTimeline,
|
|
142
147
|
});
|
|
143
148
|
// putting playback before useVolume
|
|
144
149
|
// because volume looks at playbackrate
|
|
@@ -284,7 +289,7 @@ const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
|
|
|
284
289
|
requestsVideoFrame: Boolean(onVideoFrame),
|
|
285
290
|
isClientSideRendering: false,
|
|
286
291
|
});
|
|
287
|
-
const video = (jsx_runtime_1.jsx("video", { ...nativeProps, ref: videoRef, muted:
|
|
292
|
+
const video = (jsx_runtime_1.jsx("video", { ...nativeProps, ref: videoRef, muted: isMutedForPlayback, playsInline: true, src: actualSrc, loop: _remotionInternalNativeLoopPassed, style: actualStyle, disableRemotePlayback: true, crossOrigin: crossOriginValue, controls: false }));
|
|
288
293
|
return isStudio ? (jsx_runtime_1.jsx(sequence_order_marker_js_1.SequenceOrderMarker, { sequenceId: timelineId, children: video })) : (video);
|
|
289
294
|
};
|
|
290
295
|
exports.VideoForPreview = (0, react_1.forwardRef)(VideoForDevelopmentRefForwardingFunction);
|
|
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const absolute_src_js_1 = require("../absolute-src.js");
|
|
7
7
|
const use_audio_frame_js_1 = require("../audio/use-audio-frame.js");
|
|
8
|
+
const use_media_audio_state_js_1 = require("../audio/use-media-audio-state.js");
|
|
8
9
|
const is_approximately_the_same_js_1 = require("../is-approximately-the-same.js");
|
|
9
10
|
const log_level_context_js_1 = require("../log-level-context.js");
|
|
10
11
|
const random_js_1 = require("../random.js");
|
|
@@ -13,6 +14,7 @@ const SequenceContext_js_1 = require("../SequenceContext.js");
|
|
|
13
14
|
const timeline_position_state_js_1 = require("../timeline-position-state.js");
|
|
14
15
|
const use_current_frame_js_1 = require("../use-current-frame.js");
|
|
15
16
|
const use_delay_render_js_1 = require("../use-delay-render.js");
|
|
17
|
+
const use_media_enabled_js_1 = require("../use-media-enabled.js");
|
|
16
18
|
const use_remotion_environment_js_1 = require("../use-remotion-environment.js");
|
|
17
19
|
const use_unsafe_video_config_js_1 = require("../use-unsafe-video-config.js");
|
|
18
20
|
const volume_prop_js_1 = require("../volume-prop.js");
|
|
@@ -22,6 +24,7 @@ const get_current_time_js_1 = require("./get-current-time.js");
|
|
|
22
24
|
const MediaPlaybackError_js_1 = require("./MediaPlaybackError.js");
|
|
23
25
|
const seek_until_right_js_1 = require("./seek-until-right.js");
|
|
24
26
|
const VideoForRenderingForwardFunction = ({ onError, volume: volumeProp, allowAmplificationDuringRender, playbackRate, onDuration, toneFrequency, name, acceptableTimeShiftInSeconds, delayRenderRetries, delayRenderTimeoutInMilliseconds, loopVolumeCurveBehavior, audioStreamIndex, onVideoFrame, preservePitch: _preservePitch, ...props }, ref) => {
|
|
27
|
+
var _a;
|
|
25
28
|
const absoluteFrame = (0, timeline_position_state_js_1.useTimelinePosition)();
|
|
26
29
|
const frame = (0, use_current_frame_js_1.useCurrentFrame)();
|
|
27
30
|
const volumePropsFrame = (0, use_audio_frame_js_1.useFrameForVolumeProp)(loopVolumeCurveBehavior !== null && loopVolumeCurveBehavior !== void 0 ? loopVolumeCurveBehavior : 'repeat');
|
|
@@ -45,27 +48,27 @@ const VideoForRenderingForwardFunction = ({ onError, volume: volumeProp, allowAm
|
|
|
45
48
|
sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom,
|
|
46
49
|
sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames,
|
|
47
50
|
]);
|
|
48
|
-
if (!videoConfig) {
|
|
49
|
-
throw new Error('No video config found');
|
|
50
|
-
}
|
|
51
51
|
const volume = (0, volume_prop_js_1.evaluateVolume)({
|
|
52
52
|
volume: volumeProp,
|
|
53
53
|
frame: volumePropsFrame,
|
|
54
54
|
mediaVolume: 1,
|
|
55
55
|
});
|
|
56
56
|
(0, volume_safeguard_js_1.warnAboutTooHighVolume)(volume);
|
|
57
|
+
const audioEnabled = (0, use_media_enabled_js_1.useAudioEnabled)();
|
|
58
|
+
const { shouldUseAudio } = (0, use_media_audio_state_js_1.useMediaAudioState)({
|
|
59
|
+
muted: (_a = props.muted) !== null && _a !== void 0 ? _a : false,
|
|
60
|
+
volume,
|
|
61
|
+
audioEnabled,
|
|
62
|
+
});
|
|
63
|
+
if (!videoConfig) {
|
|
64
|
+
throw new Error('No video config found');
|
|
65
|
+
}
|
|
57
66
|
(0, react_1.useEffect)(() => {
|
|
58
67
|
var _a;
|
|
59
68
|
if (!props.src) {
|
|
60
69
|
throw new Error('No src passed');
|
|
61
70
|
}
|
|
62
|
-
if (
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
if (volume <= 0) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (!window.remotion_audioEnabled) {
|
|
71
|
+
if (!shouldUseAudio) {
|
|
69
72
|
return;
|
|
70
73
|
}
|
|
71
74
|
registerRenderAsset({
|
|
@@ -82,7 +85,7 @@ const VideoForRenderingForwardFunction = ({ onError, volume: volumeProp, allowAm
|
|
|
82
85
|
});
|
|
83
86
|
return () => unregisterRenderAsset(id);
|
|
84
87
|
}, [
|
|
85
|
-
|
|
88
|
+
shouldUseAudio,
|
|
86
89
|
props.src,
|
|
87
90
|
registerRenderAsset,
|
|
88
91
|
id,
|