@yume-chan/scrcpy 0.0.19 → 0.0.21

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 (278) hide show
  1. package/CHANGELOG.json +30 -0
  2. package/CHANGELOG.md +17 -1
  3. package/README.md +76 -266
  4. package/esm/codec/av1.js +2 -2
  5. package/esm/codec/av1.js.map +1 -1
  6. package/esm/codec/h264.d.ts +1 -21
  7. package/esm/codec/h264.d.ts.map +1 -1
  8. package/esm/codec/h264.js +15 -236
  9. package/esm/codec/h264.js.map +1 -1
  10. package/esm/codec/h265.d.ts +454 -0
  11. package/esm/codec/h265.d.ts.map +1 -1
  12. package/esm/codec/h265.js +1062 -2
  13. package/esm/codec/h265.js.map +1 -1
  14. package/esm/codec/index.d.ts +1 -0
  15. package/esm/codec/index.d.ts.map +1 -1
  16. package/esm/codec/index.js +1 -0
  17. package/esm/codec/index.js.map +1 -1
  18. package/esm/codec/nalu.d.ts +37 -0
  19. package/esm/codec/nalu.d.ts.map +1 -0
  20. package/esm/codec/nalu.js +323 -0
  21. package/esm/codec/nalu.js.map +1 -0
  22. package/esm/control/back-or-screen-on.d.ts +1 -1
  23. package/esm/control/back-or-screen-on.d.ts.map +1 -1
  24. package/esm/control/hover-helper.d.ts +1 -1
  25. package/esm/control/hover-helper.d.ts.map +1 -1
  26. package/esm/control/hover-helper.js +8 -9
  27. package/esm/control/hover-helper.js.map +1 -1
  28. package/esm/control/index.d.ts +2 -0
  29. package/esm/control/index.d.ts.map +1 -1
  30. package/esm/control/index.js +2 -0
  31. package/esm/control/index.js.map +1 -1
  32. package/esm/control/inject-keycode.d.ts +1 -2
  33. package/esm/control/inject-keycode.d.ts.map +1 -1
  34. package/esm/control/inject-keycode.js +4 -5
  35. package/esm/control/inject-keycode.js.map +1 -1
  36. package/esm/control/inject-text.d.ts +1 -2
  37. package/esm/control/inject-text.d.ts.map +1 -1
  38. package/esm/control/inject-text.js +1 -2
  39. package/esm/control/inject-text.js.map +1 -1
  40. package/esm/control/inject-touch.d.ts +15 -20
  41. package/esm/control/inject-touch.d.ts.map +1 -1
  42. package/esm/control/inject-touch.js +16 -43
  43. package/esm/control/inject-touch.js.map +1 -1
  44. package/esm/control/rotate-device.d.ts +2 -4
  45. package/esm/control/rotate-device.d.ts.map +1 -1
  46. package/esm/control/rotate-device.js +2 -3
  47. package/esm/control/rotate-device.js.map +1 -1
  48. package/esm/control/serializer.d.ts +11 -23
  49. package/esm/control/serializer.d.ts.map +1 -1
  50. package/esm/control/serializer.js +23 -52
  51. package/esm/control/serializer.js.map +1 -1
  52. package/esm/control/set-screen-power-mode.d.ts +1 -2
  53. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  54. package/esm/control/set-screen-power-mode.js +2 -3
  55. package/esm/control/set-screen-power-mode.js.map +1 -1
  56. package/esm/control/type.d.ts +14 -0
  57. package/esm/control/type.d.ts.map +1 -1
  58. package/esm/control/type.js +23 -1
  59. package/esm/control/type.js.map +1 -1
  60. package/esm/control/writer.d.ts +26 -0
  61. package/esm/control/writer.d.ts.map +1 -0
  62. package/esm/control/writer.js +53 -0
  63. package/esm/control/writer.js.map +1 -0
  64. package/esm/device-message/stream.d.ts.map +1 -1
  65. package/esm/device-message/stream.js +23 -8
  66. package/esm/device-message/stream.js.map +1 -1
  67. package/esm/device-message/type.js +1 -1
  68. package/esm/device-message/type.js.map +1 -1
  69. package/esm/index.d.ts +1 -2
  70. package/esm/index.d.ts.map +1 -1
  71. package/esm/index.js +1 -2
  72. package/esm/index.js.map +1 -1
  73. package/esm/options/1_16/codec-options.d.ts +2 -3
  74. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  75. package/esm/options/1_16/codec-options.js.map +1 -1
  76. package/esm/options/1_16/index.d.ts +3 -1
  77. package/esm/options/1_16/index.d.ts.map +1 -1
  78. package/esm/options/1_16/index.js +3 -1
  79. package/esm/options/1_16/index.js.map +1 -1
  80. package/esm/options/1_16/init.js +2 -2
  81. package/esm/options/1_16/init.js.map +1 -1
  82. package/esm/options/1_16/options.d.ts +42 -96
  83. package/esm/options/1_16/options.d.ts.map +1 -1
  84. package/esm/options/1_16/options.js +104 -142
  85. package/esm/options/1_16/options.js.map +1 -1
  86. package/esm/options/1_16/scroll.d.ts +2 -4
  87. package/esm/options/1_16/scroll.d.ts.map +1 -1
  88. package/esm/options/1_16/scroll.js +13 -14
  89. package/esm/options/1_16/scroll.js.map +1 -1
  90. package/esm/options/1_17.d.ts +1 -0
  91. package/esm/options/1_17.d.ts.map +1 -1
  92. package/esm/options/1_17.js +8 -3
  93. package/esm/options/1_17.js.map +1 -1
  94. package/esm/options/1_18.d.ts +49 -11
  95. package/esm/options/1_18.d.ts.map +1 -1
  96. package/esm/options/1_18.js +64 -32
  97. package/esm/options/1_18.js.map +1 -1
  98. package/esm/options/1_21.d.ts +26 -7
  99. package/esm/options/1_21.d.ts.map +1 -1
  100. package/esm/options/1_21.js +34 -20
  101. package/esm/options/1_21.js.map +1 -1
  102. package/esm/options/1_22/index.d.ts +1 -0
  103. package/esm/options/1_22/index.d.ts.map +1 -1
  104. package/esm/options/1_22/index.js +1 -0
  105. package/esm/options/1_22/index.js.map +1 -1
  106. package/esm/options/1_22/options.d.ts +32 -26
  107. package/esm/options/1_22/options.d.ts.map +1 -1
  108. package/esm/options/1_22/options.js +26 -16
  109. package/esm/options/1_22/options.js.map +1 -1
  110. package/esm/options/1_22/scroll.d.ts +1 -1
  111. package/esm/options/1_22/scroll.d.ts.map +1 -1
  112. package/esm/options/1_22/scroll.js +1 -1
  113. package/esm/options/1_22/scroll.js.map +1 -1
  114. package/esm/options/1_23.d.ts +32 -8
  115. package/esm/options/1_23.d.ts.map +1 -1
  116. package/esm/options/1_23.js +23 -14
  117. package/esm/options/1_23.js.map +1 -1
  118. package/esm/options/1_24.d.ts +29 -4
  119. package/esm/options/1_24.d.ts.map +1 -1
  120. package/esm/options/1_24.js +16 -7
  121. package/esm/options/1_24.js.map +1 -1
  122. package/esm/options/1_25/options.d.ts +6 -2
  123. package/esm/options/1_25/options.d.ts.map +1 -1
  124. package/esm/options/1_25/options.js +16 -2
  125. package/esm/options/1_25/options.js.map +1 -1
  126. package/esm/options/1_25/scroll.d.ts.map +1 -1
  127. package/esm/options/1_25/scroll.js +2 -1
  128. package/esm/options/1_25/scroll.js.map +1 -1
  129. package/esm/options/2_0.d.ts +12 -8
  130. package/esm/options/2_0.d.ts.map +1 -1
  131. package/esm/options/2_0.js +82 -15
  132. package/esm/options/2_0.js.map +1 -1
  133. package/esm/options/2_1.d.ts +48 -0
  134. package/esm/options/2_1.d.ts.map +1 -0
  135. package/esm/options/2_1.js +23 -0
  136. package/esm/options/2_1.js.map +1 -0
  137. package/esm/options/codec.d.ts +4 -4
  138. package/esm/options/codec.d.ts.map +1 -1
  139. package/esm/options/codec.js +5 -6
  140. package/esm/options/codec.js.map +1 -1
  141. package/esm/options/index.d.ts +5 -0
  142. package/esm/options/index.d.ts.map +1 -1
  143. package/esm/options/index.js +5 -0
  144. package/esm/options/index.js.map +1 -1
  145. package/esm/options/latest.d.ts +4 -5
  146. package/esm/options/latest.d.ts.map +1 -1
  147. package/esm/options/latest.js +2 -3
  148. package/esm/options/latest.js.map +1 -1
  149. package/esm/options/types.d.ts +74 -33
  150. package/esm/options/types.d.ts.map +1 -1
  151. package/esm/options/types.js +62 -0
  152. package/esm/options/types.js.map +1 -1
  153. package/package.json +9 -19
  154. package/src/codec/av1.ts +33 -0
  155. package/src/codec/h264.ts +317 -0
  156. package/src/codec/h265.ts +1375 -0
  157. package/src/codec/index.ts +4 -0
  158. package/src/codec/nalu.ts +391 -0
  159. package/src/control/back-or-screen-on.ts +1 -1
  160. package/{esm/control/simple.js → src/control/basic.ts} +3 -3
  161. package/src/control/hover-helper.ts +10 -11
  162. package/src/control/index.ts +2 -0
  163. package/src/control/inject-keycode.ts +1 -3
  164. package/src/control/inject-text.ts +1 -3
  165. package/src/control/inject-touch.ts +16 -55
  166. package/src/control/rotate-device.ts +2 -7
  167. package/src/control/serializer.ts +50 -113
  168. package/src/control/set-screen-power-mode.ts +1 -3
  169. package/src/control/type.ts +32 -0
  170. package/src/control/writer.ts +85 -0
  171. package/src/device-message/stream.ts +32 -12
  172. package/src/index.ts +1 -2
  173. package/src/options/1_16/codec-options.ts +6 -7
  174. package/src/options/1_16/float-to-uint16.ts +33 -0
  175. package/src/options/1_16/index.ts +3 -1
  176. package/src/options/1_16/init.ts +80 -0
  177. package/src/options/1_16/message.ts +55 -0
  178. package/src/options/1_16/options.ts +147 -260
  179. package/src/options/1_16/scroll.ts +17 -18
  180. package/src/options/1_17.ts +66 -0
  181. package/src/options/1_18.ts +103 -39
  182. package/src/options/1_21.ts +49 -27
  183. package/src/options/1_22/index.ts +1 -0
  184. package/src/options/1_22/init.ts +19 -0
  185. package/src/options/1_22/options.ts +38 -45
  186. package/src/options/1_22/scroll.ts +3 -3
  187. package/src/options/1_23.ts +34 -22
  188. package/src/options/1_24.ts +23 -11
  189. package/src/options/1_25/options.ts +22 -4
  190. package/src/options/1_25/scroll.ts +4 -3
  191. package/src/options/2_0.ts +342 -0
  192. package/src/options/2_1.ts +35 -0
  193. package/src/options/codec.ts +98 -0
  194. package/src/options/index.ts +5 -0
  195. package/src/options/latest.ts +12 -0
  196. package/src/options/types.ts +164 -43
  197. package/tsconfig.build.json +9 -1
  198. package/tsconfig.build.tsbuildinfo +1 -1
  199. package/bin/scrcpy-server +0 -0
  200. package/bin/version.d.ts +0 -1
  201. package/bin/version.js +0 -1
  202. package/esm/adb/client.d.ts +0 -41
  203. package/esm/adb/client.d.ts.map +0 -1
  204. package/esm/adb/client.js +0 -224
  205. package/esm/adb/client.js.map +0 -1
  206. package/esm/adb/connection.d.ts +0 -49
  207. package/esm/adb/connection.d.ts.map +0 -1
  208. package/esm/adb/connection.js +0 -122
  209. package/esm/adb/connection.js.map +0 -1
  210. package/esm/adb/index.d.ts +0 -4
  211. package/esm/adb/index.d.ts.map +0 -1
  212. package/esm/adb/index.js +0 -4
  213. package/esm/adb/index.js.map +0 -1
  214. package/esm/adb/options/1_16.d.ts +0 -8
  215. package/esm/adb/options/1_16.d.ts.map +0 -1
  216. package/esm/adb/options/1_16.js +0 -20
  217. package/esm/adb/options/1_16.js.map +0 -1
  218. package/esm/adb/options/1_22.d.ts +0 -8
  219. package/esm/adb/options/1_22.d.ts.map +0 -1
  220. package/esm/adb/options/1_22.js +0 -17
  221. package/esm/adb/options/1_22.js.map +0 -1
  222. package/esm/adb/options/1_26.d.ts +0 -9
  223. package/esm/adb/options/1_26.d.ts.map +0 -1
  224. package/esm/adb/options/1_26.js +0 -11
  225. package/esm/adb/options/1_26.js.map +0 -1
  226. package/esm/adb/options/2_0.d.ts +0 -8
  227. package/esm/adb/options/2_0.d.ts.map +0 -1
  228. package/esm/adb/options/2_0.js +0 -13
  229. package/esm/adb/options/2_0.js.map +0 -1
  230. package/esm/adb/options/index.d.ts +0 -4
  231. package/esm/adb/options/index.d.ts.map +0 -1
  232. package/esm/adb/options/index.js +0 -4
  233. package/esm/adb/options/index.js.map +0 -1
  234. package/esm/adb/options/types.d.ts +0 -24
  235. package/esm/adb/options/types.d.ts.map +0 -1
  236. package/esm/adb/options/types.js +0 -37
  237. package/esm/adb/options/types.js.map +0 -1
  238. package/esm/codec.d.ts +0 -34
  239. package/esm/codec.d.ts.map +0 -1
  240. package/esm/codec.js +0 -37
  241. package/esm/codec.js.map +0 -1
  242. package/esm/control/simple.d.ts +0 -5
  243. package/esm/control/simple.d.ts.map +0 -1
  244. package/esm/control/simple.js.map +0 -1
  245. package/esm/decoder.d.ts +0 -2
  246. package/esm/decoder.d.ts.map +0 -1
  247. package/esm/decoder.js +0 -2
  248. package/esm/decoder.js.map +0 -1
  249. package/esm/options/1.17.d.ts +0 -3
  250. package/esm/options/1.17.d.ts.map +0 -1
  251. package/esm/options/1.17.js +0 -2
  252. package/esm/options/1.17.js.map +0 -1
  253. package/esm/options/1_16/h264-configuration.d.ts +0 -49
  254. package/esm/options/1_16/h264-configuration.d.ts.map +0 -1
  255. package/esm/options/1_16/h264-configuration.js +0 -414
  256. package/esm/options/1_16/h264-configuration.js.map +0 -1
  257. package/esm/options/1_16/sps.d.ts +0 -22
  258. package/esm/options/1_16/sps.d.ts.map +0 -1
  259. package/esm/options/1_16/sps.js +0 -263
  260. package/esm/options/1_16/sps.js.map +0 -1
  261. package/esm/options/1_26.d.ts +0 -57
  262. package/esm/options/1_26.d.ts.map +0 -1
  263. package/esm/options/1_26.js +0 -67
  264. package/esm/options/1_26.js.map +0 -1
  265. package/esm/options/2.d.ts +0 -57
  266. package/esm/options/2.d.ts.map +0 -1
  267. package/esm/options/2.js +0 -67
  268. package/esm/options/2.js.map +0 -1
  269. package/scripts/fetch-server.cjs +0 -38
  270. package/src/adb/client.ts +0 -329
  271. package/src/adb/connection.ts +0 -209
  272. package/src/adb/index.ts +0 -3
  273. package/src/adb/options/1_16.ts +0 -32
  274. package/src/adb/options/1_22.ts +0 -26
  275. package/src/adb/options/index.ts +0 -3
  276. package/src/adb/options/types.ts +0 -75
  277. package/src/codec.ts +0 -35
  278. package/src/options/1_16/h264-configuration.ts +0 -485
@@ -1,43 +1,75 @@
1
1
  import Struct, { placeholder } from "@yume-chan/struct";
2
2
  import { ScrcpyControlMessageType } from "../control/index.js";
3
- import { ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyOptions1_16, } from "./1_16/options.js";
3
+ import { SCRCPY_CONTROL_MESSAGE_TYPES_1_16, ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyLogLevel1_16, ScrcpyOptions1_16, ScrcpyVideoOrientation1_16, } from "./1_16/index.js";
4
+ import { ScrcpyOptions1_17 } from "./1_17.js";
5
+ import { ScrcpyOptionsBase } from "./types.js";
6
+ export var ScrcpyLogLevel1_18;
7
+ (function (ScrcpyLogLevel1_18) {
8
+ ScrcpyLogLevel1_18["Verbose"] = "verbose";
9
+ ScrcpyLogLevel1_18["Debug"] = "debug";
10
+ ScrcpyLogLevel1_18["Info"] = "info";
11
+ ScrcpyLogLevel1_18["Warn"] = "warn";
12
+ ScrcpyLogLevel1_18["Error"] = "error";
13
+ })(ScrcpyLogLevel1_18 || (ScrcpyLogLevel1_18 = {}));
14
+ export var ScrcpyVideoOrientation1_18;
15
+ (function (ScrcpyVideoOrientation1_18) {
16
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Initial"] = -2] = "Initial";
17
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Unlocked"] = -1] = "Unlocked";
18
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Portrait"] = 0] = "Portrait";
19
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["Landscape"] = 1] = "Landscape";
20
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["PortraitFlipped"] = 2] = "PortraitFlipped";
21
+ ScrcpyVideoOrientation1_18[ScrcpyVideoOrientation1_18["LandscapeFlipped"] = 3] = "LandscapeFlipped";
22
+ })(ScrcpyVideoOrientation1_18 || (ScrcpyVideoOrientation1_18 = {}));
4
23
  export const ScrcpyBackOrScreenOnControlMessage1_18 = new Struct()
5
- .fields(ScrcpyBackOrScreenOnControlMessage1_16)
24
+ .concat(ScrcpyBackOrScreenOnControlMessage1_16)
6
25
  .uint8("action", placeholder());
7
- export class ScrcpyOptions1_18 extends ScrcpyOptions1_16 {
8
- constructor(value) {
9
- super(value);
26
+ export const SCRCPY_CONTROL_MESSAGE_TYPES_1_18 = SCRCPY_CONTROL_MESSAGE_TYPES_1_16.slice();
27
+ SCRCPY_CONTROL_MESSAGE_TYPES_1_18.splice(6, 0, ScrcpyControlMessageType.ExpandSettingPanel);
28
+ const LOG_LEVEL_MAP = {
29
+ [ScrcpyLogLevel1_18.Verbose]: ScrcpyLogLevel1_16.Debug,
30
+ [ScrcpyLogLevel1_18.Debug]: ScrcpyLogLevel1_16.Debug,
31
+ [ScrcpyLogLevel1_18.Info]: ScrcpyLogLevel1_16.Info,
32
+ [ScrcpyLogLevel1_18.Warn]: ScrcpyLogLevel1_16.Warn,
33
+ [ScrcpyLogLevel1_18.Error]: ScrcpyLogLevel1_16.Error,
34
+ };
35
+ const VIDEO_ORIENTATION_MAP = {
36
+ [ScrcpyVideoOrientation1_18.Initial]: ScrcpyVideoOrientation1_16.Unlocked,
37
+ [ScrcpyVideoOrientation1_18.Unlocked]: ScrcpyVideoOrientation1_16.Unlocked,
38
+ [ScrcpyVideoOrientation1_18.Portrait]: ScrcpyVideoOrientation1_16.Portrait,
39
+ [ScrcpyVideoOrientation1_18.Landscape]: ScrcpyVideoOrientation1_16.Landscape,
40
+ [ScrcpyVideoOrientation1_18.PortraitFlipped]: ScrcpyVideoOrientation1_16.PortraitFlipped,
41
+ [ScrcpyVideoOrientation1_18.LandscapeFlipped]: ScrcpyVideoOrientation1_16.LandscapeFlipped,
42
+ };
43
+ export class ScrcpyOptions1_18 extends ScrcpyOptionsBase {
44
+ static DEFAULTS = {
45
+ ...ScrcpyOptions1_17.DEFAULTS,
46
+ logLevel: ScrcpyLogLevel1_18.Debug,
47
+ lockVideoOrientation: ScrcpyVideoOrientation1_18.Unlocked,
48
+ powerOffOnClose: false,
49
+ };
50
+ static SERIALIZE_ORDER = [
51
+ ...ScrcpyOptions1_17.SERIALIZE_ORDER,
52
+ "powerOffOnClose",
53
+ ];
54
+ get defaults() {
55
+ return ScrcpyOptions1_18.DEFAULTS;
10
56
  }
11
- getArgumentOrder() {
12
- return super.getArgumentOrder().concat(["powerOffOnClose"]);
57
+ get controlMessageTypes() {
58
+ return SCRCPY_CONTROL_MESSAGE_TYPES_1_18;
13
59
  }
14
- getDefaultValue() {
15
- return {
16
- ...super.getDefaultValue(),
17
- powerOffOnClose: false,
18
- };
60
+ constructor(init) {
61
+ const value = { ...ScrcpyOptions1_18.DEFAULTS, ...init };
62
+ super(new ScrcpyOptions1_17({
63
+ ...init,
64
+ logLevel: LOG_LEVEL_MAP[value.logLevel],
65
+ lockVideoOrientation: VIDEO_ORIENTATION_MAP[value.lockVideoOrientation],
66
+ }), value);
19
67
  }
20
- getOutputEncoderNameRegex() {
21
- return /\s+scrcpy --encoder '(.*?)'/;
68
+ serialize() {
69
+ return ScrcpyOptions1_16.serialize(this.value, ScrcpyOptions1_18.SERIALIZE_ORDER);
22
70
  }
23
- getControlMessageTypes() {
24
- /**
25
- * 0 InjectKeycode
26
- * 1 InjectText
27
- * 2 InjectTouch
28
- * 3 InjectScroll
29
- * 4 BackOrScreenOn
30
- * 5 ExpandNotificationPanel
31
- * 6 ExpandSettingsPanel
32
- * 7 CollapseNotificationPanel
33
- * 8 GetClipboard
34
- * 9 SetClipboard
35
- * 10 SetScreenPowerMode
36
- * 11 RotateDevice
37
- */
38
- const types = super.getControlMessageTypes();
39
- types.splice(6, 0, ScrcpyControlMessageType.ExpandSettingPanel);
40
- return types;
71
+ parseEncoder(line) {
72
+ return ScrcpyOptions1_17.parseEncoder(line, /\s+scrcpy --encoder '(.*?)'/);
41
73
  }
42
74
  serializeBackOrScreenOnControlMessage(message) {
43
75
  return ScrcpyBackOrScreenOnControlMessage1_18.serialize(message);
@@ -1 +1 @@
1
- {"version":3,"file":"1_18.js","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EACH,sCAAsC,EACtC,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,MAAM,EAAE;KAC7D,MAAM,CAAC,sCAAsC,CAAC;KAC9C,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAyB,CAAC,CAAC;AAK3D,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAY,KAAqC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAEkB,gBAAgB;QAC/B,OAAO,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChE,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,eAAe,EAAE,KAAK;SACzB,CAAC;IACN,CAAC;IAEe,yBAAyB;QACrC,OAAO,6BAA6B,CAAC;IACzC,CAAC;IAEe,sBAAsB;QAClC;;;;;;;;;;;;;WAaG;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACjB,CAAC;IAEe,qCAAqC,CACjD,OAA2C;QAE3C,OAAO,sCAAsC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ"}
1
+ {"version":3,"file":"1_18.js","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,42 @@
1
1
  import Struct from "@yume-chan/struct";
2
2
  import type { ScrcpySetClipboardControlMessage } from "../control/index.js";
3
- import { ScrcpyControlMessageType } from "../control/index.js";
4
3
  import type { ScrcpyOptionsInit1_18 } from "./1_18.js";
5
4
  import { ScrcpyOptions1_18 } from "./1_18.js";
5
+ import { ScrcpyOptionsBase } from "./types.js";
6
6
  export interface ScrcpyOptionsInit1_21 extends ScrcpyOptionsInit1_18 {
7
7
  clipboardAutosync?: boolean;
8
8
  }
9
9
  export declare const ScrcpySetClipboardControlMessage1_21: Struct<{
10
- type: ScrcpyControlMessageType.SetClipboard;
10
+ type: number;
11
11
  sequence: bigint;
12
- paste: number;
12
+ paste: boolean;
13
13
  length: number;
14
14
  content: string;
15
15
  }, "length", Record<never, never>, undefined>;
16
16
  export type ScrcpySetClipboardControlMessage1_21 = (typeof ScrcpySetClipboardControlMessage1_21)["TInit"];
17
- export declare class ScrcpyOptions1_21<T extends ScrcpyOptionsInit1_21 = ScrcpyOptionsInit1_21> extends ScrcpyOptions1_18<T> {
18
- constructor(init: Partial<ScrcpyOptionsInit1_21>);
19
- getDefaultValue(): T;
20
- formatServerArguments(): string[];
17
+ export declare class ScrcpyOptions1_21 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_21, ScrcpyOptions1_18> {
18
+ static readonly DEFAULTS: {
19
+ readonly clipboardAutosync: true;
20
+ readonly logLevel: import("./1_18.js").ScrcpyLogLevel1_18.Debug;
21
+ readonly lockVideoOrientation: import("./1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
22
+ readonly powerOffOnClose: false;
23
+ readonly encoderName: undefined;
24
+ readonly maxSize: 0;
25
+ readonly bitRate: 8000000;
26
+ readonly maxFps: 0;
27
+ readonly tunnelForward: false;
28
+ readonly crop: undefined;
29
+ readonly sendFrameMeta: true;
30
+ readonly control: true;
31
+ readonly displayId: 0;
32
+ readonly showTouches: false;
33
+ readonly stayAwake: false;
34
+ readonly codecOptions: import("./index.js").CodecOptions;
35
+ };
36
+ static serialize<T extends object>(options: T, defaults: Required<T>): string[];
37
+ get defaults(): Required<ScrcpyOptionsInit1_21>;
38
+ constructor(init: ScrcpyOptionsInit1_21);
39
+ serialize(): string[];
21
40
  serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
22
41
  }
23
42
  //# sourceMappingURL=1_21.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"1_21.d.ts","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,eAAO,MAAM,oCAAoC;;;;;;6CAKA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAIvC,eAAe,IAAI,CAAC;IAOpB,qBAAqB,IAAI,MAAM,EAAE;IAYjC,mCAAmC,CAC/C,OAAO,EAAE,gCAAgC,GAC1C,UAAU;CAGhB"}
1
+ {"version":3,"file":"1_21.d.ts","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAEA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,eAAO,MAAM,oCAAoC;;;;;;6CAKA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;MAG6B;IAErD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAC7B,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACtB,MAAM,EAAE;IAsBX,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAIrB,mCAAmC,CACxC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;CAGhB"}
@@ -1,34 +1,48 @@
1
1
  // cspell: ignore autosync
2
- import Struct from "@yume-chan/struct";
3
- import { ScrcpyControlMessageType } from "../control/index.js";
2
+ import Struct, { placeholder } from "@yume-chan/struct";
4
3
  import { ScrcpyOptions1_18 } from "./1_18.js";
5
- import { toScrcpyOptionValue } from "./types.js";
4
+ import { ScrcpyOptionsBase, toScrcpyOptionValue } from "./types.js";
6
5
  function toSnakeCase(input) {
7
6
  return input.replace(/([A-Z])/g, "_$1").toLowerCase();
8
7
  }
9
8
  export const ScrcpySetClipboardControlMessage1_21 = new Struct()
10
- .uint8("type", ScrcpyControlMessageType.SetClipboard)
9
+ .uint8("type")
11
10
  .uint64("sequence")
12
- .int8("paste")
11
+ .int8("paste", placeholder())
13
12
  .uint32("length")
14
13
  .string("content", { lengthField: "length" });
15
- export class ScrcpyOptions1_21 extends ScrcpyOptions1_18 {
16
- constructor(init) {
17
- super(init);
14
+ export class ScrcpyOptions1_21 extends ScrcpyOptionsBase {
15
+ static DEFAULTS = {
16
+ ...ScrcpyOptions1_18.DEFAULTS,
17
+ clipboardAutosync: true,
18
+ };
19
+ static serialize(options, defaults) {
20
+ // 1.21 changed the format of arguments
21
+ const result = [];
22
+ for (const [key, value] of Object.entries(options)) {
23
+ const serializedValue = toScrcpyOptionValue(value, undefined);
24
+ if (!serializedValue) {
25
+ continue;
26
+ }
27
+ const defaultValue = toScrcpyOptionValue(defaults[key], undefined);
28
+ if (serializedValue == defaultValue) {
29
+ continue;
30
+ }
31
+ result.push(`${toSnakeCase(key)}=${serializedValue}`);
32
+ }
33
+ return result;
18
34
  }
19
- getDefaultValue() {
20
- return {
21
- ...super.getDefaultValue(),
22
- clipboardAutosync: true,
23
- };
35
+ get defaults() {
36
+ return ScrcpyOptions1_21.DEFAULTS;
24
37
  }
25
- formatServerArguments() {
26
- // 1.21 changed the format of arguments
27
- // So `getArgumentOrder()` is no longer needed
28
- return Object.entries(this.value)
29
- .map(([key, value]) => [key, toScrcpyOptionValue(value, undefined)])
30
- .filter((pair) => pair[1] !== undefined)
31
- .map(([key, value]) => `${toSnakeCase(key)}=${value}`);
38
+ constructor(init) {
39
+ super(new ScrcpyOptions1_18(init), {
40
+ ...ScrcpyOptions1_21.DEFAULTS,
41
+ ...init,
42
+ });
43
+ }
44
+ serialize() {
45
+ return ScrcpyOptions1_21.serialize(this.value, this.defaults);
32
46
  }
33
47
  serializeSetClipboardControlMessage(message) {
34
48
  return ScrcpySetClipboardControlMessage1_21.serialize(message);
@@ -1 +1 @@
1
- {"version":3,"file":"1_21.js","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMjD,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC,YAAqB,CAAC;KAC7D,MAAM,CAAC,UAAU,CAAC;KAClB,IAAI,CAAC,OAAO,CAAC;KACb,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKlD,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAmB,IAAoC;QACnD,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,iBAAiB,EAAE,IAAI;SAC1B,CAAC;IACN,CAAC;IAEe,qBAAqB;QACjC,uCAAuC;QACvC,8CAA8C;QAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aAC5B,GAAG,CACA,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACb,CAAC,GAAG,EAAE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAU,CAC5D;aACA,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;aACjE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEe,mCAAmC,CAC/C,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;CACJ"}
1
+ {"version":3,"file":"1_21.js","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMpE,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,CAAC;KACb,MAAM,CAAC,UAAU,CAAC;KAClB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAW,CAAC;KACrC,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKlD,MAAM,OAAO,iBAAkB,SAAQ,iBAGtC;IACG,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,iBAAiB,EAAE,IAAI;KACyB,CAAC;IAErD,MAAM,CAAC,SAAS,CACZ,OAAU,EACV,QAAqB;QAErB,uCAAuC;QACvC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,EAAE;gBAClB,SAAS;aACZ;YAED,MAAM,YAAY,GAAG,mBAAmB,CACpC,QAAQ,CAAC,GAAc,CAAC,EACxB,SAAS,CACZ,CAAC;YACF,IAAI,eAAe,IAAI,YAAY,EAAE;gBACjC,SAAS;aACZ;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,mCAAmC,CACxC,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./init.js";
1
2
  export * from "./options.js";
2
3
  export * from "./scroll.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./init.js";
1
2
  export * from "./options.js";
2
3
  export * from "./scroll.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,30 +1,36 @@
1
+ import type { ReadableStream } from "@yume-chan/stream-extra";
2
+ import type { ValueOrPromise } from "@yume-chan/struct";
1
3
  import type { ScrcpyScrollController } from "../1_16/index.js";
2
- import type { ScrcpyOptionsInit1_21 } from "../1_21.js";
3
4
  import { ScrcpyOptions1_21 } from "../1_21.js";
4
- export interface ScrcpyOptionsInit1_22 extends ScrcpyOptionsInit1_21 {
5
- downsizeOnError: boolean;
6
- /**
7
- * Send device name and size at start of video stream.
8
- *
9
- * @default true
10
- */
11
- sendDeviceMeta: boolean;
12
- /**
13
- * Send a `0` byte on start of video stream to detect connection issues
14
- *
15
- * @default true
16
- */
17
- sendDummyByte: boolean;
18
- /**
19
- * Implies `sendDeviceMeta: false`, `sendFrameMeta: false` and `sendDummyByte: false`
20
- *
21
- * @default false
22
- */
23
- rawVideoStream: boolean;
24
- }
25
- export declare class ScrcpyOptions1_22<T extends ScrcpyOptionsInit1_22 = ScrcpyOptionsInit1_22> extends ScrcpyOptions1_21<T> {
26
- constructor(init: Partial<ScrcpyOptionsInit1_22>);
27
- getDefaultValue(): T;
28
- getScrollController(): ScrcpyScrollController;
5
+ import type { ScrcpyVideoStream } from "../codec.js";
6
+ import { ScrcpyOptionsBase } from "../types.js";
7
+ import type { ScrcpyOptionsInit1_22 } from "./init.js";
8
+ export declare class ScrcpyOptions1_22 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_22, ScrcpyOptions1_21> {
9
+ static readonly DEFAULTS: {
10
+ readonly downsizeOnError: true;
11
+ readonly sendDeviceMeta: true;
12
+ readonly sendDummyByte: true;
13
+ readonly clipboardAutosync: true;
14
+ readonly logLevel: import("../1_18.js").ScrcpyLogLevel1_18.Debug;
15
+ readonly lockVideoOrientation: import("../1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
16
+ readonly powerOffOnClose: false;
17
+ readonly encoderName: undefined;
18
+ readonly maxSize: 0;
19
+ readonly bitRate: 8000000;
20
+ readonly maxFps: 0;
21
+ readonly tunnelForward: false;
22
+ readonly crop: undefined;
23
+ readonly sendFrameMeta: true;
24
+ readonly control: true;
25
+ readonly displayId: 0;
26
+ readonly showTouches: false;
27
+ readonly stayAwake: false;
28
+ readonly codecOptions: import("../1_16/codec-options.js").CodecOptions;
29
+ };
30
+ get defaults(): Required<ScrcpyOptionsInit1_22>;
31
+ constructor(init: ScrcpyOptionsInit1_22);
32
+ parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): ValueOrPromise<ScrcpyVideoStream>;
33
+ serialize(): string[];
34
+ createScrollController(): ScrcpyScrollController;
29
35
  }
30
36
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI/C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAWvC,eAAe,IAAI,CAAC;IAUpB,mBAAmB,IAAI,sBAAsB;CAGhE"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGvD,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;MAK6B;IAErD,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,wBAAwB,CAC7B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAQ3B,SAAS,IAAI,MAAM,EAAE;IAIrB,sBAAsB,IAAI,sBAAsB;CAG5D"}
@@ -1,25 +1,35 @@
1
1
  import { ScrcpyOptions1_21 } from "../1_21.js";
2
+ import { ScrcpyVideoCodecId } from "../codec.js";
3
+ import { ScrcpyOptionsBase } from "../types.js";
2
4
  import { ScrcpyScrollController1_22 } from "./scroll.js";
3
- export class ScrcpyOptions1_22 extends ScrcpyOptions1_21 {
5
+ export class ScrcpyOptions1_22 extends ScrcpyOptionsBase {
6
+ static DEFAULTS = {
7
+ ...ScrcpyOptions1_21.DEFAULTS,
8
+ downsizeOnError: true,
9
+ sendDeviceMeta: true,
10
+ sendDummyByte: true,
11
+ };
12
+ get defaults() {
13
+ return ScrcpyOptions1_22.DEFAULTS;
14
+ }
4
15
  constructor(init) {
5
- if (init.rawVideoStream) {
6
- // Set implied options for client-side processing
7
- init.sendDeviceMeta = false;
8
- init.sendFrameMeta = false;
9
- init.sendDummyByte = false;
16
+ super(new ScrcpyOptions1_21(init), {
17
+ ...ScrcpyOptions1_22.DEFAULTS,
18
+ ...init,
19
+ });
20
+ }
21
+ parseVideoStreamMetadata(stream) {
22
+ if (!this.value.sendDeviceMeta) {
23
+ return { stream, metadata: { codec: ScrcpyVideoCodecId.H264 } };
24
+ }
25
+ else {
26
+ return this._base.parseVideoStreamMetadata(stream);
10
27
  }
11
- super(init);
12
28
  }
13
- getDefaultValue() {
14
- return {
15
- ...super.getDefaultValue(),
16
- downsizeOnError: true,
17
- sendDeviceMeta: true,
18
- sendDummyByte: true,
19
- rawVideoStream: false,
20
- };
29
+ serialize() {
30
+ return ScrcpyOptions1_21.serialize(this.value, this.defaults);
21
31
  }
22
- getScrollController() {
32
+ createScrollController() {
23
33
  return new ScrcpyScrollController1_22();
24
34
  }
25
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA2BzD,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAmB,IAAoC;QACnD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,iDAAiD;YACjD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC9B;QAED,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;SACxB,CAAC;IACN,CAAC;IAEe,mBAAmB;QAC/B,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC;CACJ"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_22/options.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,iBAGtC;IACG,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KAC6B,CAAC;IAErD,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEQ,wBAAwB,CAC7B,MAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;SACnE;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;SACtD;IACL,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,sBAAsB;QAC3B,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC5C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import Struct from "@yume-chan/struct";
2
2
  import { ScrcpyScrollController1_16 } from "../1_16/index.js";
3
3
  export declare const ScrcpyInjectScrollControlMessage1_22: Struct<{
4
- type: import("../../index.js").ScrcpyControlMessageType.InjectScroll;
4
+ type: number;
5
5
  pointerX: number;
6
6
  pointerY: number;
7
7
  screenWidth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAEH,0BAA0B,EAC7B,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,oCAAoC;;;;;;;;;0CAE5B,CAAC;AAEtB,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,0BAA2B,SAAQ,0BAA0B;IACtD,sBAAsB,CAClC,OAAO,EAAE,oCAAoC,GAC9C,UAAU,GAAG,SAAS;CAQ5B"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAEH,0BAA0B,EAC7B,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,oCAAoC;;;;;;;;;0CAE5B,CAAC;AAEtB,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,0BAA2B,SAAQ,0BAA0B;IAC7D,sBAAsB,CAC3B,OAAO,EAAE,oCAAoC,GAC9C,UAAU,GAAG,SAAS;CAQ5B"}
@@ -1,7 +1,7 @@
1
1
  import Struct from "@yume-chan/struct";
2
2
  import { ScrcpyInjectScrollControlMessage1_16, ScrcpyScrollController1_16, } from "../1_16/index.js";
3
3
  export const ScrcpyInjectScrollControlMessage1_22 = new Struct()
4
- .fields(ScrcpyInjectScrollControlMessage1_16)
4
+ .concat(ScrcpyInjectScrollControlMessage1_16)
5
5
  .int32("buttons");
6
6
  export class ScrcpyScrollController1_22 extends ScrcpyScrollController1_16 {
7
7
  serializeScrollMessage(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/options/1_22/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,oCAAoC,EACpC,0BAA0B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,MAAM,CAAC,oCAAoC,CAAC;KAC5C,KAAK,CAAC,SAAS,CAAC,CAAC;AAKtB,MAAM,OAAO,0BAA2B,SAAQ,0BAA0B;IACtD,sBAAsB,CAClC,OAA6C;QAE7C,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_22/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,oCAAoC,EACpC,0BAA0B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,MAAM,CAAC,oCAAoC,CAAC;KAC5C,KAAK,CAAC,SAAS,CAAC,CAAC;AAKtB,MAAM,OAAO,0BAA2B,SAAQ,0BAA0B;IAC7D,sBAAsB,CAC3B,OAA6C;QAE7C,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,13 +1,37 @@
1
1
  import { TransformStream } from "@yume-chan/stream-extra";
2
- import type { ScrcpyOptionsInit1_22 } from "./1_22/options.js";
3
- import { ScrcpyOptions1_22 } from "./1_22/options.js";
4
- import type { ScrcpyVideoStreamPacket } from "./types.js";
2
+ import type { ScrcpyOptionsInit1_22 } from "./1_22/index.js";
3
+ import { ScrcpyOptions1_22 } from "./1_22/index.js";
4
+ import type { ScrcpyMediaStreamPacket } from "./codec.js";
5
+ import { ScrcpyOptionsBase } from "./types.js";
5
6
  export interface ScrcpyOptionsInit1_23 extends ScrcpyOptionsInit1_22 {
6
- cleanup: boolean;
7
+ cleanup?: boolean;
7
8
  }
8
- export declare class ScrcpyOptions1_23<T extends ScrcpyOptionsInit1_23 = ScrcpyOptionsInit1_23> extends ScrcpyOptions1_22<T> {
9
- constructor(init: Partial<ScrcpyOptionsInit1_23>);
10
- getDefaultValue(): T;
11
- createVideoStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
9
+ export declare class ScrcpyOptions1_23 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_23, ScrcpyOptions1_22> {
10
+ static readonly DEFAULTS: {
11
+ readonly cleanup: true;
12
+ readonly downsizeOnError: true;
13
+ readonly sendDeviceMeta: true;
14
+ readonly sendDummyByte: true;
15
+ readonly clipboardAutosync: true;
16
+ readonly logLevel: import("./1_18.js").ScrcpyLogLevel1_18.Debug;
17
+ readonly lockVideoOrientation: import("./1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
18
+ readonly powerOffOnClose: false;
19
+ readonly encoderName: undefined;
20
+ readonly maxSize: 0;
21
+ readonly bitRate: 8000000;
22
+ readonly maxFps: 0;
23
+ readonly tunnelForward: false;
24
+ readonly crop: undefined;
25
+ readonly sendFrameMeta: true;
26
+ readonly control: true;
27
+ readonly displayId: 0;
28
+ readonly showTouches: false;
29
+ readonly stayAwake: false;
30
+ readonly codecOptions: import("./index.js").CodecOptions;
31
+ };
32
+ get defaults(): Required<ScrcpyOptionsInit1_23>;
33
+ constructor(init: ScrcpyOptionsInit1_22);
34
+ serialize(): string[];
35
+ createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
12
36
  }
13
37
  //# sourceMappingURL=1_23.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"1_23.d.ts","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB;AAID,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAIvC,eAAe,IAAI,CAAC;IAOpB,4BAA4B,IAAI,eAAe,CAC3D,UAAU,EACV,uBAAuB,CAC1B;CA0BJ"}
1
+ {"version":3,"file":"1_23.d.ts","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;MAG6B;IAErD,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;IAIrB,4BAA4B,IAAI,eAAe,CACpD,UAAU,EACV,uBAAuB,CAC1B;CA0BJ"}
@@ -1,23 +1,32 @@
1
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 {
2
+ import { ScrcpyOptions1_21 } from "./1_21.js";
3
+ import { ScrcpyOptions1_22 } from "./1_22/index.js";
4
+ import { ScrcpyOptionsBase } from "./types.js";
5
+ const KEYFRAME_PTS = 1n << 62n;
6
+ export class ScrcpyOptions1_23 extends ScrcpyOptionsBase {
7
+ static DEFAULTS = {
8
+ ...ScrcpyOptions1_22.DEFAULTS,
9
+ cleanup: true,
10
+ };
11
+ get defaults() {
12
+ return ScrcpyOptions1_23.DEFAULTS;
13
+ }
5
14
  constructor(init) {
6
- super(init);
15
+ super(new ScrcpyOptions1_22(init), {
16
+ ...ScrcpyOptions1_23.DEFAULTS,
17
+ ...init,
18
+ });
7
19
  }
8
- getDefaultValue() {
9
- return {
10
- ...super.getDefaultValue(),
11
- cleanup: true,
12
- };
20
+ serialize() {
21
+ return ScrcpyOptions1_21.serialize(this.value, this.defaults);
13
22
  }
14
- createVideoStreamTransformer() {
15
- const superStream = super.createVideoStreamTransformer();
23
+ createMediaStreamTransformer() {
24
+ const stream = this._base.createMediaStreamTransformer();
16
25
  return {
17
- writable: superStream.writable,
18
- readable: superStream.readable.pipeThrough(new TransformStream({
26
+ writable: stream.writable,
27
+ readable: stream.readable.pipeThrough(new TransformStream({
19
28
  transform(packet, controller) {
20
- if (packet.type !== "frame") {
29
+ if (packet.type !== "data") {
21
30
  controller.enqueue(packet);
22
31
  return;
23
32
  }
@@ -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;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
+ {"version":3,"file":"1_23.js","sourceRoot":"","sources":["../../src/options/1_23.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,YAAY,GAAG,EAAE,IAAI,GAAG,CAAC;AAE/B,MAAM,OAAO,iBAAkB,SAAQ,iBAGtC;IACG,MAAM,CAAU,QAAQ,GAAG;QACvB,GAAG,iBAAiB,CAAC,QAAQ;QAC7B,OAAO,EAAE,IAAI;KACmC,CAAC;IAErD,IAAa,QAAQ;QACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,YAAY,IAA2B;QACnC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,iBAAiB,CAAC,QAAQ;YAC7B,GAAG,IAAI;SACV,CAAC,CAAC;IACP,CAAC;IAEQ,SAAS;QACd,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEQ,4BAA4B;QAIjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC;QACzD,OAAO;YACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CACjC,IAAI,eAAe,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,UAAU;oBACxB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;wBACxB,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"}
@@ -1,10 +1,35 @@
1
1
  import type { ScrcpyOptionsInit1_23 } from "./1_23.js";
2
2
  import { ScrcpyOptions1_23 } from "./1_23.js";
3
+ import { ScrcpyOptionsBase } from "./types.js";
3
4
  export interface ScrcpyOptionsInit1_24 extends ScrcpyOptionsInit1_23 {
4
- powerOn: boolean;
5
+ powerOn?: boolean;
5
6
  }
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;
7
+ export declare class ScrcpyOptions1_24 extends ScrcpyOptionsBase<ScrcpyOptionsInit1_24, ScrcpyOptions1_23> {
8
+ static readonly DEFAULTS: {
9
+ readonly powerOn: true;
10
+ readonly cleanup: true;
11
+ readonly downsizeOnError: true;
12
+ readonly sendDeviceMeta: true;
13
+ readonly sendDummyByte: true;
14
+ readonly clipboardAutosync: true;
15
+ readonly logLevel: import("./1_18.js").ScrcpyLogLevel1_18.Debug;
16
+ readonly lockVideoOrientation: import("./1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
17
+ readonly powerOffOnClose: false;
18
+ readonly encoderName: undefined;
19
+ readonly maxSize: 0;
20
+ readonly bitRate: 8000000;
21
+ readonly maxFps: 0;
22
+ readonly tunnelForward: false;
23
+ readonly crop: undefined;
24
+ readonly sendFrameMeta: true;
25
+ readonly control: true;
26
+ readonly displayId: 0;
27
+ readonly showTouches: false;
28
+ readonly stayAwake: false;
29
+ readonly codecOptions: import("./index.js").CodecOptions;
30
+ };
31
+ get defaults(): Required<ScrcpyOptionsInit1_24>;
32
+ constructor(init: ScrcpyOptionsInit1_24);
33
+ serialize(): string[];
9
34
  }
10
35
  //# 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,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
+ {"version":3,"file":"1_24.d.ts","sourceRoot":"","sources":["../../src/options/1_24.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB,CACpD,qBAAqB,EACrB,iBAAiB,CACpB;IACG,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;MAG6B;IAErD,IAAa,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAEvD;gBAEW,IAAI,EAAE,qBAAqB;IAO9B,SAAS,IAAI,MAAM,EAAE;CAGjC"}