@yume-chan/scrcpy 0.0.19 → 0.0.20

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 (252) hide show
  1. package/CHANGELOG.json +15 -0
  2. package/CHANGELOG.md +9 -1
  3. package/README.md +105 -181
  4. package/esm/codec/h264.d.ts +1 -21
  5. package/esm/codec/h264.d.ts.map +1 -1
  6. package/esm/codec/h264.js +13 -234
  7. package/esm/codec/h264.js.map +1 -1
  8. package/esm/codec/h265.d.ts +454 -0
  9. package/esm/codec/h265.d.ts.map +1 -1
  10. package/esm/codec/h265.js +1060 -0
  11. package/esm/codec/h265.js.map +1 -1
  12. package/esm/codec/index.d.ts +1 -0
  13. package/esm/codec/index.d.ts.map +1 -1
  14. package/esm/codec/index.js +1 -0
  15. package/esm/codec/index.js.map +1 -1
  16. package/esm/codec/nalu.d.ts +44 -0
  17. package/esm/codec/nalu.d.ts.map +1 -0
  18. package/esm/codec/nalu.js +310 -0
  19. package/esm/codec/nalu.js.map +1 -0
  20. package/esm/control/back-or-screen-on.d.ts +1 -1
  21. package/esm/control/back-or-screen-on.d.ts.map +1 -1
  22. package/esm/control/index.d.ts +2 -0
  23. package/esm/control/index.d.ts.map +1 -1
  24. package/esm/control/index.js +2 -0
  25. package/esm/control/index.js.map +1 -1
  26. package/esm/control/inject-keycode.d.ts +1 -2
  27. package/esm/control/inject-keycode.d.ts.map +1 -1
  28. package/esm/control/inject-keycode.js +1 -2
  29. package/esm/control/inject-keycode.js.map +1 -1
  30. package/esm/control/inject-text.d.ts +1 -2
  31. package/esm/control/inject-text.d.ts.map +1 -1
  32. package/esm/control/inject-text.js +1 -2
  33. package/esm/control/inject-text.js.map +1 -1
  34. package/esm/control/inject-touch.d.ts +15 -20
  35. package/esm/control/inject-touch.d.ts.map +1 -1
  36. package/esm/control/inject-touch.js +14 -41
  37. package/esm/control/inject-touch.js.map +1 -1
  38. package/esm/control/rotate-device.d.ts +2 -4
  39. package/esm/control/rotate-device.d.ts.map +1 -1
  40. package/esm/control/rotate-device.js +2 -3
  41. package/esm/control/rotate-device.js.map +1 -1
  42. package/esm/control/serializer.d.ts +13 -23
  43. package/esm/control/serializer.d.ts.map +1 -1
  44. package/esm/control/serializer.js +23 -52
  45. package/esm/control/serializer.js.map +1 -1
  46. package/esm/control/set-screen-power-mode.d.ts +1 -2
  47. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  48. package/esm/control/set-screen-power-mode.js +1 -2
  49. package/esm/control/set-screen-power-mode.js.map +1 -1
  50. package/esm/control/type.d.ts +14 -0
  51. package/esm/control/type.d.ts.map +1 -1
  52. package/esm/control/type.js +22 -0
  53. package/esm/control/type.js.map +1 -1
  54. package/esm/control/writer.d.ts +28 -0
  55. package/esm/control/writer.d.ts.map +1 -0
  56. package/esm/control/writer.js +53 -0
  57. package/esm/control/writer.js.map +1 -0
  58. package/esm/device-message/stream.d.ts.map +1 -1
  59. package/esm/device-message/stream.js +23 -8
  60. package/esm/device-message/stream.js.map +1 -1
  61. package/esm/index.d.ts +1 -2
  62. package/esm/index.d.ts.map +1 -1
  63. package/esm/index.js +1 -2
  64. package/esm/index.js.map +1 -1
  65. package/esm/options/1_16/codec-options.d.ts +2 -3
  66. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  67. package/esm/options/1_16/codec-options.js.map +1 -1
  68. package/esm/options/1_16/index.d.ts +3 -1
  69. package/esm/options/1_16/index.d.ts.map +1 -1
  70. package/esm/options/1_16/index.js +3 -1
  71. package/esm/options/1_16/index.js.map +1 -1
  72. package/esm/options/1_16/options.d.ts +42 -96
  73. package/esm/options/1_16/options.d.ts.map +1 -1
  74. package/esm/options/1_16/options.js +106 -143
  75. package/esm/options/1_16/options.js.map +1 -1
  76. package/esm/options/1_16/scroll.d.ts +1 -2
  77. package/esm/options/1_16/scroll.d.ts.map +1 -1
  78. package/esm/options/1_16/scroll.js +1 -2
  79. package/esm/options/1_16/scroll.js.map +1 -1
  80. package/esm/options/1_17.d.ts +1 -0
  81. package/esm/options/1_17.d.ts.map +1 -1
  82. package/esm/options/1_17.js +7 -1
  83. package/esm/options/1_17.js.map +1 -1
  84. package/esm/options/1_18.d.ts +49 -11
  85. package/esm/options/1_18.d.ts.map +1 -1
  86. package/esm/options/1_18.js +65 -32
  87. package/esm/options/1_18.js.map +1 -1
  88. package/esm/options/1_21.d.ts +26 -7
  89. package/esm/options/1_21.d.ts.map +1 -1
  90. package/esm/options/1_21.js +35 -20
  91. package/esm/options/1_21.js.map +1 -1
  92. package/esm/options/1_22/index.d.ts +1 -0
  93. package/esm/options/1_22/index.d.ts.map +1 -1
  94. package/esm/options/1_22/index.js +1 -0
  95. package/esm/options/1_22/index.js.map +1 -1
  96. package/esm/options/1_22/options.d.ts +32 -26
  97. package/esm/options/1_22/options.d.ts.map +1 -1
  98. package/esm/options/1_22/options.js +27 -16
  99. package/esm/options/1_22/options.js.map +1 -1
  100. package/esm/options/1_22/scroll.d.ts +1 -1
  101. package/esm/options/1_22/scroll.js +1 -1
  102. package/esm/options/1_23.d.ts +32 -8
  103. package/esm/options/1_23.d.ts.map +1 -1
  104. package/esm/options/1_23.js +24 -14
  105. package/esm/options/1_23.js.map +1 -1
  106. package/esm/options/1_24.d.ts +29 -4
  107. package/esm/options/1_24.d.ts.map +1 -1
  108. package/esm/options/1_24.js +17 -7
  109. package/esm/options/1_24.js.map +1 -1
  110. package/esm/options/1_25/options.d.ts +6 -2
  111. package/esm/options/1_25/options.d.ts.map +1 -1
  112. package/esm/options/1_25/options.js +16 -2
  113. package/esm/options/1_25/options.js.map +1 -1
  114. package/esm/options/1_25/scroll.d.ts.map +1 -1
  115. package/esm/options/1_25/scroll.js +2 -1
  116. package/esm/options/1_25/scroll.js.map +1 -1
  117. package/esm/options/2_0.d.ts +12 -8
  118. package/esm/options/2_0.d.ts.map +1 -1
  119. package/esm/options/2_0.js +80 -11
  120. package/esm/options/2_0.js.map +1 -1
  121. package/esm/options/codec.d.ts +4 -4
  122. package/esm/options/codec.d.ts.map +1 -1
  123. package/esm/options/codec.js +3 -3
  124. package/esm/options/codec.js.map +1 -1
  125. package/esm/options/index.d.ts +4 -0
  126. package/esm/options/index.d.ts.map +1 -1
  127. package/esm/options/index.js +4 -0
  128. package/esm/options/index.js.map +1 -1
  129. package/esm/options/types.d.ts +73 -33
  130. package/esm/options/types.d.ts.map +1 -1
  131. package/esm/options/types.js +52 -0
  132. package/esm/options/types.js.map +1 -1
  133. package/package.json +7 -14
  134. package/src/codec/av1.ts +33 -0
  135. package/src/codec/h264.ts +317 -0
  136. package/src/codec/h265.ts +1375 -0
  137. package/src/codec/index.ts +4 -0
  138. package/src/codec/nalu.ts +373 -0
  139. package/src/control/back-or-screen-on.ts +1 -1
  140. package/{esm/control/simple.js → src/control/basic.ts} +3 -3
  141. package/src/control/index.ts +2 -0
  142. package/src/control/inject-keycode.ts +1 -3
  143. package/src/control/inject-text.ts +1 -3
  144. package/src/control/inject-touch.ts +16 -55
  145. package/src/control/rotate-device.ts +2 -7
  146. package/src/control/serializer.ts +42 -101
  147. package/src/control/set-screen-power-mode.ts +1 -3
  148. package/src/control/type.ts +32 -0
  149. package/src/control/writer.ts +87 -0
  150. package/src/device-message/stream.ts +32 -12
  151. package/src/index.ts +1 -2
  152. package/src/options/1_16/codec-options.ts +2 -3
  153. package/src/options/1_16/float-to-uint16.ts +33 -0
  154. package/src/options/1_16/index.ts +3 -1
  155. package/src/options/1_16/init.ts +80 -0
  156. package/src/options/1_16/message.ts +55 -0
  157. package/src/options/1_16/options.ts +146 -255
  158. package/src/options/1_16/scroll.ts +1 -2
  159. package/src/options/1_17.ts +66 -0
  160. package/src/options/1_18.ts +101 -37
  161. package/src/options/1_21.ts +47 -25
  162. package/src/options/1_22/index.ts +1 -0
  163. package/src/options/1_22/init.ts +19 -0
  164. package/src/options/1_22/options.ts +38 -45
  165. package/src/options/1_22/scroll.ts +1 -1
  166. package/src/options/1_23.ts +33 -21
  167. package/src/options/1_24.ts +23 -11
  168. package/src/options/1_25/options.ts +22 -4
  169. package/src/options/1_25/scroll.ts +2 -1
  170. package/src/options/2_0.ts +342 -0
  171. package/src/options/codec.ts +98 -0
  172. package/src/options/index.ts +4 -0
  173. package/src/options/latest.ts +14 -0
  174. package/src/options/types.ts +152 -42
  175. package/tsconfig.build.json +9 -1
  176. package/tsconfig.build.tsbuildinfo +1 -1
  177. package/esm/adb/client.d.ts +0 -41
  178. package/esm/adb/client.d.ts.map +0 -1
  179. package/esm/adb/client.js +0 -224
  180. package/esm/adb/client.js.map +0 -1
  181. package/esm/adb/connection.d.ts +0 -49
  182. package/esm/adb/connection.d.ts.map +0 -1
  183. package/esm/adb/connection.js +0 -122
  184. package/esm/adb/connection.js.map +0 -1
  185. package/esm/adb/index.d.ts +0 -4
  186. package/esm/adb/index.d.ts.map +0 -1
  187. package/esm/adb/index.js +0 -4
  188. package/esm/adb/index.js.map +0 -1
  189. package/esm/adb/options/1_16.d.ts +0 -8
  190. package/esm/adb/options/1_16.d.ts.map +0 -1
  191. package/esm/adb/options/1_16.js +0 -20
  192. package/esm/adb/options/1_16.js.map +0 -1
  193. package/esm/adb/options/1_22.d.ts +0 -8
  194. package/esm/adb/options/1_22.d.ts.map +0 -1
  195. package/esm/adb/options/1_22.js +0 -17
  196. package/esm/adb/options/1_22.js.map +0 -1
  197. package/esm/adb/options/1_26.d.ts +0 -9
  198. package/esm/adb/options/1_26.d.ts.map +0 -1
  199. package/esm/adb/options/1_26.js +0 -11
  200. package/esm/adb/options/1_26.js.map +0 -1
  201. package/esm/adb/options/2_0.d.ts +0 -8
  202. package/esm/adb/options/2_0.d.ts.map +0 -1
  203. package/esm/adb/options/2_0.js +0 -13
  204. package/esm/adb/options/2_0.js.map +0 -1
  205. package/esm/adb/options/index.d.ts +0 -4
  206. package/esm/adb/options/index.d.ts.map +0 -1
  207. package/esm/adb/options/index.js +0 -4
  208. package/esm/adb/options/index.js.map +0 -1
  209. package/esm/adb/options/types.d.ts +0 -24
  210. package/esm/adb/options/types.d.ts.map +0 -1
  211. package/esm/adb/options/types.js +0 -37
  212. package/esm/adb/options/types.js.map +0 -1
  213. package/esm/codec.d.ts +0 -34
  214. package/esm/codec.d.ts.map +0 -1
  215. package/esm/codec.js +0 -37
  216. package/esm/codec.js.map +0 -1
  217. package/esm/control/simple.d.ts +0 -5
  218. package/esm/control/simple.d.ts.map +0 -1
  219. package/esm/control/simple.js.map +0 -1
  220. package/esm/decoder.d.ts +0 -2
  221. package/esm/decoder.d.ts.map +0 -1
  222. package/esm/decoder.js +0 -2
  223. package/esm/decoder.js.map +0 -1
  224. package/esm/options/1.17.d.ts +0 -3
  225. package/esm/options/1.17.d.ts.map +0 -1
  226. package/esm/options/1.17.js +0 -2
  227. package/esm/options/1.17.js.map +0 -1
  228. package/esm/options/1_16/h264-configuration.d.ts +0 -49
  229. package/esm/options/1_16/h264-configuration.d.ts.map +0 -1
  230. package/esm/options/1_16/h264-configuration.js +0 -414
  231. package/esm/options/1_16/h264-configuration.js.map +0 -1
  232. package/esm/options/1_16/sps.d.ts +0 -22
  233. package/esm/options/1_16/sps.d.ts.map +0 -1
  234. package/esm/options/1_16/sps.js +0 -263
  235. package/esm/options/1_16/sps.js.map +0 -1
  236. package/esm/options/1_26.d.ts +0 -57
  237. package/esm/options/1_26.d.ts.map +0 -1
  238. package/esm/options/1_26.js +0 -67
  239. package/esm/options/1_26.js.map +0 -1
  240. package/esm/options/2.d.ts +0 -57
  241. package/esm/options/2.d.ts.map +0 -1
  242. package/esm/options/2.js +0 -67
  243. package/esm/options/2.js.map +0 -1
  244. package/src/adb/client.ts +0 -329
  245. package/src/adb/connection.ts +0 -209
  246. package/src/adb/index.ts +0 -3
  247. package/src/adb/options/1_16.ts +0 -32
  248. package/src/adb/options/1_22.ts +0 -26
  249. package/src/adb/options/index.ts +0 -3
  250. package/src/adb/options/types.ts +0 -75
  251. package/src/codec.ts +0 -35
  252. package/src/options/1_16/h264-configuration.ts +0 -485
@@ -27,6 +27,7 @@ export declare class ScrcpyOptions1_17 extends ScrcpyOptionsBase<ScrcpyOptionsIn
27
27
  get defaults(): Required<ScrcpyOptionsInit1_17>;
28
28
  constructor(init: ScrcpyOptionsInit1_17);
29
29
  serialize(): string[];
30
+ setListEncoders(): void;
30
31
  parseEncoder(line: string): ScrcpyEncoder | undefined;
31
32
  }
32
33
  //# sourceMappingURL=1_17.d.ts.map
@@ -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,gBAAuB,QAAQ;;;;;;;;;;;;;;;MAGsB;IAErD,gBAAuB,eAAe,6MAGwB;WAEhD,YAAY,CACtB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACzB,aAAa,GAAG,SAAS;IAQ5B,IAAoB,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAE9D;gBAEkB,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAOrB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAMxE"}
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,gBAAuB,QAAQ;;;;;;;;;;;;;;;MAGsB;IAErD,gBAAuB,eAAe,6MAGwB;WAEhD,YAAY,CACtB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACzB,aAAa,GAAG,SAAS;IAQ5B,IAAoB,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAE9D;gBAEkB,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAOrB,eAAe;IAOf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAMxE"}
@@ -12,7 +12,7 @@ class ScrcpyOptions1_17 extends ScrcpyOptionsBase {
12
12
  static parseEncoder(line, encoderNameRegex) {
13
13
  const match = line.match(encoderNameRegex);
14
14
  if (match) {
15
- return { name: match[1] };
15
+ return { type: "video", name: match[1] };
16
16
  }
17
17
  return undefined;
18
18
  }
@@ -28,6 +28,12 @@ class ScrcpyOptions1_17 extends ScrcpyOptionsBase {
28
28
  serialize() {
29
29
  return ScrcpyOptions1_16.serialize(this.value, ScrcpyOptions1_17.SERIALIZE_ORDER);
30
30
  }
31
+ setListEncoders() {
32
+ // Set to an invalid value
33
+ // Server will print valid values before crashing
34
+ // (server will crash after opening video and control sockets)
35
+ this.value.encoderName = "_";
36
+ }
31
37
  parseEncoder(line) {
32
38
  return ScrcpyOptions1_17.parseEncoder(line, /\s+scrcpy --encoder-name '(.*?)'/);
33
39
  }
@@ -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,MAAa,iBAAkB,SAAQ,iBAGtC;IACU,MAAM,CAAU,QAAQ,GAAG;QAC9B,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,WAAW,EAAE,SAAS;KAC0B,CAAC;IAE9C,MAAM,CAAU,eAAe,GAAG;QACrC,GAAG,iBAAiB,CAAC,eAAe;QACpC,aAAa;KAC4C,CAAC;IAEvD,MAAM,CAAC,YAAY,CACtB,IAAY,EACZ,gBAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE;YACP,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;SAC9B;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAoB,QAAQ;QACxB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAmB,IAA2B;QAC1C,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEe,SAAS;QACrB,OAAO,iBAAiB,CAAC,SAAS,CAC9B,IAAI,CAAC,KAAK,EACV,iBAAiB,CAAC,eAAe,CACpC,CAAC;IACN,CAAC;IAEe,YAAY,CAAC,IAAY;QACrC,OAAO,iBAAiB,CAAC,YAAY,CACjC,IAAI,EACJ,kCAAkC,CACrC,CAAC;IACN,CAAC;;SAhDQ,iBAAiB"}
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,MAAa,iBAAkB,SAAQ,iBAGtC;IACU,MAAM,CAAU,QAAQ,GAAG;QAC9B,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,WAAW,EAAE,SAAS;KAC0B,CAAC;IAE9C,MAAM,CAAU,eAAe,GAAG;QACrC,GAAG,iBAAiB,CAAC,eAAe;QACpC,aAAa;KAC4C,CAAC;IAEvD,MAAM,CAAC,YAAY,CACtB,IAAY,EACZ,gBAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE;YACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;SAC7C;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAoB,QAAQ;QACxB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAmB,IAA2B;QAC1C,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEe,SAAS;QACrB,OAAO,iBAAiB,CAAC,SAAS,CAC9B,IAAI,CAAC,KAAK,EACV,iBAAiB,CAAC,eAAe,CACpC,CAAC;IACN,CAAC;IAEe,eAAe;QAC3B,0BAA0B;QAC1B,iDAAiD;QACjD,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACjC,CAAC;IAEe,YAAY,CAAC,IAAY;QACrC,OAAO,iBAAiB,CAAC,YAAY,CACjC,IAAI,EACJ,kCAAkC,CACrC,CAAC;IACN,CAAC;;SAvDQ,iBAAiB"}
@@ -1,22 +1,60 @@
1
1
  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
- import type { ScrcpyOptionsInit1_16 } from "./1_16/options.js";
5
- import { ScrcpyOptions1_16 } from "./1_16/options.js";
6
- export interface ScrcpyOptionsInit1_18 extends ScrcpyOptionsInit1_16 {
7
- powerOffOnClose: boolean;
4
+ import type { ScrcpyOptionsInit1_17 } from "./1_17.js";
5
+ import { ScrcpyOptions1_17 } from "./1_17.js";
6
+ import type { ScrcpyEncoder } from "./types.js";
7
+ import { ScrcpyOptionsBase } from "./types.js";
8
+ export declare enum ScrcpyLogLevel1_18 {
9
+ Verbose = "verbose",
10
+ Debug = "debug",
11
+ Info = "info",
12
+ Warn = "warn",
13
+ Error = "error"
14
+ }
15
+ export declare enum ScrcpyVideoOrientation1_18 {
16
+ Initial = -2,
17
+ Unlocked = -1,
18
+ Portrait = 0,
19
+ Landscape = 1,
20
+ PortraitFlipped = 2,
21
+ LandscapeFlipped = 3
22
+ }
23
+ export interface ScrcpyOptionsInit1_18 extends Omit<ScrcpyOptionsInit1_17, "logLevel" | "lockVideoOrientation"> {
24
+ logLevel?: ScrcpyLogLevel1_18;
25
+ lockVideoOrientation?: ScrcpyVideoOrientation1_18;
26
+ powerOffOnClose?: boolean;
8
27
  }
9
28
  export declare const ScrcpyBackOrScreenOnControlMessage1_18: Struct<{
10
- type: ScrcpyControlMessageType.BackOrScreenOn;
29
+ type: number;
11
30
  action: AndroidKeyEventAction;
12
31
  }, never, Record<never, never>, undefined>;
13
32
  export type ScrcpyBackOrScreenOnControlMessage1_18 = (typeof ScrcpyBackOrScreenOnControlMessage1_18)["TInit"];
14
- export declare class ScrcpyOptions1_18<T extends ScrcpyOptionsInit1_18 = ScrcpyOptionsInit1_18> extends ScrcpyOptions1_16<T> {
15
- constructor(value: Partial<ScrcpyOptionsInit1_18>);
16
- protected getArgumentOrder(): (keyof T)[];
17
- getDefaultValue(): T;
18
- getOutputEncoderNameRegex(): RegExp;
19
- getControlMessageTypes(): ScrcpyControlMessageType[];
33
+ export declare const SCRCPY_CONTROL_MESSAGE_TYPES_1_18: ScrcpyControlMessageType[];
34
+ export declare class ScrcpyOptions1_18 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_18, ScrcpyOptions1_17> {
35
+ static readonly DEFAULTS: {
36
+ readonly logLevel: ScrcpyLogLevel1_18.Debug;
37
+ readonly lockVideoOrientation: ScrcpyVideoOrientation1_18.Unlocked;
38
+ readonly powerOffOnClose: false;
39
+ readonly encoderName: undefined;
40
+ readonly maxSize: 0;
41
+ readonly bitRate: 8000000;
42
+ readonly maxFps: 0;
43
+ readonly tunnelForward: false;
44
+ readonly crop: undefined;
45
+ readonly sendFrameMeta: true;
46
+ readonly control: true;
47
+ readonly displayId: 0;
48
+ readonly showTouches: false;
49
+ readonly stayAwake: false;
50
+ readonly codecOptions: import("./1_16/codec-options.js").CodecOptions;
51
+ };
52
+ static readonly SERIALIZE_ORDER: readonly ["logLevel", "maxSize", "bitRate", "maxFps", "lockVideoOrientation", "tunnelForward", "crop", "sendFrameMeta", "control", "displayId", "showTouches", "stayAwake", "codecOptions", "encoderName", "powerOffOnClose"];
53
+ get defaults(): Required<ScrcpyOptionsInit1_18>;
54
+ get controlMessageTypes(): ScrcpyControlMessageType[];
55
+ constructor(init: ScrcpyOptionsInit1_18);
56
+ serialize(): string[];
57
+ parseEncoder(line: string): ScrcpyEncoder | undefined;
20
58
  serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array;
21
59
  }
22
60
  //# sourceMappingURL=1_18.d.ts.map
@@ -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;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAEH,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,sCAAsC;;;0CAEO,CAAC;AAE3D,MAAM,MAAM,sCAAsC,GAC9C,CAAC,OAAO,sCAAsC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE7D,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;cAI9B,gBAAgB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;IAIlC,eAAe,IAAI,CAAC;IAOpB,yBAAyB,IAAI,MAAM;IAInC,sBAAsB,IAAI,wBAAwB,EAAE;IAoBpD,qCAAqC,CACjD,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;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,gBAAuB,QAAQ;;;;;;;;;;;;;;;;MAKsB;IAErD,gBAAuB,eAAe,gOAGwB;IAE9D,IAAoB,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAE9D;IAED,IAAoB,mBAAmB,+BAEtC;gBAEW,IAAI,EAAE,qBAAqB;IAahC,SAAS,IAAI,MAAM,EAAE;IAOZ,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAOrD,qCAAqC,CACjD,OAAO,EAAE,kCAAkC;CAIlD"}
@@ -1,46 +1,79 @@
1
1
  import Struct, { placeholder } from "@yume-chan/struct";
2
2
  import { ScrcpyControlMessageType } from "../control/index.js";
3
- import { ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyOptions1_16, } from "./1_16/options.js";
3
+ import { SCRCPY_CONTROL_MESSAGE_TYPES_1_16, ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyLogLevel1_16, ScrcpyOptions1_16, ScrcpyVideoOrientation1_16, } from "./1_16/index.js";
4
+ import { ScrcpyOptions1_17 } from "./1_17.js";
5
+ import { ScrcpyOptionsBase } from "./types.js";
6
+ export var ScrcpyLogLevel1_18;
7
+ (function (ScrcpyLogLevel1_18) {
8
+ ScrcpyLogLevel1_18["Verbose"] = "verbose";
9
+ ScrcpyLogLevel1_18["Debug"] = "debug";
10
+ ScrcpyLogLevel1_18["Info"] = "info";
11
+ ScrcpyLogLevel1_18["Warn"] = "warn";
12
+ ScrcpyLogLevel1_18["Error"] = "error";
13
+ })(ScrcpyLogLevel1_18 = ScrcpyLogLevel1_18 || (ScrcpyLogLevel1_18 = {}));
14
+ export var ScrcpyVideoOrientation1_18;
15
+ (function (ScrcpyVideoOrientation1_18) {
16
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Initial"] = -2] = "Initial";
17
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Unlocked"] = -1] = "Unlocked";
18
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Portrait"] = 0] = "Portrait";
19
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Landscape"] = 1] = "Landscape";
20
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["PortraitFlipped"] = 2] = "PortraitFlipped";
21
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["LandscapeFlipped"] = 3] = "LandscapeFlipped";
22
+ })(ScrcpyVideoOrientation1_18 = ScrcpyVideoOrientation1_18 || (ScrcpyVideoOrientation1_18 = {}));
4
23
  export const ScrcpyBackOrScreenOnControlMessage1_18 = new Struct()
5
- .fields(ScrcpyBackOrScreenOnControlMessage1_16)
24
+ .concat(ScrcpyBackOrScreenOnControlMessage1_16)
6
25
  .uint8("action", placeholder());
7
- export class ScrcpyOptions1_18 extends ScrcpyOptions1_16 {
8
- constructor(value) {
9
- super(value);
26
+ export const SCRCPY_CONTROL_MESSAGE_TYPES_1_18 = SCRCPY_CONTROL_MESSAGE_TYPES_1_16.slice();
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
+ class ScrcpyOptions1_18 extends ScrcpyOptionsBase {
44
+ static DEFAULTS = {
45
+ ...ScrcpyOptions1_17.DEFAULTS,
46
+ logLevel: ScrcpyLogLevel1_18.Debug,
47
+ lockVideoOrientation: ScrcpyVideoOrientation1_18.Unlocked,
48
+ powerOffOnClose: false,
49
+ };
50
+ static SERIALIZE_ORDER = [
51
+ ...ScrcpyOptions1_17.SERIALIZE_ORDER,
52
+ "powerOffOnClose",
53
+ ];
54
+ get defaults() {
55
+ return ScrcpyOptions1_18.DEFAULTS;
10
56
  }
11
- getArgumentOrder() {
12
- return super.getArgumentOrder().concat(["powerOffOnClose"]);
57
+ get controlMessageTypes() {
58
+ return SCRCPY_CONTROL_MESSAGE_TYPES_1_18;
13
59
  }
14
- getDefaultValue() {
15
- return {
16
- ...super.getDefaultValue(),
17
- powerOffOnClose: false,
18
- };
60
+ 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);
19
67
  }
20
- getOutputEncoderNameRegex() {
21
- return /\s+scrcpy --encoder '(.*?)'/;
68
+ serialize() {
69
+ return ScrcpyOptions1_16.serialize(this.value, ScrcpyOptions1_18.SERIALIZE_ORDER);
22
70
  }
23
- getControlMessageTypes() {
24
- /**
25
- * 0 InjectKeycode
26
- * 1 InjectText
27
- * 2 InjectTouch
28
- * 3 InjectScroll
29
- * 4 BackOrScreenOn
30
- * 5 ExpandNotificationPanel
31
- * 6 ExpandSettingsPanel
32
- * 7 CollapseNotificationPanel
33
- * 8 GetClipboard
34
- * 9 SetClipboard
35
- * 10 SetScreenPowerMode
36
- * 11 RotateDevice
37
- */
38
- const types = super.getControlMessageTypes();
39
- types.splice(6, 0, ScrcpyControlMessageType.ExpandSettingPanel);
40
- return types;
71
+ parseEncoder(line) {
72
+ return ScrcpyOptions1_17.parseEncoder(line, /\s+scrcpy --encoder '(.*?)'/);
41
73
  }
42
74
  serializeBackOrScreenOnControlMessage(message) {
43
75
  return ScrcpyBackOrScreenOnControlMessage1_18.serialize(message);
44
76
  }
45
77
  }
78
+ export { ScrcpyOptions1_18 };
46
79
  //# sourceMappingURL=1_18.js.map
@@ -1 +1 @@
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;AAG/D,OAAO,EACH,sCAAsC,EACtC,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,MAAM,EAAE;KAC7D,MAAM,CAAC,sCAAsC,CAAC;KAC9C,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAyB,CAAC,CAAC;AAK3D,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAY,KAAqC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAEkB,gBAAgB;QAC/B,OAAO,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChE,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,eAAe,EAAE,KAAK;SACzB,CAAC;IACN,CAAC;IAEe,yBAAyB;QACrC,OAAO,6BAA6B,CAAC;IACzC,CAAC;IAEe,sBAAsB;QAClC;;;;;;;;;;;;;WAaG;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACjB,CAAC;IAEe,qCAAqC,CACjD,OAA2C;QAE3C,OAAO,sCAAsC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ"}
1
+ {"version":3,"file":"1_18.js","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,42 @@
1
1
  import Struct from "@yume-chan/struct";
2
2
  import type { ScrcpySetClipboardControlMessage } from "../control/index.js";
3
- import { ScrcpyControlMessageType } from "../control/index.js";
4
3
  import type { ScrcpyOptionsInit1_18 } from "./1_18.js";
5
4
  import { ScrcpyOptions1_18 } from "./1_18.js";
5
+ import { ScrcpyOptionsBase } from "./types.js";
6
6
  export interface ScrcpyOptionsInit1_21 extends ScrcpyOptionsInit1_18 {
7
7
  clipboardAutosync?: boolean;
8
8
  }
9
9
  export declare const ScrcpySetClipboardControlMessage1_21: Struct<{
10
- type: ScrcpyControlMessageType.SetClipboard;
10
+ type: number;
11
11
  sequence: bigint;
12
- paste: number;
12
+ paste: boolean;
13
13
  length: number;
14
14
  content: string;
15
15
  }, "length", Record<never, never>, undefined>;
16
16
  export type ScrcpySetClipboardControlMessage1_21 = (typeof ScrcpySetClipboardControlMessage1_21)["TInit"];
17
- export declare class ScrcpyOptions1_21<T extends ScrcpyOptionsInit1_21 = ScrcpyOptionsInit1_21> extends ScrcpyOptions1_18<T> {
18
- constructor(init: Partial<ScrcpyOptionsInit1_21>);
19
- getDefaultValue(): T;
20
- formatServerArguments(): string[];
17
+ export declare class ScrcpyOptions1_21 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_21, ScrcpyOptions1_18> {
18
+ static readonly DEFAULTS: {
19
+ readonly clipboardAutosync: true;
20
+ readonly logLevel: import("./1_18.js").ScrcpyLogLevel1_18.Debug;
21
+ readonly lockVideoOrientation: import("./1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
22
+ readonly powerOffOnClose: false;
23
+ readonly encoderName: undefined;
24
+ readonly maxSize: 0;
25
+ readonly bitRate: 8000000;
26
+ readonly maxFps: 0;
27
+ readonly tunnelForward: false;
28
+ readonly crop: undefined;
29
+ readonly sendFrameMeta: true;
30
+ readonly control: true;
31
+ readonly displayId: 0;
32
+ readonly showTouches: false;
33
+ readonly stayAwake: false;
34
+ readonly codecOptions: import("./index.js").CodecOptions;
35
+ };
36
+ static serialize<T extends object>(options: T, defaults: Required<T>): string[];
37
+ get defaults(): Required<ScrcpyOptionsInit1_21>;
38
+ constructor(init: ScrcpyOptionsInit1_21);
39
+ serialize(): string[];
21
40
  serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
22
41
  }
23
42
  //# 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,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,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,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAIvC,eAAe,IAAI,CAAC;IAOpB,qBAAqB,IAAI,MAAM,EAAE;IAYjC,mCAAmC,CAC/C,OAAO,EAAE,gCAAgC,GAC1C,UAAU;CAGhB"}
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,gBAAuB,QAAQ;;;;;;;;;;;;;;;;;MAGsB;WAEvC,SAAS,CAAC,CAAC,SAAS,MAAM,EACpC,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACtB,MAAM,EAAE;IAsBX,IAAoB,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAE9D;gBAEkB,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAIrB,mCAAmC,CAC/C,OAAO,EAAE,gCAAgC,GAC1C,UAAU;CAGhB"}
@@ -1,37 +1,52 @@
1
1
  // cspell: ignore autosync
2
- import Struct from "@yume-chan/struct";
3
- import { ScrcpyControlMessageType } from "../control/index.js";
2
+ import Struct, { placeholder } from "@yume-chan/struct";
4
3
  import { ScrcpyOptions1_18 } from "./1_18.js";
5
- import { toScrcpyOptionValue } from "./types.js";
4
+ import { ScrcpyOptionsBase, toScrcpyOptionValue } from "./types.js";
6
5
  function toSnakeCase(input) {
7
6
  return input.replace(/([A-Z])/g, "_$1").toLowerCase();
8
7
  }
9
8
  export const ScrcpySetClipboardControlMessage1_21 = new Struct()
10
- .uint8("type", ScrcpyControlMessageType.SetClipboard)
9
+ .uint8("type")
11
10
  .uint64("sequence")
12
- .int8("paste")
11
+ .int8("paste", placeholder())
13
12
  .uint32("length")
14
13
  .string("content", { lengthField: "length" });
15
- export class ScrcpyOptions1_21 extends ScrcpyOptions1_18 {
16
- constructor(init) {
17
- super(init);
14
+ class ScrcpyOptions1_21 extends ScrcpyOptionsBase {
15
+ static DEFAULTS = {
16
+ ...ScrcpyOptions1_18.DEFAULTS,
17
+ clipboardAutosync: true,
18
+ };
19
+ static serialize(options, defaults) {
20
+ // 1.21 changed the format of arguments
21
+ const result = [];
22
+ for (const [key, value] of Object.entries(options)) {
23
+ const serializedValue = toScrcpyOptionValue(value, undefined);
24
+ if (!serializedValue) {
25
+ continue;
26
+ }
27
+ const defaultValue = toScrcpyOptionValue(defaults[key], undefined);
28
+ if (serializedValue == defaultValue) {
29
+ continue;
30
+ }
31
+ result.push(`${toSnakeCase(key)}=${serializedValue}`);
32
+ }
33
+ return result;
18
34
  }
19
- getDefaultValue() {
20
- return {
21
- ...super.getDefaultValue(),
22
- clipboardAutosync: true,
23
- };
35
+ get defaults() {
36
+ return ScrcpyOptions1_21.DEFAULTS;
24
37
  }
25
- formatServerArguments() {
26
- // 1.21 changed the format of arguments
27
- // So `getArgumentOrder()` is no longer needed
28
- return Object.entries(this.value)
29
- .map(([key, value]) => [key, toScrcpyOptionValue(value, undefined)])
30
- .filter((pair) => pair[1] !== undefined)
31
- .map(([key, value]) => `${toSnakeCase(key)}=${value}`);
38
+ constructor(init) {
39
+ super(new ScrcpyOptions1_18(init), {
40
+ ...ScrcpyOptions1_21.DEFAULTS,
41
+ ...init,
42
+ });
43
+ }
44
+ serialize() {
45
+ return ScrcpyOptions1_21.serialize(this.value, this.defaults);
32
46
  }
33
47
  serializeSetClipboardControlMessage(message) {
34
48
  return ScrcpySetClipboardControlMessage1_21.serialize(message);
35
49
  }
36
50
  }
51
+ export { ScrcpyOptions1_21 };
37
52
  //# 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,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMjD,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,EAAE,wBAAwB,CAAC,YAAqB,CAAC;KAC7D,MAAM,CAAC,UAAU,CAAC;KAClB,IAAI,CAAC,OAAO,CAAC;KACb,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKlD,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAmB,IAAoC;QACnD,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,iBAAiB,EAAE,IAAI;SAC1B,CAAC;IACN,CAAC;IAEe,qBAAqB;QACjC,uCAAuC;QACvC,8CAA8C;QAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aAC5B,GAAG,CACA,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACb,CAAC,GAAG,EAAE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAU,CAC5D;aACA,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;aACjE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEe,mCAAmC,CAC/C,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;CACJ"}
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,MAAa,iBAAkB,SAAQ,iBAGtC;IACU,MAAM,CAAU,QAAQ,GAAG;QAC9B,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,iBAAiB,EAAE,IAAI;KACyB,CAAC;IAE9C,MAAM,CAAC,SAAS,CACnB,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;YAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,EAAE;gBAClB,SAAS;aACZ;YAED,MAAM,YAAY,GAAG,mBAAmB,CACpC,QAAQ,CAAC,GAAc,CAAC,EACxB,SAAS,CACZ,CAAC;YACF,IAAI,eAAe,IAAI,YAAY,EAAE;gBACjC,SAAS;aACZ;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAoB,QAAQ;QACxB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAmB,IAA2B;QAC1C,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEe,SAAS;QACrB,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEe,mCAAmC,CAC/C,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;;SArDQ,iBAAiB"}
@@ -1,3 +1,4 @@
1
+ export * from "./init.js";
1
2
  export * from "./options.js";
2
3
  export * from "./scroll.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./init.js";
1
2
  export * from "./options.js";
2
3
  export * from "./scroll.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,30 +1,36 @@
1
+ import type { ReadableStream } from "@yume-chan/stream-extra";
2
+ import type { ValueOrPromise } from "@yume-chan/struct";
1
3
  import type { ScrcpyScrollController } from "../1_16/index.js";
2
- import type { ScrcpyOptionsInit1_21 } from "../1_21.js";
3
4
  import { ScrcpyOptions1_21 } from "../1_21.js";
4
- export interface ScrcpyOptionsInit1_22 extends ScrcpyOptionsInit1_21 {
5
- downsizeOnError: boolean;
6
- /**
7
- * Send device name and size at start of video stream.
8
- *
9
- * @default true
10
- */
11
- sendDeviceMeta: boolean;
12
- /**
13
- * Send a `0` byte on start of video stream to detect connection issues
14
- *
15
- * @default true
16
- */
17
- sendDummyByte: boolean;
18
- /**
19
- * Implies `sendDeviceMeta: false`, `sendFrameMeta: false` and `sendDummyByte: false`
20
- *
21
- * @default false
22
- */
23
- rawVideoStream: boolean;
24
- }
25
- export declare class ScrcpyOptions1_22<T extends ScrcpyOptionsInit1_22 = ScrcpyOptionsInit1_22> extends ScrcpyOptions1_21<T> {
26
- constructor(init: Partial<ScrcpyOptionsInit1_22>);
27
- getDefaultValue(): T;
28
- getScrollController(): ScrcpyScrollController;
5
+ import type { ScrcpyVideoStream } from "../codec.js";
6
+ import { ScrcpyOptionsBase } from "../types.js";
7
+ import type { ScrcpyOptionsInit1_22 } from "./init.js";
8
+ export declare class ScrcpyOptions1_22 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_22, ScrcpyOptions1_21> {
9
+ static readonly DEFAULTS: {
10
+ readonly downsizeOnError: true;
11
+ readonly sendDeviceMeta: true;
12
+ readonly sendDummyByte: true;
13
+ readonly clipboardAutosync: true;
14
+ readonly logLevel: import("../1_18.js").ScrcpyLogLevel1_18.Debug;
15
+ readonly lockVideoOrientation: import("../1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
16
+ readonly powerOffOnClose: false;
17
+ readonly encoderName: undefined;
18
+ readonly maxSize: 0;
19
+ readonly bitRate: 8000000;
20
+ readonly maxFps: 0;
21
+ readonly tunnelForward: false;
22
+ readonly crop: undefined;
23
+ readonly sendFrameMeta: true;
24
+ readonly control: true;
25
+ readonly displayId: 0;
26
+ readonly showTouches: false;
27
+ readonly stayAwake: false;
28
+ readonly codecOptions: import("../1_16/codec-options.js").CodecOptions;
29
+ };
30
+ get defaults(): Required<ScrcpyOptionsInit1_22>;
31
+ constructor(init: ScrcpyOptionsInit1_22);
32
+ parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): ValueOrPromise<ScrcpyVideoStream>;
33
+ serialize(): string[];
34
+ createScrollController(): ScrcpyScrollController;
29
35
  }
30
36
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI/C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAWvC,eAAe,IAAI,CAAC;IAUpB,mBAAmB,IAAI,sBAAsB;CAGhE"}
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,gBAAuB,QAAQ;;;;;;;;;;;;;;;;;;;;MAKsB;IAErD,IAAoB,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAE9D;gBAEkB,IAAI,EAAE,qBAAqB;IAO9B,wBAAwB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAQpB,SAAS,IAAI,MAAM,EAAE;IAIrB,sBAAsB,IAAI,sBAAsB;CAGnE"}
@@ -1,26 +1,37 @@
1
1
  import { ScrcpyOptions1_21 } from "../1_21.js";
2
+ import { ScrcpyVideoCodecId } from "../codec.js";
3
+ import { ScrcpyOptionsBase } from "../types.js";
2
4
  import { ScrcpyScrollController1_22 } from "./scroll.js";
3
- export class ScrcpyOptions1_22 extends ScrcpyOptions1_21 {
5
+ class ScrcpyOptions1_22 extends ScrcpyOptionsBase {
6
+ static DEFAULTS = {
7
+ ...ScrcpyOptions1_21.DEFAULTS,
8
+ downsizeOnError: true,
9
+ sendDeviceMeta: true,
10
+ sendDummyByte: true,
11
+ };
12
+ get defaults() {
13
+ return ScrcpyOptions1_22.DEFAULTS;
14
+ }
4
15
  constructor(init) {
5
- if (init.rawVideoStream) {
6
- // Set implied options for client-side processing
7
- init.sendDeviceMeta = false;
8
- init.sendFrameMeta = false;
9
- init.sendDummyByte = false;
16
+ super(new ScrcpyOptions1_21(init), {
17
+ ...ScrcpyOptions1_22.DEFAULTS,
18
+ ...init,
19
+ });
20
+ }
21
+ parseVideoStreamMetadata(stream) {
22
+ if (!this.value.sendDeviceMeta) {
23
+ return { stream, metadata: { codec: ScrcpyVideoCodecId.H264 } };
24
+ }
25
+ else {
26
+ return this._base.parseVideoStreamMetadata(stream);
10
27
  }
11
- super(init);
12
28
  }
13
- getDefaultValue() {
14
- return {
15
- ...super.getDefaultValue(),
16
- downsizeOnError: true,
17
- sendDeviceMeta: true,
18
- sendDummyByte: true,
19
- rawVideoStream: false,
20
- };
29
+ serialize() {
30
+ return ScrcpyOptions1_21.serialize(this.value, this.defaults);
21
31
  }
22
- getScrollController() {
32
+ createScrollController() {
23
33
  return new ScrcpyScrollController1_22();
24
34
  }
25
35
  }
36
+ export { ScrcpyOptions1_22 };
26
37
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA2BzD,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAmB,IAAoC;QACnD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,iDAAiD;YACjD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC9B;QAED,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;SACxB,CAAC;IACN,CAAC;IAEe,mBAAmB;QAC/B,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC;CACJ"}
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,MAAa,iBAAkB,SAAQ,iBAGtC;IACU,MAAM,CAAU,QAAQ,GAAG;QAC9B,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KAC6B,CAAC;IAErD,IAAoB,QAAQ;QACxB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAmB,IAA2B;QAC1C,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEe,wBAAwB,CACpC,MAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;SACnE;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;SACtD;IACL,CAAC;IAEe,SAAS;QACrB,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEe,sBAAsB;QAClC,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC;;SAtCQ,iBAAiB"}
@@ -1,7 +1,7 @@
1
1
  import Struct from "@yume-chan/struct";
2
2
  import { ScrcpyScrollController1_16 } from "../1_16/index.js";
3
3
  export declare const ScrcpyInjectScrollControlMessage1_22: Struct<{
4
- type: import("../../index.js").ScrcpyControlMessageType.InjectScroll;
4
+ type: number;
5
5
  pointerX: number;
6
6
  pointerY: number;
7
7
  screenWidth: number;
@@ -1,7 +1,7 @@
1
1
  import Struct from "@yume-chan/struct";
2
2
  import { ScrcpyInjectScrollControlMessage1_16, ScrcpyScrollController1_16, } from "../1_16/index.js";
3
3
  export const ScrcpyInjectScrollControlMessage1_22 = new Struct()
4
- .fields(ScrcpyInjectScrollControlMessage1_16)
4
+ .concat(ScrcpyInjectScrollControlMessage1_16)
5
5
  .int32("buttons");
6
6
  export class ScrcpyScrollController1_22 extends ScrcpyScrollController1_16 {
7
7
  serializeScrollMessage(message) {
@@ -1,13 +1,37 @@
1
1
  import { TransformStream } from "@yume-chan/stream-extra";
2
- import type { ScrcpyOptionsInit1_22 } from "./1_22/options.js";
3
- import { ScrcpyOptions1_22 } from "./1_22/options.js";
4
- import type { ScrcpyVideoStreamPacket } from "./types.js";
2
+ import type { ScrcpyOptionsInit1_22 } from "./1_22/index.js";
3
+ import { ScrcpyOptions1_22 } from "./1_22/index.js";
4
+ import type { ScrcpyMediaStreamPacket } from "./codec.js";
5
+ import { ScrcpyOptionsBase } from "./types.js";
5
6
  export interface ScrcpyOptionsInit1_23 extends ScrcpyOptionsInit1_22 {
6
- cleanup: boolean;
7
+ cleanup?: boolean;
7
8
  }
8
- export declare class ScrcpyOptions1_23<T extends ScrcpyOptionsInit1_23 = ScrcpyOptionsInit1_23> extends ScrcpyOptions1_22<T> {
9
- constructor(init: Partial<ScrcpyOptionsInit1_23>);
10
- getDefaultValue(): T;
11
- createVideoStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
9
+ export declare class ScrcpyOptions1_23 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_23, ScrcpyOptions1_22> {
10
+ static readonly DEFAULTS: {
11
+ readonly cleanup: true;
12
+ readonly downsizeOnError: true;
13
+ readonly sendDeviceMeta: true;
14
+ readonly sendDummyByte: true;
15
+ readonly clipboardAutosync: true;
16
+ readonly logLevel: import("./1_18.js").ScrcpyLogLevel1_18.Debug;
17
+ readonly lockVideoOrientation: import("./1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
18
+ readonly powerOffOnClose: false;
19
+ readonly encoderName: undefined;
20
+ readonly maxSize: 0;
21
+ readonly bitRate: 8000000;
22
+ readonly maxFps: 0;
23
+ readonly tunnelForward: false;
24
+ readonly crop: undefined;
25
+ readonly sendFrameMeta: true;
26
+ readonly control: true;
27
+ readonly displayId: 0;
28
+ readonly showTouches: false;
29
+ readonly stayAwake: false;
30
+ readonly codecOptions: import("./index.js").CodecOptions;
31
+ };
32
+ get defaults(): Required<ScrcpyOptionsInit1_23>;
33
+ constructor(init: ScrcpyOptionsInit1_22);
34
+ serialize(): string[];
35
+ createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
12
36
  }
13
37
  //# sourceMappingURL=1_23.d.ts.map