UNPKG

@yume-chan/scrcpy

Version:
76 lines 2.58 kB
import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js"; export class ScrcpyOptions2_0 { static Defaults = Defaults; value; get controlMessageTypes() { return ControlMessageTypes; } #clipboard; get clipboard() { return this.#clipboard; } #ackClipboardHandler; constructor(init) { this.value = { ...Defaults, ...init }; if (this.value.control && this.value.clipboardAutosync) { this.#clipboard = new ClipboardStream(); this.#ackClipboardHandler = new AckClipboardHandler(); } } serialize() { return serialize(this.value, Defaults); } setListDisplays() { setListDisplays(this.value); } parseDisplay(line) { return parseDisplay(line); } setListEncoders() { setListEncoders(this.value); } parseEncoder(line) { return parseEncoder(line); } parseVideoStreamMetadata(stream) { return parseVideoStreamMetadata(this.value, stream); } parseAudioStreamMetadata(stream) { return parseAudioStreamMetadata(stream, this.value); } async parseDeviceMessage(id, stream) { if (await this.#clipboard?.parse(id, stream)) { return; } if (await this.#ackClipboardHandler?.parse(id, stream)) { return; } throw new Error("Unknown device message"); } endDeviceMessageStream(e) { if (e) { this.#clipboard?.error(e); this.#ackClipboardHandler?.error(e); } else { this.#clipboard?.close(); this.#ackClipboardHandler?.close(); } } createMediaStreamTransformer() { return createMediaStreamTransformer(this.value); } serializeInjectTouchControlMessage(message) { return serializeInjectTouchControlMessage(message); } serializeBackOrScreenOnControlMessage(message) { return serializeBackOrScreenOnControlMessage(message); } serializeSetClipboardControlMessage(message) { return this.#ackClipboardHandler.serializeSetClipboardControlMessage(message); } createScrollController() { return createScrollController(); } } //# sourceMappingURL=options.js.map