@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
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020-2025 Simon Chan
3
+ Copyright (c) 2020-2026 Simon Chan
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -37,7 +37,7 @@ Check the latest documentation at https://tangoadb.dev/scrcpy/
37
37
 
38
38
  ## Sponsors
39
39
 
40
- [Become a backer](https://opencollective.com/ya-webadb) and get your image on our README on Github with a link to your site.
40
+ [Become a backer](https://opencollective.com/ya-webadb) and get your image on our README on GitHub with a link to your site.
41
41
 
42
42
  <a href="https://opencollective.com/ya-webadb/backer/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/0/avatar.svg?requireActive=false"></a>
43
43
  <a href="https://opencollective.com/ya-webadb/backer/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/1/avatar.svg?requireActive=false"></a>
@@ -0,0 +1,147 @@
1
+ import type { ScrcpyOptionValue } from "../../base/option-value.js";
2
+ export interface NumberCodecOption {
3
+ type: "int" | "float";
4
+ value: number;
5
+ }
6
+ export interface BigIntCodecOption {
7
+ type: "long";
8
+ value: bigint | number;
9
+ }
10
+ export interface StringCodecOption {
11
+ type: "string";
12
+ value: string;
13
+ }
14
+ export type CodecOption = NumberCodecOption | BigIntCodecOption | StringCodecOption;
15
+ export declare class CodecOptions implements ScrcpyOptionValue {
16
+ #private;
17
+ static Empty: CodecOptions;
18
+ get values(): ReadonlyMap<string, CodecOption>;
19
+ setInt(key: string, value: number): this;
20
+ setFloat(key: string, value: number): this;
21
+ setLong(key: string, value: number | bigint): this;
22
+ setString(key: string, value: string): this;
23
+ delete(key: string): boolean;
24
+ clear(): void;
25
+ /**
26
+ * A key describing the desired codec priority.
27
+ *
28
+ * The associated value is an integer. Higher value means lower priority.
29
+ *
30
+ * Currently, only two levels are supported:
31
+ *
32
+ * - 0: realtime priority - meaning that the codec shall support the given performance
33
+ * configuration (e.g. framerate) at realtime. This should only be used by media playback,
34
+ * capture, and possibly by realtime communication scenarios if best effort performance
35
+ * is not suitable.
36
+ * - 1: non-realtime priority (best effort).
37
+ *
38
+ * This is a hint used at codec configuration and resource planning -
39
+ * to understand the realtime requirements of the application;
40
+ * however, due to the nature of media components, performance is not guaranteed.
41
+ */
42
+ setPriority(priority: number | undefined): this;
43
+ toOptionValue(): string | undefined;
44
+ }
45
+ export declare class VideoCodecOptions extends CodecOptions {
46
+ /**
47
+ * A key for applications to opt out of allowing a Surface to
48
+ * discard undisplayed/unconsumed frames as means to catch up after falling behind.
49
+ * This value is an integer.
50
+ * The value 0 indicates the surface is not allowed to drop frames.
51
+ * The value 1 indicates the surface is allowed to drop frames.
52
+ * [`MediaCodec`](https://developer.android.com/reference/android/media/MediaCodec)
53
+ * describes the semantics.
54
+ */
55
+ setAllowFrameDrop(value: boolean | undefined): this;
56
+ /**
57
+ * An optional key describing the period of intra refresh in frames.
58
+ * This is an optional parameter that applies only to video encoders.
59
+ * If encoder supports it (MediaCodecInfo.CodecCapabilities.FEATURE_IntraRefresh),
60
+ * the whole frame is completely refreshed after the specified period.
61
+ * Also for each frame, a fix subset of macroblocks must be intra coded
62
+ * which leads to more constant bitrate than inserting a key frame.
63
+ * This key is recommended for video streaming applications as it provides
64
+ * low-delay and good error-resilience.
65
+ * This key is ignored if the video encoder does not support the intra refresh feature.
66
+ * The associated value is an integer.
67
+ */
68
+ setIntraRefreshPeriod(value: number | undefined): this;
69
+ /**
70
+ * A key describing the frequency of key frames expressed in seconds between key frames.
71
+ *
72
+ * This key is used by video encoders.
73
+ * A negative value means no key frames are requested after the first frame.
74
+ * A zero value means a stream containing all key frames is requested.
75
+ *
76
+ * The associated value is an integer (or float since `Build.VERSION_CODES.N_MR1`).
77
+ */
78
+ setIFrameInterval(value: undefined): this;
79
+ setIFrameInterval(value: number, type?: "int" | "float"): this;
80
+ /**
81
+ *
82
+ * An optional key describing the desired encoder latency in frames.
83
+ * This is an optional parameter that applies only to video encoders.
84
+ * If encoder supports it, it should output at least one output frame
85
+ * after being queued the specified number of frames.
86
+ * This key is ignored if the video encoder does not support the latency feature.
87
+ * Use the output format to verify that this feature was enabled
88
+ * and the actual value used by the encoder.
89
+ *
90
+ * If the key is not specified, the default latency will be implementation specific.
91
+ * The associated value is an integer.
92
+ */
93
+ setLatency(value: number | undefined): this;
94
+ /**
95
+ * A key describing the desired profile to be used by an encoder.
96
+ *
97
+ * The associated value is an integer. Constants are declared in
98
+ * [`MediaCodecInfo.CodecProfileLevel`](https://developer.android.com/reference/android/media/MediaCodecInfo.CodecProfileLevel).
99
+ * This key is used as a further hint when specifying a desired profile,
100
+ * and is only supported for codecs that specify a level.
101
+ *
102
+ * This key is ignored if the {@link setProfile | `profile`} is not specified.
103
+ * Otherwise, the value should be a level compatible with the configured encoding parameters.
104
+ */
105
+ setLevel(value: number | undefined): this;
106
+ /**
107
+ * A key describing the maximum number of B frames between I or P frames,
108
+ * to be used by a video encoder.
109
+ * The associated value is an integer.
110
+ * The default value is 0, which means that no B frames are allowed.
111
+ * Note that non-zero value does not guarantee B frames; it's up to the encoder to decide.
112
+ */
113
+ setMaxBFrames(value: number | undefined): this;
114
+ /**
115
+ * Instruct the video encoder in "surface-input" mode to drop excessive frames from the source,
116
+ * so that the input frame rate to the encoder does not exceed the specified fps.
117
+ * The associated value is a float, representing the max frame rate to feed the encoder at.
118
+ */
119
+ setMaxFpsToEncoder(value: number | undefined): this;
120
+ /**
121
+ * A key describing the desired profile to be used by an encoder.
122
+ *
123
+ * The associated value is an integer.
124
+ * Constants are declared in
125
+ * [MediaCodecInfo.CodecProfileLevel](https://developer.android.com/reference/android/media/MediaCodecInfo.CodecProfileLevel).
126
+ * This key is used as a hint, and is only supported for codecs that specify a profile.
127
+ * When configuring profile,
128
+ * encoder configuration may fail if other parameters are not compatible with
129
+ * the desired profile or if the desired profile is not supported,
130
+ * but it may also fail silently
131
+ * (where the encoder ends up using a different, compatible profile.)
132
+ *
133
+ * It is recommended that the profile is set for all encoders.
134
+ * For more information, see the *Encoder Profiles* section of the
135
+ * [`MediaCodec`](https://developer.android.com/reference/android/media/MediaCodec)
136
+ * API reference.
137
+ */
138
+ setProfile(value: number | undefined): this;
139
+ /**
140
+ * Applies only when configuring a video encoder in "surface-input" mode.
141
+ * The associated value is a long and gives the time in microseconds
142
+ * after which the frame previously submitted to the encoder will be repeated (once)
143
+ * if no new frame became available since.
144
+ */
145
+ setRepeatPreviousFrameAfter(value: bigint | undefined): this;
146
+ }
147
+ //# sourceMappingURL=codec-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-options.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/codec-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GACnB,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAE9D,qBAAa,YAAa,YAAW,iBAAiB;;IAClD,MAAM,CAAC,KAAK,eAAsC;IAGlD,IAAI,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAE7C;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQxC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUlD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3C,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,KAAK;IAIL;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ/C,aAAa,IAAI,MAAM,GAAG,SAAS;CAuBtC;AAED,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAQnD;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQtD;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACzC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI;IAc9D;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ3C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQzC;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ9C;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQnD;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ3C;;;;;OAKG;IACH,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAO/D"}
@@ -0,0 +1,231 @@
1
+ // cspell: ignore Bframes
2
+ // cspell: ignore macroblocks
3
+ export class CodecOptions {
4
+ static Empty = /* #__PURE__ */ new CodecOptions();
5
+ #values = new Map();
6
+ get values() {
7
+ return this.#values;
8
+ }
9
+ setInt(key, value) {
10
+ if (value < -2147483648 || value > 2147483647) {
11
+ throw new Error(`Value ${value} is out of range for int type`);
12
+ }
13
+ this.#values.set(key, { type: "int", value: value | 0 });
14
+ return this;
15
+ }
16
+ setFloat(key, value) {
17
+ this.#values.set(key, { type: "float", value });
18
+ return this;
19
+ }
20
+ setLong(key, value) {
21
+ this.#values.set(key, {
22
+ type: "long",
23
+ // Can't use `value | 0` here because the value may be out of int32 range,
24
+ // use `Math.floor` instead
25
+ value: typeof value === "bigint" ? value : Math.floor(value),
26
+ });
27
+ return this;
28
+ }
29
+ setString(key, value) {
30
+ this.#values.set(key, { type: "string", value });
31
+ return this;
32
+ }
33
+ delete(key) {
34
+ return this.#values.delete(key);
35
+ }
36
+ clear() {
37
+ this.#values.clear();
38
+ }
39
+ /**
40
+ * A key describing the desired codec priority.
41
+ *
42
+ * The associated value is an integer. Higher value means lower priority.
43
+ *
44
+ * Currently, only two levels are supported:
45
+ *
46
+ * - 0: realtime priority - meaning that the codec shall support the given performance
47
+ * configuration (e.g. framerate) at realtime. This should only be used by media playback,
48
+ * capture, and possibly by realtime communication scenarios if best effort performance
49
+ * is not suitable.
50
+ * - 1: non-realtime priority (best effort).
51
+ *
52
+ * This is a hint used at codec configuration and resource planning -
53
+ * to understand the realtime requirements of the application;
54
+ * however, due to the nature of media components, performance is not guaranteed.
55
+ */
56
+ setPriority(priority) {
57
+ if (priority === undefined) {
58
+ this.delete("priority");
59
+ return this;
60
+ }
61
+ return this.setInt("priority", priority);
62
+ }
63
+ toOptionValue() {
64
+ if (this.#values.size === 0) {
65
+ return undefined;
66
+ }
67
+ return Array.from(this.#values.entries(), ([key, value]) => {
68
+ let result = key;
69
+ if (value.type !== "int") {
70
+ result += ":" + value.type;
71
+ }
72
+ result += "=";
73
+ if (value.type === "string") {
74
+ result += value.value.replaceAll(",", "\\,");
75
+ }
76
+ else {
77
+ result += value.value;
78
+ }
79
+ return result;
80
+ }).join(",");
81
+ }
82
+ }
83
+ export class VideoCodecOptions extends CodecOptions {
84
+ /**
85
+ * A key for applications to opt out of allowing a Surface to
86
+ * discard undisplayed/unconsumed frames as means to catch up after falling behind.
87
+ * This value is an integer.
88
+ * The value 0 indicates the surface is not allowed to drop frames.
89
+ * The value 1 indicates the surface is allowed to drop frames.
90
+ * [`MediaCodec`](https://developer.android.com/reference/android/media/MediaCodec)
91
+ * describes the semantics.
92
+ */
93
+ setAllowFrameDrop(value) {
94
+ if (value === undefined) {
95
+ this.delete("allow-frame-drop");
96
+ return this;
97
+ }
98
+ return this.setInt("allow-frame-drop", value ? 1 : 0);
99
+ }
100
+ /**
101
+ * An optional key describing the period of intra refresh in frames.
102
+ * This is an optional parameter that applies only to video encoders.
103
+ * If encoder supports it (MediaCodecInfo.CodecCapabilities.FEATURE_IntraRefresh),
104
+ * the whole frame is completely refreshed after the specified period.
105
+ * Also for each frame, a fix subset of macroblocks must be intra coded
106
+ * which leads to more constant bitrate than inserting a key frame.
107
+ * This key is recommended for video streaming applications as it provides
108
+ * low-delay and good error-resilience.
109
+ * This key is ignored if the video encoder does not support the intra refresh feature.
110
+ * The associated value is an integer.
111
+ */
112
+ setIntraRefreshPeriod(value) {
113
+ if (value === undefined) {
114
+ this.delete("intra-refresh-period");
115
+ return this;
116
+ }
117
+ return this.setInt("intra-refresh-period", value);
118
+ }
119
+ setIFrameInterval(value, type = "int") {
120
+ if (value === undefined) {
121
+ this.delete("i-frame-interval");
122
+ return this;
123
+ }
124
+ return type === "int"
125
+ ? this.setInt("i-frame-interval", value)
126
+ : this.setFloat("i-frame-interval", value);
127
+ }
128
+ /**
129
+ *
130
+ * An optional key describing the desired encoder latency in frames.
131
+ * This is an optional parameter that applies only to video encoders.
132
+ * If encoder supports it, it should output at least one output frame
133
+ * after being queued the specified number of frames.
134
+ * This key is ignored if the video encoder does not support the latency feature.
135
+ * Use the output format to verify that this feature was enabled
136
+ * and the actual value used by the encoder.
137
+ *
138
+ * If the key is not specified, the default latency will be implementation specific.
139
+ * The associated value is an integer.
140
+ */
141
+ setLatency(value) {
142
+ if (value === undefined) {
143
+ this.delete("latency");
144
+ return this;
145
+ }
146
+ return this.setInt("latency", value);
147
+ }
148
+ /**
149
+ * A key describing the desired profile to be used by an encoder.
150
+ *
151
+ * The associated value is an integer. Constants are declared in
152
+ * [`MediaCodecInfo.CodecProfileLevel`](https://developer.android.com/reference/android/media/MediaCodecInfo.CodecProfileLevel).
153
+ * This key is used as a further hint when specifying a desired profile,
154
+ * and is only supported for codecs that specify a level.
155
+ *
156
+ * This key is ignored if the {@link setProfile | `profile`} is not specified.
157
+ * Otherwise, the value should be a level compatible with the configured encoding parameters.
158
+ */
159
+ setLevel(value) {
160
+ if (value === undefined) {
161
+ this.delete("level");
162
+ return this;
163
+ }
164
+ return this.setInt("level", value);
165
+ }
166
+ /**
167
+ * A key describing the maximum number of B frames between I or P frames,
168
+ * to be used by a video encoder.
169
+ * The associated value is an integer.
170
+ * The default value is 0, which means that no B frames are allowed.
171
+ * Note that non-zero value does not guarantee B frames; it's up to the encoder to decide.
172
+ */
173
+ setMaxBFrames(value) {
174
+ if (value === undefined) {
175
+ this.delete("max-bframes");
176
+ return this;
177
+ }
178
+ return this.setInt("max-bframes", value);
179
+ }
180
+ /**
181
+ * Instruct the video encoder in "surface-input" mode to drop excessive frames from the source,
182
+ * so that the input frame rate to the encoder does not exceed the specified fps.
183
+ * The associated value is a float, representing the max frame rate to feed the encoder at.
184
+ */
185
+ setMaxFpsToEncoder(value) {
186
+ if (value === undefined) {
187
+ this.delete("max-fps-to-encoder");
188
+ return this;
189
+ }
190
+ return this.setFloat("max-fps-to-encoder", value);
191
+ }
192
+ /**
193
+ * A key describing the desired profile to be used by an encoder.
194
+ *
195
+ * The associated value is an integer.
196
+ * Constants are declared in
197
+ * [MediaCodecInfo.CodecProfileLevel](https://developer.android.com/reference/android/media/MediaCodecInfo.CodecProfileLevel).
198
+ * This key is used as a hint, and is only supported for codecs that specify a profile.
199
+ * When configuring profile,
200
+ * encoder configuration may fail if other parameters are not compatible with
201
+ * the desired profile or if the desired profile is not supported,
202
+ * but it may also fail silently
203
+ * (where the encoder ends up using a different, compatible profile.)
204
+ *
205
+ * It is recommended that the profile is set for all encoders.
206
+ * For more information, see the *Encoder Profiles* section of the
207
+ * [`MediaCodec`](https://developer.android.com/reference/android/media/MediaCodec)
208
+ * API reference.
209
+ */
210
+ setProfile(value) {
211
+ if (value === undefined) {
212
+ this.delete("profile");
213
+ return this;
214
+ }
215
+ return this.setInt("profile", value);
216
+ }
217
+ /**
218
+ * Applies only when configuring a video encoder in "surface-input" mode.
219
+ * The associated value is a long and gives the time in microseconds
220
+ * after which the frame previously submitted to the encoder will be repeated (once)
221
+ * if no new frame became available since.
222
+ */
223
+ setRepeatPreviousFrameAfter(value) {
224
+ if (value === undefined) {
225
+ this.delete("repeat-previous-frame-after");
226
+ return this;
227
+ }
228
+ return this.setLong("repeat-previous-frame-after", value);
229
+ }
230
+ }
231
+ //# sourceMappingURL=codec-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-options.js","sourceRoot":"","sources":["../../../src/1_15/impl/codec-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ type ComputeOptionType<T, TDefault> = T extends undefined ? TDefault : T;
2
+ export type ComputeOptionTypes<T extends object, TDefaults extends object> = {
3
+ [K in keyof TDefaults]: K extends keyof T ? ComputeOptionType<T[K], TDefaults[K]> : TDefaults[K];
4
+ };
5
+ export declare function computeOptionValues<T extends object, TDefaults extends object>(options: T, defaults: TDefaults): ComputeOptionTypes<T, TDefaults>;
6
+ export {};
7
+ //# sourceMappingURL=compute-option-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-option-values.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/compute-option-values.ts"],"names":[],"mappings":"AAEA,KAAK,iBAAiB,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,SAAS,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;AAEzE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,IAAI;KACxE,CAAC,IAAI,MAAM,SAAS,GAAG,CAAC,SAAS,MAAM,CAAC,GACnC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GACrC,SAAS,CAAC,CAAC,CAAC;CACrB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,EAC1E,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,SAAS,GACpB,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,CAYlC"}
@@ -0,0 +1,12 @@
1
+ export function computeOptionValues(options, defaults) {
2
+ return Object.fromEntries(Object.entries(defaults).map(([key, value]) => {
3
+ if (key in options) {
4
+ const optionValue = options[key];
5
+ if (optionValue !== undefined) {
6
+ return [key, optionValue];
7
+ }
8
+ }
9
+ return [key, value];
10
+ }));
11
+ }
12
+ //# sourceMappingURL=compute-option-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-option-values.js","sourceRoot":"","sources":["../../../src/1_15/impl/compute-option-values.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,mBAAmB,CAC/B,OAAU,EACV,QAAmB;IAEnB,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC1C,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAc,CAAC,CAAC;YAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CACI,CAAC;AACf,CAAC"}
@@ -1,3 +1,14 @@
1
- import { ScrcpyControlMessageType } from "../../base/index.js";
2
- export declare const ControlMessageTypes: readonly ScrcpyControlMessageType[];
1
+ export declare const ControlMessageTypes: {
2
+ readonly 0: 0;
3
+ readonly 1: 1;
4
+ readonly 2: 2;
5
+ readonly 3: 3;
6
+ readonly 4: 4;
7
+ readonly 5: 5;
8
+ readonly 7: 6;
9
+ readonly 8: 7;
10
+ readonly 9: 8;
11
+ readonly 10: 9;
12
+ readonly 11: 10;
13
+ };
3
14
  //# sourceMappingURL=control-message-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"control-message-types.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/control-message-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,eAAO,MAAM,mBAAmB,EAAE,SAAS,wBAAwB,EAa3D,CAAC"}
1
+ {"version":3,"file":"control-message-types.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/control-message-types.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAYgB,CAAC"}
@@ -1,16 +1,15 @@
1
1
  import { ScrcpyControlMessageType } from "../../base/index.js";
2
- export const ControlMessageTypes =
3
- /* #__PURE__ */ (() => [
4
- /* 0 */ ScrcpyControlMessageType.InjectKeyCode,
5
- /* 1 */ ScrcpyControlMessageType.InjectText,
6
- /* 2 */ ScrcpyControlMessageType.InjectTouch,
7
- /* 3 */ ScrcpyControlMessageType.InjectScroll,
8
- /* 4 */ ScrcpyControlMessageType.BackOrScreenOn,
9
- /* 5 */ ScrcpyControlMessageType.ExpandNotificationPanel,
10
- /* 6 */ ScrcpyControlMessageType.CollapseNotificationPanel,
11
- /* 7 */ ScrcpyControlMessageType.GetClipboard,
12
- /* 8 */ ScrcpyControlMessageType.SetClipboard,
13
- /* 9 */ ScrcpyControlMessageType.SetDisplayPower,
14
- /* 10 */ ScrcpyControlMessageType.RotateDevice,
15
- ])();
2
+ export const ControlMessageTypes = {
3
+ [ScrcpyControlMessageType.InjectKeyCode]: 0,
4
+ [ScrcpyControlMessageType.InjectText]: 1,
5
+ [ScrcpyControlMessageType.InjectTouch]: 2,
6
+ [ScrcpyControlMessageType.InjectScroll]: 3,
7
+ [ScrcpyControlMessageType.BackOrScreenOn]: 4,
8
+ [ScrcpyControlMessageType.ExpandNotificationPanel]: 5,
9
+ [ScrcpyControlMessageType.CollapseNotificationPanel]: 6,
10
+ [ScrcpyControlMessageType.GetClipboard]: 7,
11
+ [ScrcpyControlMessageType.SetClipboard]: 8,
12
+ [ScrcpyControlMessageType.SetDisplayPower]: 9,
13
+ [ScrcpyControlMessageType.RotateDevice]: 10,
14
+ };
16
15
  //# sourceMappingURL=control-message-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"control-message-types.js","sourceRoot":"","sources":["../../../src/1_15/impl/control-message-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB;AAC5B,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;IACnB,QAAQ,CAAC,wBAAwB,CAAC,aAAa;IAC/C,QAAQ,CAAC,wBAAwB,CAAC,UAAU;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,WAAW;IAC7C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,cAAc;IAChD,QAAQ,CAAC,wBAAwB,CAAC,uBAAuB;IACzD,QAAQ,CAAC,wBAAwB,CAAC,yBAAyB;IAC3D,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,eAAe;IACjD,QAAQ,CAAC,wBAAwB,CAAC,YAAY;CACjD,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"control-message-types.js","sourceRoot":"","sources":["../../../src/1_15/impl/control-message-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,CAAC,wBAAwB,CAAC,aAAa,CAAC,EAAE,CAAC;IAC3C,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;IACxC,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;IACzC,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,CAAC;IAC5C,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACrD,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,EAAE,CAAC;IACvD,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,CAAC,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAC;IAC7C,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,EAAE;CACC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export * from "./back-or-screen-on.js";
2
2
  export * from "./clipboard-stream.js";
3
+ export * from "./codec-options.js";
4
+ export * from "./compute-option-values.js";
3
5
  export * from "./control-message-types.js";
4
6
  export * from "./defaults.js";
5
7
  export * from "./init.js";
@@ -11,5 +13,6 @@ export * from "./scroll-controller.js";
11
13
  export * from "./serialize-order.js";
12
14
  export * from "./serialize.js";
13
15
  export * from "./set-clipboard.js";
16
+ export * from "./set-display-power.js";
14
17
  export * from "./set-list-display.js";
15
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export * from "./back-or-screen-on.js";
2
2
  export * from "./clipboard-stream.js";
3
+ export * from "./codec-options.js";
4
+ export * from "./compute-option-values.js";
3
5
  export * from "./control-message-types.js";
4
6
  export * from "./defaults.js";
5
7
  export * from "./init.js";
@@ -11,5 +13,6 @@ export * from "./scroll-controller.js";
11
13
  export * from "./serialize-order.js";
12
14
  export * from "./serialize.js";
13
15
  export * from "./set-clipboard.js";
16
+ export * from "./set-display-power.js";
14
17
  export * from "./set-list-display.js";
15
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/1_15/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/1_15/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ScrcpyOptionValue } from "../../base/index.js";
2
+ import type { CodecOptions } from "./codec-options.js";
2
3
  export declare const VideoOrientation: {
3
4
  readonly Unlocked: -1;
4
5
  readonly Portrait: 0;
@@ -8,28 +9,6 @@ export declare const VideoOrientation: {
8
9
  };
9
10
  export type VideoOrientation = (typeof VideoOrientation)[keyof typeof VideoOrientation];
10
11
  export type LogLevel = "debug" | "info" | "warn" | "error";
11
- /**
12
- * If the option you need is not in this type,
13
- * please file an issue on GitHub.
14
- */
15
- export interface CodecOptionsInit {
16
- profile?: number | undefined;
17
- level?: number | undefined;
18
- iFrameInterval?: number | undefined;
19
- maxBframes?: number | undefined;
20
- repeatPreviousFrameAfter?: number | undefined;
21
- maxPtsGapToEncoder?: number | undefined;
22
- intraRefreshPeriod?: number | undefined;
23
- }
24
- export declare class CodecOptions implements ScrcpyOptionValue {
25
- static Empty: CodecOptions;
26
- options: CodecOptionsInit;
27
- constructor(options?: CodecOptionsInit);
28
- toOptionValue(): string | undefined;
29
- }
30
- export declare namespace CodecOptions {
31
- type Init = CodecOptionsInit;
32
- }
33
12
  export declare class Crop implements ScrcpyOptionValue {
34
13
  width: number;
35
14
  height: number;
@@ -39,25 +18,25 @@ export declare class Crop implements ScrcpyOptionValue {
39
18
  toOptionValue(): string | undefined;
40
19
  }
41
20
  export interface Init {
42
- logLevel?: LogLevel;
21
+ logLevel?: LogLevel | undefined;
43
22
  /**
44
23
  * The maximum value of both width and height.
45
24
  */
46
- maxSize?: number;
47
- bitRate?: number;
25
+ maxSize?: number | undefined;
26
+ bitRate?: number | undefined;
48
27
  /**
49
28
  * 0 for unlimited.
50
29
  *
51
30
  * @default 0
52
31
  */
53
- maxFps?: number;
32
+ maxFps?: number | undefined;
54
33
  /**
55
34
  * The orientation of the video stream.
56
35
  *
57
36
  * It will not keep the device screen in specific orientation,
58
37
  * only the captured video will in this orientation.
59
38
  */
60
- lockVideoOrientation?: VideoOrientation;
39
+ lockVideoOrientation?: VideoOrientation | undefined;
61
40
  /**
62
41
  * Use ADB forward tunnel instead of reverse tunnel.
63
42
  *
@@ -66,7 +45,7 @@ export interface Init {
66
45
  *
67
46
  * When using `AdbScrcpyClient`, it can detect this situation and enable this option automatically.
68
47
  */
69
- tunnelForward?: boolean;
48
+ tunnelForward?: boolean | undefined;
70
49
  crop?: Crop | string | undefined;
71
50
  /**
72
51
  * Send PTS so that the client may record properly
@@ -79,14 +58,14 @@ export interface Init {
79
58
  *
80
59
  * @default true
81
60
  */
82
- sendFrameMeta?: boolean;
61
+ sendFrameMeta?: boolean | undefined;
83
62
  /**
84
63
  * @default true
85
64
  */
86
- control?: boolean;
87
- displayId?: number;
88
- showTouches?: boolean;
89
- stayAwake?: boolean;
65
+ control?: boolean | undefined;
66
+ displayId?: number | undefined;
67
+ showTouches?: boolean | undefined;
68
+ stayAwake?: boolean | undefined;
90
69
  codecOptions?: CodecOptions | string | undefined;
91
70
  }
92
71
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GACxB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAaD,qBAAa,YAAa,YAAW,iBAAiB;IAClD,MAAM,CAAC,KAAK,eAAsC;IAElD,OAAO,EAAE,gBAAgB,CAAC;gBAEd,OAAO,GAAE,gBAAqB;IAgB1C,aAAa,IAAI,MAAM,GAAG,SAAS;CAuBtC;AAED,yBAAiB,YAAY,CAAC;IAC1B,KAAY,IAAI,GAAG,gBAAgB,CAAC;CACvC;AAED,qBAAa,IAAK,YAAW,iBAAiB;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;gBAEE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAO/D,aAAa,IAAI,MAAM,GAAG,SAAS;CAGtC;AAED,MAAM,WAAW,IAAI;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IAExC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;CACpD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/1_15/impl/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GACxB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,qBAAa,IAAK,YAAW,iBAAiB;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;gBAEE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAO/D,aAAa,IAAI,MAAM,GAAG,SAAS;CAGtC;AAED,MAAM,WAAW,IAAI;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEpD;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAElC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEhC,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;CACpD"}