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

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 (437) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/esm/1_15/impl/codec-options.d.ts +146 -0
  4. package/esm/1_15/impl/codec-options.d.ts.map +1 -0
  5. package/esm/1_15/impl/codec-options.js +192 -0
  6. package/esm/1_15/impl/codec-options.js.map +1 -0
  7. package/esm/1_15/impl/control-message-types.d.ts +13 -2
  8. package/esm/1_15/impl/control-message-types.d.ts.map +1 -1
  9. package/esm/1_15/impl/control-message-types.js +13 -14
  10. package/esm/1_15/impl/control-message-types.js.map +1 -1
  11. package/esm/1_15/impl/index.d.ts +1 -0
  12. package/esm/1_15/impl/index.d.ts.map +1 -1
  13. package/esm/1_15/impl/index.js +1 -0
  14. package/esm/1_15/impl/index.js.map +1 -1
  15. package/esm/1_15/impl/init.d.ts +1 -22
  16. package/esm/1_15/impl/init.d.ts.map +1 -1
  17. package/esm/1_15/impl/init.js +0 -39
  18. package/esm/1_15/impl/init.js.map +1 -1
  19. package/esm/1_15/impl/inject-touch.d.ts.map +1 -1
  20. package/esm/1_15/impl/inject-touch.js +1 -0
  21. package/esm/1_15/impl/inject-touch.js.map +1 -1
  22. package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
  23. package/esm/1_15/impl/scroll-controller.js +1 -0
  24. package/esm/1_15/impl/scroll-controller.js.map +1 -1
  25. package/esm/1_15/impl/set-clipboard.d.ts.map +1 -1
  26. package/esm/1_15/impl/set-clipboard.js +5 -1
  27. package/esm/1_15/impl/set-clipboard.js.map +1 -1
  28. package/esm/1_15/options.d.ts +3 -2
  29. package/esm/1_15/options.d.ts.map +1 -1
  30. package/esm/1_15/options.js.map +1 -1
  31. package/esm/1_15_1.d.ts +1 -7
  32. package/esm/1_15_1.d.ts.map +1 -1
  33. package/esm/1_15_1.js +1 -6
  34. package/esm/1_15_1.js.map +1 -1
  35. package/esm/1_16.d.ts +1 -7
  36. package/esm/1_16.d.ts.map +1 -1
  37. package/esm/1_16.js +1 -6
  38. package/esm/1_16.js.map +1 -1
  39. package/esm/1_17/impl/defaults.d.ts.map +1 -1
  40. package/esm/1_17/impl/defaults.js +2 -2
  41. package/esm/1_17/impl/defaults.js.map +1 -1
  42. package/esm/1_17/options.d.ts +3 -2
  43. package/esm/1_17/options.d.ts.map +1 -1
  44. package/esm/1_17/options.js.map +1 -1
  45. package/esm/1_18/impl/control-message-types.d.ts +14 -2
  46. package/esm/1_18/impl/control-message-types.d.ts.map +1 -1
  47. package/esm/1_18/impl/control-message-types.js +14 -7
  48. package/esm/1_18/impl/control-message-types.js.map +1 -1
  49. package/esm/1_18/impl/defaults.d.ts.map +1 -1
  50. package/esm/1_18/impl/defaults.js +2 -2
  51. package/esm/1_18/impl/defaults.js.map +1 -1
  52. package/esm/1_18/impl/init.d.ts.map +1 -1
  53. package/esm/1_18/options.d.ts +3 -2
  54. package/esm/1_18/options.d.ts.map +1 -1
  55. package/esm/1_18/options.js.map +1 -1
  56. package/esm/1_19.d.ts +1 -7
  57. package/esm/1_19.d.ts.map +1 -1
  58. package/esm/1_19.js +1 -6
  59. package/esm/1_19.js.map +1 -1
  60. package/esm/1_20.d.ts +1 -7
  61. package/esm/1_20.d.ts.map +1 -1
  62. package/esm/1_20.js +1 -6
  63. package/esm/1_20.js.map +1 -1
  64. package/esm/1_21/impl/defaults.d.ts.map +1 -1
  65. package/esm/1_21/impl/defaults.js +2 -2
  66. package/esm/1_21/impl/defaults.js.map +1 -1
  67. package/esm/1_21/impl/index.d.ts +1 -1
  68. package/esm/1_21/impl/index.d.ts.map +1 -1
  69. package/esm/1_21/impl/index.js +1 -1
  70. package/esm/1_21/impl/index.js.map +1 -1
  71. package/esm/1_21/impl/set-clipboard.d.ts +1 -0
  72. package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
  73. package/esm/1_21/impl/set-clipboard.js +7 -0
  74. package/esm/1_21/impl/set-clipboard.js.map +1 -1
  75. package/esm/1_21/options.d.ts +3 -2
  76. package/esm/1_21/options.d.ts.map +1 -1
  77. package/esm/1_21/options.js +6 -4
  78. package/esm/1_21/options.js.map +1 -1
  79. package/esm/1_22/impl/defaults.d.ts.map +1 -1
  80. package/esm/1_22/impl/defaults.js +2 -2
  81. package/esm/1_22/impl/defaults.js.map +1 -1
  82. package/esm/1_22/options.d.ts +3 -2
  83. package/esm/1_22/options.d.ts.map +1 -1
  84. package/esm/1_22/options.js +6 -4
  85. package/esm/1_22/options.js.map +1 -1
  86. package/esm/1_23/impl/defaults.d.ts.map +1 -1
  87. package/esm/1_23/impl/defaults.js +2 -2
  88. package/esm/1_23/impl/defaults.js.map +1 -1
  89. package/esm/1_23/options.d.ts +3 -2
  90. package/esm/1_23/options.d.ts.map +1 -1
  91. package/esm/1_23/options.js +6 -4
  92. package/esm/1_23/options.js.map +1 -1
  93. package/esm/1_24/impl/defaults.d.ts.map +1 -1
  94. package/esm/1_24/impl/defaults.js +2 -2
  95. package/esm/1_24/impl/defaults.js.map +1 -1
  96. package/esm/1_24/options.d.ts +3 -2
  97. package/esm/1_24/options.d.ts.map +1 -1
  98. package/esm/1_24/options.js +6 -4
  99. package/esm/1_24/options.js.map +1 -1
  100. package/esm/1_25/impl/scroll-controller.d.ts +2 -2
  101. package/esm/1_25/impl/scroll-controller.d.ts.map +1 -1
  102. package/esm/1_25/impl/scroll-controller.js +4 -4
  103. package/esm/1_25/impl/scroll-controller.js.map +1 -1
  104. package/esm/1_25/options.d.ts +3 -2
  105. package/esm/1_25/options.d.ts.map +1 -1
  106. package/esm/1_25/options.js +6 -4
  107. package/esm/1_25/options.js.map +1 -1
  108. package/esm/2_0/impl/defaults.d.ts +3 -3
  109. package/esm/2_0/impl/defaults.d.ts.map +1 -1
  110. package/esm/2_0/impl/defaults.js +10 -4
  111. package/esm/2_0/impl/defaults.js.map +1 -1
  112. package/esm/2_0/impl/init.d.ts.map +1 -1
  113. package/esm/2_0/impl/inject-touch.d.ts +2 -2
  114. package/esm/2_0/impl/inject-touch.d.ts.map +1 -1
  115. package/esm/2_0/impl/inject-touch.js +4 -4
  116. package/esm/2_0/impl/inject-touch.js.map +1 -1
  117. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -1
  118. package/esm/2_0/impl/parse-audio-stream-metadata.js +2 -7
  119. package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
  120. package/esm/2_0/options.d.ts +6 -5
  121. package/esm/2_0/options.d.ts.map +1 -1
  122. package/esm/2_0/options.js +6 -4
  123. package/esm/2_0/options.js.map +1 -1
  124. package/esm/2_1/impl/defaults.d.ts +3 -3
  125. package/esm/2_1/impl/defaults.d.ts.map +1 -1
  126. package/esm/2_1/impl/defaults.js +2 -2
  127. package/esm/2_1/impl/defaults.js.map +1 -1
  128. package/esm/2_1/options.d.ts +6 -5
  129. package/esm/2_1/options.d.ts.map +1 -1
  130. package/esm/2_1/options.js +6 -4
  131. package/esm/2_1/options.js.map +1 -1
  132. package/esm/2_1_1.d.ts +1 -7
  133. package/esm/2_1_1.d.ts.map +1 -1
  134. package/esm/2_1_1.js +1 -6
  135. package/esm/2_1_1.js.map +1 -1
  136. package/esm/2_2/impl/defaults.d.ts +3 -3
  137. package/esm/2_2/impl/defaults.d.ts.map +1 -1
  138. package/esm/2_2/impl/defaults.js +2 -2
  139. package/esm/2_2/impl/defaults.js.map +1 -1
  140. package/esm/2_2/options.d.ts +6 -5
  141. package/esm/2_2/options.d.ts.map +1 -1
  142. package/esm/2_2/options.js +6 -4
  143. package/esm/2_2/options.js.map +1 -1
  144. package/esm/2_3/impl/init.d.ts.map +1 -1
  145. package/esm/2_3/options.d.ts +6 -5
  146. package/esm/2_3/options.d.ts.map +1 -1
  147. package/esm/2_3/options.js +6 -4
  148. package/esm/2_3/options.js.map +1 -1
  149. package/esm/2_3_1.d.ts +1 -7
  150. package/esm/2_3_1.d.ts.map +1 -1
  151. package/esm/2_3_1.js +1 -6
  152. package/esm/2_3_1.js.map +1 -1
  153. package/esm/2_4/impl/control-message-types.d.ts +17 -2
  154. package/esm/2_4/impl/control-message-types.d.ts.map +1 -1
  155. package/esm/2_4/impl/control-message-types.js +17 -8
  156. package/esm/2_4/impl/control-message-types.js.map +1 -1
  157. package/esm/2_4/impl/serialize-uhid-create.d.ts.map +1 -1
  158. package/esm/2_4/impl/serialize-uhid-create.js +1 -0
  159. package/esm/2_4/impl/serialize-uhid-create.js.map +1 -1
  160. package/esm/2_4/options.d.ts +6 -5
  161. package/esm/2_4/options.d.ts.map +1 -1
  162. package/esm/2_4/options.js +3 -3
  163. package/esm/2_4/options.js.map +1 -1
  164. package/esm/2_5.d.ts +1 -7
  165. package/esm/2_5.d.ts.map +1 -1
  166. package/esm/2_5.js +1 -6
  167. package/esm/2_5.js.map +1 -1
  168. package/esm/2_6/impl/defaults.d.ts +3 -3
  169. package/esm/2_6/impl/defaults.d.ts.map +1 -1
  170. package/esm/2_6/impl/defaults.js +2 -2
  171. package/esm/2_6/impl/defaults.js.map +1 -1
  172. package/esm/2_6/impl/init.d.ts.map +1 -1
  173. package/esm/2_6/options.d.ts +6 -5
  174. package/esm/2_6/options.d.ts.map +1 -1
  175. package/esm/2_6/options.js +3 -3
  176. package/esm/2_6/options.js.map +1 -1
  177. package/esm/2_6_1.d.ts +1 -7
  178. package/esm/2_6_1.d.ts.map +1 -1
  179. package/esm/2_6_1.js +1 -6
  180. package/esm/2_6_1.js.map +1 -1
  181. package/esm/2_7/impl/control-message-types.d.ts +18 -2
  182. package/esm/2_7/impl/control-message-types.d.ts.map +1 -1
  183. package/esm/2_7/impl/control-message-types.js +18 -7
  184. package/esm/2_7/impl/control-message-types.js.map +1 -1
  185. package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
  186. package/esm/2_7/impl/serialize-uhid-create.js +1 -0
  187. package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
  188. package/esm/2_7/options.d.ts +6 -5
  189. package/esm/2_7/options.d.ts.map +1 -1
  190. package/esm/2_7/options.js +3 -3
  191. package/esm/2_7/options.js.map +1 -1
  192. package/esm/3_0/impl/control-message-types.d.ts +20 -2
  193. package/esm/3_0/impl/control-message-types.d.ts.map +1 -1
  194. package/esm/3_0/impl/control-message-types.js +20 -7
  195. package/esm/3_0/impl/control-message-types.js.map +1 -1
  196. package/esm/3_0/impl/defaults.d.ts +4 -4
  197. package/esm/3_0/impl/defaults.d.ts.map +1 -1
  198. package/esm/3_0/impl/defaults.js +8 -4
  199. package/esm/3_0/impl/defaults.js.map +1 -1
  200. package/esm/3_0/impl/init.d.ts.map +1 -1
  201. package/esm/3_0/options.d.ts +7 -6
  202. package/esm/3_0/options.d.ts.map +1 -1
  203. package/esm/3_0/options.js +3 -3
  204. package/esm/3_0/options.js.map +1 -1
  205. package/esm/3_0_1.d.ts +1 -7
  206. package/esm/3_0_1.d.ts.map +1 -1
  207. package/esm/3_0_1.js +1 -6
  208. package/esm/3_0_1.js.map +1 -1
  209. package/esm/3_0_2.d.ts +1 -7
  210. package/esm/3_0_2.d.ts.map +1 -1
  211. package/esm/3_0_2.js +1 -6
  212. package/esm/3_0_2.js.map +1 -1
  213. package/esm/3_1/impl/defaults.d.ts +4 -4
  214. package/esm/3_1/impl/defaults.d.ts.map +1 -1
  215. package/esm/3_1/impl/defaults.js +2 -2
  216. package/esm/3_1/impl/defaults.js.map +1 -1
  217. package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
  218. package/esm/3_1/impl/serialize-uhid-create.js +1 -0
  219. package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
  220. package/esm/3_1/options.d.ts +7 -6
  221. package/esm/3_1/options.d.ts.map +1 -1
  222. package/esm/3_1/options.js +3 -3
  223. package/esm/3_1/options.js.map +1 -1
  224. package/esm/3_2/impl/defaults.d.ts +4 -4
  225. package/esm/3_2/impl/defaults.d.ts.map +1 -1
  226. package/esm/3_2/impl/defaults.js +2 -2
  227. package/esm/3_2/impl/defaults.js.map +1 -1
  228. package/esm/3_2/impl/init.d.ts.map +1 -1
  229. package/esm/3_2/options.d.ts +7 -6
  230. package/esm/3_2/options.d.ts.map +1 -1
  231. package/esm/3_2/options.js +3 -3
  232. package/esm/3_2/options.js.map +1 -1
  233. package/esm/3_3.d.ts +1 -7
  234. package/esm/3_3.d.ts.map +1 -1
  235. package/esm/3_3.js +1 -6
  236. package/esm/3_3.js.map +1 -1
  237. package/esm/3_3_1/options.d.ts +7 -6
  238. package/esm/3_3_1/options.d.ts.map +1 -1
  239. package/esm/3_3_1/options.js +3 -3
  240. package/esm/3_3_1/options.js.map +1 -1
  241. package/esm/3_3_2.d.ts +1 -7
  242. package/esm/3_3_2.d.ts.map +1 -1
  243. package/esm/3_3_2.js +1 -6
  244. package/esm/3_3_2.js.map +1 -1
  245. package/esm/3_3_4.d.ts +2 -0
  246. package/esm/3_3_4.d.ts.map +1 -0
  247. package/esm/3_3_4.js +2 -0
  248. package/esm/3_3_4.js.map +1 -0
  249. package/esm/android/key-code-value.d.ts +176 -0
  250. package/esm/android/key-code-value.d.ts.map +1 -0
  251. package/esm/android/key-code-value.js +180 -0
  252. package/esm/android/key-code-value.js.map +1 -0
  253. package/esm/android/key-event.d.ts +3 -164
  254. package/esm/android/key-event.d.ts.map +1 -1
  255. package/esm/android/key-event.js +2 -167
  256. package/esm/android/key-event.js.map +1 -1
  257. package/esm/base/control-message-type-value.d.ts +19 -0
  258. package/esm/base/control-message-type-value.d.ts.map +1 -0
  259. package/esm/base/control-message-type-value.js +19 -0
  260. package/esm/base/control-message-type-value.js.map +1 -0
  261. package/esm/base/control-message-type.d.ts +3 -21
  262. package/esm/base/control-message-type.d.ts.map +1 -1
  263. package/esm/base/control-message-type.js +2 -21
  264. package/esm/base/control-message-type.js.map +1 -1
  265. package/esm/base/options.d.ts +2 -1
  266. package/esm/base/options.d.ts.map +1 -1
  267. package/esm/control/index.d.ts +0 -1
  268. package/esm/control/index.d.ts.map +1 -1
  269. package/esm/control/index.js +0 -1
  270. package/esm/control/index.js.map +1 -1
  271. package/esm/control/inject-key-code.d.ts +2 -2
  272. package/esm/control/inject-key-code.d.ts.map +1 -1
  273. package/esm/control/inject-key-code.js +4 -4
  274. package/esm/control/inject-key-code.js.map +1 -1
  275. package/esm/control/inject-text.d.ts.map +1 -1
  276. package/esm/control/inject-text.js +5 -1
  277. package/esm/control/inject-text.js.map +1 -1
  278. package/esm/control/serializer.d.ts +2 -0
  279. package/esm/control/serializer.d.ts.map +1 -1
  280. package/esm/control/serializer.js +27 -19
  281. package/esm/control/serializer.js.map +1 -1
  282. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  283. package/esm/control/set-screen-power-mode.js +5 -1
  284. package/esm/control/set-screen-power-mode.js.map +1 -1
  285. package/esm/control/start-app.d.ts.map +1 -1
  286. package/esm/control/start-app.js +1 -0
  287. package/esm/control/start-app.js.map +1 -1
  288. package/esm/control/uhid.d.ts +2 -2
  289. package/esm/control/uhid.d.ts.map +1 -1
  290. package/esm/control/uhid.js +9 -5
  291. package/esm/control/uhid.js.map +1 -1
  292. package/esm/control/writer.d.ts +1 -1
  293. package/esm/control/writer.d.ts.map +1 -1
  294. package/esm/control/writer.js +1 -1
  295. package/esm/control/writer.js.map +1 -1
  296. package/esm/index.d.ts +2 -1
  297. package/esm/index.d.ts.map +1 -1
  298. package/esm/index.js +2 -1
  299. package/esm/index.js.map +1 -1
  300. package/esm/latest.d.ts +2 -2
  301. package/esm/latest.d.ts.map +1 -1
  302. package/esm/latest.js +2 -2
  303. package/esm/latest.js.map +1 -1
  304. package/esm/video/android.d.ts +69 -0
  305. package/esm/video/android.d.ts.map +1 -0
  306. package/esm/video/android.js +70 -0
  307. package/esm/video/android.js.map +1 -0
  308. package/esm/video/index.d.ts +3 -0
  309. package/esm/video/index.d.ts.map +1 -0
  310. package/esm/video/index.js +3 -0
  311. package/esm/video/index.js.map +1 -0
  312. package/esm/video/size.d.ts +21 -0
  313. package/esm/video/size.d.ts.map +1 -0
  314. package/esm/video/size.js +27 -0
  315. package/esm/video/size.js.map +1 -0
  316. package/package.json +11 -10
  317. package/src/1_15/impl/codec-options.ts +236 -0
  318. package/src/1_15/impl/control-message-types.ts +14 -14
  319. package/src/1_15/impl/index.ts +1 -0
  320. package/src/1_15/impl/init.ts +2 -76
  321. package/src/1_15/impl/inject-touch.ts +1 -0
  322. package/src/1_15/impl/scroll-controller.ts +1 -0
  323. package/src/1_15/impl/set-clipboard.ts +5 -1
  324. package/src/1_15/options.ts +1 -2
  325. package/src/1_15_1.ts +1 -11
  326. package/src/1_16.ts +1 -11
  327. package/src/1_17/impl/defaults.ts +4 -5
  328. package/src/1_17/options.ts +1 -2
  329. package/src/1_18/impl/control-message-types.ts +15 -8
  330. package/src/1_18/impl/defaults.ts +6 -7
  331. package/src/1_18/impl/init.ts +4 -2
  332. package/src/1_18/options.ts +1 -2
  333. package/src/1_19.ts +1 -11
  334. package/src/1_20.ts +1 -11
  335. package/src/1_21/impl/defaults.ts +4 -5
  336. package/src/1_21/impl/index.ts +1 -0
  337. package/src/1_21/impl/set-clipboard.ts +14 -0
  338. package/src/1_21/options.ts +10 -7
  339. package/src/1_22/impl/defaults.ts +6 -7
  340. package/src/1_22/options.ts +10 -7
  341. package/src/1_23/impl/defaults.ts +4 -5
  342. package/src/1_23/options.ts +10 -7
  343. package/src/1_24/impl/defaults.ts +4 -5
  344. package/src/1_24/options.ts +10 -7
  345. package/src/1_25/impl/scroll-controller.ts +14 -15
  346. package/src/1_25/options.ts +10 -7
  347. package/src/2_0/impl/defaults.ts +24 -19
  348. package/src/2_0/impl/init.ts +4 -2
  349. package/src/2_0/impl/inject-touch.ts +16 -17
  350. package/src/2_0/impl/parse-audio-stream-metadata.ts +3 -7
  351. package/src/2_0/options.ts +10 -7
  352. package/src/2_1/impl/defaults.ts +5 -6
  353. package/src/2_1/options.ts +10 -7
  354. package/src/2_1_1.ts +1 -14
  355. package/src/2_2/impl/defaults.ts +13 -14
  356. package/src/2_2/options.ts +10 -7
  357. package/src/2_3/impl/init.ts +4 -2
  358. package/src/2_3/options.ts +10 -7
  359. package/src/2_3_1.ts +1 -14
  360. package/src/2_4/impl/control-message-types.ts +18 -9
  361. package/src/2_4/impl/serialize-uhid-create.ts +1 -0
  362. package/src/2_4/options.ts +8 -7
  363. package/src/2_5.ts +1 -14
  364. package/src/2_6/impl/defaults.ts +4 -5
  365. package/src/2_6/impl/init.ts +4 -2
  366. package/src/2_6/options.ts +8 -7
  367. package/src/2_6_1.ts +1 -14
  368. package/src/2_7/impl/control-message-types.ts +19 -8
  369. package/src/2_7/impl/serialize-uhid-create.ts +1 -0
  370. package/src/2_7/options.ts +8 -7
  371. package/src/3_0/impl/control-message-types.ts +21 -8
  372. package/src/3_0/impl/defaults.ts +15 -12
  373. package/src/3_0/impl/init.ts +4 -2
  374. package/src/3_0/options.ts +8 -7
  375. package/src/3_0_1.ts +1 -14
  376. package/src/3_0_2.ts +1 -14
  377. package/src/3_1/impl/defaults.ts +4 -5
  378. package/src/3_1/impl/serialize-uhid-create.ts +1 -0
  379. package/src/3_1/options.ts +8 -7
  380. package/src/3_2/impl/defaults.ts +4 -5
  381. package/src/3_2/impl/init.ts +4 -2
  382. package/src/3_2/options.ts +8 -7
  383. package/src/3_3.ts +1 -14
  384. package/src/3_3_1/options.ts +8 -7
  385. package/src/3_3_2.ts +1 -14
  386. package/src/3_3_4.ts +1 -0
  387. package/src/android/key-code-value.ts +194 -0
  388. package/src/android/key-event.ts +5 -182
  389. package/src/base/control-message-type-value.ts +18 -0
  390. package/src/base/control-message-type.ts +6 -22
  391. package/src/base/options.ts +5 -1
  392. package/src/control/index.ts +0 -1
  393. package/src/control/inject-key-code.ts +11 -12
  394. package/src/control/inject-text.ts +5 -1
  395. package/src/control/serializer.ts +32 -36
  396. package/src/control/set-screen-power-mode.ts +5 -1
  397. package/src/control/start-app.ts +1 -0
  398. package/src/control/uhid.ts +14 -12
  399. package/src/control/writer.ts +1 -1
  400. package/src/index.ts +2 -1
  401. package/src/latest.ts +2 -1
  402. package/src/video/android.ts +72 -0
  403. package/src/video/index.ts +2 -0
  404. package/src/video/size.ts +40 -0
  405. package/tsconfig.build.json +0 -8
  406. package/CHANGELOG.md +0 -224
  407. package/esm/codec/av1.d.ts +0 -462
  408. package/esm/codec/av1.d.ts.map +0 -1
  409. package/esm/codec/av1.js +0 -622
  410. package/esm/codec/av1.js.map +0 -1
  411. package/esm/codec/h264.d.ts +0 -78
  412. package/esm/codec/h264.d.ts.map +0 -1
  413. package/esm/codec/h264.js +0 -254
  414. package/esm/codec/h264.js.map +0 -1
  415. package/esm/codec/h265.d.ts +0 -535
  416. package/esm/codec/h265.d.ts.map +0 -1
  417. package/esm/codec/h265.js +0 -1117
  418. package/esm/codec/h265.js.map +0 -1
  419. package/esm/codec/index.d.ts +0 -5
  420. package/esm/codec/index.d.ts.map +0 -1
  421. package/esm/codec/index.js +0 -5
  422. package/esm/codec/index.js.map +0 -1
  423. package/esm/codec/nalu.d.ts +0 -28
  424. package/esm/codec/nalu.d.ts.map +0 -1
  425. package/esm/codec/nalu.js +0 -250
  426. package/esm/codec/nalu.js.map +0 -1
  427. package/esm/control/message-type-map.d.ts +0 -15
  428. package/esm/control/message-type-map.d.ts.map +0 -1
  429. package/esm/control/message-type-map.js +0 -23
  430. package/esm/control/message-type-map.js.map +0 -1
  431. package/src/codec/av1.ts +0 -724
  432. package/src/codec/h264.ts +0 -317
  433. package/src/codec/h265.ts +0 -1410
  434. package/src/codec/index.ts +0 -4
  435. package/src/codec/nalu.ts +0 -304
  436. package/src/control/message-type-map.ts +0 -30
  437. package/tsconfig.build.tsbuildinfo +0 -1
package/src/codec/h264.ts DELETED
@@ -1,317 +0,0 @@
1
- // cspell: ignore golomb
2
- // cspell: ignore qpprime
3
- // cspell: ignore colour
4
-
5
- import { NaluSodbBitReader, annexBSplitNalu } from "./nalu.js";
6
-
7
- // From https://developer.android.com/reference/android/media/MediaCodecInfo.CodecProfileLevel
8
- export const AndroidAvcProfile = {
9
- Baseline: 1 << 0,
10
- Main: 1 << 1,
11
- Extended: 1 << 2,
12
- High: 1 << 3,
13
- High10: 1 << 4,
14
- High422: 1 << 5,
15
- High444: 1 << 6,
16
- ConstrainedBaseline: 1 << 16,
17
- ConstrainedHigh: 1 << 19,
18
- };
19
-
20
- export const AndroidAvcLevel = {
21
- Level1: 1 << 0,
22
- Level1b: 1 << 1,
23
- Level11: 1 << 2,
24
- Level12: 1 << 3,
25
- Level13: 1 << 4,
26
- Level2: 1 << 5,
27
- Level21: 1 << 6,
28
- Level22: 1 << 7,
29
- Level3: 1 << 8,
30
- Level31: 1 << 9,
31
- Level32: 1 << 10,
32
- Level4: 1 << 11,
33
- Level41: 1 << 12,
34
- Level42: 1 << 13,
35
- Level5: 1 << 14,
36
- Level51: 1 << 15,
37
- Level52: 1 << 16,
38
- Level6: 1 << 17,
39
- Level61: 1 << 18,
40
- Level62: 1 << 19,
41
- };
42
-
43
- // H.264 has two standards: ITU-T H.264 and ISO/IEC 14496-10
44
- // they have the same content, and refer themselves as "H.264".
45
- // The name "AVC" (Advanced Video Coding) is only used in ISO spec name,
46
- // and other ISO specs referring to H.264.
47
- // Because this module parses H.264 Annex B format,
48
- // it's named "h264" instead of "avc".
49
-
50
- // 7.3.2.1.1 Sequence parameter set data syntax
51
- // Variable names in this method uses the snake_case convention as in the spec for easier referencing.
52
- export function h264ParseSequenceParameterSet(nalu: Uint8Array) {
53
- const reader = new NaluSodbBitReader(nalu);
54
- if (reader.next() !== 0) {
55
- throw new Error("Invalid data");
56
- }
57
-
58
- const nal_ref_idc = reader.read(2);
59
- const nal_unit_type = reader.read(5);
60
-
61
- if (nal_unit_type !== 7) {
62
- throw new Error("Invalid data");
63
- }
64
-
65
- if (nal_ref_idc === 0) {
66
- throw new Error("Invalid data");
67
- }
68
-
69
- const profile_idc = reader.read(8);
70
- const constraint_set = reader.peek(8);
71
-
72
- const constraint_set0_flag = !!reader.next();
73
- const constraint_set1_flag = !!reader.next();
74
- const constraint_set2_flag = !!reader.next();
75
- const constraint_set3_flag = !!reader.next();
76
- const constraint_set4_flag = !!reader.next();
77
- const constraint_set5_flag = !!reader.next();
78
-
79
- // reserved_zero_2bits
80
- if (reader.read(2) !== 0) {
81
- throw new Error("Invalid data");
82
- }
83
-
84
- const level_idc = reader.read(8);
85
- const seq_parameter_set_id = reader.decodeExponentialGolombNumber();
86
-
87
- if (
88
- profile_idc === 100 ||
89
- profile_idc === 110 ||
90
- profile_idc === 122 ||
91
- profile_idc === 244 ||
92
- profile_idc === 44 ||
93
- profile_idc === 83 ||
94
- profile_idc === 86 ||
95
- profile_idc === 118 ||
96
- profile_idc === 128 ||
97
- profile_idc === 138 ||
98
- profile_idc === 139 ||
99
- profile_idc === 134
100
- ) {
101
- const chroma_format_idc = reader.decodeExponentialGolombNumber();
102
- if (chroma_format_idc === 3) {
103
- // separate_colour_plane_flag
104
- reader.next();
105
- }
106
-
107
- // bit_depth_luma_minus8
108
- reader.decodeExponentialGolombNumber();
109
- // bit_depth_chroma_minus8
110
- reader.decodeExponentialGolombNumber();
111
-
112
- // qpprime_y_zero_transform_bypass_flag
113
- reader.next();
114
-
115
- const seq_scaling_matrix_present_flag = !!reader.next();
116
- if (seq_scaling_matrix_present_flag) {
117
- const seq_scaling_list_present_flag: boolean[] = [];
118
- for (let i = 0; i < (chroma_format_idc !== 3 ? 8 : 12); i += 1) {
119
- seq_scaling_list_present_flag[i] = !!reader.next();
120
- if (seq_scaling_list_present_flag[i])
121
- if (i < 6) {
122
- // TODO
123
- // scaling_list( ScalingList4x4[ i ], 16,
124
- // UseDefaultScalingMatrix4x4Flag[ i ])
125
- } else {
126
- // TODO
127
- // scaling_list( ScalingList8x8[ i − 6 ], 64,
128
- // UseDefaultScalingMatrix8x8Flag[ i − 6 ] )
129
- }
130
- }
131
- }
132
- }
133
-
134
- // log2_max_frame_num_minus4
135
- reader.decodeExponentialGolombNumber();
136
- const pic_order_cnt_type = reader.decodeExponentialGolombNumber();
137
- if (pic_order_cnt_type === 0) {
138
- // log2_max_pic_order_cnt_lsb_minus4
139
- reader.decodeExponentialGolombNumber();
140
- } else if (pic_order_cnt_type === 1) {
141
- // delta_pic_order_always_zero_flag
142
- reader.next();
143
- // offset_for_non_ref_pic
144
- reader.decodeExponentialGolombNumber();
145
- // offset_for_top_to_bottom_field
146
- reader.decodeExponentialGolombNumber();
147
- const num_ref_frames_in_pic_order_cnt_cycle =
148
- reader.decodeExponentialGolombNumber();
149
- const offset_for_ref_frame: number[] = [];
150
- for (let i = 0; i < num_ref_frames_in_pic_order_cnt_cycle; i += 1) {
151
- offset_for_ref_frame[i] = reader.decodeExponentialGolombNumber();
152
- }
153
- }
154
-
155
- // max_num_ref_frames
156
- reader.decodeExponentialGolombNumber();
157
- // gaps_in_frame_num_value_allowed_flag
158
- reader.next();
159
- const pic_width_in_mbs_minus1 = reader.decodeExponentialGolombNumber();
160
- const pic_height_in_map_units_minus1 =
161
- reader.decodeExponentialGolombNumber();
162
-
163
- const frame_mbs_only_flag = reader.next();
164
- if (!frame_mbs_only_flag) {
165
- // mb_adaptive_frame_field_flag
166
- reader.next();
167
- }
168
-
169
- // direct_8x8_inference_flag
170
- reader.next();
171
-
172
- const frame_cropping_flag = !!reader.next();
173
- let frame_crop_left_offset: number;
174
- let frame_crop_right_offset: number;
175
- let frame_crop_top_offset: number;
176
- let frame_crop_bottom_offset: number;
177
- if (frame_cropping_flag) {
178
- frame_crop_left_offset = reader.decodeExponentialGolombNumber();
179
- frame_crop_right_offset = reader.decodeExponentialGolombNumber();
180
- frame_crop_top_offset = reader.decodeExponentialGolombNumber();
181
- frame_crop_bottom_offset = reader.decodeExponentialGolombNumber();
182
- } else {
183
- frame_crop_left_offset = 0;
184
- frame_crop_right_offset = 0;
185
- frame_crop_top_offset = 0;
186
- frame_crop_bottom_offset = 0;
187
- }
188
-
189
- const vui_parameters_present_flag = !!reader.next();
190
- if (vui_parameters_present_flag) {
191
- // TODO
192
- // vui_parameters( )
193
- }
194
-
195
- return {
196
- profile_idc,
197
- constraint_set,
198
- constraint_set0_flag,
199
- constraint_set1_flag,
200
- constraint_set2_flag,
201
- constraint_set3_flag,
202
- constraint_set4_flag,
203
- constraint_set5_flag,
204
- level_idc,
205
- seq_parameter_set_id,
206
- pic_width_in_mbs_minus1,
207
- pic_height_in_map_units_minus1,
208
- frame_mbs_only_flag,
209
- frame_cropping_flag,
210
- frame_crop_left_offset,
211
- frame_crop_right_offset,
212
- frame_crop_top_offset,
213
- frame_crop_bottom_offset,
214
- };
215
- }
216
-
217
- /**
218
- * Find Sequence Parameter Set (SPS) and Picture Parameter Set (PPS)
219
- * from H.264 Annex B formatted data.
220
- */
221
- export function h264SearchConfiguration(buffer: Uint8Array) {
222
- let sequenceParameterSet: Uint8Array | undefined;
223
- let pictureParameterSet: Uint8Array | undefined;
224
-
225
- for (const nalu of annexBSplitNalu(buffer)) {
226
- const naluType = nalu[0]! & 0x1f;
227
- switch (naluType) {
228
- case 7: // Sequence parameter set
229
- sequenceParameterSet = nalu;
230
- if (pictureParameterSet) {
231
- return {
232
- sequenceParameterSet,
233
- pictureParameterSet,
234
- };
235
- }
236
- break;
237
- case 8: // Picture parameter set
238
- pictureParameterSet = nalu;
239
- if (sequenceParameterSet) {
240
- return {
241
- sequenceParameterSet,
242
- pictureParameterSet,
243
- };
244
- }
245
- break;
246
- default:
247
- // ignore
248
- break;
249
- }
250
- }
251
-
252
- throw new Error("Invalid data");
253
- }
254
-
255
- export interface H264Configuration {
256
- pictureParameterSet: Uint8Array;
257
- sequenceParameterSet: Uint8Array;
258
-
259
- profileIndex: number;
260
- constraintSet: number;
261
- levelIndex: number;
262
-
263
- encodedWidth: number;
264
- encodedHeight: number;
265
-
266
- cropLeft: number;
267
- cropRight: number;
268
- cropTop: number;
269
- cropBottom: number;
270
- croppedWidth: number;
271
- croppedHeight: number;
272
- }
273
-
274
- export function h264ParseConfiguration(data: Uint8Array): H264Configuration {
275
- const { sequenceParameterSet, pictureParameterSet } =
276
- h264SearchConfiguration(data);
277
-
278
- const {
279
- profile_idc: profileIndex,
280
- constraint_set: constraintSet,
281
- level_idc: levelIndex,
282
- pic_width_in_mbs_minus1,
283
- pic_height_in_map_units_minus1,
284
- frame_mbs_only_flag,
285
- frame_crop_left_offset,
286
- frame_crop_right_offset,
287
- frame_crop_top_offset,
288
- frame_crop_bottom_offset,
289
- } = h264ParseSequenceParameterSet(sequenceParameterSet);
290
-
291
- const encodedWidth = (pic_width_in_mbs_minus1 + 1) * 16;
292
- const encodedHeight =
293
- (pic_height_in_map_units_minus1 + 1) * (2 - frame_mbs_only_flag) * 16;
294
- const cropLeft = frame_crop_left_offset * 2;
295
- const cropRight = frame_crop_right_offset * 2;
296
- const cropTop = frame_crop_top_offset * 2;
297
- const cropBottom = frame_crop_bottom_offset * 2;
298
-
299
- const croppedWidth = encodedWidth - cropLeft - cropRight;
300
- const croppedHeight = encodedHeight - cropTop - cropBottom;
301
-
302
- return {
303
- pictureParameterSet,
304
- sequenceParameterSet,
305
- profileIndex,
306
- constraintSet,
307
- levelIndex,
308
- encodedWidth,
309
- encodedHeight,
310
- cropLeft,
311
- cropRight,
312
- cropTop,
313
- cropBottom,
314
- croppedWidth,
315
- croppedHeight,
316
- };
317
- }