@remotion/media 4.0.402 → 4.0.404
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 +2 -0
- package/dist/audio/audio-preview-iterator.d.ts +8 -3
- package/dist/audio/props.d.ts +2 -0
- package/dist/audio-extraction/audio-iterator.d.ts +5 -4
- package/dist/audio-extraction/audio-manager.d.ts +23 -7
- package/dist/audio-extraction/extract-audio.d.ts +2 -4
- package/dist/audio-iterator-manager.d.ts +2 -2
- package/dist/caches.d.ts +34 -17
- package/dist/convert-audiodata/apply-volume.d.ts +1 -1
- package/dist/convert-audiodata/resample-audiodata.d.ts +2 -2
- package/dist/debug-overlay/preview-overlay.d.ts +83 -5
- package/dist/esm/index.mjs +524 -476
- package/dist/extract-frame-and-audio.d.ts +1 -2
- package/dist/get-sink.d.ts +1 -2
- package/dist/index.d.ts +2 -1
- package/dist/media-player.d.ts +1 -1
- package/dist/on-error.d.ts +12 -0
- package/dist/show-in-timeline.d.ts +2 -2
- package/dist/use-media-in-timeline.d.ts +2 -2
- package/dist/video/props.d.ts +5 -0
- package/dist/video/video-for-preview.d.ts +2 -0
- package/dist/video/video-for-rendering.d.ts +2 -0
- package/dist/video/video-preview-iterator.d.ts +7 -2
- package/dist/video-extraction/extract-frame-via-broadcast-channel.d.ts +1 -2
- package/dist/video-extraction/extract-frame.d.ts +2 -4
- package/dist/video-extraction/get-frames-since-keyframe.d.ts +2 -12
- package/dist/video-extraction/keyframe-bank.d.ts +14 -12
- package/dist/video-extraction/keyframe-manager.d.ts +7 -9
- package/dist/video-iterator-manager.d.ts +4 -5
- package/package.json +8 -7
- package/dist/audio/allow-wait.js +0 -15
- package/dist/audio/audio-for-preview.js +0 -304
- package/dist/audio/audio-for-rendering.js +0 -194
- package/dist/audio/audio-preview-iterator.js +0 -176
- package/dist/audio/audio.js +0 -20
- package/dist/audio/props.js +0 -1
- package/dist/audio-extraction/audio-cache.js +0 -66
- package/dist/audio-extraction/audio-iterator.js +0 -132
- package/dist/audio-extraction/audio-manager.js +0 -113
- package/dist/audio-extraction/extract-audio.js +0 -132
- package/dist/audio-iterator-manager.js +0 -228
- package/dist/browser-can-use-webgl2.js +0 -13
- package/dist/caches.js +0 -61
- package/dist/calculate-playbacktime.js +0 -4
- package/dist/convert-audiodata/apply-volume.js +0 -17
- package/dist/convert-audiodata/combine-audiodata.js +0 -23
- package/dist/convert-audiodata/convert-audiodata.js +0 -73
- package/dist/convert-audiodata/resample-audiodata.js +0 -94
- package/dist/debug-overlay/preview-overlay.js +0 -44
- package/dist/extract-frame-and-audio.js +0 -101
- package/dist/get-sink.js +0 -15
- package/dist/get-time-in-seconds.js +0 -40
- package/dist/helpers/round-to-4-digits.js +0 -4
- package/dist/index.js +0 -12
- package/dist/is-type-of-error.js +0 -20
- package/dist/looped-frame.js +0 -10
- package/dist/media-player.js +0 -445
- package/dist/nonce-manager.js +0 -13
- package/dist/prewarm-iterator-for-looping.js +0 -56
- package/dist/render-timestamp-range.js +0 -9
- package/dist/show-in-timeline.js +0 -31
- package/dist/use-media-in-timeline.js +0 -103
- package/dist/video/props.js +0 -1
- package/dist/video/video-for-preview.js +0 -329
- package/dist/video/video-for-rendering.js +0 -263
- package/dist/video/video-preview-iterator.js +0 -122
- package/dist/video/video.js +0 -35
- package/dist/video-extraction/add-broadcast-channel-listener.js +0 -125
- package/dist/video-extraction/extract-frame-via-broadcast-channel.js +0 -113
- package/dist/video-extraction/extract-frame.js +0 -85
- package/dist/video-extraction/get-allocation-size.js +0 -6
- package/dist/video-extraction/get-frames-since-keyframe.js +0 -108
- package/dist/video-extraction/keyframe-bank.js +0 -159
- package/dist/video-extraction/keyframe-manager.js +0 -206
- package/dist/video-extraction/remember-actual-matroska-timestamps.js +0 -19
- package/dist/video-extraction/rotate-frame.js +0 -34
- package/dist/video-iterator-manager.js +0 -109
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { LogLevel } from 'remotion';
|
|
2
1
|
import type { ExtractFrameViaBroadcastChannelResult } from './video-extraction/extract-frame-via-broadcast-channel';
|
|
3
2
|
export declare const extractFrameAndAudio: ({ src, timeInSeconds, logLevel, durationInSeconds, playbackRate, includeAudio, includeVideo, loop, audioStreamIndex, trimAfter, trimBefore, fps, maxCacheSize, }: {
|
|
4
3
|
src: string;
|
|
5
4
|
timeInSeconds: number;
|
|
6
|
-
logLevel:
|
|
5
|
+
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
7
6
|
durationInSeconds: number;
|
|
8
7
|
playbackRate: number;
|
|
9
8
|
includeAudio: boolean;
|
package/dist/get-sink.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { LogLevel } from 'remotion';
|
|
2
1
|
import type { GetSink } from './video-extraction/get-frames-since-keyframe';
|
|
3
2
|
export declare const sinkPromises: Record<string, Promise<GetSink>>;
|
|
4
|
-
export declare const getSink: (src: string, logLevel:
|
|
3
|
+
export declare const getSink: (src: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<{
|
|
5
4
|
getVideo: () => Promise<import("./video-extraction/get-frames-since-keyframe").VideoSinkResult>;
|
|
6
5
|
getAudio: (index: number) => Promise<import("./video-extraction/get-frames-since-keyframe").AudioSinkResult>;
|
|
7
6
|
actualMatroskaTimestamps: {
|
package/dist/index.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ export declare const experimental_Audio: import("react").FC<import(".").AudioPro
|
|
|
10
10
|
export declare const experimental_Video: import("react").FC<import(".").VideoProps>;
|
|
11
11
|
export { AudioForPreview } from './audio/audio-for-preview';
|
|
12
12
|
export { AudioProps, FallbackHtml5AudioProps } from './audio/props';
|
|
13
|
-
export {
|
|
13
|
+
export { MediaErrorAction } from './on-error';
|
|
14
|
+
export { FallbackOffthreadVideoProps, VideoProps } from './video/props';
|
|
14
15
|
export { Audio, Video };
|
package/dist/media-player.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export declare class MediaPlayer {
|
|
|
42
42
|
private isPremounting;
|
|
43
43
|
private isPostmounting;
|
|
44
44
|
private seekPromiseChain;
|
|
45
|
-
constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, globalPlaybackRate, audioStreamIndex, fps, debugOverlay, bufferState, isPremounting, isPostmounting, onVideoFrameCallback, playing
|
|
45
|
+
constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, globalPlaybackRate, audioStreamIndex, fps, debugOverlay, bufferState, isPremounting, isPostmounting, onVideoFrameCallback, playing }: {
|
|
46
46
|
canvas: HTMLCanvasElement | OffscreenCanvas | null;
|
|
47
47
|
src: string;
|
|
48
48
|
logLevel: LogLevel;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type MediaErrorEvent = {
|
|
2
|
+
error: Error;
|
|
3
|
+
};
|
|
4
|
+
export type MediaErrorAction = 'fallback' | 'fail';
|
|
5
|
+
export type MediaOnError = (error: Error) => MediaErrorAction | undefined;
|
|
6
|
+
export declare const callOnErrorAndResolve: ({ onError, error, disallowFallback, isClientSideRendering, clientSideError, }: {
|
|
7
|
+
onError: MediaOnError | undefined;
|
|
8
|
+
error: Error;
|
|
9
|
+
clientSideError: Error;
|
|
10
|
+
disallowFallback: boolean;
|
|
11
|
+
isClientSideRendering: boolean;
|
|
12
|
+
}) => [MediaErrorAction, Error];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LoopDisplay } from 'remotion';
|
|
2
2
|
export declare const useLoopDisplay: ({ loop, mediaDurationInSeconds, playbackRate, trimAfter, trimBefore, }: {
|
|
3
3
|
loop: boolean;
|
|
4
4
|
mediaDurationInSeconds: number | null;
|
|
5
5
|
trimAfter: number | undefined;
|
|
6
6
|
trimBefore: number | undefined;
|
|
7
7
|
playbackRate: number;
|
|
8
|
-
}) =>
|
|
8
|
+
}) => LoopDisplay | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LoopDisplay } from 'remotion';
|
|
2
2
|
import { type VolumeProp } from 'remotion';
|
|
3
3
|
export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, stack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, trimBefore, trimAfter, }: {
|
|
4
4
|
volume: VolumeProp | undefined;
|
|
@@ -11,7 +11,7 @@ export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType,
|
|
|
11
11
|
showInTimeline: boolean;
|
|
12
12
|
premountDisplay: number | null;
|
|
13
13
|
postmountDisplay: number | null;
|
|
14
|
-
loopDisplay:
|
|
14
|
+
loopDisplay: LoopDisplay | undefined;
|
|
15
15
|
trimBefore: number | undefined;
|
|
16
16
|
trimAfter: number | undefined;
|
|
17
17
|
}) => {
|
package/dist/video/props.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, VolumeProp } from 'remotion';
|
|
2
|
+
import type { MediaOnError } from '../on-error';
|
|
3
|
+
export type MediaErrorEvent = {
|
|
4
|
+
error: Error;
|
|
5
|
+
};
|
|
2
6
|
export type FallbackOffthreadVideoProps = {
|
|
3
7
|
acceptableTimeShiftInSeconds?: number;
|
|
4
8
|
transparent?: boolean;
|
|
@@ -39,6 +43,7 @@ type OptionalVideoProps = {
|
|
|
39
43
|
showInTimeline: boolean;
|
|
40
44
|
debugOverlay: boolean;
|
|
41
45
|
headless: boolean;
|
|
46
|
+
onError: MediaOnError | undefined;
|
|
42
47
|
};
|
|
43
48
|
export type InnerVideoProps = MandatoryVideoProps & OuterVideoProps & OptionalVideoProps;
|
|
44
49
|
export type VideoProps = MandatoryVideoProps & Partial<OuterVideoProps> & Partial<OptionalVideoProps>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { LogLevel, LoopVolumeCurveBehavior, VolumeProp } from 'remotion';
|
|
3
|
+
import { type MediaOnError } from '../on-error';
|
|
3
4
|
import type { FallbackOffthreadVideoProps } from './props';
|
|
4
5
|
type VideoForPreviewProps = {
|
|
5
6
|
readonly src: string;
|
|
@@ -22,6 +23,7 @@ type VideoForPreviewProps = {
|
|
|
22
23
|
readonly audioStreamIndex: number;
|
|
23
24
|
readonly debugOverlay: boolean;
|
|
24
25
|
readonly headless: boolean;
|
|
26
|
+
readonly onError: MediaOnError | undefined;
|
|
25
27
|
};
|
|
26
28
|
export declare const VideoForPreview: React.FC<VideoForPreviewProps>;
|
|
27
29
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, VolumeProp } from 'remotion';
|
|
3
|
+
import { type MediaOnError } from '../on-error';
|
|
3
4
|
import type { FallbackOffthreadVideoProps } from './props';
|
|
4
5
|
type InnerVideoProps = {
|
|
5
6
|
readonly className: string | undefined;
|
|
@@ -23,6 +24,7 @@ type InnerVideoProps = {
|
|
|
23
24
|
readonly trimBeforeValue: number | undefined;
|
|
24
25
|
readonly trimAfterValue: number | undefined;
|
|
25
26
|
readonly headless: boolean;
|
|
27
|
+
readonly onError: MediaOnError | undefined;
|
|
26
28
|
};
|
|
27
29
|
export declare const VideoForRendering: React.FC<InnerVideoProps>;
|
|
28
30
|
export {};
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { WrappedCanvas } from 'mediabunny';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export declare const createVideoIterator: (timeToSeek: number, cache: {
|
|
3
|
+
prewarmIteratorForLooping: ({ timeToSeek }: {
|
|
4
|
+
timeToSeek: number;
|
|
5
|
+
}) => void;
|
|
6
|
+
makeIteratorOrUsePrewarmed: (timeToSeek: number) => AsyncGenerator<WrappedCanvas, void, unknown>;
|
|
7
|
+
destroy: () => void;
|
|
8
|
+
}) => {
|
|
4
9
|
destroy: () => void;
|
|
5
10
|
getNext: () => Promise<IteratorResult<WrappedCanvas, void>>;
|
|
6
11
|
isDestroyed: () => boolean;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type LogLevel } from 'remotion';
|
|
2
1
|
import type { PcmS16AudioData } from '../convert-audiodata/convert-audiodata';
|
|
3
2
|
export type ExtractFrameViaBroadcastChannelResult = {
|
|
4
3
|
type: 'success';
|
|
@@ -21,7 +20,7 @@ export declare const extractFrameViaBroadcastChannel: ({ src, timeInSeconds, log
|
|
|
21
20
|
timeInSeconds: number;
|
|
22
21
|
durationInSeconds: number;
|
|
23
22
|
playbackRate: number;
|
|
24
|
-
logLevel:
|
|
23
|
+
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
25
24
|
includeAudio: boolean;
|
|
26
25
|
includeVideo: boolean;
|
|
27
26
|
isClientSideRendering: boolean;
|
|
@@ -2,7 +2,7 @@ import type { VideoSample } from 'mediabunny';
|
|
|
2
2
|
import { type LogLevel } from 'remotion';
|
|
3
3
|
type ExtractFrameResult = {
|
|
4
4
|
type: 'success';
|
|
5
|
-
|
|
5
|
+
sample: VideoSample | null;
|
|
6
6
|
durationInSeconds: number | null;
|
|
7
7
|
} | {
|
|
8
8
|
type: 'cannot-decode';
|
|
@@ -26,7 +26,5 @@ type ExtractFrameParams = {
|
|
|
26
26
|
fps: number;
|
|
27
27
|
maxCacheSize: number;
|
|
28
28
|
};
|
|
29
|
-
declare const
|
|
30
|
-
type ExtractFrameReturnType = Awaited<ReturnType<typeof extractFrameInternal>>;
|
|
31
|
-
export declare const extractFrame: (params: ExtractFrameParams) => Promise<ExtractFrameReturnType>;
|
|
29
|
+
export declare const extractFrame: (params: ExtractFrameParams) => Promise<ExtractFrameResult>;
|
|
32
30
|
export {};
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AudioSampleSink, EncodedPacketSink, VideoSampleSink } from 'mediabunny';
|
|
3
|
-
import type { LogLevel } from 'remotion';
|
|
1
|
+
import { AudioSampleSink, VideoSampleSink } from 'mediabunny';
|
|
4
2
|
type VideoSinks = {
|
|
5
3
|
sampleSink: VideoSampleSink;
|
|
6
|
-
packetSink: EncodedPacketSink;
|
|
7
4
|
};
|
|
8
5
|
type AudioSinks = {
|
|
9
6
|
sampleSink: AudioSampleSink;
|
|
10
7
|
};
|
|
11
8
|
export type AudioSinkResult = AudioSinks | 'no-audio-track' | 'cannot-decode-audio' | 'unknown-container-format' | 'network-error';
|
|
12
|
-
export type VideoSinkResult = VideoSinks | 'no-video-track' | 'cannot-decode' | 'unknown-container-format' | 'network-error';
|
|
9
|
+
export type VideoSinkResult = VideoSinks | 'no-video-track' | 'cannot-decode' | 'cannot-decode-alpha' | 'unknown-container-format' | 'network-error';
|
|
13
10
|
export declare const getSinks: (src: string) => Promise<{
|
|
14
11
|
getVideo: () => Promise<VideoSinkResult>;
|
|
15
12
|
getAudio: (index: number) => Promise<AudioSinkResult>;
|
|
@@ -21,11 +18,4 @@ export declare const getSinks: (src: string) => Promise<{
|
|
|
21
18
|
getDuration: () => Promise<number>;
|
|
22
19
|
}>;
|
|
23
20
|
export type GetSink = Awaited<ReturnType<typeof getSinks>>;
|
|
24
|
-
export declare const getFramesSinceKeyframe: ({ packetSink, videoSampleSink, startPacket, logLevel, src, }: {
|
|
25
|
-
packetSink: EncodedPacketSink;
|
|
26
|
-
videoSampleSink: VideoSampleSink;
|
|
27
|
-
startPacket: EncodedPacket;
|
|
28
|
-
logLevel: LogLevel;
|
|
29
|
-
src: string;
|
|
30
|
-
}) => Promise<import("./keyframe-bank").KeyframeBank>;
|
|
31
21
|
export {};
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
import type { VideoSample } from 'mediabunny';
|
|
1
|
+
import type { VideoSample, VideoSampleSink } from 'mediabunny';
|
|
2
2
|
import { type LogLevel } from 'remotion';
|
|
3
3
|
export type KeyframeBank = {
|
|
4
4
|
src: string;
|
|
5
|
-
startTimestampInSeconds: number;
|
|
6
|
-
endTimestampInSeconds: number;
|
|
7
5
|
getFrameFromTimestamp: (timestamp: number) => Promise<VideoSample | null>;
|
|
8
|
-
prepareForDeletion: (logLevel: LogLevel) => {
|
|
6
|
+
prepareForDeletion: (logLevel: LogLevel, reason: string) => {
|
|
9
7
|
framesDeleted: number;
|
|
10
8
|
};
|
|
11
|
-
deleteFramesBeforeTimestamp: ({ logLevel, timestampInSeconds
|
|
9
|
+
deleteFramesBeforeTimestamp: ({ logLevel, timestampInSeconds }: {
|
|
12
10
|
timestampInSeconds: number;
|
|
13
11
|
logLevel: LogLevel;
|
|
14
12
|
}) => void;
|
|
15
13
|
hasTimestampInSecond: (timestamp: number) => Promise<boolean>;
|
|
16
|
-
addFrame: (frame: VideoSample) => void;
|
|
14
|
+
addFrame: (frame: VideoSample, logLevel: LogLevel) => void;
|
|
17
15
|
getOpenFrameCount: () => {
|
|
18
16
|
size: number;
|
|
19
17
|
timestamps: number[];
|
|
20
18
|
};
|
|
21
19
|
getLastUsed: () => number;
|
|
20
|
+
canSatisfyTimestamp: (timestamp: number) => boolean;
|
|
21
|
+
getRangeOfTimestamps: () => {
|
|
22
|
+
firstTimestamp: number;
|
|
23
|
+
lastTimestamp: number;
|
|
24
|
+
} | null;
|
|
22
25
|
};
|
|
23
|
-
export declare const makeKeyframeBank: ({
|
|
24
|
-
|
|
25
|
-
endTimestampInSeconds: number;
|
|
26
|
-
sampleIterator: AsyncGenerator<VideoSample, void, unknown>;
|
|
27
|
-
logLevel: LogLevel;
|
|
26
|
+
export declare const makeKeyframeBank: ({ logLevel: parentLogLevel, src, videoSampleSink, requestedTimestamp, }: {
|
|
27
|
+
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
28
28
|
src: string;
|
|
29
|
-
|
|
29
|
+
videoSampleSink: VideoSampleSink;
|
|
30
|
+
requestedTimestamp: number;
|
|
31
|
+
}) => Promise<KeyframeBank>;
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type LogLevel } from 'remotion';
|
|
1
|
+
import type { VideoSampleSink } from 'mediabunny';
|
|
3
2
|
import { type KeyframeBank } from './keyframe-bank';
|
|
4
3
|
export declare const makeKeyframeManager: () => {
|
|
5
|
-
requestKeyframeBank: ({
|
|
6
|
-
packetSink: EncodedPacketSink;
|
|
4
|
+
requestKeyframeBank: ({ timestamp, videoSampleSink, src, logLevel, maxCacheSize, }: {
|
|
7
5
|
timestamp: number;
|
|
8
6
|
videoSampleSink: VideoSampleSink;
|
|
9
7
|
src: string;
|
|
10
|
-
logLevel:
|
|
8
|
+
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
11
9
|
maxCacheSize: number;
|
|
12
|
-
}) => Promise<KeyframeBank
|
|
13
|
-
getCacheStats: () =>
|
|
10
|
+
}) => Promise<KeyframeBank>;
|
|
11
|
+
getCacheStats: () => {
|
|
14
12
|
count: number;
|
|
15
13
|
totalSize: number;
|
|
16
|
-
}
|
|
17
|
-
clearAll: (logLevel:
|
|
14
|
+
};
|
|
15
|
+
clearAll: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
|
|
18
16
|
};
|
|
19
17
|
export type KeyframeManager = Awaited<ReturnType<typeof makeKeyframeManager>>;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import type { InputVideoTrack, WrappedCanvas } from 'mediabunny';
|
|
2
|
-
import type { LogLevel } from 'remotion';
|
|
3
2
|
import type { Nonce } from './nonce-manager';
|
|
4
3
|
export declare const videoIteratorManager: ({ delayPlaybackHandleIfNotPremounting, canvas, context, drawDebugOverlay, logLevel, getOnVideoFrameCallback, videoTrack, getEndTime, getStartTime, getIsLooping, }: {
|
|
5
4
|
videoTrack: InputVideoTrack;
|
|
6
5
|
delayPlaybackHandleIfNotPremounting: () => {
|
|
7
6
|
unblock: () => void;
|
|
8
7
|
};
|
|
9
|
-
context:
|
|
10
|
-
canvas:
|
|
11
|
-
getOnVideoFrameCallback: () =>
|
|
12
|
-
logLevel:
|
|
8
|
+
context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null;
|
|
9
|
+
canvas: HTMLCanvasElement | OffscreenCanvas | null;
|
|
10
|
+
getOnVideoFrameCallback: () => ((frame: CanvasImageSource) => void) | null;
|
|
11
|
+
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
13
12
|
drawDebugOverlay: () => void;
|
|
14
13
|
getEndTime: () => number;
|
|
15
14
|
getStartTime: () => number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/media",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.404",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/esm/index.mjs",
|
|
@@ -12,30 +12,32 @@
|
|
|
12
12
|
"bugs": {
|
|
13
13
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
14
14
|
},
|
|
15
|
+
"type": "module",
|
|
15
16
|
"scripts": {
|
|
16
17
|
"if-node-18+": "node -e \"const [maj]=process.versions.node.split('.').map(Number); process.exit(maj>=18?0:1)\"",
|
|
17
18
|
"formatting": "prettier --experimental-cli src --check",
|
|
18
19
|
"lint": "eslint src",
|
|
19
|
-
"watch": "
|
|
20
|
+
"watch": "tsgo -w",
|
|
20
21
|
"test": "node src/test/execute.mjs",
|
|
21
|
-
"make": "
|
|
22
|
+
"make": "tsgo && bun --env-file=../.env.bundle bundle.ts"
|
|
22
23
|
},
|
|
23
24
|
"dependencies": {
|
|
24
25
|
"mediabunny": "1.27.3",
|
|
25
|
-
"remotion": "4.0.
|
|
26
|
+
"remotion": "4.0.404"
|
|
26
27
|
},
|
|
27
28
|
"peerDependencies": {
|
|
28
29
|
"react": ">=16.8.0",
|
|
29
30
|
"react-dom": ">=16.8.0"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
33
|
+
"@remotion/eslint-config-internal": "4.0.404",
|
|
33
34
|
"@vitest/browser-webdriverio": "4.0.9",
|
|
34
35
|
"eslint": "9.19.0",
|
|
35
36
|
"react": "19.2.3",
|
|
36
37
|
"react-dom": "19.2.3",
|
|
37
38
|
"vitest": "4.0.9",
|
|
38
|
-
"webdriverio": "9.19.2"
|
|
39
|
+
"webdriverio": "9.19.2",
|
|
40
|
+
"@typescript/native-preview": "7.0.0-dev.20260105.1"
|
|
39
41
|
},
|
|
40
42
|
"keywords": [],
|
|
41
43
|
"publishConfig": {
|
|
@@ -44,7 +46,6 @@
|
|
|
44
46
|
"exports": {
|
|
45
47
|
".": {
|
|
46
48
|
"types": "./dist/index.d.ts",
|
|
47
|
-
"require": "./dist/index.js",
|
|
48
49
|
"module": "./dist/esm/index.mjs",
|
|
49
50
|
"import": "./dist/esm/index.mjs"
|
|
50
51
|
},
|
package/dist/audio/allow-wait.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const allowWaitRoutine = async (next, waitFn) => {
|
|
2
|
-
const result = await Promise.race([
|
|
3
|
-
next,
|
|
4
|
-
new Promise((resolve) => {
|
|
5
|
-
Promise.resolve().then(() => resolve());
|
|
6
|
-
}),
|
|
7
|
-
]);
|
|
8
|
-
if (!result) {
|
|
9
|
-
const unblock = waitFn.waitCallback();
|
|
10
|
-
const newRes = await next;
|
|
11
|
-
unblock();
|
|
12
|
-
return newRes;
|
|
13
|
-
}
|
|
14
|
-
return result;
|
|
15
|
-
};
|