mfx
Version:
In-browser video editing toolkit, with effects accelerated by WebGL
57 lines (56 loc) • 2.42 kB
TypeScript
import type { GenericTrack } from "./container/Track";
import { ExtendedVideoFrame } from "./frame";
/**
* @group Stream
*/
export declare abstract class MFXWritableStream<I> extends WritableStream {
protected _eventTarget: EventTarget;
abstract get identifier(): any;
constructor(underlyingSink?: UnderlyingSink<I>, strategy?: QueuingStrategy<I>);
dispatchEvent(event: Event): void;
dispatchError(error: Error): void;
addEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
/**
* @group Stream
*/
export declare abstract class MFXTransformStream<I, O> extends TransformStream {
protected _track: GenericTrack<any>;
protected _buffer: O[];
protected _eventTarget: EventTarget;
protected _controller: TransformStreamDefaultController<O>;
protected _debug: boolean;
abstract get identifier(): any;
constructor(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>);
private _copy_buffer;
get desiredSize(): number;
get track(): GenericTrack<any>;
setDebug(value: boolean): void;
setTrack(track: GenericTrack<any>): this;
queue(...items: O[]): Promise<void>;
dispatchEvent(event: Event): void;
dispatchError(error: Error): void;
addEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
export declare class MFXBufferCopy<T> extends MFXWritableStream<T> {
get identifier(): string;
constructor(a: WritableStream<T>, b: WritableStream<T>);
}
/**
* @group Video
*/
export declare class FrameTee extends MFXTransformStream<ExtendedVideoFrame, ExtendedVideoFrame> {
get identifier(): string;
constructor(ctx: (stream: ReadableStream<ExtendedVideoFrame>) => void);
}
/** @group Stream */
export declare class Void extends WritableStream<any> {
constructor();
}
export declare class PassThroughStream<T> extends MFXTransformStream<T, T> {
flushed: Promise<void>;
get identifier(): string;
constructor(transform?: (T: any) => T);
}