@yume-chan/scrcpy 2.3.0 → 3.0.0-beta.0

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 (437) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/esm/1_15/impl/codec-options.d.ts +146 -0
  4. package/esm/1_15/impl/codec-options.d.ts.map +1 -0
  5. package/esm/1_15/impl/codec-options.js +192 -0
  6. package/esm/1_15/impl/codec-options.js.map +1 -0
  7. package/esm/1_15/impl/control-message-types.d.ts +13 -2
  8. package/esm/1_15/impl/control-message-types.d.ts.map +1 -1
  9. package/esm/1_15/impl/control-message-types.js +13 -14
  10. package/esm/1_15/impl/control-message-types.js.map +1 -1
  11. package/esm/1_15/impl/index.d.ts +1 -0
  12. package/esm/1_15/impl/index.d.ts.map +1 -1
  13. package/esm/1_15/impl/index.js +1 -0
  14. package/esm/1_15/impl/index.js.map +1 -1
  15. package/esm/1_15/impl/init.d.ts +1 -22
  16. package/esm/1_15/impl/init.d.ts.map +1 -1
  17. package/esm/1_15/impl/init.js +0 -39
  18. package/esm/1_15/impl/init.js.map +1 -1
  19. package/esm/1_15/impl/inject-touch.d.ts.map +1 -1
  20. package/esm/1_15/impl/inject-touch.js +1 -0
  21. package/esm/1_15/impl/inject-touch.js.map +1 -1
  22. package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
  23. package/esm/1_15/impl/scroll-controller.js +1 -0
  24. package/esm/1_15/impl/scroll-controller.js.map +1 -1
  25. package/esm/1_15/impl/set-clipboard.d.ts.map +1 -1
  26. package/esm/1_15/impl/set-clipboard.js +5 -1
  27. package/esm/1_15/impl/set-clipboard.js.map +1 -1
  28. package/esm/1_15/options.d.ts +3 -2
  29. package/esm/1_15/options.d.ts.map +1 -1
  30. package/esm/1_15/options.js.map +1 -1
  31. package/esm/1_15_1.d.ts +1 -7
  32. package/esm/1_15_1.d.ts.map +1 -1
  33. package/esm/1_15_1.js +1 -6
  34. package/esm/1_15_1.js.map +1 -1
  35. package/esm/1_16.d.ts +1 -7
  36. package/esm/1_16.d.ts.map +1 -1
  37. package/esm/1_16.js +1 -6
  38. package/esm/1_16.js.map +1 -1
  39. package/esm/1_17/impl/defaults.d.ts.map +1 -1
  40. package/esm/1_17/impl/defaults.js +2 -2
  41. package/esm/1_17/impl/defaults.js.map +1 -1
  42. package/esm/1_17/options.d.ts +3 -2
  43. package/esm/1_17/options.d.ts.map +1 -1
  44. package/esm/1_17/options.js.map +1 -1
  45. package/esm/1_18/impl/control-message-types.d.ts +14 -2
  46. package/esm/1_18/impl/control-message-types.d.ts.map +1 -1
  47. package/esm/1_18/impl/control-message-types.js +14 -7
  48. package/esm/1_18/impl/control-message-types.js.map +1 -1
  49. package/esm/1_18/impl/defaults.d.ts.map +1 -1
  50. package/esm/1_18/impl/defaults.js +2 -2
  51. package/esm/1_18/impl/defaults.js.map +1 -1
  52. package/esm/1_18/impl/init.d.ts.map +1 -1
  53. package/esm/1_18/options.d.ts +3 -2
  54. package/esm/1_18/options.d.ts.map +1 -1
  55. package/esm/1_18/options.js.map +1 -1
  56. package/esm/1_19.d.ts +1 -7
  57. package/esm/1_19.d.ts.map +1 -1
  58. package/esm/1_19.js +1 -6
  59. package/esm/1_19.js.map +1 -1
  60. package/esm/1_20.d.ts +1 -7
  61. package/esm/1_20.d.ts.map +1 -1
  62. package/esm/1_20.js +1 -6
  63. package/esm/1_20.js.map +1 -1
  64. package/esm/1_21/impl/defaults.d.ts.map +1 -1
  65. package/esm/1_21/impl/defaults.js +2 -2
  66. package/esm/1_21/impl/defaults.js.map +1 -1
  67. package/esm/1_21/impl/index.d.ts +1 -1
  68. package/esm/1_21/impl/index.d.ts.map +1 -1
  69. package/esm/1_21/impl/index.js +1 -1
  70. package/esm/1_21/impl/index.js.map +1 -1
  71. package/esm/1_21/impl/set-clipboard.d.ts +1 -0
  72. package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
  73. package/esm/1_21/impl/set-clipboard.js +7 -0
  74. package/esm/1_21/impl/set-clipboard.js.map +1 -1
  75. package/esm/1_21/options.d.ts +3 -2
  76. package/esm/1_21/options.d.ts.map +1 -1
  77. package/esm/1_21/options.js +6 -4
  78. package/esm/1_21/options.js.map +1 -1
  79. package/esm/1_22/impl/defaults.d.ts.map +1 -1
  80. package/esm/1_22/impl/defaults.js +2 -2
  81. package/esm/1_22/impl/defaults.js.map +1 -1
  82. package/esm/1_22/options.d.ts +3 -2
  83. package/esm/1_22/options.d.ts.map +1 -1
  84. package/esm/1_22/options.js +6 -4
  85. package/esm/1_22/options.js.map +1 -1
  86. package/esm/1_23/impl/defaults.d.ts.map +1 -1
  87. package/esm/1_23/impl/defaults.js +2 -2
  88. package/esm/1_23/impl/defaults.js.map +1 -1
  89. package/esm/1_23/options.d.ts +3 -2
  90. package/esm/1_23/options.d.ts.map +1 -1
  91. package/esm/1_23/options.js +6 -4
  92. package/esm/1_23/options.js.map +1 -1
  93. package/esm/1_24/impl/defaults.d.ts.map +1 -1
  94. package/esm/1_24/impl/defaults.js +2 -2
  95. package/esm/1_24/impl/defaults.js.map +1 -1
  96. package/esm/1_24/options.d.ts +3 -2
  97. package/esm/1_24/options.d.ts.map +1 -1
  98. package/esm/1_24/options.js +6 -4
  99. package/esm/1_24/options.js.map +1 -1
  100. package/esm/1_25/impl/scroll-controller.d.ts +2 -2
  101. package/esm/1_25/impl/scroll-controller.d.ts.map +1 -1
  102. package/esm/1_25/impl/scroll-controller.js +4 -4
  103. package/esm/1_25/impl/scroll-controller.js.map +1 -1
  104. package/esm/1_25/options.d.ts +3 -2
  105. package/esm/1_25/options.d.ts.map +1 -1
  106. package/esm/1_25/options.js +6 -4
  107. package/esm/1_25/options.js.map +1 -1
  108. package/esm/2_0/impl/defaults.d.ts +3 -3
  109. package/esm/2_0/impl/defaults.d.ts.map +1 -1
  110. package/esm/2_0/impl/defaults.js +10 -4
  111. package/esm/2_0/impl/defaults.js.map +1 -1
  112. package/esm/2_0/impl/init.d.ts.map +1 -1
  113. package/esm/2_0/impl/inject-touch.d.ts +2 -2
  114. package/esm/2_0/impl/inject-touch.d.ts.map +1 -1
  115. package/esm/2_0/impl/inject-touch.js +4 -4
  116. package/esm/2_0/impl/inject-touch.js.map +1 -1
  117. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -1
  118. package/esm/2_0/impl/parse-audio-stream-metadata.js +2 -7
  119. package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
  120. package/esm/2_0/options.d.ts +6 -5
  121. package/esm/2_0/options.d.ts.map +1 -1
  122. package/esm/2_0/options.js +6 -4
  123. package/esm/2_0/options.js.map +1 -1
  124. package/esm/2_1/impl/defaults.d.ts +3 -3
  125. package/esm/2_1/impl/defaults.d.ts.map +1 -1
  126. package/esm/2_1/impl/defaults.js +2 -2
  127. package/esm/2_1/impl/defaults.js.map +1 -1
  128. package/esm/2_1/options.d.ts +6 -5
  129. package/esm/2_1/options.d.ts.map +1 -1
  130. package/esm/2_1/options.js +6 -4
  131. package/esm/2_1/options.js.map +1 -1
  132. package/esm/2_1_1.d.ts +1 -7
  133. package/esm/2_1_1.d.ts.map +1 -1
  134. package/esm/2_1_1.js +1 -6
  135. package/esm/2_1_1.js.map +1 -1
  136. package/esm/2_2/impl/defaults.d.ts +3 -3
  137. package/esm/2_2/impl/defaults.d.ts.map +1 -1
  138. package/esm/2_2/impl/defaults.js +2 -2
  139. package/esm/2_2/impl/defaults.js.map +1 -1
  140. package/esm/2_2/options.d.ts +6 -5
  141. package/esm/2_2/options.d.ts.map +1 -1
  142. package/esm/2_2/options.js +6 -4
  143. package/esm/2_2/options.js.map +1 -1
  144. package/esm/2_3/impl/init.d.ts.map +1 -1
  145. package/esm/2_3/options.d.ts +6 -5
  146. package/esm/2_3/options.d.ts.map +1 -1
  147. package/esm/2_3/options.js +6 -4
  148. package/esm/2_3/options.js.map +1 -1
  149. package/esm/2_3_1.d.ts +1 -7
  150. package/esm/2_3_1.d.ts.map +1 -1
  151. package/esm/2_3_1.js +1 -6
  152. package/esm/2_3_1.js.map +1 -1
  153. package/esm/2_4/impl/control-message-types.d.ts +17 -2
  154. package/esm/2_4/impl/control-message-types.d.ts.map +1 -1
  155. package/esm/2_4/impl/control-message-types.js +17 -8
  156. package/esm/2_4/impl/control-message-types.js.map +1 -1
  157. package/esm/2_4/impl/serialize-uhid-create.d.ts.map +1 -1
  158. package/esm/2_4/impl/serialize-uhid-create.js +1 -0
  159. package/esm/2_4/impl/serialize-uhid-create.js.map +1 -1
  160. package/esm/2_4/options.d.ts +6 -5
  161. package/esm/2_4/options.d.ts.map +1 -1
  162. package/esm/2_4/options.js +3 -3
  163. package/esm/2_4/options.js.map +1 -1
  164. package/esm/2_5.d.ts +1 -7
  165. package/esm/2_5.d.ts.map +1 -1
  166. package/esm/2_5.js +1 -6
  167. package/esm/2_5.js.map +1 -1
  168. package/esm/2_6/impl/defaults.d.ts +3 -3
  169. package/esm/2_6/impl/defaults.d.ts.map +1 -1
  170. package/esm/2_6/impl/defaults.js +2 -2
  171. package/esm/2_6/impl/defaults.js.map +1 -1
  172. package/esm/2_6/impl/init.d.ts.map +1 -1
  173. package/esm/2_6/options.d.ts +6 -5
  174. package/esm/2_6/options.d.ts.map +1 -1
  175. package/esm/2_6/options.js +3 -3
  176. package/esm/2_6/options.js.map +1 -1
  177. package/esm/2_6_1.d.ts +1 -7
  178. package/esm/2_6_1.d.ts.map +1 -1
  179. package/esm/2_6_1.js +1 -6
  180. package/esm/2_6_1.js.map +1 -1
  181. package/esm/2_7/impl/control-message-types.d.ts +18 -2
  182. package/esm/2_7/impl/control-message-types.d.ts.map +1 -1
  183. package/esm/2_7/impl/control-message-types.js +18 -7
  184. package/esm/2_7/impl/control-message-types.js.map +1 -1
  185. package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
  186. package/esm/2_7/impl/serialize-uhid-create.js +1 -0
  187. package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
  188. package/esm/2_7/options.d.ts +6 -5
  189. package/esm/2_7/options.d.ts.map +1 -1
  190. package/esm/2_7/options.js +3 -3
  191. package/esm/2_7/options.js.map +1 -1
  192. package/esm/3_0/impl/control-message-types.d.ts +20 -2
  193. package/esm/3_0/impl/control-message-types.d.ts.map +1 -1
  194. package/esm/3_0/impl/control-message-types.js +20 -7
  195. package/esm/3_0/impl/control-message-types.js.map +1 -1
  196. package/esm/3_0/impl/defaults.d.ts +4 -4
  197. package/esm/3_0/impl/defaults.d.ts.map +1 -1
  198. package/esm/3_0/impl/defaults.js +8 -4
  199. package/esm/3_0/impl/defaults.js.map +1 -1
  200. package/esm/3_0/impl/init.d.ts.map +1 -1
  201. package/esm/3_0/options.d.ts +7 -6
  202. package/esm/3_0/options.d.ts.map +1 -1
  203. package/esm/3_0/options.js +3 -3
  204. package/esm/3_0/options.js.map +1 -1
  205. package/esm/3_0_1.d.ts +1 -7
  206. package/esm/3_0_1.d.ts.map +1 -1
  207. package/esm/3_0_1.js +1 -6
  208. package/esm/3_0_1.js.map +1 -1
  209. package/esm/3_0_2.d.ts +1 -7
  210. package/esm/3_0_2.d.ts.map +1 -1
  211. package/esm/3_0_2.js +1 -6
  212. package/esm/3_0_2.js.map +1 -1
  213. package/esm/3_1/impl/defaults.d.ts +4 -4
  214. package/esm/3_1/impl/defaults.d.ts.map +1 -1
  215. package/esm/3_1/impl/defaults.js +2 -2
  216. package/esm/3_1/impl/defaults.js.map +1 -1
  217. package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
  218. package/esm/3_1/impl/serialize-uhid-create.js +1 -0
  219. package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
  220. package/esm/3_1/options.d.ts +7 -6
  221. package/esm/3_1/options.d.ts.map +1 -1
  222. package/esm/3_1/options.js +3 -3
  223. package/esm/3_1/options.js.map +1 -1
  224. package/esm/3_2/impl/defaults.d.ts +4 -4
  225. package/esm/3_2/impl/defaults.d.ts.map +1 -1
  226. package/esm/3_2/impl/defaults.js +2 -2
  227. package/esm/3_2/impl/defaults.js.map +1 -1
  228. package/esm/3_2/impl/init.d.ts.map +1 -1
  229. package/esm/3_2/options.d.ts +7 -6
  230. package/esm/3_2/options.d.ts.map +1 -1
  231. package/esm/3_2/options.js +3 -3
  232. package/esm/3_2/options.js.map +1 -1
  233. package/esm/3_3.d.ts +1 -7
  234. package/esm/3_3.d.ts.map +1 -1
  235. package/esm/3_3.js +1 -6
  236. package/esm/3_3.js.map +1 -1
  237. package/esm/3_3_1/options.d.ts +7 -6
  238. package/esm/3_3_1/options.d.ts.map +1 -1
  239. package/esm/3_3_1/options.js +3 -3
  240. package/esm/3_3_1/options.js.map +1 -1
  241. package/esm/3_3_2.d.ts +1 -7
  242. package/esm/3_3_2.d.ts.map +1 -1
  243. package/esm/3_3_2.js +1 -6
  244. package/esm/3_3_2.js.map +1 -1
  245. package/esm/3_3_4.d.ts +2 -0
  246. package/esm/3_3_4.d.ts.map +1 -0
  247. package/esm/3_3_4.js +2 -0
  248. package/esm/3_3_4.js.map +1 -0
  249. package/esm/android/key-code-value.d.ts +176 -0
  250. package/esm/android/key-code-value.d.ts.map +1 -0
  251. package/esm/android/key-code-value.js +180 -0
  252. package/esm/android/key-code-value.js.map +1 -0
  253. package/esm/android/key-event.d.ts +3 -164
  254. package/esm/android/key-event.d.ts.map +1 -1
  255. package/esm/android/key-event.js +2 -167
  256. package/esm/android/key-event.js.map +1 -1
  257. package/esm/base/control-message-type-value.d.ts +19 -0
  258. package/esm/base/control-message-type-value.d.ts.map +1 -0
  259. package/esm/base/control-message-type-value.js +19 -0
  260. package/esm/base/control-message-type-value.js.map +1 -0
  261. package/esm/base/control-message-type.d.ts +3 -21
  262. package/esm/base/control-message-type.d.ts.map +1 -1
  263. package/esm/base/control-message-type.js +2 -21
  264. package/esm/base/control-message-type.js.map +1 -1
  265. package/esm/base/options.d.ts +2 -1
  266. package/esm/base/options.d.ts.map +1 -1
  267. package/esm/control/index.d.ts +0 -1
  268. package/esm/control/index.d.ts.map +1 -1
  269. package/esm/control/index.js +0 -1
  270. package/esm/control/index.js.map +1 -1
  271. package/esm/control/inject-key-code.d.ts +2 -2
  272. package/esm/control/inject-key-code.d.ts.map +1 -1
  273. package/esm/control/inject-key-code.js +4 -4
  274. package/esm/control/inject-key-code.js.map +1 -1
  275. package/esm/control/inject-text.d.ts.map +1 -1
  276. package/esm/control/inject-text.js +5 -1
  277. package/esm/control/inject-text.js.map +1 -1
  278. package/esm/control/serializer.d.ts +2 -0
  279. package/esm/control/serializer.d.ts.map +1 -1
  280. package/esm/control/serializer.js +27 -19
  281. package/esm/control/serializer.js.map +1 -1
  282. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  283. package/esm/control/set-screen-power-mode.js +5 -1
  284. package/esm/control/set-screen-power-mode.js.map +1 -1
  285. package/esm/control/start-app.d.ts.map +1 -1
  286. package/esm/control/start-app.js +1 -0
  287. package/esm/control/start-app.js.map +1 -1
  288. package/esm/control/uhid.d.ts +2 -2
  289. package/esm/control/uhid.d.ts.map +1 -1
  290. package/esm/control/uhid.js +9 -5
  291. package/esm/control/uhid.js.map +1 -1
  292. package/esm/control/writer.d.ts +1 -1
  293. package/esm/control/writer.d.ts.map +1 -1
  294. package/esm/control/writer.js +1 -1
  295. package/esm/control/writer.js.map +1 -1
  296. package/esm/index.d.ts +2 -1
  297. package/esm/index.d.ts.map +1 -1
  298. package/esm/index.js +2 -1
  299. package/esm/index.js.map +1 -1
  300. package/esm/latest.d.ts +2 -2
  301. package/esm/latest.d.ts.map +1 -1
  302. package/esm/latest.js +2 -2
  303. package/esm/latest.js.map +1 -1
  304. package/esm/video/android.d.ts +69 -0
  305. package/esm/video/android.d.ts.map +1 -0
  306. package/esm/video/android.js +70 -0
  307. package/esm/video/android.js.map +1 -0
  308. package/esm/video/index.d.ts +3 -0
  309. package/esm/video/index.d.ts.map +1 -0
  310. package/esm/video/index.js +3 -0
  311. package/esm/video/index.js.map +1 -0
  312. package/esm/video/size.d.ts +21 -0
  313. package/esm/video/size.d.ts.map +1 -0
  314. package/esm/video/size.js +27 -0
  315. package/esm/video/size.js.map +1 -0
  316. package/package.json +11 -10
  317. package/src/1_15/impl/codec-options.ts +236 -0
  318. package/src/1_15/impl/control-message-types.ts +14 -14
  319. package/src/1_15/impl/index.ts +1 -0
  320. package/src/1_15/impl/init.ts +2 -76
  321. package/src/1_15/impl/inject-touch.ts +1 -0
  322. package/src/1_15/impl/scroll-controller.ts +1 -0
  323. package/src/1_15/impl/set-clipboard.ts +5 -1
  324. package/src/1_15/options.ts +1 -2
  325. package/src/1_15_1.ts +1 -11
  326. package/src/1_16.ts +1 -11
  327. package/src/1_17/impl/defaults.ts +4 -5
  328. package/src/1_17/options.ts +1 -2
  329. package/src/1_18/impl/control-message-types.ts +15 -8
  330. package/src/1_18/impl/defaults.ts +6 -7
  331. package/src/1_18/impl/init.ts +4 -2
  332. package/src/1_18/options.ts +1 -2
  333. package/src/1_19.ts +1 -11
  334. package/src/1_20.ts +1 -11
  335. package/src/1_21/impl/defaults.ts +4 -5
  336. package/src/1_21/impl/index.ts +1 -0
  337. package/src/1_21/impl/set-clipboard.ts +14 -0
  338. package/src/1_21/options.ts +10 -7
  339. package/src/1_22/impl/defaults.ts +6 -7
  340. package/src/1_22/options.ts +10 -7
  341. package/src/1_23/impl/defaults.ts +4 -5
  342. package/src/1_23/options.ts +10 -7
  343. package/src/1_24/impl/defaults.ts +4 -5
  344. package/src/1_24/options.ts +10 -7
  345. package/src/1_25/impl/scroll-controller.ts +14 -15
  346. package/src/1_25/options.ts +10 -7
  347. package/src/2_0/impl/defaults.ts +24 -19
  348. package/src/2_0/impl/init.ts +4 -2
  349. package/src/2_0/impl/inject-touch.ts +16 -17
  350. package/src/2_0/impl/parse-audio-stream-metadata.ts +3 -7
  351. package/src/2_0/options.ts +10 -7
  352. package/src/2_1/impl/defaults.ts +5 -6
  353. package/src/2_1/options.ts +10 -7
  354. package/src/2_1_1.ts +1 -14
  355. package/src/2_2/impl/defaults.ts +13 -14
  356. package/src/2_2/options.ts +10 -7
  357. package/src/2_3/impl/init.ts +4 -2
  358. package/src/2_3/options.ts +10 -7
  359. package/src/2_3_1.ts +1 -14
  360. package/src/2_4/impl/control-message-types.ts +18 -9
  361. package/src/2_4/impl/serialize-uhid-create.ts +1 -0
  362. package/src/2_4/options.ts +8 -7
  363. package/src/2_5.ts +1 -14
  364. package/src/2_6/impl/defaults.ts +4 -5
  365. package/src/2_6/impl/init.ts +4 -2
  366. package/src/2_6/options.ts +8 -7
  367. package/src/2_6_1.ts +1 -14
  368. package/src/2_7/impl/control-message-types.ts +19 -8
  369. package/src/2_7/impl/serialize-uhid-create.ts +1 -0
  370. package/src/2_7/options.ts +8 -7
  371. package/src/3_0/impl/control-message-types.ts +21 -8
  372. package/src/3_0/impl/defaults.ts +15 -12
  373. package/src/3_0/impl/init.ts +4 -2
  374. package/src/3_0/options.ts +8 -7
  375. package/src/3_0_1.ts +1 -14
  376. package/src/3_0_2.ts +1 -14
  377. package/src/3_1/impl/defaults.ts +4 -5
  378. package/src/3_1/impl/serialize-uhid-create.ts +1 -0
  379. package/src/3_1/options.ts +8 -7
  380. package/src/3_2/impl/defaults.ts +4 -5
  381. package/src/3_2/impl/init.ts +4 -2
  382. package/src/3_2/options.ts +8 -7
  383. package/src/3_3.ts +1 -14
  384. package/src/3_3_1/options.ts +8 -7
  385. package/src/3_3_2.ts +1 -14
  386. package/src/3_3_4.ts +1 -0
  387. package/src/android/key-code-value.ts +194 -0
  388. package/src/android/key-event.ts +5 -182
  389. package/src/base/control-message-type-value.ts +18 -0
  390. package/src/base/control-message-type.ts +6 -22
  391. package/src/base/options.ts +5 -1
  392. package/src/control/index.ts +0 -1
  393. package/src/control/inject-key-code.ts +11 -12
  394. package/src/control/inject-text.ts +5 -1
  395. package/src/control/serializer.ts +32 -36
  396. package/src/control/set-screen-power-mode.ts +5 -1
  397. package/src/control/start-app.ts +1 -0
  398. package/src/control/uhid.ts +14 -12
  399. package/src/control/writer.ts +1 -1
  400. package/src/index.ts +2 -1
  401. package/src/latest.ts +2 -1
  402. package/src/video/android.ts +72 -0
  403. package/src/video/index.ts +2 -0
  404. package/src/video/size.ts +40 -0
  405. package/tsconfig.build.json +0 -8
  406. package/CHANGELOG.md +0 -224
  407. package/esm/codec/av1.d.ts +0 -462
  408. package/esm/codec/av1.d.ts.map +0 -1
  409. package/esm/codec/av1.js +0 -622
  410. package/esm/codec/av1.js.map +0 -1
  411. package/esm/codec/h264.d.ts +0 -78
  412. package/esm/codec/h264.d.ts.map +0 -1
  413. package/esm/codec/h264.js +0 -254
  414. package/esm/codec/h264.js.map +0 -1
  415. package/esm/codec/h265.d.ts +0 -535
  416. package/esm/codec/h265.d.ts.map +0 -1
  417. package/esm/codec/h265.js +0 -1117
  418. package/esm/codec/h265.js.map +0 -1
  419. package/esm/codec/index.d.ts +0 -5
  420. package/esm/codec/index.d.ts.map +0 -1
  421. package/esm/codec/index.js +0 -5
  422. package/esm/codec/index.js.map +0 -1
  423. package/esm/codec/nalu.d.ts +0 -28
  424. package/esm/codec/nalu.d.ts.map +0 -1
  425. package/esm/codec/nalu.js +0 -250
  426. package/esm/codec/nalu.js.map +0 -1
  427. package/esm/control/message-type-map.d.ts +0 -15
  428. package/esm/control/message-type-map.d.ts.map +0 -1
  429. package/esm/control/message-type-map.js +0 -23
  430. package/esm/control/message-type-map.js.map +0 -1
  431. package/src/codec/av1.ts +0 -724
  432. package/src/codec/h264.ts +0 -317
  433. package/src/codec/h265.ts +0 -1410
  434. package/src/codec/index.ts +0 -4
  435. package/src/codec/nalu.ts +0 -304
  436. package/src/control/message-type-map.ts +0 -30
  437. package/tsconfig.build.tsbuildinfo +0 -1
@@ -12,6 +12,7 @@ export const AckClipboardDeviceMessage = struct(
12
12
 
13
13
  export const SetClipboardControlMessage = struct(
14
14
  {
15
+ // value of `type` can change between versions
15
16
  type: u8,
16
17
  sequence: u64,
17
18
  paste: u8<boolean>(),
@@ -75,3 +76,16 @@ export class AckClipboardHandler implements ScrcpyDeviceMessageParser {
75
76
  ];
76
77
  }
77
78
  }
79
+
80
+ export function serializeSetClipboardControlMessage(
81
+ message: ScrcpySetClipboardControlMessage,
82
+ ackHandler: AckClipboardHandler | undefined,
83
+ ): Uint8Array | [Uint8Array, Promise<void>] {
84
+ if (!ackHandler) {
85
+ throw new Error(
86
+ "`serializeSetClipboardControlMessage` requires `control: true` option",
87
+ );
88
+ }
89
+
90
+ return ackHandler.serializeSetClipboardControlMessage(message);
91
+ }
@@ -2,7 +2,6 @@ import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
- ScrcpyControlMessageType,
6
5
  ScrcpyDisplay,
7
6
  ScrcpyEncoder,
8
7
  ScrcpyMediaStreamPacket,
@@ -33,6 +32,7 @@ import {
33
32
  serialize,
34
33
  serializeBackOrScreenOnControlMessage,
35
34
  serializeInjectTouchControlMessage,
35
+ serializeSetClipboardControlMessage,
36
36
  setListDisplays,
37
37
  setListEncoders,
38
38
  } from "./impl/index.js";
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_21
44
44
 
45
45
  readonly value: Required<Init>;
46
46
 
47
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
47
+ get controlMessageTypes(): typeof ControlMessageTypes {
48
48
  return ControlMessageTypes;
49
49
  }
50
50
 
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_21
63
63
  constructor(init: Init) {
64
64
  this.value = { ...Defaults, ...init };
65
65
 
66
- if (this.value.control && this.value.clipboardAutosync) {
67
- this.#clipboard = this.#deviceMessageParsers.add(
68
- new ClipboardStream(),
69
- );
66
+ if (this.value.control) {
67
+ if (this.value.clipboardAutosync) {
68
+ this.#clipboard = this.#deviceMessageParsers.add(
69
+ new ClipboardStream(),
70
+ );
71
+ }
70
72
 
71
73
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
72
74
  new AckClipboardHandler(),
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_21
122
124
  serializeSetClipboardControlMessage(
123
125
  message: ScrcpySetClipboardControlMessage,
124
126
  ): Uint8Array | [Uint8Array, Promise<void>] {
125
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
127
+ return serializeSetClipboardControlMessage(
126
128
  message,
129
+ this.#ackClipboardHandler,
127
130
  );
128
131
  }
129
132
 
@@ -1,10 +1,9 @@
1
1
  import type { Init } from "./init.js";
2
2
  import { PrevImpl } from "./prev.js";
3
3
 
4
- export const Defaults = /* #__PURE__ */ (() =>
5
- ({
6
- ...PrevImpl.Defaults,
7
- downsizeOnError: true,
8
- sendDeviceMeta: true,
9
- sendDummyByte: true,
10
- }) as const satisfies Required<Init>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ downsizeOnError: true,
7
+ sendDeviceMeta: true,
8
+ sendDummyByte: true,
9
+ } as const satisfies Required<Init>;
@@ -2,7 +2,6 @@ import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
- ScrcpyControlMessageType,
6
5
  ScrcpyDisplay,
7
6
  ScrcpyEncoder,
8
7
  ScrcpyMediaStreamPacket,
@@ -33,6 +32,7 @@ import {
33
32
  serialize,
34
33
  serializeBackOrScreenOnControlMessage,
35
34
  serializeInjectTouchControlMessage,
35
+ serializeSetClipboardControlMessage,
36
36
  setListDisplays,
37
37
  setListEncoders,
38
38
  } from "./impl/index.js";
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_22
44
44
 
45
45
  readonly value: Required<Init>;
46
46
 
47
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
47
+ get controlMessageTypes(): typeof ControlMessageTypes {
48
48
  return ControlMessageTypes;
49
49
  }
50
50
 
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_22
63
63
  constructor(init: Init) {
64
64
  this.value = { ...Defaults, ...init };
65
65
 
66
- if (this.value.control && this.value.clipboardAutosync) {
67
- this.#clipboard = this.#deviceMessageParsers.add(
68
- new ClipboardStream(),
69
- );
66
+ if (this.value.control) {
67
+ if (this.value.clipboardAutosync) {
68
+ this.#clipboard = this.#deviceMessageParsers.add(
69
+ new ClipboardStream(),
70
+ );
71
+ }
70
72
 
71
73
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
72
74
  new AckClipboardHandler(),
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_22
122
124
  serializeSetClipboardControlMessage(
123
125
  message: ScrcpySetClipboardControlMessage,
124
126
  ): Uint8Array | [Uint8Array, Promise<void>] {
125
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
127
+ return serializeSetClipboardControlMessage(
126
128
  message,
129
+ this.#ackClipboardHandler,
127
130
  );
128
131
  }
129
132
 
@@ -1,8 +1,7 @@
1
1
  import type { Init } from "./init.js";
2
2
  import { PrevImpl } from "./prev.js";
3
3
 
4
- export const Defaults = /* #__PURE__ */ (() =>
5
- ({
6
- ...PrevImpl.Defaults,
7
- cleanup: true,
8
- }) as const satisfies Required<Init>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ cleanup: true,
7
+ } as const satisfies Required<Init>;
@@ -2,7 +2,6 @@ import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
- ScrcpyControlMessageType,
6
5
  ScrcpyDisplay,
7
6
  ScrcpyEncoder,
8
7
  ScrcpyMediaStreamPacket,
@@ -33,6 +32,7 @@ import {
33
32
  serialize,
34
33
  serializeBackOrScreenOnControlMessage,
35
34
  serializeInjectTouchControlMessage,
35
+ serializeSetClipboardControlMessage,
36
36
  setListDisplays,
37
37
  setListEncoders,
38
38
  } from "./impl/index.js";
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_23
44
44
 
45
45
  readonly value: Required<Init>;
46
46
 
47
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
47
+ get controlMessageTypes(): typeof ControlMessageTypes {
48
48
  return ControlMessageTypes;
49
49
  }
50
50
 
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_23
63
63
  constructor(init: Init) {
64
64
  this.value = { ...Defaults, ...init };
65
65
 
66
- if (this.value.control && this.value.clipboardAutosync) {
67
- this.#clipboard = this.#deviceMessageParsers.add(
68
- new ClipboardStream(),
69
- );
66
+ if (this.value.control) {
67
+ if (this.value.clipboardAutosync) {
68
+ this.#clipboard = this.#deviceMessageParsers.add(
69
+ new ClipboardStream(),
70
+ );
71
+ }
70
72
 
71
73
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
72
74
  new AckClipboardHandler(),
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_23
122
124
  serializeSetClipboardControlMessage(
123
125
  message: ScrcpySetClipboardControlMessage,
124
126
  ): Uint8Array | [Uint8Array, Promise<void>] {
125
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
127
+ return serializeSetClipboardControlMessage(
126
128
  message,
129
+ this.#ackClipboardHandler,
127
130
  );
128
131
  }
129
132
 
@@ -1,8 +1,7 @@
1
1
  import type { Init } from "./init.js";
2
2
  import { PrevImpl } from "./prev.js";
3
3
 
4
- export const Defaults = /* #__PURE__ */ (() =>
5
- ({
6
- ...PrevImpl.Defaults,
7
- powerOn: true,
8
- }) as const satisfies Required<Init>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ powerOn: true,
7
+ } as const satisfies Required<Init>;
@@ -2,7 +2,6 @@ import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
- ScrcpyControlMessageType,
6
5
  ScrcpyDisplay,
7
6
  ScrcpyEncoder,
8
7
  ScrcpyMediaStreamPacket,
@@ -33,6 +32,7 @@ import {
33
32
  serialize,
34
33
  serializeBackOrScreenOnControlMessage,
35
34
  serializeInjectTouchControlMessage,
35
+ serializeSetClipboardControlMessage,
36
36
  setListDisplays,
37
37
  setListEncoders,
38
38
  } from "./impl/index.js";
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_24
44
44
 
45
45
  readonly value: Required<Init>;
46
46
 
47
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
47
+ get controlMessageTypes(): typeof ControlMessageTypes {
48
48
  return ControlMessageTypes;
49
49
  }
50
50
 
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_24
63
63
  constructor(init: Init) {
64
64
  this.value = { ...Defaults, ...init };
65
65
 
66
- if (this.value.control && this.value.clipboardAutosync) {
67
- this.#clipboard = this.#deviceMessageParsers.add(
68
- new ClipboardStream(),
69
- );
66
+ if (this.value.control) {
67
+ if (this.value.clipboardAutosync) {
68
+ this.#clipboard = this.#deviceMessageParsers.add(
69
+ new ClipboardStream(),
70
+ );
71
+ }
70
72
 
71
73
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
72
74
  new AckClipboardHandler(),
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_24
122
124
  serializeSetClipboardControlMessage(
123
125
  message: ScrcpySetClipboardControlMessage,
124
126
  ): Uint8Array | [Uint8Array, Promise<void>] {
125
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
127
+ return serializeSetClipboardControlMessage(
126
128
  message,
129
+ this.#ackClipboardHandler,
127
130
  );
128
131
  }
129
132
 
@@ -3,7 +3,6 @@ import type { Field, StructInit } from "@yume-chan/struct";
3
3
  import { field, struct, u16, u32, u8 } from "@yume-chan/struct";
4
4
 
5
5
  import type { ScrcpyScrollController } from "../../base/index.js";
6
- import { ScrcpyControlMessageType } from "../../base/index.js";
7
6
  import type { ScrcpyInjectScrollControlMessage } from "../../latest.js";
8
7
  import { clamp } from "../../utils/index.js";
9
8
 
@@ -24,20 +23,20 @@ export const SignedFloat: Field<number, never, never> = field(
24
23
  },
25
24
  );
26
25
 
27
- export const InjectScrollControlMessage = /* #__PURE__ */ (() =>
28
- struct(
29
- {
30
- type: u8(ScrcpyControlMessageType.InjectScroll),
31
- pointerX: u32,
32
- pointerY: u32,
33
- videoWidth: u16,
34
- videoHeight: u16,
35
- scrollX: SignedFloat,
36
- scrollY: SignedFloat,
37
- buttons: u32,
38
- },
39
- { littleEndian: false },
40
- ))();
26
+ export const InjectScrollControlMessage = struct(
27
+ {
28
+ // value of `type` can change between versions
29
+ type: u8,
30
+ pointerX: u32,
31
+ pointerY: u32,
32
+ videoWidth: u16,
33
+ videoHeight: u16,
34
+ scrollX: SignedFloat,
35
+ scrollY: SignedFloat,
36
+ buttons: u32,
37
+ },
38
+ { littleEndian: false },
39
+ );
41
40
 
42
41
  export type InjectScrollControlMessage = StructInit<
43
42
  typeof InjectScrollControlMessage
@@ -2,7 +2,6 @@ import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
- ScrcpyControlMessageType,
6
5
  ScrcpyDisplay,
7
6
  ScrcpyEncoder,
8
7
  ScrcpyMediaStreamPacket,
@@ -33,6 +32,7 @@ import {
33
32
  serialize,
34
33
  serializeBackOrScreenOnControlMessage,
35
34
  serializeInjectTouchControlMessage,
35
+ serializeSetClipboardControlMessage,
36
36
  setListDisplays,
37
37
  setListEncoders,
38
38
  } from "./impl/index.js";
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_25
44
44
 
45
45
  readonly value: Required<Init>;
46
46
 
47
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
47
+ get controlMessageTypes(): typeof ControlMessageTypes {
48
48
  return ControlMessageTypes;
49
49
  }
50
50
 
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_25
63
63
  constructor(init: Init) {
64
64
  this.value = { ...Defaults, ...init };
65
65
 
66
- if (this.value.control && this.value.clipboardAutosync) {
67
- this.#clipboard = this.#deviceMessageParsers.add(
68
- new ClipboardStream(),
69
- );
66
+ if (this.value.control) {
67
+ if (this.value.clipboardAutosync) {
68
+ this.#clipboard = this.#deviceMessageParsers.add(
69
+ new ClipboardStream(),
70
+ );
71
+ }
70
72
 
71
73
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
72
74
  new AckClipboardHandler(),
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_25
122
124
  serializeSetClipboardControlMessage(
123
125
  message: ScrcpySetClipboardControlMessage,
124
126
  ): Uint8Array | [Uint8Array, Promise<void>] {
125
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
127
+ return serializeSetClipboardControlMessage(
126
128
  message,
129
+ this.#ackClipboardHandler,
127
130
  );
128
131
  }
129
132
 
@@ -1,25 +1,30 @@
1
- import { omit } from "../../utils/index.js";
2
-
3
1
  import type { Init } from "./init.js";
4
2
  import { PrevImpl } from "./prev.js";
5
3
 
6
- export const Defaults = /* #__PURE__ */ (() =>
7
- ({
8
- ...omit(PrevImpl.Defaults, "bitRate", "codecOptions", "encoderName"),
9
- scid: undefined,
4
+ export const Defaults = {
5
+ ...{
6
+ ...PrevImpl.Defaults,
7
+ // Remove obsolete values
8
+ // relies on the minifier to flatten the nested spread
9
+ bitRate: undefined,
10
+ codecOptions: undefined,
11
+ encoderName: undefined,
12
+ },
13
+
14
+ scid: undefined,
10
15
 
11
- videoCodec: "h264",
12
- videoBitRate: 8000000,
13
- videoCodecOptions: undefined,
14
- videoEncoder: undefined,
16
+ videoCodec: "h264",
17
+ videoBitRate: 8000000,
18
+ videoCodecOptions: undefined,
19
+ videoEncoder: undefined,
15
20
 
16
- audio: true,
17
- audioCodec: "opus",
18
- audioBitRate: 128000,
19
- audioCodecOptions: undefined,
20
- audioEncoder: undefined,
21
+ audio: true,
22
+ audioCodec: "opus",
23
+ audioBitRate: 128000,
24
+ audioCodecOptions: undefined,
25
+ audioEncoder: undefined,
21
26
 
22
- listEncoders: false,
23
- listDisplays: false,
24
- sendCodecMeta: true,
25
- }) as const satisfies Required<Init>)();
27
+ listEncoders: false,
28
+ listDisplays: false,
29
+ sendCodecMeta: true,
30
+ } as const satisfies Required<Init>;
@@ -24,8 +24,10 @@ export class InstanceId implements ScrcpyOptionValue {
24
24
  }
25
25
  }
26
26
 
27
- export interface Init
28
- extends Omit<PrevImpl.Init, "bitRate" | "codecOptions" | "encoderName"> {
27
+ export interface Init extends Omit<
28
+ PrevImpl.Init,
29
+ "bitRate" | "codecOptions" | "encoderName"
30
+ > {
29
31
  scid?: InstanceId | string | undefined;
30
32
 
31
33
  videoCodec?: "h264" | "h265" | "av1";
@@ -2,27 +2,26 @@ import type { StructInit } from "@yume-chan/struct";
2
2
  import { struct, u16, u32, u64, u8 } from "@yume-chan/struct";
3
3
 
4
4
  import type { AndroidMotionEventAction } from "../../android/motion-event.js";
5
- import { ScrcpyControlMessageType } from "../../base/control-message-type.js";
6
5
  import type { ScrcpyInjectTouchControlMessage } from "../../latest.js";
7
6
 
8
7
  import { PrevImpl } from "./prev.js";
9
8
 
10
- export const InjectTouchControlMessage = /* #__PURE__ */ (() =>
11
- struct(
12
- {
13
- type: u8(ScrcpyControlMessageType.InjectTouch),
14
- action: u8<AndroidMotionEventAction>(),
15
- pointerId: u64,
16
- pointerX: u32,
17
- pointerY: u32,
18
- videoWidth: u16,
19
- videoHeight: u16,
20
- pressure: PrevImpl.UnsignedFloat,
21
- actionButton: u32,
22
- buttons: u32,
23
- },
24
- { littleEndian: false },
25
- ))();
9
+ export const InjectTouchControlMessage = struct(
10
+ {
11
+ // value of `type` can change between versions
12
+ type: u8,
13
+ action: u8<AndroidMotionEventAction>(),
14
+ pointerId: u64,
15
+ pointerX: u32,
16
+ pointerY: u32,
17
+ videoWidth: u16,
18
+ videoHeight: u16,
19
+ pressure: PrevImpl.UnsignedFloat,
20
+ actionButton: u32,
21
+ buttons: u32,
22
+ },
23
+ { littleEndian: false },
24
+ );
26
25
 
27
26
  export type InjectTouchControlMessage = StructInit<
28
27
  typeof InjectTouchControlMessage
@@ -86,13 +86,9 @@ export async function parseAudioStreamMetadata(
86
86
  await controller.enqueue(buffer);
87
87
 
88
88
  const stream = buffered.release();
89
- const reader = stream.getReader();
90
- while (true) {
91
- const { done, value } = await reader.read();
92
- if (done) {
93
- break;
94
- }
95
- await controller.enqueue(value);
89
+
90
+ for await (const chunk of stream) {
91
+ await controller.enqueue(chunk);
96
92
  }
97
93
  }),
98
94
  };
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -34,6 +33,7 @@ import {
34
33
  serialize,
35
34
  serializeBackOrScreenOnControlMessage,
36
35
  serializeInjectTouchControlMessage,
36
+ serializeSetClipboardControlMessage,
37
37
  setListDisplays,
38
38
  setListEncoders,
39
39
  } from "./impl/index.js";
@@ -45,7 +45,7 @@ export class ScrcpyOptions2_0
45
45
 
46
46
  readonly value: Required<Init>;
47
47
 
48
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
48
+ get controlMessageTypes(): typeof ControlMessageTypes {
49
49
  return ControlMessageTypes;
50
50
  }
51
51
 
@@ -64,10 +64,12 @@ export class ScrcpyOptions2_0
64
64
  constructor(init: Init) {
65
65
  this.value = { ...Defaults, ...init };
66
66
 
67
- if (this.value.control && this.value.clipboardAutosync) {
68
- this.#clipboard = this.#deviceMessageParsers.add(
69
- new ClipboardStream(),
70
- );
67
+ if (this.value.control) {
68
+ if (this.value.clipboardAutosync) {
69
+ this.#clipboard = this.#deviceMessageParsers.add(
70
+ new ClipboardStream(),
71
+ );
72
+ }
71
73
 
72
74
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
73
75
  new AckClipboardHandler(),
@@ -129,8 +131,9 @@ export class ScrcpyOptions2_0
129
131
  serializeSetClipboardControlMessage(
130
132
  message: ScrcpySetClipboardControlMessage,
131
133
  ): Uint8Array | [Uint8Array, Promise<void>] {
132
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
134
+ return serializeSetClipboardControlMessage(
133
135
  message,
136
+ this.#ackClipboardHandler,
134
137
  );
135
138
  }
136
139
 
@@ -1,9 +1,8 @@
1
1
  import type { Init } from "./init.js";
2
2
  import { PrevImpl } from "./prev.js";
3
3
 
4
- export const Defaults = /* #__PURE__ */ (() =>
5
- ({
6
- ...PrevImpl.Defaults,
7
- video: true,
8
- audioSource: "output",
9
- }) as const satisfies Required<Init<true>>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ video: true,
7
+ audioSource: "output",
8
+ } as const satisfies Required<Init<true>>;
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
3
 
4
4
  import type {
5
5
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
6
  ScrcpyDisplay,
8
7
  ScrcpyEncoder,
9
8
  ScrcpyMediaStreamPacket,
@@ -34,6 +33,7 @@ import {
34
33
  serialize,
35
34
  serializeBackOrScreenOnControlMessage,
36
35
  serializeInjectTouchControlMessage,
36
+ serializeSetClipboardControlMessage,
37
37
  setListDisplays,
38
38
  setListEncoders,
39
39
  } from "./impl/index.js";
@@ -45,7 +45,7 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
45
45
 
46
46
  readonly value: Required<Init<TVideo>>;
47
47
 
48
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
48
+ get controlMessageTypes(): typeof ControlMessageTypes {
49
49
  return ControlMessageTypes;
50
50
  }
51
51
 
@@ -64,10 +64,12 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
64
64
  constructor(init: Init<TVideo>) {
65
65
  this.value = { ...Defaults, ...init } as never;
66
66
 
67
- if (this.value.control && this.value.clipboardAutosync) {
68
- this.#clipboard = this.#deviceMessageParsers.add(
69
- new ClipboardStream(),
70
- );
67
+ if (this.value.control) {
68
+ if (this.value.clipboardAutosync) {
69
+ this.#clipboard = this.#deviceMessageParsers.add(
70
+ new ClipboardStream(),
71
+ );
72
+ }
71
73
 
72
74
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(
73
75
  new AckClipboardHandler(),
@@ -129,8 +131,9 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
129
131
  serializeSetClipboardControlMessage(
130
132
  message: ScrcpySetClipboardControlMessage,
131
133
  ): Uint8Array | [Uint8Array, Promise<void>] {
132
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
134
+ return serializeSetClipboardControlMessage(
133
135
  message,
136
+ this.#ackClipboardHandler,
134
137
  );
135
138
  }
136
139
 
package/src/2_1_1.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions2_1 } from "./2_1/index.js";
2
-
3
- export class ScrcpyOptions2_1_1<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions2_1<TVideo> {
6
- constructor(init: ScrcpyOptions2_1.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions2_1_1 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions2_1.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions2_1 as ScrcpyOptions2_1_1 } from "./2_1/index.js";