Files
story-studio/remotion/node_modules/@remotion/webcodecs/dist/create/media-fn.d.ts
2026-02-21 10:33:18 +01:00

35 lines
1.4 KiB
TypeScript

import type { MediaParserAudioSample, MediaParserInternalTypes, MediaParserLogLevel, MediaParserVideoSample } from '@remotion/media-parser';
import type { ConvertMediaContainer } from '../get-available-containers';
import type { MakeTrackAudio, MakeTrackVideo } from './make-track-info';
import type { ProgressTracker } from './progress-tracker';
export type MediaFn = {
getBlob: () => Promise<Blob>;
remove: () => Promise<void>;
addSample: (options: {
chunk: MediaParserAudioSample | MediaParserVideoSample;
trackNumber: number;
isVideo: boolean;
codecPrivate: Uint8Array | null;
}) => Promise<void>;
addTrack: (track: Omit<MakeTrackAudio, 'trackNumber'> | Omit<MakeTrackVideo, 'trackNumber'>) => Promise<{
trackNumber: number;
}>;
addWaitForFinishPromise: (promise: () => Promise<void>) => void;
waitForFinish: () => Promise<void>;
updateTrackSampleRate: (options: {
trackNumber: number;
sampleRate: number;
}) => void;
};
export type MediaFnGeneratorInput = {
writer: MediaParserInternalTypes['WriterInterface'];
onBytesProgress: (totalBytes: number) => void;
onMillisecondsProgress: (totalMilliseconds: number) => void;
logLevel: MediaParserLogLevel;
filename: string;
progressTracker: ProgressTracker;
expectedDurationInSeconds: number | null;
expectedFrameRate: number | null;
container: ConvertMediaContainer;
};