@remotion/media 4.0.365 → 4.0.366

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.
@@ -1,4 +1,7 @@
1
1
  import type { LogLevel, useBufferState } from 'remotion';
2
+ import { type AudioIteratorManager } from './audio-iterator-manager';
3
+ import type { Nonce } from './nonce-manager';
4
+ import type { VideoIteratorManager } from './video-iterator-manager';
2
5
  export type MediaPlayerInitResult = {
3
6
  type: 'success';
4
7
  durationInSeconds: number;
@@ -19,30 +22,28 @@ export declare class MediaPlayer {
19
22
  private src;
20
23
  private logLevel;
21
24
  private playbackRate;
25
+ private globalPlaybackRate;
22
26
  private audioStreamIndex;
23
- private canvasSink;
24
- private videoFrameIterator;
25
- private debugStats;
26
- private audioSink;
27
- private audioBufferIterator;
28
- private gainNode;
29
- private currentVolume;
30
27
  private sharedAudioContext;
28
+ audioIteratorManager: AudioIteratorManager | null;
29
+ videoIteratorManager: VideoIteratorManager | null;
31
30
  private audioSyncAnchor;
32
31
  private playing;
33
- private muted;
34
32
  private loop;
35
33
  private fps;
36
34
  private trimBefore;
37
35
  private trimAfter;
38
- private initialized;
39
36
  private totalDuration;
40
37
  private debugOverlay;
41
- private onVideoFrameCallback?;
38
+ private nonceManager;
39
+ private onVideoFrameCallback;
42
40
  private initializationPromise;
43
41
  private bufferState;
44
- constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, audioStreamIndex, fps, debugOverlay, bufferState, }: {
45
- canvas: HTMLCanvasElement | null;
42
+ private isPremounting;
43
+ private isPostmounting;
44
+ private seekPromiseChain;
45
+ constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, globalPlaybackRate, audioStreamIndex, fps, debugOverlay, bufferState, isPremounting, isPostmounting, }: {
46
+ canvas: HTMLCanvasElement | OffscreenCanvas | null;
46
47
  src: string;
47
48
  logLevel: LogLevel;
48
49
  sharedAudioContext: AudioContext;
@@ -50,38 +51,39 @@ export declare class MediaPlayer {
50
51
  trimBefore: number | undefined;
51
52
  trimAfter: number | undefined;
52
53
  playbackRate: number;
54
+ globalPlaybackRate: number;
53
55
  audioStreamIndex: number;
54
56
  fps: number;
55
57
  debugOverlay: boolean;
56
58
  bufferState: ReturnType<typeof useBufferState>;
59
+ isPremounting: boolean;
60
+ isPostmounting: boolean;
57
61
  });
58
62
  private input;
59
- private isReady;
60
- private hasAudio;
61
63
  private isDisposalError;
62
64
  initialize(startTimeUnresolved: number): Promise<MediaPlayerInitResult>;
63
65
  private _initialize;
64
- private clearCanvas;
65
- private currentSeekNonce;
66
- private seekPromiseChain;
67
66
  seekTo(time: number): Promise<void>;
68
- seekToDoNotCallDirectly(time: number, nonce: number): Promise<void>;
67
+ seekToDoNotCallDirectly(newTime: number, nonce: Nonce): Promise<void>;
69
68
  play(time: number): Promise<void>;
69
+ private delayPlaybackHandleIfNotPremounting;
70
70
  pause(): void;
71
71
  setMuted(muted: boolean): void;
72
72
  setVolume(volume: number): void;
73
+ setTrimBefore(trimBefore: number | undefined): void;
74
+ setTrimAfter(trimAfter: number | undefined): void;
73
75
  setDebugOverlay(debugOverlay: boolean): void;
76
+ private updateAfterPlaybackRateChange;
74
77
  setPlaybackRate(rate: number): void;
78
+ setGlobalPlaybackRate(rate: number): void;
75
79
  setFps(fps: number): void;
80
+ setIsPremounting(isPremounting: boolean): void;
81
+ setIsPostmounting(isPostmounting: boolean): void;
76
82
  setLoop(loop: boolean): void;
77
83
  dispose(): Promise<void>;
84
+ private scheduleAudioNode;
78
85
  private getPlaybackTime;
79
86
  private setPlaybackTime;
80
- private audioChunksForAfterResuming;
81
- private scheduleAudioChunk;
82
- onVideoFrame(callback: (frame: CanvasImageSource) => void): () => void;
83
- private drawFrame;
84
- private startAudioIterator;
87
+ setVideoFrameCallback(callback: null | ((frame: CanvasImageSource) => void)): void;
85
88
  private drawDebugOverlay;
86
- private startVideoIterator;
87
89
  }