@yume-chan/scrcpy
Version:
TypeScript implementation of Scrcpy.
58 lines • 3.38 kB
TypeScript
import type { ReadableStream } from "@yume-chan/stream-extra";
import { TransformStream } from "@yume-chan/stream-extra";
import type { AsyncExactReadable, ValueOrPromise } from "@yume-chan/struct";
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyControlMessageType, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../../control/index.js";
import type { ScrcpyMediaStreamPacket, ScrcpyVideoStream } from "../codec.js";
import type { ScrcpyDisplay, ScrcpyEncoder } from "../types.js";
import { ScrcpyOptions } from "../types.js";
import { CodecOptions } from "./codec-options.js";
import type { ScrcpyOptionsInit1_16 } from "./init.js";
import { ScrcpyLogLevel1_16, ScrcpyVideoOrientation1_16 } from "./init.js";
import type { ScrcpyScrollController } from "./scroll.js";
export declare class ScrcpyOptions1_16 extends ScrcpyOptions<ScrcpyOptionsInit1_16> {
#private;
static readonly DEFAULTS: {
readonly logLevel: ScrcpyLogLevel1_16.Debug;
readonly maxSize: 0;
readonly bitRate: 8000000;
readonly maxFps: 0;
readonly lockVideoOrientation: ScrcpyVideoOrientation1_16.Unlocked;
readonly tunnelForward: false;
readonly crop: undefined;
readonly sendFrameMeta: true;
readonly control: true;
readonly displayId: 0;
readonly showTouches: false;
readonly stayAwake: false;
readonly codecOptions: CodecOptions;
};
static readonly SERIALIZE_ORDER: readonly ["logLevel", "maxSize", "bitRate", "maxFps", "lockVideoOrientation", "tunnelForward", "crop", "sendFrameMeta", "control", "displayId", "showTouches", "stayAwake", "codecOptions"];
static serialize<T>(options: T, order: readonly (keyof T)[]): string[];
/**
* Parse a fixed-length, null-terminated string.
* @param stream The stream to read from
* @param maxLength The maximum length of the string, including the null terminator, in bytes
* @returns The parsed string, without the null terminator
*/
static parseCString(stream: AsyncExactReadable, maxLength: number): Promise<string>;
static parseUint16BE(stream: AsyncExactReadable): Promise<number>;
static parseUint32BE(stream: AsyncExactReadable): Promise<number>;
readonly defaults: Required<ScrcpyOptionsInit1_16>;
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
get clipboard(): ReadableStream<string>;
constructor(init: ScrcpyOptionsInit1_16);
serialize(): string[];
setListEncoders(): void;
setListDisplays(): void;
parseEncoder(): ScrcpyEncoder | undefined;
parseDisplay(line: string): ScrcpyDisplay | undefined;
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): ValueOrPromise<ScrcpyVideoStream>;
parseAudioStreamMetadata(): never;
parseDeviceMessage(id: number, stream: AsyncExactReadable): Promise<boolean>;
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
createScrollController(): ScrcpyScrollController;
}
//# sourceMappingURL=options.d.ts.map