@yume-chan/scrcpy 0.0.22 → 0.0.24

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.
Files changed (173) hide show
  1. package/CHANGELOG.json +33 -0
  2. package/CHANGELOG.md +18 -1
  3. package/LICENSE +1 -1
  4. package/esm/codec/av1.d.ts +364 -0
  5. package/esm/codec/av1.d.ts.map +1 -1
  6. package/esm/codec/av1.js +591 -0
  7. package/esm/codec/av1.js.map +1 -1
  8. package/esm/codec/nalu.d.ts +0 -9
  9. package/esm/codec/nalu.d.ts.map +1 -1
  10. package/esm/codec/nalu.js +56 -129
  11. package/esm/codec/nalu.js.map +1 -1
  12. package/esm/control/{basic.d.ts → empty.d.ts} +2 -2
  13. package/esm/control/empty.d.ts.map +1 -0
  14. package/esm/control/empty.js +3 -0
  15. package/esm/control/empty.js.map +1 -0
  16. package/esm/control/index.d.ts +1 -1
  17. package/esm/control/index.js +1 -1
  18. package/esm/control/rotate-device.js +2 -2
  19. package/esm/control/serializer.d.ts +2 -0
  20. package/esm/control/serializer.d.ts.map +1 -1
  21. package/esm/control/serializer.js +10 -4
  22. package/esm/control/serializer.js.map +1 -1
  23. package/esm/control/type.js +1 -1
  24. package/esm/control/type.js.map +1 -1
  25. package/esm/control/writer.d.ts +4 -1
  26. package/esm/control/writer.d.ts.map +1 -1
  27. package/esm/control/writer.js +12 -2
  28. package/esm/control/writer.js.map +1 -1
  29. package/esm/index.d.ts +0 -1
  30. package/esm/index.d.ts.map +1 -1
  31. package/esm/index.js +0 -1
  32. package/esm/index.js.map +1 -1
  33. package/esm/options/1_16/float.d.ts +6 -0
  34. package/esm/options/1_16/float.d.ts.map +1 -0
  35. package/esm/options/1_16/{float-to-uint16.js → float.js} +7 -6
  36. package/esm/options/1_16/float.js.map +1 -0
  37. package/esm/options/1_16/index.d.ts +1 -1
  38. package/esm/options/1_16/index.d.ts.map +1 -1
  39. package/esm/options/1_16/index.js +1 -1
  40. package/esm/options/1_16/index.js.map +1 -1
  41. package/esm/options/1_16/message.d.ts +4 -0
  42. package/esm/options/1_16/message.d.ts.map +1 -1
  43. package/esm/options/1_16/message.js +7 -4
  44. package/esm/options/1_16/message.js.map +1 -1
  45. package/esm/options/1_16/options.d.ts +14 -5
  46. package/esm/options/1_16/options.d.ts.map +1 -1
  47. package/esm/options/1_16/options.js +45 -18
  48. package/esm/options/1_16/options.js.map +1 -1
  49. package/esm/options/1_17.d.ts +3 -4
  50. package/esm/options/1_17.d.ts.map +1 -1
  51. package/esm/options/1_17.js +4 -7
  52. package/esm/options/1_17.js.map +1 -1
  53. package/esm/options/1_18.d.ts +3 -4
  54. package/esm/options/1_18.d.ts.map +1 -1
  55. package/esm/options/1_18.js +5 -25
  56. package/esm/options/1_18.js.map +1 -1
  57. package/esm/options/1_21.d.ts +10 -5
  58. package/esm/options/1_21.d.ts.map +1 -1
  59. package/esm/options/1_21.js +30 -7
  60. package/esm/options/1_21.js.map +1 -1
  61. package/esm/options/1_22/options.d.ts +3 -4
  62. package/esm/options/1_22/options.d.ts.map +1 -1
  63. package/esm/options/1_22/options.js +4 -7
  64. package/esm/options/1_22/options.js.map +1 -1
  65. package/esm/options/1_23.d.ts +3 -4
  66. package/esm/options/1_23.d.ts.map +1 -1
  67. package/esm/options/1_23.js +4 -7
  68. package/esm/options/1_23.js.map +1 -1
  69. package/esm/options/1_24.d.ts +3 -4
  70. package/esm/options/1_24.d.ts.map +1 -1
  71. package/esm/options/1_24.js +3 -6
  72. package/esm/options/1_24.js.map +1 -1
  73. package/esm/options/1_25/options.d.ts +2 -3
  74. package/esm/options/1_25/options.d.ts.map +1 -1
  75. package/esm/options/1_25/options.js +3 -6
  76. package/esm/options/1_25/options.js.map +1 -1
  77. package/esm/options/1_25/scroll.d.ts +3 -2
  78. package/esm/options/1_25/scroll.d.ts.map +1 -1
  79. package/esm/options/1_25/scroll.js +8 -7
  80. package/esm/options/1_25/scroll.js.map +1 -1
  81. package/esm/options/2_0.d.ts +11 -9
  82. package/esm/options/2_0.d.ts.map +1 -1
  83. package/esm/options/2_0.js +71 -77
  84. package/esm/options/2_0.js.map +1 -1
  85. package/esm/options/2_1.d.ts +5 -6
  86. package/esm/options/2_1.d.ts.map +1 -1
  87. package/esm/options/2_1.js +3 -6
  88. package/esm/options/2_1.js.map +1 -1
  89. package/esm/options/2_2.d.ts +5 -6
  90. package/esm/options/2_2.d.ts.map +1 -1
  91. package/esm/options/2_2.js +4 -7
  92. package/esm/options/2_2.js.map +1 -1
  93. package/esm/options/2_3.d.ts +59 -0
  94. package/esm/options/2_3.d.ts.map +1 -0
  95. package/esm/options/2_3.js +47 -0
  96. package/esm/options/2_3.js.map +1 -0
  97. package/esm/options/codec.d.ts +1 -0
  98. package/esm/options/codec.d.ts.map +1 -1
  99. package/esm/options/codec.js +1 -0
  100. package/esm/options/codec.js.map +1 -1
  101. package/esm/options/index.d.ts +1 -0
  102. package/esm/options/index.d.ts.map +1 -1
  103. package/esm/options/index.js +1 -0
  104. package/esm/options/index.js.map +1 -1
  105. package/esm/options/latest.d.ts +4 -4
  106. package/esm/options/latest.js +2 -2
  107. package/esm/options/types.d.ts +30 -32
  108. package/esm/options/types.d.ts.map +1 -1
  109. package/esm/options/types.js +77 -26
  110. package/esm/options/types.js.map +1 -1
  111. package/package.json +12 -12
  112. package/src/codec/av1.ts +670 -0
  113. package/src/codec/nalu.ts +67 -154
  114. package/src/control/empty.ts +3 -0
  115. package/src/control/index.ts +1 -1
  116. package/src/control/rotate-device.ts +2 -2
  117. package/src/control/serializer.ts +12 -4
  118. package/src/control/type.ts +1 -1
  119. package/src/control/writer.ts +16 -6
  120. package/src/index.ts +0 -1
  121. package/src/options/1_16/{float-to-uint16.ts → float.ts} +8 -6
  122. package/src/options/1_16/index.ts +1 -1
  123. package/src/options/1_16/message.ts +8 -4
  124. package/src/options/1_16/options.ts +70 -31
  125. package/src/options/1_17.ts +4 -10
  126. package/src/options/1_18.ts +4 -37
  127. package/src/options/1_21.ts +40 -11
  128. package/src/options/1_22/options.ts +4 -10
  129. package/src/options/1_23.ts +4 -10
  130. package/src/options/1_24.ts +3 -9
  131. package/src/options/1_25/options.ts +3 -9
  132. package/src/options/1_25/scroll.ts +10 -11
  133. package/src/options/2_0.ts +92 -95
  134. package/src/options/2_1.ts +3 -9
  135. package/src/options/2_2.ts +4 -10
  136. package/src/options/2_3.ts +70 -0
  137. package/src/options/codec.ts +6 -0
  138. package/src/options/index.ts +1 -0
  139. package/src/options/latest.ts +4 -4
  140. package/src/options/types.ts +89 -98
  141. package/tsconfig.build.tsbuildinfo +1 -1
  142. package/esm/control/basic.d.ts.map +0 -1
  143. package/esm/control/basic.js +0 -3
  144. package/esm/control/basic.js.map +0 -1
  145. package/esm/device-message/ack-clipboard.d.ts +0 -9
  146. package/esm/device-message/ack-clipboard.d.ts.map +0 -1
  147. package/esm/device-message/ack-clipboard.js +0 -6
  148. package/esm/device-message/ack-clipboard.js.map +0 -1
  149. package/esm/device-message/clipboard.d.ts +0 -10
  150. package/esm/device-message/clipboard.d.ts.map +0 -1
  151. package/esm/device-message/clipboard.js +0 -7
  152. package/esm/device-message/clipboard.js.map +0 -1
  153. package/esm/device-message/index.d.ts +0 -5
  154. package/esm/device-message/index.d.ts.map +0 -1
  155. package/esm/device-message/index.js +0 -5
  156. package/esm/device-message/index.js.map +0 -1
  157. package/esm/device-message/stream.d.ts +0 -8
  158. package/esm/device-message/stream.d.ts.map +0 -1
  159. package/esm/device-message/stream.js +0 -35
  160. package/esm/device-message/stream.js.map +0 -1
  161. package/esm/device-message/type.d.ts +0 -5
  162. package/esm/device-message/type.d.ts.map +0 -1
  163. package/esm/device-message/type.js +0 -7
  164. package/esm/device-message/type.js.map +0 -1
  165. package/esm/options/1_16/float-to-uint16.d.ts +0 -5
  166. package/esm/options/1_16/float-to-uint16.d.ts.map +0 -1
  167. package/esm/options/1_16/float-to-uint16.js.map +0 -1
  168. package/src/control/basic.ts +0 -3
  169. package/src/device-message/ack-clipboard.ts +0 -10
  170. package/src/device-message/clipboard.ts +0 -11
  171. package/src/device-message/index.ts +0 -4
  172. package/src/device-message/stream.ts +0 -49
  173. package/src/device-message/type.ts +0 -5
@@ -1,6 +1,6 @@
1
1
  import Struct, { placeholder } from "@yume-chan/struct";
2
- import { BasicControlMessage, ScrcpyControlMessageType, } from "../../control/index.js";
3
- import { ScrcpyFloatToUint16FieldDefinition } from "./float-to-uint16.js";
2
+ import { EmptyControlMessage, ScrcpyControlMessageType, } from "../../control/index.js";
3
+ import { ScrcpyUnsignedFloatFieldDefinition } from "./float.js";
4
4
  export const SCRCPY_CONTROL_MESSAGE_TYPES_1_16 = [
5
5
  /* 0 */ ScrcpyControlMessageType.InjectKeyCode,
6
6
  /* 1 */ ScrcpyControlMessageType.InjectText,
@@ -27,11 +27,14 @@ export const ScrcpyInjectTouchControlMessage1_16 = new Struct()
27
27
  .uint32("pointerY")
28
28
  .uint16("screenWidth")
29
29
  .uint16("screenHeight")
30
- .field("pressure", ScrcpyFloatToUint16FieldDefinition)
30
+ .field("pressure", ScrcpyUnsignedFloatFieldDefinition)
31
31
  .uint32("buttons");
32
- export const ScrcpyBackOrScreenOnControlMessage1_16 = BasicControlMessage;
32
+ export const ScrcpyBackOrScreenOnControlMessage1_16 = EmptyControlMessage;
33
33
  export const ScrcpySetClipboardControlMessage1_15 = new Struct()
34
34
  .uint8("type")
35
35
  .uint32("length")
36
36
  .string("content", { lengthField: "length" });
37
+ export const ScrcpyClipboardDeviceMessage = new Struct()
38
+ .uint32("length")
39
+ .string("content", { lengthField: "length" });
37
40
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/options/1_16/message.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EACH,mBAAmB,EACnB,wBAAwB,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,CAAC,MAAM,iCAAiC,GAC1C;IACI,QAAQ,CAAC,wBAAwB,CAAC,aAAa;IAC/C,QAAQ,CAAC,wBAAwB,CAAC,UAAU;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,WAAW;IAC7C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,cAAc;IAChD,QAAQ,CAAC,wBAAwB,CAAC,uBAAuB;IACzD,QAAQ,CAAC,wBAAwB,CAAC,yBAAyB;IAC3D,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,kBAAkB;IACpD,QAAQ,CAAC,wBAAwB,CAAC,YAAY;CACjD,CAAC;AAEN,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,MAAM,EAAE;KACjD,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,MAAM,CAAC;KACd,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,IAAI,GAAG,CAAC;AAEzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,MAAM,EAAE;KAC1D,KAAK,CAAC,MAAM,CAAC;KACb,KAAK,CAAC,QAAQ,EAAE,WAAW,EAA4B,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC;KACnB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,KAAK,CAAC,UAAU,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,SAAS,CAAC,CAAC;AAKvB,MAAM,CAAC,MAAM,sCAAsC,GAAG,mBAAmB,CAAC;AAE1E,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,CAAC;KACb,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/options/1_16/message.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EACH,mBAAmB,EACnB,wBAAwB,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,MAAM,iCAAiC,GAC1C;IACI,QAAQ,CAAC,wBAAwB,CAAC,aAAa;IAC/C,QAAQ,CAAC,wBAAwB,CAAC,UAAU;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,WAAW;IAC7C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,cAAc;IAChD,QAAQ,CAAC,wBAAwB,CAAC,uBAAuB;IACzD,QAAQ,CAAC,wBAAwB,CAAC,yBAAyB;IAC3D,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,kBAAkB;IACpD,QAAQ,CAAC,wBAAwB,CAAC,YAAY;CACjD,CAAC;AAEN,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,MAAM,EAAE;KACjD,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,MAAM,CAAC;KACd,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,IAAI,GAAG,CAAC;AAEzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,MAAM,EAAE;KAC1D,KAAK,CAAC,MAAM,CAAC;KACb,KAAK,CAAC,QAAQ,EAAE,WAAW,EAA4B,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC;KACnB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,KAAK,CAAC,UAAU,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,SAAS,CAAC,CAAC;AAKvB,MAAM,CAAC,MAAM,sCAAsC,GAAG,mBAAmB,CAAC;AAE1E,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,CAAC;KACb,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKlD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,MAAM,EAAE;KACnD,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC"}
@@ -3,12 +3,14 @@ import { TransformStream } from "@yume-chan/stream-extra";
3
3
  import type { AsyncExactReadable, ValueOrPromise } from "@yume-chan/struct";
4
4
  import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyControlMessageType, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../../control/index.js";
5
5
  import type { ScrcpyMediaStreamPacket, ScrcpyVideoStream } from "../codec.js";
6
- import type { ScrcpyDisplay, ScrcpyEncoder, ScrcpyOptions } from "../types.js";
6
+ import type { ScrcpyDisplay, ScrcpyEncoder } from "../types.js";
7
+ import { ScrcpyOptions } from "../types.js";
7
8
  import { CodecOptions } from "./codec-options.js";
8
9
  import type { ScrcpyOptionsInit1_16 } from "./init.js";
9
10
  import { ScrcpyLogLevel1_16, ScrcpyVideoOrientation1_16 } from "./init.js";
10
11
  import type { ScrcpyScrollController } from "./scroll.js";
11
- export declare class ScrcpyOptions1_16 implements ScrcpyOptions<ScrcpyOptionsInit1_16> {
12
+ export declare class ScrcpyOptions1_16 extends ScrcpyOptions<ScrcpyOptionsInit1_16> {
13
+ #private;
12
14
  static readonly DEFAULTS: {
13
15
  readonly logLevel: ScrcpyLogLevel1_16.Debug;
14
16
  readonly maxSize: 0;
@@ -16,7 +18,7 @@ export declare class ScrcpyOptions1_16 implements ScrcpyOptions<ScrcpyOptionsIni
16
18
  readonly maxFps: 0;
17
19
  readonly lockVideoOrientation: ScrcpyVideoOrientation1_16.Unlocked;
18
20
  readonly tunnelForward: false;
19
- readonly crop: "";
21
+ readonly crop: undefined;
20
22
  readonly sendFrameMeta: true;
21
23
  readonly control: true;
22
24
  readonly displayId: 0;
@@ -26,12 +28,18 @@ export declare class ScrcpyOptions1_16 implements ScrcpyOptions<ScrcpyOptionsIni
26
28
  };
27
29
  static readonly SERIALIZE_ORDER: readonly ["logLevel", "maxSize", "bitRate", "maxFps", "lockVideoOrientation", "tunnelForward", "crop", "sendFrameMeta", "control", "displayId", "showTouches", "stayAwake", "codecOptions"];
28
30
  static serialize<T>(options: T, order: readonly (keyof T)[]): string[];
31
+ /**
32
+ * Parse a fixed-length, null-terminated string.
33
+ * @param stream The stream to read from
34
+ * @param maxLength The maximum length of the string, including the null terminator, in bytes
35
+ * @returns The parsed string, without the null terminator
36
+ */
29
37
  static parseCString(stream: AsyncExactReadable, maxLength: number): Promise<string>;
30
38
  static parseUint16BE(stream: AsyncExactReadable): Promise<number>;
31
39
  static parseUint32BE(stream: AsyncExactReadable): Promise<number>;
32
- value: Required<ScrcpyOptionsInit1_16>;
33
40
  readonly defaults: Required<ScrcpyOptionsInit1_16>;
34
- readonly controlMessageTypes: readonly ScrcpyControlMessageType[];
41
+ get controlMessageTypes(): readonly ScrcpyControlMessageType[];
42
+ get clipboard(): ReadableStream<string>;
35
43
  constructor(init: ScrcpyOptionsInit1_16);
36
44
  serialize(): string[];
37
45
  setListEncoders(): void;
@@ -40,6 +48,7 @@ export declare class ScrcpyOptions1_16 implements ScrcpyOptions<ScrcpyOptionsIni
40
48
  parseDisplay(line: string): ScrcpyDisplay | undefined;
41
49
  parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): ValueOrPromise<ScrcpyVideoStream>;
42
50
  parseAudioStreamMetadata(): never;
51
+ parseDeviceMessage(id: number, stream: AsyncExactReadable): Promise<boolean>;
43
52
  createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
44
53
  serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
45
54
  serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGH,eAAe,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,KAAK,EACR,kCAAkC,EAClC,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACR,uBAAuB,EACvB,iBAAiB,EAEpB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAS3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,qBAAa,iBAAkB,YAAW,aAAa,CAAC,qBAAqB,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;MAc6B;IAErD,MAAM,CAAC,QAAQ,CAAC,eAAe,8LAc+B;IAE9D,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE;WAI9C,YAAY,CACrB,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;WAML,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;WAK1D,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvE,KAAK,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAEvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CACnB;IAE/B,QAAQ,CAAC,mBAAmB,EAAE,SAAS,wBAAwB,EAAE,CAC3B;gBAE1B,IAAI,EAAE,qBAAqB;IAIvC,SAAS,IAAI,MAAM,EAAE;IAOrB,eAAe,IAAI,IAAI;IAIvB,eAAe,IAAI,IAAI;IAOvB,YAAY,IAAI,aAAa,GAAG,SAAS;IAIzC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAWrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAgBpC,wBAAwB,IAAI,KAAK;IAIjC,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAwCD,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC;IAS/C,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIb,sBAAsB,IAAI,sBAAsB;CAGnD"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAER,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIH,eAAe,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,KAAK,EACR,kCAAkC,EAClC,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACR,uBAAuB,EACvB,iBAAiB,EAEpB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAU3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;MAc6B;IAErD,MAAM,CAAC,QAAQ,CAAC,eAAe,8LAc+B;IAE9D,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE;IAI3D;;;;;OAKG;WACU,YAAY,CACrB,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;WAOL,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;WAK1D,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CACnB;IAE/B,IAAa,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAEtE;IAID,IAAa,SAAS,2BAErB;gBAEW,IAAI,EAAE,qBAAqB;IAOvC,SAAS,IAAI,MAAM,EAAE;IAOZ,eAAe,IAAI,IAAI;IAIvB,eAAe,IAAI,IAAI;IAOvB,YAAY,IAAI,aAAa,GAAG,SAAS;IAIzC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAUrD,wBAAwB,CAC7B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAgB3B,wBAAwB,IAAI,KAAK;IAI3B,kBAAkB,CAC7B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,OAAO,CAAC;IAaV,4BAA4B,IAAI,eAAe,CACpD,UAAU,EACV,uBAAuB,CAC1B;IAwCQ,kCAAkC,CACvC,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIJ,qCAAqC,CAC1C,OAAO,EAAE,kCAAkC;IAStC,mCAAmC,CACxC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIJ,sBAAsB,IAAI,sBAAsB;CAG5D"}
@@ -1,13 +1,14 @@
1
- import { BufferedReadableStream, StructDeserializeStream, TransformStream, } from "@yume-chan/stream-extra";
2
- import { NumberFieldType, decodeUtf8 } from "@yume-chan/struct";
1
+ import { getUint16BigEndian, getUint32BigEndian, } from "@yume-chan/no-data-view";
2
+ import { BufferedReadableStream, PushReadableStream, StructDeserializeStream, TransformStream, } from "@yume-chan/stream-extra";
3
+ import { decodeUtf8 } from "@yume-chan/struct";
3
4
  import { AndroidKeyEventAction } from "../../control/index.js";
4
5
  import { ScrcpyVideoCodecId } from "../codec.js";
5
- import { toScrcpyOptionValue } from "../types.js";
6
+ import { ScrcpyOptions, toScrcpyOptionValue } from "../types.js";
6
7
  import { CodecOptions } from "./codec-options.js";
7
8
  import { ScrcpyLogLevel1_16, ScrcpyVideoOrientation1_16 } from "./init.js";
8
- import { SCRCPY_CONTROL_MESSAGE_TYPES_1_16, SCRCPY_MEDIA_PACKET_FLAG_CONFIG, ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyInjectTouchControlMessage1_16, ScrcpyMediaStreamRawPacket, ScrcpySetClipboardControlMessage1_15, } from "./message.js";
9
+ import { SCRCPY_CONTROL_MESSAGE_TYPES_1_16, SCRCPY_MEDIA_PACKET_FLAG_CONFIG, ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyClipboardDeviceMessage, ScrcpyInjectTouchControlMessage1_16, ScrcpyMediaStreamRawPacket, ScrcpySetClipboardControlMessage1_15, } from "./message.js";
9
10
  import { ScrcpyScrollController1_16 } from "./scroll.js";
10
- export class ScrcpyOptions1_16 {
11
+ export class ScrcpyOptions1_16 extends ScrcpyOptions {
11
12
  static DEFAULTS = {
12
13
  logLevel: ScrcpyLogLevel1_16.Debug,
13
14
  maxSize: 0,
@@ -15,7 +16,7 @@ export class ScrcpyOptions1_16 {
15
16
  maxFps: 0,
16
17
  lockVideoOrientation: ScrcpyVideoOrientation1_16.Unlocked,
17
18
  tunnelForward: false,
18
- crop: "",
19
+ crop: undefined,
19
20
  sendFrameMeta: true,
20
21
  control: true,
21
22
  displayId: 0,
@@ -41,24 +42,40 @@ export class ScrcpyOptions1_16 {
41
42
  static serialize(options, order) {
42
43
  return order.map((key) => toScrcpyOptionValue(options[key], "-"));
43
44
  }
45
+ /**
46
+ * Parse a fixed-length, null-terminated string.
47
+ * @param stream The stream to read from
48
+ * @param maxLength The maximum length of the string, including the null terminator, in bytes
49
+ * @returns The parsed string, without the null terminator
50
+ */
44
51
  static async parseCString(stream, maxLength) {
45
- let result = decodeUtf8(await stream.readExactly(maxLength));
46
- result = result.substring(0, result.indexOf("\0"));
47
- return result;
52
+ const buffer = await stream.readExactly(maxLength);
53
+ // If null terminator is not found, `subarray(0, -1)` will remove the last byte
54
+ // But since it's a invalid case, it's fine
55
+ return decodeUtf8(buffer.subarray(0, buffer.indexOf(0)));
48
56
  }
49
57
  static async parseUint16BE(stream) {
50
- const buffer = await stream.readExactly(NumberFieldType.Uint16.size);
51
- return NumberFieldType.Uint16.deserialize(buffer, false);
58
+ const buffer = await stream.readExactly(2);
59
+ return getUint16BigEndian(buffer, 0);
52
60
  }
53
61
  static async parseUint32BE(stream) {
54
- const buffer = await stream.readExactly(NumberFieldType.Uint32.size);
55
- return NumberFieldType.Uint32.deserialize(buffer, false);
62
+ const buffer = await stream.readExactly(4);
63
+ return getUint32BigEndian(buffer, 0);
56
64
  }
57
- value;
58
65
  defaults = ScrcpyOptions1_16.DEFAULTS;
59
- controlMessageTypes = SCRCPY_CONTROL_MESSAGE_TYPES_1_16;
66
+ get controlMessageTypes() {
67
+ return SCRCPY_CONTROL_MESSAGE_TYPES_1_16;
68
+ }
69
+ #clipboardController;
70
+ #clipboard;
71
+ get clipboard() {
72
+ return this.#clipboard;
73
+ }
60
74
  constructor(init) {
61
- this.value = { ...ScrcpyOptions1_16.DEFAULTS, ...init };
75
+ super(undefined, init, ScrcpyOptions1_16.DEFAULTS);
76
+ this.#clipboard = new PushReadableStream((controller) => {
77
+ this.#clipboardController = controller;
78
+ });
62
79
  }
63
80
  serialize() {
64
81
  return ScrcpyOptions1_16.serialize(this.value, ScrcpyOptions1_16.SERIALIZE_ORDER);
@@ -76,8 +93,7 @@ export class ScrcpyOptions1_16 {
76
93
  throw new Error("Not supported");
77
94
  }
78
95
  parseDisplay(line) {
79
- const displayIdRegex = /\s+scrcpy --display (\d+)/;
80
- const match = line.match(displayIdRegex);
96
+ const match = line.match(/^\s+scrcpy --display (\d+)$/);
81
97
  if (match) {
82
98
  return {
83
99
  id: Number.parseInt(match[1], 10),
@@ -100,6 +116,17 @@ export class ScrcpyOptions1_16 {
100
116
  parseAudioStreamMetadata() {
101
117
  throw new Error("Not supported");
102
118
  }
119
+ async parseDeviceMessage(id, stream) {
120
+ switch (id) {
121
+ case 0: {
122
+ const message = await ScrcpyClipboardDeviceMessage.deserialize(stream);
123
+ await this.#clipboardController.enqueue(message.content);
124
+ return true;
125
+ }
126
+ default:
127
+ return false;
128
+ }
129
+ }
103
130
  createMediaStreamTransformer() {
104
131
  // Optimized path for video frames only
105
132
  if (!this.value.sendFrameMeta) {
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import type { ScrcpyOptionsInit1_16 } from "./1_16/index.js";
2
- import { ScrcpyOptions1_16 } from "./1_16/index.js";
3
2
  import type { ScrcpyEncoder } from "./types.js";
4
- import { ScrcpyOptionsBase } from "./types.js";
3
+ import { ScrcpyOptions } from "./types.js";
5
4
  export interface ScrcpyOptionsInit1_17 extends ScrcpyOptionsInit1_16 {
6
5
  encoderName?: string | undefined;
7
6
  }
8
- export declare class ScrcpyOptions1_17 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_17, ScrcpyOptions1_16> {
7
+ export declare class ScrcpyOptions1_17 extends ScrcpyOptions<ScrcpyOptionsInit1_17> {
9
8
  static readonly DEFAULTS: {
10
9
  readonly encoderName: undefined;
11
10
  readonly logLevel: import("./1_16/init.js").ScrcpyLogLevel1_16.Debug;
@@ -14,7 +13,7 @@ export declare class ScrcpyOptions1_17 extends ScrcpyOptionsBase<ScrcpyOptionsIn
14
13
  readonly maxFps: 0;
15
14
  readonly lockVideoOrientation: import("./1_16/init.js").ScrcpyVideoOrientation1_16.Unlocked;
16
15
  readonly tunnelForward: false;
17
- readonly crop: "";
16
+ readonly crop: undefined;
18
17
  readonly sendFrameMeta: true;
19
18
  readonly control: true;
20
19
  readonly displayId: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"1_17.d.ts","sourceRoot":"","sources":["../../src/options/1_17.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;MAG6B;IAErD,MAAM,CAAC,QAAQ,CAAC,eAAe,6MAG+B;IAE9D,MAAM,CAAC,YAAY,CACf,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACzB,aAAa,GAAG,SAAS;IAQ5B,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAOrB,eAAe;IAOf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAMjE"}
1
+ {"version":3,"file":"1_17.d.ts","sourceRoot":"","sources":["../../src/options/1_17.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;MAG6B;IAErD,MAAM,CAAC,QAAQ,CAAC,eAAe,6MAG+B;IAE9D,MAAM,CAAC,YAAY,CACf,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACzB,aAAa,GAAG,SAAS;IAQ5B,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAI9B,SAAS,IAAI,MAAM,EAAE;IAOrB,eAAe;IAOf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAMjE"}
@@ -1,6 +1,6 @@
1
1
  import { ScrcpyOptions1_16 } from "./1_16/index.js";
2
- import { ScrcpyOptionsBase } from "./types.js";
3
- export class ScrcpyOptions1_17 extends ScrcpyOptionsBase {
2
+ import { ScrcpyOptions } from "./types.js";
3
+ export class ScrcpyOptions1_17 extends ScrcpyOptions {
4
4
  static DEFAULTS = {
5
5
  ...ScrcpyOptions1_16.DEFAULTS,
6
6
  encoderName: undefined,
@@ -20,10 +20,7 @@ export class ScrcpyOptions1_17 extends ScrcpyOptionsBase {
20
20
  return ScrcpyOptions1_17.DEFAULTS;
21
21
  }
22
22
  constructor(init) {
23
- super(new ScrcpyOptions1_16(init), {
24
- ...ScrcpyOptions1_17.DEFAULTS,
25
- ...init,
26
- });
23
+ super(ScrcpyOptions1_16, init, ScrcpyOptions1_17.DEFAULTS);
27
24
  }
28
25
  serialize() {
29
26
  return ScrcpyOptions1_16.serialize(this.value, ScrcpyOptions1_17.SERIALIZE_ORDER);
@@ -35,7 +32,7 @@ export class ScrcpyOptions1_17 extends ScrcpyOptionsBase {
35
32
  this.value.encoderName = "_";
36
33
  }
37
34
  parseEncoder(line) {
38
- return ScrcpyOptions1_17.parseEncoder(line, /\s+scrcpy --encoder-name '(.*?)'/);
35
+ return ScrcpyOptions1_17.parseEncoder(line, /^\s+scrcpy --encoder-name '([^']+)'$/);
39
36
  }
40
37
  }
41
38
  //# sourceMappingURL=1_17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1_17.js","sourceRoot":"","sources":["../../src/options/1_17.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,OAAO,iBAAkB,SAAQ,iBAGtC;IACG,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,WAAW,EAAE,SAAS;KAC0B,CAAC;IAErD,MAAM,CAAU,eAAe,GAAG;QAC9B,GAAG,iBAAiB,CAAC,eAAe;QACpC,aAAa;KAC4C,CAAC;IAE9D,MAAM,CAAC,YAAY,CACf,IAAY,EACZ,gBAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAC9B,IAAI,CAAC,KAAK,EACV,iBAAiB,CAAC,eAAe,CACpC,CAAC;IACN,CAAC;IAEQ,eAAe;QACpB,0BAA0B;QAC1B,iDAAiD;QACjD,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACjC,CAAC;IAEQ,YAAY,CAAC,IAAY;QAC9B,OAAO,iBAAiB,CAAC,YAAY,CACjC,IAAI,EACJ,kCAAkC,CACrC,CAAC;IACN,CAAC"}
1
+ {"version":3,"file":"1_17.js","sourceRoot":"","sources":["../../src/options/1_17.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM3C,MAAM,OAAO,iBAAkB,SAAQ,aAAoC;IACvE,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,WAAW,EAAE,SAAS;KAC0B,CAAC;IAErD,MAAM,CAAU,eAAe,GAAG;QAC9B,GAAG,iBAAiB,CAAC,eAAe;QACpC,aAAa;KAC4C,CAAC;IAE9D,MAAM,CAAC,YAAY,CACf,IAAY,EACZ,gBAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAC9B,IAAI,CAAC,KAAK,EACV,iBAAiB,CAAC,eAAe,CACpC,CAAC;IACN,CAAC;IAEQ,eAAe;QACpB,0BAA0B;QAC1B,iDAAiD;QACjD,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACjC,CAAC;IAEQ,YAAY,CAAC,IAAY;QAC9B,OAAO,iBAAiB,CAAC,YAAY,CACjC,IAAI,EACJ,sCAAsC,CACzC,CAAC;IACN,CAAC"}
@@ -2,9 +2,8 @@ import Struct from "@yume-chan/struct";
2
2
  import type { AndroidKeyEventAction, ScrcpyBackOrScreenOnControlMessage } from "../control/index.js";
3
3
  import { ScrcpyControlMessageType } from "../control/index.js";
4
4
  import type { ScrcpyOptionsInit1_17 } from "./1_17.js";
5
- import { ScrcpyOptions1_17 } from "./1_17.js";
6
5
  import type { ScrcpyEncoder } from "./types.js";
7
- import { ScrcpyOptionsBase } from "./types.js";
6
+ import { ScrcpyOptions } from "./types.js";
8
7
  export declare enum ScrcpyLogLevel1_18 {
9
8
  Verbose = "verbose",
10
9
  Debug = "debug",
@@ -31,7 +30,7 @@ export declare const ScrcpyBackOrScreenOnControlMessage1_18: Struct<{
31
30
  }, never, Record<never, never>, undefined>;
32
31
  export type ScrcpyBackOrScreenOnControlMessage1_18 = (typeof ScrcpyBackOrScreenOnControlMessage1_18)["TInit"];
33
32
  export declare const SCRCPY_CONTROL_MESSAGE_TYPES_1_18: ScrcpyControlMessageType[];
34
- export declare class ScrcpyOptions1_18 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_18, ScrcpyOptions1_17> {
33
+ export declare class ScrcpyOptions1_18 extends ScrcpyOptions<ScrcpyOptionsInit1_18> {
35
34
  static readonly DEFAULTS: {
36
35
  readonly logLevel: ScrcpyLogLevel1_18.Debug;
37
36
  readonly lockVideoOrientation: ScrcpyVideoOrientation1_18.Unlocked;
@@ -41,7 +40,7 @@ export declare class ScrcpyOptions1_18 extends ScrcpyOptionsBase<ScrcpyOptionsIn
41
40
  readonly bitRate: 8000000;
42
41
  readonly maxFps: 0;
43
42
  readonly tunnelForward: false;
44
- readonly crop: "";
43
+ readonly crop: undefined;
45
44
  readonly sendFrameMeta: true;
46
45
  readonly control: true;
47
46
  readonly displayId: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"1_18.d.ts","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EACR,qBAAqB,EACrB,kCAAkC,EACrC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAS/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,oBAAY,kBAAkB;IAC1B,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED,oBAAY,0BAA0B;IAClC,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,eAAe,IAAI;IACnB,gBAAgB,IAAI;CACvB;AAED,MAAM,WAAW,qBACb,SAAQ,IAAI,CAAC,qBAAqB,EAAE,UAAU,GAAG,sBAAsB,CAAC;IACxE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAElD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,sCAAsC;;;0CAEO,CAAC;AAE3D,MAAM,MAAM,sCAAsC,GAC9C,CAAC,OAAO,sCAAsC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE7D,eAAO,MAAM,iCAAiC,4BACD,CAAC;AA0B9C,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;MAK6B;IAErD,MAAM,CAAC,QAAQ,CAAC,eAAe,gOAG+B;IAE9D,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;IAED,IAAa,mBAAmB,+BAE/B;gBAEW,IAAI,EAAE,qBAAqB;IAa9B,SAAS,IAAI,MAAM,EAAE;IAOrB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAOrD,qCAAqC,CAC1C,OAAO,EAAE,kCAAkC;CAIlD"}
1
+ {"version":3,"file":"1_18.d.ts","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EACR,qBAAqB,EACrB,kCAAkC,EACrC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAO/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,oBAAY,kBAAkB;IAC1B,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED,oBAAY,0BAA0B;IAClC,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,eAAe,IAAI;IACnB,gBAAgB,IAAI;CACvB;AAED,MAAM,WAAW,qBACb,SAAQ,IAAI,CAAC,qBAAqB,EAAE,UAAU,GAAG,sBAAsB,CAAC;IACxE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAElD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,sCAAsC;;;0CAEO,CAAC;AAE3D,MAAM,MAAM,sCAAsC,GAC9C,CAAC,OAAO,sCAAsC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE7D,eAAO,MAAM,iCAAiC,4BACD,CAAC;AAO9C,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;MAK6B;IAErD,MAAM,CAAC,QAAQ,CAAC,eAAe,gOAG+B;IAE9D,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;IAED,IAAa,mBAAmB,+BAE/B;gBAEW,IAAI,EAAE,qBAAqB;IAI9B,SAAS,IAAI,MAAM,EAAE;IAOrB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAOrD,qCAAqC,CAC1C,OAAO,EAAE,kCAAkC;CAIlD"}
@@ -1,8 +1,8 @@
1
1
  import Struct, { placeholder } from "@yume-chan/struct";
2
2
  import { ScrcpyControlMessageType } from "../control/index.js";
3
- import { SCRCPY_CONTROL_MESSAGE_TYPES_1_16, ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyLogLevel1_16, ScrcpyOptions1_16, ScrcpyVideoOrientation1_16, } from "./1_16/index.js";
3
+ import { SCRCPY_CONTROL_MESSAGE_TYPES_1_16, ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyOptions1_16, } from "./1_16/index.js";
4
4
  import { ScrcpyOptions1_17 } from "./1_17.js";
5
- import { ScrcpyOptionsBase } from "./types.js";
5
+ import { ScrcpyOptions } from "./types.js";
6
6
  export var ScrcpyLogLevel1_18;
7
7
  (function (ScrcpyLogLevel1_18) {
8
8
  ScrcpyLogLevel1_18["Verbose"] = "verbose";
@@ -25,22 +25,7 @@ export const ScrcpyBackOrScreenOnControlMessage1_18 = new Struct()
25
25
  .uint8("action", placeholder());
26
26
  export const SCRCPY_CONTROL_MESSAGE_TYPES_1_18 = SCRCPY_CONTROL_MESSAGE_TYPES_1_16.slice();
27
27
  SCRCPY_CONTROL_MESSAGE_TYPES_1_18.splice(6, 0, ScrcpyControlMessageType.ExpandSettingPanel);
28
- const LOG_LEVEL_MAP = {
29
- [ScrcpyLogLevel1_18.Verbose]: ScrcpyLogLevel1_16.Debug,
30
- [ScrcpyLogLevel1_18.Debug]: ScrcpyLogLevel1_16.Debug,
31
- [ScrcpyLogLevel1_18.Info]: ScrcpyLogLevel1_16.Info,
32
- [ScrcpyLogLevel1_18.Warn]: ScrcpyLogLevel1_16.Warn,
33
- [ScrcpyLogLevel1_18.Error]: ScrcpyLogLevel1_16.Error,
34
- };
35
- const VIDEO_ORIENTATION_MAP = {
36
- [ScrcpyVideoOrientation1_18.Initial]: ScrcpyVideoOrientation1_16.Unlocked,
37
- [ScrcpyVideoOrientation1_18.Unlocked]: ScrcpyVideoOrientation1_16.Unlocked,
38
- [ScrcpyVideoOrientation1_18.Portrait]: ScrcpyVideoOrientation1_16.Portrait,
39
- [ScrcpyVideoOrientation1_18.Landscape]: ScrcpyVideoOrientation1_16.Landscape,
40
- [ScrcpyVideoOrientation1_18.PortraitFlipped]: ScrcpyVideoOrientation1_16.PortraitFlipped,
41
- [ScrcpyVideoOrientation1_18.LandscapeFlipped]: ScrcpyVideoOrientation1_16.LandscapeFlipped,
42
- };
43
- export class ScrcpyOptions1_18 extends ScrcpyOptionsBase {
28
+ export class ScrcpyOptions1_18 extends ScrcpyOptions {
44
29
  static DEFAULTS = {
45
30
  ...ScrcpyOptions1_17.DEFAULTS,
46
31
  logLevel: ScrcpyLogLevel1_18.Debug,
@@ -58,18 +43,13 @@ export class ScrcpyOptions1_18 extends ScrcpyOptionsBase {
58
43
  return SCRCPY_CONTROL_MESSAGE_TYPES_1_18;
59
44
  }
60
45
  constructor(init) {
61
- const value = { ...ScrcpyOptions1_18.DEFAULTS, ...init };
62
- super(new ScrcpyOptions1_17({
63
- ...init,
64
- logLevel: LOG_LEVEL_MAP[value.logLevel],
65
- lockVideoOrientation: VIDEO_ORIENTATION_MAP[value.lockVideoOrientation],
66
- }), value);
46
+ super(ScrcpyOptions1_17, init, ScrcpyOptions1_18.DEFAULTS);
67
47
  }
68
48
  serialize() {
69
49
  return ScrcpyOptions1_16.serialize(this.value, ScrcpyOptions1_18.SERIALIZE_ORDER);
70
50
  }
71
51
  parseEncoder(line) {
72
- return ScrcpyOptions1_17.parseEncoder(line, /\s+scrcpy --encoder '(.*?)'/);
52
+ return ScrcpyOptions1_17.parseEncoder(line, /^\s+scrcpy --encoder '([^']+)'$/);
73
53
  }
74
54
  serializeBackOrScreenOnControlMessage(message) {
75
55
  return ScrcpyBackOrScreenOnControlMessage1_18.serialize(message);
@@ -1 +1 @@
1
- {"version":3,"file":"1_18.js","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"1_18.js","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACH,iCAAiC,EACjC,sCAAsC,EACtC,iBAAiB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,qCAAe,CAAA;AACnB,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,MAAM,CAAN,IAAY,0BAOX;AAPD,WAAY,0BAA0B;IAClC,kFAAY,CAAA;IACZ,oFAAa,CAAA;IACb,mFAAY,CAAA;IACZ,qFAAa,CAAA;IACb,iGAAmB,CAAA;IACnB,mGAAoB,CAAA;AACxB,CAAC,EAPW,0BAA0B,KAA1B,0BAA0B,QAOrC;AAWD,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,MAAM,EAAE;KAC7D,MAAM,CAAC,sCAAsC,CAAC;KAC9C,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAyB,CAAC,CAAC;AAK3D,MAAM,CAAC,MAAM,iCAAiC,GAC1C,iCAAiC,CAAC,KAAK,EAAE,CAAC;AAC9C,iCAAiC,CAAC,MAAM,CACpC,CAAC,EACD,CAAC,EACD,wBAAwB,CAAC,kBAAkB,CAC9C,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,aAAoC;IACvE,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,QAAQ,EAAE,kBAAkB,CAAC,KAAK;QAClC,oBAAoB,EAAE,0BAA0B,CAAC,QAAQ;QACzD,eAAe,EAAE,KAAK;KAC0B,CAAC;IAErD,MAAM,CAAU,eAAe,GAAG;QAC9B,GAAG,iBAAiB,CAAC,eAAe;QACpC,iBAAiB;KACwC,CAAC;IAE9D,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,IAAa,mBAAmB;QAC5B,OAAO,iCAAiC,CAAC;IAC7C,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAC9B,IAAI,CAAC,KAAK,EACV,iBAAiB,CAAC,eAAe,CACpC,CAAC;IACN,CAAC;IAEQ,YAAY,CAAC,IAAY;QAC9B,OAAO,iBAAiB,CAAC,YAAY,CACjC,IAAI,EACJ,iCAAiC,CACpC,CAAC;IACN,CAAC;IAEQ,qCAAqC,CAC1C,OAA2C;QAE3C,OAAO,sCAAsC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC"}
@@ -1,8 +1,11 @@
1
+ import type { AsyncExactReadable } from "@yume-chan/struct";
1
2
  import Struct from "@yume-chan/struct";
2
3
  import type { ScrcpySetClipboardControlMessage } from "../control/index.js";
3
4
  import type { ScrcpyOptionsInit1_18 } from "./1_18.js";
4
- import { ScrcpyOptions1_18 } from "./1_18.js";
5
- import { ScrcpyOptionsBase } from "./types.js";
5
+ import { ScrcpyOptions } from "./types.js";
6
+ export declare const ScrcpyAckClipboardDeviceMessage: Struct<{
7
+ sequence: bigint;
8
+ }, never, Record<never, never>, undefined>;
6
9
  export interface ScrcpyOptionsInit1_21 extends ScrcpyOptionsInit1_18 {
7
10
  clipboardAutosync?: boolean;
8
11
  }
@@ -14,7 +17,8 @@ export declare const ScrcpySetClipboardControlMessage1_21: Struct<{
14
17
  content: string;
15
18
  }, "length", Record<never, never>, undefined>;
16
19
  export type ScrcpySetClipboardControlMessage1_21 = (typeof ScrcpySetClipboardControlMessage1_21)["TInit"];
17
- export declare class ScrcpyOptions1_21 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_21, ScrcpyOptions1_18> {
20
+ export declare class ScrcpyOptions1_21 extends ScrcpyOptions<ScrcpyOptionsInit1_21> {
21
+ #private;
18
22
  static readonly DEFAULTS: {
19
23
  readonly clipboardAutosync: true;
20
24
  readonly logLevel: import("./1_18.js").ScrcpyLogLevel1_18.Debug;
@@ -25,7 +29,7 @@ export declare class ScrcpyOptions1_21 extends ScrcpyOptionsBase<ScrcpyOptionsIn
25
29
  readonly bitRate: 8000000;
26
30
  readonly maxFps: 0;
27
31
  readonly tunnelForward: false;
28
- readonly crop: "";
32
+ readonly crop: undefined;
29
33
  readonly sendFrameMeta: true;
30
34
  readonly control: true;
31
35
  readonly displayId: 0;
@@ -36,7 +40,8 @@ export declare class ScrcpyOptions1_21 extends ScrcpyOptionsBase<ScrcpyOptionsIn
36
40
  static serialize<T extends object>(options: T, defaults: Required<T>): string[];
37
41
  get defaults(): Required<ScrcpyOptionsInit1_21>;
38
42
  constructor(init: ScrcpyOptionsInit1_21);
43
+ parseDeviceMessage(id: number, stream: AsyncExactReadable): Promise<boolean>;
39
44
  serialize(): string[];
40
- serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
45
+ serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array | [Uint8Array, Promise<void>];
41
46
  }
42
47
  //# sourceMappingURL=1_21.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"1_21.d.ts","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAEA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,eAAO,MAAM,oCAAoC;;;;;;6CAKA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;MAG6B;IAErD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAC7B,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACtB,MAAM,EAAE;IAsBX,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAIrB,mCAAmC,CACxC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;CAGhB"}
1
+ {"version":3,"file":"1_21.d.ts","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,+BAA+B;;0CAAkC,CAAC;AAE/E,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,eAAO,MAAM,oCAAoC;;;;;;6CAKA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;MAG6B;IAErD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAC7B,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACtB,MAAM,EAAE;IAsBX,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAIW,IAAI,EAAE,qBAAqB;IAIxB,kBAAkB,CAC7B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,OAAO,CAAC;IAiBV,SAAS,IAAI,MAAM,EAAE;IAIrB,mCAAmC,CACxC,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAY9C"}
@@ -1,7 +1,9 @@
1
1
  // cspell: ignore autosync
2
+ import { PromiseResolver } from "@yume-chan/async";
2
3
  import Struct, { placeholder } from "@yume-chan/struct";
3
4
  import { ScrcpyOptions1_18 } from "./1_18.js";
4
- import { ScrcpyOptionsBase, toScrcpyOptionValue } from "./types.js";
5
+ import { ScrcpyOptions, toScrcpyOptionValue } from "./types.js";
6
+ export const ScrcpyAckClipboardDeviceMessage = new Struct().uint64("sequence");
5
7
  function toSnakeCase(input) {
6
8
  return input.replace(/([A-Z])/g, "_$1").toLowerCase();
7
9
  }
@@ -11,7 +13,7 @@ export const ScrcpySetClipboardControlMessage1_21 = new Struct()
11
13
  .int8("paste", placeholder())
12
14
  .uint32("length")
13
15
  .string("content", { lengthField: "length" });
14
- export class ScrcpyOptions1_21 extends ScrcpyOptionsBase {
16
+ export class ScrcpyOptions1_21 extends ScrcpyOptions {
15
17
  static DEFAULTS = {
16
18
  ...ScrcpyOptions1_18.DEFAULTS,
17
19
  clipboardAutosync: true,
@@ -35,17 +37,38 @@ export class ScrcpyOptions1_21 extends ScrcpyOptionsBase {
35
37
  get defaults() {
36
38
  return ScrcpyOptions1_21.DEFAULTS;
37
39
  }
40
+ #clipboardAck = new Map();
38
41
  constructor(init) {
39
- super(new ScrcpyOptions1_18(init), {
40
- ...ScrcpyOptions1_21.DEFAULTS,
41
- ...init,
42
- });
42
+ super(ScrcpyOptions1_18, init, ScrcpyOptions1_21.DEFAULTS);
43
+ }
44
+ async parseDeviceMessage(id, stream) {
45
+ switch (id) {
46
+ case 1: {
47
+ const message = await ScrcpyAckClipboardDeviceMessage.deserialize(stream);
48
+ const resolver = this.#clipboardAck.get(message.sequence);
49
+ if (resolver) {
50
+ resolver.resolve();
51
+ this.#clipboardAck.delete(message.sequence);
52
+ }
53
+ return true;
54
+ }
55
+ default:
56
+ return await super.parseDeviceMessage(id, stream);
57
+ }
43
58
  }
44
59
  serialize() {
45
60
  return ScrcpyOptions1_21.serialize(this.value, this.defaults);
46
61
  }
47
62
  serializeSetClipboardControlMessage(message) {
48
- return ScrcpySetClipboardControlMessage1_21.serialize(message);
63
+ if (message.sequence === 0n) {
64
+ return ScrcpySetClipboardControlMessage1_21.serialize(message);
65
+ }
66
+ const resolver = new PromiseResolver();
67
+ this.#clipboardAck.set(message.sequence, resolver);
68
+ return [
69
+ ScrcpySetClipboardControlMessage1_21.serialize(message),
70
+ resolver.promise,
71
+ ];
49
72
  }
50
73
  }
51
74
  //# sourceMappingURL=1_21.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1_21.js","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMpE,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,CAAC;KACb,MAAM,CAAC,UAAU,CAAC;KAClB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAW,CAAC;KACrC,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKlD,MAAM,OAAO,iBAAkB,SAAQ,iBAGtC;IACG,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,iBAAiB,EAAE,IAAI;KACyB,CAAC;IAErD,MAAM,CAAC,SAAS,CACZ,OAAU,EACV,QAAqB;QAErB,uCAAuC;QACvC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YAED,MAAM,YAAY,GAAG,mBAAmB,CACpC,QAAQ,CAAC,GAAc,CAAC,EACxB,SAAS,CACZ,CAAC;YACF,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;gBAClC,SAAS;YACb,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,mCAAmC,CACxC,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC"}
1
+ {"version":3,"file":"1_21.js","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import type { ReadableStream } from "@yume-chan/stream-extra";
2
2
  import type { ValueOrPromise } from "@yume-chan/struct";
3
3
  import type { ScrcpyScrollController } from "../1_16/index.js";
4
- import { ScrcpyOptions1_21 } from "../1_21.js";
5
4
  import type { ScrcpyVideoStream } from "../codec.js";
6
- import { ScrcpyOptionsBase } from "../types.js";
5
+ import { ScrcpyOptions } from "../types.js";
7
6
  import type { ScrcpyOptionsInit1_22 } from "./init.js";
8
- export declare class ScrcpyOptions1_22 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_22, ScrcpyOptions1_21> {
7
+ export declare class ScrcpyOptions1_22 extends ScrcpyOptions<ScrcpyOptionsInit1_22> {
9
8
  static readonly DEFAULTS: {
10
9
  readonly downsizeOnError: true;
11
10
  readonly sendDeviceMeta: true;
@@ -19,7 +18,7 @@ export declare class ScrcpyOptions1_22 extends ScrcpyOptionsBase<ScrcpyOptionsIn
19
18
  readonly bitRate: 8000000;
20
19
  readonly maxFps: 0;
21
20
  readonly tunnelForward: false;
22
- readonly crop: "";
21
+ readonly crop: undefined;
23
22
  readonly sendFrameMeta: true;
24
23
  readonly control: true;
25
24
  readonly displayId: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGvD,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;MAK6B;IAErD,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,wBAAwB,CAC7B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAQ3B,SAAS,IAAI,MAAM,EAAE;IAIrB,sBAAsB,IAAI,sBAAsB;CAG5D"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGvD,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;MAK6B;IAErD,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAI9B,wBAAwB,CAC7B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAQ3B,SAAS,IAAI,MAAM,EAAE;IAIrB,sBAAsB,IAAI,sBAAsB;CAG5D"}
@@ -1,8 +1,8 @@
1
1
  import { ScrcpyOptions1_21 } from "../1_21.js";
2
2
  import { ScrcpyVideoCodecId } from "../codec.js";
3
- import { ScrcpyOptionsBase } from "../types.js";
3
+ import { ScrcpyOptions } from "../types.js";
4
4
  import { ScrcpyScrollController1_22 } from "./scroll.js";
5
- export class ScrcpyOptions1_22 extends ScrcpyOptionsBase {
5
+ export class ScrcpyOptions1_22 extends ScrcpyOptions {
6
6
  static DEFAULTS = {
7
7
  ...ScrcpyOptions1_21.DEFAULTS,
8
8
  downsizeOnError: true,
@@ -13,17 +13,14 @@ export class ScrcpyOptions1_22 extends ScrcpyOptionsBase {
13
13
  return ScrcpyOptions1_22.DEFAULTS;
14
14
  }
15
15
  constructor(init) {
16
- super(new ScrcpyOptions1_21(init), {
17
- ...ScrcpyOptions1_22.DEFAULTS,
18
- ...init,
19
- });
16
+ super(ScrcpyOptions1_21, init, ScrcpyOptions1_22.DEFAULTS);
20
17
  }
21
18
  parseVideoStreamMetadata(stream) {
22
19
  if (!this.value.sendDeviceMeta) {
23
20
  return { stream, metadata: { codec: ScrcpyVideoCodecId.H264 } };
24
21
  }
25
22
  else {
26
- return this._base.parseVideoStreamMetadata(stream);
23
+ return super.parseVideoStreamMetadata(stream);
27
24
  }
28
25
  }
29
26
  serialize() {
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,iBAGtC;IACG,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KAC6B,CAAC;IAErD,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEQ,wBAAwB,CAC7B,MAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,sBAAsB;QAC3B,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,aAAoC;IACvE,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KAC6B,CAAC;IAErD,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEQ,wBAAwB,CAC7B,MAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,sBAAsB;QAC3B,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC"}