remotion 3.2.40 → 3.2.42
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/.turbo/turbo-build.log +1 -1
- package/LICENSE.md +1 -1
- package/README.md +0 -6
- package/dist/audio/Audio.d.ts +2 -1
- package/dist/audio/AudioForDevelopment.d.ts +1 -0
- package/dist/audio/AudioForDevelopment.js +2 -1
- package/dist/audio/AudioForRendering.d.ts +1 -0
- package/dist/audio/props.d.ts +1 -0
- package/dist/use-media-playback.d.ts +3 -1
- package/dist/use-media-playback.js +5 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/video/Video.d.ts +3 -2
- package/dist/video/VideoForDevelopment.d.ts +2 -1
- package/dist/video/VideoForDevelopment.js +2 -1
- package/dist/video/VideoForRendering.d.ts +2 -1
- package/dist/video/props.d.ts +3 -1
- package/package.json +2 -2
package/.turbo/turbo-build.log
CHANGED
package/LICENSE.md
CHANGED
|
@@ -36,6 +36,6 @@ Support is provided on a best-we-can-do basis via GitHub Issues and Discord.
|
|
|
36
36
|
|
|
37
37
|
## Company license
|
|
38
38
|
|
|
39
|
-
You are required to obtain a company license to use Remotion if you are not within the group of entities eligible for a free license. This license will enable you to use Remotion for the allowed use cases specified in the free license, and give you access to prioritized support.
|
|
39
|
+
You are required to obtain a company license to use Remotion if you are not within the group of entities eligible for a free license. This license will enable you to use Remotion for the allowed use cases specified in the free license, and give you access to prioritized support (read the [Support Policy](/docs/support)).
|
|
40
40
|
|
|
41
41
|
Visit [companies.remotion.dev](https://companies.remotion.dev) for pricing and to buy a license.
|
package/README.md
CHANGED
|
@@ -13,12 +13,6 @@
|
|
|
13
13
|
[](https://packagephobia.now.sh/result?p=remotion)
|
|
14
14
|
<a href="https://twitter.com/remotion_dev"><img src="https://img.shields.io/twitter/follow/remotion_dev?label=Twitter&style=social" alt="Twitter"></a>
|
|
15
15
|
|
|
16
|
-
<p style="color: orange">
|
|
17
|
-
<a href="https://remotion.dev/hacktoberfest"><strong style="color: orange">
|
|
18
|
-
🎃 Hack on Remotion and earn bounties! $4000 are up for grabs in Hacktoberfest.
|
|
19
|
-
</strong></a> <a href="https://codechem.com">Sponsored by CodeChem!</a>
|
|
20
|
-
</p>
|
|
21
|
-
|
|
22
16
|
Remotion is a framework for **creating videos programmatically using React.**
|
|
23
17
|
|
|
24
18
|
## Why create videos in React?
|
package/dist/audio/Audio.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ import type { RemotionMainAudioProps } from './props';
|
|
|
3
3
|
export declare const Audio: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
|
|
4
4
|
volume?: import("../volume-prop").VolumeProp | undefined;
|
|
5
5
|
playbackRate?: number | undefined;
|
|
6
|
-
|
|
6
|
+
acceptableTimeShiftInSeconds?: number | undefined;
|
|
7
|
+
} & RemotionMainAudioProps, "id" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "src" | "volume" | "playbackRate" | "controlsList" | "crossOrigin" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "acceptableTimeShiftInSeconds" | keyof RemotionMainAudioProps> & React.RefAttributes<HTMLAudioElement>>;
|
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
export declare const AudioForDevelopment: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
|
|
4
4
|
volume?: import("../volume-prop").VolumeProp | undefined;
|
|
5
5
|
playbackRate?: number | undefined;
|
|
6
|
+
acceptableTimeShiftInSeconds?: number | undefined;
|
|
6
7
|
} & {
|
|
7
8
|
shouldPreMountAudioTags: boolean;
|
|
8
9
|
onDuration: (src: string, durationInSeconds: number) => void;
|
|
@@ -21,7 +21,7 @@ const AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
21
21
|
const [mediaVolume] = (0, volume_position_state_1.useMediaVolumeState)();
|
|
22
22
|
const [mediaMuted] = (0, volume_position_state_1.useMediaMutedState)();
|
|
23
23
|
const volumePropFrame = (0, use_audio_frame_1.useFrameForVolumeProp)();
|
|
24
|
-
const { volume, muted, playbackRate, shouldPreMountAudioTags, src, onDuration, ...nativeProps } = props;
|
|
24
|
+
const { volume, muted, playbackRate, shouldPreMountAudioTags, src, onDuration, acceptableTimeShiftInSeconds, ...nativeProps } = props;
|
|
25
25
|
if (!src) {
|
|
26
26
|
throw new TypeError("No 'src' was passed to <Audio>.");
|
|
27
27
|
}
|
|
@@ -59,6 +59,7 @@ const AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
59
59
|
mediaType: 'audio',
|
|
60
60
|
playbackRate: playbackRate !== null && playbackRate !== void 0 ? playbackRate : 1,
|
|
61
61
|
onlyWarnForMediaSeekingError: false,
|
|
62
|
+
acceptableTimeshift: acceptableTimeShiftInSeconds !== null && acceptableTimeShiftInSeconds !== void 0 ? acceptableTimeShiftInSeconds : use_media_playback_1.DEFAULT_ACCEPTABLE_TIMESHIFT,
|
|
62
63
|
});
|
|
63
64
|
(0, react_1.useImperativeHandle)(ref, () => {
|
|
64
65
|
return audioRef.current;
|
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
export declare const AudioForRendering: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
|
|
4
4
|
volume?: import("../volume-prop").VolumeProp | undefined;
|
|
5
5
|
playbackRate?: number | undefined;
|
|
6
|
+
acceptableTimeShiftInSeconds?: number | undefined;
|
|
6
7
|
} & {
|
|
7
8
|
onDuration: (src: string, durationInSeconds: number) => void;
|
|
8
9
|
} & RefAttributes<HTMLAudioElement>>;
|
package/dist/audio/props.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export declare type RemotionMainAudioProps = {
|
|
|
7
7
|
export declare type RemotionAudioProps = Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, 'autoPlay' | 'controls' | 'onEnded' | 'nonce'> & {
|
|
8
8
|
volume?: VolumeProp;
|
|
9
9
|
playbackRate?: number;
|
|
10
|
+
acceptableTimeShiftInSeconds?: number;
|
|
10
11
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { RefObject } from 'react';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const DEFAULT_ACCEPTABLE_TIMESHIFT = 0.45;
|
|
3
|
+
export declare const useMediaPlayback: ({ mediaRef, src, mediaType, playbackRate: localPlaybackRate, onlyWarnForMediaSeekingError, acceptableTimeshift, }: {
|
|
3
4
|
mediaRef: RefObject<HTMLVideoElement | HTMLAudioElement>;
|
|
4
5
|
src: string | undefined;
|
|
5
6
|
mediaType: 'audio' | 'video';
|
|
6
7
|
playbackRate: number;
|
|
7
8
|
onlyWarnForMediaSeekingError: boolean;
|
|
9
|
+
acceptableTimeshift: number;
|
|
8
10
|
}) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useMediaPlayback = void 0;
|
|
3
|
+
exports.useMediaPlayback = exports.DEFAULT_ACCEPTABLE_TIMESHIFT = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const use_audio_frame_1 = require("./audio/use-audio-frame");
|
|
6
6
|
const play_and_handle_not_allowed_error_1 = require("./play-and-handle-not-allowed-error");
|
|
@@ -9,7 +9,8 @@ const use_current_frame_1 = require("./use-current-frame");
|
|
|
9
9
|
const use_video_config_1 = require("./use-video-config");
|
|
10
10
|
const get_current_time_1 = require("./video/get-current-time");
|
|
11
11
|
const warn_about_non_seekable_media_1 = require("./warn-about-non-seekable-media");
|
|
12
|
-
|
|
12
|
+
exports.DEFAULT_ACCEPTABLE_TIMESHIFT = 0.45;
|
|
13
|
+
const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybackRate, onlyWarnForMediaSeekingError, acceptableTimeshift, }) => {
|
|
13
14
|
const { playbackRate: globalPlaybackRate } = (0, react_1.useContext)(timeline_position_state_1.TimelineContext);
|
|
14
15
|
const frame = (0, use_current_frame_1.useCurrentFrame)();
|
|
15
16
|
const absoluteFrame = (0, timeline_position_state_1.useTimelinePosition)();
|
|
@@ -42,7 +43,7 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
|
|
|
42
43
|
});
|
|
43
44
|
const isTime = mediaRef.current.currentTime;
|
|
44
45
|
const timeShift = Math.abs(shouldBeTime - isTime);
|
|
45
|
-
if (timeShift >
|
|
46
|
+
if (timeShift > acceptableTimeshift && !mediaRef.current.ended) {
|
|
46
47
|
// If scrubbing around, adjust timing
|
|
47
48
|
// or if time shift is bigger than 0.2sec
|
|
48
49
|
mediaRef.current.currentTime = shouldBeTime;
|
|
@@ -70,6 +71,7 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
|
|
|
70
71
|
mediaStartsAt,
|
|
71
72
|
localPlaybackRate,
|
|
72
73
|
onlyWarnForMediaSeekingError,
|
|
74
|
+
acceptableTimeshift,
|
|
73
75
|
]);
|
|
74
76
|
};
|
|
75
77
|
exports.useMediaPlayback = useMediaPlayback;
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "3.2.
|
|
1
|
+
export declare const VERSION = "3.2.42";
|
package/dist/version.js
CHANGED
package/dist/video/Video.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { RemotionMainVideoProps } from './props';
|
|
3
|
-
export declare const Video: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "onEnded" | "autoPlay" | "controls"> & {
|
|
3
|
+
export declare const Video: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
|
|
4
4
|
volume?: import("../volume-prop").VolumeProp | undefined;
|
|
5
5
|
playbackRate?: number | undefined;
|
|
6
|
-
|
|
6
|
+
acceptableTimeshift?: number | undefined;
|
|
7
|
+
} & RemotionMainVideoProps, "id" | "height" | "width" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "src" | "volume" | "playbackRate" | "controlsList" | "crossOrigin" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "poster" | "disablePictureInPicture" | "disableRemotePlayback" | "acceptableTimeshift" | keyof RemotionMainVideoProps> & React.RefAttributes<HTMLVideoElement>>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export declare const VideoForDevelopment: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "onEnded" | "autoPlay" | "controls"> & {
|
|
3
|
+
export declare const VideoForDevelopment: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
|
|
4
4
|
volume?: import("../volume-prop").VolumeProp | undefined;
|
|
5
5
|
playbackRate?: number | undefined;
|
|
6
|
+
acceptableTimeshift?: number | undefined;
|
|
6
7
|
} & {
|
|
7
8
|
onlyWarnForMediaSeekingError: boolean;
|
|
8
9
|
onDuration: (src: string, durationInSeconds: number) => void;
|
|
@@ -14,7 +14,7 @@ const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
|
|
|
14
14
|
var _a;
|
|
15
15
|
const videoRef = (0, react_1.useRef)(null);
|
|
16
16
|
const volumePropFrame = (0, use_audio_frame_1.useFrameForVolumeProp)();
|
|
17
|
-
const { volume, muted, playbackRate, onlyWarnForMediaSeekingError, src, onDuration, ...nativeProps } = props;
|
|
17
|
+
const { volume, muted, playbackRate, onlyWarnForMediaSeekingError, src, onDuration, acceptableTimeshift, ...nativeProps } = props;
|
|
18
18
|
const actualVolume = (0, use_media_tag_volume_1.useMediaTagVolume)(videoRef);
|
|
19
19
|
const [mediaVolume] = (0, volume_position_state_1.useMediaVolumeState)();
|
|
20
20
|
const [mediaMuted] = (0, volume_position_state_1.useMediaMutedState)();
|
|
@@ -38,6 +38,7 @@ const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
|
|
|
38
38
|
mediaType: 'video',
|
|
39
39
|
playbackRate: (_a = props.playbackRate) !== null && _a !== void 0 ? _a : 1,
|
|
40
40
|
onlyWarnForMediaSeekingError,
|
|
41
|
+
acceptableTimeshift: acceptableTimeshift !== null && acceptableTimeshift !== void 0 ? acceptableTimeshift : use_media_playback_1.DEFAULT_ACCEPTABLE_TIMESHIFT,
|
|
41
42
|
});
|
|
42
43
|
const actualSrc = (0, prefetch_1.usePreload)(src);
|
|
43
44
|
(0, react_1.useImperativeHandle)(ref, () => {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export declare const VideoForRendering: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "onEnded" | "autoPlay" | "controls"> & {
|
|
3
|
+
export declare const VideoForRendering: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
|
|
4
4
|
volume?: import("../volume-prop").VolumeProp | undefined;
|
|
5
5
|
playbackRate?: number | undefined;
|
|
6
|
+
acceptableTimeshift?: number | undefined;
|
|
6
7
|
} & {
|
|
7
8
|
onDuration: (src: string, durationInSeconds: number) => void;
|
|
8
9
|
} & RefAttributes<HTMLVideoElement>>;
|
package/dist/video/props.d.ts
CHANGED
|
@@ -4,9 +4,10 @@ export declare type RemotionMainVideoProps = {
|
|
|
4
4
|
startFrom?: number;
|
|
5
5
|
endAt?: number;
|
|
6
6
|
};
|
|
7
|
-
export declare type RemotionVideoProps = Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'autoPlay' | 'controls' | 'onEnded'> & {
|
|
7
|
+
export declare type RemotionVideoProps = Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'autoPlay' | 'controls' | 'onEnded' | 'nonce'> & {
|
|
8
8
|
volume?: VolumeProp;
|
|
9
9
|
playbackRate?: number;
|
|
10
|
+
acceptableTimeshift?: number;
|
|
10
11
|
};
|
|
11
12
|
export declare type OffthreadVideoImageFormat = 'png' | 'jpeg';
|
|
12
13
|
export declare type OffthreadVideoProps = {
|
|
@@ -18,4 +19,5 @@ export declare type OffthreadVideoProps = {
|
|
|
18
19
|
muted?: boolean;
|
|
19
20
|
onError?: React.ReactEventHandler<HTMLVideoElement | HTMLImageElement>;
|
|
20
21
|
imageFormat?: OffthreadVideoImageFormat;
|
|
22
|
+
acceptableTimeShiftInSeconds?: number;
|
|
21
23
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "remotion",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.42",
|
|
4
4
|
"description": "Render videos in React",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "d297af4ecea4d09948bbf05eeb66dfa701be3787"
|
|
59
59
|
}
|