@yume-chan/scrcpy 0.0.23 → 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 +21 -0
  2. package/CHANGELOG.md +11 -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 +13 -4
  46. package/esm/options/1_16/options.d.ts.map +1 -1
  47. package/esm/options/1_16/options.js +43 -15
  48. package/esm/options/1_16/options.js.map +1 -1
  49. package/esm/options/1_17.d.ts +2 -3
  50. package/esm/options/1_17.d.ts.map +1 -1
  51. package/esm/options/1_17.js +3 -6
  52. package/esm/options/1_17.js.map +1 -1
  53. package/esm/options/1_18.d.ts +2 -3
  54. package/esm/options/1_18.d.ts.map +1 -1
  55. package/esm/options/1_18.js +4 -24
  56. package/esm/options/1_18.js.map +1 -1
  57. package/esm/options/1_21.d.ts +9 -4
  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 +2 -3
  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 +2 -3
  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 +2 -3
  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 +10 -8
  82. package/esm/options/2_0.d.ts.map +1 -1
  83. package/esm/options/2_0.js +68 -74
  84. package/esm/options/2_0.js.map +1 -1
  85. package/esm/options/2_1.d.ts +4 -5
  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 +4 -5
  90. package/esm/options/2_2.d.ts.map +1 -1
  91. package/esm/options/2_2.js +3 -6
  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 +11 -11
  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 +68 -28
  125. package/src/options/1_17.ts +3 -9
  126. package/src/options/1_18.ts +3 -36
  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 +87 -92
  134. package/src/options/2_1.ts +3 -9
  135. package/src/options/2_2.ts +3 -9
  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;
@@ -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;IAUrD,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,
@@ -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);
@@ -99,6 +116,17 @@ export class ScrcpyOptions1_16 {
99
116
  parseAudioStreamMetadata() {
100
117
  throw new Error("Not supported");
101
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
+ }
102
130
  createMediaStreamTransformer() {
103
131
  // Optimized path for video frames only
104
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;
@@ -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);
@@ -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,sCAAsC,CACzC,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;
@@ -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,12 +43,7 @@ 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);
@@ -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;
@@ -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":"AAAA,0BAA0B;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAM/E,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,aAAoC;IACvE,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,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEzD,YAAY,IAA2B;QACnC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEQ,KAAK,CAAC,kBAAkB,CAC7B,EAAU,EACV,MAA0B;QAE1B,QAAQ,EAAE,EAAE,CAAC;YACT,KAAK,CAAC,CAAC,CAAC,CAAC;gBACL,MAAM,OAAO,GACT,MAAM,+BAA+B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC1D,IAAI,QAAQ,EAAE,CAAC;oBACX,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD;gBACI,OAAO,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;IACL,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,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YAC1B,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAQ,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO;YACH,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC;YACvD,QAAQ,CAAC,OAAO;SACnB,CAAC;IACN,CAAC"}
@@ -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;
@@ -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"}
@@ -1,12 +1,11 @@
1
1
  import { TransformStream } from "@yume-chan/stream-extra";
2
2
  import type { ScrcpyOptionsInit1_22 } from "./1_22/index.js";
3
- import { ScrcpyOptions1_22 } from "./1_22/index.js";
4
3
  import type { ScrcpyMediaStreamPacket } from "./codec.js";
5
- import { ScrcpyOptionsBase } from "./types.js";
4
+ import { ScrcpyOptions } from "./types.js";
6
5
  export interface ScrcpyOptionsInit1_23 extends ScrcpyOptionsInit1_22 {
7
6
  cleanup?: boolean;
8
7
  }
9
- export declare class ScrcpyOptions1_23 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_23, ScrcpyOptions1_22> {
8
+ export declare class ScrcpyOptions1_23 extends ScrcpyOptions<ScrcpyOptionsInit1_23> {
10
9
  static readonly DEFAULTS: {
11
10
  readonly cleanup: true;
12
11
  readonly downsizeOnError: true;
@@ -1 +1 @@
1
- {"version":3,"file":"1_23.d.ts","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;MAG6B;IAErD,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAIrB,4BAA4B,IAAI,eAAe,CACpD,UAAU,EACV,uBAAuB,CAC1B;CA0BJ"}
1
+ {"version":3,"file":"1_23.d.ts","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;MAG6B;IAErD,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAI9B,SAAS,IAAI,MAAM,EAAE;IAIrB,4BAA4B,IAAI,eAAe,CACpD,UAAU,EACV,uBAAuB,CAC1B;CA0BJ"}
@@ -1,9 +1,9 @@
1
1
  import { TransformStream } from "@yume-chan/stream-extra";
2
2
  import { ScrcpyOptions1_21 } from "./1_21.js";
3
3
  import { ScrcpyOptions1_22 } from "./1_22/index.js";
4
- import { ScrcpyOptionsBase } from "./types.js";
4
+ import { ScrcpyOptions } from "./types.js";
5
5
  const KEYFRAME_PTS = 1n << 62n;
6
- export class ScrcpyOptions1_23 extends ScrcpyOptionsBase {
6
+ export class ScrcpyOptions1_23 extends ScrcpyOptions {
7
7
  static DEFAULTS = {
8
8
  ...ScrcpyOptions1_22.DEFAULTS,
9
9
  cleanup: true,
@@ -12,16 +12,13 @@ export class ScrcpyOptions1_23 extends ScrcpyOptionsBase {
12
12
  return ScrcpyOptions1_23.DEFAULTS;
13
13
  }
14
14
  constructor(init) {
15
- super(new ScrcpyOptions1_22(init), {
16
- ...ScrcpyOptions1_23.DEFAULTS,
17
- ...init,
18
- });
15
+ super(ScrcpyOptions1_22, init, ScrcpyOptions1_23.DEFAULTS);
19
16
  }
20
17
  serialize() {
21
18
  return ScrcpyOptions1_21.serialize(this.value, this.defaults);
22
19
  }
23
20
  createMediaStreamTransformer() {
24
- const stream = this._base.createMediaStreamTransformer();
21
+ const stream = super.createMediaStreamTransformer();
25
22
  return {
26
23
  writable: stream.writable,
27
24
  readable: stream.readable.pipeThrough(new TransformStream({
@@ -1 +1 @@
1
- {"version":3,"file":"1_23.js","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,YAAY,GAAG,EAAE,IAAI,GAAG,CAAC;AAE/B,MAAM,OAAO,iBAAkB,SAAQ,iBAGtC;IACG,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,OAAO,EAAE,IAAI;KACmC,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,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,4BAA4B;QAIjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC;QACzD,OAAO;YACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CACjC,IAAI,eAAe,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,UAAU;oBACxB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACzB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC3B,OAAO;oBACX,CAAC;oBAED,IACI,MAAM,CAAC,GAAG,KAAK,SAAS;wBACxB,MAAM,CAAC,GAAG,GAAG,YAAY,EAC3B,CAAC;wBACC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;oBAChC,CAAC;oBAED,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;aACJ,CAAC,CACL;SACJ,CAAC;IACN,CAAC"}
1
+ {"version":3,"file":"1_23.js","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM3C,MAAM,YAAY,GAAG,EAAE,IAAI,GAAG,CAAC;AAE/B,MAAM,OAAO,iBAAkB,SAAQ,aAAoC;IACvE,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,OAAO,EAAE,IAAI;KACmC,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,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,4BAA4B;QAIjC,MAAM,MAAM,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC;QACpD,OAAO;YACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CACjC,IAAI,eAAe,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,UAAU;oBACxB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACzB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC3B,OAAO;oBACX,CAAC;oBAED,IACI,MAAM,CAAC,GAAG,KAAK,SAAS;wBACxB,MAAM,CAAC,GAAG,GAAG,YAAY,EAC3B,CAAC;wBACC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;oBAChC,CAAC;oBAED,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;aACJ,CAAC,CACL;SACJ,CAAC;IACN,CAAC"}