@yume-chan/scrcpy-decoder-webcodecs
Version:
Raw H.264 stream decoder and renderer using WebCodecs API (requires modern browser).
37 lines • 1.38 kB
TypeScript
import type { ScrcpyMediaStreamPacket } from "@yume-chan/scrcpy";
import { ScrcpyVideoCodecId } from "@yume-chan/scrcpy";
import type { ScrcpyVideoDecoder, ScrcpyVideoDecoderCapability } from "@yume-chan/scrcpy-decoder-tinyh264";
import { WritableStream } from "@yume-chan/stream-extra";
import type { VideoFrameRenderer } from "./render/index.js";
export declare class WebCodecsVideoDecoder implements ScrcpyVideoDecoder {
#private;
static get isSupported(): boolean;
static readonly capabilities: Record<string, ScrcpyVideoDecoderCapability>;
get codec(): ScrcpyVideoCodecId;
get writable(): WritableStream<ScrcpyMediaStreamPacket>;
get renderer(): VideoFrameRenderer;
get framesRendered(): number;
get framesSkipped(): number;
get sizeChanged(): import("@yume-chan/event").Event<{
width: number;
height: number;
}, unknown>;
get width(): number;
get height(): number;
/**
* Create a new WebCodecs video decoder.
*/
constructor({ codec, renderer }: WebCodecsVideoDecoder.Options);
snapshot(): Promise<Blob | undefined>;
dispose(): void;
}
export declare namespace WebCodecsVideoDecoder {
interface Options {
/**
* The video codec to decode
*/
codec: ScrcpyVideoCodecId;
renderer: VideoFrameRenderer;
}
}
//# sourceMappingURL=decoder.d.ts.map