@yume-chan/scrcpy 3.0.0-beta.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 (438) hide show
  1. package/esm/1_15/impl/codec-options.d.ts +12 -11
  2. package/esm/1_15/impl/codec-options.d.ts.map +1 -1
  3. package/esm/1_15/impl/codec-options.js +50 -11
  4. package/esm/1_15/impl/codec-options.js.map +1 -1
  5. package/esm/1_15/impl/compute-option-values.d.ts +7 -0
  6. package/esm/1_15/impl/compute-option-values.d.ts.map +1 -0
  7. package/esm/1_15/impl/compute-option-values.js +12 -0
  8. package/esm/1_15/impl/compute-option-values.js.map +1 -0
  9. package/esm/1_15/impl/index.d.ts +2 -0
  10. package/esm/1_15/impl/index.d.ts.map +1 -1
  11. package/esm/1_15/impl/index.js +2 -0
  12. package/esm/1_15/impl/index.js.map +1 -1
  13. package/esm/1_15/impl/init.d.ts +11 -11
  14. package/esm/1_15/impl/init.d.ts.map +1 -1
  15. package/esm/1_15/impl/media-stream-transformer.d.ts +2 -2
  16. package/esm/1_15/impl/media-stream-transformer.js +1 -1
  17. package/esm/1_15/impl/media-stream-transformer.js.map +1 -1
  18. package/esm/1_15/impl/parse-video-stream-metadata.js +4 -4
  19. package/esm/1_15/impl/parse-video-stream-metadata.js.map +1 -1
  20. package/esm/1_15/impl/set-display-power.d.ts +13 -0
  21. package/esm/1_15/impl/set-display-power.d.ts.map +1 -0
  22. package/esm/1_15/impl/set-display-power.js +16 -0
  23. package/esm/1_15/impl/set-display-power.js.map +1 -0
  24. package/esm/1_15/options.d.ts +12 -9
  25. package/esm/1_15/options.d.ts.map +1 -1
  26. package/esm/1_15/options.js +20 -2
  27. package/esm/1_15/options.js.map +1 -1
  28. package/esm/1_17/options.d.ts +11 -9
  29. package/esm/1_17/options.d.ts.map +1 -1
  30. package/esm/1_17/options.js +20 -2
  31. package/esm/1_17/options.js.map +1 -1
  32. package/esm/1_18/impl/init.d.ts +3 -3
  33. package/esm/1_18/impl/init.d.ts.map +1 -1
  34. package/esm/1_18/options.d.ts +11 -9
  35. package/esm/1_18/options.d.ts.map +1 -1
  36. package/esm/1_18/options.js +20 -2
  37. package/esm/1_18/options.js.map +1 -1
  38. package/esm/1_21/impl/compute-option-values.d.ts +23 -0
  39. package/esm/1_21/impl/compute-option-values.d.ts.map +1 -0
  40. package/esm/1_21/impl/compute-option-values.js +12 -0
  41. package/esm/1_21/impl/compute-option-values.js.map +1 -0
  42. package/esm/1_21/impl/index.d.ts +3 -1
  43. package/esm/1_21/impl/index.d.ts.map +1 -1
  44. package/esm/1_21/impl/index.js +2 -1
  45. package/esm/1_21/impl/index.js.map +1 -1
  46. package/esm/1_21/impl/init.d.ts +1 -1
  47. package/esm/1_21/impl/init.d.ts.map +1 -1
  48. package/esm/1_21/impl/serialize.d.ts +1 -1
  49. package/esm/1_21/impl/serialize.d.ts.map +1 -1
  50. package/esm/1_21/impl/serialize.js.map +1 -1
  51. package/esm/1_21/options.d.ts +11 -9
  52. package/esm/1_21/options.d.ts.map +1 -1
  53. package/esm/1_21/options.js +20 -2
  54. package/esm/1_21/options.js.map +1 -1
  55. package/esm/1_22/impl/init.d.ts +3 -3
  56. package/esm/1_22/impl/init.d.ts.map +1 -1
  57. package/esm/1_22/impl/parse-video-stream-metadata.d.ts +2 -2
  58. package/esm/1_22/impl/parse-video-stream-metadata.d.ts.map +1 -1
  59. package/esm/1_22/impl/parse-video-stream-metadata.js +3 -3
  60. package/esm/1_22/impl/parse-video-stream-metadata.js.map +1 -1
  61. package/esm/1_22/options.d.ts +11 -9
  62. package/esm/1_22/options.d.ts.map +1 -1
  63. package/esm/1_22/options.js +21 -3
  64. package/esm/1_22/options.js.map +1 -1
  65. package/esm/1_23/impl/init.d.ts +1 -1
  66. package/esm/1_23/impl/init.d.ts.map +1 -1
  67. package/esm/1_23/impl/media-stream-transformer.d.ts +2 -2
  68. package/esm/1_23/impl/media-stream-transformer.js +1 -1
  69. package/esm/1_23/impl/media-stream-transformer.js.map +1 -1
  70. package/esm/1_23/options.d.ts +11 -9
  71. package/esm/1_23/options.d.ts.map +1 -1
  72. package/esm/1_23/options.js +21 -3
  73. package/esm/1_23/options.js.map +1 -1
  74. package/esm/1_24/impl/init.d.ts +1 -1
  75. package/esm/1_24/impl/init.d.ts.map +1 -1
  76. package/esm/1_24/options.d.ts +11 -9
  77. package/esm/1_24/options.d.ts.map +1 -1
  78. package/esm/1_24/options.js +21 -3
  79. package/esm/1_24/options.js.map +1 -1
  80. package/esm/1_25/options.d.ts +11 -9
  81. package/esm/1_25/options.d.ts.map +1 -1
  82. package/esm/1_25/options.js +21 -3
  83. package/esm/1_25/options.js.map +1 -1
  84. package/esm/2_0/impl/defaults.d.ts +8 -11
  85. package/esm/2_0/impl/defaults.d.ts.map +1 -1
  86. package/esm/2_0/impl/defaults.js +4 -10
  87. package/esm/2_0/impl/defaults.js.map +1 -1
  88. package/esm/2_0/impl/index.d.ts +1 -1
  89. package/esm/2_0/impl/index.d.ts.map +1 -1
  90. package/esm/2_0/impl/index.js +1 -1
  91. package/esm/2_0/impl/index.js.map +1 -1
  92. package/esm/2_0/impl/init.d.ts +8 -8
  93. package/esm/2_0/impl/init.d.ts.map +1 -1
  94. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts +4 -1
  95. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -1
  96. package/esm/2_0/impl/parse-audio-stream-metadata.js +28 -39
  97. package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
  98. package/esm/2_0/impl/parse-video-stream-metadata.d.ts +5 -2
  99. package/esm/2_0/impl/parse-video-stream-metadata.d.ts.map +1 -1
  100. package/esm/2_0/impl/parse-video-stream-metadata.js +14 -12
  101. package/esm/2_0/impl/parse-video-stream-metadata.js.map +1 -1
  102. package/esm/2_0/options.d.ts +19 -20
  103. package/esm/2_0/options.d.ts.map +1 -1
  104. package/esm/2_0/options.js +22 -4
  105. package/esm/2_0/options.js.map +1 -1
  106. package/esm/2_1/impl/defaults.d.ts +8 -11
  107. package/esm/2_1/impl/defaults.d.ts.map +1 -1
  108. package/esm/2_1/impl/defaults.js.map +1 -1
  109. package/esm/2_1/impl/init.d.ts +3 -3
  110. package/esm/2_1/impl/init.d.ts.map +1 -1
  111. package/esm/2_1/options.d.ts +21 -22
  112. package/esm/2_1/options.d.ts.map +1 -1
  113. package/esm/2_1/options.js +22 -4
  114. package/esm/2_1/options.js.map +1 -1
  115. package/esm/2_2/impl/compute-option-values.d.ts +22 -0
  116. package/esm/2_2/impl/compute-option-values.d.ts.map +1 -0
  117. package/esm/2_2/impl/compute-option-values.js +11 -0
  118. package/esm/2_2/impl/compute-option-values.js.map +1 -0
  119. package/esm/2_2/impl/defaults.d.ts +8 -11
  120. package/esm/2_2/impl/defaults.d.ts.map +1 -1
  121. package/esm/2_2/impl/defaults.js.map +1 -1
  122. package/esm/2_2/impl/index.d.ts +2 -0
  123. package/esm/2_2/impl/index.d.ts.map +1 -1
  124. package/esm/2_2/impl/index.js +1 -0
  125. package/esm/2_2/impl/index.js.map +1 -1
  126. package/esm/2_2/impl/init.d.ts +5 -5
  127. package/esm/2_2/impl/init.d.ts.map +1 -1
  128. package/esm/2_2/options.d.ts +21 -22
  129. package/esm/2_2/options.d.ts.map +1 -1
  130. package/esm/2_2/options.js +22 -7
  131. package/esm/2_2/options.js.map +1 -1
  132. package/esm/2_3/impl/index.d.ts +1 -0
  133. package/esm/2_3/impl/index.d.ts.map +1 -1
  134. package/esm/2_3/impl/index.js +1 -0
  135. package/esm/2_3/impl/index.js.map +1 -1
  136. package/esm/2_3/impl/init.d.ts +2 -2
  137. package/esm/2_3/impl/init.d.ts.map +1 -1
  138. package/esm/2_3/impl/parse-audio-stream-metadata.d.ts +5 -0
  139. package/esm/2_3/impl/parse-audio-stream-metadata.d.ts.map +1 -0
  140. package/esm/2_3/impl/parse-audio-stream-metadata.js +31 -0
  141. package/esm/2_3/impl/parse-audio-stream-metadata.js.map +1 -0
  142. package/esm/2_3/options.d.ts +21 -22
  143. package/esm/2_3/options.d.ts.map +1 -1
  144. package/esm/2_3/options.js +22 -7
  145. package/esm/2_3/options.js.map +1 -1
  146. package/esm/2_4/options.d.ts +22 -23
  147. package/esm/2_4/options.d.ts.map +1 -1
  148. package/esm/2_4/options.js +25 -7
  149. package/esm/2_4/options.js.map +1 -1
  150. package/esm/2_6/impl/compute-option-values.d.ts +29 -0
  151. package/esm/2_6/impl/compute-option-values.d.ts.map +1 -0
  152. package/esm/2_6/impl/compute-option-values.js +12 -0
  153. package/esm/2_6/impl/compute-option-values.js.map +1 -0
  154. package/esm/2_6/impl/defaults.d.ts +8 -11
  155. package/esm/2_6/impl/defaults.d.ts.map +1 -1
  156. package/esm/2_6/impl/defaults.js.map +1 -1
  157. package/esm/2_6/impl/index.d.ts +2 -0
  158. package/esm/2_6/impl/index.d.ts.map +1 -1
  159. package/esm/2_6/impl/index.js +1 -0
  160. package/esm/2_6/impl/index.js.map +1 -1
  161. package/esm/2_6/impl/init.d.ts +3 -3
  162. package/esm/2_6/impl/init.d.ts.map +1 -1
  163. package/esm/2_6/options.d.ts +22 -23
  164. package/esm/2_6/options.d.ts.map +1 -1
  165. package/esm/2_6/options.js +25 -10
  166. package/esm/2_6/options.js.map +1 -1
  167. package/esm/2_7/impl/index.d.ts.map +1 -1
  168. package/esm/2_7/impl/index.js.map +1 -1
  169. package/esm/2_7/options.d.ts +22 -23
  170. package/esm/2_7/options.d.ts.map +1 -1
  171. package/esm/2_7/options.js +25 -10
  172. package/esm/2_7/options.js.map +1 -1
  173. package/esm/3_0/impl/defaults.d.ts +29 -33
  174. package/esm/3_0/impl/defaults.d.ts.map +1 -1
  175. package/esm/3_0/impl/defaults.js +4 -8
  176. package/esm/3_0/impl/defaults.js.map +1 -1
  177. package/esm/3_0/impl/index.d.ts +1 -0
  178. package/esm/3_0/impl/index.d.ts.map +1 -1
  179. package/esm/3_0/impl/index.js +1 -0
  180. package/esm/3_0/impl/index.js.map +1 -1
  181. package/esm/3_0/impl/init.d.ts +4 -4
  182. package/esm/3_0/impl/init.d.ts.map +1 -1
  183. package/esm/3_0/impl/set-display-power.d.ts +12 -0
  184. package/esm/3_0/impl/set-display-power.d.ts.map +1 -0
  185. package/esm/3_0/impl/set-display-power.js +10 -0
  186. package/esm/3_0/impl/set-display-power.js.map +1 -0
  187. package/esm/3_0/options.d.ts +43 -45
  188. package/esm/3_0/options.d.ts.map +1 -1
  189. package/esm/3_0/options.js +25 -10
  190. package/esm/3_0/options.js.map +1 -1
  191. package/esm/3_1/impl/defaults.d.ts +29 -33
  192. package/esm/3_1/impl/defaults.d.ts.map +1 -1
  193. package/esm/3_1/impl/defaults.js.map +1 -1
  194. package/esm/3_1/impl/index.d.ts.map +1 -1
  195. package/esm/3_1/impl/index.js.map +1 -1
  196. package/esm/3_1/impl/init.d.ts +2 -2
  197. package/esm/3_1/impl/init.d.ts.map +1 -1
  198. package/esm/3_1/options.d.ts +43 -45
  199. package/esm/3_1/options.d.ts.map +1 -1
  200. package/esm/3_1/options.js +25 -10
  201. package/esm/3_1/options.js.map +1 -1
  202. package/esm/3_2/impl/defaults.d.ts +29 -33
  203. package/esm/3_2/impl/defaults.d.ts.map +1 -1
  204. package/esm/3_2/impl/defaults.js.map +1 -1
  205. package/esm/3_2/impl/index.d.ts.map +1 -1
  206. package/esm/3_2/impl/index.js.map +1 -1
  207. package/esm/3_2/impl/init.d.ts +2 -2
  208. package/esm/3_2/impl/init.d.ts.map +1 -1
  209. package/esm/3_2/options.d.ts +43 -45
  210. package/esm/3_2/options.d.ts.map +1 -1
  211. package/esm/3_2/options.js +25 -10
  212. package/esm/3_2/options.js.map +1 -1
  213. package/esm/3_3_1/options.d.ts +43 -45
  214. package/esm/3_3_1/options.d.ts.map +1 -1
  215. package/esm/3_3_1/options.js +25 -10
  216. package/esm/3_3_1/options.js.map +1 -1
  217. package/esm/4_0/impl/compute-option-values.d.ts +15 -0
  218. package/esm/4_0/impl/compute-option-values.d.ts.map +1 -0
  219. package/esm/4_0/impl/compute-option-values.js +9 -0
  220. package/esm/4_0/impl/compute-option-values.js.map +1 -0
  221. package/esm/4_0/impl/control-message-types.d.ts +25 -0
  222. package/esm/4_0/impl/control-message-types.d.ts.map +1 -0
  223. package/esm/4_0/impl/control-message-types.js +26 -0
  224. package/esm/4_0/impl/control-message-types.js.map +1 -0
  225. package/esm/4_0/impl/defaults.d.ts +58 -0
  226. package/esm/4_0/impl/defaults.d.ts.map +1 -0
  227. package/esm/4_0/impl/defaults.js +12 -0
  228. package/esm/4_0/impl/defaults.js.map +1 -0
  229. package/esm/4_0/impl/index.d.ts +9 -0
  230. package/esm/4_0/impl/index.d.ts.map +1 -0
  231. package/esm/4_0/impl/index.js +7 -0
  232. package/esm/4_0/impl/index.js.map +1 -0
  233. package/esm/4_0/impl/init.d.ts +10 -0
  234. package/esm/4_0/impl/init.d.ts.map +1 -0
  235. package/esm/4_0/impl/init.js +2 -0
  236. package/esm/4_0/impl/init.js.map +1 -0
  237. package/esm/4_0/impl/media-stream-transformer.d.ts +5 -0
  238. package/esm/4_0/impl/media-stream-transformer.d.ts.map +1 -0
  239. package/esm/4_0/impl/media-stream-transformer.js +39 -0
  240. package/esm/4_0/impl/media-stream-transformer.js.map +1 -0
  241. package/esm/4_0/impl/parse-video-stream-metadata.d.ts +6 -0
  242. package/esm/4_0/impl/parse-video-stream-metadata.d.ts.map +1 -0
  243. package/esm/4_0/impl/parse-video-stream-metadata.js +21 -0
  244. package/esm/4_0/impl/parse-video-stream-metadata.js.map +1 -0
  245. package/esm/4_0/impl/prev.d.ts +2 -0
  246. package/esm/4_0/impl/prev.d.ts.map +1 -0
  247. package/esm/4_0/impl/prev.js +2 -0
  248. package/esm/4_0/impl/prev.js.map +1 -0
  249. package/esm/4_0/index.d.ts +100 -0
  250. package/esm/4_0/index.d.ts.map +1 -0
  251. package/esm/4_0/index.js +93 -0
  252. package/esm/4_0/index.js.map +1 -0
  253. package/esm/4_1/impl/control-message-types.d.ts +26 -0
  254. package/esm/4_1/impl/control-message-types.d.ts.map +1 -0
  255. package/esm/4_1/impl/control-message-types.js +27 -0
  256. package/esm/4_1/impl/control-message-types.js.map +1 -0
  257. package/esm/4_1/impl/defaults.d.ts +59 -0
  258. package/esm/4_1/impl/defaults.d.ts.map +1 -0
  259. package/esm/4_1/impl/defaults.js +6 -0
  260. package/esm/4_1/impl/defaults.js.map +1 -0
  261. package/esm/4_1/impl/index.d.ts +6 -0
  262. package/esm/4_1/impl/index.d.ts.map +1 -0
  263. package/esm/4_1/impl/index.js +5 -0
  264. package/esm/4_1/impl/index.js.map +1 -0
  265. package/esm/4_1/impl/init.d.ts +6 -0
  266. package/esm/4_1/impl/init.d.ts.map +1 -0
  267. package/esm/4_1/impl/init.js +2 -0
  268. package/esm/4_1/impl/init.js.map +1 -0
  269. package/esm/4_1/impl/parse-video-stream-metadata.d.ts +4 -0
  270. package/esm/4_1/impl/parse-video-stream-metadata.d.ts.map +1 -0
  271. package/esm/4_1/impl/parse-video-stream-metadata.js +19 -0
  272. package/esm/4_1/impl/parse-video-stream-metadata.js.map +1 -0
  273. package/esm/4_1/impl/prev.d.ts +2 -0
  274. package/esm/4_1/impl/prev.d.ts.map +1 -0
  275. package/esm/4_1/impl/prev.js +2 -0
  276. package/esm/4_1/impl/prev.js.map +1 -0
  277. package/esm/4_1/index.d.ts +101 -0
  278. package/esm/4_1/index.d.ts.map +1 -0
  279. package/esm/4_1/index.js +93 -0
  280. package/esm/4_1/index.js.map +1 -0
  281. package/esm/base/control-message-type-value.d.ts +5 -0
  282. package/esm/base/control-message-type-value.d.ts.map +1 -1
  283. package/esm/base/control-message-type-value.js +5 -0
  284. package/esm/base/control-message-type-value.js.map +1 -1
  285. package/esm/base/media.d.ts +8 -1
  286. package/esm/base/media.d.ts.map +1 -1
  287. package/esm/base/options.d.ts +6 -4
  288. package/esm/base/options.d.ts.map +1 -1
  289. package/esm/base/video.d.ts +1 -7
  290. package/esm/base/video.d.ts.map +1 -1
  291. package/esm/base/video.js +1 -13
  292. package/esm/base/video.js.map +1 -1
  293. package/esm/control/boolean.d.ts +10 -0
  294. package/esm/control/boolean.d.ts.map +1 -0
  295. package/esm/control/boolean.js +3 -0
  296. package/esm/control/boolean.js.map +1 -0
  297. package/esm/control/index.d.ts +2 -1
  298. package/esm/control/index.d.ts.map +1 -1
  299. package/esm/control/index.js +2 -1
  300. package/esm/control/index.js.map +1 -1
  301. package/esm/control/resize-display.d.ts +12 -0
  302. package/esm/control/resize-display.d.ts.map +1 -0
  303. package/esm/control/resize-display.js +8 -0
  304. package/esm/control/resize-display.js.map +1 -0
  305. package/esm/control/serializer.d.ts +8 -2
  306. package/esm/control/serializer.d.ts.map +1 -1
  307. package/esm/control/serializer.js +30 -4
  308. package/esm/control/serializer.js.map +1 -1
  309. package/esm/control/writer.d.ts +8 -2
  310. package/esm/control/writer.d.ts.map +1 -1
  311. package/esm/control/writer.js +17 -2
  312. package/esm/control/writer.js.map +1 -1
  313. package/esm/index.d.ts +2 -0
  314. package/esm/index.d.ts.map +1 -1
  315. package/esm/index.js +2 -0
  316. package/esm/index.js.map +1 -1
  317. package/esm/latest.d.ts +2 -2
  318. package/esm/latest.d.ts.map +1 -1
  319. package/esm/latest.js +2 -2
  320. package/esm/latest.js.map +1 -1
  321. package/esm/utils/omit.d.ts +1 -1
  322. package/esm/utils/omit.d.ts.map +1 -1
  323. package/esm/video/codec-id.d.ts +6 -0
  324. package/esm/video/codec-id.d.ts.map +1 -0
  325. package/esm/video/codec-id.js +6 -0
  326. package/esm/video/codec-id.js.map +1 -0
  327. package/esm/video/index.d.ts +4 -0
  328. package/esm/video/index.d.ts.map +1 -1
  329. package/esm/video/index.js +12 -0
  330. package/esm/video/index.js.map +1 -1
  331. package/esm/video/size.d.ts +8 -9
  332. package/esm/video/size.d.ts.map +1 -1
  333. package/esm/video/size.js +2 -2
  334. package/esm/video/size.js.map +1 -1
  335. package/package.json +7 -7
  336. package/src/1_15/impl/codec-options.ts +68 -17
  337. package/src/1_15/impl/compute-option-values.ts +26 -0
  338. package/src/1_15/impl/index.ts +2 -0
  339. package/src/1_15/impl/init.ts +11 -11
  340. package/src/1_15/impl/media-stream-transformer.ts +3 -3
  341. package/src/1_15/impl/parse-video-stream-metadata.ts +4 -4
  342. package/src/1_15/impl/set-display-power.ts +29 -0
  343. package/src/1_15/options.ts +45 -9
  344. package/src/1_17/options.ts +46 -10
  345. package/src/1_18/impl/init.ts +3 -3
  346. package/src/1_18/options.ts +46 -10
  347. package/src/1_21/impl/compute-option-values.ts +43 -0
  348. package/src/1_21/impl/index.ts +10 -1
  349. package/src/1_21/impl/init.ts +1 -1
  350. package/src/1_21/impl/serialize.ts +3 -3
  351. package/src/1_21/options.ts +46 -10
  352. package/src/1_22/impl/init.ts +3 -3
  353. package/src/1_22/impl/parse-video-stream-metadata.ts +4 -4
  354. package/src/1_22/options.ts +47 -11
  355. package/src/1_23/impl/init.ts +1 -1
  356. package/src/1_23/impl/media-stream-transformer.ts +3 -3
  357. package/src/1_23/options.ts +47 -11
  358. package/src/1_24/impl/init.ts +1 -1
  359. package/src/1_24/options.ts +47 -11
  360. package/src/1_25/options.ts +47 -11
  361. package/src/2_0/impl/defaults.ts +19 -23
  362. package/src/2_0/impl/index.ts +5 -1
  363. package/src/2_0/impl/init.ts +8 -8
  364. package/src/2_0/impl/parse-audio-stream-metadata.ts +34 -44
  365. package/src/2_0/impl/parse-video-stream-metadata.ts +24 -21
  366. package/src/2_0/options.ts +63 -12
  367. package/src/2_1/impl/defaults.ts +1 -1
  368. package/src/2_1/impl/init.ts +3 -3
  369. package/src/2_1/options.ts +66 -15
  370. package/src/2_2/generate-type-tests.js +106 -0
  371. package/src/2_2/impl/compute-option-values.ts +44 -0
  372. package/src/2_2/impl/defaults.ts +1 -1
  373. package/src/2_2/impl/index.ts +2 -0
  374. package/src/2_2/impl/init.ts +5 -5
  375. package/src/2_2/options.ts +66 -19
  376. package/src/2_3/impl/index.ts +4 -0
  377. package/src/2_3/impl/init.ts +2 -5
  378. package/src/2_3/impl/parse-audio-stream-metadata.ts +36 -0
  379. package/src/2_3/options.ts +66 -19
  380. package/src/2_4/options.ts +75 -23
  381. package/src/2_6/generate-type-tests.js +119 -0
  382. package/src/2_6/impl/compute-option-values.ts +48 -0
  383. package/src/2_6/impl/defaults.ts +1 -1
  384. package/src/2_6/impl/index.ts +9 -0
  385. package/src/2_6/impl/init.ts +3 -6
  386. package/src/2_6/options.ts +75 -27
  387. package/src/2_7/impl/index.ts +1 -0
  388. package/src/2_7/options.ts +75 -27
  389. package/src/3_0/impl/defaults.ts +12 -14
  390. package/src/3_0/impl/index.ts +5 -0
  391. package/src/3_0/impl/init.ts +4 -7
  392. package/src/3_0/impl/set-display-power.ts +23 -0
  393. package/src/3_0/options.ts +75 -27
  394. package/src/3_1/impl/defaults.ts +1 -1
  395. package/src/3_1/impl/index.ts +1 -0
  396. package/src/3_1/impl/init.ts +2 -2
  397. package/src/3_1/options.ts +75 -27
  398. package/src/3_2/impl/defaults.ts +1 -1
  399. package/src/3_2/impl/index.ts +1 -0
  400. package/src/3_2/impl/init.ts +2 -5
  401. package/src/3_2/options.ts +75 -27
  402. package/src/3_3_1/options.ts +75 -27
  403. package/src/4_0/impl/compute-option-values.ts +31 -0
  404. package/src/4_0/impl/control-message-types.ts +27 -0
  405. package/src/4_0/impl/defaults.ts +20 -0
  406. package/src/4_0/impl/index.ts +9 -0
  407. package/src/4_0/impl/init.ts +14 -0
  408. package/src/4_0/impl/media-stream-transformer.ts +58 -0
  409. package/src/4_0/impl/parse-video-stream-metadata.ts +34 -0
  410. package/src/4_0/impl/prev.ts +1 -0
  411. package/src/4_0/index.ts +226 -0
  412. package/src/4_1/impl/control-message-types.ts +28 -0
  413. package/src/4_1/impl/defaults.ts +8 -0
  414. package/src/4_1/impl/index.ts +6 -0
  415. package/src/4_1/impl/init.ts +7 -0
  416. package/src/4_1/impl/parse-video-stream-metadata.ts +23 -0
  417. package/src/4_1/impl/prev.ts +1 -0
  418. package/src/4_1/index.ts +226 -0
  419. package/src/base/control-message-type-value.ts +5 -0
  420. package/src/base/media.ts +12 -3
  421. package/src/base/options.ts +15 -5
  422. package/src/base/video.ts +2 -19
  423. package/src/control/boolean.ts +9 -0
  424. package/src/control/index.ts +2 -1
  425. package/src/control/resize-display.ts +16 -0
  426. package/src/control/serializer.ts +38 -8
  427. package/src/control/writer.ts +24 -6
  428. package/src/index.ts +2 -0
  429. package/src/latest.ts +4 -3
  430. package/src/utils/omit.ts +1 -1
  431. package/src/video/codec-id.ts +6 -0
  432. package/src/video/index.ts +19 -0
  433. package/src/video/size.ts +10 -4
  434. package/esm/control/set-screen-power-mode.d.ts +0 -11
  435. package/esm/control/set-screen-power-mode.d.ts.map +0 -1
  436. package/esm/control/set-screen-power-mode.js +0 -7
  437. package/esm/control/set-screen-power-mode.js.map +0 -1
  438. package/src/control/set-screen-power-mode.ts +0 -17
@@ -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, serializeSetClipboardControlMessage, 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,7 +16,7 @@ export class ScrcpyOptions1_25 {
16
16
  return this.#deviceMessageParsers;
17
17
  }
18
18
  constructor(init) {
19
- this.value = { ...Defaults, ...init };
19
+ this.value = computeOptionValues(init, Defaults);
20
20
  if (this.value.control) {
21
21
  if (this.value.clipboardAutosync) {
22
22
  this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
@@ -40,21 +40,39 @@ export class ScrcpyOptions1_25 {
40
40
  return parseEncoder(line, EncoderRegex);
41
41
  }
42
42
  parseVideoStreamMetadata(stream) {
43
- return parseVideoStreamMetadata(this.value, stream);
43
+ return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta);
44
44
  }
45
45
  createMediaStreamTransformer() {
46
46
  return createMediaStreamTransformer(this.value);
47
47
  }
48
48
  serializeInjectTouchControlMessage(message) {
49
+ if (!this.value.control) {
50
+ throw new Error("control is disabled");
51
+ }
49
52
  return serializeInjectTouchControlMessage(message);
50
53
  }
51
54
  serializeBackOrScreenOnControlMessage(message) {
55
+ if (!this.value.control) {
56
+ throw new Error("control is disabled");
57
+ }
52
58
  return serializeBackOrScreenOnControlMessage(message);
53
59
  }
54
60
  serializeSetClipboardControlMessage(message) {
61
+ if (!this.value.control) {
62
+ throw new Error("control is disabled");
63
+ }
55
64
  return serializeSetClipboardControlMessage(message, this.#ackClipboardHandler);
56
65
  }
66
+ serializeSetDisplayPowerControlMessage(message) {
67
+ if (!this.value.control) {
68
+ throw new Error("control is disabled");
69
+ }
70
+ return serializeSetDisplayPowerControlMessage(message);
71
+ }
57
72
  createScrollController() {
73
+ if (!this.value.control) {
74
+ throw new Error("control is disabled");
75
+ }
58
76
  return createScrollController();
59
77
  }
60
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_25/options.ts"],"names":[],"mappings":"AAYA,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,mCAAmC,EACnC,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,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5C,IAAI,eAAe,EAAE,CACxB,CAAC;YACN,CAAC;YAED,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,mCAAmC,CACtC,OAAO,EACP,IAAI,CAAC,oBAAoB,CAC5B,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,20 +12,10 @@ export declare const Defaults: {
12
12
  readonly listEncoders: false;
13
13
  readonly listDisplays: false;
14
14
  readonly sendCodecMeta: true;
15
- readonly bitRate: undefined;
16
- readonly codecOptions: undefined;
17
- readonly encoderName: undefined;
18
- readonly powerOn: true;
19
- readonly cleanup: true;
20
- readonly downsizeOnError: true;
21
- readonly sendDeviceMeta: true;
22
- readonly sendDummyByte: true;
23
- readonly clipboardAutosync: true;
24
15
  readonly logLevel: "debug";
25
- readonly lockVideoOrientation: -1;
26
- readonly powerOffOnClose: false;
27
16
  readonly maxSize: 0;
28
17
  readonly maxFps: 0;
18
+ readonly lockVideoOrientation: -1;
29
19
  readonly tunnelForward: false;
30
20
  readonly crop: undefined;
31
21
  readonly sendFrameMeta: true;
@@ -33,5 +23,12 @@ export declare const Defaults: {
33
23
  readonly displayId: 0;
34
24
  readonly showTouches: false;
35
25
  readonly stayAwake: false;
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":"AAGA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bc,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,13 +1,7 @@
1
+ import { omit } from "../../utils/omit.js";
1
2
  import { PrevImpl } from "./prev.js";
2
- export const Defaults = {
3
- ...{
4
- ...PrevImpl.Defaults,
5
- // Remove obsolete values
6
- // relies on the minifier to flatten the nested spread
7
- bitRate: undefined,
8
- codecOptions: undefined,
9
- encoderName: undefined,
10
- },
3
+ export const Defaults = /* #__PURE__*/ (() => ({
4
+ ...omit(PrevImpl.Defaults, "bitRate", "codecOptions", "encoderName"),
11
5
  scid: undefined,
12
6
  videoCodec: "h264",
13
7
  videoBitRate: 8000000,
@@ -21,5 +15,5 @@ export const Defaults = {
21
15
  listEncoders: false,
22
16
  listDisplays: false,
23
17
  sendCodecMeta: true,
24
- };
18
+ }))();
25
19
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,GAAG;QACC,GAAG,QAAQ,CAAC,QAAQ;QACpB,yBAAyB;QACzB,sDAAsD;QACtD,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,SAAS;KACzB;IAED,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;CACY,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,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,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"}
@@ -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,CAgFpC"}
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,51 +41,16 @@ 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);
@@ -1 +1 @@
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,CAAC,KAAK,UAAU,wBAAwB,CAC1C,MAAkC,EAClC,OAAsE;IAEtE,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,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,IAAI,KAAuB,CAAC;QAC5B,QAAQ,kBAAkB,EAAE,CAAC;YACzB,KAAK,gBAAgB,CAAC,GAAG,CAAC,aAAa;gBACnC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC;gBAC7B,MAAM;YACV,KAAK,gBAAgB,CAAC,IAAI,CAAC,aAAa;gBACpC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBAC9B,MAAM;YACV,KAAK,gBAAgB,CAAC,GAAG,CAAC,aAAa;gBACnC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC;gBAC7B,MAAM;YACV,KAAK,gBAAgB,CAAC,IAAI,CAAC,aAAa;gBACpC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBAC9B,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CACX,uCAAuC,kBAAkB,EAAE,CAC9D,CAAC;QACV,CAAC;QACD,OAAO;YACH,IAAI,EAAE,SAAS;YACf,KAAK;YACL,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;SAC7B,CAAC;IACN,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAuB,CAAC;IAC5B,QAAQ,OAAO,CAAC,UAAoB,EAAE,CAAC;QACnC,KAAK,KAAK;YACN,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC;YAC7B,MAAM;QACV,KAAK,MAAM;YACP,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC;YAC9B,MAAM;QACV,KAAK,KAAK;YACN,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC;YAC7B,MAAM;QACV,KAAK,MAAM;YACP,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC;YAC9B,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CACX,uCAAuC,kBAAkB,EAAE,CAC9D,CAAC;IACV,CAAC;IAED,OAAO;QACH,IAAI,EAAE,SAAS;QACf,KAAK;QACL,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
+ {"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
@@ -1 +1 @@
1
- {"version":3,"file":"parse-video-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,SAAS,SAAS,CAAC,KAAa;IAC5B,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACnC,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACnC,KAAK,KAAK;YACN,OAAO,kBAAkB,CAAC,GAAG,CAAC;QAClC;YACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CACrB,OAGC,EACD,MAAkC;IAElC,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEpD,kDAAkD;IAClD,kDAAkD;IAClD,IAAI,UAA8B,CAAC;IACnC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAyB,CAAC;IAC9B,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAuB,CAAC;QACjE,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;QAC1B,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;KACjD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,OAGC,EACD,MAAkC;IAElC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACpD,OAAO;YACH,MAAM;YACN,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;SACrD,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"parse-video-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,UAAU,qBAAqB,CACjC,KAA6C;IAE7C,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACnC,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACnC,KAAK,KAAK;YACN,OAAO,kBAAkB,CAAC,GAAG,CAAC;QAClC;YACI,4EAA4E;YAC5E,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAC/C,MAAkC,EAClC,cAA0D,EAC1D,aAAwD,EACxD,aAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEpD,kDAAkD;IAClD,qDAAqD;IACrD,IAAI,UAA8B,CAAC;IACnC,IAAI,cAAc,EAAE,CAAC;QACjB,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAyB,CAAC;IAC9B,IAAI,MAA0B,CAAC;IAC/B,IAAI,aAAa,EAAE,CAAC;QAChB,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAuB,CAAC;QACjE,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,aAAa,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;QAC1B,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;KACjD,CAAC;AACN,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,wBAAwB,CACpC,MAAkC,EAClC,cAA0D,EAC1D,aAAwD,EACxD,aAAiC,EACjC,UAAgD;IAEhD,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO;YACH,MAAM;YACN,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;SACrC,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAC5E,CAAC"}
@@ -1,11 +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 { ScrcpyAudioStreamMetadata, ScrcpyDisplay, ScrcpyEncoder, ScrcpyMediaStreamPacket, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream } from "../base/index.js";
3
+ import type { MapBoolean, ScrcpyAudioStreamMetadata, 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
- import { ControlMessageTypes } from "./impl/index.js";
8
- export declare class ScrcpyOptions2_0 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 ScrcpyOptions2_0<TInit extends Init = Init> implements ScrcpyOptions<ScrcpyOptions2_0.Value<TInit>>, ScrcpyOptionsListEncoders {
9
9
  #private;
10
10
  static readonly Defaults: {
11
11
  readonly scid: undefined;
@@ -21,20 +21,10 @@ export declare class ScrcpyOptions2_0 implements ScrcpyOptions<Init>, ScrcpyOpti
21
21
  readonly listEncoders: false;
22
22
  readonly listDisplays: false;
23
23
  readonly sendCodecMeta: true;
24
- readonly bitRate: undefined;
25
- readonly codecOptions: undefined;
26
- readonly encoderName: undefined;
27
- readonly powerOn: true;
28
- readonly cleanup: true;
29
- readonly downsizeOnError: true;
30
- readonly sendDeviceMeta: true;
31
- readonly sendDummyByte: true;
32
- readonly clipboardAutosync: true;
33
24
  readonly logLevel: "debug";
34
- readonly lockVideoOrientation: -1;
35
- readonly powerOffOnClose: false;
36
25
  readonly maxSize: 0;
37
26
  readonly maxFps: 0;
27
+ readonly lockVideoOrientation: -1;
38
28
  readonly tunnelForward: false;
39
29
  readonly crop: undefined;
40
30
  readonly sendFrameMeta: true;
@@ -42,12 +32,19 @@ export declare class ScrcpyOptions2_0 implements ScrcpyOptions<Init>, ScrcpyOpti
42
32
  readonly displayId: 0;
43
33
  readonly showTouches: false;
44
34
  readonly stayAwake: false;
35
+ readonly powerOffOnClose: false;
36
+ readonly clipboardAutosync: true;
37
+ readonly downsizeOnError: true;
38
+ readonly sendDeviceMeta: true;
39
+ readonly sendDummyByte: true;
40
+ readonly cleanup: true;
41
+ readonly powerOn: true;
45
42
  };
46
- readonly value: Required<Init>;
43
+ readonly value: ScrcpyOptions2_0.Value<TInit>;
47
44
  get controlMessageTypes(): typeof ControlMessageTypes;
48
- get clipboard(): ReadableStream<string> | undefined;
45
+ get clipboard(): MapBoolean<this["value"]["clipboardAutosync"], ReadableStream<string>, undefined>;
49
46
  get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
50
- constructor(init: Init);
47
+ constructor(init: TInit);
51
48
  serialize(): string[];
52
49
  setListDisplays(): void;
53
50
  parseDisplay(line: string): ScrcpyDisplay | undefined;
@@ -55,15 +52,17 @@ export declare class ScrcpyOptions2_0 implements ScrcpyOptions<Init>, ScrcpyOpti
55
52
  parseEncoder(line: string): ScrcpyEncoder | undefined;
56
53
  parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
57
54
  parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyAudioStreamMetadata>;
58
- createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
55
+ createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
59
56
  serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
60
57
  serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
61
58
  serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array | [Uint8Array, Promise<void>];
59
+ serializeSetDisplayPowerControlMessage(message: ScrcpySetDisplayPowerControlMessage): Uint8Array;
62
60
  createScrollController(): ScrcpyScrollController;
63
61
  }
64
62
  type Init_ = Init;
65
63
  export declare namespace ScrcpyOptions2_0 {
66
64
  type Init = Init_;
65
+ type Value<TInit extends Init> = ComputeOptionTypes<TInit, typeof Defaults>;
67
66
  }
68
67
  export {};
69
68
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/2_0/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,yBAAyB,EACzB,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;AAC5C,OAAO,EAGH,mBAAmB,EActB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,gBACT,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,OAAO,mBAAmB,CAEpD;IAGD,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAElD;IAKD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,IAAI;IAgBtB,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,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,yBAAyB,CAAC;IAI9C,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;IAO3C,sBAAsB,IAAI,sBAAsB;CAGnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,gBAAgB,CAAC;IAC9B,KAAY,IAAI,GAAG,KAAK,CAAC;CAC5B"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/2_0/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,yBAAyB,EACzB,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,EAgBX,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,gBAAgB,CAAC,KAAK,SAAS,IAAI,GAAG,IAAI,CACnD,YACI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC5C,yBAAyB;;IAE7B,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9C,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;IAUtC,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,yBAAyB,CAAC;IAS9C,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,gBAAgB,CAAC;IAC9B,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, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeSetClipboardControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
2
+ import { AckClipboardHandler, ClipboardStream, computeOptionValues, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseAudioCodecOption, parseAudioMetadataCodec, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoCodecOption, parseVideoStreamMetadata, parseVideoStreamMetadataAsync, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeSetClipboardControlMessage, serializeSetDisplayPowerControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
3
3
  export class ScrcpyOptions2_0 {
4
4
  static Defaults = Defaults;
5
5
  value;
@@ -16,7 +16,7 @@ export class ScrcpyOptions2_0 {
16
16
  return this.#deviceMessageParsers;
17
17
  }
18
18
  constructor(init) {
19
- this.value = { ...Defaults, ...init };
19
+ this.value = computeOptionValues(init, Defaults);
20
20
  if (this.value.control) {
21
21
  if (this.value.clipboardAutosync) {
22
22
  this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
@@ -40,24 +40,42 @@ export class ScrcpyOptions2_0 {
40
40
  return parseEncoder(line);
41
41
  }
42
42
  parseVideoStreamMetadata(stream) {
43
- return parseVideoStreamMetadata(this.value, stream);
43
+ return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta, this.value.sendCodecMeta, parseVideoCodecOption(this.value.videoCodec), parseVideoStreamMetadataAsync);
44
44
  }
45
45
  parseAudioStreamMetadata(stream) {
46
- return parseAudioStreamMetadata(stream, this.value);
46
+ return parseAudioStreamMetadata(stream, this.value.sendCodecMeta, parseAudioMetadataCodec, parseAudioCodecOption(this.value.audioCodec));
47
47
  }
48
48
  createMediaStreamTransformer() {
49
49
  return createMediaStreamTransformer(this.value);
50
50
  }
51
51
  serializeInjectTouchControlMessage(message) {
52
+ if (!this.value.control) {
53
+ throw new Error("control is disabled");
54
+ }
52
55
  return serializeInjectTouchControlMessage(message);
53
56
  }
54
57
  serializeBackOrScreenOnControlMessage(message) {
58
+ if (!this.value.control) {
59
+ throw new Error("control is disabled");
60
+ }
55
61
  return serializeBackOrScreenOnControlMessage(message);
56
62
  }
57
63
  serializeSetClipboardControlMessage(message) {
64
+ if (!this.value.control) {
65
+ throw new Error("control is disabled");
66
+ }
58
67
  return serializeSetClipboardControlMessage(message, this.#ackClipboardHandler);
59
68
  }
69
+ serializeSetDisplayPowerControlMessage(message) {
70
+ if (!this.value.control) {
71
+ throw new Error("control is disabled");
72
+ }
73
+ return serializeSetDisplayPowerControlMessage(message);
74
+ }
60
75
  createScrollController() {
76
+ if (!this.value.control) {
77
+ throw new Error("control is disabled");
78
+ }
61
79
  return createScrollController();
62
80
  }
63
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/2_0/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,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,SAAS,EACT,qCAAqC,EACrC,kCAAkC,EAClC,mCAAmC,EACnC,eAAe,EACf,eAAe,GAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,gBAAgB;IAGzB,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,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5C,IAAI,eAAe,EAAE,CACxB,CAAC;YACN,CAAC;YAED,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,CAAC,CAAC;IAC9B,CAAC;IAED,wBAAwB,CACpB,MAAkC;QAElC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,wBAAwB,CACpB,MAAkC;QAElC,OAAO,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,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,mCAAmC,CACtC,OAAO,EACP,IAAI,CAAC,oBAAoB,CAC5B,CAAC;IACN,CAAC;IAED,sBAAsB;QAClB,OAAO,sBAAsB,EAAE,CAAC;IACpC,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/2_0/options.ts"],"names":[],"mappings":"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"}