@yume-chan/scrcpy 0.0.18 → 0.0.19

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 (256) hide show
  1. package/CHANGELOG.json +18 -0
  2. package/CHANGELOG.md +10 -1
  3. package/README.md +111 -61
  4. package/bin/scrcpy-server +0 -0
  5. package/bin/version.d.ts +1 -1
  6. package/bin/version.js +1 -1
  7. package/esm/adb/client.d.ts +40 -40
  8. package/esm/adb/client.d.ts.map +1 -1
  9. package/esm/adb/client.js +223 -242
  10. package/esm/adb/client.js.map +1 -1
  11. package/esm/adb/connection.d.ts +48 -46
  12. package/esm/adb/connection.d.ts.map +1 -1
  13. package/esm/adb/connection.js +121 -109
  14. package/esm/adb/connection.js.map +1 -1
  15. package/esm/adb/index.d.ts +3 -3
  16. package/esm/adb/index.js +3 -3
  17. package/esm/adb/options/1_16.d.ts +7 -7
  18. package/esm/adb/options/1_16.d.ts.map +1 -1
  19. package/esm/adb/options/1_16.js +19 -19
  20. package/esm/adb/options/1_16.js.map +1 -1
  21. package/esm/adb/options/1_22.d.ts +7 -7
  22. package/esm/adb/options/1_22.d.ts.map +1 -1
  23. package/esm/adb/options/1_22.js +16 -16
  24. package/esm/adb/options/1_22.js.map +1 -1
  25. package/esm/adb/options/1_26.d.ts +9 -0
  26. package/esm/adb/options/1_26.d.ts.map +1 -0
  27. package/esm/adb/options/1_26.js +11 -0
  28. package/esm/adb/options/1_26.js.map +1 -0
  29. package/esm/adb/options/2_0.d.ts +8 -0
  30. package/esm/adb/options/2_0.d.ts.map +1 -0
  31. package/esm/adb/options/2_0.js +13 -0
  32. package/esm/adb/options/2_0.js.map +1 -0
  33. package/esm/adb/options/index.d.ts +3 -3
  34. package/esm/adb/options/index.js +3 -3
  35. package/esm/adb/options/types.d.ts +23 -23
  36. package/esm/adb/options/types.d.ts.map +1 -1
  37. package/esm/adb/options/types.js +36 -36
  38. package/esm/codec/av1.d.ts +33 -0
  39. package/esm/codec/av1.d.ts.map +1 -0
  40. package/esm/codec/av1.js +35 -0
  41. package/esm/codec/av1.js.map +1 -0
  42. package/esm/codec/h264.d.ts +98 -0
  43. package/esm/codec/h264.d.ts.map +1 -0
  44. package/esm/codec/h264.js +477 -0
  45. package/esm/codec/h264.js.map +1 -0
  46. package/esm/codec/h265.d.ts +36 -0
  47. package/esm/codec/h265.d.ts.map +1 -0
  48. package/esm/codec/h265.js +38 -0
  49. package/esm/codec/h265.js.map +1 -0
  50. package/esm/codec/index.d.ts +4 -0
  51. package/esm/codec/index.d.ts.map +1 -0
  52. package/esm/codec/index.js +4 -0
  53. package/esm/codec/index.js.map +1 -0
  54. package/esm/codec.d.ts +33 -33
  55. package/esm/codec.js +36 -36
  56. package/esm/control/back-or-screen-on.d.ts +2 -2
  57. package/esm/control/back-or-screen-on.d.ts.map +1 -1
  58. package/esm/control/back-or-screen-on.js +1 -1
  59. package/esm/control/basic.d.ts +5 -0
  60. package/esm/control/basic.d.ts.map +1 -0
  61. package/esm/control/basic.js +3 -0
  62. package/esm/control/basic.js.map +1 -0
  63. package/esm/control/hover-helper.d.ts +17 -17
  64. package/esm/control/hover-helper.d.ts.map +1 -1
  65. package/esm/control/hover-helper.js +43 -43
  66. package/esm/control/hover-helper.js.map +1 -1
  67. package/esm/control/index.d.ts +11 -11
  68. package/esm/control/index.js +11 -11
  69. package/esm/control/inject-keycode.d.ts +194 -60
  70. package/esm/control/inject-keycode.d.ts.map +1 -1
  71. package/esm/control/inject-keycode.js +199 -61
  72. package/esm/control/inject-keycode.js.map +1 -1
  73. package/esm/control/inject-scroll.d.ts +2 -2
  74. package/esm/control/inject-scroll.d.ts.map +1 -1
  75. package/esm/control/inject-scroll.js +1 -1
  76. package/esm/control/inject-text.d.ts +8 -8
  77. package/esm/control/inject-text.d.ts.map +1 -1
  78. package/esm/control/inject-text.js +6 -6
  79. package/esm/control/inject-text.js.map +1 -1
  80. package/esm/control/inject-touch.d.ts +37 -37
  81. package/esm/control/inject-touch.d.ts.map +1 -1
  82. package/esm/control/inject-touch.js +62 -62
  83. package/esm/control/rotate-device.d.ts +6 -6
  84. package/esm/control/rotate-device.d.ts.map +1 -1
  85. package/esm/control/rotate-device.js +3 -4
  86. package/esm/control/rotate-device.js.map +1 -1
  87. package/esm/control/serializer.d.ts +35 -33
  88. package/esm/control/serializer.d.ts.map +1 -1
  89. package/esm/control/serializer.js +82 -78
  90. package/esm/control/serializer.js.map +1 -1
  91. package/esm/control/set-clipboard.d.ts +2 -2
  92. package/esm/control/set-clipboard.d.ts.map +1 -1
  93. package/esm/control/set-clipboard.js +1 -1
  94. package/esm/control/set-screen-power-mode.d.ts +11 -11
  95. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  96. package/esm/control/set-screen-power-mode.js +11 -11
  97. package/esm/control/set-screen-power-mode.js.map +1 -1
  98. package/esm/control/simple.d.ts +5 -0
  99. package/esm/control/simple.d.ts.map +1 -0
  100. package/esm/control/simple.js +3 -0
  101. package/esm/control/simple.js.map +1 -0
  102. package/esm/control/type.d.ts +14 -14
  103. package/esm/control/type.js +18 -18
  104. package/esm/decoder.d.ts +2 -0
  105. package/esm/decoder.d.ts.map +1 -0
  106. package/esm/decoder.js +2 -0
  107. package/esm/decoder.js.map +1 -0
  108. package/esm/device-message/ack-clipboard.d.ts +8 -8
  109. package/esm/device-message/ack-clipboard.d.ts.map +1 -1
  110. package/esm/device-message/ack-clipboard.js +5 -5
  111. package/esm/device-message/clipboard.d.ts +9 -9
  112. package/esm/device-message/clipboard.d.ts.map +1 -1
  113. package/esm/device-message/clipboard.js +6 -6
  114. package/esm/device-message/index.d.ts +4 -4
  115. package/esm/device-message/index.js +4 -4
  116. package/esm/device-message/stream.d.ts +7 -7
  117. package/esm/device-message/stream.js +19 -19
  118. package/esm/device-message/type.d.ts +4 -4
  119. package/esm/device-message/type.js +6 -6
  120. package/esm/index.d.ts +5 -5
  121. package/esm/index.js +5 -5
  122. package/esm/options/1.17.d.ts +3 -0
  123. package/esm/options/1.17.d.ts.map +1 -0
  124. package/esm/options/1.17.js +2 -0
  125. package/esm/options/1.17.js.map +1 -0
  126. package/esm/options/1_16/codec-options.d.ts +20 -19
  127. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  128. package/esm/options/1_16/codec-options.js +25 -25
  129. package/esm/options/1_16/codec-options.js.map +1 -1
  130. package/esm/options/1_16/float-to-uint16.d.ts +5 -0
  131. package/esm/options/1_16/float-to-uint16.d.ts.map +1 -0
  132. package/esm/options/1_16/float-to-uint16.js +27 -0
  133. package/esm/options/1_16/float-to-uint16.js.map +1 -0
  134. package/esm/options/1_16/h264-configuration.d.ts +48 -48
  135. package/esm/options/1_16/h264-configuration.js +413 -413
  136. package/esm/options/1_16/index.d.ts +4 -4
  137. package/esm/options/1_16/index.js +4 -4
  138. package/esm/options/1_16/init.d.ts +66 -0
  139. package/esm/options/1_16/init.d.ts.map +1 -0
  140. package/esm/options/1_16/init.js +16 -0
  141. package/esm/options/1_16/init.js.map +1 -0
  142. package/esm/options/1_16/message.d.ts +32 -0
  143. package/esm/options/1_16/message.d.ts.map +1 -0
  144. package/esm/options/1_16/message.js +37 -0
  145. package/esm/options/1_16/message.js.map +1 -0
  146. package/esm/options/1_16/options.d.ts +102 -93
  147. package/esm/options/1_16/options.d.ts.map +1 -1
  148. package/esm/options/1_16/options.js +189 -189
  149. package/esm/options/1_16/options.js.map +1 -1
  150. package/esm/options/1_16/scroll.d.ts +27 -26
  151. package/esm/options/1_16/scroll.d.ts.map +1 -1
  152. package/esm/options/1_16/scroll.js +55 -55
  153. package/esm/options/1_16/scroll.js.map +1 -1
  154. package/esm/options/1_17.d.ts +32 -0
  155. package/esm/options/1_17.d.ts.map +1 -0
  156. package/esm/options/1_17.js +36 -0
  157. package/esm/options/1_17.js.map +1 -0
  158. package/esm/options/1_18.d.ts +21 -19
  159. package/esm/options/1_18.d.ts.map +1 -1
  160. package/esm/options/1_18.js +45 -45
  161. package/esm/options/1_18.js.map +1 -1
  162. package/esm/options/1_21.d.ts +22 -20
  163. package/esm/options/1_21.d.ts.map +1 -1
  164. package/esm/options/1_21.js +36 -36
  165. package/esm/options/1_21.js.map +1 -1
  166. package/esm/options/1_22/index.d.ts +2 -2
  167. package/esm/options/1_22/index.js +2 -2
  168. package/esm/options/1_22/init.d.ts +17 -0
  169. package/esm/options/1_22/init.d.ts.map +1 -0
  170. package/esm/options/1_22/init.js +2 -0
  171. package/esm/options/1_22/init.js.map +1 -0
  172. package/esm/options/1_22/options.d.ts +29 -28
  173. package/esm/options/1_22/options.d.ts.map +1 -1
  174. package/esm/options/1_22/options.js +25 -25
  175. package/esm/options/1_22/options.js.map +1 -1
  176. package/esm/options/1_22/scroll.d.ts +16 -16
  177. package/esm/options/1_22/scroll.d.ts.map +1 -1
  178. package/esm/options/1_22/scroll.js +14 -14
  179. package/esm/options/1_23.d.ts +12 -11
  180. package/esm/options/1_23.d.ts.map +1 -1
  181. package/esm/options/1_23.js +34 -34
  182. package/esm/options/1_23.js.map +1 -1
  183. package/esm/options/1_24.d.ts +9 -8
  184. package/esm/options/1_24.d.ts.map +1 -1
  185. package/esm/options/1_24.js +12 -12
  186. package/esm/options/1_24.js.map +1 -1
  187. package/esm/options/1_25/index.d.ts +2 -2
  188. package/esm/options/1_25/index.js +2 -2
  189. package/esm/options/1_25/options.d.ts +6 -5
  190. package/esm/options/1_25/options.d.ts.map +1 -1
  191. package/esm/options/1_25/options.js +7 -7
  192. package/esm/options/1_25/options.js.map +1 -1
  193. package/esm/options/1_25/scroll.d.ts +19 -18
  194. package/esm/options/1_25/scroll.d.ts.map +1 -1
  195. package/esm/options/1_25/scroll.js +32 -32
  196. package/esm/options/1_25/scroll.js.map +1 -1
  197. package/esm/options/1_26.d.ts +57 -0
  198. package/esm/options/1_26.d.ts.map +1 -0
  199. package/esm/options/1_26.js +67 -0
  200. package/esm/options/1_26.js.map +1 -0
  201. package/esm/options/2.d.ts +57 -0
  202. package/esm/options/2.d.ts.map +1 -0
  203. package/esm/options/2.js +67 -0
  204. package/esm/options/2.js.map +1 -0
  205. package/esm/options/2_0.d.ts +87 -0
  206. package/esm/options/2_0.d.ts.map +1 -0
  207. package/esm/options/2_0.js +175 -0
  208. package/esm/options/2_0.js.map +1 -0
  209. package/esm/options/codec.d.ts +52 -0
  210. package/esm/options/codec.d.ts.map +1 -0
  211. package/esm/options/codec.js +26 -0
  212. package/esm/options/codec.js.map +1 -0
  213. package/esm/options/index.d.ts +8 -8
  214. package/esm/options/index.js +8 -8
  215. package/esm/options/latest.d.ts +12 -0
  216. package/esm/options/latest.d.ts.map +1 -0
  217. package/esm/options/latest.js +8 -0
  218. package/esm/options/latest.js.map +1 -0
  219. package/esm/options/types.d.ts +46 -46
  220. package/esm/options/types.d.ts.map +1 -1
  221. package/esm/options/types.js +17 -17
  222. package/package.json +11 -10
  223. package/src/adb/client.ts +72 -88
  224. package/src/adb/connection.ts +42 -25
  225. package/src/adb/index.ts +3 -3
  226. package/src/adb/options/1_16.ts +6 -4
  227. package/src/adb/options/1_22.ts +3 -3
  228. package/src/adb/options/index.ts +3 -3
  229. package/src/adb/options/types.ts +10 -10
  230. package/src/control/back-or-screen-on.ts +1 -1
  231. package/src/control/hover-helper.ts +2 -4
  232. package/src/control/inject-keycode.ts +193 -48
  233. package/src/control/inject-scroll.ts +1 -1
  234. package/src/control/inject-text.ts +7 -8
  235. package/src/control/inject-touch.ts +1 -1
  236. package/src/control/rotate-device.ts +7 -6
  237. package/src/control/serializer.ts +29 -26
  238. package/src/control/set-clipboard.ts +1 -1
  239. package/src/control/set-screen-power-mode.ts +7 -8
  240. package/src/device-message/ack-clipboard.ts +1 -1
  241. package/src/device-message/clipboard.ts +1 -1
  242. package/src/index.ts +5 -5
  243. package/src/options/1_16/codec-options.ts +4 -6
  244. package/src/options/1_16/options.ts +17 -12
  245. package/src/options/1_16/scroll.ts +2 -4
  246. package/src/options/1_18.ts +6 -6
  247. package/src/options/1_21.ts +5 -6
  248. package/src/options/1_22/options.ts +3 -2
  249. package/src/options/1_22/scroll.ts +1 -1
  250. package/src/options/1_23.ts +3 -5
  251. package/src/options/1_24.ts +5 -3
  252. package/src/options/1_25/options.ts +3 -2
  253. package/src/options/1_25/scroll.ts +4 -7
  254. package/src/options/index.ts +3 -3
  255. package/src/options/types.ts +8 -8
  256. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1,35 +1,35 @@
1
- import { TransformStream } from "@yume-chan/stream-extra";
2
- import { ScrcpyOptions1_22, } from "./1_22/options.js";
3
- const KEYFRAME_PTS = BigInt(1) << BigInt(62);
4
- export class ScrcpyOptions1_23 extends ScrcpyOptions1_22 {
5
- constructor(init) {
6
- super(init);
7
- }
8
- getDefaultValue() {
9
- return {
10
- ...super.getDefaultValue(),
11
- cleanup: true,
12
- };
13
- }
14
- createVideoStreamTransformer() {
15
- const superStream = super.createVideoStreamTransformer();
16
- return {
17
- writable: superStream.writable,
18
- readable: superStream.readable.pipeThrough(new TransformStream({
19
- transform(packet, controller) {
20
- if (packet.type !== "frame") {
21
- controller.enqueue(packet);
22
- return;
23
- }
24
- if (packet.pts !== undefined &&
25
- packet.pts & KEYFRAME_PTS) {
26
- packet.keyframe = true;
27
- packet.pts &= ~KEYFRAME_PTS;
28
- }
29
- controller.enqueue(packet);
30
- },
31
- })),
32
- };
33
- }
34
- }
1
+ import { TransformStream } from "@yume-chan/stream-extra";
2
+ import { ScrcpyOptions1_22 } from "./1_22/options.js";
3
+ const KEYFRAME_PTS = BigInt(1) << BigInt(62);
4
+ export class ScrcpyOptions1_23 extends ScrcpyOptions1_22 {
5
+ constructor(init) {
6
+ super(init);
7
+ }
8
+ getDefaultValue() {
9
+ return {
10
+ ...super.getDefaultValue(),
11
+ cleanup: true,
12
+ };
13
+ }
14
+ createVideoStreamTransformer() {
15
+ const superStream = super.createVideoStreamTransformer();
16
+ return {
17
+ writable: superStream.writable,
18
+ readable: superStream.readable.pipeThrough(new TransformStream({
19
+ transform(packet, controller) {
20
+ if (packet.type !== "frame") {
21
+ controller.enqueue(packet);
22
+ return;
23
+ }
24
+ if (packet.pts !== undefined &&
25
+ packet.pts & KEYFRAME_PTS) {
26
+ packet.keyframe = true;
27
+ packet.pts &= ~KEYFRAME_PTS;
28
+ }
29
+ controller.enqueue(packet);
30
+ },
31
+ })),
32
+ };
33
+ }
34
+ }
35
35
  //# sourceMappingURL=1_23.js.map
@@ -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,EACH,iBAAiB,GAEpB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AAE7C,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,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAEe,4BAA4B;QAIxC,MAAM,WAAW,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC;QACzD,OAAO;YACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW,CACtC,IAAI,eAAe,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,UAAU;oBACxB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;wBACzB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC3B,OAAO;qBACV;oBAED,IACI,MAAM,CAAC,GAAG,KAAK,SAAS;wBACxB,MAAM,CAAC,GAAG,GAAG,YAAY,EAC3B;wBACE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;qBAC/B;oBAED,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;aACJ,CAAC,CACL;SACJ,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"1_23.js","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAOtD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AAE7C,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,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAEe,4BAA4B;QAIxC,MAAM,WAAW,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC;QACzD,OAAO;YACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW,CACtC,IAAI,eAAe,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,UAAU;oBACxB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;wBACzB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC3B,OAAO;qBACV;oBAED,IACI,MAAM,CAAC,GAAG,KAAK,SAAS;wBACxB,MAAM,CAAC,GAAG,GAAG,YAAY,EAC3B;wBACE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;qBAC/B;oBAED,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;aACJ,CAAC,CACL;SACJ,CAAC;IACN,CAAC;CACJ"}
@@ -1,9 +1,10 @@
1
- import { ScrcpyOptions1_23, type ScrcpyOptionsInit1_23 } from './1_23.js';
2
- export interface ScrcpyOptionsInit1_24 extends ScrcpyOptionsInit1_23 {
3
- powerOn: boolean;
4
- }
5
- export declare class ScrcpyOptions1_24<T extends ScrcpyOptionsInit1_24 = ScrcpyOptionsInit1_24> extends ScrcpyOptions1_23<T> {
6
- constructor(init: Partial<ScrcpyOptionsInit1_24>);
7
- getDefaultValue(): T;
8
- }
1
+ import type { ScrcpyOptionsInit1_23 } from "./1_23.js";
2
+ import { ScrcpyOptions1_23 } from "./1_23.js";
3
+ export interface ScrcpyOptionsInit1_24 extends ScrcpyOptionsInit1_23 {
4
+ powerOn: boolean;
5
+ }
6
+ export declare class ScrcpyOptions1_24<T extends ScrcpyOptionsInit1_24 = ScrcpyOptionsInit1_24> extends ScrcpyOptions1_23<T> {
7
+ constructor(init: Partial<ScrcpyOptionsInit1_24>);
8
+ getDefaultValue(): T;
9
+ }
9
10
  //# sourceMappingURL=1_24.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"1_24.d.ts","sourceRoot":"","sources":["../../src/options/1_24.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE1E,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CAClF,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACT,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAIvC,eAAe,IAAI,CAAC;CAMvC"}
1
+ {"version":3,"file":"1_24.d.ts","sourceRoot":"","sources":["../../src/options/1_24.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,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;CAMvC"}
@@ -1,13 +1,13 @@
1
- import { ScrcpyOptions1_23 } from './1_23.js';
2
- export class ScrcpyOptions1_24 extends ScrcpyOptions1_23 {
3
- constructor(init) {
4
- super(init);
5
- }
6
- getDefaultValue() {
7
- return {
8
- ...super.getDefaultValue(),
9
- powerOn: true,
10
- };
11
- }
12
- }
1
+ import { ScrcpyOptions1_23 } from "./1_23.js";
2
+ export class ScrcpyOptions1_24 extends ScrcpyOptions1_23 {
3
+ constructor(init) {
4
+ super(init);
5
+ }
6
+ getDefaultValue() {
7
+ return {
8
+ ...super.getDefaultValue(),
9
+ powerOn: true,
10
+ };
11
+ }
12
+ }
13
13
  //# sourceMappingURL=1_24.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1_24.js","sourceRoot":"","sources":["../../src/options/1_24.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,WAAW,CAAC;AAM1E,MAAM,OAAO,iBACT,SAAQ,iBAAoB;IAC5B,YAAmB,IAAoC;QACnD,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"1_24.js","sourceRoot":"","sources":["../../src/options/1_24.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAM9C,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,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;CACJ"}
@@ -1,3 +1,3 @@
1
- export * from "./options.js";
2
- export * from "./scroll.js";
1
+ export * from "./options.js";
2
+ export * from "./scroll.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
- export * from "./options.js";
2
- export * from "./scroll.js";
1
+ export * from "./options.js";
2
+ export * from "./scroll.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,7 @@
1
- import { type ScrcpyScrollController } from "../1_16/index.js";
2
- import { ScrcpyOptions1_24, type ScrcpyOptionsInit1_24 } from "../1_24.js";
3
- export declare class ScrcpyOptions1_25<T extends ScrcpyOptionsInit1_24 = ScrcpyOptionsInit1_24> extends ScrcpyOptions1_24<T> {
4
- getScrollController(): ScrcpyScrollController;
5
- }
1
+ import type { ScrcpyScrollController } from "../1_16/index.js";
2
+ import type { ScrcpyOptionsInit1_24 } from "../1_24.js";
3
+ import { ScrcpyOptions1_24 } from "../1_24.js";
4
+ export declare class ScrcpyOptions1_25<T extends ScrcpyOptionsInit1_24 = ScrcpyOptionsInit1_24> extends ScrcpyOptions1_24<T> {
5
+ getScrollController(): ScrcpyScrollController;
6
+ }
6
7
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_25/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAI3E,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACV,mBAAmB,IAAI,sBAAsB;CAGhE"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_25/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,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACV,mBAAmB,IAAI,sBAAsB;CAGhE"}
@@ -1,8 +1,8 @@
1
- import { ScrcpyOptions1_24 } from "../1_24.js";
2
- import { ScrcpyScrollController1_25 } from "./scroll.js";
3
- export class ScrcpyOptions1_25 extends ScrcpyOptions1_24 {
4
- getScrollController() {
5
- return new ScrcpyScrollController1_25();
6
- }
7
- }
1
+ import { ScrcpyOptions1_24 } from "../1_24.js";
2
+ import { ScrcpyScrollController1_25 } from "./scroll.js";
3
+ export class ScrcpyOptions1_25 extends ScrcpyOptions1_24 {
4
+ getScrollController() {
5
+ return new ScrcpyScrollController1_25();
6
+ }
7
+ }
8
8
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_25/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,YAAY,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IACV,mBAAmB;QAC/B,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC;CACJ"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_25/options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IACV,mBAAmB;QAC/B,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC;CACJ"}
@@ -1,19 +1,20 @@
1
- import Struct, { NumberFieldType } from "@yume-chan/struct";
2
- import { ScrcpyControlMessageType, type ScrcpyInjectScrollControlMessage } from "../../control/index.js";
3
- import { type ScrcpyScrollController } from "../1_16/index.js";
4
- export declare const ScrcpyFloatToInt16NumberType: NumberFieldType;
5
- export declare const ScrcpyInjectScrollControlMessage1_25: Struct<{
6
- type: ScrcpyControlMessageType.InjectScroll;
7
- pointerX: number;
8
- pointerY: number;
9
- screenWidth: number;
10
- screenHeight: number;
11
- scrollX: number;
12
- scrollY: number;
13
- buttons: number;
14
- }, never, Record<never, never>, undefined>;
15
- export type ScrcpyInjectScrollControlMessage1_25 = typeof ScrcpyInjectScrollControlMessage1_25["TInit"];
16
- export declare class ScrcpyScrollController1_25 implements ScrcpyScrollController {
17
- serializeScrollMessage(message: ScrcpyInjectScrollControlMessage): Uint8Array | undefined;
18
- }
1
+ import Struct, { NumberFieldType } from "@yume-chan/struct";
2
+ import type { ScrcpyInjectScrollControlMessage } from "../../control/index.js";
3
+ import { ScrcpyControlMessageType } from "../../control/index.js";
4
+ import type { ScrcpyScrollController } from "../1_16/index.js";
5
+ export declare const ScrcpyFloatToInt16NumberType: NumberFieldType;
6
+ export declare const ScrcpyInjectScrollControlMessage1_25: Struct<{
7
+ type: ScrcpyControlMessageType.InjectScroll;
8
+ pointerX: number;
9
+ pointerY: number;
10
+ screenWidth: number;
11
+ screenHeight: number;
12
+ scrollX: number;
13
+ scrollY: number;
14
+ buttons: number;
15
+ }, never, Record<never, never>, undefined>;
16
+ export type ScrcpyInjectScrollControlMessage1_25 = (typeof ScrcpyInjectScrollControlMessage1_25)["TInit"];
17
+ export declare class ScrcpyScrollController1_25 implements ScrcpyScrollController {
18
+ serializeScrollMessage(message: ScrcpyInjectScrollControlMessage): Uint8Array | undefined;
19
+ }
19
20
  //# sourceMappingURL=scroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/options/1_25/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEX,eAAe,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEH,wBAAwB,EACxB,KAAK,gCAAgC,EACxC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,eAAO,MAAM,4BAA4B,EAAE,eAc1C,CAAC;AAMF,eAAO,MAAM,oCAAoC;;;;;;;;;0CAQ5B,CAAC;AAEtB,MAAM,MAAM,oCAAoC,GAC5C,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAC;AAEzD,qBAAa,0BAA2B,YAAW,sBAAsB;IACrE,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAG5B"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/options/1_25/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEX,eAAe,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAS,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,eAAO,MAAM,4BAA4B,EAAE,eAc1C,CAAC;AAMF,eAAO,MAAM,oCAAoC;;;;;;;;;0CAQ5B,CAAC;AAEtB,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,0BAA2B,YAAW,sBAAsB;IACrE,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAG5B"}
@@ -1,33 +1,33 @@
1
- import Struct, { NumberFieldDefinition, NumberFieldType, } from "@yume-chan/struct";
2
- import { clamp, ScrcpyControlMessageType, } from "../../control/index.js";
3
- export const ScrcpyFloatToInt16NumberType = {
4
- size: 2,
5
- signed: true,
6
- deserialize(array, littleEndian) {
7
- const value = NumberFieldType.Int16.deserialize(array, littleEndian);
8
- // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/server/src/main/java/com/genymobile/scrcpy/Binary.java#L34
9
- return value === 0x7fff ? 1 : value / 0x8000;
10
- },
11
- serialize(dataView, offset, value, littleEndian) {
12
- // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/app/src/util/binary.h#L65
13
- value = clamp(value, -1, 1);
14
- value = value === 1 ? 0x7fff : value * 0x8000;
15
- NumberFieldType.Int16.serialize(dataView, offset, value, littleEndian);
16
- },
17
- };
18
- const ScrcpyFloatToInt16FieldDefinition = new NumberFieldDefinition(ScrcpyFloatToInt16NumberType);
19
- export const ScrcpyInjectScrollControlMessage1_25 = new Struct()
20
- .uint8("type", ScrcpyControlMessageType.InjectScroll)
21
- .uint32("pointerX")
22
- .uint32("pointerY")
23
- .uint16("screenWidth")
24
- .uint16("screenHeight")
25
- .field("scrollX", ScrcpyFloatToInt16FieldDefinition)
26
- .field("scrollY", ScrcpyFloatToInt16FieldDefinition)
27
- .int32("buttons");
28
- export class ScrcpyScrollController1_25 {
29
- serializeScrollMessage(message) {
30
- return ScrcpyInjectScrollControlMessage1_25.serialize(message);
31
- }
32
- }
1
+ import Struct, { NumberFieldDefinition, NumberFieldType, } from "@yume-chan/struct";
2
+ import { clamp, ScrcpyControlMessageType } from "../../control/index.js";
3
+ export const ScrcpyFloatToInt16NumberType = {
4
+ size: 2,
5
+ signed: true,
6
+ deserialize(array, littleEndian) {
7
+ const value = NumberFieldType.Int16.deserialize(array, littleEndian);
8
+ // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/server/src/main/java/com/genymobile/scrcpy/Binary.java#L34
9
+ return value === 0x7fff ? 1 : value / 0x8000;
10
+ },
11
+ serialize(dataView, offset, value, littleEndian) {
12
+ // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/app/src/util/binary.h#L65
13
+ value = clamp(value, -1, 1);
14
+ value = value === 1 ? 0x7fff : value * 0x8000;
15
+ NumberFieldType.Int16.serialize(dataView, offset, value, littleEndian);
16
+ },
17
+ };
18
+ const ScrcpyFloatToInt16FieldDefinition = new NumberFieldDefinition(ScrcpyFloatToInt16NumberType);
19
+ export const ScrcpyInjectScrollControlMessage1_25 = new Struct()
20
+ .uint8("type", ScrcpyControlMessageType.InjectScroll)
21
+ .uint32("pointerX")
22
+ .uint32("pointerY")
23
+ .uint16("screenWidth")
24
+ .uint16("screenHeight")
25
+ .field("scrollX", ScrcpyFloatToInt16FieldDefinition)
26
+ .field("scrollY", ScrcpyFloatToInt16FieldDefinition)
27
+ .int32("buttons");
28
+ export class ScrcpyScrollController1_25 {
29
+ serializeScrollMessage(message) {
30
+ return ScrcpyInjectScrollControlMessage1_25.serialize(message);
31
+ }
32
+ }
33
33
  //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/options/1_25/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EACX,qBAAqB,EACrB,eAAe,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,KAAK,EACL,wBAAwB,GAE3B,MAAM,wBAAwB,CAAC;AAGhC,MAAM,CAAC,MAAM,4BAA4B,GAAoB;IACzD,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,IAAI;IACZ,WAAW,CAAC,KAAK,EAAE,YAAY;QAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACrE,gJAAgJ;QAChJ,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;IACjD,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;QAC3C,+GAA+G;QAC/G,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;QAC9C,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3E,CAAC;CACJ,CAAC;AAEF,MAAM,iCAAiC,GAAG,IAAI,qBAAqB,CAC/D,4BAA4B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC,YAAqB,CAAC;KAC7D,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC;KACnD,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC;KACnD,KAAK,CAAC,SAAS,CAAC,CAAC;AAKtB,MAAM,OAAO,0BAA0B;IACnC,sBAAsB,CAClB,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;CACJ"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/options/1_25/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EACX,qBAAqB,EACrB,eAAe,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGzE,MAAM,CAAC,MAAM,4BAA4B,GAAoB;IACzD,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,IAAI;IACZ,WAAW,CAAC,KAAK,EAAE,YAAY;QAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACrE,gJAAgJ;QAChJ,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;IACjD,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;QAC3C,+GAA+G;QAC/G,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;QAC9C,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3E,CAAC;CACJ,CAAC;AAEF,MAAM,iCAAiC,GAAG,IAAI,qBAAqB,CAC/D,4BAA4B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC,YAAqB,CAAC;KAC7D,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC;KACnD,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC;KACnD,KAAK,CAAC,SAAS,CAAC,CAAC;AAKtB,MAAM,OAAO,0BAA0B;IACnC,sBAAsB,CAClB,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;CACJ"}
@@ -0,0 +1,57 @@
1
+ import type { ReadableStream } from "@yume-chan/stream-extra";
2
+ import type { ValueOrPromise } from "@yume-chan/struct";
3
+ import Struct from "@yume-chan/struct";
4
+ import type {
5
+ AndroidMotionEventAction,
6
+ ScrcpyInjectTouchControlMessage,
7
+ } from "../../src/control/index.js";
8
+ import type { ScrcpyOptionsInit1_24 } from "../../src/options/1_24.js";
9
+ import { ScrcpyOptions1_25 } from "../../src/options/1_25/index.js";
10
+ import type {
11
+ ScrcpyOptionValue,
12
+ ScrcpyVideoStreamMetadata,
13
+ } from "../../src/options/types.js";
14
+ export declare const ScrcpyInjectTouchControlMessage1_26: Struct<
15
+ {
16
+ type: number;
17
+ action: AndroidMotionEventAction;
18
+ pointerId: bigint;
19
+ pointerX: number;
20
+ pointerY: number;
21
+ screenWidth: number;
22
+ screenHeight: number;
23
+ pressure: number;
24
+ actionButton: number;
25
+ buttons: number;
26
+ },
27
+ never,
28
+ Record<never, never>,
29
+ undefined
30
+ >;
31
+ export type ScrcpyInjectTouchControlMessage1_26 =
32
+ (typeof ScrcpyInjectTouchControlMessage1_26)["TInit"];
33
+ export declare class ScrcpyInstanceId implements ScrcpyOptionValue {
34
+ static readonly NONE: ScrcpyInstanceId;
35
+ static random(): ScrcpyInstanceId;
36
+ value: number;
37
+ constructor(value: number);
38
+ toOptionValue(): string | undefined;
39
+ }
40
+ export interface ScrcpyOptionsInit1_26 extends ScrcpyOptionsInit1_24 {
41
+ scid: ScrcpyInstanceId;
42
+ codec: "h264" | "h265" | "av1";
43
+ sendCodecId: boolean;
44
+ }
45
+ export declare class ScrcpyOptions1_26<
46
+ T extends ScrcpyOptionsInit1_26 = ScrcpyOptionsInit1_26
47
+ > extends ScrcpyOptions1_25<T> {
48
+ constructor(init: Partial<ScrcpyOptionsInit1_26>);
49
+ getDefaultValues(): T;
50
+ parseVideoStreamMetadata(
51
+ stream: ReadableStream<Uint8Array>
52
+ ): ValueOrPromise<[ReadableStream<Uint8Array>, ScrcpyVideoStreamMetadata]>;
53
+ serializeInjectTouchControlMessage(
54
+ message: ScrcpyInjectTouchControlMessage
55
+ ): Uint8Array;
56
+ }
57
+ //# sourceMappingURL=1_26.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1_26.d.ts","sourceRoot":"","sources":["../../src/options/1_26.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,MAAwC,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EACR,wBAAwB,EACxB,+BAA+B,EAClC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE/E,eAAO,MAAM,mCAAmC;;;;;;;;;;;0CAU1B,CAAC;AAEvB,MAAM,MAAM,mCAAmC,GAC3C,CAAC,OAAO,mCAAmC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE1D,qBAAa,gBAAiB,YAAW,iBAAiB;IACtD,gBAAuB,IAAI,mBAA4B;WAEzC,MAAM,IAAI,gBAAgB;IAKjC,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAM7C;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAQvC,gBAAgB,IAAI,CAAC;IAQrB,wBAAwB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAqB1D,kCAAkC,CAC9C,OAAO,EAAE,+BAA+B,GACzC,UAAU;CAGhB"}
@@ -0,0 +1,67 @@
1
+ // cspell:ignore scid
2
+ import { BufferedReadableStream } from "@yume-chan/stream-extra";
3
+ import Struct, { NumberFieldType, placeholder } from "@yume-chan/struct";
4
+ import { ScrcpyFloatToUint16FieldDefinition } from "./1_16/index.js";
5
+ import { ScrcpyOptions1_25 } from "./1_25/index.js";
6
+ export const ScrcpyInjectTouchControlMessage1_26 = new Struct()
7
+ .uint8("type")
8
+ .uint8("action", placeholder())
9
+ .uint64("pointerId")
10
+ .uint32("pointerX")
11
+ .uint32("pointerY")
12
+ .uint16("screenWidth")
13
+ .uint16("screenHeight")
14
+ .field("pressure", ScrcpyFloatToUint16FieldDefinition)
15
+ .uint32("actionButton")
16
+ .uint32("buttons");
17
+ export class ScrcpyInstanceId {
18
+ static NONE = new ScrcpyInstanceId(-1);
19
+ static random() {
20
+ // A random 31-bit unsigned integer
21
+ return new ScrcpyInstanceId((Math.random() * 0x80000000) | 0);
22
+ }
23
+ value;
24
+ constructor(value) {
25
+ this.value = value;
26
+ }
27
+ toOptionValue() {
28
+ if (this.value < 0) {
29
+ return undefined;
30
+ }
31
+ return this.value.toString(16);
32
+ }
33
+ }
34
+ export class ScrcpyOptions1_26 extends ScrcpyOptions1_25 {
35
+ constructor(init) {
36
+ if (!init.rawVideoStream) {
37
+ init.sendCodecId = false;
38
+ }
39
+ super(init);
40
+ }
41
+ getDefaultValues() {
42
+ return Object.assign(super.getDefaultValues(), {
43
+ scid: ScrcpyInstanceId.NONE,
44
+ codec: "h264",
45
+ sendCodecId: true,
46
+ });
47
+ }
48
+ parseVideoStreamMetadata(stream) {
49
+ const sendCodecId = this.value.sendCodecId ?? this.getDefaultValues().sendCodecId;
50
+ if (!sendCodecId) {
51
+ return super.parseVideoStreamMetadata(stream);
52
+ }
53
+ else {
54
+ return (async () => {
55
+ let metadata;
56
+ [stream, metadata] = await super.parseVideoStreamMetadata(stream);
57
+ const buffered = new BufferedReadableStream(stream);
58
+ metadata.codec = NumberFieldType.Uint32.deserialize(await buffered.readExactly(4), false);
59
+ return [buffered.release(), metadata];
60
+ })();
61
+ }
62
+ }
63
+ serializeInjectTouchControlMessage(message) {
64
+ return ScrcpyInjectTouchControlMessage1_26.serialize(message);
65
+ }
66
+ }
67
+ //# sourceMappingURL=1_26.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1_26.js","sourceRoot":"","sources":["../../src/options/1_26.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { ReadableStream } from "@yume-chan/stream-extra";
2
+ import type { ValueOrPromise } from "@yume-chan/struct";
3
+ import Struct from "@yume-chan/struct";
4
+ import type {
5
+ AndroidMotionEventAction,
6
+ ScrcpyInjectTouchControlMessage,
7
+ } from "../../src/control/index.js";
8
+ import type { ScrcpyOptionsInit1_24 } from "../../src/options/1_24.js";
9
+ import { ScrcpyOptions1_25 } from "../../src/options/1_25/index.js";
10
+ import type {
11
+ ScrcpyOptionValue,
12
+ ScrcpyVideoStreamMetadata,
13
+ } from "../../src/options/types.js";
14
+ export declare const ScrcpyInjectTouchControlMessage2_0: Struct<
15
+ {
16
+ type: number;
17
+ action: AndroidMotionEventAction;
18
+ pointerId: bigint;
19
+ pointerX: number;
20
+ pointerY: number;
21
+ screenWidth: number;
22
+ screenHeight: number;
23
+ pressure: number;
24
+ actionButton: number;
25
+ buttons: number;
26
+ },
27
+ never,
28
+ Record<never, never>,
29
+ undefined
30
+ >;
31
+ export type ScrcpyInjectTouchControlMessage2_0 =
32
+ (typeof ScrcpyInjectTouchControlMessage2_0)["TInit"];
33
+ export declare class ScrcpyInstanceId implements ScrcpyOptionValue {
34
+ static readonly NONE: ScrcpyInstanceId;
35
+ static random(): ScrcpyInstanceId;
36
+ value: number;
37
+ constructor(value: number);
38
+ toOptionValue(): string | undefined;
39
+ }
40
+ export interface ScrcpyOptionsInit2_0 extends ScrcpyOptionsInit1_24 {
41
+ scid: ScrcpyInstanceId;
42
+ codec: "h264" | "h265" | "av1";
43
+ sendCodecId: boolean;
44
+ }
45
+ export declare class ScrcpyOptions2_0<
46
+ T extends ScrcpyOptionsInit2_0 = ScrcpyOptionsInit2_0
47
+ > extends ScrcpyOptions1_25<T> {
48
+ constructor(init: Partial<ScrcpyOptionsInit2_0>);
49
+ getDefaultValues(): T;
50
+ parseVideoStreamMetadata(
51
+ stream: ReadableStream<Uint8Array>
52
+ ): ValueOrPromise<[ReadableStream<Uint8Array>, ScrcpyVideoStreamMetadata]>;
53
+ serializeInjectTouchControlMessage(
54
+ message: ScrcpyInjectTouchControlMessage
55
+ ): Uint8Array;
56
+ }
57
+ //# sourceMappingURL=2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2.d.ts","sourceRoot":"","sources":["../../src/options/2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,MAAwC,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EACR,wBAAwB,EACxB,+BAA+B,EAClC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE/E,eAAO,MAAM,kCAAkC;;;;;;;;;;;0CAUzB,CAAC;AAEvB,MAAM,MAAM,kCAAkC,GAC1C,CAAC,OAAO,kCAAkC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEzD,qBAAa,gBAAiB,YAAW,iBAAiB;IACtD,gBAAuB,IAAI,mBAA4B;WAEzC,MAAM,IAAI,gBAAgB;IAKjC,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAM7C;AAED,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAC/D,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,gBAAgB,CACzB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CACvD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAQtC,gBAAgB,IAAI,CAAC;IAQrB,wBAAwB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAqB1D,kCAAkC,CAC9C,OAAO,EAAE,+BAA+B,GACzC,UAAU;CAGhB"}
@@ -0,0 +1,67 @@
1
+ // cspell:ignore scid
2
+ import { BufferedReadableStream } from "@yume-chan/stream-extra";
3
+ import Struct, { NumberFieldType, placeholder } from "@yume-chan/struct";
4
+ import { ScrcpyFloatToUint16FieldDefinition } from "./1_16/index.js";
5
+ import { ScrcpyOptions1_25 } from "./1_25/index.js";
6
+ export const ScrcpyInjectTouchControlMessage2_0 = new Struct()
7
+ .uint8("type")
8
+ .uint8("action", placeholder())
9
+ .uint64("pointerId")
10
+ .uint32("pointerX")
11
+ .uint32("pointerY")
12
+ .uint16("screenWidth")
13
+ .uint16("screenHeight")
14
+ .field("pressure", ScrcpyFloatToUint16FieldDefinition)
15
+ .uint32("actionButton")
16
+ .uint32("buttons");
17
+ export class ScrcpyInstanceId {
18
+ static NONE = new ScrcpyInstanceId(-1);
19
+ static random() {
20
+ // A random 31-bit unsigned integer
21
+ return new ScrcpyInstanceId((Math.random() * 0x80000000) | 0);
22
+ }
23
+ value;
24
+ constructor(value) {
25
+ this.value = value;
26
+ }
27
+ toOptionValue() {
28
+ if (this.value < 0) {
29
+ return undefined;
30
+ }
31
+ return this.value.toString(16);
32
+ }
33
+ }
34
+ export class ScrcpyOptions2_0 extends ScrcpyOptions1_25 {
35
+ constructor(init) {
36
+ if (!init.rawVideoStream) {
37
+ init.sendCodecId = false;
38
+ }
39
+ super(init);
40
+ }
41
+ getDefaultValues() {
42
+ return Object.assign(super.getDefaultValues(), {
43
+ scid: ScrcpyInstanceId.NONE,
44
+ codec: "h264",
45
+ sendCodecId: true,
46
+ });
47
+ }
48
+ parseVideoStreamMetadata(stream) {
49
+ const sendCodecId = this.value.sendCodecId ?? this.getDefaultValues().sendCodecId;
50
+ if (!sendCodecId) {
51
+ return super.parseVideoStreamMetadata(stream);
52
+ }
53
+ else {
54
+ return (async () => {
55
+ let metadata;
56
+ [stream, metadata] = await super.parseVideoStreamMetadata(stream);
57
+ const buffered = new BufferedReadableStream(stream);
58
+ metadata.codec = NumberFieldType.Uint32.deserialize(await buffered.readExactly(4), false);
59
+ return [buffered.release(), metadata];
60
+ })();
61
+ }
62
+ }
63
+ serializeInjectTouchControlMessage(message) {
64
+ return ScrcpyInjectTouchControlMessage2_0.serialize(message);
65
+ }
66
+ }
67
+ //# sourceMappingURL=2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2.js","sourceRoot":"","sources":["../../src/options/2.ts"],"names":[],"mappings":"AAAA,qBAAqB;AAGrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,MAAM,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,MAAM,EAAE;KACzD,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,cAAc,CAAC;KACtB,MAAM,CAAC,SAAS,CAAC,CAAC;AAKvB,MAAM,OAAO,gBAAgB;IAClB,MAAM,CAAU,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,MAAM;QAChB,mCAAmC;QACnC,OAAO,IAAI,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,KAAK,CAAS;IAErB,YAAmB,KAAa;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,aAAa;QAChB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAChB,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;;AASL,MAAM,OAAO,gBAEX,SAAQ,iBAAoB;IAC1B,YAAmB,IAAmC;QAClD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC5B;QAED,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEe,gBAAgB;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE;YAC3C,IAAI,EAAE,gBAAgB,CAAC,IAAI;YAC3B,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,IAAI;SAC8C,CAAC,CAAC;IACzE,CAAC;IAEe,wBAAwB,CACpC,MAAkC;QAElC,MAAM,WAAW,GACb,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC;QAClE,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;SACjD;aAAM;YACH,OAAO,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,QAAmC,CAAC;gBACxC,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,KAAK,CAAC,wBAAwB,CACrD,MAAM,CACT,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBACpD,QAAQ,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAC/C,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAC7B,KAAK,CACR,CAAC;gBACF,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;SACR;IACL,CAAC;IAEe,kCAAkC,CAC9C,OAAwC;QAExC,OAAO,kCAAkC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACJ"}