@yume-chan/scrcpy-decoder-tinyh264
Version:
Raw H.264 stream decoder and renderer wrapping TinyH264 and YUVCanvas packages (software decoding).
29 lines (22 loc) • 823 B
text/typescript
import type { Disposable, Event } from "@yume-chan/event";
import type {
ScrcpyMediaStreamPacket,
ScrcpyVideoCodecId,
} from "@yume-chan/scrcpy";
import type { WritableStream } from "@yume-chan/stream-extra";
export interface ScrcpyVideoDecoderCapability {
maxProfile?: number;
maxLevel?: number;
}
export interface ScrcpyVideoDecoder extends Disposable {
readonly sizeChanged: Event<{ width: number; height: number }>;
readonly width: number;
readonly height: number;
readonly framesRendered: number;
readonly framesSkipped: number;
readonly writable: WritableStream<ScrcpyMediaStreamPacket>;
}
export interface ScrcpyVideoDecoderConstructor {
readonly capabilities: Record<string, ScrcpyVideoDecoderCapability>;
new (codec: ScrcpyVideoCodecId): ScrcpyVideoDecoder;
}