@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
@@ -3,7 +3,7 @@ import type { ScrcpyScrollController } from "../../base/index.js";
3
3
  import type { ScrcpyInjectScrollControlMessage } from "../../latest.js";
4
4
  export declare const SignedFloat: Field<number, never, never>;
5
5
  export declare const InjectScrollControlMessage: import("@yume-chan/struct").Struct<{
6
- type: Field<3, never, never, number>;
6
+ type: import("@yume-chan/struct").NumberField<number>;
7
7
  pointerX: import("@yume-chan/struct").NumberField<number>;
8
8
  pointerY: import("@yume-chan/struct").NumberField<number>;
9
9
  videoWidth: import("@yume-chan/struct").NumberField<number>;
@@ -12,7 +12,7 @@ export declare const InjectScrollControlMessage: import("@yume-chan/struct").Str
12
12
  scrollY: Field<number, never, never, number>;
13
13
  buttons: import("@yume-chan/struct").NumberField<number>;
14
14
  }, undefined, import("@yume-chan/struct").FieldsValue<{
15
- type: Field<3, never, never, number>;
15
+ type: import("@yume-chan/struct").NumberField<number>;
16
16
  pointerX: import("@yume-chan/struct").NumberField<number>;
17
17
  pointerY: import("@yume-chan/struct").NumberField<number>;
18
18
  videoWidth: import("@yume-chan/struct").NumberField<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-controller.d.ts","sourceRoot":"","sources":["../../../src/1_25/impl/scroll-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAGxE,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAenD,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;GAa/B,CAAC;AAET,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAC/C,OAAO,0BAA0B,CACpC,CAAC;AAEF,qBAAa,gBAAiB,YAAW,sBAAsB;IAC3D,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAG5B;AAED,wBAAgB,sBAAsB,IAAI,sBAAsB,CAE/D"}
1
+ {"version":3,"file":"scroll-controller.d.ts","sourceRoot":"","sources":["../../../src/1_25/impl/scroll-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAGxE,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAenD,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;GAatC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAC/C,OAAO,0BAA0B,CACpC,CAAC;AAEF,qBAAa,gBAAiB,YAAW,sBAAsB;IAC3D,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAG5B;AAED,wBAAgB,sBAAsB,IAAI,sBAAsB,CAE/D"}
@@ -1,6 +1,5 @@
1
1
  import { getInt16, setInt16 } from "@yume-chan/no-data-view";
2
2
  import { field, struct, u16, u32, u8 } from "@yume-chan/struct";
3
- import { ScrcpyControlMessageType } from "../../base/index.js";
4
3
  import { clamp } from "../../utils/index.js";
5
4
  export const SignedFloat = field(2, "byob", (value, { buffer, index, littleEndian }) => {
6
5
  // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/app/src/util/binary.h#L51
@@ -13,8 +12,9 @@ export const SignedFloat = field(2, "byob", (value, { buffer, index, littleEndia
13
12
  // https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/server/src/main/java/com/genymobile/scrcpy/Binary.java#L34
14
13
  return value === 0x7fff ? 1 : value / 0x8000;
15
14
  });
16
- export const InjectScrollControlMessage = /* #__PURE__ */ (() => struct({
17
- type: u8(ScrcpyControlMessageType.InjectScroll),
15
+ export const InjectScrollControlMessage = struct({
16
+ // value of `type` can change between versions
17
+ type: u8,
18
18
  pointerX: u32,
19
19
  pointerY: u32,
20
20
  videoWidth: u16,
@@ -22,7 +22,7 @@ export const InjectScrollControlMessage = /* #__PURE__ */ (() => struct({
22
22
  scrollX: SignedFloat,
23
23
  scrollY: SignedFloat,
24
24
  buttons: u32,
25
- }, { littleEndian: false }))();
25
+ }, { littleEndian: false });
26
26
  export class ScrollController {
27
27
  serializeScrollMessage(message) {
28
28
  return InjectScrollControlMessage.serialize(message);
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-controller.js","sourceRoot":"","sources":["../../../src/1_25/impl/scroll-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAgC,KAAK,CACzD,CAAC,EACD,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;IACvC,+GAA+G;IAC/G,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC,EACD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9C,gJAAgJ;IAChJ,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;AACjD,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAC5D,MAAM,CACF;IACI,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,YAAY,CAAC;IAC/C,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,GAAG;CACf,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC,EAAE,CAAC;AAMT,MAAM,OAAO,gBAAgB;IACzB,sBAAsB,CAClB,OAAyC;QAEzC,OAAO,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACJ;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"scroll-controller.js","sourceRoot":"","sources":["../../../src/1_25/impl/scroll-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAIhE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAgC,KAAK,CACzD,CAAC,EACD,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;IACvC,+GAA+G;IAC/G,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC,EACD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9C,gJAAgJ;IAChJ,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;AACjD,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC5C;IACI,8CAA8C;IAC9C,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,GAAG;CACf,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAMF,MAAM,OAAO,gBAAgB;IACzB,sBAAsB,CAClB,OAAyC;QAEzC,OAAO,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACJ;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
3
- import type { ScrcpyControlMessageType, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
3
+ import type { MapBoolean, ScrcpyDisplay, ScrcpyEncoder, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream, ScrcpyVideoStreamPacket } from "../base/index.js";
4
4
  import { ScrcpyDeviceMessageParsers } from "../base/index.js";
5
- import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../latest.js";
6
- import type { Init } from "./impl/index.js";
7
- export declare class ScrcpyOptions1_25 implements ScrcpyOptions<Init>, ScrcpyOptionsListEncoders {
5
+ import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage, ScrcpySetDisplayPowerControlMessage } from "../latest.js";
6
+ import type { ComputeOptionTypes, Init } from "./impl/index.js";
7
+ import { ControlMessageTypes, Defaults } from "./impl/index.js";
8
+ export declare class ScrcpyOptions1_25<TInit extends Init = Init> implements ScrcpyOptions<ScrcpyOptions1_25.Value<TInit>>, ScrcpyOptionsListEncoders {
8
9
  #private;
9
10
  static readonly Defaults: {
10
11
  readonly powerOn: true;
@@ -29,26 +30,28 @@ export declare class ScrcpyOptions1_25 implements ScrcpyOptions<Init>, ScrcpyOpt
29
30
  readonly stayAwake: false;
30
31
  readonly codecOptions: undefined;
31
32
  };
32
- readonly value: Required<Init>;
33
- get controlMessageTypes(): readonly ScrcpyControlMessageType[];
34
- get clipboard(): ReadableStream<string> | undefined;
33
+ readonly value: ScrcpyOptions1_25.Value<TInit>;
34
+ get controlMessageTypes(): typeof ControlMessageTypes;
35
+ get clipboard(): MapBoolean<this["value"]["clipboardAutosync"], ReadableStream<string>, undefined>;
35
36
  get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
36
- constructor(init: Init);
37
+ constructor(init: TInit);
37
38
  serialize(): string[];
38
39
  setListDisplays(): void;
39
40
  parseDisplay(line: string): ScrcpyDisplay | undefined;
40
41
  setListEncoders(): void;
41
42
  parseEncoder(line: string): ScrcpyEncoder | undefined;
42
43
  parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
43
- createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
44
+ createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
44
45
  serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
45
46
  serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
46
47
  serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array | [Uint8Array, Promise<void>];
48
+ serializeSetDisplayPowerControlMessage(message: ScrcpySetDisplayPowerControlMessage): Uint8Array;
47
49
  createScrollController(): ScrcpyScrollController;
48
50
  }
49
51
  type Init_ = Init;
50
52
  export declare namespace ScrcpyOptions1_25 {
51
53
  type Init = Init_;
54
+ type Value<TInit extends Init> = ComputeOptionTypes<TInit, typeof Defaults>;
52
55
  }
53
56
  export {};
54
57
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_25/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAmB5C,qBAAa,iBACT,YAAW,aAAa,CAAC,IAAI,CAAC,EAAE,yBAAyB;;IAEzD,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,mBAAmB,IAAI,SAAS,wBAAwB,EAAE,CAE7D;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAKD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI;IActB,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAIzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAM3C,sBAAsB,IAAI,sBAAsB;CAGnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,iBAAiB,CAAC;IAC/B,KAAY,IAAI,GAAG,KAAK,CAAC;CAC5B"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/1_25/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EAChC,mCAAmC,EACtC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAIH,mBAAmB,EAGnB,QAAQ,EAYX,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,iBAAiB,CAAC,KAAK,SAAS,IAAI,GAAG,IAAI,CACpD,YACI,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC7C,yBAAyB;;IAE7B,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/C,IAAI,mBAAmB,IAAI,OAAO,mBAAmB,CAEpD;IAGD,IAAI,SAAS,IAAI,UAAU,CACvB,IAAI,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,EAClC,cAAc,CAAC,MAAM,CAAC,EACtB,SAAS,CACZ,CAEA;IAKD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,KAAK;IAgBvB,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAItC,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAOb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAOzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAU3C,sCAAsC,CAClC,OAAO,EAAE,mCAAmC,GAC7C,UAAU;IAOb,sBAAsB,IAAI,sBAAsB;CAMnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,iBAAiB,CAAC;IAC/B,KAAY,IAAI,GAAG,KAAK,CAAC;IAEzB,KAAY,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,kBAAkB,CACtD,KAAK,EACL,OAAO,QAAQ,CAClB,CAAC;CACL"}
@@ -1,5 +1,5 @@
1
1
  import { ScrcpyDeviceMessageParsers } from "../base/index.js";
2
- import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
2
+ import { AckClipboardHandler, ClipboardStream, computeOptionValues, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeSetClipboardControlMessage, serializeSetDisplayPowerControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
3
3
  export class ScrcpyOptions1_25 {
4
4
  static Defaults = Defaults;
5
5
  value;
@@ -16,9 +16,11 @@ export class ScrcpyOptions1_25 {
16
16
  return this.#deviceMessageParsers;
17
17
  }
18
18
  constructor(init) {
19
- this.value = { ...Defaults, ...init };
20
- if (this.value.control && this.value.clipboardAutosync) {
21
- this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
19
+ this.value = computeOptionValues(init, Defaults);
20
+ if (this.value.control) {
21
+ if (this.value.clipboardAutosync) {
22
+ this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
23
+ }
22
24
  this.#ackClipboardHandler = this.#deviceMessageParsers.add(new AckClipboardHandler());
23
25
  }
24
26
  }
@@ -38,21 +40,39 @@ export class ScrcpyOptions1_25 {
38
40
  return parseEncoder(line, EncoderRegex);
39
41
  }
40
42
  parseVideoStreamMetadata(stream) {
41
- return parseVideoStreamMetadata(this.value, stream);
43
+ return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta);
42
44
  }
43
45
  createMediaStreamTransformer() {
44
46
  return createMediaStreamTransformer(this.value);
45
47
  }
46
48
  serializeInjectTouchControlMessage(message) {
49
+ if (!this.value.control) {
50
+ throw new Error("control is disabled");
51
+ }
47
52
  return serializeInjectTouchControlMessage(message);
48
53
  }
49
54
  serializeBackOrScreenOnControlMessage(message) {
55
+ if (!this.value.control) {
56
+ throw new Error("control is disabled");
57
+ }
50
58
  return serializeBackOrScreenOnControlMessage(message);
51
59
  }
52
60
  serializeSetClipboardControlMessage(message) {
53
- return this.#ackClipboardHandler.serializeSetClipboardControlMessage(message);
61
+ if (!this.value.control) {
62
+ throw new Error("control is disabled");
63
+ }
64
+ return serializeSetClipboardControlMessage(message, this.#ackClipboardHandler);
65
+ }
66
+ serializeSetDisplayPowerControlMessage(message) {
67
+ if (!this.value.control) {
68
+ throw new Error("control is disabled");
69
+ }
70
+ return serializeSetDisplayPowerControlMessage(message);
54
71
  }
55
72
  createScrollController() {
73
+ if (!this.value.control) {
74
+ throw new Error("control is disabled");
75
+ }
56
76
  return createScrollController();
57
77
  }
58
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_25/options.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAQ9D,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,SAAS,EACT,qCAAqC,EACrC,kCAAkC,EAClC,eAAe,EACf,eAAe,GAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,iBAAiB;IAG1B,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC;IAE3B,KAAK,CAAiB;IAE/B,IAAI,mBAAmB;QACnB,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,UAAU,CAA8B;IACxC,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAkC;IAEtD,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACzD,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,YAAY,IAAU;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5C,IAAI,eAAe,EAAE,CACxB,CAAC;YAEF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CACtD,IAAI,mBAAmB,EAAE,CAC5B,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACX,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,wBAAwB,CACpB,MAAkC;QAElC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,4BAA4B;QAIxB,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kCAAkC,CAC9B,OAAwC;QAExC,OAAO,kCAAkC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC,CACjC,OAA2C;QAE3C,OAAO,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,mCAAmC,CAC/B,OAAyC;QAEzC,OAAO,IAAI,CAAC,oBAAqB,CAAC,mCAAmC,CACjE,OAAO,CACV,CAAC;IACN,CAAC;IAED,sBAAsB;QAClB,OAAO,sBAAsB,EAAE,CAAC;IACpC,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_25/options.ts"],"names":[],"mappings":"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"}
@@ -12,19 +12,10 @@ export declare const Defaults: {
12
12
  readonly listEncoders: false;
13
13
  readonly listDisplays: false;
14
14
  readonly sendCodecMeta: true;
15
- readonly powerOn: true;
16
- readonly cleanup: true;
17
- readonly downsizeOnError: true;
18
- readonly sendDeviceMeta: true;
19
- readonly sendDummyByte: true;
20
- readonly clipboardAutosync: true;
21
15
  readonly logLevel: "debug";
22
- readonly lockVideoOrientation: -1;
23
- readonly powerOffOnClose: false;
24
- readonly encoderName: undefined;
25
16
  readonly maxSize: 0;
26
- readonly bitRate: 8000000;
27
17
  readonly maxFps: 0;
18
+ readonly lockVideoOrientation: -1;
28
19
  readonly tunnelForward: false;
29
20
  readonly crop: undefined;
30
21
  readonly sendFrameMeta: true;
@@ -32,6 +23,12 @@ export declare const Defaults: {
32
23
  readonly displayId: 0;
33
24
  readonly showTouches: false;
34
25
  readonly stayAwake: false;
35
- readonly codecOptions: undefined;
26
+ readonly powerOffOnClose: false;
27
+ readonly clipboardAutosync: true;
28
+ readonly downsizeOnError: true;
29
+ readonly sendDeviceMeta: true;
30
+ readonly sendDummyByte: true;
31
+ readonly cleanup: true;
32
+ readonly powerOn: true;
36
33
  };
37
34
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBsB,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBsB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { omit } from "../../utils/index.js";
1
+ import { omit } from "../../utils/omit.js";
2
2
  import { PrevImpl } from "./prev.js";
3
- export const Defaults = /* #__PURE__ */ (() => ({
3
+ export const Defaults = /* #__PURE__*/ (() => ({
4
4
  ...omit(PrevImpl.Defaults, "bitRate", "codecOptions", "encoderName"),
5
5
  scid: undefined,
6
6
  videoCodec: "h264",
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAC1C,CAAC;IACG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC;IACpE,IAAI,EAAE,SAAS;IAEf,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,OAAO;IACrB,iBAAiB,EAAE,SAAS;IAC5B,YAAY,EAAE,SAAS;IAEvB,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,iBAAiB,EAAE,SAAS;IAC5B,YAAY,EAAE,SAAS;IAEvB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,IAAI;CACtB,CAAmC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,CACzC,CAAC;IACG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC;IAEpE,IAAI,EAAE,SAAS;IAEf,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,OAAO;IACrB,iBAAiB,EAAE,SAAS;IAC5B,YAAY,EAAE,SAAS;IAEvB,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,iBAAiB,EAAE,SAAS;IAC5B,YAAY,EAAE,SAAS;IAEvB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,IAAI;CACtB,CAAmC,CAAC,EAAE,CAAC"}
@@ -5,7 +5,7 @@ export { InjectTouchControlMessage, serializeInjectTouchControlMessage, } from "
5
5
  export * from "./parse-audio-stream-metadata.js";
6
6
  export { parseDisplay } from "./parse-display.js";
7
7
  export { parseEncoder } from "./parse-encoder.js";
8
- export { parseVideoStreamMetadata } from "./parse-video-stream-metadata.js";
8
+ export { parseVideoCodecOption, parseVideoStreamMetadata, parseVideoStreamMetadataAsync, } from "./parse-video-stream-metadata.js";
9
9
  export { setListDisplays } from "./set-list-display.js";
10
10
  export { setListEncoders } from "./set-list-encoder.js";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,GAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -5,7 +5,7 @@ export { InjectTouchControlMessage, serializeInjectTouchControlMessage, } from "
5
5
  export * from "./parse-audio-stream-metadata.js";
6
6
  export { parseDisplay } from "./parse-display.js";
7
7
  export { parseEncoder } from "./parse-encoder.js";
8
- export { parseVideoStreamMetadata } from "./parse-video-stream-metadata.js";
8
+ export { parseVideoCodecOption, parseVideoStreamMetadata, parseVideoStreamMetadataAsync, } from "./parse-video-stream-metadata.js";
9
9
  export { setListDisplays } from "./set-list-display.js";
10
10
  export { setListEncoders } from "./set-list-encoder.js";
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,GAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -9,17 +9,17 @@ export declare class InstanceId implements ScrcpyOptionValue {
9
9
  }
10
10
  export interface Init extends Omit<PrevImpl.Init, "bitRate" | "codecOptions" | "encoderName"> {
11
11
  scid?: InstanceId | string | undefined;
12
- videoCodec?: "h264" | "h265" | "av1";
13
- videoBitRate?: number;
12
+ videoCodec?: "h264" | "h265" | "av1" | undefined;
13
+ videoBitRate?: number | undefined;
14
14
  videoCodecOptions?: PrevImpl.CodecOptions | string | undefined;
15
15
  videoEncoder?: string | undefined;
16
- audio?: boolean;
17
- audioCodec?: "raw" | "opus" | "aac";
18
- audioBitRate?: number;
16
+ audio?: boolean | undefined;
17
+ audioCodec?: "raw" | "opus" | "aac" | undefined;
18
+ audioBitRate?: number | undefined;
19
19
  audioCodecOptions?: PrevImpl.CodecOptions | string | undefined;
20
20
  audioEncoder?: string | undefined;
21
- listEncoders?: boolean;
22
- listDisplays?: boolean;
23
- sendCodecMeta?: boolean;
21
+ listEncoders?: boolean | undefined;
22
+ listDisplays?: boolean | undefined;
23
+ sendCodecMeta?: boolean | undefined;
24
24
  }
25
25
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,UAAW,YAAW,iBAAiB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsC;IAE1D,MAAM,CAAC,MAAM,IAAI,UAAU;IAK3B,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAMtC;AAED,MAAM,WAAW,IACb,SAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC;IACvE,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,UAAW,YAAW,iBAAiB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsC;IAE1D,MAAM,CAAC,MAAM,IAAI,UAAU;IAK3B,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAMtC;AAED,MAAM,WAAW,IAAK,SAAQ,IAAI,CAC9B,QAAQ,CAAC,IAAI,EACb,SAAS,GAAG,cAAc,GAAG,aAAa,CAC7C;IACG,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC"}
@@ -2,7 +2,7 @@ import type { StructInit } from "@yume-chan/struct";
2
2
  import type { AndroidMotionEventAction } from "../../android/motion-event.js";
3
3
  import type { ScrcpyInjectTouchControlMessage } from "../../latest.js";
4
4
  export declare const InjectTouchControlMessage: import("@yume-chan/struct").Struct<{
5
- type: import("@yume-chan/struct").Field<2, never, never, number>;
5
+ type: import("@yume-chan/struct").NumberField<number>;
6
6
  action: import("@yume-chan/struct").Field<AndroidMotionEventAction, never, never, number>;
7
7
  pointerId: import("@yume-chan/struct").NumberField<bigint>;
8
8
  pointerX: import("@yume-chan/struct").NumberField<number>;
@@ -13,7 +13,7 @@ export declare const InjectTouchControlMessage: import("@yume-chan/struct").Stru
13
13
  actionButton: import("@yume-chan/struct").NumberField<number>;
14
14
  buttons: import("@yume-chan/struct").NumberField<number>;
15
15
  }, undefined, import("@yume-chan/struct").FieldsValue<{
16
- type: import("@yume-chan/struct").Field<2, never, never, number>;
16
+ type: import("@yume-chan/struct").NumberField<number>;
17
17
  action: import("@yume-chan/struct").Field<AndroidMotionEventAction, never, never, number>;
18
18
  pointerId: import("@yume-chan/struct").NumberField<bigint>;
19
19
  pointerX: import("@yume-chan/struct").NumberField<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-touch.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/inject-touch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAIvE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;GAe9B,CAAC;AAET,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAC9C,OAAO,yBAAyB,CACnC,CAAC;AAEF,wBAAgB,kCAAkC,CAC9C,OAAO,EAAE,+BAA+B,GACzC,UAAU,CAEZ"}
1
+ {"version":3,"file":"inject-touch.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/inject-touch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAIvE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;GAerC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAC9C,OAAO,yBAAyB,CACnC,CAAC;AAEF,wBAAgB,kCAAkC,CAC9C,OAAO,EAAE,+BAA+B,GACzC,UAAU,CAEZ"}
@@ -1,8 +1,8 @@
1
1
  import { struct, u16, u32, u64, u8 } from "@yume-chan/struct";
2
- import { ScrcpyControlMessageType } from "../../base/control-message-type.js";
3
2
  import { PrevImpl } from "./prev.js";
4
- export const InjectTouchControlMessage = /* #__PURE__ */ (() => struct({
5
- type: u8(ScrcpyControlMessageType.InjectTouch),
3
+ export const InjectTouchControlMessage = struct({
4
+ // value of `type` can change between versions
5
+ type: u8,
6
6
  action: u8(),
7
7
  pointerId: u64,
8
8
  pointerX: u32,
@@ -12,7 +12,7 @@ export const InjectTouchControlMessage = /* #__PURE__ */ (() => struct({
12
12
  pressure: PrevImpl.UnsignedFloat,
13
13
  actionButton: u32,
14
14
  buttons: u32,
15
- }, { littleEndian: false }))();
15
+ }, { littleEndian: false });
16
16
  export function serializeInjectTouchControlMessage(message) {
17
17
  return InjectTouchControlMessage.serialize(message);
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inject-touch.js","sourceRoot":"","sources":["../../../src/2_0/impl/inject-touch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAG9E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC,CAAC,GAAG,EAAE,CAC3D,MAAM,CACF;IACI,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,WAAW,CAAC;IAC9C,MAAM,EAAE,EAAE,EAA4B;IACtC,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,QAAQ,CAAC,aAAa;IAChC,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,GAAG;CACf,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC,EAAE,CAAC;AAMT,MAAM,UAAU,kCAAkC,CAC9C,OAAwC;IAExC,OAAO,yBAAyB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"inject-touch.js","sourceRoot":"","sources":["../../../src/2_0/impl/inject-touch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAK9D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAC3C;IACI,8CAA8C;IAC9C,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE,EAA4B;IACtC,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,QAAQ,CAAC,aAAa;IAChC,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,GAAG;CACf,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CAC1B,CAAC;AAMF,MAAM,UAAU,kCAAkC,CAC9C,OAAwC;IAExC,OAAO,yBAAyB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import type { ReadableStream } from "@yume-chan/stream-extra";
2
2
  import type { Init } from "../../2_3/impl/init.js";
3
3
  import type { ScrcpyAudioStreamMetadata } from "../../base/index.js";
4
- export declare function parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>, options: Pick<Required<Init<boolean>>, "sendCodecMeta" | "audioCodec">): Promise<ScrcpyAudioStreamMetadata>;
4
+ import { ScrcpyAudioCodec } from "../../base/index.js";
5
+ export declare function parseAudioMetadataCodec(codec: number): ScrcpyAudioCodec;
6
+ export declare function parseAudioCodecOption(audioCodec: Exclude<Init["audioCodec"], undefined>): ScrcpyAudioCodec;
7
+ export declare function parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>, sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>, parseMetadataCodec: (codec: number) => ScrcpyAudioCodec, fallbackCodec: ScrcpyAudioCodec): Promise<ScrcpyAudioStreamMetadata>;
5
8
  //# sourceMappingURL=parse-audio-stream-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-audio-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGrE,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,GAAG,YAAY,CAAC,GACvE,OAAO,CAAC,yBAAyB,CAAC,CAoFpC"}
1
+ {"version":3,"file":"parse-audio-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWvE;AAED,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GACnD,gBAAgB,CAWlB;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EACxD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EACvD,aAAa,EAAE,gBAAgB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAwCpC"}
@@ -1,7 +1,31 @@
1
1
  import { getUint32BigEndian } from "@yume-chan/no-data-view";
2
2
  import { BufferedReadableStream, PushReadableStream, } from "@yume-chan/stream-extra";
3
3
  import { ScrcpyAudioCodec } from "../../base/index.js";
4
- export async function parseAudioStreamMetadata(stream, options) {
4
+ export function parseAudioMetadataCodec(codec) {
5
+ switch (codec) {
6
+ case ScrcpyAudioCodec.Raw.metadataValue:
7
+ return ScrcpyAudioCodec.Raw;
8
+ case ScrcpyAudioCodec.Opus.metadataValue:
9
+ return ScrcpyAudioCodec.Opus;
10
+ case ScrcpyAudioCodec.Aac.metadataValue:
11
+ return ScrcpyAudioCodec.Aac;
12
+ default:
13
+ throw new Error(`Unknown audio codec metadata value: ${codec}`);
14
+ }
15
+ }
16
+ export function parseAudioCodecOption(audioCodec) {
17
+ switch (audioCodec) {
18
+ case "raw":
19
+ return ScrcpyAudioCodec.Raw;
20
+ case "opus":
21
+ return ScrcpyAudioCodec.Opus;
22
+ case "aac":
23
+ return ScrcpyAudioCodec.Aac;
24
+ default:
25
+ throw new Error(`Unknown audio codec: ${audioCodec}`);
26
+ }
27
+ }
28
+ export async function parseAudioStreamMetadata(stream, sendCodecMeta, parseMetadataCodec, fallbackCodec) {
5
29
  const buffered = new BufferedReadableStream(stream);
6
30
  const buffer = await buffered.readExactly(4);
7
31
  // Treat it as a 32-bit number for simpler comparisons
@@ -17,62 +41,22 @@ export async function parseAudioStreamMetadata(stream, options) {
17
41
  type: "errored",
18
42
  };
19
43
  }
20
- if (options.sendCodecMeta) {
21
- let codec;
22
- switch (codecMetadataValue) {
23
- case ScrcpyAudioCodec.Raw.metadataValue:
24
- codec = ScrcpyAudioCodec.Raw;
25
- break;
26
- case ScrcpyAudioCodec.Opus.metadataValue:
27
- codec = ScrcpyAudioCodec.Opus;
28
- break;
29
- case ScrcpyAudioCodec.Aac.metadataValue:
30
- codec = ScrcpyAudioCodec.Aac;
31
- break;
32
- case ScrcpyAudioCodec.Flac.metadataValue:
33
- codec = ScrcpyAudioCodec.Flac;
34
- break;
35
- default:
36
- throw new Error(`Unknown audio codec metadata value: ${codecMetadataValue}`);
37
- }
44
+ if (sendCodecMeta) {
38
45
  return {
39
46
  type: "success",
40
- codec,
47
+ codec: parseMetadataCodec(codecMetadataValue),
41
48
  stream: buffered.release(),
42
49
  };
43
50
  }
44
- // Infer codec from `audioCodec` option
45
- let codec;
46
- switch (options.audioCodec) {
47
- case "raw":
48
- codec = ScrcpyAudioCodec.Raw;
49
- break;
50
- case "opus":
51
- codec = ScrcpyAudioCodec.Opus;
52
- break;
53
- case "aac":
54
- codec = ScrcpyAudioCodec.Aac;
55
- break;
56
- case "flac":
57
- codec = ScrcpyAudioCodec.Flac;
58
- break;
59
- default:
60
- throw new Error(`Unknown audio codec metadata value: ${codecMetadataValue}`);
61
- }
62
51
  return {
63
52
  type: "success",
64
- codec,
53
+ codec: fallbackCodec,
65
54
  stream: new PushReadableStream(async (controller) => {
66
55
  // Put the first 4 bytes back
67
56
  await controller.enqueue(buffer);
68
57
  const stream = buffered.release();
69
- const reader = stream.getReader();
70
- while (true) {
71
- const { done, value } = await reader.read();
72
- if (done) {
73
- break;
74
- }
75
- await controller.enqueue(value);
58
+ for await (const chunk of stream) {
59
+ await controller.enqueue(chunk);
76
60
  }
77
61
  }),
78
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parse-audio-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-audio-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACH,sBAAsB,EACtB,kBAAkB,GACrB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACjD,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,gBAAgB,CAAC,GAAG,CAAC,aAAa;YACnC,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC,KAAK,gBAAgB,CAAC,IAAI,CAAC,aAAa;YACpC,OAAO,gBAAgB,CAAC,IAAI,CAAC;QACjC,KAAK,gBAAgB,CAAC,GAAG,CAAC,aAAa;YACnC,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC;YACI,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,UAAkD;IAElD,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,KAAK;YACN,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC,KAAK,MAAM;YACP,OAAO,gBAAgB,CAAC,IAAI,CAAC;QACjC,KAAK,KAAK;YACN,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC;YACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,MAAkC,EAClC,aAAwD,EACxD,kBAAuD,EACvD,aAA+B;IAE/B,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7C,sDAAsD;IACtD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,wFAAwF;IACxF,QAAQ,kBAAkB,EAAE,CAAC;QACzB,KAAK,aAAa;YACd,OAAO;gBACH,IAAI,EAAE,UAAU;aACnB,CAAC;QACN,KAAK,aAAa;YACd,OAAO;gBACH,IAAI,EAAE,SAAS;aAClB,CAAC;IACV,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO;YACH,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,kBAAkB,CAAC,kBAAkB,CAAC;YAC7C,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;SAC7B,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,IAAI,kBAAkB,CAAa,KAAK,EAAE,UAAU,EAAE,EAAE;YAC5D,6BAA6B;YAC7B,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAElC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACL,CAAC,CAAC;KACL,CAAC;AACN,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { ReadableStream } from "@yume-chan/stream-extra";
3
- import type { ScrcpyVideoStream } from "../../base/video.js";
3
+ import type { ScrcpyVideoStream } from "../../base/index.js";
4
+ import { ScrcpyVideoCodecId } from "../../video/index.js";
4
5
  import type { Init } from "./init.js";
5
- export declare function parseVideoStreamMetadata(options: Pick<Required<Init>, "sendDeviceMeta" | "sendCodecMeta" | "videoCodec">, stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
6
+ export declare function parseVideoCodecOption(codec: Exclude<Init["videoCodec"], undefined>): ScrcpyVideoCodecId;
7
+ export declare function parseVideoStreamMetadataAsync(stream: ReadableStream<Uint8Array>, sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>, sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>, fallbackCodec: ScrcpyVideoCodecId): Promise<ScrcpyVideoStream>;
8
+ export declare function parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>, sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>, sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>, fallbackCodec: ScrcpyVideoCodecId, parseAsync: typeof parseVideoStreamMetadataAsync): MaybePromiseLike<ScrcpyVideoStream>;
6
9
  //# sourceMappingURL=parse-video-stream-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-video-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiDtC,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,IAAI,CACT,QAAQ,CAAC,IAAI,CAAC,EACd,gBAAgB,GAAG,eAAe,GAAG,YAAY,CACpD,EACD,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC,CASrC"}
1
+ {"version":3,"file":"parse-video-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GAC9C,kBAAkB,CAYpB;AAED,wBAAsB,6BAA6B,CAC/C,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,EAC1D,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EACxD,aAAa,EAAE,kBAAkB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAyB5B;AAGD,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,EAC1D,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EACxD,aAAa,EAAE,kBAAkB,EACjC,UAAU,EAAE,OAAO,6BAA6B,GACjD,gBAAgB,CAAC,iBAAiB,CAAC,CASrC"}
@@ -1,49 +1,51 @@
1
1
  import { BufferedReadableStream } from "@yume-chan/stream-extra";
2
- import { ScrcpyVideoCodecId } from "../../base/video.js";
2
+ import { ScrcpyVideoCodecId } from "../../video/index.js";
3
3
  import { PrevImpl } from "./prev.js";
4
- function toCodecId(codec) {
4
+ export function parseVideoCodecOption(codec) {
5
5
  switch (codec) {
6
6
  case "h264":
7
7
  return ScrcpyVideoCodecId.H264;
8
8
  case "h265":
9
9
  return ScrcpyVideoCodecId.H265;
10
10
  case "av1":
11
- return ScrcpyVideoCodecId.AV1;
11
+ return ScrcpyVideoCodecId.Av1;
12
12
  default:
13
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
13
14
  throw new Error(`Unknown video codec: ${codec}`);
14
15
  }
15
16
  }
16
- async function parseAsync(options, stream) {
17
+ export async function parseVideoStreamMetadataAsync(stream, sendDeviceMeta, sendCodecMeta, fallbackCodec) {
17
18
  const buffered = new BufferedReadableStream(stream);
18
19
  // `sendDeviceMeta` now only contains device name,
19
- // can't use `super.parseVideoStreamMetadata` here
20
+ // can't use `PrevImpl.parseVideoStreamMetadata` here
20
21
  let deviceName;
21
- if (options.sendDeviceMeta) {
22
+ if (sendDeviceMeta) {
22
23
  deviceName = await PrevImpl.readString(buffered, 64);
23
24
  }
24
25
  let codec;
25
26
  let width;
26
27
  let height;
27
- if (options.sendCodecMeta) {
28
+ if (sendCodecMeta) {
28
29
  codec = (await PrevImpl.readU32(buffered));
29
30
  width = await PrevImpl.readU32(buffered);
30
31
  height = await PrevImpl.readU32(buffered);
31
32
  }
32
33
  else {
33
- codec = toCodecId(options.videoCodec);
34
+ codec = fallbackCodec;
34
35
  }
35
36
  return {
36
37
  stream: buffered.release(),
37
38
  metadata: { deviceName, codec, width, height },
38
39
  };
39
40
  }
40
- export function parseVideoStreamMetadata(options, stream) {
41
- if (!options.sendDeviceMeta && !options.sendCodecMeta) {
41
+ // eslint-disable-next-line @typescript-eslint/max-params
42
+ export function parseVideoStreamMetadata(stream, sendDeviceMeta, sendCodecMeta, fallbackCodec, parseAsync) {
43
+ if (!sendDeviceMeta && !sendCodecMeta) {
42
44
  return {
43
45
  stream,
44
- metadata: { codec: toCodecId(options.videoCodec) },
46
+ metadata: { codec: fallbackCodec },
45
47
  };
46
48
  }
47
- return parseAsync(options, stream);
49
+ return parseAsync(stream, sendDeviceMeta, sendCodecMeta, fallbackCodec);
48
50
  }
49
51
  //# sourceMappingURL=parse-video-stream-metadata.js.map