@remotion/media 4.0.454 → 4.0.456
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/audio/audio-for-preview.d.ts +3 -4
- package/dist/audio/audio.d.ts +22 -2
- package/dist/audio/props.d.ts +2 -12
- package/dist/debug-overlay/preview-overlay.d.ts +1 -1
- package/dist/esm/index.mjs +370 -358
- package/dist/helpers/resolve-audio-track.d.ts +6 -0
- package/dist/index.d.ts +24 -6
- package/dist/media-player.d.ts +9 -1
- package/dist/show-in-timeline.d.ts +3 -1
- package/dist/use-media-in-timeline.d.ts +3 -2
- package/dist/video/props.d.ts +4 -12
- package/dist/video/video-for-preview.d.ts +3 -2
- package/dist/video/video-for-rendering.d.ts +0 -1
- package/dist/video/video.d.ts +2 -5
- package/dist/video-iterator-manager.d.ts +6 -2
- package/package.json +3 -3
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { InputAudioTrack, InputVideoTrack } from 'mediabunny';
|
|
2
|
+
export declare const resolveAudioTrack: ({ videoTrack, audioTracks, audioStreamIndex, }: {
|
|
3
|
+
videoTrack: InputVideoTrack | null;
|
|
4
|
+
audioTracks: InputAudioTrack[];
|
|
5
|
+
audioStreamIndex: number | null;
|
|
6
|
+
}) => Promise<InputAudioTrack | null>;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,28 @@ import { Video } from './video/video';
|
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated Now just `Audio`
|
|
5
5
|
*/
|
|
6
|
-
export declare const experimental_Audio: import("react").ComponentType<
|
|
6
|
+
export declare const experimental_Audio: import("react").ComponentType<{
|
|
7
|
+
src: string;
|
|
8
|
+
trimBefore?: number | undefined;
|
|
9
|
+
trimAfter?: number | undefined;
|
|
10
|
+
volume?: import("remotion").VolumeProp | undefined;
|
|
11
|
+
loopVolumeCurveBehavior?: import("remotion").LoopVolumeCurveBehavior | undefined;
|
|
12
|
+
playbackRate?: number | undefined;
|
|
13
|
+
muted?: boolean | undefined;
|
|
14
|
+
style?: import("react").CSSProperties | undefined;
|
|
15
|
+
stack?: string | undefined;
|
|
16
|
+
logLevel?: "error" | "info" | "trace" | "verbose" | "warn" | undefined;
|
|
17
|
+
loop?: boolean | undefined;
|
|
18
|
+
audioStreamIndex?: number | undefined;
|
|
19
|
+
_remotionInternalNativeLoopPassed?: boolean | undefined;
|
|
20
|
+
fallbackHtml5AudioProps?: import(".").FallbackHtml5AudioProps | undefined;
|
|
21
|
+
disallowFallbackToHtml5Audio?: boolean | undefined;
|
|
22
|
+
toneFrequency?: number | undefined;
|
|
23
|
+
delayRenderRetries?: number | undefined;
|
|
24
|
+
delayRenderTimeoutInMilliseconds?: number | undefined;
|
|
25
|
+
onError?: import("./on-error").MediaOnError | undefined;
|
|
26
|
+
credentials?: RequestCredentials | undefined;
|
|
27
|
+
} & Pick<import("remotion").SequenceProps, "durationInFrames" | "from" | "name" | "showInTimeline">>;
|
|
7
28
|
/**
|
|
8
29
|
* @deprecated Now just `Video`
|
|
9
30
|
*/
|
|
@@ -16,7 +37,6 @@ export declare const experimental_Video: import("react").ComponentType<{
|
|
|
16
37
|
className: string | undefined;
|
|
17
38
|
volume: import("remotion").VolumeProp;
|
|
18
39
|
loopVolumeCurveBehavior: import("remotion").LoopVolumeCurveBehavior;
|
|
19
|
-
name: string | undefined;
|
|
20
40
|
onVideoFrame: import("remotion").OnVideoFrame | undefined;
|
|
21
41
|
playbackRate: number;
|
|
22
42
|
muted: boolean;
|
|
@@ -39,10 +59,8 @@ export declare const experimental_Video: import("react").ComponentType<{
|
|
|
39
59
|
credentials: RequestCredentials | undefined;
|
|
40
60
|
objectFit: import(".").VideoObjectFit;
|
|
41
61
|
_experimentalInitiallyDrawCachedFrame: boolean;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
durationInFrames?: number | undefined;
|
|
45
|
-
}>;
|
|
62
|
+
_experimentalEffects: import("remotion").EffectsProp;
|
|
63
|
+
}> & Pick<import("remotion").SequenceProps, "durationInFrames" | "from" | "name">>;
|
|
46
64
|
export { AudioForPreview } from './audio/audio-for-preview';
|
|
47
65
|
export { AudioProps, FallbackHtml5AudioProps } from './audio/props';
|
|
48
66
|
export { MediaErrorAction } from './on-error';
|
package/dist/media-player.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { LogLevel, useBufferState } from 'remotion';
|
|
2
|
+
import type { EffectChainState } from 'remotion';
|
|
3
|
+
import type { EffectsProp } from 'remotion';
|
|
2
4
|
import { type AudioIteratorManager } from './audio-iterator-manager';
|
|
3
5
|
import type { SharedAudioContextForMediaPlayer } from './shared-audio-context-for-media-player';
|
|
4
6
|
import type { VideoIteratorManager } from './video-iterator-manager';
|
|
@@ -39,12 +41,15 @@ export declare class MediaPlayer {
|
|
|
39
41
|
private debugOverlay;
|
|
40
42
|
private nonceManager;
|
|
41
43
|
private onVideoFrameCallback;
|
|
44
|
+
private getEffects;
|
|
45
|
+
private getEffectChainState;
|
|
46
|
+
private getCurrentFrame;
|
|
42
47
|
private initializationPromise;
|
|
43
48
|
private bufferState;
|
|
44
49
|
private isPremounting;
|
|
45
50
|
private isPostmounting;
|
|
46
51
|
private seekPromiseChain;
|
|
47
|
-
constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, globalPlaybackRate, audioStreamIndex, fps, debugOverlay, bufferState, isPremounting, isPostmounting, durationInFrames, onVideoFrameCallback, playing, sequenceOffset, credentials, tagType }: {
|
|
52
|
+
constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, globalPlaybackRate, audioStreamIndex, fps, debugOverlay, bufferState, isPremounting, isPostmounting, durationInFrames, onVideoFrameCallback, playing, sequenceOffset, credentials, tagType, getEffects, getEffectChainState, getCurrentFrame }: {
|
|
48
53
|
canvas: HTMLCanvasElement | OffscreenCanvas | null;
|
|
49
54
|
src: string;
|
|
50
55
|
logLevel: LogLevel;
|
|
@@ -66,6 +71,9 @@ export declare class MediaPlayer {
|
|
|
66
71
|
sequenceOffset: number;
|
|
67
72
|
credentials: RequestCredentials | undefined;
|
|
68
73
|
tagType: 'audio' | 'video';
|
|
74
|
+
getEffects: () => EffectsProp;
|
|
75
|
+
getEffectChainState: (width: number, height: number) => EffectChainState | null;
|
|
76
|
+
getCurrentFrame: () => number;
|
|
69
77
|
});
|
|
70
78
|
private input;
|
|
71
79
|
private isDisposalError;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { LoopDisplay } from 'remotion';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const getLoopDisplay: ({ loop, mediaDurationInSeconds, playbackRate, trimAfter, trimBefore, sequenceDurationInFrames, compFps, }: {
|
|
3
3
|
loop: boolean;
|
|
4
4
|
mediaDurationInSeconds: number | null;
|
|
5
5
|
trimAfter: number | undefined;
|
|
6
6
|
trimBefore: number | undefined;
|
|
7
|
+
sequenceDurationInFrames: number;
|
|
7
8
|
playbackRate: number;
|
|
9
|
+
compFps: number;
|
|
8
10
|
}) => LoopDisplay | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { LoopDisplay, SequenceControls } from 'remotion';
|
|
1
|
+
import type { EffectDefinitionAndStack, LoopDisplay, SequenceControls } from 'remotion';
|
|
2
2
|
import { type VolumeProp } from 'remotion';
|
|
3
|
-
export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, stack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, trimBefore, trimAfter, controls, }: {
|
|
3
|
+
export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, stack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, trimBefore, trimAfter, controls, _experimentalEffects, }: {
|
|
4
4
|
volume: VolumeProp | undefined;
|
|
5
5
|
mediaVolume: number;
|
|
6
6
|
src: string | undefined;
|
|
@@ -15,6 +15,7 @@ export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType,
|
|
|
15
15
|
trimBefore: number | undefined;
|
|
16
16
|
trimAfter: number | undefined;
|
|
17
17
|
controls: SequenceControls | undefined;
|
|
18
|
+
_experimentalEffects: EffectDefinitionAndStack<unknown>[];
|
|
18
19
|
}) => {
|
|
19
20
|
id: string;
|
|
20
21
|
};
|
package/dist/video/props.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, VolumeProp } from 'remotion';
|
|
1
|
+
import type { LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, SequenceProps, VolumeProp } from 'remotion';
|
|
2
|
+
import type { EffectsProp } from 'remotion';
|
|
2
3
|
import type { MediaOnError } from '../on-error';
|
|
3
4
|
export type MediaErrorEvent = {
|
|
4
5
|
error: Error;
|
|
@@ -25,7 +26,6 @@ type OptionalVideoProps = {
|
|
|
25
26
|
className: string | undefined;
|
|
26
27
|
volume: VolumeProp;
|
|
27
28
|
loopVolumeCurveBehavior: LoopVolumeCurveBehavior;
|
|
28
|
-
name: string | undefined;
|
|
29
29
|
onVideoFrame: OnVideoFrame | undefined;
|
|
30
30
|
playbackRate: number;
|
|
31
31
|
muted: boolean;
|
|
@@ -51,16 +51,8 @@ type OptionalVideoProps = {
|
|
|
51
51
|
credentials: RequestCredentials | undefined;
|
|
52
52
|
objectFit: VideoObjectFit;
|
|
53
53
|
_experimentalInitiallyDrawCachedFrame: boolean;
|
|
54
|
+
_experimentalEffects: EffectsProp;
|
|
54
55
|
};
|
|
55
56
|
export type InnerVideoProps = MandatoryVideoProps & OuterVideoProps & OptionalVideoProps;
|
|
56
|
-
export type VideoProps = MandatoryVideoProps & Partial<OuterVideoProps> & Partial<OptionalVideoProps> &
|
|
57
|
-
/**
|
|
58
|
-
* When set, `<Video>` applies timing via an inner `<Sequence layout="none">` that is hidden from the timeline (`showInTimeline={false}`) so the clip still appears once as media.
|
|
59
|
-
*/
|
|
60
|
-
from?: number;
|
|
61
|
-
/**
|
|
62
|
-
* Bounds the clip in frames together with `from`. Defaults to `Infinity` like `<Sequence>`.
|
|
63
|
-
*/
|
|
64
|
-
durationInFrames?: number;
|
|
65
|
-
};
|
|
57
|
+
export type VideoProps = MandatoryVideoProps & Partial<OuterVideoProps> & Partial<OptionalVideoProps> & Pick<SequenceProps, 'durationInFrames' | 'from' | 'name'>;
|
|
66
58
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { LogLevel, LoopVolumeCurveBehavior, SequenceControls, VolumeProp } from 'remotion';
|
|
2
|
+
import type { EffectsProp, LogLevel, LoopVolumeCurveBehavior, SequenceControls, VolumeProp } from 'remotion';
|
|
3
3
|
import { type MediaOnError } from '../on-error';
|
|
4
4
|
import type { FallbackOffthreadVideoProps, VideoObjectFit } from './props';
|
|
5
5
|
type VideoForPreviewProps = {
|
|
@@ -14,7 +14,6 @@ type VideoForPreviewProps = {
|
|
|
14
14
|
readonly onVideoFrame: undefined | ((frame: CanvasImageSource) => void);
|
|
15
15
|
readonly showInTimeline: boolean;
|
|
16
16
|
readonly loop: boolean;
|
|
17
|
-
readonly name: string | undefined;
|
|
18
17
|
readonly trimAfter: number | undefined;
|
|
19
18
|
readonly trimBefore: number | undefined;
|
|
20
19
|
readonly stack: string | null;
|
|
@@ -26,7 +25,9 @@ type VideoForPreviewProps = {
|
|
|
26
25
|
readonly onError: MediaOnError | undefined;
|
|
27
26
|
readonly credentials: RequestCredentials | undefined;
|
|
28
27
|
readonly objectFit: VideoObjectFit;
|
|
28
|
+
readonly setMediaDurationInSeconds: (durationInSeconds: number) => void;
|
|
29
29
|
readonly _experimentalInitiallyDrawCachedFrame: boolean;
|
|
30
|
+
readonly _experimentalEffects: EffectsProp;
|
|
30
31
|
};
|
|
31
32
|
export declare const VideoForPreview: React.FC<VideoForPreviewProps & {
|
|
32
33
|
readonly controls: SequenceControls | undefined;
|
|
@@ -8,7 +8,6 @@ type InnerVideoProps = {
|
|
|
8
8
|
readonly src: string;
|
|
9
9
|
readonly logLevel: LogLevel;
|
|
10
10
|
readonly muted: boolean;
|
|
11
|
-
readonly name: string | undefined;
|
|
12
11
|
readonly volume: VolumeProp;
|
|
13
12
|
readonly loopVolumeCurveBehavior: LoopVolumeCurveBehavior;
|
|
14
13
|
readonly onVideoFrame: OnVideoFrame | undefined;
|
package/dist/video/video.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export declare const Video: React.ComponentType<{
|
|
|
8
8
|
className: string | undefined;
|
|
9
9
|
volume: import("remotion").VolumeProp;
|
|
10
10
|
loopVolumeCurveBehavior: import("remotion").LoopVolumeCurveBehavior;
|
|
11
|
-
name: string | undefined;
|
|
12
11
|
onVideoFrame: import("remotion").OnVideoFrame | undefined;
|
|
13
12
|
playbackRate: number;
|
|
14
13
|
muted: boolean;
|
|
@@ -31,7 +30,5 @@ export declare const Video: React.ComponentType<{
|
|
|
31
30
|
credentials: RequestCredentials | undefined;
|
|
32
31
|
objectFit: import("./props").VideoObjectFit;
|
|
33
32
|
_experimentalInitiallyDrawCachedFrame: boolean;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
durationInFrames?: number | undefined;
|
|
37
|
-
}>;
|
|
33
|
+
_experimentalEffects: import("remotion").EffectsProp;
|
|
34
|
+
}> & Pick<import("remotion").SequenceProps, "durationInFrames" | "from" | "name">>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { InputVideoTrack, WrappedCanvas } from 'mediabunny';
|
|
2
|
+
import type { EffectChainState, EffectsProp } from 'remotion';
|
|
2
3
|
import type { DelayPlaybackIfNotPremounting } from './delay-playback-if-not-premounting';
|
|
3
4
|
import type { Nonce } from './nonce-manager';
|
|
4
|
-
export declare const videoIteratorManager: ({ delayPlaybackHandleIfNotPremounting, canvas, context, drawDebugOverlay, logLevel, getOnVideoFrameCallback, videoTrack, getLoopSegmentMediaEndTimestamp, getStartTime, getIsLooping, }: {
|
|
5
|
+
export declare const videoIteratorManager: ({ delayPlaybackHandleIfNotPremounting, canvas, context, drawDebugOverlay, logLevel, getOnVideoFrameCallback, videoTrack, getLoopSegmentMediaEndTimestamp, getStartTime, getIsLooping, getEffects, getEffectChainState, getCurrentFrame, }: {
|
|
5
6
|
videoTrack: InputVideoTrack;
|
|
6
7
|
delayPlaybackHandleIfNotPremounting: () => DelayPlaybackIfNotPremounting;
|
|
7
8
|
context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null;
|
|
@@ -12,6 +13,9 @@ export declare const videoIteratorManager: ({ delayPlaybackHandleIfNotPremountin
|
|
|
12
13
|
getLoopSegmentMediaEndTimestamp: () => number;
|
|
13
14
|
getStartTime: () => number;
|
|
14
15
|
getIsLooping: () => boolean;
|
|
16
|
+
getEffects: () => EffectsProp;
|
|
17
|
+
getEffectChainState: (width: number, height: number) => EffectChainState | null;
|
|
18
|
+
getCurrentFrame: () => number;
|
|
15
19
|
}) => Promise<{
|
|
16
20
|
startVideoIterator: (timeToSeek: number, nonce: Nonce) => Promise<void>;
|
|
17
21
|
getVideoIteratorsCreated: () => number;
|
|
@@ -32,7 +36,7 @@ export declare const videoIteratorManager: ({ delayPlaybackHandleIfNotPremountin
|
|
|
32
36
|
frame: WrappedCanvas;
|
|
33
37
|
};
|
|
34
38
|
} | null;
|
|
35
|
-
drawFrame: (frame: WrappedCanvas) => void
|
|
39
|
+
drawFrame: (frame: WrappedCanvas) => Promise<void>;
|
|
36
40
|
getFramesRendered: () => number;
|
|
37
41
|
}>;
|
|
38
42
|
export type VideoIteratorManager = Awaited<ReturnType<typeof videoIteratorManager>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/media",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.456",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/esm/index.mjs",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"mediabunny": "1.42.0",
|
|
26
|
-
"remotion": "4.0.
|
|
26
|
+
"remotion": "4.0.456",
|
|
27
27
|
"zod": "4.3.6"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"react-dom": ">=16.8.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
34
|
+
"@remotion/eslint-config-internal": "4.0.456",
|
|
35
35
|
"@vitest/browser-webdriverio": "4.0.9",
|
|
36
36
|
"eslint": "9.19.0",
|
|
37
37
|
"react": "19.2.3",
|