@yume-chan/scrcpy 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +3 -0
- package/esm/1_15/impl/clipboard-stream.d.ts +2 -1
- package/esm/1_15/impl/clipboard-stream.d.ts.map +1 -1
- package/esm/1_15/impl/clipboard-stream.js +4 -7
- package/esm/1_15/impl/clipboard-stream.js.map +1 -1
- package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
- package/esm/1_15/impl/scroll-controller.js +22 -21
- package/esm/1_15/impl/scroll-controller.js.map +1 -1
- package/esm/1_15/options.d.ts +2 -3
- package/esm/1_15/options.d.ts.map +1 -1
- package/esm/1_15/options.js +6 -15
- package/esm/1_15/options.js.map +1 -1
- package/esm/1_17/options.d.ts +2 -3
- package/esm/1_17/options.d.ts.map +1 -1
- package/esm/1_17/options.js +6 -15
- package/esm/1_17/options.js.map +1 -1
- package/esm/1_18/options.d.ts +2 -3
- package/esm/1_18/options.d.ts.map +1 -1
- package/esm/1_18/options.js +6 -15
- package/esm/1_18/options.js.map +1 -1
- package/esm/1_21/impl/set-clipboard.d.ts +2 -1
- package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
- package/esm/1_21/impl/set-clipboard.js +2 -5
- package/esm/1_21/impl/set-clipboard.js.map +1 -1
- package/esm/1_21/options.d.ts +2 -3
- package/esm/1_21/options.d.ts.map +1 -1
- package/esm/1_21/options.js +7 -21
- package/esm/1_21/options.js.map +1 -1
- package/esm/1_22/options.d.ts +2 -3
- package/esm/1_22/options.d.ts.map +1 -1
- package/esm/1_22/options.js +7 -21
- package/esm/1_22/options.js.map +1 -1
- package/esm/1_23/options.d.ts +2 -3
- package/esm/1_23/options.d.ts.map +1 -1
- package/esm/1_23/options.js +7 -21
- package/esm/1_23/options.js.map +1 -1
- package/esm/1_24/options.d.ts +2 -3
- package/esm/1_24/options.d.ts.map +1 -1
- package/esm/1_24/options.js +7 -21
- package/esm/1_24/options.js.map +1 -1
- package/esm/1_25/options.d.ts +2 -3
- package/esm/1_25/options.d.ts.map +1 -1
- package/esm/1_25/options.js +7 -21
- package/esm/1_25/options.js.map +1 -1
- package/esm/2_0/options.d.ts +2 -3
- package/esm/2_0/options.d.ts.map +1 -1
- package/esm/2_0/options.js +7 -21
- package/esm/2_0/options.js.map +1 -1
- package/esm/2_1/options.d.ts +2 -3
- package/esm/2_1/options.d.ts.map +1 -1
- package/esm/2_1/options.js +7 -21
- package/esm/2_1/options.js.map +1 -1
- package/esm/2_2/options.d.ts +2 -3
- package/esm/2_2/options.d.ts.map +1 -1
- package/esm/2_2/options.js +7 -21
- package/esm/2_2/options.js.map +1 -1
- package/esm/2_3/options.d.ts +2 -3
- package/esm/2_3/options.d.ts.map +1 -1
- package/esm/2_3/options.js +7 -21
- package/esm/2_3/options.js.map +1 -1
- package/esm/2_4/impl/uhid-output-stream.d.ts +2 -1
- package/esm/2_4/impl/uhid-output-stream.d.ts.map +1 -1
- package/esm/2_4/impl/uhid-output-stream.js +2 -5
- package/esm/2_4/impl/uhid-output-stream.js.map +1 -1
- package/esm/2_4/options.d.ts +2 -3
- package/esm/2_4/options.d.ts.map +1 -1
- package/esm/2_4/options.js +8 -27
- package/esm/2_4/options.js.map +1 -1
- package/esm/2_6/options.d.ts +2 -3
- package/esm/2_6/options.d.ts.map +1 -1
- package/esm/2_6/options.js +8 -22
- package/esm/2_6/options.js.map +1 -1
- package/esm/2_7/impl/serialize-uhid-create.d.ts +2 -2
- package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
- package/esm/2_7/impl/serialize-uhid-create.js +3 -4
- package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
- package/esm/2_7/options.d.ts +2 -3
- package/esm/2_7/options.d.ts.map +1 -1
- package/esm/2_7/options.js +8 -22
- package/esm/2_7/options.js.map +1 -1
- package/esm/3_0/options.d.ts +2 -3
- package/esm/3_0/options.d.ts.map +1 -1
- package/esm/3_0/options.js +8 -22
- package/esm/3_0/options.js.map +1 -1
- package/esm/3_1/impl/serialize-uhid-create.d.ts +2 -2
- package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
- package/esm/3_1/impl/serialize-uhid-create.js +3 -4
- package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
- package/esm/3_1/options.d.ts +2 -3
- package/esm/3_1/options.d.ts.map +1 -1
- package/esm/3_1/options.js +8 -22
- package/esm/3_1/options.js.map +1 -1
- package/esm/3_2/options.d.ts +2 -3
- package/esm/3_2/options.d.ts.map +1 -1
- package/esm/3_2/options.js +8 -22
- package/esm/3_2/options.js.map +1 -1
- package/esm/3_3.d.ts +8 -0
- package/esm/3_3.d.ts.map +1 -0
- package/esm/3_3.js +7 -0
- package/esm/3_3.js.map +1 -0
- package/esm/3_3_1/impl/index.d.ts +3 -0
- package/esm/3_3_1/impl/index.d.ts.map +1 -0
- package/esm/3_3_1/impl/index.js +3 -0
- package/esm/3_3_1/impl/index.js.map +1 -0
- package/esm/3_3_1/impl/prev.d.ts +2 -0
- package/esm/3_3_1/impl/prev.d.ts.map +1 -0
- package/esm/3_3_1/impl/prev.js +2 -0
- package/esm/3_3_1/impl/prev.js.map +1 -0
- package/esm/3_3_1/impl/scroll-controller.d.ts +7 -0
- package/esm/3_3_1/impl/scroll-controller.d.ts.map +1 -0
- package/esm/3_3_1/impl/scroll-controller.js +15 -0
- package/esm/3_3_1/impl/scroll-controller.js.map +1 -0
- package/esm/3_3_1/index.d.ts +2 -0
- package/esm/3_3_1/index.d.ts.map +1 -0
- package/esm/3_3_1/index.js +2 -0
- package/esm/3_3_1/index.js.map +1 -0
- package/esm/3_3_1/options.d.ts +90 -0
- package/esm/3_3_1/options.d.ts.map +1 -0
- package/esm/3_3_1/options.js +78 -0
- package/esm/3_3_1/options.js.map +1 -0
- package/esm/3_3_2.d.ts +8 -0
- package/esm/3_3_2.d.ts.map +1 -0
- package/esm/3_3_2.js +7 -0
- package/esm/3_3_2.js.map +1 -0
- package/esm/base/device-message.d.ts +10 -1
- package/esm/base/device-message.d.ts.map +1 -1
- package/esm/base/device-message.js +40 -1
- package/esm/base/device-message.js.map +1 -1
- package/esm/base/options.d.ts +2 -3
- package/esm/base/options.d.ts.map +1 -1
- package/esm/control/message-type-map.d.ts +2 -2
- package/esm/control/message-type-map.d.ts.map +1 -1
- package/esm/control/message-type-map.js.map +1 -1
- package/esm/index.d.ts +3 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/latest.d.ts +5 -5
- package/esm/latest.d.ts.map +1 -1
- package/esm/latest.js +3 -3
- package/esm/latest.js.map +1 -1
- package/package.json +4 -4
- package/src/1_15/impl/clipboard-stream.ts +5 -7
- package/src/1_15/impl/scroll-controller.ts +22 -19
- package/src/1_15/options.ts +9 -21
- package/src/1_17/options.ts +9 -21
- package/src/1_18/options.ts +9 -21
- package/src/1_21/impl/set-clipboard.ts +2 -5
- package/src/1_21/options.ts +13 -28
- package/src/1_22/options.ts +13 -28
- package/src/1_23/options.ts +13 -28
- package/src/1_24/options.ts +13 -28
- package/src/1_25/options.ts +13 -28
- package/src/2_0/options.ts +13 -28
- package/src/2_1/options.ts +13 -28
- package/src/2_2/options.ts +13 -28
- package/src/2_3/options.ts +13 -28
- package/src/2_4/impl/uhid-output-stream.ts +3 -6
- package/src/2_4/options.ts +16 -35
- package/src/2_6/options.ts +16 -29
- package/src/2_7/impl/serialize-uhid-create.ts +9 -11
- package/src/2_7/options.ts +16 -29
- package/src/3_0/options.ts +16 -29
- package/src/3_1/impl/serialize-uhid-create.ts +11 -13
- package/src/3_1/options.ts +16 -29
- package/src/3_2/options.ts +16 -29
- package/src/3_3.ts +14 -0
- package/src/3_3_1/impl/index.ts +6 -0
- package/src/3_3_1/impl/prev.ts +1 -0
- package/src/3_3_1/impl/scroll-controller.ts +21 -0
- package/src/3_3_1/index.ts +1 -0
- package/src/3_3_1/options.ts +177 -0
- package/src/3_3_2.ts +14 -0
- package/src/base/device-message.ts +50 -1
- package/src/base/options.ts +3 -8
- package/src/control/message-type-map.ts +3 -3
- package/src/index.ts +3 -0
- package/src/latest.ts +5 -5
- package/tsconfig.build.tsbuildinfo +1 -1
package/esm/3_0/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
3
|
import type { ScrcpyAudioStreamMetadata, ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
5
|
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage, ScrcpyUHidCreateControlMessage, ScrcpyUHidOutputDeviceMessage } from "../latest.js";
|
|
6
6
|
import type { Init } from "./impl/index.js";
|
|
7
7
|
export declare class ScrcpyOptions3_0<TVideo extends boolean> implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders {
|
|
@@ -64,6 +64,7 @@ export declare class ScrcpyOptions3_0<TVideo extends boolean> implements ScrcpyO
|
|
|
64
64
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
65
65
|
get clipboard(): ReadableStream<string> | undefined;
|
|
66
66
|
get uHidOutput(): ReadableStream<ScrcpyUHidOutputDeviceMessage> | undefined;
|
|
67
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
67
68
|
constructor(init: Init<TVideo>);
|
|
68
69
|
serialize(): string[];
|
|
69
70
|
setListDisplays(): void;
|
|
@@ -72,8 +73,6 @@ export declare class ScrcpyOptions3_0<TVideo extends boolean> implements ScrcpyO
|
|
|
72
73
|
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
73
74
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
74
75
|
parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyAudioStreamMetadata>;
|
|
75
|
-
parseDeviceMessage(id: number, stream: ExactReadable | AsyncExactReadable): Promise<void>;
|
|
76
|
-
endDeviceMessageStream(e?: unknown): void;
|
|
77
76
|
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
78
77
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
79
78
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
package/esm/3_0/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/3_0/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/3_0/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,6BAA6B,EAChC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAqB5C,qBAAa,gBAAgB,CAAC,MAAM,SAAS,OAAO,CAChD,YAAW,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,yBAAyB;;IAEjE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAKD,IAAI,UAAU,IACR,cAAc,CAAC,6BAA6B,CAAC,GAC7C,SAAS,CAEd;IAGD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IA4B9B,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,yBAAyB,CAAC;IAI9C,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAM3C,sBAAsB,IAAI,sBAAsB;IAIhD,iCAAiC,CAC7B,OAAO,EAAE,8BAA8B,GACxC,UAAU;CAGhB;AAED,KAAK,KAAK,CAAC,MAAM,SAAS,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAElD,yBAAiB,gBAAgB,CAAC;IAC9B,KAAY,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;CACtE"}
|
package/esm/3_0/options.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
1
2
|
import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeUHidCreateControlMessage, setListDisplays, setListEncoders, UHidOutputStream, } from "./impl/index.js";
|
|
2
3
|
export class ScrcpyOptions3_0 {
|
|
3
4
|
static Defaults = Defaults;
|
|
@@ -14,6 +15,10 @@ export class ScrcpyOptions3_0 {
|
|
|
14
15
|
get uHidOutput() {
|
|
15
16
|
return this.#uHidOutput;
|
|
16
17
|
}
|
|
18
|
+
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
19
|
+
get deviceMessageParsers() {
|
|
20
|
+
return this.#deviceMessageParsers;
|
|
21
|
+
}
|
|
17
22
|
constructor(init) {
|
|
18
23
|
this.value = { ...Defaults, ...init };
|
|
19
24
|
if (this.value.videoSource === "camera") {
|
|
@@ -24,10 +29,10 @@ export class ScrcpyOptions3_0 {
|
|
|
24
29
|
}
|
|
25
30
|
if (this.value.control) {
|
|
26
31
|
if (this.value.clipboardAutosync) {
|
|
27
|
-
this.#clipboard = new ClipboardStream();
|
|
28
|
-
this.#ackClipboardHandler = new AckClipboardHandler();
|
|
32
|
+
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
33
|
+
this.#ackClipboardHandler = this.#deviceMessageParsers.add(new AckClipboardHandler());
|
|
29
34
|
}
|
|
30
|
-
this.#uHidOutput = new UHidOutputStream();
|
|
35
|
+
this.#uHidOutput = this.#deviceMessageParsers.add(new UHidOutputStream());
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
38
|
serialize() {
|
|
@@ -51,25 +56,6 @@ export class ScrcpyOptions3_0 {
|
|
|
51
56
|
parseAudioStreamMetadata(stream) {
|
|
52
57
|
return parseAudioStreamMetadata(stream, this.value);
|
|
53
58
|
}
|
|
54
|
-
async parseDeviceMessage(id, stream) {
|
|
55
|
-
if (await this.#clipboard?.parse(id, stream)) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (await this.#ackClipboardHandler?.parse(id, stream)) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
throw new Error("Unknown device message");
|
|
62
|
-
}
|
|
63
|
-
endDeviceMessageStream(e) {
|
|
64
|
-
if (e) {
|
|
65
|
-
this.#clipboard?.error(e);
|
|
66
|
-
this.#ackClipboardHandler?.error(e);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
this.#clipboard?.close();
|
|
70
|
-
this.#ackClipboardHandler?.close();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
59
|
createMediaStreamTransformer() {
|
|
74
60
|
return createMediaStreamTransformer(this.value);
|
|
75
61
|
}
|
package/esm/3_0/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/3_0/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/3_0/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { StructInit } from "@yume-chan/struct";
|
|
2
2
|
import type { ScrcpyUHidCreateControlMessage } from "../../latest.js";
|
|
3
3
|
export declare const UHidCreateControlMessage: import("@yume-chan/struct").Struct<{
|
|
4
|
-
type: import("@yume-chan/struct").
|
|
4
|
+
type: import("@yume-chan/struct").NumberField<number>;
|
|
5
5
|
id: import("@yume-chan/struct").NumberField<number>;
|
|
6
6
|
vendorId: import("@yume-chan/struct").NumberField<number>;
|
|
7
7
|
productId: import("@yume-chan/struct").NumberField<number>;
|
|
8
8
|
name: import("@yume-chan/struct").Field<string, string, never, string>;
|
|
9
9
|
data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, string, never, Uint8Array<ArrayBufferLike>>;
|
|
10
10
|
}, undefined, import("@yume-chan/struct").FieldsValue<{
|
|
11
|
-
type: import("@yume-chan/struct").
|
|
11
|
+
type: import("@yume-chan/struct").NumberField<number>;
|
|
12
12
|
id: import("@yume-chan/struct").NumberField<number>;
|
|
13
13
|
vendorId: import("@yume-chan/struct").NumberField<number>;
|
|
14
14
|
productId: import("@yume-chan/struct").NumberField<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize-uhid-create.d.ts","sourceRoot":"","sources":["../../../src/3_1/impl/serialize-uhid-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"serialize-uhid-create.d.ts","sourceRoot":"","sources":["../../../src/3_1/impl/serialize-uhid-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAEtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;GAUpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC7C,OAAO,wBAAwB,CAClC,CAAC;AAEF,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,8BAA8B,+BAG1C"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { buffer, string, struct, u16, u8 } from "@yume-chan/struct";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
type: u8(ScrcpyControlMessageType.UHidCreate),
|
|
2
|
+
export const UHidCreateControlMessage = struct({
|
|
3
|
+
type: u8,
|
|
5
4
|
id: u16,
|
|
6
5
|
vendorId: u16,
|
|
7
6
|
productId: u16,
|
|
8
7
|
name: string(u8),
|
|
9
8
|
data: buffer(u16),
|
|
10
|
-
}, { littleEndian: false })
|
|
9
|
+
}, { littleEndian: false });
|
|
11
10
|
export function serializeUHidCreateControlMessage(message) {
|
|
12
11
|
return UHidCreateControlMessage.serialize(message);
|
|
13
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize-uhid-create.js","sourceRoot":"","sources":["../../../src/3_1/impl/serialize-uhid-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"serialize-uhid-create.js","sourceRoot":"","sources":["../../../src/3_1/impl/serialize-uhid-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAIpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAC1C;IACI,IAAI,EAAE,EAAE;IACR,EAAE,EAAE,GAAG;IACP,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;CACpB,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAMF,MAAM,UAAU,iCAAiC,CAC7C,OAAuC;IAEvC,OAAO,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
|
package/esm/3_1/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
3
|
import type { ScrcpyAudioStreamMetadata, ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
5
|
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage, ScrcpyUHidCreateControlMessage, ScrcpyUHidOutputDeviceMessage } from "../latest.js";
|
|
6
6
|
import type { Init } from "./impl/index.js";
|
|
7
7
|
export declare class ScrcpyOptions3_1<TVideo extends boolean> implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders {
|
|
@@ -65,6 +65,7 @@ export declare class ScrcpyOptions3_1<TVideo extends boolean> implements ScrcpyO
|
|
|
65
65
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
66
66
|
get clipboard(): ReadableStream<string> | undefined;
|
|
67
67
|
get uHidOutput(): ReadableStream<ScrcpyUHidOutputDeviceMessage> | undefined;
|
|
68
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
68
69
|
constructor(init: Init<TVideo>);
|
|
69
70
|
serialize(): string[];
|
|
70
71
|
setListDisplays(): void;
|
|
@@ -73,8 +74,6 @@ export declare class ScrcpyOptions3_1<TVideo extends boolean> implements ScrcpyO
|
|
|
73
74
|
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
74
75
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
75
76
|
parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyAudioStreamMetadata>;
|
|
76
|
-
parseDeviceMessage(id: number, stream: ExactReadable | AsyncExactReadable): Promise<void>;
|
|
77
|
-
endDeviceMessageStream(e?: unknown): void;
|
|
78
77
|
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
79
78
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
80
79
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
package/esm/3_1/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/3_1/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/3_1/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,6BAA6B,EAChC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAqB5C,qBAAa,gBAAgB,CAAC,MAAM,SAAS,OAAO,CAChD,YAAW,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,yBAAyB;;IAEjE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAKD,IAAI,UAAU,IACR,cAAc,CAAC,6BAA6B,CAAC,GAC7C,SAAS,CAEd;IAGD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IA4B9B,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,yBAAyB,CAAC;IAI9C,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAM3C,sBAAsB,IAAI,sBAAsB;IAIhD,iCAAiC,CAC7B,OAAO,EAAE,8BAA8B,GACxC,UAAU;CAGhB;AAED,KAAK,KAAK,CAAC,MAAM,SAAS,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAElD,yBAAiB,gBAAgB,CAAC;IAC9B,KAAY,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;CACtE"}
|
package/esm/3_1/options.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
1
2
|
import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeUHidCreateControlMessage, setListDisplays, setListEncoders, UHidOutputStream, } from "./impl/index.js";
|
|
2
3
|
export class ScrcpyOptions3_1 {
|
|
3
4
|
static Defaults = Defaults;
|
|
@@ -14,6 +15,10 @@ export class ScrcpyOptions3_1 {
|
|
|
14
15
|
get uHidOutput() {
|
|
15
16
|
return this.#uHidOutput;
|
|
16
17
|
}
|
|
18
|
+
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
19
|
+
get deviceMessageParsers() {
|
|
20
|
+
return this.#deviceMessageParsers;
|
|
21
|
+
}
|
|
17
22
|
constructor(init) {
|
|
18
23
|
this.value = { ...Defaults, ...init };
|
|
19
24
|
if (this.value.videoSource === "camera") {
|
|
@@ -24,10 +29,10 @@ export class ScrcpyOptions3_1 {
|
|
|
24
29
|
}
|
|
25
30
|
if (this.value.control) {
|
|
26
31
|
if (this.value.clipboardAutosync) {
|
|
27
|
-
this.#clipboard = new ClipboardStream();
|
|
28
|
-
this.#ackClipboardHandler = new AckClipboardHandler();
|
|
32
|
+
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
33
|
+
this.#ackClipboardHandler = this.#deviceMessageParsers.add(new AckClipboardHandler());
|
|
29
34
|
}
|
|
30
|
-
this.#uHidOutput = new UHidOutputStream();
|
|
35
|
+
this.#uHidOutput = this.#deviceMessageParsers.add(new UHidOutputStream());
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
38
|
serialize() {
|
|
@@ -51,25 +56,6 @@ export class ScrcpyOptions3_1 {
|
|
|
51
56
|
parseAudioStreamMetadata(stream) {
|
|
52
57
|
return parseAudioStreamMetadata(stream, this.value);
|
|
53
58
|
}
|
|
54
|
-
async parseDeviceMessage(id, stream) {
|
|
55
|
-
if (await this.#clipboard?.parse(id, stream)) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (await this.#ackClipboardHandler?.parse(id, stream)) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
throw new Error("Unknown device message");
|
|
62
|
-
}
|
|
63
|
-
endDeviceMessageStream(e) {
|
|
64
|
-
if (e) {
|
|
65
|
-
this.#clipboard?.error(e);
|
|
66
|
-
this.#ackClipboardHandler?.error(e);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
this.#clipboard?.close();
|
|
70
|
-
this.#ackClipboardHandler?.close();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
59
|
createMediaStreamTransformer() {
|
|
74
60
|
return createMediaStreamTransformer(this.value);
|
|
75
61
|
}
|
package/esm/3_1/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/3_1/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/3_1/options.ts"],"names":[],"mappings":"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"}
|
package/esm/3_2/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
3
|
import type { ScrcpyAudioStreamMetadata, ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
5
|
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage, ScrcpyUHidCreateControlMessage, ScrcpyUHidOutputDeviceMessage } from "../latest.js";
|
|
6
6
|
import type { Init } from "./impl/index.js";
|
|
7
7
|
export declare class ScrcpyOptions3_2<TVideo extends boolean> implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders {
|
|
@@ -66,6 +66,7 @@ export declare class ScrcpyOptions3_2<TVideo extends boolean> implements ScrcpyO
|
|
|
66
66
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
67
67
|
get clipboard(): ReadableStream<string> | undefined;
|
|
68
68
|
get uHidOutput(): ReadableStream<ScrcpyUHidOutputDeviceMessage> | undefined;
|
|
69
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
69
70
|
constructor(init: Init<TVideo>);
|
|
70
71
|
serialize(): string[];
|
|
71
72
|
setListDisplays(): void;
|
|
@@ -74,8 +75,6 @@ export declare class ScrcpyOptions3_2<TVideo extends boolean> implements ScrcpyO
|
|
|
74
75
|
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
75
76
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
76
77
|
parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyAudioStreamMetadata>;
|
|
77
|
-
parseDeviceMessage(id: number, stream: ExactReadable | AsyncExactReadable): Promise<void>;
|
|
78
|
-
endDeviceMessageStream(e?: unknown): void;
|
|
79
78
|
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
80
79
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
81
80
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
package/esm/3_2/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/3_2/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/3_2/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,6BAA6B,EAChC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAqB5C,qBAAa,gBAAgB,CAAC,MAAM,SAAS,OAAO,CAChD,YAAW,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,yBAAyB;;IAEjE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAKD,IAAI,UAAU,IACR,cAAc,CAAC,6BAA6B,CAAC,GAC7C,SAAS,CAEd;IAGD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IA4B9B,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,yBAAyB,CAAC;IAI9C,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAM3C,sBAAsB,IAAI,sBAAsB;IAIhD,iCAAiC,CAC7B,OAAO,EAAE,8BAA8B,GACxC,UAAU;CAGhB;AAED,KAAK,KAAK,CAAC,MAAM,SAAS,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAElD,yBAAiB,gBAAgB,CAAC;IAC9B,KAAY,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;CACtE"}
|
package/esm/3_2/options.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
1
2
|
import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeUHidCreateControlMessage, setListDisplays, setListEncoders, UHidOutputStream, } from "./impl/index.js";
|
|
2
3
|
export class ScrcpyOptions3_2 {
|
|
3
4
|
static Defaults = Defaults;
|
|
@@ -14,6 +15,10 @@ export class ScrcpyOptions3_2 {
|
|
|
14
15
|
get uHidOutput() {
|
|
15
16
|
return this.#uHidOutput;
|
|
16
17
|
}
|
|
18
|
+
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
19
|
+
get deviceMessageParsers() {
|
|
20
|
+
return this.#deviceMessageParsers;
|
|
21
|
+
}
|
|
17
22
|
constructor(init) {
|
|
18
23
|
this.value = { ...Defaults, ...init };
|
|
19
24
|
if (this.value.videoSource === "camera") {
|
|
@@ -24,10 +29,10 @@ export class ScrcpyOptions3_2 {
|
|
|
24
29
|
}
|
|
25
30
|
if (this.value.control) {
|
|
26
31
|
if (this.value.clipboardAutosync) {
|
|
27
|
-
this.#clipboard = new ClipboardStream();
|
|
28
|
-
this.#ackClipboardHandler = new AckClipboardHandler();
|
|
32
|
+
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
33
|
+
this.#ackClipboardHandler = this.#deviceMessageParsers.add(new AckClipboardHandler());
|
|
29
34
|
}
|
|
30
|
-
this.#uHidOutput = new UHidOutputStream();
|
|
35
|
+
this.#uHidOutput = this.#deviceMessageParsers.add(new UHidOutputStream());
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
38
|
serialize() {
|
|
@@ -51,25 +56,6 @@ export class ScrcpyOptions3_2 {
|
|
|
51
56
|
parseAudioStreamMetadata(stream) {
|
|
52
57
|
return parseAudioStreamMetadata(stream, this.value);
|
|
53
58
|
}
|
|
54
|
-
async parseDeviceMessage(id, stream) {
|
|
55
|
-
if (await this.#clipboard?.parse(id, stream)) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (await this.#ackClipboardHandler?.parse(id, stream)) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
throw new Error("Unknown device message");
|
|
62
|
-
}
|
|
63
|
-
endDeviceMessageStream(e) {
|
|
64
|
-
if (e) {
|
|
65
|
-
this.#clipboard?.error(e);
|
|
66
|
-
this.#ackClipboardHandler?.error(e);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
this.#clipboard?.close();
|
|
70
|
-
this.#ackClipboardHandler?.close();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
59
|
createMediaStreamTransformer() {
|
|
74
60
|
return createMediaStreamTransformer(this.value);
|
|
75
61
|
}
|
package/esm/3_2/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/3_2/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/3_2/options.ts"],"names":[],"mappings":"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"}
|
package/esm/3_3.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ScrcpyOptions3_2 } from "./3_2/index.js";
|
|
2
|
+
export declare class ScrcpyOptions3_3<TVideo extends boolean> extends ScrcpyOptions3_2<TVideo> {
|
|
3
|
+
constructor(init: ScrcpyOptions3_2.Init<TVideo>);
|
|
4
|
+
}
|
|
5
|
+
export declare namespace ScrcpyOptions3_3 {
|
|
6
|
+
type Init<TVideo extends boolean = boolean> = ScrcpyOptions3_2.Init<TVideo>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=3_3.d.ts.map
|
package/esm/3_3.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3_3.d.ts","sourceRoot":"","sources":["../src/3_3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,qBAAa,gBAAgB,CACzB,MAAM,SAAS,OAAO,CACxB,SAAQ,gBAAgB,CAAC,MAAM,CAAC;gBAClB,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;CAGlD;AAED,yBAAiB,gBAAgB,CAAC;IAC9B,KAAY,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAC7C,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;CACrC"}
|
package/esm/3_3.js
ADDED
package/esm/3_3.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3_3.js","sourceRoot":"","sources":["../src/3_3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,OAAO,gBAEX,SAAQ,gBAAwB;IAC9B,YAAY,IAAmC;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/3_3_1/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACH,sBAAsB,EACtB,gBAAgB,GACnB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/3_3_1/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACH,sBAAsB,EACtB,gBAAgB,GACnB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prev.d.ts","sourceRoot":"","sources":["../../../src/3_3_1/impl/prev.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prev.js","sourceRoot":"","sources":["../../../src/3_3_1/impl/prev.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ScrcpyScrollController } from "../../base/index.js";
|
|
2
|
+
import type { ScrcpyInjectScrollControlMessage } from "../../latest.js";
|
|
3
|
+
export declare class ScrollController implements ScrcpyScrollController {
|
|
4
|
+
serializeScrollMessage(message: ScrcpyInjectScrollControlMessage): Uint8Array | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare function createScrollController(): ScrcpyScrollController;
|
|
7
|
+
//# sourceMappingURL=scroll-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-controller.d.ts","sourceRoot":"","sources":["../../../src/3_3_1/impl/scroll-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAIxE,qBAAa,gBAAiB,YAAW,sBAAsB;IAC3D,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAQ5B;AAED,wBAAgB,sBAAsB,IAAI,sBAAsB,CAE/D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PrevImpl } from "./prev.js";
|
|
2
|
+
export class ScrollController {
|
|
3
|
+
serializeScrollMessage(message) {
|
|
4
|
+
message = {
|
|
5
|
+
...message,
|
|
6
|
+
scrollX: message.scrollX / 16,
|
|
7
|
+
scrollY: message.scrollY / 16,
|
|
8
|
+
};
|
|
9
|
+
return PrevImpl.InjectScrollControlMessage.serialize(message);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function createScrollController() {
|
|
13
|
+
return new ScrollController();
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=scroll-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-controller.js","sourceRoot":"","sources":["../../../src/3_3_1/impl/scroll-controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,gBAAgB;IACzB,sBAAsB,CAClB,OAAyC;QAEzC,OAAO,GAAG;YACN,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE;YAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE;SAChC,CAAC;QACF,OAAO,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;CACJ;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/3_3_1/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/3_3_1/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
|
+
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
+
import type { ScrcpyAudioStreamMetadata, ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
|
|
4
|
+
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
|
+
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage, ScrcpyUHidCreateControlMessage, ScrcpyUHidOutputDeviceMessage } from "../latest.js";
|
|
6
|
+
import type { Init } from "./impl/index.js";
|
|
7
|
+
export declare class ScrcpyOptions3_3_1<TVideo extends boolean> implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders {
|
|
8
|
+
#private;
|
|
9
|
+
static readonly Defaults: {
|
|
10
|
+
readonly displayImePolicy: undefined;
|
|
11
|
+
readonly vdDestroyContent: false;
|
|
12
|
+
readonly captureOrientation: undefined;
|
|
13
|
+
readonly angle: 0;
|
|
14
|
+
readonly screenOffTimeout: undefined;
|
|
15
|
+
readonly listApps: false;
|
|
16
|
+
readonly newDisplay: undefined;
|
|
17
|
+
readonly vdSystemDecorations: true;
|
|
18
|
+
readonly audioDup: false;
|
|
19
|
+
readonly videoSource: "display";
|
|
20
|
+
readonly displayId: 0;
|
|
21
|
+
readonly cameraId: undefined;
|
|
22
|
+
readonly cameraSize: undefined;
|
|
23
|
+
readonly cameraFacing: undefined;
|
|
24
|
+
readonly cameraAr: undefined;
|
|
25
|
+
readonly cameraFps: undefined;
|
|
26
|
+
readonly cameraHighSpeed: false;
|
|
27
|
+
readonly listCameras: false;
|
|
28
|
+
readonly listCameraSizes: false;
|
|
29
|
+
readonly video: true;
|
|
30
|
+
readonly audioSource: "output";
|
|
31
|
+
readonly scid: undefined;
|
|
32
|
+
readonly videoCodec: "h264";
|
|
33
|
+
readonly videoBitRate: 8000000;
|
|
34
|
+
readonly videoCodecOptions: undefined;
|
|
35
|
+
readonly videoEncoder: undefined;
|
|
36
|
+
readonly audio: true;
|
|
37
|
+
readonly audioCodec: "opus";
|
|
38
|
+
readonly audioBitRate: 128000;
|
|
39
|
+
readonly audioCodecOptions: undefined;
|
|
40
|
+
readonly audioEncoder: undefined;
|
|
41
|
+
readonly listEncoders: false;
|
|
42
|
+
readonly listDisplays: false;
|
|
43
|
+
readonly sendCodecMeta: true;
|
|
44
|
+
readonly powerOn: true;
|
|
45
|
+
readonly cleanup: true;
|
|
46
|
+
readonly downsizeOnError: true;
|
|
47
|
+
readonly sendDeviceMeta: true;
|
|
48
|
+
readonly sendDummyByte: true;
|
|
49
|
+
readonly clipboardAutosync: true;
|
|
50
|
+
readonly logLevel: "debug";
|
|
51
|
+
readonly lockVideoOrientation: -1;
|
|
52
|
+
readonly powerOffOnClose: false;
|
|
53
|
+
readonly encoderName: undefined;
|
|
54
|
+
readonly maxSize: 0;
|
|
55
|
+
readonly bitRate: 8000000;
|
|
56
|
+
readonly maxFps: 0;
|
|
57
|
+
readonly tunnelForward: false;
|
|
58
|
+
readonly crop: undefined;
|
|
59
|
+
readonly sendFrameMeta: true;
|
|
60
|
+
readonly control: true;
|
|
61
|
+
readonly showTouches: false;
|
|
62
|
+
readonly stayAwake: false;
|
|
63
|
+
readonly codecOptions: undefined;
|
|
64
|
+
};
|
|
65
|
+
readonly value: Required<Init<TVideo>>;
|
|
66
|
+
get controlMessageTypes(): readonly ScrcpyControlMessageType[];
|
|
67
|
+
get clipboard(): ReadableStream<string> | undefined;
|
|
68
|
+
get uHidOutput(): ReadableStream<ScrcpyUHidOutputDeviceMessage> | undefined;
|
|
69
|
+
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
70
|
+
constructor(init: Init<TVideo>);
|
|
71
|
+
serialize(): string[];
|
|
72
|
+
setListDisplays(): void;
|
|
73
|
+
parseDisplay(line: string): ScrcpyDisplay | undefined;
|
|
74
|
+
setListEncoders(): void;
|
|
75
|
+
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
76
|
+
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
77
|
+
parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyAudioStreamMetadata>;
|
|
78
|
+
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
|
|
79
|
+
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
80
|
+
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
|
81
|
+
serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array | [Uint8Array, Promise<void>];
|
|
82
|
+
createScrollController(): ScrcpyScrollController;
|
|
83
|
+
serializeUHidCreateControlMessage(message: ScrcpyUHidCreateControlMessage): Uint8Array;
|
|
84
|
+
}
|
|
85
|
+
type Init_<TVideo extends boolean> = Init<TVideo>;
|
|
86
|
+
export declare namespace ScrcpyOptions3_3_1 {
|
|
87
|
+
type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
|
|
88
|
+
}
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/3_3_1/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,6BAA6B,EAChC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAqB5C,qBAAa,kBAAkB,CAAC,MAAM,SAAS,OAAO,CAClD,YAAW,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,yBAAyB;;IAEjE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAKD,IAAI,UAAU,IACR,cAAc,CAAC,6BAA6B,CAAC,GAC7C,SAAS,CAEd;IAGD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IA4B9B,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,yBAAyB,CAAC;IAI9C,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAM3C,sBAAsB,IAAI,sBAAsB;IAIhD,iCAAiC,CAC7B,OAAO,EAAE,8BAA8B,GACxC,UAAU;CAGhB;AAED,KAAK,KAAK,CAAC,MAAM,SAAS,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAElD,yBAAiB,kBAAkB,CAAC;IAChC,KAAY,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;CACtE"}
|