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

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 (671) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/esm/1_15/impl/codec-options.d.ts +147 -0
  4. package/esm/1_15/impl/codec-options.d.ts.map +1 -0
  5. package/esm/1_15/impl/codec-options.js +231 -0
  6. package/esm/1_15/impl/codec-options.js.map +1 -0
  7. package/esm/1_15/impl/compute-option-values.d.ts +7 -0
  8. package/esm/1_15/impl/compute-option-values.d.ts.map +1 -0
  9. package/esm/1_15/impl/compute-option-values.js +12 -0
  10. package/esm/1_15/impl/compute-option-values.js.map +1 -0
  11. package/esm/1_15/impl/control-message-types.d.ts +13 -2
  12. package/esm/1_15/impl/control-message-types.d.ts.map +1 -1
  13. package/esm/1_15/impl/control-message-types.js +13 -14
  14. package/esm/1_15/impl/control-message-types.js.map +1 -1
  15. package/esm/1_15/impl/index.d.ts +3 -0
  16. package/esm/1_15/impl/index.d.ts.map +1 -1
  17. package/esm/1_15/impl/index.js +3 -0
  18. package/esm/1_15/impl/index.js.map +1 -1
  19. package/esm/1_15/impl/init.d.ts +12 -33
  20. package/esm/1_15/impl/init.d.ts.map +1 -1
  21. package/esm/1_15/impl/init.js +0 -39
  22. package/esm/1_15/impl/init.js.map +1 -1
  23. package/esm/1_15/impl/inject-touch.d.ts.map +1 -1
  24. package/esm/1_15/impl/inject-touch.js +1 -0
  25. package/esm/1_15/impl/inject-touch.js.map +1 -1
  26. package/esm/1_15/impl/media-stream-transformer.d.ts +2 -2
  27. package/esm/1_15/impl/media-stream-transformer.js +1 -1
  28. package/esm/1_15/impl/media-stream-transformer.js.map +1 -1
  29. package/esm/1_15/impl/parse-video-stream-metadata.js +4 -4
  30. package/esm/1_15/impl/parse-video-stream-metadata.js.map +1 -1
  31. package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
  32. package/esm/1_15/impl/scroll-controller.js +1 -0
  33. package/esm/1_15/impl/scroll-controller.js.map +1 -1
  34. package/esm/1_15/impl/set-clipboard.d.ts.map +1 -1
  35. package/esm/1_15/impl/set-clipboard.js +5 -1
  36. package/esm/1_15/impl/set-clipboard.js.map +1 -1
  37. package/esm/1_15/impl/set-display-power.d.ts +13 -0
  38. package/esm/1_15/impl/set-display-power.d.ts.map +1 -0
  39. package/esm/1_15/impl/set-display-power.js +16 -0
  40. package/esm/1_15/impl/set-display-power.js.map +1 -0
  41. package/esm/1_15/options.d.ts +13 -9
  42. package/esm/1_15/options.d.ts.map +1 -1
  43. package/esm/1_15/options.js +20 -2
  44. package/esm/1_15/options.js.map +1 -1
  45. package/esm/1_15_1.d.ts +1 -7
  46. package/esm/1_15_1.d.ts.map +1 -1
  47. package/esm/1_15_1.js +1 -6
  48. package/esm/1_15_1.js.map +1 -1
  49. package/esm/1_16.d.ts +1 -7
  50. package/esm/1_16.d.ts.map +1 -1
  51. package/esm/1_16.js +1 -6
  52. package/esm/1_16.js.map +1 -1
  53. package/esm/1_17/impl/defaults.d.ts.map +1 -1
  54. package/esm/1_17/impl/defaults.js +2 -2
  55. package/esm/1_17/impl/defaults.js.map +1 -1
  56. package/esm/1_17/options.d.ts +12 -9
  57. package/esm/1_17/options.d.ts.map +1 -1
  58. package/esm/1_17/options.js +20 -2
  59. package/esm/1_17/options.js.map +1 -1
  60. package/esm/1_18/impl/control-message-types.d.ts +14 -2
  61. package/esm/1_18/impl/control-message-types.d.ts.map +1 -1
  62. package/esm/1_18/impl/control-message-types.js +14 -7
  63. package/esm/1_18/impl/control-message-types.js.map +1 -1
  64. package/esm/1_18/impl/defaults.d.ts.map +1 -1
  65. package/esm/1_18/impl/defaults.js +2 -2
  66. package/esm/1_18/impl/defaults.js.map +1 -1
  67. package/esm/1_18/impl/init.d.ts +3 -3
  68. package/esm/1_18/impl/init.d.ts.map +1 -1
  69. package/esm/1_18/options.d.ts +12 -9
  70. package/esm/1_18/options.d.ts.map +1 -1
  71. package/esm/1_18/options.js +20 -2
  72. package/esm/1_18/options.js.map +1 -1
  73. package/esm/1_19.d.ts +1 -7
  74. package/esm/1_19.d.ts.map +1 -1
  75. package/esm/1_19.js +1 -6
  76. package/esm/1_19.js.map +1 -1
  77. package/esm/1_20.d.ts +1 -7
  78. package/esm/1_20.d.ts.map +1 -1
  79. package/esm/1_20.js +1 -6
  80. package/esm/1_20.js.map +1 -1
  81. package/esm/1_21/impl/compute-option-values.d.ts +23 -0
  82. package/esm/1_21/impl/compute-option-values.d.ts.map +1 -0
  83. package/esm/1_21/impl/compute-option-values.js +12 -0
  84. package/esm/1_21/impl/compute-option-values.js.map +1 -0
  85. package/esm/1_21/impl/defaults.d.ts.map +1 -1
  86. package/esm/1_21/impl/defaults.js +2 -2
  87. package/esm/1_21/impl/defaults.js.map +1 -1
  88. package/esm/1_21/impl/index.d.ts +3 -1
  89. package/esm/1_21/impl/index.d.ts.map +1 -1
  90. package/esm/1_21/impl/index.js +2 -1
  91. package/esm/1_21/impl/index.js.map +1 -1
  92. package/esm/1_21/impl/init.d.ts +1 -1
  93. package/esm/1_21/impl/init.d.ts.map +1 -1
  94. package/esm/1_21/impl/serialize.d.ts +1 -1
  95. package/esm/1_21/impl/serialize.d.ts.map +1 -1
  96. package/esm/1_21/impl/serialize.js.map +1 -1
  97. package/esm/1_21/impl/set-clipboard.d.ts +1 -0
  98. package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
  99. package/esm/1_21/impl/set-clipboard.js +7 -0
  100. package/esm/1_21/impl/set-clipboard.js.map +1 -1
  101. package/esm/1_21/options.d.ts +12 -9
  102. package/esm/1_21/options.d.ts.map +1 -1
  103. package/esm/1_21/options.js +25 -5
  104. package/esm/1_21/options.js.map +1 -1
  105. package/esm/1_22/impl/defaults.d.ts.map +1 -1
  106. package/esm/1_22/impl/defaults.js +2 -2
  107. package/esm/1_22/impl/defaults.js.map +1 -1
  108. package/esm/1_22/impl/init.d.ts +3 -3
  109. package/esm/1_22/impl/init.d.ts.map +1 -1
  110. package/esm/1_22/impl/parse-video-stream-metadata.d.ts +2 -2
  111. package/esm/1_22/impl/parse-video-stream-metadata.d.ts.map +1 -1
  112. package/esm/1_22/impl/parse-video-stream-metadata.js +3 -3
  113. package/esm/1_22/impl/parse-video-stream-metadata.js.map +1 -1
  114. package/esm/1_22/options.d.ts +12 -9
  115. package/esm/1_22/options.d.ts.map +1 -1
  116. package/esm/1_22/options.js +26 -6
  117. package/esm/1_22/options.js.map +1 -1
  118. package/esm/1_23/impl/defaults.d.ts.map +1 -1
  119. package/esm/1_23/impl/defaults.js +2 -2
  120. package/esm/1_23/impl/defaults.js.map +1 -1
  121. package/esm/1_23/impl/init.d.ts +1 -1
  122. package/esm/1_23/impl/init.d.ts.map +1 -1
  123. package/esm/1_23/impl/media-stream-transformer.d.ts +2 -2
  124. package/esm/1_23/impl/media-stream-transformer.js +1 -1
  125. package/esm/1_23/impl/media-stream-transformer.js.map +1 -1
  126. package/esm/1_23/options.d.ts +12 -9
  127. package/esm/1_23/options.d.ts.map +1 -1
  128. package/esm/1_23/options.js +26 -6
  129. package/esm/1_23/options.js.map +1 -1
  130. package/esm/1_24/impl/defaults.d.ts.map +1 -1
  131. package/esm/1_24/impl/defaults.js +2 -2
  132. package/esm/1_24/impl/defaults.js.map +1 -1
  133. package/esm/1_24/impl/init.d.ts +1 -1
  134. package/esm/1_24/impl/init.d.ts.map +1 -1
  135. package/esm/1_24/options.d.ts +12 -9
  136. package/esm/1_24/options.d.ts.map +1 -1
  137. package/esm/1_24/options.js +26 -6
  138. package/esm/1_24/options.js.map +1 -1
  139. package/esm/1_25/impl/scroll-controller.d.ts +2 -2
  140. package/esm/1_25/impl/scroll-controller.d.ts.map +1 -1
  141. package/esm/1_25/impl/scroll-controller.js +4 -4
  142. package/esm/1_25/impl/scroll-controller.js.map +1 -1
  143. package/esm/1_25/options.d.ts +12 -9
  144. package/esm/1_25/options.d.ts.map +1 -1
  145. package/esm/1_25/options.js +26 -6
  146. package/esm/1_25/options.js.map +1 -1
  147. package/esm/2_0/impl/defaults.d.ts +8 -11
  148. package/esm/2_0/impl/defaults.d.ts.map +1 -1
  149. package/esm/2_0/impl/defaults.js +2 -2
  150. package/esm/2_0/impl/defaults.js.map +1 -1
  151. package/esm/2_0/impl/index.d.ts +1 -1
  152. package/esm/2_0/impl/index.d.ts.map +1 -1
  153. package/esm/2_0/impl/index.js +1 -1
  154. package/esm/2_0/impl/index.js.map +1 -1
  155. package/esm/2_0/impl/init.d.ts +8 -8
  156. package/esm/2_0/impl/init.d.ts.map +1 -1
  157. package/esm/2_0/impl/inject-touch.d.ts +2 -2
  158. package/esm/2_0/impl/inject-touch.d.ts.map +1 -1
  159. package/esm/2_0/impl/inject-touch.js +4 -4
  160. package/esm/2_0/impl/inject-touch.js.map +1 -1
  161. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts +4 -1
  162. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -1
  163. package/esm/2_0/impl/parse-audio-stream-metadata.js +30 -46
  164. package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
  165. package/esm/2_0/impl/parse-video-stream-metadata.d.ts +5 -2
  166. package/esm/2_0/impl/parse-video-stream-metadata.d.ts.map +1 -1
  167. package/esm/2_0/impl/parse-video-stream-metadata.js +14 -12
  168. package/esm/2_0/impl/parse-video-stream-metadata.js.map +1 -1
  169. package/esm/2_0/options.d.ts +20 -20
  170. package/esm/2_0/options.d.ts.map +1 -1
  171. package/esm/2_0/options.js +27 -7
  172. package/esm/2_0/options.js.map +1 -1
  173. package/esm/2_1/impl/defaults.d.ts +8 -11
  174. package/esm/2_1/impl/defaults.d.ts.map +1 -1
  175. package/esm/2_1/impl/defaults.js +2 -2
  176. package/esm/2_1/impl/defaults.js.map +1 -1
  177. package/esm/2_1/impl/init.d.ts +3 -3
  178. package/esm/2_1/impl/init.d.ts.map +1 -1
  179. package/esm/2_1/options.d.ts +22 -22
  180. package/esm/2_1/options.d.ts.map +1 -1
  181. package/esm/2_1/options.js +27 -7
  182. package/esm/2_1/options.js.map +1 -1
  183. package/esm/2_1_1.d.ts +1 -7
  184. package/esm/2_1_1.d.ts.map +1 -1
  185. package/esm/2_1_1.js +1 -6
  186. package/esm/2_1_1.js.map +1 -1
  187. package/esm/2_2/impl/compute-option-values.d.ts +22 -0
  188. package/esm/2_2/impl/compute-option-values.d.ts.map +1 -0
  189. package/esm/2_2/impl/compute-option-values.js +11 -0
  190. package/esm/2_2/impl/compute-option-values.js.map +1 -0
  191. package/esm/2_2/impl/defaults.d.ts +8 -11
  192. package/esm/2_2/impl/defaults.d.ts.map +1 -1
  193. package/esm/2_2/impl/defaults.js +2 -2
  194. package/esm/2_2/impl/defaults.js.map +1 -1
  195. package/esm/2_2/impl/index.d.ts +2 -0
  196. package/esm/2_2/impl/index.d.ts.map +1 -1
  197. package/esm/2_2/impl/index.js +1 -0
  198. package/esm/2_2/impl/index.js.map +1 -1
  199. package/esm/2_2/impl/init.d.ts +5 -5
  200. package/esm/2_2/impl/init.d.ts.map +1 -1
  201. package/esm/2_2/options.d.ts +22 -22
  202. package/esm/2_2/options.d.ts.map +1 -1
  203. package/esm/2_2/options.js +27 -10
  204. package/esm/2_2/options.js.map +1 -1
  205. package/esm/2_3/impl/index.d.ts +1 -0
  206. package/esm/2_3/impl/index.d.ts.map +1 -1
  207. package/esm/2_3/impl/index.js +1 -0
  208. package/esm/2_3/impl/index.js.map +1 -1
  209. package/esm/2_3/impl/init.d.ts +2 -2
  210. package/esm/2_3/impl/init.d.ts.map +1 -1
  211. package/esm/2_3/impl/parse-audio-stream-metadata.d.ts +5 -0
  212. package/esm/2_3/impl/parse-audio-stream-metadata.d.ts.map +1 -0
  213. package/esm/2_3/impl/parse-audio-stream-metadata.js +31 -0
  214. package/esm/2_3/impl/parse-audio-stream-metadata.js.map +1 -0
  215. package/esm/2_3/options.d.ts +22 -22
  216. package/esm/2_3/options.d.ts.map +1 -1
  217. package/esm/2_3/options.js +27 -10
  218. package/esm/2_3/options.js.map +1 -1
  219. package/esm/2_3_1.d.ts +1 -7
  220. package/esm/2_3_1.d.ts.map +1 -1
  221. package/esm/2_3_1.js +1 -6
  222. package/esm/2_3_1.js.map +1 -1
  223. package/esm/2_4/impl/control-message-types.d.ts +17 -2
  224. package/esm/2_4/impl/control-message-types.d.ts.map +1 -1
  225. package/esm/2_4/impl/control-message-types.js +17 -8
  226. package/esm/2_4/impl/control-message-types.js.map +1 -1
  227. package/esm/2_4/impl/serialize-uhid-create.d.ts.map +1 -1
  228. package/esm/2_4/impl/serialize-uhid-create.js +1 -0
  229. package/esm/2_4/impl/serialize-uhid-create.js.map +1 -1
  230. package/esm/2_4/options.d.ts +23 -23
  231. package/esm/2_4/options.d.ts.map +1 -1
  232. package/esm/2_4/options.js +27 -9
  233. package/esm/2_4/options.js.map +1 -1
  234. package/esm/2_5.d.ts +1 -7
  235. package/esm/2_5.d.ts.map +1 -1
  236. package/esm/2_5.js +1 -6
  237. package/esm/2_5.js.map +1 -1
  238. package/esm/2_6/impl/compute-option-values.d.ts +29 -0
  239. package/esm/2_6/impl/compute-option-values.d.ts.map +1 -0
  240. package/esm/2_6/impl/compute-option-values.js +12 -0
  241. package/esm/2_6/impl/compute-option-values.js.map +1 -0
  242. package/esm/2_6/impl/defaults.d.ts +8 -11
  243. package/esm/2_6/impl/defaults.d.ts.map +1 -1
  244. package/esm/2_6/impl/defaults.js +2 -2
  245. package/esm/2_6/impl/defaults.js.map +1 -1
  246. package/esm/2_6/impl/index.d.ts +2 -0
  247. package/esm/2_6/impl/index.d.ts.map +1 -1
  248. package/esm/2_6/impl/index.js +1 -0
  249. package/esm/2_6/impl/index.js.map +1 -1
  250. package/esm/2_6/impl/init.d.ts +3 -3
  251. package/esm/2_6/impl/init.d.ts.map +1 -1
  252. package/esm/2_6/options.d.ts +23 -23
  253. package/esm/2_6/options.d.ts.map +1 -1
  254. package/esm/2_6/options.js +27 -12
  255. package/esm/2_6/options.js.map +1 -1
  256. package/esm/2_6_1.d.ts +1 -7
  257. package/esm/2_6_1.d.ts.map +1 -1
  258. package/esm/2_6_1.js +1 -6
  259. package/esm/2_6_1.js.map +1 -1
  260. package/esm/2_7/impl/control-message-types.d.ts +18 -2
  261. package/esm/2_7/impl/control-message-types.d.ts.map +1 -1
  262. package/esm/2_7/impl/control-message-types.js +18 -7
  263. package/esm/2_7/impl/control-message-types.js.map +1 -1
  264. package/esm/2_7/impl/index.d.ts.map +1 -1
  265. package/esm/2_7/impl/index.js.map +1 -1
  266. package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
  267. package/esm/2_7/impl/serialize-uhid-create.js +1 -0
  268. package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
  269. package/esm/2_7/options.d.ts +23 -23
  270. package/esm/2_7/options.d.ts.map +1 -1
  271. package/esm/2_7/options.js +27 -12
  272. package/esm/2_7/options.js.map +1 -1
  273. package/esm/3_0/impl/control-message-types.d.ts +20 -2
  274. package/esm/3_0/impl/control-message-types.d.ts.map +1 -1
  275. package/esm/3_0/impl/control-message-types.js +20 -7
  276. package/esm/3_0/impl/control-message-types.js.map +1 -1
  277. package/esm/3_0/impl/defaults.d.ts +29 -33
  278. package/esm/3_0/impl/defaults.d.ts.map +1 -1
  279. package/esm/3_0/impl/defaults.js +2 -2
  280. package/esm/3_0/impl/defaults.js.map +1 -1
  281. package/esm/3_0/impl/index.d.ts +1 -0
  282. package/esm/3_0/impl/index.d.ts.map +1 -1
  283. package/esm/3_0/impl/index.js +1 -0
  284. package/esm/3_0/impl/index.js.map +1 -1
  285. package/esm/3_0/impl/init.d.ts +4 -4
  286. package/esm/3_0/impl/init.d.ts.map +1 -1
  287. package/esm/3_0/impl/set-display-power.d.ts +12 -0
  288. package/esm/3_0/impl/set-display-power.d.ts.map +1 -0
  289. package/esm/3_0/impl/set-display-power.js +10 -0
  290. package/esm/3_0/impl/set-display-power.js.map +1 -0
  291. package/esm/3_0/options.d.ts +44 -45
  292. package/esm/3_0/options.d.ts.map +1 -1
  293. package/esm/3_0/options.js +27 -12
  294. package/esm/3_0/options.js.map +1 -1
  295. package/esm/3_0_1.d.ts +1 -7
  296. package/esm/3_0_1.d.ts.map +1 -1
  297. package/esm/3_0_1.js +1 -6
  298. package/esm/3_0_1.js.map +1 -1
  299. package/esm/3_0_2.d.ts +1 -7
  300. package/esm/3_0_2.d.ts.map +1 -1
  301. package/esm/3_0_2.js +1 -6
  302. package/esm/3_0_2.js.map +1 -1
  303. package/esm/3_1/impl/defaults.d.ts +29 -33
  304. package/esm/3_1/impl/defaults.d.ts.map +1 -1
  305. package/esm/3_1/impl/defaults.js +2 -2
  306. package/esm/3_1/impl/defaults.js.map +1 -1
  307. package/esm/3_1/impl/index.d.ts.map +1 -1
  308. package/esm/3_1/impl/index.js.map +1 -1
  309. package/esm/3_1/impl/init.d.ts +2 -2
  310. package/esm/3_1/impl/init.d.ts.map +1 -1
  311. package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
  312. package/esm/3_1/impl/serialize-uhid-create.js +1 -0
  313. package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
  314. package/esm/3_1/options.d.ts +44 -45
  315. package/esm/3_1/options.d.ts.map +1 -1
  316. package/esm/3_1/options.js +27 -12
  317. package/esm/3_1/options.js.map +1 -1
  318. package/esm/3_2/impl/defaults.d.ts +29 -33
  319. package/esm/3_2/impl/defaults.d.ts.map +1 -1
  320. package/esm/3_2/impl/defaults.js +2 -2
  321. package/esm/3_2/impl/defaults.js.map +1 -1
  322. package/esm/3_2/impl/index.d.ts.map +1 -1
  323. package/esm/3_2/impl/index.js.map +1 -1
  324. package/esm/3_2/impl/init.d.ts +2 -2
  325. package/esm/3_2/impl/init.d.ts.map +1 -1
  326. package/esm/3_2/options.d.ts +44 -45
  327. package/esm/3_2/options.d.ts.map +1 -1
  328. package/esm/3_2/options.js +27 -12
  329. package/esm/3_2/options.js.map +1 -1
  330. package/esm/3_3.d.ts +1 -7
  331. package/esm/3_3.d.ts.map +1 -1
  332. package/esm/3_3.js +1 -6
  333. package/esm/3_3.js.map +1 -1
  334. package/esm/3_3_1/options.d.ts +44 -45
  335. package/esm/3_3_1/options.d.ts.map +1 -1
  336. package/esm/3_3_1/options.js +27 -12
  337. package/esm/3_3_1/options.js.map +1 -1
  338. package/esm/3_3_2.d.ts +1 -7
  339. package/esm/3_3_2.d.ts.map +1 -1
  340. package/esm/3_3_2.js +1 -6
  341. package/esm/3_3_2.js.map +1 -1
  342. package/esm/3_3_4.d.ts +2 -0
  343. package/esm/3_3_4.d.ts.map +1 -0
  344. package/esm/3_3_4.js +2 -0
  345. package/esm/3_3_4.js.map +1 -0
  346. package/esm/4_0/impl/compute-option-values.d.ts +15 -0
  347. package/esm/4_0/impl/compute-option-values.d.ts.map +1 -0
  348. package/esm/4_0/impl/compute-option-values.js +9 -0
  349. package/esm/4_0/impl/compute-option-values.js.map +1 -0
  350. package/esm/4_0/impl/control-message-types.d.ts +25 -0
  351. package/esm/4_0/impl/control-message-types.d.ts.map +1 -0
  352. package/esm/4_0/impl/control-message-types.js +26 -0
  353. package/esm/4_0/impl/control-message-types.js.map +1 -0
  354. package/esm/4_0/impl/defaults.d.ts +58 -0
  355. package/esm/4_0/impl/defaults.d.ts.map +1 -0
  356. package/esm/4_0/impl/defaults.js +12 -0
  357. package/esm/4_0/impl/defaults.js.map +1 -0
  358. package/esm/4_0/impl/index.d.ts +9 -0
  359. package/esm/4_0/impl/index.d.ts.map +1 -0
  360. package/esm/4_0/impl/index.js +7 -0
  361. package/esm/4_0/impl/index.js.map +1 -0
  362. package/esm/4_0/impl/init.d.ts +10 -0
  363. package/esm/4_0/impl/init.d.ts.map +1 -0
  364. package/esm/4_0/impl/init.js +2 -0
  365. package/esm/4_0/impl/init.js.map +1 -0
  366. package/esm/4_0/impl/media-stream-transformer.d.ts +5 -0
  367. package/esm/4_0/impl/media-stream-transformer.d.ts.map +1 -0
  368. package/esm/4_0/impl/media-stream-transformer.js +39 -0
  369. package/esm/4_0/impl/media-stream-transformer.js.map +1 -0
  370. package/esm/4_0/impl/parse-video-stream-metadata.d.ts +6 -0
  371. package/esm/4_0/impl/parse-video-stream-metadata.d.ts.map +1 -0
  372. package/esm/4_0/impl/parse-video-stream-metadata.js +21 -0
  373. package/esm/4_0/impl/parse-video-stream-metadata.js.map +1 -0
  374. package/esm/4_0/impl/prev.d.ts +2 -0
  375. package/esm/4_0/impl/prev.d.ts.map +1 -0
  376. package/esm/4_0/impl/prev.js +2 -0
  377. package/esm/4_0/impl/prev.js.map +1 -0
  378. package/esm/4_0/index.d.ts +100 -0
  379. package/esm/4_0/index.d.ts.map +1 -0
  380. package/esm/4_0/index.js +93 -0
  381. package/esm/4_0/index.js.map +1 -0
  382. package/esm/4_1/impl/control-message-types.d.ts +26 -0
  383. package/esm/4_1/impl/control-message-types.d.ts.map +1 -0
  384. package/esm/4_1/impl/control-message-types.js +27 -0
  385. package/esm/4_1/impl/control-message-types.js.map +1 -0
  386. package/esm/4_1/impl/defaults.d.ts +59 -0
  387. package/esm/4_1/impl/defaults.d.ts.map +1 -0
  388. package/esm/4_1/impl/defaults.js +6 -0
  389. package/esm/4_1/impl/defaults.js.map +1 -0
  390. package/esm/4_1/impl/index.d.ts +6 -0
  391. package/esm/4_1/impl/index.d.ts.map +1 -0
  392. package/esm/4_1/impl/index.js +5 -0
  393. package/esm/4_1/impl/index.js.map +1 -0
  394. package/esm/4_1/impl/init.d.ts +6 -0
  395. package/esm/4_1/impl/init.d.ts.map +1 -0
  396. package/esm/4_1/impl/init.js +2 -0
  397. package/esm/4_1/impl/init.js.map +1 -0
  398. package/esm/4_1/impl/parse-video-stream-metadata.d.ts +4 -0
  399. package/esm/4_1/impl/parse-video-stream-metadata.d.ts.map +1 -0
  400. package/esm/4_1/impl/parse-video-stream-metadata.js +19 -0
  401. package/esm/4_1/impl/parse-video-stream-metadata.js.map +1 -0
  402. package/esm/4_1/impl/prev.d.ts +2 -0
  403. package/esm/4_1/impl/prev.d.ts.map +1 -0
  404. package/esm/4_1/impl/prev.js +2 -0
  405. package/esm/4_1/impl/prev.js.map +1 -0
  406. package/esm/4_1/index.d.ts +101 -0
  407. package/esm/4_1/index.d.ts.map +1 -0
  408. package/esm/4_1/index.js +93 -0
  409. package/esm/4_1/index.js.map +1 -0
  410. package/esm/android/key-code-value.d.ts +176 -0
  411. package/esm/android/key-code-value.d.ts.map +1 -0
  412. package/esm/android/key-code-value.js +180 -0
  413. package/esm/android/key-code-value.js.map +1 -0
  414. package/esm/android/key-event.d.ts +3 -164
  415. package/esm/android/key-event.d.ts.map +1 -1
  416. package/esm/android/key-event.js +2 -167
  417. package/esm/android/key-event.js.map +1 -1
  418. package/esm/base/control-message-type-value.d.ts +24 -0
  419. package/esm/base/control-message-type-value.d.ts.map +1 -0
  420. package/esm/base/control-message-type-value.js +24 -0
  421. package/esm/base/control-message-type-value.js.map +1 -0
  422. package/esm/base/control-message-type.d.ts +3 -21
  423. package/esm/base/control-message-type.d.ts.map +1 -1
  424. package/esm/base/control-message-type.js +2 -21
  425. package/esm/base/control-message-type.js.map +1 -1
  426. package/esm/base/media.d.ts +8 -1
  427. package/esm/base/media.d.ts.map +1 -1
  428. package/esm/base/options.d.ts +8 -5
  429. package/esm/base/options.d.ts.map +1 -1
  430. package/esm/base/video.d.ts +1 -7
  431. package/esm/base/video.d.ts.map +1 -1
  432. package/esm/base/video.js +1 -13
  433. package/esm/base/video.js.map +1 -1
  434. package/esm/control/boolean.d.ts +10 -0
  435. package/esm/control/boolean.d.ts.map +1 -0
  436. package/esm/control/boolean.js +3 -0
  437. package/esm/control/boolean.js.map +1 -0
  438. package/esm/control/index.d.ts +2 -2
  439. package/esm/control/index.d.ts.map +1 -1
  440. package/esm/control/index.js +2 -2
  441. package/esm/control/index.js.map +1 -1
  442. package/esm/control/inject-key-code.d.ts +2 -2
  443. package/esm/control/inject-key-code.d.ts.map +1 -1
  444. package/esm/control/inject-key-code.js +4 -4
  445. package/esm/control/inject-key-code.js.map +1 -1
  446. package/esm/control/inject-text.d.ts.map +1 -1
  447. package/esm/control/inject-text.js +5 -1
  448. package/esm/control/inject-text.js.map +1 -1
  449. package/esm/control/resize-display.d.ts +12 -0
  450. package/esm/control/resize-display.d.ts.map +1 -0
  451. package/esm/control/resize-display.js +8 -0
  452. package/esm/control/resize-display.js.map +1 -0
  453. package/esm/control/serializer.d.ts +10 -2
  454. package/esm/control/serializer.d.ts.map +1 -1
  455. package/esm/control/serializer.js +57 -23
  456. package/esm/control/serializer.js.map +1 -1
  457. package/esm/control/start-app.d.ts.map +1 -1
  458. package/esm/control/start-app.js +1 -0
  459. package/esm/control/start-app.js.map +1 -1
  460. package/esm/control/uhid.d.ts +2 -2
  461. package/esm/control/uhid.d.ts.map +1 -1
  462. package/esm/control/uhid.js +9 -5
  463. package/esm/control/uhid.js.map +1 -1
  464. package/esm/control/writer.d.ts +8 -2
  465. package/esm/control/writer.d.ts.map +1 -1
  466. package/esm/control/writer.js +17 -2
  467. package/esm/control/writer.js.map +1 -1
  468. package/esm/index.d.ts +4 -1
  469. package/esm/index.d.ts.map +1 -1
  470. package/esm/index.js +4 -1
  471. package/esm/index.js.map +1 -1
  472. package/esm/latest.d.ts +2 -2
  473. package/esm/latest.d.ts.map +1 -1
  474. package/esm/latest.js +2 -2
  475. package/esm/latest.js.map +1 -1
  476. package/esm/utils/omit.d.ts +1 -1
  477. package/esm/utils/omit.d.ts.map +1 -1
  478. package/esm/video/android.d.ts +69 -0
  479. package/esm/video/android.d.ts.map +1 -0
  480. package/esm/video/android.js +70 -0
  481. package/esm/video/android.js.map +1 -0
  482. package/esm/video/codec-id.d.ts +6 -0
  483. package/esm/video/codec-id.d.ts.map +1 -0
  484. package/esm/video/codec-id.js +6 -0
  485. package/esm/video/codec-id.js.map +1 -0
  486. package/esm/video/index.d.ts +7 -0
  487. package/esm/video/index.d.ts.map +1 -0
  488. package/esm/video/index.js +15 -0
  489. package/esm/video/index.js.map +1 -0
  490. package/esm/video/size.d.ts +20 -0
  491. package/esm/video/size.d.ts.map +1 -0
  492. package/esm/video/size.js +27 -0
  493. package/esm/video/size.js.map +1 -0
  494. package/package.json +11 -10
  495. package/src/1_15/impl/codec-options.ts +287 -0
  496. package/src/1_15/impl/compute-option-values.ts +26 -0
  497. package/src/1_15/impl/control-message-types.ts +14 -14
  498. package/src/1_15/impl/index.ts +3 -0
  499. package/src/1_15/impl/init.ts +13 -87
  500. package/src/1_15/impl/inject-touch.ts +1 -0
  501. package/src/1_15/impl/media-stream-transformer.ts +3 -3
  502. package/src/1_15/impl/parse-video-stream-metadata.ts +4 -4
  503. package/src/1_15/impl/scroll-controller.ts +1 -0
  504. package/src/1_15/impl/set-clipboard.ts +5 -1
  505. package/src/1_15/impl/set-display-power.ts +29 -0
  506. package/src/1_15/options.ts +46 -11
  507. package/src/1_15_1.ts +1 -11
  508. package/src/1_16.ts +1 -11
  509. package/src/1_17/impl/defaults.ts +4 -5
  510. package/src/1_17/options.ts +47 -12
  511. package/src/1_18/impl/control-message-types.ts +15 -8
  512. package/src/1_18/impl/defaults.ts +6 -7
  513. package/src/1_18/impl/init.ts +7 -5
  514. package/src/1_18/options.ts +47 -12
  515. package/src/1_19.ts +1 -11
  516. package/src/1_20.ts +1 -11
  517. package/src/1_21/impl/compute-option-values.ts +43 -0
  518. package/src/1_21/impl/defaults.ts +4 -5
  519. package/src/1_21/impl/index.ts +10 -0
  520. package/src/1_21/impl/init.ts +1 -1
  521. package/src/1_21/impl/serialize.ts +3 -3
  522. package/src/1_21/impl/set-clipboard.ts +14 -0
  523. package/src/1_21/options.ts +56 -17
  524. package/src/1_22/impl/defaults.ts +6 -7
  525. package/src/1_22/impl/init.ts +3 -3
  526. package/src/1_22/impl/parse-video-stream-metadata.ts +4 -4
  527. package/src/1_22/options.ts +57 -18
  528. package/src/1_23/impl/defaults.ts +4 -5
  529. package/src/1_23/impl/init.ts +1 -1
  530. package/src/1_23/impl/media-stream-transformer.ts +3 -3
  531. package/src/1_23/options.ts +57 -18
  532. package/src/1_24/impl/defaults.ts +4 -5
  533. package/src/1_24/impl/init.ts +1 -1
  534. package/src/1_24/options.ts +57 -18
  535. package/src/1_25/impl/scroll-controller.ts +14 -15
  536. package/src/1_25/options.ts +57 -18
  537. package/src/2_0/impl/defaults.ts +3 -2
  538. package/src/2_0/impl/index.ts +5 -1
  539. package/src/2_0/impl/init.ts +12 -10
  540. package/src/2_0/impl/inject-touch.ts +16 -17
  541. package/src/2_0/impl/parse-audio-stream-metadata.ts +37 -51
  542. package/src/2_0/impl/parse-video-stream-metadata.ts +24 -21
  543. package/src/2_0/options.ts +73 -19
  544. package/src/2_1/impl/defaults.ts +5 -6
  545. package/src/2_1/impl/init.ts +3 -3
  546. package/src/2_1/options.ts +76 -22
  547. package/src/2_1_1.ts +1 -14
  548. package/src/2_2/generate-type-tests.js +106 -0
  549. package/src/2_2/impl/compute-option-values.ts +44 -0
  550. package/src/2_2/impl/defaults.ts +13 -14
  551. package/src/2_2/impl/index.ts +2 -0
  552. package/src/2_2/impl/init.ts +5 -5
  553. package/src/2_2/options.ts +76 -26
  554. package/src/2_3/impl/index.ts +4 -0
  555. package/src/2_3/impl/init.ts +2 -3
  556. package/src/2_3/impl/parse-audio-stream-metadata.ts +36 -0
  557. package/src/2_3/options.ts +76 -26
  558. package/src/2_3_1.ts +1 -14
  559. package/src/2_4/impl/control-message-types.ts +18 -9
  560. package/src/2_4/impl/serialize-uhid-create.ts +1 -0
  561. package/src/2_4/options.ts +83 -30
  562. package/src/2_5.ts +1 -14
  563. package/src/2_6/generate-type-tests.js +119 -0
  564. package/src/2_6/impl/compute-option-values.ts +48 -0
  565. package/src/2_6/impl/defaults.ts +4 -5
  566. package/src/2_6/impl/index.ts +9 -0
  567. package/src/2_6/impl/init.ts +3 -4
  568. package/src/2_6/options.ts +83 -34
  569. package/src/2_6_1.ts +1 -14
  570. package/src/2_7/impl/control-message-types.ts +19 -8
  571. package/src/2_7/impl/index.ts +1 -0
  572. package/src/2_7/impl/serialize-uhid-create.ts +1 -0
  573. package/src/2_7/options.ts +83 -34
  574. package/src/3_0/impl/control-message-types.ts +21 -8
  575. package/src/3_0/impl/defaults.ts +4 -3
  576. package/src/3_0/impl/index.ts +5 -0
  577. package/src/3_0/impl/init.ts +4 -5
  578. package/src/3_0/impl/set-display-power.ts +23 -0
  579. package/src/3_0/options.ts +83 -34
  580. package/src/3_0_1.ts +1 -14
  581. package/src/3_0_2.ts +1 -14
  582. package/src/3_1/impl/defaults.ts +4 -5
  583. package/src/3_1/impl/index.ts +1 -0
  584. package/src/3_1/impl/init.ts +2 -2
  585. package/src/3_1/impl/serialize-uhid-create.ts +1 -0
  586. package/src/3_1/options.ts +83 -34
  587. package/src/3_2/impl/defaults.ts +4 -5
  588. package/src/3_2/impl/index.ts +1 -0
  589. package/src/3_2/impl/init.ts +2 -3
  590. package/src/3_2/options.ts +83 -34
  591. package/src/3_3.ts +1 -14
  592. package/src/3_3_1/options.ts +83 -34
  593. package/src/3_3_2.ts +1 -14
  594. package/src/3_3_4.ts +1 -0
  595. package/src/4_0/impl/compute-option-values.ts +31 -0
  596. package/src/4_0/impl/control-message-types.ts +27 -0
  597. package/src/4_0/impl/defaults.ts +20 -0
  598. package/src/4_0/impl/index.ts +9 -0
  599. package/src/4_0/impl/init.ts +14 -0
  600. package/src/4_0/impl/media-stream-transformer.ts +58 -0
  601. package/src/4_0/impl/parse-video-stream-metadata.ts +34 -0
  602. package/src/4_0/impl/prev.ts +1 -0
  603. package/src/4_0/index.ts +226 -0
  604. package/src/4_1/impl/control-message-types.ts +28 -0
  605. package/src/4_1/impl/defaults.ts +8 -0
  606. package/src/4_1/impl/index.ts +6 -0
  607. package/src/4_1/impl/init.ts +7 -0
  608. package/src/4_1/impl/parse-video-stream-metadata.ts +23 -0
  609. package/src/4_1/impl/prev.ts +1 -0
  610. package/src/4_1/index.ts +226 -0
  611. package/src/android/key-code-value.ts +194 -0
  612. package/src/android/key-event.ts +5 -182
  613. package/src/base/control-message-type-value.ts +23 -0
  614. package/src/base/control-message-type.ts +6 -22
  615. package/src/base/media.ts +12 -3
  616. package/src/base/options.ts +20 -6
  617. package/src/base/video.ts +2 -19
  618. package/src/control/boolean.ts +9 -0
  619. package/src/control/index.ts +2 -2
  620. package/src/control/inject-key-code.ts +11 -12
  621. package/src/control/inject-text.ts +5 -1
  622. package/src/control/resize-display.ts +16 -0
  623. package/src/control/serializer.ts +70 -44
  624. package/src/control/start-app.ts +1 -0
  625. package/src/control/uhid.ts +14 -12
  626. package/src/control/writer.ts +24 -6
  627. package/src/index.ts +4 -1
  628. package/src/latest.ts +4 -2
  629. package/src/utils/omit.ts +1 -1
  630. package/src/video/android.ts +72 -0
  631. package/src/video/codec-id.ts +6 -0
  632. package/src/video/index.ts +21 -0
  633. package/src/video/size.ts +46 -0
  634. package/tsconfig.build.json +0 -8
  635. package/CHANGELOG.md +0 -224
  636. package/esm/codec/av1.d.ts +0 -462
  637. package/esm/codec/av1.d.ts.map +0 -1
  638. package/esm/codec/av1.js +0 -622
  639. package/esm/codec/av1.js.map +0 -1
  640. package/esm/codec/h264.d.ts +0 -78
  641. package/esm/codec/h264.d.ts.map +0 -1
  642. package/esm/codec/h264.js +0 -254
  643. package/esm/codec/h264.js.map +0 -1
  644. package/esm/codec/h265.d.ts +0 -535
  645. package/esm/codec/h265.d.ts.map +0 -1
  646. package/esm/codec/h265.js +0 -1117
  647. package/esm/codec/h265.js.map +0 -1
  648. package/esm/codec/index.d.ts +0 -5
  649. package/esm/codec/index.d.ts.map +0 -1
  650. package/esm/codec/index.js +0 -5
  651. package/esm/codec/index.js.map +0 -1
  652. package/esm/codec/nalu.d.ts +0 -28
  653. package/esm/codec/nalu.d.ts.map +0 -1
  654. package/esm/codec/nalu.js +0 -250
  655. package/esm/codec/nalu.js.map +0 -1
  656. package/esm/control/message-type-map.d.ts +0 -15
  657. package/esm/control/message-type-map.d.ts.map +0 -1
  658. package/esm/control/message-type-map.js +0 -23
  659. package/esm/control/message-type-map.js.map +0 -1
  660. package/esm/control/set-screen-power-mode.d.ts +0 -11
  661. package/esm/control/set-screen-power-mode.d.ts.map +0 -1
  662. package/esm/control/set-screen-power-mode.js +0 -3
  663. package/esm/control/set-screen-power-mode.js.map +0 -1
  664. package/src/codec/av1.ts +0 -724
  665. package/src/codec/h264.ts +0 -317
  666. package/src/codec/h265.ts +0 -1410
  667. package/src/codec/index.ts +0 -4
  668. package/src/codec/nalu.ts +0 -304
  669. package/src/control/message-type-map.ts +0 -30
  670. package/src/control/set-screen-power-mode.ts +0 -13
  671. package/tsconfig.build.tsbuildinfo +0 -1
@@ -4,7 +4,7 @@ import {
4
4
  } from "@yume-chan/stream-extra";
5
5
  import { buffer, struct, u32, u64 } from "@yume-chan/struct";
6
6
 
7
- import type { ScrcpyMediaStreamPacket } from "../../base/index.js";
7
+ import type { ScrcpyVideoStreamPacket } from "../../base/index.js";
8
8
 
9
9
  import type { Init } from "./init.js";
10
10
 
@@ -17,8 +17,8 @@ export const PtsConfig = 1n << 63n;
17
17
 
18
18
  export function createMediaStreamTransformer(
19
19
  options: Pick<Init, "sendFrameMeta">,
20
- ): TransformStream<Uint8Array, ScrcpyMediaStreamPacket> {
21
- // Optimized path for video frames only
20
+ ): TransformStream<Uint8Array, ScrcpyVideoStreamPacket> {
21
+ // Quick path for raw stream without frame meta
22
22
  if (!options.sendFrameMeta) {
23
23
  return new TransformStream({
24
24
  transform(chunk, controller) {
@@ -11,7 +11,7 @@ import type {
11
11
  ScrcpyVideoStream,
12
12
  ScrcpyVideoStreamMetadata,
13
13
  } from "../../base/index.js";
14
- import { ScrcpyVideoCodecId } from "../../base/index.js";
14
+ import { ScrcpyVideoCodecId } from "../../video/index.js";
15
15
 
16
16
  /**
17
17
  * Parse a fixed-length, null-terminated string.
@@ -44,10 +44,10 @@ export async function parseVideoStreamMetadata(
44
44
  ): Promise<ScrcpyVideoStream> {
45
45
  const buffered = new BufferedReadableStream(stream);
46
46
  const metadata: ScrcpyVideoStreamMetadata = {
47
+ deviceName: await readString(buffered, 64),
48
+ width: await readU16(buffered),
49
+ height: await readU16(buffered),
47
50
  codec: ScrcpyVideoCodecId.H264,
48
51
  };
49
- metadata.deviceName = await readString(buffered, 64);
50
- metadata.width = await readU16(buffered);
51
- metadata.height = await readU16(buffered);
52
52
  return { stream: buffered.release(), metadata };
53
53
  }
@@ -6,6 +6,7 @@ import type { ScrcpyInjectScrollControlMessage } from "../../latest.js";
6
6
 
7
7
  export const InjectScrollControlMessage = struct(
8
8
  {
9
+ // value of `type` can change between versions
9
10
  type: u8,
10
11
  pointerX: u32,
11
12
  pointerY: u32,
@@ -4,7 +4,11 @@ import { string, struct, u32, u8 } from "@yume-chan/struct";
4
4
  import type { ScrcpySetClipboardControlMessage } from "../../latest.js";
5
5
 
6
6
  export const SetClipboardControlMessage = struct(
7
- { type: u8, content: string(u32) },
7
+ {
8
+ // value of `type` can change between versions
9
+ type: u8,
10
+ content: string(u32),
11
+ },
8
12
  { littleEndian: false },
9
13
  );
10
14
 
@@ -0,0 +1,29 @@
1
+ import type { StructInit } from "@yume-chan/struct";
2
+ import { struct, u8 } from "@yume-chan/struct";
3
+
4
+ import { AndroidScreenPowerMode } from "../../android/index.js";
5
+ import type { ScrcpySetDisplayPowerControlMessage } from "../../latest.js";
6
+
7
+ export const SetDisplayPowerControlMessage = struct(
8
+ {
9
+ // value of `type` can change between versions
10
+ type: u8,
11
+ mode: u8<AndroidScreenPowerMode>(),
12
+ },
13
+ { littleEndian: false },
14
+ );
15
+
16
+ export type SetDisplayPowerControlMessage = StructInit<
17
+ typeof SetDisplayPowerControlMessage
18
+ >;
19
+
20
+ export function serializeSetDisplayPowerControlMessage(
21
+ message: ScrcpySetDisplayPowerControlMessage,
22
+ ) {
23
+ return SetDisplayPowerControlMessage.serialize({
24
+ type: message.type,
25
+ mode: message.on
26
+ ? AndroidScreenPowerMode.Normal
27
+ : AndroidScreenPowerMode.Off,
28
+ });
29
+ }
@@ -2,23 +2,25 @@ 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
- ScrcpyMediaStreamPacket,
8
6
  ScrcpyOptions,
9
7
  ScrcpyScrollController,
10
8
  ScrcpyVideoStream,
9
+ ScrcpyVideoStreamPacket,
11
10
  } from "../base/index.js";
12
11
  import { ScrcpyDeviceMessageParsers } from "../base/index.js";
12
+ import type { MapBoolean } from "../base/options.js";
13
13
  import type {
14
14
  ScrcpyBackOrScreenOnControlMessage,
15
15
  ScrcpyInjectTouchControlMessage,
16
16
  ScrcpySetClipboardControlMessage,
17
+ ScrcpySetDisplayPowerControlMessage,
17
18
  } from "../latest.js";
18
19
 
19
- import type { Init } from "./impl/index.js";
20
+ import type { ComputeOptionTypes, Init } from "./impl/index.js";
20
21
  import {
21
22
  ClipboardStream,
23
+ computeOptionValues,
22
24
  ControlMessageTypes,
23
25
  createMediaStreamTransformer,
24
26
  createScrollController,
@@ -30,21 +32,28 @@ import {
30
32
  serializeInjectTouchControlMessage,
31
33
  SerializeOrder,
32
34
  serializeSetClipboardControlMessage,
35
+ serializeSetDisplayPowerControlMessage,
33
36
  setListDisplays,
34
37
  } from "./impl/index.js";
35
38
 
36
- export class ScrcpyOptions1_15 implements ScrcpyOptions<Init> {
39
+ export class ScrcpyOptions1_15<
40
+ TInit extends Init = Init,
41
+ > implements ScrcpyOptions<ScrcpyOptions1_15.Value<TInit>> {
37
42
  static readonly Defaults = Defaults;
38
43
 
39
- readonly value: Required<Init>;
44
+ readonly value: ScrcpyOptions1_15.Value<TInit>;
40
45
 
41
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
46
+ get controlMessageTypes(): typeof ControlMessageTypes {
42
47
  return ControlMessageTypes;
43
48
  }
44
49
 
45
50
  #clipboard: ClipboardStream | undefined;
46
- get clipboard(): ReadableStream<string> | undefined {
47
- return this.#clipboard;
51
+ get clipboard(): MapBoolean<
52
+ this["value"]["control"],
53
+ ReadableStream<string>,
54
+ undefined
55
+ > {
56
+ return this.#clipboard as never;
48
57
  }
49
58
 
50
59
  #deviceMessageParsers = new ScrcpyDeviceMessageParsers();
@@ -52,8 +61,8 @@ export class ScrcpyOptions1_15 implements ScrcpyOptions<Init> {
52
61
  return this.#deviceMessageParsers;
53
62
  }
54
63
 
55
- constructor(init: Init) {
56
- this.value = { ...Defaults, ...init };
64
+ constructor(init: TInit) {
65
+ this.value = computeOptionValues(init, Defaults);
57
66
 
58
67
  if (this.value.control) {
59
68
  this.#clipboard = this.#deviceMessageParsers.add(
@@ -82,7 +91,7 @@ export class ScrcpyOptions1_15 implements ScrcpyOptions<Init> {
82
91
 
83
92
  createMediaStreamTransformer(): TransformStream<
84
93
  Uint8Array,
85
- ScrcpyMediaStreamPacket
94
+ ScrcpyVideoStreamPacket
86
95
  > {
87
96
  return createMediaStreamTransformer(this.value);
88
97
  }
@@ -90,22 +99,43 @@ export class ScrcpyOptions1_15 implements ScrcpyOptions<Init> {
90
99
  serializeInjectTouchControlMessage(
91
100
  message: ScrcpyInjectTouchControlMessage,
92
101
  ): Uint8Array {
102
+ if (!this.value.control) {
103
+ throw new Error("control is disabled");
104
+ }
93
105
  return serializeInjectTouchControlMessage(message);
94
106
  }
95
107
 
96
108
  serializeBackOrScreenOnControlMessage(
97
109
  message: ScrcpyBackOrScreenOnControlMessage,
98
110
  ): Uint8Array | undefined {
111
+ if (!this.value.control) {
112
+ throw new Error("control is disabled");
113
+ }
99
114
  return serializeBackOrScreenOnControlMessage(message);
100
115
  }
101
116
 
102
117
  serializeSetClipboardControlMessage(
103
118
  message: ScrcpySetClipboardControlMessage,
104
119
  ): Uint8Array {
120
+ if (!this.value.control) {
121
+ throw new Error("control is disabled");
122
+ }
105
123
  return serializeSetClipboardControlMessage(message);
106
124
  }
107
125
 
126
+ serializeSetDisplayPowerControlMessage(
127
+ message: ScrcpySetDisplayPowerControlMessage,
128
+ ): Uint8Array {
129
+ if (!this.value.control) {
130
+ throw new Error("control is disabled");
131
+ }
132
+ return serializeSetDisplayPowerControlMessage(message);
133
+ }
134
+
108
135
  createScrollController(): ScrcpyScrollController {
136
+ if (!this.value.control) {
137
+ throw new Error("control is disabled");
138
+ }
109
139
  return createScrollController();
110
140
  }
111
141
  }
@@ -114,4 +144,9 @@ type Init_ = Init;
114
144
 
115
145
  export namespace ScrcpyOptions1_15 {
116
146
  export type Init = Init_;
147
+
148
+ export type Value<TInit extends Init> = ComputeOptionTypes<
149
+ TInit,
150
+ typeof Defaults
151
+ >;
117
152
  }
package/src/1_15_1.ts CHANGED
@@ -1,11 +1 @@
1
- import { ScrcpyOptions1_15 } from "./1_15/index.js";
2
-
3
- export class ScrcpyOptions1_15_1 extends ScrcpyOptions1_15 {
4
- constructor(init: ScrcpyOptions1_15.Init) {
5
- super(init);
6
- }
7
- }
8
-
9
- export namespace ScrcpyOptions1_15_1 {
10
- export type Init = ScrcpyOptions1_15.Init;
11
- }
1
+ export { ScrcpyOptions1_15 as ScrcpyOptions1_15_1 } from "./1_15/index.js";
package/src/1_16.ts CHANGED
@@ -1,11 +1 @@
1
- import { ScrcpyOptions1_15 } from "./1_15/index.js";
2
-
3
- export class ScrcpyOptions1_16 extends ScrcpyOptions1_15 {
4
- constructor(init: ScrcpyOptions1_15.Init) {
5
- super(init);
6
- }
7
- }
8
-
9
- export namespace ScrcpyOptions1_16 {
10
- export type Init = ScrcpyOptions1_15.Init;
11
- }
1
+ export { ScrcpyOptions1_15 as ScrcpyOptions1_16 } from "./1_15/index.js";
@@ -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
- encoderName: undefined,
8
- }) as const satisfies Required<Init>)();
4
+ export const Defaults = {
5
+ ...PrevImpl.Defaults,
6
+ encoderName: undefined,
7
+ } as const satisfies Required<Init>;
@@ -2,25 +2,27 @@ 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,
5
+ MapBoolean,
6
6
  ScrcpyDisplay,
7
7
  ScrcpyEncoder,
8
- ScrcpyMediaStreamPacket,
9
8
  ScrcpyOptions,
10
9
  ScrcpyOptionsListEncoders,
11
10
  ScrcpyScrollController,
12
11
  ScrcpyVideoStream,
12
+ ScrcpyVideoStreamPacket,
13
13
  } from "../base/index.js";
14
14
  import { ScrcpyDeviceMessageParsers } from "../base/index.js";
15
15
  import type {
16
16
  ScrcpyBackOrScreenOnControlMessage,
17
17
  ScrcpyInjectTouchControlMessage,
18
18
  ScrcpySetClipboardControlMessage,
19
+ ScrcpySetDisplayPowerControlMessage,
19
20
  } from "../latest.js";
20
21
 
21
- import type { Init } from "./impl/index.js";
22
+ import type { ComputeOptionTypes, Init } from "./impl/index.js";
22
23
  import {
23
24
  ClipboardStream,
25
+ computeOptionValues,
24
26
  ControlMessageTypes,
25
27
  createMediaStreamTransformer,
26
28
  createScrollController,
@@ -34,24 +36,31 @@ import {
34
36
  serializeInjectTouchControlMessage,
35
37
  SerializeOrder,
36
38
  serializeSetClipboardControlMessage,
39
+ serializeSetDisplayPowerControlMessage,
37
40
  setListDisplays,
38
41
  setListEncoders,
39
42
  } from "./impl/index.js";
40
43
 
41
- export class ScrcpyOptions1_17
42
- implements ScrcpyOptions<Init>, ScrcpyOptionsListEncoders
44
+ export class ScrcpyOptions1_17<TInit extends Init = Init>
45
+ implements
46
+ ScrcpyOptions<ScrcpyOptions1_17.Value<TInit>>,
47
+ ScrcpyOptionsListEncoders
43
48
  {
44
49
  static readonly Defaults = Defaults;
45
50
 
46
- readonly value: Required<Init>;
51
+ readonly value: ScrcpyOptions1_17.Value<TInit>;
47
52
 
48
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
53
+ get controlMessageTypes(): typeof ControlMessageTypes {
49
54
  return ControlMessageTypes;
50
55
  }
51
56
 
52
57
  #clipboard: ClipboardStream | undefined;
53
- get clipboard(): ReadableStream<string> | undefined {
54
- return this.#clipboard;
58
+ get clipboard(): MapBoolean<
59
+ this["value"]["control"],
60
+ ReadableStream<string>,
61
+ undefined
62
+ > {
63
+ return this.#clipboard as never;
55
64
  }
56
65
 
57
66
  #deviceMessageParsers = new ScrcpyDeviceMessageParsers();
@@ -59,8 +68,8 @@ export class ScrcpyOptions1_17
59
68
  return this.#deviceMessageParsers;
60
69
  }
61
70
 
62
- constructor(init: Init) {
63
- this.value = { ...Defaults, ...init };
71
+ constructor(init: TInit) {
72
+ this.value = computeOptionValues(init, Defaults);
64
73
 
65
74
  if (this.value.control) {
66
75
  this.#clipboard = this.#deviceMessageParsers.add(
@@ -97,7 +106,7 @@ export class ScrcpyOptions1_17
97
106
 
98
107
  createMediaStreamTransformer(): TransformStream<
99
108
  Uint8Array,
100
- ScrcpyMediaStreamPacket
109
+ ScrcpyVideoStreamPacket
101
110
  > {
102
111
  return createMediaStreamTransformer(this.value);
103
112
  }
@@ -105,22 +114,43 @@ export class ScrcpyOptions1_17
105
114
  serializeInjectTouchControlMessage(
106
115
  message: ScrcpyInjectTouchControlMessage,
107
116
  ): Uint8Array {
117
+ if (!this.value.control) {
118
+ throw new Error("control is disabled");
119
+ }
108
120
  return serializeInjectTouchControlMessage(message);
109
121
  }
110
122
 
111
123
  serializeBackOrScreenOnControlMessage(
112
124
  message: ScrcpyBackOrScreenOnControlMessage,
113
125
  ): Uint8Array | undefined {
126
+ if (!this.value.control) {
127
+ throw new Error("control is disabled");
128
+ }
114
129
  return serializeBackOrScreenOnControlMessage(message);
115
130
  }
116
131
 
117
132
  serializeSetClipboardControlMessage(
118
133
  message: ScrcpySetClipboardControlMessage,
119
134
  ): Uint8Array {
135
+ if (!this.value.control) {
136
+ throw new Error("control is disabled");
137
+ }
120
138
  return serializeSetClipboardControlMessage(message);
121
139
  }
122
140
 
141
+ serializeSetDisplayPowerControlMessage(
142
+ message: ScrcpySetDisplayPowerControlMessage,
143
+ ): Uint8Array {
144
+ if (!this.value.control) {
145
+ throw new Error("control is disabled");
146
+ }
147
+ return serializeSetDisplayPowerControlMessage(message);
148
+ }
149
+
123
150
  createScrollController(): ScrcpyScrollController {
151
+ if (!this.value.control) {
152
+ throw new Error("control is disabled");
153
+ }
124
154
  return createScrollController();
125
155
  }
126
156
  }
@@ -129,4 +159,9 @@ type Init_ = Init;
129
159
 
130
160
  export namespace ScrcpyOptions1_17 {
131
161
  export type Init = Init_;
162
+
163
+ export type Value<TInit extends Init> = ComputeOptionTypes<
164
+ TInit,
165
+ typeof Defaults
166
+ >;
132
167
  }
@@ -1,10 +1,17 @@
1
+ import type { ScrcpyControlMessageTypeMap } from "../../base/index.js";
1
2
  import { ScrcpyControlMessageType } from "../../base/index.js";
2
3
 
3
- import { PrevImpl } from "./prev.js";
4
-
5
- export const ControlMessageTypes: readonly ScrcpyControlMessageType[] =
6
- /* #__PURE__ */ (() => {
7
- const result = PrevImpl.ControlMessageTypes.slice();
8
- result.splice(6, 0, ScrcpyControlMessageType.ExpandSettingPanel);
9
- return result;
10
- })();
4
+ export const ControlMessageTypes = {
5
+ [ScrcpyControlMessageType.InjectKeyCode]: 0,
6
+ [ScrcpyControlMessageType.InjectText]: 1,
7
+ [ScrcpyControlMessageType.InjectTouch]: 2,
8
+ [ScrcpyControlMessageType.InjectScroll]: 3,
9
+ [ScrcpyControlMessageType.BackOrScreenOn]: 4,
10
+ [ScrcpyControlMessageType.ExpandNotificationPanel]: 5,
11
+ [ScrcpyControlMessageType.ExpandSettingPanel]: 6,
12
+ [ScrcpyControlMessageType.CollapseNotificationPanel]: 7,
13
+ [ScrcpyControlMessageType.GetClipboard]: 8,
14
+ [ScrcpyControlMessageType.SetClipboard]: 9,
15
+ [ScrcpyControlMessageType.SetDisplayPower]: 10,
16
+ [ScrcpyControlMessageType.RotateDevice]: 11,
17
+ } as const satisfies ScrcpyControlMessageTypeMap;
@@ -2,10 +2,9 @@ import type { Init } from "./init.js";
2
2
  import { VideoOrientation } from "./init.js";
3
3
  import { PrevImpl } from "./prev.js";
4
4
 
5
- export const Defaults = /* #__PURE__ */ (() =>
6
- ({
7
- ...PrevImpl.Defaults,
8
- logLevel: "debug",
9
- lockVideoOrientation: VideoOrientation.Unlocked,
10
- powerOffOnClose: false,
11
- }) as const satisfies Required<Init>)();
5
+ export const Defaults = {
6
+ ...PrevImpl.Defaults,
7
+ logLevel: "debug",
8
+ lockVideoOrientation: VideoOrientation.Unlocked,
9
+ powerOffOnClose: false,
10
+ } as const satisfies Required<Init>;
@@ -14,11 +14,13 @@ export const VideoOrientation = {
14
14
  export type VideoOrientation =
15
15
  (typeof VideoOrientation)[keyof typeof VideoOrientation];
16
16
 
17
- export interface Init
18
- extends Omit<PrevImpl.Init, "logLevel" | "lockVideoOrientation"> {
19
- logLevel?: LogLevel;
17
+ export interface Init extends Omit<
18
+ PrevImpl.Init,
19
+ "logLevel" | "lockVideoOrientation"
20
+ > {
21
+ logLevel?: LogLevel | undefined;
20
22
 
21
- lockVideoOrientation?: VideoOrientation;
23
+ lockVideoOrientation?: VideoOrientation | undefined;
22
24
 
23
- powerOffOnClose?: boolean;
25
+ powerOffOnClose?: boolean | undefined;
24
26
  }
@@ -2,25 +2,27 @@ 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,
5
+ MapBoolean,
6
6
  ScrcpyDisplay,
7
7
  ScrcpyEncoder,
8
- ScrcpyMediaStreamPacket,
9
8
  ScrcpyOptions,
10
9
  ScrcpyOptionsListEncoders,
11
10
  ScrcpyScrollController,
12
11
  ScrcpyVideoStream,
12
+ ScrcpyVideoStreamPacket,
13
13
  } from "../base/index.js";
14
14
  import { ScrcpyDeviceMessageParsers } from "../base/index.js";
15
15
  import type {
16
16
  ScrcpyBackOrScreenOnControlMessage,
17
17
  ScrcpyInjectTouchControlMessage,
18
18
  ScrcpySetClipboardControlMessage,
19
+ ScrcpySetDisplayPowerControlMessage,
19
20
  } from "../latest.js";
20
21
 
21
- import type { Init } from "./impl/index.js";
22
+ import type { ComputeOptionTypes, Init } from "./impl/index.js";
22
23
  import {
23
24
  ClipboardStream,
25
+ computeOptionValues,
24
26
  ControlMessageTypes,
25
27
  createMediaStreamTransformer,
26
28
  createScrollController,
@@ -34,24 +36,31 @@ import {
34
36
  serializeInjectTouchControlMessage,
35
37
  SerializeOrder,
36
38
  serializeSetClipboardControlMessage,
39
+ serializeSetDisplayPowerControlMessage,
37
40
  setListDisplays,
38
41
  setListEncoders,
39
42
  } from "./impl/index.js";
40
43
 
41
- export class ScrcpyOptions1_18
42
- implements ScrcpyOptions<Init>, ScrcpyOptionsListEncoders
44
+ export class ScrcpyOptions1_18<TInit extends Init = Init>
45
+ implements
46
+ ScrcpyOptions<ScrcpyOptions1_18.Value<TInit>>,
47
+ ScrcpyOptionsListEncoders
43
48
  {
44
49
  static readonly Defaults = Defaults;
45
50
 
46
- readonly value: Required<Init>;
51
+ readonly value: ScrcpyOptions1_18.Value<TInit>;
47
52
 
48
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
53
+ get controlMessageTypes(): typeof ControlMessageTypes {
49
54
  return ControlMessageTypes;
50
55
  }
51
56
 
52
57
  #clipboard: ClipboardStream | undefined;
53
- get clipboard(): ReadableStream<string> | undefined {
54
- return this.#clipboard;
58
+ get clipboard(): MapBoolean<
59
+ this["value"]["control"],
60
+ ReadableStream<string>,
61
+ undefined
62
+ > {
63
+ return this.#clipboard as never;
55
64
  }
56
65
 
57
66
  #deviceMessageParsers = new ScrcpyDeviceMessageParsers();
@@ -59,8 +68,8 @@ export class ScrcpyOptions1_18
59
68
  return this.#deviceMessageParsers;
60
69
  }
61
70
 
62
- constructor(init: Init) {
63
- this.value = { ...Defaults, ...init };
71
+ constructor(init: TInit) {
72
+ this.value = computeOptionValues(init, Defaults);
64
73
 
65
74
  if (this.value.control) {
66
75
  this.#clipboard = this.#deviceMessageParsers.add(
@@ -97,7 +106,7 @@ export class ScrcpyOptions1_18
97
106
 
98
107
  createMediaStreamTransformer(): TransformStream<
99
108
  Uint8Array,
100
- ScrcpyMediaStreamPacket
109
+ ScrcpyVideoStreamPacket
101
110
  > {
102
111
  return createMediaStreamTransformer(this.value);
103
112
  }
@@ -105,22 +114,43 @@ export class ScrcpyOptions1_18
105
114
  serializeInjectTouchControlMessage(
106
115
  message: ScrcpyInjectTouchControlMessage,
107
116
  ): Uint8Array {
117
+ if (!this.value.control) {
118
+ throw new Error("control is disabled");
119
+ }
108
120
  return serializeInjectTouchControlMessage(message);
109
121
  }
110
122
 
111
123
  serializeBackOrScreenOnControlMessage(
112
124
  message: ScrcpyBackOrScreenOnControlMessage,
113
125
  ): Uint8Array | undefined {
126
+ if (!this.value.control) {
127
+ throw new Error("control is disabled");
128
+ }
114
129
  return serializeBackOrScreenOnControlMessage(message);
115
130
  }
116
131
 
117
132
  serializeSetClipboardControlMessage(
118
133
  message: ScrcpySetClipboardControlMessage,
119
134
  ): Uint8Array {
135
+ if (!this.value.control) {
136
+ throw new Error("control is disabled");
137
+ }
120
138
  return serializeSetClipboardControlMessage(message);
121
139
  }
122
140
 
141
+ serializeSetDisplayPowerControlMessage(
142
+ message: ScrcpySetDisplayPowerControlMessage,
143
+ ): Uint8Array {
144
+ if (!this.value.control) {
145
+ throw new Error("control is disabled");
146
+ }
147
+ return serializeSetDisplayPowerControlMessage(message);
148
+ }
149
+
123
150
  createScrollController(): ScrcpyScrollController {
151
+ if (!this.value.control) {
152
+ throw new Error("control is disabled");
153
+ }
124
154
  return createScrollController();
125
155
  }
126
156
  }
@@ -129,4 +159,9 @@ type Init_ = Init;
129
159
 
130
160
  export namespace ScrcpyOptions1_18 {
131
161
  export type Init = Init_;
162
+
163
+ export type Value<TInit extends Init> = ComputeOptionTypes<
164
+ TInit,
165
+ typeof Defaults
166
+ >;
132
167
  }
package/src/1_19.ts CHANGED
@@ -1,11 +1 @@
1
- import { ScrcpyOptions1_18 } from "./1_18/index.js";
2
-
3
- export class ScrcpyOptions1_19 extends ScrcpyOptions1_18 {
4
- constructor(init: ScrcpyOptions1_18.Init) {
5
- super(init);
6
- }
7
- }
8
-
9
- export namespace ScrcpyOptions1_19 {
10
- export type Init = ScrcpyOptions1_18.Init;
11
- }
1
+ export { ScrcpyOptions1_18 as ScrcpyOptions1_19 } from "./1_18/index.js";
package/src/1_20.ts CHANGED
@@ -1,11 +1 @@
1
- import { ScrcpyOptions1_18 } from "./1_18/index.js";
2
-
3
- export class ScrcpyOptions1_20 extends ScrcpyOptions1_18 {
4
- constructor(init: ScrcpyOptions1_18.Init) {
5
- super(init);
6
- }
7
- }
8
-
9
- export namespace ScrcpyOptions1_20 {
10
- export type Init = ScrcpyOptions1_18.Init;
11
- }
1
+ export { ScrcpyOptions1_18 as ScrcpyOptions1_20 } from "./1_18/index.js";