@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
package/esm/index.js CHANGED
@@ -1,5 +1,4 @@
1
- export * from "./adb/index.js";
2
- export * from "./codec.js";
1
+ export * from "./codec/index.js";
3
2
  export * from "./control/index.js";
4
3
  export * from "./device-message/index.js";
5
4
  export * from "./options/index.js";
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC"}
@@ -1,12 +1,11 @@
1
- import type { AndroidCodecLevel, AndroidCodecProfile } from "../../codec.js";
2
1
  import type { ScrcpyOptionValue } from "../types.js";
3
2
  /**
4
3
  * If the option you need is not in this type,
5
4
  * please file an issue on GitHub.
6
5
  */
7
6
  export interface CodecOptionsInit {
8
- profile: AndroidCodecProfile;
9
- level: AndroidCodecLevel;
7
+ profile: number;
8
+ level: number;
10
9
  iFrameInterval: number;
11
10
  maxBframes: number;
12
11
  repeatPreviousFrameAfter: number;
@@ -1 +1 @@
1
- {"version":3,"file":"codec-options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/codec-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,iBAAiB,CAAC;IAEzB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAaD,qBAAa,YAAa,YAAW,iBAAiB;IAC3C,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAErB,KAAK,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAIjD,aAAa,IAAI,MAAM,GAAG,SAAS;CAgB7C"}
1
+ {"version":3,"file":"codec-options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/codec-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IAEd,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAaD,qBAAa,YAAa,YAAW,iBAAiB;IAC3C,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAErB,KAAK,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAIjD,aAAa,IAAI,MAAM,GAAG,SAAS;CAgB7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"codec-options.js","sourceRoot":"","sources":["../../../src/options/1_16/codec-options.ts"],"names":[],"mappings":"AAkBA,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,kBAAkB,GAEpB;IACA,wBAAwB,EAAE,MAAM;IAChC,kBAAkB,EAAE,MAAM;CAC7B,CAAC;AAEF,MAAM,OAAO,YAAY;IACd,KAAK,CAA4B;IAExC,YAAmB,QAAmC,EAAE;QACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,aAAa;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CACrC,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,OAAO;aACT,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAA6B,CAAC,CAAC;YAC/D,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;QAClE,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;CACJ"}
1
+ {"version":3,"file":"codec-options.js","sourceRoot":"","sources":["../../../src/options/1_16/codec-options.ts"],"names":[],"mappings":"AAiBA,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,kBAAkB,GAEpB;IACA,wBAAwB,EAAE,MAAM;IAChC,kBAAkB,EAAE,MAAM;CAC7B,CAAC;AAEF,MAAM,OAAO,YAAY;IACd,KAAK,CAA4B;IAExC,YAAmB,QAAmC,EAAE;QACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,aAAa;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CACrC,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,OAAO;aACT,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAA6B,CAAC,CAAC;YAC/D,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;QAClE,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;CACJ"}
@@ -1,5 +1,7 @@
1
1
  export * from "./codec-options.js";
2
- export * from "./h264-configuration.js";
2
+ export * from "./float-to-uint16.js";
3
+ export * from "./init.js";
4
+ export * from "./message.js";
3
5
  export * from "./options.js";
4
6
  export * from "./scroll.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export * from "./codec-options.js";
2
- export * from "./h264-configuration.js";
2
+ export * from "./float-to-uint16.js";
3
+ export * from "./init.js";
4
+ export * from "./message.js";
3
5
  export * from "./options.js";
4
6
  export * from "./scroll.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,103 +1,49 @@
1
+ import type { ReadableStream } from "@yume-chan/stream-extra";
1
2
  import { TransformStream } from "@yume-chan/stream-extra";
2
- import Struct from "@yume-chan/struct";
3
- import type { ScrcpyBackOrScreenOnControlMessage, ScrcpySetClipboardControlMessage } from "../../control/index.js";
4
- import { ScrcpyControlMessageType } from "../../control/index.js";
5
- import type { ScrcpyOptions, ScrcpyVideoStreamPacket } from "../types.js";
3
+ import type { AsyncExactReadable, ValueOrPromise } from "@yume-chan/struct";
4
+ import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyControlMessageType, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../../control/index.js";
5
+ import type { ScrcpyMediaStreamPacket, ScrcpyVideoStream } from "../codec.js";
6
+ import type { ScrcpyDisplay, ScrcpyEncoder, ScrcpyOptions } from "../types.js";
6
7
  import { CodecOptions } from "./codec-options.js";
8
+ import type { ScrcpyOptionsInit1_16 } from "./init.js";
9
+ import { ScrcpyLogLevel1_16, ScrcpyVideoOrientation1_16 } from "./init.js";
7
10
  import type { ScrcpyScrollController } from "./scroll.js";
8
- export declare enum ScrcpyLogLevel {
9
- Verbose = "verbose",
10
- Debug = "debug",
11
- Info = "info",
12
- Warn = "warn",
13
- Error = "error"
14
- }
15
- export declare enum ScrcpyVideoOrientation {
16
- Initial = -2,
17
- Unlocked = -1,
18
- Portrait = 0,
19
- Landscape = 1,
20
- PortraitFlipped = 2,
21
- LandscapeFlipped = 3
22
- }
23
- export interface ScrcpyOptionsInit1_16 {
24
- logLevel: ScrcpyLogLevel;
25
- /**
26
- * The maximum value of both width and height.
27
- */
28
- maxSize: number;
29
- bitRate: number;
30
- /**
31
- * 0 for unlimited.
32
- *
33
- * @default 0
34
- */
35
- maxFps: number;
36
- /**
37
- * The orientation of the video stream.
38
- *
39
- * It will not keep the device screen in specific orientation,
40
- * only the captured video will in this orientation.
41
- */
42
- lockVideoOrientation: ScrcpyVideoOrientation;
43
- /**
44
- * Use ADB forward tunnel instead of reverse tunnel.
45
- *
46
- * This option is mainly used for working around the bug that on Android <9,
47
- * ADB daemon can't create reverse tunnels if connected wirelessly (ADB over WiFi).
48
- *
49
- * When using `AdbScrcpyClient`, it can detect this situation and enable this option automatically.
50
- */
51
- tunnelForward: boolean;
52
- crop: string;
53
- /**
54
- * Send PTS so that the client may record properly
55
- *
56
- * Note: When `sendFrameMeta: false` is specified,
57
- * `onChangeEncoding` event won't fire and `onVideoData` event doesn't
58
- * merge sps/pps frame and first video frame. Which means you can't use
59
- * the shipped decoders to render the video
60
- * (You can still record the stream into a file).
61
- *
62
- * @default true
63
- */
64
- sendFrameMeta: boolean;
65
- /**
66
- * @default true
67
- */
68
- control: boolean;
69
- displayId: number;
70
- showTouches: boolean;
71
- stayAwake: boolean;
72
- codecOptions: CodecOptions;
73
- encoderName: string;
74
- }
75
- export declare const VideoPacket: Struct<{
76
- pts: bigint;
77
- size: number;
78
- data: Uint8Array;
79
- }, "size", Record<never, never>, undefined>;
80
- export declare const NO_PTS: bigint;
81
- export declare const ScrcpyBackOrScreenOnControlMessage1_16: Struct<{
82
- type: ScrcpyControlMessageType.BackOrScreenOn;
83
- }, never, Record<never, never>, undefined>;
84
- export declare const ScrcpySetClipboardControlMessage1_15: Struct<{
85
- type: ScrcpyControlMessageType.SetClipboard;
86
- length: number;
87
- content: string;
88
- }, "length", Record<never, never>, undefined>;
89
- export type ScrcpySetClipboardControlMessage1_15 = (typeof ScrcpySetClipboardControlMessage1_15)["TInit"];
90
- export declare class ScrcpyOptions1_16<T extends ScrcpyOptionsInit1_16 = ScrcpyOptionsInit1_16> implements ScrcpyOptions<T> {
91
- value: Partial<T>;
92
- constructor(value: Partial<ScrcpyOptionsInit1_16>);
93
- protected getArgumentOrder(): (keyof T)[];
94
- getDefaultValue(): T;
95
- formatServerArguments(): string[];
96
- getOutputEncoderNameRegex(): RegExp;
97
- createVideoStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
98
- getControlMessageTypes(): ScrcpyControlMessageType[];
11
+ export declare class ScrcpyOptions1_16 implements ScrcpyOptions<ScrcpyOptionsInit1_16> {
12
+ static readonly DEFAULTS: {
13
+ readonly logLevel: ScrcpyLogLevel1_16.Debug;
14
+ readonly maxSize: 0;
15
+ readonly bitRate: 8000000;
16
+ readonly maxFps: 0;
17
+ readonly lockVideoOrientation: ScrcpyVideoOrientation1_16.Unlocked;
18
+ readonly tunnelForward: false;
19
+ readonly crop: undefined;
20
+ readonly sendFrameMeta: true;
21
+ readonly control: true;
22
+ readonly displayId: 0;
23
+ readonly showTouches: false;
24
+ readonly stayAwake: false;
25
+ readonly codecOptions: CodecOptions;
26
+ };
27
+ static readonly SERIALIZE_ORDER: readonly ["logLevel", "maxSize", "bitRate", "maxFps", "lockVideoOrientation", "tunnelForward", "crop", "sendFrameMeta", "control", "displayId", "showTouches", "stayAwake", "codecOptions"];
28
+ static serialize<T>(options: T, order: readonly (keyof T)[]): string[];
29
+ static parseCString(stream: AsyncExactReadable, maxLength: number): Promise<string>;
30
+ static parseUint16BE(stream: AsyncExactReadable): Promise<number>;
31
+ static parseUint32BE(stream: AsyncExactReadable): Promise<number>;
32
+ value: Required<ScrcpyOptionsInit1_16>;
33
+ readonly defaults: Required<ScrcpyOptionsInit1_16>;
34
+ readonly controlMessageTypes: readonly ScrcpyControlMessageType[];
35
+ constructor(init: ScrcpyOptionsInit1_16);
36
+ serialize(): string[];
37
+ setListEncoders(): void;
38
+ setListDisplays(): void;
39
+ parseEncoder(): ScrcpyEncoder | undefined;
40
+ parseDisplay(line: string): ScrcpyDisplay | undefined;
41
+ parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): ValueOrPromise<ScrcpyVideoStream>;
42
+ parseAudioStreamMetadata(): never;
43
+ createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
44
+ serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
99
45
  serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
100
46
  serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
101
- getScrollController(): ScrcpyScrollController;
47
+ createScrollController(): ScrcpyScrollController;
102
48
  }
103
49
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,KAAK,EACR,kCAAkC,EAClC,gCAAgC,EACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEH,wBAAwB,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,oBAAY,cAAc;IACtB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED,oBAAY,sBAAsB;IAC9B,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,eAAe,IAAI;IACnB,gBAAgB,IAAI;CACvB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,oBAAoB,EAAE,sBAAsB,CAAC;IAE7C;;;;;;;OAOG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;OAUG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,OAAO,CAAC;IAErB,SAAS,EAAE,OAAO,CAAC;IAEnB,YAAY,EAAE,YAAY,CAAC;IAE3B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,WAAW;;;;2CAGwB,CAAC;AAEjD,eAAO,MAAM,MAAM,QAA0B,CAAC;AAE9C,eAAO,MAAM,sCAAsC;;0CAGlD,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;;6CAGA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,YAAW,aAAa,CAAC,CAAC,CAAC;IAElB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEN,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAkBxD,SAAS,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;IAmBlC,eAAe,IAAI,CAAC;IAmBpB,qBAAqB,IAAI,MAAM,EAAE;IAOjC,yBAAyB,IAAI,MAAM;IAInC,4BAA4B,IAAI,eAAe,CAClD,UAAU,EACV,uBAAuB,CAC1B;IAuGM,sBAAsB,IAAI,wBAAwB,EAAE;IAgBpD,qCAAqC,CACxC,OAAO,EAAE,kCAAkC;IASxC,mCAAmC,CACtC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIN,mBAAmB,IAAI,sBAAsB;CAGvD"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGH,eAAe,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,KAAK,EACR,kCAAkC,EAClC,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACR,uBAAuB,EACvB,iBAAiB,EAEpB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAS3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,qBAAa,iBAAkB,YAAW,aAAa,CAAC,qBAAqB,CAAC;IAC1E,gBAAuB,QAAQ;;;;;;;;;;;;;;MAcsB;IAErD,gBAAuB,eAAe,8LAcwB;WAEhD,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE;WAI9C,YAAY,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;WAME,aAAa,CAC7B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;WAKE,aAAa,CAC7B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;IAKX,KAAK,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE9C,SAAgB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAC1B;IAE/B,SAAgB,mBAAmB,EAAE,SAAS,wBAAwB,EAAE,CAClC;gBAEnB,IAAI,EAAE,qBAAqB;IAIvC,SAAS,IAAI,MAAM,EAAE;IAOrB,eAAe,IAAI,IAAI;IAIvB,eAAe,IAAI,IAAI;IAOvB,YAAY,IAAI,aAAa,GAAG,SAAS;IAIzC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAWrD,wBAAwB,CAC3B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAgB7B,wBAAwB,IAAI,KAAK;IAIjC,4BAA4B,IAAI,eAAe,CAClD,UAAU,EACV,uBAAuB,CAC1B;IAwCM,kCAAkC,CACrC,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIN,qCAAqC,CACxC,OAAO,EAAE,kCAAkC;IASxC,mCAAmC,CACtC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIN,sBAAsB,IAAI,sBAAsB;CAG1D"}
@@ -1,178 +1,140 @@
1
- import { StructDeserializeStream, TransformStream, } from "@yume-chan/stream-extra";
2
- import Struct from "@yume-chan/struct";
3
- import { AndroidKeyEventAction, ScrcpyControlMessageType, } from "../../control/index.js";
1
+ import { BufferedReadableStream, StructDeserializeStream, TransformStream, } from "@yume-chan/stream-extra";
2
+ import { NumberFieldType, decodeUtf8 } from "@yume-chan/struct";
3
+ import { AndroidKeyEventAction } from "../../control/index.js";
4
+ import { ScrcpyVideoCodecId } from "../codec.js";
4
5
  import { toScrcpyOptionValue } from "../types.js";
5
6
  import { CodecOptions } from "./codec-options.js";
6
- import { parseH264Configuration, parseSequenceParameterSet, removeH264Emulation, } from "./h264-configuration.js";
7
+ import { ScrcpyLogLevel1_16, ScrcpyVideoOrientation1_16 } from "./init.js";
8
+ import { SCRCPY_CONTROL_MESSAGE_TYPES_1_16, SCRCPY_MEDIA_PACKET_FLAG_CONFIG, ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyInjectTouchControlMessage1_16, ScrcpyMediaStreamRawPacket, ScrcpySetClipboardControlMessage1_15, } from "./message.js";
7
9
  import { ScrcpyScrollController1_16 } from "./scroll.js";
8
- export var ScrcpyLogLevel;
9
- (function (ScrcpyLogLevel) {
10
- ScrcpyLogLevel["Verbose"] = "verbose";
11
- ScrcpyLogLevel["Debug"] = "debug";
12
- ScrcpyLogLevel["Info"] = "info";
13
- ScrcpyLogLevel["Warn"] = "warn";
14
- ScrcpyLogLevel["Error"] = "error";
15
- })(ScrcpyLogLevel = ScrcpyLogLevel || (ScrcpyLogLevel = {}));
16
- export var ScrcpyVideoOrientation;
17
- (function (ScrcpyVideoOrientation) {
18
- ScrcpyVideoOrientation[ScrcpyVideoOrientation["Initial"] = -2] = "Initial";
19
- ScrcpyVideoOrientation[ScrcpyVideoOrientation["Unlocked"] = -1] = "Unlocked";
20
- ScrcpyVideoOrientation[ScrcpyVideoOrientation["Portrait"] = 0] = "Portrait";
21
- ScrcpyVideoOrientation[ScrcpyVideoOrientation["Landscape"] = 1] = "Landscape";
22
- ScrcpyVideoOrientation[ScrcpyVideoOrientation["PortraitFlipped"] = 2] = "PortraitFlipped";
23
- ScrcpyVideoOrientation[ScrcpyVideoOrientation["LandscapeFlipped"] = 3] = "LandscapeFlipped";
24
- })(ScrcpyVideoOrientation = ScrcpyVideoOrientation || (ScrcpyVideoOrientation = {}));
25
- export const VideoPacket = new Struct()
26
- .uint64("pts")
27
- .uint32("size")
28
- .uint8Array("data", { lengthField: "size" });
29
- export const NO_PTS = BigInt(1) << BigInt(63);
30
- export const ScrcpyBackOrScreenOnControlMessage1_16 = new Struct().uint8("type", ScrcpyControlMessageType.BackOrScreenOn);
31
- export const ScrcpySetClipboardControlMessage1_15 = new Struct()
32
- .uint8("type", ScrcpyControlMessageType.SetClipboard)
33
- .uint32("length")
34
- .string("content", { lengthField: "length" });
35
- export class ScrcpyOptions1_16 {
10
+ class ScrcpyOptions1_16 {
11
+ static DEFAULTS = {
12
+ logLevel: ScrcpyLogLevel1_16.Debug,
13
+ maxSize: 0,
14
+ bitRate: 8_000_000,
15
+ maxFps: 0,
16
+ lockVideoOrientation: ScrcpyVideoOrientation1_16.Unlocked,
17
+ tunnelForward: false,
18
+ crop: undefined,
19
+ sendFrameMeta: true,
20
+ control: true,
21
+ displayId: 0,
22
+ showTouches: false,
23
+ stayAwake: false,
24
+ codecOptions: new CodecOptions(),
25
+ };
26
+ static SERIALIZE_ORDER = [
27
+ "logLevel",
28
+ "maxSize",
29
+ "bitRate",
30
+ "maxFps",
31
+ "lockVideoOrientation",
32
+ "tunnelForward",
33
+ "crop",
34
+ "sendFrameMeta",
35
+ "control",
36
+ "displayId",
37
+ "showTouches",
38
+ "stayAwake",
39
+ "codecOptions",
40
+ ];
41
+ static serialize(options, order) {
42
+ return order.map((key) => toScrcpyOptionValue(options[key], "-"));
43
+ }
44
+ static async parseCString(stream, maxLength) {
45
+ let result = decodeUtf8(await stream.readExactly(maxLength));
46
+ result = result.substring(0, result.indexOf("\0"));
47
+ return result;
48
+ }
49
+ static async parseUint16BE(stream) {
50
+ const buffer = await stream.readExactly(NumberFieldType.Uint16.size);
51
+ return NumberFieldType.Uint16.deserialize(buffer, false);
52
+ }
53
+ static async parseUint32BE(stream) {
54
+ const buffer = await stream.readExactly(NumberFieldType.Uint32.size);
55
+ return NumberFieldType.Uint32.deserialize(buffer, false);
56
+ }
36
57
  value;
37
- constructor(value) {
38
- if (new.target === ScrcpyOptions1_16 &&
39
- value.logLevel === ScrcpyLogLevel.Verbose) {
40
- value.logLevel = ScrcpyLogLevel.Debug;
41
- }
42
- if (new.target === ScrcpyOptions1_16 &&
43
- value.lockVideoOrientation === ScrcpyVideoOrientation.Initial) {
44
- value.lockVideoOrientation = ScrcpyVideoOrientation.Unlocked;
58
+ defaults = ScrcpyOptions1_16.DEFAULTS;
59
+ controlMessageTypes = SCRCPY_CONTROL_MESSAGE_TYPES_1_16;
60
+ constructor(init) {
61
+ this.value = { ...ScrcpyOptions1_16.DEFAULTS, ...init };
62
+ }
63
+ serialize() {
64
+ return ScrcpyOptions1_16.serialize(this.value, ScrcpyOptions1_16.SERIALIZE_ORDER);
65
+ }
66
+ setListEncoders() {
67
+ throw new Error("Not supported");
68
+ }
69
+ setListDisplays() {
70
+ // Set to an invalid value
71
+ // Server will print valid values before crashing
72
+ // (server will crash before opening sockets)
73
+ this.value.displayId = -1;
74
+ }
75
+ parseEncoder() {
76
+ throw new Error("Not supported");
77
+ }
78
+ parseDisplay(line) {
79
+ const displayIdRegex = /\s+scrcpy --display (\d+)/;
80
+ const match = line.match(displayIdRegex);
81
+ if (match) {
82
+ return {
83
+ id: Number.parseInt(match[1], 10),
84
+ };
45
85
  }
46
- this.value = value;
47
- }
48
- getArgumentOrder() {
49
- return [
50
- "logLevel",
51
- "maxSize",
52
- "bitRate",
53
- "maxFps",
54
- "lockVideoOrientation",
55
- "tunnelForward",
56
- "crop",
57
- "sendFrameMeta",
58
- "control",
59
- "displayId",
60
- "showTouches",
61
- "stayAwake",
62
- "codecOptions",
63
- "encoderName",
64
- ];
65
- }
66
- getDefaultValue() {
67
- return {
68
- logLevel: ScrcpyLogLevel.Debug,
69
- maxSize: 0,
70
- bitRate: 8000000,
71
- maxFps: 0,
72
- lockVideoOrientation: ScrcpyVideoOrientation.Unlocked,
73
- tunnelForward: false,
74
- crop: "-",
75
- sendFrameMeta: true,
76
- control: true,
77
- displayId: 0,
78
- showTouches: false,
79
- stayAwake: false,
80
- codecOptions: new CodecOptions({}),
81
- encoderName: "-",
82
- };
86
+ return undefined;
83
87
  }
84
- formatServerArguments() {
85
- const defaults = this.getDefaultValue();
86
- return this.getArgumentOrder().map((key) => toScrcpyOptionValue(this.value[key] || defaults[key], "-"));
88
+ parseVideoStreamMetadata(stream) {
89
+ return (async () => {
90
+ const buffered = new BufferedReadableStream(stream);
91
+ const metadata = {
92
+ codec: ScrcpyVideoCodecId.H264,
93
+ };
94
+ metadata.deviceName = await ScrcpyOptions1_16.parseCString(buffered, 64);
95
+ metadata.width = await ScrcpyOptions1_16.parseUint16BE(buffered);
96
+ metadata.height = await ScrcpyOptions1_16.parseUint16BE(buffered);
97
+ return { stream: buffered.release(), metadata };
98
+ })();
87
99
  }
88
- getOutputEncoderNameRegex() {
89
- return /\s+scrcpy --encoder-name '(.*?)'/;
100
+ parseAudioStreamMetadata() {
101
+ throw new Error("Not supported");
90
102
  }
91
- createVideoStreamTransformer() {
103
+ createMediaStreamTransformer() {
92
104
  // Optimized path for video frames only
93
- if (this.value.sendFrameMeta === false) {
105
+ if (!this.value.sendFrameMeta) {
94
106
  return new TransformStream({
95
107
  transform(chunk, controller) {
96
108
  controller.enqueue({
97
- type: "frame",
109
+ type: "data",
98
110
  data: chunk,
99
111
  });
100
112
  },
101
113
  });
102
114
  }
103
- let header;
104
- const deserializeStream = new StructDeserializeStream(VideoPacket);
115
+ const deserializeStream = new StructDeserializeStream(ScrcpyMediaStreamRawPacket);
105
116
  return {
106
117
  writable: deserializeStream.writable,
107
118
  readable: deserializeStream.readable.pipeThrough(new TransformStream({
108
119
  transform(packet, controller) {
109
- if (packet.pts === NO_PTS) {
110
- const { sequenceParameterSet, pictureParameterSet, } = parseH264Configuration(packet.data);
111
- const { profile_idc: profileIndex, constraint_set: constraintSet, level_idc: levelIndex, pic_width_in_mbs_minus1, pic_height_in_map_units_minus1, frame_mbs_only_flag, frame_crop_left_offset, frame_crop_right_offset, frame_crop_top_offset, frame_crop_bottom_offset, } = parseSequenceParameterSet(removeH264Emulation(sequenceParameterSet));
112
- const encodedWidth = (pic_width_in_mbs_minus1 + 1) * 16;
113
- const encodedHeight = (pic_height_in_map_units_minus1 + 1) *
114
- (2 - frame_mbs_only_flag) *
115
- 16;
116
- const cropLeft = frame_crop_left_offset * 2;
117
- const cropRight = frame_crop_right_offset * 2;
118
- const cropTop = frame_crop_top_offset * 2;
119
- const cropBottom = frame_crop_bottom_offset * 2;
120
- const croppedWidth = encodedWidth - cropLeft - cropRight;
121
- const croppedHeight = encodedHeight - cropTop - cropBottom;
122
- header = packet.data;
120
+ if (packet.pts === SCRCPY_MEDIA_PACKET_FLAG_CONFIG) {
123
121
  controller.enqueue({
124
122
  type: "configuration",
125
- pictureParameterSet,
126
- sequenceParameterSet,
127
- data: {
128
- profileIndex,
129
- constraintSet,
130
- levelIndex,
131
- encodedWidth,
132
- encodedHeight,
133
- cropLeft,
134
- cropRight,
135
- cropTop,
136
- cropBottom,
137
- croppedWidth,
138
- croppedHeight,
139
- },
123
+ data: packet.data,
140
124
  });
141
125
  return;
142
126
  }
143
- let frameData;
144
- if (header) {
145
- frameData = new Uint8Array(header.byteLength + packet.data.byteLength);
146
- frameData.set(header);
147
- frameData.set(packet.data, header.byteLength);
148
- header = undefined;
149
- }
150
- else {
151
- frameData = packet.data;
152
- }
153
127
  controller.enqueue({
154
- type: "frame",
128
+ type: "data",
155
129
  pts: packet.pts,
156
- data: frameData,
130
+ data: packet.data,
157
131
  });
158
132
  },
159
133
  })),
160
134
  };
161
135
  }
162
- getControlMessageTypes() {
163
- return [
164
- /* 0 */ ScrcpyControlMessageType.InjectKeyCode,
165
- /* 1 */ ScrcpyControlMessageType.InjectText,
166
- /* 2 */ ScrcpyControlMessageType.InjectTouch,
167
- /* 3 */ ScrcpyControlMessageType.InjectScroll,
168
- /* 4 */ ScrcpyControlMessageType.BackOrScreenOn,
169
- /* 5 */ ScrcpyControlMessageType.ExpandNotificationPanel,
170
- /* 6 */ ScrcpyControlMessageType.CollapseNotificationPanel,
171
- /* 7 */ ScrcpyControlMessageType.GetClipboard,
172
- /* 8 */ ScrcpyControlMessageType.SetClipboard,
173
- /* 9 */ ScrcpyControlMessageType.SetScreenPowerMode,
174
- /* 10 */ ScrcpyControlMessageType.RotateDevice,
175
- ];
136
+ serializeInjectTouchControlMessage(message) {
137
+ return ScrcpyInjectTouchControlMessage1_16.serialize(message);
176
138
  }
177
139
  serializeBackOrScreenOnControlMessage(message) {
178
140
  if (message.action === AndroidKeyEventAction.Down) {
@@ -183,8 +145,9 @@ export class ScrcpyOptions1_16 {
183
145
  serializeSetClipboardControlMessage(message) {
184
146
  return ScrcpySetClipboardControlMessage1_15.serialize(message);
185
147
  }
186
- getScrollController() {
148
+ createScrollController() {
187
149
  return new ScrcpyScrollController1_16();
188
150
  }
189
151
  }
152
+ export { ScrcpyOptions1_16 };
190
153
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,eAAe,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAMvC,OAAO,EACH,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACH,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,iCAAe,CAAA;AACnB,CAAC,EANW,cAAc,GAAd,cAAc,KAAd,cAAc,QAMzB;AAED,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAC9B,0EAAY,CAAA;IACZ,4EAAa,CAAA;IACb,2EAAY,CAAA;IACZ,6EAAa,CAAA;IACb,yFAAmB,CAAA;IACnB,2FAAoB,CAAA;AACxB,CAAC,EAPW,sBAAsB,GAAtB,sBAAsB,KAAtB,sBAAsB,QAOjC;AAoED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,MAAM,EAAE;KAClC,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,MAAM,CAAC;KACd,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,MAAM,EAAE,CAAC,KAAK,CACpE,MAAM,EACN,wBAAwB,CAAC,cAAuB,CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC,YAAqB,CAAC;KAC7D,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKlD,MAAM,OAAO,iBAAiB;IAInB,KAAK,CAAa;IAEzB,YAAmB,KAAqC;QACpD,IACI,GAAG,CAAC,MAAM,KAAK,iBAAiB;YAChC,KAAK,CAAC,QAAQ,KAAK,cAAc,CAAC,OAAO,EAC3C;YACE,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC;SACzC;QAED,IACI,GAAG,CAAC,MAAM,KAAK,iBAAiB;YAChC,KAAK,CAAC,oBAAoB,KAAK,sBAAsB,CAAC,OAAO,EAC/D;YACE,KAAK,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,QAAQ,CAAC;SAChE;QAED,IAAI,CAAC,KAAK,GAAG,KAAmB,CAAC;IACrC,CAAC;IAES,gBAAgB;QACtB,OAAO;YACH,UAAU;YACV,SAAS;YACT,SAAS;YACT,QAAQ;YACR,sBAAsB;YACtB,eAAe;YACf,MAAM;YACN,eAAe;YACf,SAAS;YACT,WAAW;YACX,aAAa;YACb,WAAW;YACX,cAAc;YACd,aAAa;SAChB,CAAC;IACN,CAAC;IAEM,eAAe;QAClB,OAAO;YACH,QAAQ,EAAE,cAAc,CAAC,KAAK;YAC9B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,OAAS;YAClB,MAAM,EAAE,CAAC;YACT,oBAAoB,EAAE,sBAAsB,CAAC,QAAQ;YACrD,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,GAAG;YACT,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC;YAClC,WAAW,EAAE,GAAG;SACd,CAAC;IACX,CAAC;IAEM,qBAAqB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAC7D,CAAC;IACN,CAAC;IAEM,yBAAyB;QAC5B,OAAO,kCAAkC,CAAC;IAC9C,CAAC;IAEM,4BAA4B;QAI/B,uCAAuC;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE;YACpC,OAAO,IAAI,eAAe,CAAC;gBACvB,SAAS,CAAC,KAAK,EAAE,UAAU;oBACvB,UAAU,CAAC,OAAO,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,KAAK;qBACd,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CAAC;SACN;QAED,IAAI,MAA8B,CAAC;QAEnC,MAAM,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO;YACH,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;YACpC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAC5C,IAAI,eAAe,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,UAAU;oBACxB,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,EAAE;wBACvB,MAAM,EACF,oBAAoB,EACpB,mBAAmB,GACtB,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAExC,MAAM,EACF,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,aAAa,EAC7B,SAAS,EAAE,UAAU,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GAC3B,GAAG,yBAAyB,CACzB,mBAAmB,CAAC,oBAAoB,CAAC,CAC5C,CAAC;wBAEF,MAAM,YAAY,GACd,CAAC,uBAAuB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;wBACvC,MAAM,aAAa,GACf,CAAC,8BAA8B,GAAG,CAAC,CAAC;4BACpC,CAAC,CAAC,GAAG,mBAAmB,CAAC;4BACzB,EAAE,CAAC;wBACP,MAAM,QAAQ,GAAG,sBAAsB,GAAG,CAAC,CAAC;wBAC5C,MAAM,SAAS,GAAG,uBAAuB,GAAG,CAAC,CAAC;wBAC9C,MAAM,OAAO,GAAG,qBAAqB,GAAG,CAAC,CAAC;wBAC1C,MAAM,UAAU,GAAG,wBAAwB,GAAG,CAAC,CAAC;wBAEhD,MAAM,YAAY,GACd,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;wBACxC,MAAM,aAAa,GACf,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;wBAEzC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;wBACrB,UAAU,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,eAAe;4BACrB,mBAAmB;4BACnB,oBAAoB;4BACpB,IAAI,EAAE;gCACF,YAAY;gCACZ,aAAa;gCACb,UAAU;gCACV,YAAY;gCACZ,aAAa;gCACb,QAAQ;gCACR,SAAS;gCACT,OAAO;gCACP,UAAU;gCACV,YAAY;gCACZ,aAAa;6BAChB;yBACJ,CAAC,CAAC;wBACH,OAAO;qBACV;oBAED,IAAI,SAAqB,CAAC;oBAC1B,IAAI,MAAM,EAAE;wBACR,SAAS,GAAG,IAAI,UAAU,CACtB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAC7C,CAAC;wBACF,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACtB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC9C,MAAM,GAAG,SAAS,CAAC;qBACtB;yBAAM;wBACH,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;qBAC3B;oBAED,UAAU,CAAC,OAAO,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,IAAI,EAAE,SAAS;qBAClB,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CACL;SACJ,CAAC;IACN,CAAC;IAEM,sBAAsB;QACzB,OAAO;YACH,QAAQ,CAAC,wBAAwB,CAAC,aAAa;YAC/C,QAAQ,CAAC,wBAAwB,CAAC,UAAU;YAC5C,QAAQ,CAAC,wBAAwB,CAAC,WAAW;YAC7C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;YAC9C,QAAQ,CAAC,wBAAwB,CAAC,cAAc;YAChD,QAAQ,CAAC,wBAAwB,CAAC,uBAAuB;YACzD,QAAQ,CAAC,wBAAwB,CAAC,yBAAyB;YAC3D,QAAQ,CAAC,wBAAwB,CAAC,YAAY;YAC9C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;YAC9C,QAAQ,CAAC,wBAAwB,CAAC,kBAAkB;YACpD,QAAQ,CAAC,wBAAwB,CAAC,YAAY;SACjD,CAAC;IACN,CAAC;IAEM,qCAAqC,CACxC,OAA2C;QAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAC,IAAI,EAAE;YAC/C,OAAO,sCAAsC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACpE;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,mCAAmC,CACtC,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC;CACJ"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EACH,iCAAiC,EACjC,+BAA+B,EAC/B,sCAAsC,EACtC,mCAAmC,EACnC,0BAA0B,EAC1B,oCAAoC,GACvC,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAa,iBAAiB;IACnB,MAAM,CAAU,QAAQ,GAAG;QAC9B,QAAQ,EAAE,kBAAkB,CAAC,KAAK;QAClC,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,CAAC;QACT,oBAAoB,EAAE,0BAA0B,CAAC,QAAQ;QACzD,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAI,YAAY,EAAE;KACgB,CAAC;IAE9C,MAAM,CAAU,eAAe,GAAG;QACrC,UAAU;QACV,SAAS;QACT,SAAS;QACT,QAAQ;QACR,sBAAsB;QACtB,eAAe;QACf,MAAM;QACN,eAAe;QACf,SAAS;QACT,WAAW;QACX,aAAa;QACb,WAAW;QACX,cAAc;KAC2C,CAAC;IAEvD,MAAM,CAAC,SAAS,CAAI,OAAU,EAAE,KAA2B;QAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,YAAY,CAC5B,MAA0B,EAC1B,SAAiB;QAEjB,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,aAAa,CAC7B,MAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,aAAa,CAC7B,MAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAkC;IAE9B,QAAQ,GACpB,iBAAiB,CAAC,QAAQ,CAAC;IAEf,mBAAmB,GAC/B,iCAAiC,CAAC;IAEtC,YAAmB,IAA2B;QAC1C,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAC5D,CAAC;IAEM,SAAS;QACZ,OAAO,iBAAiB,CAAC,SAAS,CAC9B,IAAI,CAAC,KAAK,EACV,iBAAiB,CAAC,eAAe,CACpC,CAAC;IACN,CAAC;IAEM,eAAe;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAEM,eAAe;QAClB,0BAA0B;QAC1B,iDAAiD;QACjD,6CAA6C;QAC7C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAEM,YAAY,CAAC,IAAY;QAC5B,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE;YACP,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;aACrC,CAAC;SACL;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,wBAAwB,CAC3B,MAAkC;QAElC,OAAO,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,QAAQ,GAA8B;gBACxC,KAAK,EAAE,kBAAkB,CAAC,IAAI;aACjC,CAAC;YACF,QAAQ,CAAC,UAAU,GAAG,MAAM,iBAAiB,CAAC,YAAY,CACtD,QAAQ,EACR,EAAE,CACL,CAAC;YACF,QAAQ,CAAC,KAAK,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACjE,QAAQ,CAAC,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAClE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAEM,wBAAwB;QAC3B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAEM,4BAA4B;QAI/B,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC3B,OAAO,IAAI,eAAe,CAAC;gBACvB,SAAS,CAAC,KAAK,EAAE,UAAU;oBACvB,UAAU,CAAC,OAAO,CAAC;wBACf,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,KAAK;qBACd,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CAAC;SACN;QAED,MAAM,iBAAiB,GAAG,IAAI,uBAAuB,CACjD,0BAA0B,CAC7B,CAAC;QACF,OAAO;YACH,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;YACpC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAC5C,IAAI,eAAe,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,UAAU;oBACxB,IAAI,MAAM,CAAC,GAAG,KAAK,+BAA+B,EAAE;wBAChD,UAAU,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,eAAe;4BACrB,IAAI,EAAE,MAAM,CAAC,IAAI;yBACpB,CAAC,CAAC;wBACH,OAAO;qBACV;oBAED,UAAU,CAAC,OAAO,CAAC;wBACf,IAAI,EAAE,MAAM;wBACZ,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,IAAI,EAAE,MAAM,CAAC,IAAI;qBACpB,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CACL;SACJ,CAAC;IACN,CAAC;IAEM,kCAAkC,CACrC,OAAwC;QAExC,OAAO,mCAAmC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAEM,qCAAqC,CACxC,OAA2C;QAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAC,IAAI,EAAE;YAC/C,OAAO,sCAAsC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACpE;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,mCAAmC,CACtC,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC;;SAlMQ,iBAAiB"}
@@ -1,11 +1,10 @@
1
1
  import Struct from "@yume-chan/struct";
2
2
  import type { ScrcpyInjectScrollControlMessage } from "../../control/index.js";
3
- import { ScrcpyControlMessageType } from "../../control/index.js";
4
3
  export interface ScrcpyScrollController {
5
4
  serializeScrollMessage(message: ScrcpyInjectScrollControlMessage): Uint8Array | undefined;
6
5
  }
7
6
  export declare const ScrcpyInjectScrollControlMessage1_16: Struct<{
8
- type: ScrcpyControlMessageType.InjectScroll;
7
+ type: number;
9
8
  pointerX: number;
10
9
  pointerY: number;
11
10
  screenWidth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACnC,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,oCAAoC;;;;;;;;0CAO5B,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IACrE,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IAEzB,SAAS,CAAC,cAAc,CACpB,OAAO,EAAE,gCAAgC,GAC1C,gCAAgC,GAAG,SAAS;IA+BxC,sBAAsB,CACzB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAQ5B"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAE/E,MAAM,WAAW,sBAAsB;IACnC,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,oCAAoC;;;;;;;;0CAO5B,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IACrE,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IAEzB,SAAS,CAAC,cAAc,CACpB,OAAO,EAAE,gCAAgC,GAC1C,gCAAgC,GAAG,SAAS;IA+BxC,sBAAsB,CACzB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAQ5B"}
@@ -1,7 +1,6 @@
1
1
  import Struct from "@yume-chan/struct";
2
- import { ScrcpyControlMessageType } from "../../control/index.js";
3
2
  export const ScrcpyInjectScrollControlMessage1_16 = new Struct()
4
- .uint8("type", ScrcpyControlMessageType.InjectScroll)
3
+ .uint8("type")
5
4
  .uint32("pointerX")
6
5
  .uint32("pointerY")
7
6
  .uint16("screenWidth")
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/options/1_16/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAQlE,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,CAAC;KAChB,KAAK,CAAC,SAAS,CAAC,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAC3B,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,GAAG,CAAC,CAAC;IAEf,cAAc,CACpB,OAAyC;QAEzC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;QAErC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,sBAAsB,CACzB,OAAyC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,oCAAoC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;CACJ"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/options/1_16/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAUvC,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,CAAC;KACb,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,KAAK,CAAC,SAAS,CAAC;KAChB,KAAK,CAAC,SAAS,CAAC,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAC3B,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,GAAG,CAAC,CAAC;IAEf,cAAc,CACpB,OAAyC;QAEzC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;QAErC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,sBAAsB,CACzB,OAAyC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,oCAAoC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;CACJ"}