@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
@@ -2,69 +2,85 @@ 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
+ MapBoolean,
5
6
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
7
  ScrcpyDisplay,
8
8
  ScrcpyEncoder,
9
- ScrcpyMediaStreamPacket,
10
9
  ScrcpyOptions,
11
10
  ScrcpyOptionsListEncoders,
12
11
  ScrcpyScrollController,
13
12
  ScrcpyVideoStream,
13
+ ScrcpyVideoStreamPacket,
14
14
  } from "../base/index.js";
15
15
  import { ScrcpyDeviceMessageParsers } from "../base/index.js";
16
16
  import type {
17
17
  ScrcpyBackOrScreenOnControlMessage,
18
18
  ScrcpyInjectTouchControlMessage,
19
19
  ScrcpySetClipboardControlMessage,
20
+ ScrcpySetDisplayPowerControlMessage,
20
21
  ScrcpyUHidCreateControlMessage,
21
22
  ScrcpyUHidOutputDeviceMessage,
22
23
  } from "../latest.js";
23
24
 
24
- import type { Init } from "./impl/index.js";
25
+ import type { ComputeOptionTypes, Init } from "./impl/index.js";
25
26
  import {
26
27
  AckClipboardHandler,
27
28
  ClipboardStream,
29
+ computeOptionValues,
28
30
  ControlMessageTypes,
29
31
  createMediaStreamTransformer,
30
32
  createScrollController,
31
33
  Defaults,
34
+ parseAudioCodecOption,
35
+ parseAudioMetadataCodec,
32
36
  parseAudioStreamMetadata,
33
37
  parseDisplay,
34
38
  parseEncoder,
39
+ parseVideoCodecOption,
35
40
  parseVideoStreamMetadata,
41
+ parseVideoStreamMetadataAsync,
36
42
  serialize,
37
43
  serializeBackOrScreenOnControlMessage,
38
44
  serializeInjectTouchControlMessage,
45
+ serializeSetClipboardControlMessage,
46
+ serializeSetDisplayPowerControlMessage,
39
47
  serializeUHidCreateControlMessage,
40
48
  setListDisplays,
41
49
  setListEncoders,
42
50
  UHidOutputStream,
43
51
  } from "./impl/index.js";
44
52
 
45
- export class ScrcpyOptions3_2<TVideo extends boolean>
46
- implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
53
+ export class ScrcpyOptions3_2<TInit extends Init = Init>
54
+ implements
55
+ ScrcpyOptions<ScrcpyOptions3_2.Value<TInit>>,
56
+ ScrcpyOptionsListEncoders
47
57
  {
48
58
  static readonly Defaults = Defaults;
49
59
 
50
- readonly value: Required<Init<TVideo>>;
60
+ readonly value: ScrcpyOptions3_2.Value<TInit>;
51
61
 
52
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
62
+ get controlMessageTypes(): typeof ControlMessageTypes {
53
63
  return ControlMessageTypes;
54
64
  }
55
65
 
56
66
  #clipboard: ClipboardStream | undefined;
57
- get clipboard(): ReadableStream<string> | undefined {
58
- return this.#clipboard;
67
+ get clipboard(): MapBoolean<
68
+ this["value"]["clipboardAutosync"],
69
+ ReadableStream<string>,
70
+ undefined
71
+ > {
72
+ return this.#clipboard as never;
59
73
  }
60
74
 
61
75
  #ackClipboardHandler: AckClipboardHandler | undefined;
62
76
 
63
77
  #uHidOutput: UHidOutputStream | undefined;
64
- get uHidOutput():
65
- | ReadableStream<ScrcpyUHidOutputDeviceMessage>
66
- | undefined {
67
- return this.#uHidOutput;
78
+ get uHidOutput(): MapBoolean<
79
+ this["value"]["control"],
80
+ ReadableStream<ScrcpyUHidOutputDeviceMessage>,
81
+ undefined
82
+ > {
83
+ return this.#uHidOutput as never;
68
84
  }
69
85
 
70
86
  #deviceMessageParsers = new ScrcpyDeviceMessageParsers();
@@ -72,28 +88,20 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
72
88
  return this.#deviceMessageParsers;
73
89
  }
74
90
 
75
- constructor(init: Init<TVideo>) {
76
- this.value = { ...Defaults, ...init } as never;
77
-
78
- if (this.value.videoSource === "camera") {
79
- this.value.control = false;
80
- }
81
-
82
- if (this.value.audioDup) {
83
- this.value.audioSource = "playback";
84
- }
91
+ constructor(init: TInit) {
92
+ this.value = computeOptionValues(init, Defaults);
85
93
 
86
94
  if (this.value.control) {
87
95
  if (this.value.clipboardAutosync) {
88
96
  this.#clipboard = this.#deviceMessageParsers.add(
89
97
  new ClipboardStream(),
90
98
  );
91
-
92
- this.#ackClipboardHandler = this.#deviceMessageParsers.add(
93
- new AckClipboardHandler(),
94
- );
95
99
  }
96
100
 
101
+ this.#ackClipboardHandler = this.#deviceMessageParsers.add(
102
+ new AckClipboardHandler(),
103
+ );
104
+
97
105
  this.#uHidOutput = this.#deviceMessageParsers.add(
98
106
  new UHidOutputStream(),
99
107
  );
@@ -101,7 +109,7 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
101
109
  }
102
110
 
103
111
  serialize(): string[] {
104
- return serialize<Init<boolean>>(this.value, Defaults);
112
+ return serialize(this.value, Defaults);
105
113
  }
106
114
 
107
115
  setListDisplays(): void {
@@ -123,18 +131,29 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
123
131
  parseVideoStreamMetadata(
124
132
  stream: ReadableStream<Uint8Array>,
125
133
  ): MaybePromiseLike<ScrcpyVideoStream> {
126
- return parseVideoStreamMetadata(this.value, stream);
134
+ return parseVideoStreamMetadata(
135
+ stream,
136
+ this.value.sendDeviceMeta,
137
+ this.value.sendCodecMeta,
138
+ parseVideoCodecOption(this.value.videoCodec),
139
+ parseVideoStreamMetadataAsync,
140
+ );
127
141
  }
128
142
 
129
143
  parseAudioStreamMetadata(
130
144
  stream: ReadableStream<Uint8Array>,
131
145
  ): MaybePromiseLike<ScrcpyAudioStreamMetadata> {
132
- return parseAudioStreamMetadata(stream, this.value);
146
+ return parseAudioStreamMetadata(
147
+ stream,
148
+ this.value.sendCodecMeta,
149
+ parseAudioMetadataCodec,
150
+ parseAudioCodecOption(this.value.audioCodec),
151
+ );
133
152
  }
134
153
 
135
154
  createMediaStreamTransformer(): TransformStream<
136
155
  Uint8Array,
137
- ScrcpyMediaStreamPacket
156
+ ScrcpyVideoStreamPacket
138
157
  > {
139
158
  return createMediaStreamTransformer(this.value);
140
159
  }
@@ -142,36 +161,66 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
142
161
  serializeInjectTouchControlMessage(
143
162
  message: ScrcpyInjectTouchControlMessage,
144
163
  ): Uint8Array {
164
+ if (!this.value.control) {
165
+ throw new Error("control is disabled");
166
+ }
145
167
  return serializeInjectTouchControlMessage(message);
146
168
  }
147
169
 
148
170
  serializeBackOrScreenOnControlMessage(
149
171
  message: ScrcpyBackOrScreenOnControlMessage,
150
172
  ): Uint8Array | undefined {
173
+ if (!this.value.control) {
174
+ throw new Error("control is disabled");
175
+ }
151
176
  return serializeBackOrScreenOnControlMessage(message);
152
177
  }
153
178
 
154
179
  serializeSetClipboardControlMessage(
155
180
  message: ScrcpySetClipboardControlMessage,
156
181
  ): Uint8Array | [Uint8Array, Promise<void>] {
157
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
182
+ if (!this.value.control) {
183
+ throw new Error("control is disabled");
184
+ }
185
+ return serializeSetClipboardControlMessage(
158
186
  message,
187
+ this.#ackClipboardHandler,
159
188
  );
160
189
  }
161
190
 
191
+ serializeSetDisplayPowerControlMessage(
192
+ message: ScrcpySetDisplayPowerControlMessage,
193
+ ): Uint8Array {
194
+ if (!this.value.control) {
195
+ throw new Error("control is disabled");
196
+ }
197
+ return serializeSetDisplayPowerControlMessage(message);
198
+ }
199
+
162
200
  createScrollController(): ScrcpyScrollController {
201
+ if (!this.value.control) {
202
+ throw new Error("control is disabled");
203
+ }
163
204
  return createScrollController();
164
205
  }
165
206
 
166
207
  serializeUHidCreateControlMessage(
167
208
  message: ScrcpyUHidCreateControlMessage,
168
209
  ): Uint8Array {
210
+ if (!this.value.control) {
211
+ throw new Error("control is disabled");
212
+ }
169
213
  return serializeUHidCreateControlMessage(message);
170
214
  }
171
215
  }
172
216
 
173
- type Init_<TVideo extends boolean> = Init<TVideo>;
217
+ type Init_ = Init;
174
218
 
175
219
  export namespace ScrcpyOptions3_2 {
176
- export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
220
+ export type Init = Init_;
221
+
222
+ export type Value<TInit extends Init> = ComputeOptionTypes<
223
+ TInit,
224
+ typeof Defaults
225
+ >;
177
226
  }
package/src/3_3.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions3_2 } from "./3_2/index.js";
2
-
3
- export class ScrcpyOptions3_3<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions3_2<TVideo> {
6
- constructor(init: ScrcpyOptions3_2.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions3_3 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions3_2.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions3_2 as ScrcpyOptions3_3 } from "./3_2/index.js";
@@ -2,69 +2,85 @@ 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
+ MapBoolean,
5
6
  ScrcpyAudioStreamMetadata,
6
- ScrcpyControlMessageType,
7
7
  ScrcpyDisplay,
8
8
  ScrcpyEncoder,
9
- ScrcpyMediaStreamPacket,
10
9
  ScrcpyOptions,
11
10
  ScrcpyOptionsListEncoders,
12
11
  ScrcpyScrollController,
13
12
  ScrcpyVideoStream,
13
+ ScrcpyVideoStreamPacket,
14
14
  } from "../base/index.js";
15
15
  import { ScrcpyDeviceMessageParsers } from "../base/index.js";
16
16
  import type {
17
17
  ScrcpyBackOrScreenOnControlMessage,
18
18
  ScrcpyInjectTouchControlMessage,
19
19
  ScrcpySetClipboardControlMessage,
20
+ ScrcpySetDisplayPowerControlMessage,
20
21
  ScrcpyUHidCreateControlMessage,
21
22
  ScrcpyUHidOutputDeviceMessage,
22
23
  } from "../latest.js";
23
24
 
24
- import type { Init } from "./impl/index.js";
25
+ import type { ComputeOptionTypes, Init } from "./impl/index.js";
25
26
  import {
26
27
  AckClipboardHandler,
27
28
  ClipboardStream,
29
+ computeOptionValues,
28
30
  ControlMessageTypes,
29
31
  createMediaStreamTransformer,
30
32
  createScrollController,
31
33
  Defaults,
34
+ parseAudioCodecOption,
35
+ parseAudioMetadataCodec,
32
36
  parseAudioStreamMetadata,
33
37
  parseDisplay,
34
38
  parseEncoder,
39
+ parseVideoCodecOption,
35
40
  parseVideoStreamMetadata,
41
+ parseVideoStreamMetadataAsync,
36
42
  serialize,
37
43
  serializeBackOrScreenOnControlMessage,
38
44
  serializeInjectTouchControlMessage,
45
+ serializeSetClipboardControlMessage,
46
+ serializeSetDisplayPowerControlMessage,
39
47
  serializeUHidCreateControlMessage,
40
48
  setListDisplays,
41
49
  setListEncoders,
42
50
  UHidOutputStream,
43
51
  } from "./impl/index.js";
44
52
 
45
- export class ScrcpyOptions3_3_1<TVideo extends boolean>
46
- implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
53
+ export class ScrcpyOptions3_3_1<TInit extends Init = Init>
54
+ implements
55
+ ScrcpyOptions<ScrcpyOptions3_3_1.Value<TInit>>,
56
+ ScrcpyOptionsListEncoders
47
57
  {
48
58
  static readonly Defaults = Defaults;
49
59
 
50
- readonly value: Required<Init<TVideo>>;
60
+ readonly value: ScrcpyOptions3_3_1.Value<TInit>;
51
61
 
52
- get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
62
+ get controlMessageTypes(): typeof ControlMessageTypes {
53
63
  return ControlMessageTypes;
54
64
  }
55
65
 
56
66
  #clipboard: ClipboardStream | undefined;
57
- get clipboard(): ReadableStream<string> | undefined {
58
- return this.#clipboard;
67
+ get clipboard(): MapBoolean<
68
+ this["value"]["clipboardAutosync"],
69
+ ReadableStream<string>,
70
+ undefined
71
+ > {
72
+ return this.#clipboard as never;
59
73
  }
60
74
 
61
75
  #ackClipboardHandler: AckClipboardHandler | undefined;
62
76
 
63
77
  #uHidOutput: UHidOutputStream | undefined;
64
- get uHidOutput():
65
- | ReadableStream<ScrcpyUHidOutputDeviceMessage>
66
- | undefined {
67
- return this.#uHidOutput;
78
+ get uHidOutput(): MapBoolean<
79
+ this["value"]["control"],
80
+ ReadableStream<ScrcpyUHidOutputDeviceMessage>,
81
+ undefined
82
+ > {
83
+ return this.#uHidOutput as never;
68
84
  }
69
85
 
70
86
  #deviceMessageParsers = new ScrcpyDeviceMessageParsers();
@@ -72,28 +88,20 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
72
88
  return this.#deviceMessageParsers;
73
89
  }
74
90
 
75
- constructor(init: Init<TVideo>) {
76
- this.value = { ...Defaults, ...init } as never;
77
-
78
- if (this.value.videoSource === "camera") {
79
- this.value.control = false;
80
- }
81
-
82
- if (this.value.audioDup) {
83
- this.value.audioSource = "playback";
84
- }
91
+ constructor(init: TInit) {
92
+ this.value = computeOptionValues(init, Defaults);
85
93
 
86
94
  if (this.value.control) {
87
95
  if (this.value.clipboardAutosync) {
88
96
  this.#clipboard = this.#deviceMessageParsers.add(
89
97
  new ClipboardStream(),
90
98
  );
91
-
92
- this.#ackClipboardHandler = this.#deviceMessageParsers.add(
93
- new AckClipboardHandler(),
94
- );
95
99
  }
96
100
 
101
+ this.#ackClipboardHandler = this.#deviceMessageParsers.add(
102
+ new AckClipboardHandler(),
103
+ );
104
+
97
105
  this.#uHidOutput = this.#deviceMessageParsers.add(
98
106
  new UHidOutputStream(),
99
107
  );
@@ -101,7 +109,7 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
101
109
  }
102
110
 
103
111
  serialize(): string[] {
104
- return serialize<Init<boolean>>(this.value, Defaults);
112
+ return serialize(this.value, Defaults);
105
113
  }
106
114
 
107
115
  setListDisplays(): void {
@@ -123,18 +131,29 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
123
131
  parseVideoStreamMetadata(
124
132
  stream: ReadableStream<Uint8Array>,
125
133
  ): MaybePromiseLike<ScrcpyVideoStream> {
126
- return parseVideoStreamMetadata(this.value, stream);
134
+ return parseVideoStreamMetadata(
135
+ stream,
136
+ this.value.sendDeviceMeta,
137
+ this.value.sendCodecMeta,
138
+ parseVideoCodecOption(this.value.videoCodec),
139
+ parseVideoStreamMetadataAsync,
140
+ );
127
141
  }
128
142
 
129
143
  parseAudioStreamMetadata(
130
144
  stream: ReadableStream<Uint8Array>,
131
145
  ): MaybePromiseLike<ScrcpyAudioStreamMetadata> {
132
- return parseAudioStreamMetadata(stream, this.value);
146
+ return parseAudioStreamMetadata(
147
+ stream,
148
+ this.value.sendCodecMeta,
149
+ parseAudioMetadataCodec,
150
+ parseAudioCodecOption(this.value.audioCodec),
151
+ );
133
152
  }
134
153
 
135
154
  createMediaStreamTransformer(): TransformStream<
136
155
  Uint8Array,
137
- ScrcpyMediaStreamPacket
156
+ ScrcpyVideoStreamPacket
138
157
  > {
139
158
  return createMediaStreamTransformer(this.value);
140
159
  }
@@ -142,36 +161,66 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
142
161
  serializeInjectTouchControlMessage(
143
162
  message: ScrcpyInjectTouchControlMessage,
144
163
  ): Uint8Array {
164
+ if (!this.value.control) {
165
+ throw new Error("control is disabled");
166
+ }
145
167
  return serializeInjectTouchControlMessage(message);
146
168
  }
147
169
 
148
170
  serializeBackOrScreenOnControlMessage(
149
171
  message: ScrcpyBackOrScreenOnControlMessage,
150
172
  ): Uint8Array | undefined {
173
+ if (!this.value.control) {
174
+ throw new Error("control is disabled");
175
+ }
151
176
  return serializeBackOrScreenOnControlMessage(message);
152
177
  }
153
178
 
154
179
  serializeSetClipboardControlMessage(
155
180
  message: ScrcpySetClipboardControlMessage,
156
181
  ): Uint8Array | [Uint8Array, Promise<void>] {
157
- return this.#ackClipboardHandler!.serializeSetClipboardControlMessage(
182
+ if (!this.value.control) {
183
+ throw new Error("control is disabled");
184
+ }
185
+ return serializeSetClipboardControlMessage(
158
186
  message,
187
+ this.#ackClipboardHandler,
159
188
  );
160
189
  }
161
190
 
191
+ serializeSetDisplayPowerControlMessage(
192
+ message: ScrcpySetDisplayPowerControlMessage,
193
+ ): Uint8Array {
194
+ if (!this.value.control) {
195
+ throw new Error("control is disabled");
196
+ }
197
+ return serializeSetDisplayPowerControlMessage(message);
198
+ }
199
+
162
200
  createScrollController(): ScrcpyScrollController {
201
+ if (!this.value.control) {
202
+ throw new Error("control is disabled");
203
+ }
163
204
  return createScrollController();
164
205
  }
165
206
 
166
207
  serializeUHidCreateControlMessage(
167
208
  message: ScrcpyUHidCreateControlMessage,
168
209
  ): Uint8Array {
210
+ if (!this.value.control) {
211
+ throw new Error("control is disabled");
212
+ }
169
213
  return serializeUHidCreateControlMessage(message);
170
214
  }
171
215
  }
172
216
 
173
- type Init_<TVideo extends boolean> = Init<TVideo>;
217
+ type Init_ = Init;
174
218
 
175
219
  export namespace ScrcpyOptions3_3_1 {
176
- export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
220
+ export type Init = Init_;
221
+
222
+ export type Value<TInit extends Init> = ComputeOptionTypes<
223
+ TInit,
224
+ typeof Defaults
225
+ >;
177
226
  }
package/src/3_3_2.ts CHANGED
@@ -1,14 +1 @@
1
- import { ScrcpyOptions3_3_1 } from "./3_3_1/index.js";
2
-
3
- export class ScrcpyOptions3_3_2<
4
- TVideo extends boolean,
5
- > extends ScrcpyOptions3_3_1<TVideo> {
6
- constructor(init: ScrcpyOptions3_3_1.Init<TVideo>) {
7
- super(init);
8
- }
9
- }
10
-
11
- export namespace ScrcpyOptions3_3_2 {
12
- export type Init<TVideo extends boolean = boolean> =
13
- ScrcpyOptions3_3_1.Init<TVideo>;
14
- }
1
+ export { ScrcpyOptions3_3_1 as ScrcpyOptions3_3_2 } from "./3_3_1/index.js";
package/src/3_3_4.ts ADDED
@@ -0,0 +1 @@
1
+ export { ScrcpyOptions3_3_3 as ScrcpyOptions3_3_4 } from "./3_3_3.js";
@@ -0,0 +1,31 @@
1
+ import type { ComputeOptionTypes as ComputeOptionTypes1_15 } from "../../1_15/impl/index.js";
2
+ import { computeOptionValues as computeOptionValues1_15 } from "../../1_15/impl/index.js";
3
+
4
+ import { PrevImpl } from "./prev.js";
5
+
6
+ export type ComputeOptionTypes<
7
+ T extends object,
8
+ TDefaults extends object,
9
+ > = PrevImpl.OverrideAudioSource<
10
+ PrevImpl.OverrideClipboardAutosync<ComputeOptionTypes1_15<T, TDefaults>>
11
+ >;
12
+
13
+ export function computeOptionValues<
14
+ T extends {
15
+ videoSource?: string | undefined;
16
+ control?: boolean | undefined;
17
+ audioDup?: boolean | undefined;
18
+ audioSource?: string | undefined;
19
+ },
20
+ TDefaults extends {
21
+ videoSource: string;
22
+ control: boolean;
23
+ audioDup: boolean;
24
+ audioSource: string;
25
+ },
26
+ >(options: T, defaults: TDefaults): ComputeOptionTypes<T, TDefaults> {
27
+ const value = computeOptionValues1_15(options, defaults);
28
+ PrevImpl.overrideClipboardAutosync(value as never);
29
+ PrevImpl.overrideAudioSource(value as never);
30
+ return value as never;
31
+ }
@@ -0,0 +1,27 @@
1
+ import type { ScrcpyControlMessageTypeMap } from "../../base/index.js";
2
+ import { ScrcpyControlMessageType } from "../../base/index.js";
3
+
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
+ [ScrcpyControlMessageType.UHidCreate]: 12,
18
+ [ScrcpyControlMessageType.UHidInput]: 13,
19
+ [ScrcpyControlMessageType.UHidDestroy]: 14,
20
+ [ScrcpyControlMessageType.OpenHardKeyboardSettings]: 15,
21
+ [ScrcpyControlMessageType.StartApp]: 16,
22
+ [ScrcpyControlMessageType.ResetVideo]: 17,
23
+ [ScrcpyControlMessageType.CameraSetTorch]: 18,
24
+ [ScrcpyControlMessageType.CameraZoomIn]: 19,
25
+ [ScrcpyControlMessageType.CameraZoomOut]: 20,
26
+ [ScrcpyControlMessageType.ResizeDisplay]: 21,
27
+ } as const satisfies ScrcpyControlMessageTypeMap;
@@ -0,0 +1,20 @@
1
+ import { omit } from "../../utils/omit.js";
2
+
3
+ import type { Init } from "./init.js";
4
+ import { PrevImpl } from "./prev.js";
5
+
6
+ export const Defaults = /* #__PURE__*/ (() =>
7
+ ({
8
+ ...omit(PrevImpl.Defaults, "sendCodecMeta"),
9
+
10
+ minSizeAlignment: 1,
11
+
12
+ cameraZoom: 1,
13
+ cameraTorch: false,
14
+
15
+ flexDisplay: false,
16
+
17
+ keepActive: false,
18
+
19
+ sendStreamMeta: true,
20
+ }) as const satisfies Required<Init>)();
@@ -0,0 +1,9 @@
1
+ export * from "../../3_2/impl/index.js";
2
+
3
+ export { computeOptionValues } from "./compute-option-values.js";
4
+ export type { ComputeOptionTypes } from "./compute-option-values.js";
5
+ export { ControlMessageTypes } from "./control-message-types.js";
6
+ export { Defaults } from "./defaults.js";
7
+ export type { Init } from "./init.js";
8
+ export { createMediaStreamTransformer } from "./media-stream-transformer.js";
9
+ export { parseVideoStreamMetadataAsync } from "./parse-video-stream-metadata.js";
@@ -0,0 +1,14 @@
1
+ import type { PrevImpl } from "./prev.js";
2
+
3
+ export interface Init extends Omit<PrevImpl.Init, "sendCodecMeta"> {
4
+ minSizeAlignment?: 1 | 2 | 4 | 8 | 16 | undefined;
5
+
6
+ cameraZoom?: number | undefined;
7
+ cameraTorch?: boolean | undefined;
8
+
9
+ flexDisplay?: boolean | undefined;
10
+
11
+ keepActive?: boolean | undefined;
12
+
13
+ sendStreamMeta?: boolean | undefined;
14
+ }