@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.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/esm/1_15/impl/codec-options.d.ts +147 -0
- package/esm/1_15/impl/codec-options.d.ts.map +1 -0
- package/esm/1_15/impl/codec-options.js +231 -0
- package/esm/1_15/impl/codec-options.js.map +1 -0
- package/esm/1_15/impl/compute-option-values.d.ts +7 -0
- package/esm/1_15/impl/compute-option-values.d.ts.map +1 -0
- package/esm/1_15/impl/compute-option-values.js +12 -0
- package/esm/1_15/impl/compute-option-values.js.map +1 -0
- package/esm/1_15/impl/control-message-types.d.ts +13 -2
- package/esm/1_15/impl/control-message-types.d.ts.map +1 -1
- package/esm/1_15/impl/control-message-types.js +13 -14
- package/esm/1_15/impl/control-message-types.js.map +1 -1
- package/esm/1_15/impl/index.d.ts +3 -0
- package/esm/1_15/impl/index.d.ts.map +1 -1
- package/esm/1_15/impl/index.js +3 -0
- package/esm/1_15/impl/index.js.map +1 -1
- package/esm/1_15/impl/init.d.ts +12 -33
- package/esm/1_15/impl/init.d.ts.map +1 -1
- package/esm/1_15/impl/init.js +0 -39
- package/esm/1_15/impl/init.js.map +1 -1
- package/esm/1_15/impl/inject-touch.d.ts.map +1 -1
- package/esm/1_15/impl/inject-touch.js +1 -0
- package/esm/1_15/impl/inject-touch.js.map +1 -1
- package/esm/1_15/impl/media-stream-transformer.d.ts +2 -2
- package/esm/1_15/impl/media-stream-transformer.js +1 -1
- package/esm/1_15/impl/media-stream-transformer.js.map +1 -1
- package/esm/1_15/impl/parse-video-stream-metadata.js +4 -4
- package/esm/1_15/impl/parse-video-stream-metadata.js.map +1 -1
- package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
- package/esm/1_15/impl/scroll-controller.js +1 -0
- package/esm/1_15/impl/scroll-controller.js.map +1 -1
- package/esm/1_15/impl/set-clipboard.d.ts.map +1 -1
- package/esm/1_15/impl/set-clipboard.js +5 -1
- package/esm/1_15/impl/set-clipboard.js.map +1 -1
- package/esm/1_15/impl/set-display-power.d.ts +13 -0
- package/esm/1_15/impl/set-display-power.d.ts.map +1 -0
- package/esm/1_15/impl/set-display-power.js +16 -0
- package/esm/1_15/impl/set-display-power.js.map +1 -0
- package/esm/1_15/options.d.ts +13 -9
- package/esm/1_15/options.d.ts.map +1 -1
- package/esm/1_15/options.js +20 -2
- package/esm/1_15/options.js.map +1 -1
- package/esm/1_15_1.d.ts +1 -7
- package/esm/1_15_1.d.ts.map +1 -1
- package/esm/1_15_1.js +1 -6
- package/esm/1_15_1.js.map +1 -1
- package/esm/1_16.d.ts +1 -7
- package/esm/1_16.d.ts.map +1 -1
- package/esm/1_16.js +1 -6
- package/esm/1_16.js.map +1 -1
- package/esm/1_17/impl/defaults.d.ts.map +1 -1
- package/esm/1_17/impl/defaults.js +2 -2
- package/esm/1_17/impl/defaults.js.map +1 -1
- package/esm/1_17/options.d.ts +12 -9
- package/esm/1_17/options.d.ts.map +1 -1
- package/esm/1_17/options.js +20 -2
- package/esm/1_17/options.js.map +1 -1
- package/esm/1_18/impl/control-message-types.d.ts +14 -2
- package/esm/1_18/impl/control-message-types.d.ts.map +1 -1
- package/esm/1_18/impl/control-message-types.js +14 -7
- package/esm/1_18/impl/control-message-types.js.map +1 -1
- package/esm/1_18/impl/defaults.d.ts.map +1 -1
- package/esm/1_18/impl/defaults.js +2 -2
- package/esm/1_18/impl/defaults.js.map +1 -1
- package/esm/1_18/impl/init.d.ts +3 -3
- package/esm/1_18/impl/init.d.ts.map +1 -1
- package/esm/1_18/options.d.ts +12 -9
- package/esm/1_18/options.d.ts.map +1 -1
- package/esm/1_18/options.js +20 -2
- package/esm/1_18/options.js.map +1 -1
- package/esm/1_19.d.ts +1 -7
- package/esm/1_19.d.ts.map +1 -1
- package/esm/1_19.js +1 -6
- package/esm/1_19.js.map +1 -1
- package/esm/1_20.d.ts +1 -7
- package/esm/1_20.d.ts.map +1 -1
- package/esm/1_20.js +1 -6
- package/esm/1_20.js.map +1 -1
- package/esm/1_21/impl/compute-option-values.d.ts +23 -0
- package/esm/1_21/impl/compute-option-values.d.ts.map +1 -0
- package/esm/1_21/impl/compute-option-values.js +12 -0
- package/esm/1_21/impl/compute-option-values.js.map +1 -0
- package/esm/1_21/impl/defaults.d.ts.map +1 -1
- package/esm/1_21/impl/defaults.js +2 -2
- package/esm/1_21/impl/defaults.js.map +1 -1
- package/esm/1_21/impl/index.d.ts +3 -1
- package/esm/1_21/impl/index.d.ts.map +1 -1
- package/esm/1_21/impl/index.js +2 -1
- package/esm/1_21/impl/index.js.map +1 -1
- package/esm/1_21/impl/init.d.ts +1 -1
- package/esm/1_21/impl/init.d.ts.map +1 -1
- package/esm/1_21/impl/serialize.d.ts +1 -1
- package/esm/1_21/impl/serialize.d.ts.map +1 -1
- package/esm/1_21/impl/serialize.js.map +1 -1
- package/esm/1_21/impl/set-clipboard.d.ts +1 -0
- package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
- package/esm/1_21/impl/set-clipboard.js +7 -0
- package/esm/1_21/impl/set-clipboard.js.map +1 -1
- package/esm/1_21/options.d.ts +12 -9
- package/esm/1_21/options.d.ts.map +1 -1
- package/esm/1_21/options.js +25 -5
- package/esm/1_21/options.js.map +1 -1
- package/esm/1_22/impl/defaults.d.ts.map +1 -1
- package/esm/1_22/impl/defaults.js +2 -2
- package/esm/1_22/impl/defaults.js.map +1 -1
- package/esm/1_22/impl/init.d.ts +3 -3
- package/esm/1_22/impl/init.d.ts.map +1 -1
- package/esm/1_22/impl/parse-video-stream-metadata.d.ts +2 -2
- package/esm/1_22/impl/parse-video-stream-metadata.d.ts.map +1 -1
- package/esm/1_22/impl/parse-video-stream-metadata.js +3 -3
- package/esm/1_22/impl/parse-video-stream-metadata.js.map +1 -1
- package/esm/1_22/options.d.ts +12 -9
- package/esm/1_22/options.d.ts.map +1 -1
- package/esm/1_22/options.js +26 -6
- package/esm/1_22/options.js.map +1 -1
- package/esm/1_23/impl/defaults.d.ts.map +1 -1
- package/esm/1_23/impl/defaults.js +2 -2
- package/esm/1_23/impl/defaults.js.map +1 -1
- package/esm/1_23/impl/init.d.ts +1 -1
- package/esm/1_23/impl/init.d.ts.map +1 -1
- package/esm/1_23/impl/media-stream-transformer.d.ts +2 -2
- package/esm/1_23/impl/media-stream-transformer.js +1 -1
- package/esm/1_23/impl/media-stream-transformer.js.map +1 -1
- package/esm/1_23/options.d.ts +12 -9
- package/esm/1_23/options.d.ts.map +1 -1
- package/esm/1_23/options.js +26 -6
- package/esm/1_23/options.js.map +1 -1
- package/esm/1_24/impl/defaults.d.ts.map +1 -1
- package/esm/1_24/impl/defaults.js +2 -2
- package/esm/1_24/impl/defaults.js.map +1 -1
- package/esm/1_24/impl/init.d.ts +1 -1
- package/esm/1_24/impl/init.d.ts.map +1 -1
- package/esm/1_24/options.d.ts +12 -9
- package/esm/1_24/options.d.ts.map +1 -1
- package/esm/1_24/options.js +26 -6
- package/esm/1_24/options.js.map +1 -1
- package/esm/1_25/impl/scroll-controller.d.ts +2 -2
- package/esm/1_25/impl/scroll-controller.d.ts.map +1 -1
- package/esm/1_25/impl/scroll-controller.js +4 -4
- package/esm/1_25/impl/scroll-controller.js.map +1 -1
- package/esm/1_25/options.d.ts +12 -9
- package/esm/1_25/options.d.ts.map +1 -1
- package/esm/1_25/options.js +26 -6
- package/esm/1_25/options.js.map +1 -1
- package/esm/2_0/impl/defaults.d.ts +8 -11
- package/esm/2_0/impl/defaults.d.ts.map +1 -1
- package/esm/2_0/impl/defaults.js +2 -2
- package/esm/2_0/impl/defaults.js.map +1 -1
- package/esm/2_0/impl/index.d.ts +1 -1
- package/esm/2_0/impl/index.d.ts.map +1 -1
- package/esm/2_0/impl/index.js +1 -1
- package/esm/2_0/impl/index.js.map +1 -1
- package/esm/2_0/impl/init.d.ts +8 -8
- package/esm/2_0/impl/init.d.ts.map +1 -1
- package/esm/2_0/impl/inject-touch.d.ts +2 -2
- package/esm/2_0/impl/inject-touch.d.ts.map +1 -1
- package/esm/2_0/impl/inject-touch.js +4 -4
- package/esm/2_0/impl/inject-touch.js.map +1 -1
- package/esm/2_0/impl/parse-audio-stream-metadata.d.ts +4 -1
- package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -1
- package/esm/2_0/impl/parse-audio-stream-metadata.js +30 -46
- package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
- package/esm/2_0/impl/parse-video-stream-metadata.d.ts +5 -2
- package/esm/2_0/impl/parse-video-stream-metadata.d.ts.map +1 -1
- package/esm/2_0/impl/parse-video-stream-metadata.js +14 -12
- package/esm/2_0/impl/parse-video-stream-metadata.js.map +1 -1
- package/esm/2_0/options.d.ts +20 -20
- package/esm/2_0/options.d.ts.map +1 -1
- package/esm/2_0/options.js +27 -7
- package/esm/2_0/options.js.map +1 -1
- package/esm/2_1/impl/defaults.d.ts +8 -11
- package/esm/2_1/impl/defaults.d.ts.map +1 -1
- package/esm/2_1/impl/defaults.js +2 -2
- package/esm/2_1/impl/defaults.js.map +1 -1
- package/esm/2_1/impl/init.d.ts +3 -3
- package/esm/2_1/impl/init.d.ts.map +1 -1
- package/esm/2_1/options.d.ts +22 -22
- package/esm/2_1/options.d.ts.map +1 -1
- package/esm/2_1/options.js +27 -7
- package/esm/2_1/options.js.map +1 -1
- package/esm/2_1_1.d.ts +1 -7
- package/esm/2_1_1.d.ts.map +1 -1
- package/esm/2_1_1.js +1 -6
- package/esm/2_1_1.js.map +1 -1
- package/esm/2_2/impl/compute-option-values.d.ts +22 -0
- package/esm/2_2/impl/compute-option-values.d.ts.map +1 -0
- package/esm/2_2/impl/compute-option-values.js +11 -0
- package/esm/2_2/impl/compute-option-values.js.map +1 -0
- package/esm/2_2/impl/defaults.d.ts +8 -11
- package/esm/2_2/impl/defaults.d.ts.map +1 -1
- package/esm/2_2/impl/defaults.js +2 -2
- package/esm/2_2/impl/defaults.js.map +1 -1
- package/esm/2_2/impl/index.d.ts +2 -0
- package/esm/2_2/impl/index.d.ts.map +1 -1
- package/esm/2_2/impl/index.js +1 -0
- package/esm/2_2/impl/index.js.map +1 -1
- package/esm/2_2/impl/init.d.ts +5 -5
- package/esm/2_2/impl/init.d.ts.map +1 -1
- package/esm/2_2/options.d.ts +22 -22
- package/esm/2_2/options.d.ts.map +1 -1
- package/esm/2_2/options.js +27 -10
- package/esm/2_2/options.js.map +1 -1
- package/esm/2_3/impl/index.d.ts +1 -0
- package/esm/2_3/impl/index.d.ts.map +1 -1
- package/esm/2_3/impl/index.js +1 -0
- package/esm/2_3/impl/index.js.map +1 -1
- package/esm/2_3/impl/init.d.ts +2 -2
- package/esm/2_3/impl/init.d.ts.map +1 -1
- package/esm/2_3/impl/parse-audio-stream-metadata.d.ts +5 -0
- package/esm/2_3/impl/parse-audio-stream-metadata.d.ts.map +1 -0
- package/esm/2_3/impl/parse-audio-stream-metadata.js +31 -0
- package/esm/2_3/impl/parse-audio-stream-metadata.js.map +1 -0
- package/esm/2_3/options.d.ts +22 -22
- package/esm/2_3/options.d.ts.map +1 -1
- package/esm/2_3/options.js +27 -10
- package/esm/2_3/options.js.map +1 -1
- package/esm/2_3_1.d.ts +1 -7
- package/esm/2_3_1.d.ts.map +1 -1
- package/esm/2_3_1.js +1 -6
- package/esm/2_3_1.js.map +1 -1
- package/esm/2_4/impl/control-message-types.d.ts +17 -2
- package/esm/2_4/impl/control-message-types.d.ts.map +1 -1
- package/esm/2_4/impl/control-message-types.js +17 -8
- package/esm/2_4/impl/control-message-types.js.map +1 -1
- package/esm/2_4/impl/serialize-uhid-create.d.ts.map +1 -1
- package/esm/2_4/impl/serialize-uhid-create.js +1 -0
- package/esm/2_4/impl/serialize-uhid-create.js.map +1 -1
- package/esm/2_4/options.d.ts +23 -23
- package/esm/2_4/options.d.ts.map +1 -1
- package/esm/2_4/options.js +27 -9
- package/esm/2_4/options.js.map +1 -1
- package/esm/2_5.d.ts +1 -7
- package/esm/2_5.d.ts.map +1 -1
- package/esm/2_5.js +1 -6
- package/esm/2_5.js.map +1 -1
- package/esm/2_6/impl/compute-option-values.d.ts +29 -0
- package/esm/2_6/impl/compute-option-values.d.ts.map +1 -0
- package/esm/2_6/impl/compute-option-values.js +12 -0
- package/esm/2_6/impl/compute-option-values.js.map +1 -0
- package/esm/2_6/impl/defaults.d.ts +8 -11
- package/esm/2_6/impl/defaults.d.ts.map +1 -1
- package/esm/2_6/impl/defaults.js +2 -2
- package/esm/2_6/impl/defaults.js.map +1 -1
- package/esm/2_6/impl/index.d.ts +2 -0
- package/esm/2_6/impl/index.d.ts.map +1 -1
- package/esm/2_6/impl/index.js +1 -0
- package/esm/2_6/impl/index.js.map +1 -1
- package/esm/2_6/impl/init.d.ts +3 -3
- package/esm/2_6/impl/init.d.ts.map +1 -1
- package/esm/2_6/options.d.ts +23 -23
- package/esm/2_6/options.d.ts.map +1 -1
- package/esm/2_6/options.js +27 -12
- package/esm/2_6/options.js.map +1 -1
- package/esm/2_6_1.d.ts +1 -7
- package/esm/2_6_1.d.ts.map +1 -1
- package/esm/2_6_1.js +1 -6
- package/esm/2_6_1.js.map +1 -1
- package/esm/2_7/impl/control-message-types.d.ts +18 -2
- package/esm/2_7/impl/control-message-types.d.ts.map +1 -1
- package/esm/2_7/impl/control-message-types.js +18 -7
- package/esm/2_7/impl/control-message-types.js.map +1 -1
- package/esm/2_7/impl/index.d.ts.map +1 -1
- package/esm/2_7/impl/index.js.map +1 -1
- package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
- package/esm/2_7/impl/serialize-uhid-create.js +1 -0
- package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
- package/esm/2_7/options.d.ts +23 -23
- package/esm/2_7/options.d.ts.map +1 -1
- package/esm/2_7/options.js +27 -12
- package/esm/2_7/options.js.map +1 -1
- package/esm/3_0/impl/control-message-types.d.ts +20 -2
- package/esm/3_0/impl/control-message-types.d.ts.map +1 -1
- package/esm/3_0/impl/control-message-types.js +20 -7
- package/esm/3_0/impl/control-message-types.js.map +1 -1
- package/esm/3_0/impl/defaults.d.ts +29 -33
- package/esm/3_0/impl/defaults.d.ts.map +1 -1
- package/esm/3_0/impl/defaults.js +2 -2
- package/esm/3_0/impl/defaults.js.map +1 -1
- package/esm/3_0/impl/index.d.ts +1 -0
- package/esm/3_0/impl/index.d.ts.map +1 -1
- package/esm/3_0/impl/index.js +1 -0
- package/esm/3_0/impl/index.js.map +1 -1
- package/esm/3_0/impl/init.d.ts +4 -4
- package/esm/3_0/impl/init.d.ts.map +1 -1
- package/esm/3_0/impl/set-display-power.d.ts +12 -0
- package/esm/3_0/impl/set-display-power.d.ts.map +1 -0
- package/esm/3_0/impl/set-display-power.js +10 -0
- package/esm/3_0/impl/set-display-power.js.map +1 -0
- package/esm/3_0/options.d.ts +44 -45
- package/esm/3_0/options.d.ts.map +1 -1
- package/esm/3_0/options.js +27 -12
- package/esm/3_0/options.js.map +1 -1
- package/esm/3_0_1.d.ts +1 -7
- package/esm/3_0_1.d.ts.map +1 -1
- package/esm/3_0_1.js +1 -6
- package/esm/3_0_1.js.map +1 -1
- package/esm/3_0_2.d.ts +1 -7
- package/esm/3_0_2.d.ts.map +1 -1
- package/esm/3_0_2.js +1 -6
- package/esm/3_0_2.js.map +1 -1
- package/esm/3_1/impl/defaults.d.ts +29 -33
- package/esm/3_1/impl/defaults.d.ts.map +1 -1
- package/esm/3_1/impl/defaults.js +2 -2
- package/esm/3_1/impl/defaults.js.map +1 -1
- package/esm/3_1/impl/index.d.ts.map +1 -1
- package/esm/3_1/impl/index.js.map +1 -1
- package/esm/3_1/impl/init.d.ts +2 -2
- package/esm/3_1/impl/init.d.ts.map +1 -1
- package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
- package/esm/3_1/impl/serialize-uhid-create.js +1 -0
- package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
- package/esm/3_1/options.d.ts +44 -45
- package/esm/3_1/options.d.ts.map +1 -1
- package/esm/3_1/options.js +27 -12
- package/esm/3_1/options.js.map +1 -1
- package/esm/3_2/impl/defaults.d.ts +29 -33
- package/esm/3_2/impl/defaults.d.ts.map +1 -1
- package/esm/3_2/impl/defaults.js +2 -2
- package/esm/3_2/impl/defaults.js.map +1 -1
- package/esm/3_2/impl/index.d.ts.map +1 -1
- package/esm/3_2/impl/index.js.map +1 -1
- package/esm/3_2/impl/init.d.ts +2 -2
- package/esm/3_2/impl/init.d.ts.map +1 -1
- package/esm/3_2/options.d.ts +44 -45
- package/esm/3_2/options.d.ts.map +1 -1
- package/esm/3_2/options.js +27 -12
- package/esm/3_2/options.js.map +1 -1
- package/esm/3_3.d.ts +1 -7
- package/esm/3_3.d.ts.map +1 -1
- package/esm/3_3.js +1 -6
- package/esm/3_3.js.map +1 -1
- package/esm/3_3_1/options.d.ts +44 -45
- package/esm/3_3_1/options.d.ts.map +1 -1
- package/esm/3_3_1/options.js +27 -12
- package/esm/3_3_1/options.js.map +1 -1
- package/esm/3_3_2.d.ts +1 -7
- package/esm/3_3_2.d.ts.map +1 -1
- package/esm/3_3_2.js +1 -6
- package/esm/3_3_2.js.map +1 -1
- package/esm/3_3_4.d.ts +2 -0
- package/esm/3_3_4.d.ts.map +1 -0
- package/esm/3_3_4.js +2 -0
- package/esm/3_3_4.js.map +1 -0
- package/esm/4_0/impl/compute-option-values.d.ts +15 -0
- package/esm/4_0/impl/compute-option-values.d.ts.map +1 -0
- package/esm/4_0/impl/compute-option-values.js +9 -0
- package/esm/4_0/impl/compute-option-values.js.map +1 -0
- package/esm/4_0/impl/control-message-types.d.ts +25 -0
- package/esm/4_0/impl/control-message-types.d.ts.map +1 -0
- package/esm/4_0/impl/control-message-types.js +26 -0
- package/esm/4_0/impl/control-message-types.js.map +1 -0
- package/esm/4_0/impl/defaults.d.ts +58 -0
- package/esm/4_0/impl/defaults.d.ts.map +1 -0
- package/esm/4_0/impl/defaults.js +12 -0
- package/esm/4_0/impl/defaults.js.map +1 -0
- package/esm/4_0/impl/index.d.ts +9 -0
- package/esm/4_0/impl/index.d.ts.map +1 -0
- package/esm/4_0/impl/index.js +7 -0
- package/esm/4_0/impl/index.js.map +1 -0
- package/esm/4_0/impl/init.d.ts +10 -0
- package/esm/4_0/impl/init.d.ts.map +1 -0
- package/esm/4_0/impl/init.js +2 -0
- package/esm/4_0/impl/init.js.map +1 -0
- package/esm/4_0/impl/media-stream-transformer.d.ts +5 -0
- package/esm/4_0/impl/media-stream-transformer.d.ts.map +1 -0
- package/esm/4_0/impl/media-stream-transformer.js +39 -0
- package/esm/4_0/impl/media-stream-transformer.js.map +1 -0
- package/esm/4_0/impl/parse-video-stream-metadata.d.ts +6 -0
- package/esm/4_0/impl/parse-video-stream-metadata.d.ts.map +1 -0
- package/esm/4_0/impl/parse-video-stream-metadata.js +21 -0
- package/esm/4_0/impl/parse-video-stream-metadata.js.map +1 -0
- package/esm/4_0/impl/prev.d.ts +2 -0
- package/esm/4_0/impl/prev.d.ts.map +1 -0
- package/esm/4_0/impl/prev.js +2 -0
- package/esm/4_0/impl/prev.js.map +1 -0
- package/esm/4_0/index.d.ts +100 -0
- package/esm/4_0/index.d.ts.map +1 -0
- package/esm/4_0/index.js +93 -0
- package/esm/4_0/index.js.map +1 -0
- package/esm/4_1/impl/control-message-types.d.ts +26 -0
- package/esm/4_1/impl/control-message-types.d.ts.map +1 -0
- package/esm/4_1/impl/control-message-types.js +27 -0
- package/esm/4_1/impl/control-message-types.js.map +1 -0
- package/esm/4_1/impl/defaults.d.ts +59 -0
- package/esm/4_1/impl/defaults.d.ts.map +1 -0
- package/esm/4_1/impl/defaults.js +6 -0
- package/esm/4_1/impl/defaults.js.map +1 -0
- package/esm/4_1/impl/index.d.ts +6 -0
- package/esm/4_1/impl/index.d.ts.map +1 -0
- package/esm/4_1/impl/index.js +5 -0
- package/esm/4_1/impl/index.js.map +1 -0
- package/esm/4_1/impl/init.d.ts +6 -0
- package/esm/4_1/impl/init.d.ts.map +1 -0
- package/esm/4_1/impl/init.js +2 -0
- package/esm/4_1/impl/init.js.map +1 -0
- package/esm/4_1/impl/parse-video-stream-metadata.d.ts +4 -0
- package/esm/4_1/impl/parse-video-stream-metadata.d.ts.map +1 -0
- package/esm/4_1/impl/parse-video-stream-metadata.js +19 -0
- package/esm/4_1/impl/parse-video-stream-metadata.js.map +1 -0
- package/esm/4_1/impl/prev.d.ts +2 -0
- package/esm/4_1/impl/prev.d.ts.map +1 -0
- package/esm/4_1/impl/prev.js +2 -0
- package/esm/4_1/impl/prev.js.map +1 -0
- package/esm/4_1/index.d.ts +101 -0
- package/esm/4_1/index.d.ts.map +1 -0
- package/esm/4_1/index.js +93 -0
- package/esm/4_1/index.js.map +1 -0
- package/esm/android/key-code-value.d.ts +176 -0
- package/esm/android/key-code-value.d.ts.map +1 -0
- package/esm/android/key-code-value.js +180 -0
- package/esm/android/key-code-value.js.map +1 -0
- package/esm/android/key-event.d.ts +3 -164
- package/esm/android/key-event.d.ts.map +1 -1
- package/esm/android/key-event.js +2 -167
- package/esm/android/key-event.js.map +1 -1
- package/esm/base/control-message-type-value.d.ts +24 -0
- package/esm/base/control-message-type-value.d.ts.map +1 -0
- package/esm/base/control-message-type-value.js +24 -0
- package/esm/base/control-message-type-value.js.map +1 -0
- package/esm/base/control-message-type.d.ts +3 -21
- package/esm/base/control-message-type.d.ts.map +1 -1
- package/esm/base/control-message-type.js +2 -21
- package/esm/base/control-message-type.js.map +1 -1
- package/esm/base/media.d.ts +8 -1
- package/esm/base/media.d.ts.map +1 -1
- package/esm/base/options.d.ts +8 -5
- package/esm/base/options.d.ts.map +1 -1
- package/esm/base/video.d.ts +1 -7
- package/esm/base/video.d.ts.map +1 -1
- package/esm/base/video.js +1 -13
- package/esm/base/video.js.map +1 -1
- package/esm/control/boolean.d.ts +10 -0
- package/esm/control/boolean.d.ts.map +1 -0
- package/esm/control/boolean.js +3 -0
- package/esm/control/boolean.js.map +1 -0
- package/esm/control/index.d.ts +2 -2
- package/esm/control/index.d.ts.map +1 -1
- package/esm/control/index.js +2 -2
- package/esm/control/index.js.map +1 -1
- package/esm/control/inject-key-code.d.ts +2 -2
- package/esm/control/inject-key-code.d.ts.map +1 -1
- package/esm/control/inject-key-code.js +4 -4
- package/esm/control/inject-key-code.js.map +1 -1
- package/esm/control/inject-text.d.ts.map +1 -1
- package/esm/control/inject-text.js +5 -1
- package/esm/control/inject-text.js.map +1 -1
- package/esm/control/resize-display.d.ts +12 -0
- package/esm/control/resize-display.d.ts.map +1 -0
- package/esm/control/resize-display.js +8 -0
- package/esm/control/resize-display.js.map +1 -0
- package/esm/control/serializer.d.ts +10 -2
- package/esm/control/serializer.d.ts.map +1 -1
- package/esm/control/serializer.js +57 -23
- package/esm/control/serializer.js.map +1 -1
- package/esm/control/start-app.d.ts.map +1 -1
- package/esm/control/start-app.js +1 -0
- package/esm/control/start-app.js.map +1 -1
- package/esm/control/uhid.d.ts +2 -2
- package/esm/control/uhid.d.ts.map +1 -1
- package/esm/control/uhid.js +9 -5
- package/esm/control/uhid.js.map +1 -1
- package/esm/control/writer.d.ts +8 -2
- package/esm/control/writer.d.ts.map +1 -1
- package/esm/control/writer.js +17 -2
- package/esm/control/writer.js.map +1 -1
- package/esm/index.d.ts +4 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -1
- package/esm/index.js.map +1 -1
- package/esm/latest.d.ts +2 -2
- package/esm/latest.d.ts.map +1 -1
- package/esm/latest.js +2 -2
- package/esm/latest.js.map +1 -1
- package/esm/utils/omit.d.ts +1 -1
- package/esm/utils/omit.d.ts.map +1 -1
- package/esm/video/android.d.ts +69 -0
- package/esm/video/android.d.ts.map +1 -0
- package/esm/video/android.js +70 -0
- package/esm/video/android.js.map +1 -0
- package/esm/video/codec-id.d.ts +6 -0
- package/esm/video/codec-id.d.ts.map +1 -0
- package/esm/video/codec-id.js +6 -0
- package/esm/video/codec-id.js.map +1 -0
- package/esm/video/index.d.ts +7 -0
- package/esm/video/index.d.ts.map +1 -0
- package/esm/video/index.js +15 -0
- package/esm/video/index.js.map +1 -0
- package/esm/video/size.d.ts +20 -0
- package/esm/video/size.d.ts.map +1 -0
- package/esm/video/size.js +27 -0
- package/esm/video/size.js.map +1 -0
- package/package.json +11 -10
- package/src/1_15/impl/codec-options.ts +287 -0
- package/src/1_15/impl/compute-option-values.ts +26 -0
- package/src/1_15/impl/control-message-types.ts +14 -14
- package/src/1_15/impl/index.ts +3 -0
- package/src/1_15/impl/init.ts +13 -87
- package/src/1_15/impl/inject-touch.ts +1 -0
- package/src/1_15/impl/media-stream-transformer.ts +3 -3
- package/src/1_15/impl/parse-video-stream-metadata.ts +4 -4
- package/src/1_15/impl/scroll-controller.ts +1 -0
- package/src/1_15/impl/set-clipboard.ts +5 -1
- package/src/1_15/impl/set-display-power.ts +29 -0
- package/src/1_15/options.ts +46 -11
- package/src/1_15_1.ts +1 -11
- package/src/1_16.ts +1 -11
- package/src/1_17/impl/defaults.ts +4 -5
- package/src/1_17/options.ts +47 -12
- package/src/1_18/impl/control-message-types.ts +15 -8
- package/src/1_18/impl/defaults.ts +6 -7
- package/src/1_18/impl/init.ts +7 -5
- package/src/1_18/options.ts +47 -12
- package/src/1_19.ts +1 -11
- package/src/1_20.ts +1 -11
- package/src/1_21/impl/compute-option-values.ts +43 -0
- package/src/1_21/impl/defaults.ts +4 -5
- package/src/1_21/impl/index.ts +10 -0
- package/src/1_21/impl/init.ts +1 -1
- package/src/1_21/impl/serialize.ts +3 -3
- package/src/1_21/impl/set-clipboard.ts +14 -0
- package/src/1_21/options.ts +56 -17
- package/src/1_22/impl/defaults.ts +6 -7
- package/src/1_22/impl/init.ts +3 -3
- package/src/1_22/impl/parse-video-stream-metadata.ts +4 -4
- package/src/1_22/options.ts +57 -18
- package/src/1_23/impl/defaults.ts +4 -5
- package/src/1_23/impl/init.ts +1 -1
- package/src/1_23/impl/media-stream-transformer.ts +3 -3
- package/src/1_23/options.ts +57 -18
- package/src/1_24/impl/defaults.ts +4 -5
- package/src/1_24/impl/init.ts +1 -1
- package/src/1_24/options.ts +57 -18
- package/src/1_25/impl/scroll-controller.ts +14 -15
- package/src/1_25/options.ts +57 -18
- package/src/2_0/impl/defaults.ts +3 -2
- package/src/2_0/impl/index.ts +5 -1
- package/src/2_0/impl/init.ts +12 -10
- package/src/2_0/impl/inject-touch.ts +16 -17
- package/src/2_0/impl/parse-audio-stream-metadata.ts +37 -51
- package/src/2_0/impl/parse-video-stream-metadata.ts +24 -21
- package/src/2_0/options.ts +73 -19
- package/src/2_1/impl/defaults.ts +5 -6
- package/src/2_1/impl/init.ts +3 -3
- package/src/2_1/options.ts +76 -22
- package/src/2_1_1.ts +1 -14
- package/src/2_2/generate-type-tests.js +106 -0
- package/src/2_2/impl/compute-option-values.ts +44 -0
- package/src/2_2/impl/defaults.ts +13 -14
- package/src/2_2/impl/index.ts +2 -0
- package/src/2_2/impl/init.ts +5 -5
- package/src/2_2/options.ts +76 -26
- package/src/2_3/impl/index.ts +4 -0
- package/src/2_3/impl/init.ts +2 -3
- package/src/2_3/impl/parse-audio-stream-metadata.ts +36 -0
- package/src/2_3/options.ts +76 -26
- package/src/2_3_1.ts +1 -14
- package/src/2_4/impl/control-message-types.ts +18 -9
- package/src/2_4/impl/serialize-uhid-create.ts +1 -0
- package/src/2_4/options.ts +83 -30
- package/src/2_5.ts +1 -14
- package/src/2_6/generate-type-tests.js +119 -0
- package/src/2_6/impl/compute-option-values.ts +48 -0
- package/src/2_6/impl/defaults.ts +4 -5
- package/src/2_6/impl/index.ts +9 -0
- package/src/2_6/impl/init.ts +3 -4
- package/src/2_6/options.ts +83 -34
- package/src/2_6_1.ts +1 -14
- package/src/2_7/impl/control-message-types.ts +19 -8
- package/src/2_7/impl/index.ts +1 -0
- package/src/2_7/impl/serialize-uhid-create.ts +1 -0
- package/src/2_7/options.ts +83 -34
- package/src/3_0/impl/control-message-types.ts +21 -8
- package/src/3_0/impl/defaults.ts +4 -3
- package/src/3_0/impl/index.ts +5 -0
- package/src/3_0/impl/init.ts +4 -5
- package/src/3_0/impl/set-display-power.ts +23 -0
- package/src/3_0/options.ts +83 -34
- package/src/3_0_1.ts +1 -14
- package/src/3_0_2.ts +1 -14
- package/src/3_1/impl/defaults.ts +4 -5
- package/src/3_1/impl/index.ts +1 -0
- package/src/3_1/impl/init.ts +2 -2
- package/src/3_1/impl/serialize-uhid-create.ts +1 -0
- package/src/3_1/options.ts +83 -34
- package/src/3_2/impl/defaults.ts +4 -5
- package/src/3_2/impl/index.ts +1 -0
- package/src/3_2/impl/init.ts +2 -3
- package/src/3_2/options.ts +83 -34
- package/src/3_3.ts +1 -14
- package/src/3_3_1/options.ts +83 -34
- package/src/3_3_2.ts +1 -14
- package/src/3_3_4.ts +1 -0
- package/src/4_0/impl/compute-option-values.ts +31 -0
- package/src/4_0/impl/control-message-types.ts +27 -0
- package/src/4_0/impl/defaults.ts +20 -0
- package/src/4_0/impl/index.ts +9 -0
- package/src/4_0/impl/init.ts +14 -0
- package/src/4_0/impl/media-stream-transformer.ts +58 -0
- package/src/4_0/impl/parse-video-stream-metadata.ts +34 -0
- package/src/4_0/impl/prev.ts +1 -0
- package/src/4_0/index.ts +226 -0
- package/src/4_1/impl/control-message-types.ts +28 -0
- package/src/4_1/impl/defaults.ts +8 -0
- package/src/4_1/impl/index.ts +6 -0
- package/src/4_1/impl/init.ts +7 -0
- package/src/4_1/impl/parse-video-stream-metadata.ts +23 -0
- package/src/4_1/impl/prev.ts +1 -0
- package/src/4_1/index.ts +226 -0
- package/src/android/key-code-value.ts +194 -0
- package/src/android/key-event.ts +5 -182
- package/src/base/control-message-type-value.ts +23 -0
- package/src/base/control-message-type.ts +6 -22
- package/src/base/media.ts +12 -3
- package/src/base/options.ts +20 -6
- package/src/base/video.ts +2 -19
- package/src/control/boolean.ts +9 -0
- package/src/control/index.ts +2 -2
- package/src/control/inject-key-code.ts +11 -12
- package/src/control/inject-text.ts +5 -1
- package/src/control/resize-display.ts +16 -0
- package/src/control/serializer.ts +70 -44
- package/src/control/start-app.ts +1 -0
- package/src/control/uhid.ts +14 -12
- package/src/control/writer.ts +24 -6
- package/src/index.ts +4 -1
- package/src/latest.ts +4 -2
- package/src/utils/omit.ts +1 -1
- package/src/video/android.ts +72 -0
- package/src/video/codec-id.ts +6 -0
- package/src/video/index.ts +21 -0
- package/src/video/size.ts +46 -0
- package/tsconfig.build.json +0 -8
- package/CHANGELOG.md +0 -224
- package/esm/codec/av1.d.ts +0 -462
- package/esm/codec/av1.d.ts.map +0 -1
- package/esm/codec/av1.js +0 -622
- package/esm/codec/av1.js.map +0 -1
- package/esm/codec/h264.d.ts +0 -78
- package/esm/codec/h264.d.ts.map +0 -1
- package/esm/codec/h264.js +0 -254
- package/esm/codec/h264.js.map +0 -1
- package/esm/codec/h265.d.ts +0 -535
- package/esm/codec/h265.d.ts.map +0 -1
- package/esm/codec/h265.js +0 -1117
- package/esm/codec/h265.js.map +0 -1
- package/esm/codec/index.d.ts +0 -5
- package/esm/codec/index.d.ts.map +0 -1
- package/esm/codec/index.js +0 -5
- package/esm/codec/index.js.map +0 -1
- package/esm/codec/nalu.d.ts +0 -28
- package/esm/codec/nalu.d.ts.map +0 -1
- package/esm/codec/nalu.js +0 -250
- package/esm/codec/nalu.js.map +0 -1
- package/esm/control/message-type-map.d.ts +0 -15
- package/esm/control/message-type-map.d.ts.map +0 -1
- package/esm/control/message-type-map.js +0 -23
- package/esm/control/message-type-map.js.map +0 -1
- package/esm/control/set-screen-power-mode.d.ts +0 -11
- package/esm/control/set-screen-power-mode.d.ts.map +0 -1
- package/esm/control/set-screen-power-mode.js +0 -3
- package/esm/control/set-screen-power-mode.js.map +0 -1
- package/src/codec/av1.ts +0 -724
- package/src/codec/h264.ts +0 -317
- package/src/codec/h265.ts +0 -1410
- package/src/codec/index.ts +0 -4
- package/src/codec/nalu.ts +0 -304
- package/src/control/message-type-map.ts +0 -30
- package/src/control/set-screen-power-mode.ts +0 -13
- package/tsconfig.build.tsbuildinfo +0 -1
|
@@ -9,9 +9,39 @@ import type { Init } from "../../2_3/impl/init.js";
|
|
|
9
9
|
import type { ScrcpyAudioStreamMetadata } from "../../base/index.js";
|
|
10
10
|
import { ScrcpyAudioCodec } from "../../base/index.js";
|
|
11
11
|
|
|
12
|
+
export function parseAudioMetadataCodec(codec: number): ScrcpyAudioCodec {
|
|
13
|
+
switch (codec) {
|
|
14
|
+
case ScrcpyAudioCodec.Raw.metadataValue:
|
|
15
|
+
return ScrcpyAudioCodec.Raw;
|
|
16
|
+
case ScrcpyAudioCodec.Opus.metadataValue:
|
|
17
|
+
return ScrcpyAudioCodec.Opus;
|
|
18
|
+
case ScrcpyAudioCodec.Aac.metadataValue:
|
|
19
|
+
return ScrcpyAudioCodec.Aac;
|
|
20
|
+
default:
|
|
21
|
+
throw new Error(`Unknown audio codec metadata value: ${codec}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function parseAudioCodecOption(
|
|
26
|
+
audioCodec: Exclude<Init["audioCodec"], undefined>,
|
|
27
|
+
): ScrcpyAudioCodec {
|
|
28
|
+
switch (audioCodec) {
|
|
29
|
+
case "raw":
|
|
30
|
+
return ScrcpyAudioCodec.Raw;
|
|
31
|
+
case "opus":
|
|
32
|
+
return ScrcpyAudioCodec.Opus;
|
|
33
|
+
case "aac":
|
|
34
|
+
return ScrcpyAudioCodec.Aac;
|
|
35
|
+
default:
|
|
36
|
+
throw new Error(`Unknown audio codec: ${audioCodec}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
12
40
|
export async function parseAudioStreamMetadata(
|
|
13
41
|
stream: ReadableStream<Uint8Array>,
|
|
14
|
-
|
|
42
|
+
sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>,
|
|
43
|
+
parseMetadataCodec: (codec: number) => ScrcpyAudioCodec,
|
|
44
|
+
fallbackCodec: ScrcpyAudioCodec,
|
|
15
45
|
): Promise<ScrcpyAudioStreamMetadata> {
|
|
16
46
|
const buffered = new BufferedReadableStream(stream);
|
|
17
47
|
|
|
@@ -30,69 +60,25 @@ export async function parseAudioStreamMetadata(
|
|
|
30
60
|
};
|
|
31
61
|
}
|
|
32
62
|
|
|
33
|
-
if (
|
|
34
|
-
let codec: ScrcpyAudioCodec;
|
|
35
|
-
switch (codecMetadataValue) {
|
|
36
|
-
case ScrcpyAudioCodec.Raw.metadataValue:
|
|
37
|
-
codec = ScrcpyAudioCodec.Raw;
|
|
38
|
-
break;
|
|
39
|
-
case ScrcpyAudioCodec.Opus.metadataValue:
|
|
40
|
-
codec = ScrcpyAudioCodec.Opus;
|
|
41
|
-
break;
|
|
42
|
-
case ScrcpyAudioCodec.Aac.metadataValue:
|
|
43
|
-
codec = ScrcpyAudioCodec.Aac;
|
|
44
|
-
break;
|
|
45
|
-
case ScrcpyAudioCodec.Flac.metadataValue:
|
|
46
|
-
codec = ScrcpyAudioCodec.Flac;
|
|
47
|
-
break;
|
|
48
|
-
default:
|
|
49
|
-
throw new Error(
|
|
50
|
-
`Unknown audio codec metadata value: ${codecMetadataValue}`,
|
|
51
|
-
);
|
|
52
|
-
}
|
|
63
|
+
if (sendCodecMeta) {
|
|
53
64
|
return {
|
|
54
65
|
type: "success",
|
|
55
|
-
codec,
|
|
66
|
+
codec: parseMetadataCodec(codecMetadataValue),
|
|
56
67
|
stream: buffered.release(),
|
|
57
68
|
};
|
|
58
69
|
}
|
|
59
70
|
|
|
60
|
-
// Infer codec from `audioCodec` option
|
|
61
|
-
let codec: ScrcpyAudioCodec;
|
|
62
|
-
switch (options.audioCodec as string) {
|
|
63
|
-
case "raw":
|
|
64
|
-
codec = ScrcpyAudioCodec.Raw;
|
|
65
|
-
break;
|
|
66
|
-
case "opus":
|
|
67
|
-
codec = ScrcpyAudioCodec.Opus;
|
|
68
|
-
break;
|
|
69
|
-
case "aac":
|
|
70
|
-
codec = ScrcpyAudioCodec.Aac;
|
|
71
|
-
break;
|
|
72
|
-
case "flac":
|
|
73
|
-
codec = ScrcpyAudioCodec.Flac;
|
|
74
|
-
break;
|
|
75
|
-
default:
|
|
76
|
-
throw new Error(
|
|
77
|
-
`Unknown audio codec metadata value: ${codecMetadataValue}`,
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
71
|
return {
|
|
82
72
|
type: "success",
|
|
83
|
-
codec,
|
|
73
|
+
codec: fallbackCodec,
|
|
84
74
|
stream: new PushReadableStream<Uint8Array>(async (controller) => {
|
|
85
75
|
// Put the first 4 bytes back
|
|
86
76
|
await controller.enqueue(buffer);
|
|
87
77
|
|
|
88
78
|
const stream = buffered.release();
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (done) {
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
await controller.enqueue(value);
|
|
79
|
+
|
|
80
|
+
for await (const chunk of stream) {
|
|
81
|
+
await controller.enqueue(chunk);
|
|
96
82
|
}
|
|
97
83
|
}),
|
|
98
84
|
};
|
|
@@ -2,50 +2,52 @@ import type { MaybePromiseLike } from "@yume-chan/async";
|
|
|
2
2
|
import type { ReadableStream } from "@yume-chan/stream-extra";
|
|
3
3
|
import { BufferedReadableStream } from "@yume-chan/stream-extra";
|
|
4
4
|
|
|
5
|
-
import type { ScrcpyVideoStream } from "../../base/
|
|
6
|
-
import { ScrcpyVideoCodecId } from "../../
|
|
5
|
+
import type { ScrcpyVideoStream } from "../../base/index.js";
|
|
6
|
+
import { ScrcpyVideoCodecId } from "../../video/index.js";
|
|
7
7
|
|
|
8
8
|
import type { Init } from "./init.js";
|
|
9
9
|
import { PrevImpl } from "./prev.js";
|
|
10
10
|
|
|
11
|
-
function
|
|
11
|
+
export function parseVideoCodecOption(
|
|
12
|
+
codec: Exclude<Init["videoCodec"], undefined>,
|
|
13
|
+
): ScrcpyVideoCodecId {
|
|
12
14
|
switch (codec) {
|
|
13
15
|
case "h264":
|
|
14
16
|
return ScrcpyVideoCodecId.H264;
|
|
15
17
|
case "h265":
|
|
16
18
|
return ScrcpyVideoCodecId.H265;
|
|
17
19
|
case "av1":
|
|
18
|
-
return ScrcpyVideoCodecId.
|
|
20
|
+
return ScrcpyVideoCodecId.Av1;
|
|
19
21
|
default:
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
20
23
|
throw new Error(`Unknown video codec: ${codec}`);
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
26
|
|
|
24
|
-
async function
|
|
25
|
-
options: Pick<
|
|
26
|
-
Required<Init>,
|
|
27
|
-
"sendDeviceMeta" | "sendCodecMeta" | "videoCodec"
|
|
28
|
-
>,
|
|
27
|
+
export async function parseVideoStreamMetadataAsync(
|
|
29
28
|
stream: ReadableStream<Uint8Array>,
|
|
30
|
-
|
|
29
|
+
sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>,
|
|
30
|
+
sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>,
|
|
31
|
+
fallbackCodec: ScrcpyVideoCodecId,
|
|
32
|
+
): Promise<ScrcpyVideoStream> {
|
|
31
33
|
const buffered = new BufferedReadableStream(stream);
|
|
32
34
|
|
|
33
35
|
// `sendDeviceMeta` now only contains device name,
|
|
34
|
-
// can't use `
|
|
36
|
+
// can't use `PrevImpl.parseVideoStreamMetadata` here
|
|
35
37
|
let deviceName: string | undefined;
|
|
36
|
-
if (
|
|
38
|
+
if (sendDeviceMeta) {
|
|
37
39
|
deviceName = await PrevImpl.readString(buffered, 64);
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
let codec: ScrcpyVideoCodecId;
|
|
41
43
|
let width: number | undefined;
|
|
42
44
|
let height: number | undefined;
|
|
43
|
-
if (
|
|
45
|
+
if (sendCodecMeta) {
|
|
44
46
|
codec = (await PrevImpl.readU32(buffered)) as ScrcpyVideoCodecId;
|
|
45
47
|
width = await PrevImpl.readU32(buffered);
|
|
46
48
|
height = await PrevImpl.readU32(buffered);
|
|
47
49
|
} else {
|
|
48
|
-
codec =
|
|
50
|
+
codec = fallbackCodec;
|
|
49
51
|
}
|
|
50
52
|
|
|
51
53
|
return {
|
|
@@ -54,19 +56,20 @@ async function parseAsync(
|
|
|
54
56
|
};
|
|
55
57
|
}
|
|
56
58
|
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
57
60
|
export function parseVideoStreamMetadata(
|
|
58
|
-
options: Pick<
|
|
59
|
-
Required<Init>,
|
|
60
|
-
"sendDeviceMeta" | "sendCodecMeta" | "videoCodec"
|
|
61
|
-
>,
|
|
62
61
|
stream: ReadableStream<Uint8Array>,
|
|
62
|
+
sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>,
|
|
63
|
+
sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>,
|
|
64
|
+
fallbackCodec: ScrcpyVideoCodecId,
|
|
65
|
+
parseAsync: typeof parseVideoStreamMetadataAsync,
|
|
63
66
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
64
|
-
if (!
|
|
67
|
+
if (!sendDeviceMeta && !sendCodecMeta) {
|
|
65
68
|
return {
|
|
66
69
|
stream,
|
|
67
|
-
metadata: { codec:
|
|
70
|
+
metadata: { codec: fallbackCodec },
|
|
68
71
|
};
|
|
69
72
|
}
|
|
70
73
|
|
|
71
|
-
return parseAsync(
|
|
74
|
+
return parseAsync(stream, sendDeviceMeta, sendCodecMeta, fallbackCodec);
|
|
72
75
|
}
|
package/src/2_0/options.ts
CHANGED
|
@@ -2,56 +2,70 @@ import type { MaybePromiseLike } from "@yume-chan/async";
|
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
|
+
MapBoolean,
|
|
5
6
|
ScrcpyAudioStreamMetadata,
|
|
6
|
-
ScrcpyControlMessageType,
|
|
7
7
|
ScrcpyDisplay,
|
|
8
8
|
ScrcpyEncoder,
|
|
9
|
-
ScrcpyMediaStreamPacket,
|
|
10
9
|
ScrcpyOptions,
|
|
11
10
|
ScrcpyOptionsListEncoders,
|
|
12
11
|
ScrcpyScrollController,
|
|
13
12
|
ScrcpyVideoStream,
|
|
13
|
+
ScrcpyVideoStreamPacket,
|
|
14
14
|
} from "../base/index.js";
|
|
15
15
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
16
16
|
import type {
|
|
17
17
|
ScrcpyBackOrScreenOnControlMessage,
|
|
18
18
|
ScrcpyInjectTouchControlMessage,
|
|
19
19
|
ScrcpySetClipboardControlMessage,
|
|
20
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
20
21
|
} from "../latest.js";
|
|
21
22
|
|
|
22
|
-
import type { Init } from "./impl/index.js";
|
|
23
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
23
24
|
import {
|
|
24
25
|
AckClipboardHandler,
|
|
25
26
|
ClipboardStream,
|
|
27
|
+
computeOptionValues,
|
|
26
28
|
ControlMessageTypes,
|
|
27
29
|
createMediaStreamTransformer,
|
|
28
30
|
createScrollController,
|
|
29
31
|
Defaults,
|
|
32
|
+
parseAudioCodecOption,
|
|
33
|
+
parseAudioMetadataCodec,
|
|
30
34
|
parseAudioStreamMetadata,
|
|
31
35
|
parseDisplay,
|
|
32
36
|
parseEncoder,
|
|
37
|
+
parseVideoCodecOption,
|
|
33
38
|
parseVideoStreamMetadata,
|
|
39
|
+
parseVideoStreamMetadataAsync,
|
|
34
40
|
serialize,
|
|
35
41
|
serializeBackOrScreenOnControlMessage,
|
|
36
42
|
serializeInjectTouchControlMessage,
|
|
43
|
+
serializeSetClipboardControlMessage,
|
|
44
|
+
serializeSetDisplayPowerControlMessage,
|
|
37
45
|
setListDisplays,
|
|
38
46
|
setListEncoders,
|
|
39
47
|
} from "./impl/index.js";
|
|
40
48
|
|
|
41
|
-
export class ScrcpyOptions2_0
|
|
42
|
-
implements
|
|
49
|
+
export class ScrcpyOptions2_0<TInit extends Init = Init>
|
|
50
|
+
implements
|
|
51
|
+
ScrcpyOptions<ScrcpyOptions2_0.Value<TInit>>,
|
|
52
|
+
ScrcpyOptionsListEncoders
|
|
43
53
|
{
|
|
44
54
|
static readonly Defaults = Defaults;
|
|
45
55
|
|
|
46
|
-
readonly value:
|
|
56
|
+
readonly value: ScrcpyOptions2_0.Value<TInit>;
|
|
47
57
|
|
|
48
|
-
get controlMessageTypes():
|
|
58
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
49
59
|
return ControlMessageTypes;
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
#clipboard: ClipboardStream | undefined;
|
|
53
|
-
get clipboard():
|
|
54
|
-
|
|
63
|
+
get clipboard(): MapBoolean<
|
|
64
|
+
this["value"]["clipboardAutosync"],
|
|
65
|
+
ReadableStream<string>,
|
|
66
|
+
undefined
|
|
67
|
+
> {
|
|
68
|
+
return this.#clipboard as never;
|
|
55
69
|
}
|
|
56
70
|
|
|
57
71
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
@@ -61,13 +75,15 @@ export class ScrcpyOptions2_0
|
|
|
61
75
|
return this.#deviceMessageParsers;
|
|
62
76
|
}
|
|
63
77
|
|
|
64
|
-
constructor(init:
|
|
65
|
-
this.value =
|
|
78
|
+
constructor(init: TInit) {
|
|
79
|
+
this.value = computeOptionValues(init, Defaults);
|
|
66
80
|
|
|
67
|
-
if (this.value.control
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
81
|
+
if (this.value.control) {
|
|
82
|
+
if (this.value.clipboardAutosync) {
|
|
83
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
84
|
+
new ClipboardStream(),
|
|
85
|
+
);
|
|
86
|
+
}
|
|
71
87
|
|
|
72
88
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
73
89
|
new AckClipboardHandler(),
|
|
@@ -98,18 +114,29 @@ export class ScrcpyOptions2_0
|
|
|
98
114
|
parseVideoStreamMetadata(
|
|
99
115
|
stream: ReadableStream<Uint8Array>,
|
|
100
116
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
101
|
-
return parseVideoStreamMetadata(
|
|
117
|
+
return parseVideoStreamMetadata(
|
|
118
|
+
stream,
|
|
119
|
+
this.value.sendDeviceMeta,
|
|
120
|
+
this.value.sendCodecMeta,
|
|
121
|
+
parseVideoCodecOption(this.value.videoCodec),
|
|
122
|
+
parseVideoStreamMetadataAsync,
|
|
123
|
+
);
|
|
102
124
|
}
|
|
103
125
|
|
|
104
126
|
parseAudioStreamMetadata(
|
|
105
127
|
stream: ReadableStream<Uint8Array>,
|
|
106
128
|
): MaybePromiseLike<ScrcpyAudioStreamMetadata> {
|
|
107
|
-
return parseAudioStreamMetadata(
|
|
129
|
+
return parseAudioStreamMetadata(
|
|
130
|
+
stream,
|
|
131
|
+
this.value.sendCodecMeta,
|
|
132
|
+
parseAudioMetadataCodec,
|
|
133
|
+
parseAudioCodecOption(this.value.audioCodec),
|
|
134
|
+
);
|
|
108
135
|
}
|
|
109
136
|
|
|
110
137
|
createMediaStreamTransformer(): TransformStream<
|
|
111
138
|
Uint8Array,
|
|
112
|
-
|
|
139
|
+
ScrcpyVideoStreamPacket
|
|
113
140
|
> {
|
|
114
141
|
return createMediaStreamTransformer(this.value);
|
|
115
142
|
}
|
|
@@ -117,24 +144,46 @@ export class ScrcpyOptions2_0
|
|
|
117
144
|
serializeInjectTouchControlMessage(
|
|
118
145
|
message: ScrcpyInjectTouchControlMessage,
|
|
119
146
|
): Uint8Array {
|
|
147
|
+
if (!this.value.control) {
|
|
148
|
+
throw new Error("control is disabled");
|
|
149
|
+
}
|
|
120
150
|
return serializeInjectTouchControlMessage(message);
|
|
121
151
|
}
|
|
122
152
|
|
|
123
153
|
serializeBackOrScreenOnControlMessage(
|
|
124
154
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
125
155
|
): Uint8Array | undefined {
|
|
156
|
+
if (!this.value.control) {
|
|
157
|
+
throw new Error("control is disabled");
|
|
158
|
+
}
|
|
126
159
|
return serializeBackOrScreenOnControlMessage(message);
|
|
127
160
|
}
|
|
128
161
|
|
|
129
162
|
serializeSetClipboardControlMessage(
|
|
130
163
|
message: ScrcpySetClipboardControlMessage,
|
|
131
164
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
132
|
-
|
|
165
|
+
if (!this.value.control) {
|
|
166
|
+
throw new Error("control is disabled");
|
|
167
|
+
}
|
|
168
|
+
return serializeSetClipboardControlMessage(
|
|
133
169
|
message,
|
|
170
|
+
this.#ackClipboardHandler,
|
|
134
171
|
);
|
|
135
172
|
}
|
|
136
173
|
|
|
174
|
+
serializeSetDisplayPowerControlMessage(
|
|
175
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
176
|
+
): Uint8Array {
|
|
177
|
+
if (!this.value.control) {
|
|
178
|
+
throw new Error("control is disabled");
|
|
179
|
+
}
|
|
180
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
181
|
+
}
|
|
182
|
+
|
|
137
183
|
createScrollController(): ScrcpyScrollController {
|
|
184
|
+
if (!this.value.control) {
|
|
185
|
+
throw new Error("control is disabled");
|
|
186
|
+
}
|
|
138
187
|
return createScrollController();
|
|
139
188
|
}
|
|
140
189
|
}
|
|
@@ -143,4 +192,9 @@ type Init_ = Init;
|
|
|
143
192
|
|
|
144
193
|
export namespace ScrcpyOptions2_0 {
|
|
145
194
|
export type Init = Init_;
|
|
195
|
+
|
|
196
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
197
|
+
TInit,
|
|
198
|
+
typeof Defaults
|
|
199
|
+
>;
|
|
146
200
|
}
|
package/src/2_1/impl/defaults.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { Init } from "./init.js";
|
|
2
2
|
import { PrevImpl } from "./prev.js";
|
|
3
3
|
|
|
4
|
-
export const Defaults =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) as const satisfies Required<Init<true>>)();
|
|
4
|
+
export const Defaults = {
|
|
5
|
+
...PrevImpl.Defaults,
|
|
6
|
+
video: true,
|
|
7
|
+
audioSource: "output",
|
|
8
|
+
} as const satisfies Required<Init>;
|
package/src/2_1/impl/init.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PrevImpl } from "./prev.js";
|
|
2
2
|
|
|
3
|
-
export interface Init
|
|
4
|
-
video?:
|
|
5
|
-
audioSource?: "output" | "mic";
|
|
3
|
+
export interface Init extends PrevImpl.Init {
|
|
4
|
+
video?: boolean | undefined;
|
|
5
|
+
audioSource?: "output" | "mic" | undefined;
|
|
6
6
|
}
|
package/src/2_1/options.ts
CHANGED
|
@@ -2,56 +2,70 @@ import type { MaybePromiseLike } from "@yume-chan/async";
|
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
|
+
MapBoolean,
|
|
5
6
|
ScrcpyAudioStreamMetadata,
|
|
6
|
-
ScrcpyControlMessageType,
|
|
7
7
|
ScrcpyDisplay,
|
|
8
8
|
ScrcpyEncoder,
|
|
9
|
-
ScrcpyMediaStreamPacket,
|
|
10
9
|
ScrcpyOptions,
|
|
11
10
|
ScrcpyOptionsListEncoders,
|
|
12
11
|
ScrcpyScrollController,
|
|
13
12
|
ScrcpyVideoStream,
|
|
13
|
+
ScrcpyVideoStreamPacket,
|
|
14
14
|
} from "../base/index.js";
|
|
15
15
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
16
16
|
import type {
|
|
17
17
|
ScrcpyBackOrScreenOnControlMessage,
|
|
18
18
|
ScrcpyInjectTouchControlMessage,
|
|
19
19
|
ScrcpySetClipboardControlMessage,
|
|
20
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
20
21
|
} from "../latest.js";
|
|
21
22
|
|
|
22
|
-
import type { Init } from "./impl/index.js";
|
|
23
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
23
24
|
import {
|
|
24
25
|
AckClipboardHandler,
|
|
25
26
|
ClipboardStream,
|
|
27
|
+
computeOptionValues,
|
|
26
28
|
ControlMessageTypes,
|
|
27
29
|
createMediaStreamTransformer,
|
|
28
30
|
createScrollController,
|
|
29
31
|
Defaults,
|
|
32
|
+
parseAudioCodecOption,
|
|
33
|
+
parseAudioMetadataCodec,
|
|
30
34
|
parseAudioStreamMetadata,
|
|
31
35
|
parseDisplay,
|
|
32
36
|
parseEncoder,
|
|
37
|
+
parseVideoCodecOption,
|
|
33
38
|
parseVideoStreamMetadata,
|
|
39
|
+
parseVideoStreamMetadataAsync,
|
|
34
40
|
serialize,
|
|
35
41
|
serializeBackOrScreenOnControlMessage,
|
|
36
42
|
serializeInjectTouchControlMessage,
|
|
43
|
+
serializeSetClipboardControlMessage,
|
|
44
|
+
serializeSetDisplayPowerControlMessage,
|
|
37
45
|
setListDisplays,
|
|
38
46
|
setListEncoders,
|
|
39
47
|
} from "./impl/index.js";
|
|
40
48
|
|
|
41
|
-
export class ScrcpyOptions2_1<
|
|
42
|
-
implements
|
|
49
|
+
export class ScrcpyOptions2_1<TInit extends Init = Init>
|
|
50
|
+
implements
|
|
51
|
+
ScrcpyOptions<ScrcpyOptions2_1.Value<TInit>>,
|
|
52
|
+
ScrcpyOptionsListEncoders
|
|
43
53
|
{
|
|
44
54
|
static readonly Defaults = Defaults;
|
|
45
55
|
|
|
46
|
-
readonly value:
|
|
56
|
+
readonly value: ScrcpyOptions2_1.Value<TInit>;
|
|
47
57
|
|
|
48
|
-
get controlMessageTypes():
|
|
58
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
49
59
|
return ControlMessageTypes;
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
#clipboard: ClipboardStream | undefined;
|
|
53
|
-
get clipboard():
|
|
54
|
-
|
|
63
|
+
get clipboard(): MapBoolean<
|
|
64
|
+
this["value"]["clipboardAutosync"],
|
|
65
|
+
ReadableStream<string>,
|
|
66
|
+
undefined
|
|
67
|
+
> {
|
|
68
|
+
return this.#clipboard as never;
|
|
55
69
|
}
|
|
56
70
|
|
|
57
71
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
@@ -61,13 +75,15 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
|
61
75
|
return this.#deviceMessageParsers;
|
|
62
76
|
}
|
|
63
77
|
|
|
64
|
-
constructor(init:
|
|
65
|
-
this.value =
|
|
78
|
+
constructor(init: TInit) {
|
|
79
|
+
this.value = computeOptionValues(init, Defaults);
|
|
66
80
|
|
|
67
|
-
if (this.value.control
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
81
|
+
if (this.value.control) {
|
|
82
|
+
if (this.value.clipboardAutosync) {
|
|
83
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
84
|
+
new ClipboardStream(),
|
|
85
|
+
);
|
|
86
|
+
}
|
|
71
87
|
|
|
72
88
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
73
89
|
new AckClipboardHandler(),
|
|
@@ -76,7 +92,7 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
|
76
92
|
}
|
|
77
93
|
|
|
78
94
|
serialize(): string[] {
|
|
79
|
-
return serialize
|
|
95
|
+
return serialize(this.value, Defaults);
|
|
80
96
|
}
|
|
81
97
|
|
|
82
98
|
setListDisplays(): void {
|
|
@@ -98,18 +114,29 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
|
98
114
|
parseVideoStreamMetadata(
|
|
99
115
|
stream: ReadableStream<Uint8Array>,
|
|
100
116
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
101
|
-
return parseVideoStreamMetadata(
|
|
117
|
+
return parseVideoStreamMetadata(
|
|
118
|
+
stream,
|
|
119
|
+
this.value.sendDeviceMeta,
|
|
120
|
+
this.value.sendCodecMeta,
|
|
121
|
+
parseVideoCodecOption(this.value.videoCodec),
|
|
122
|
+
parseVideoStreamMetadataAsync,
|
|
123
|
+
);
|
|
102
124
|
}
|
|
103
125
|
|
|
104
126
|
parseAudioStreamMetadata(
|
|
105
127
|
stream: ReadableStream<Uint8Array>,
|
|
106
128
|
): MaybePromiseLike<ScrcpyAudioStreamMetadata> {
|
|
107
|
-
return parseAudioStreamMetadata(
|
|
129
|
+
return parseAudioStreamMetadata(
|
|
130
|
+
stream,
|
|
131
|
+
this.value.sendCodecMeta,
|
|
132
|
+
parseAudioMetadataCodec,
|
|
133
|
+
parseAudioCodecOption(this.value.audioCodec),
|
|
134
|
+
);
|
|
108
135
|
}
|
|
109
136
|
|
|
110
137
|
createMediaStreamTransformer(): TransformStream<
|
|
111
138
|
Uint8Array,
|
|
112
|
-
|
|
139
|
+
ScrcpyVideoStreamPacket
|
|
113
140
|
> {
|
|
114
141
|
return createMediaStreamTransformer(this.value);
|
|
115
142
|
}
|
|
@@ -117,30 +144,57 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
|
117
144
|
serializeInjectTouchControlMessage(
|
|
118
145
|
message: ScrcpyInjectTouchControlMessage,
|
|
119
146
|
): Uint8Array {
|
|
147
|
+
if (!this.value.control) {
|
|
148
|
+
throw new Error("control is disabled");
|
|
149
|
+
}
|
|
120
150
|
return serializeInjectTouchControlMessage(message);
|
|
121
151
|
}
|
|
122
152
|
|
|
123
153
|
serializeBackOrScreenOnControlMessage(
|
|
124
154
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
125
155
|
): Uint8Array | undefined {
|
|
156
|
+
if (!this.value.control) {
|
|
157
|
+
throw new Error("control is disabled");
|
|
158
|
+
}
|
|
126
159
|
return serializeBackOrScreenOnControlMessage(message);
|
|
127
160
|
}
|
|
128
161
|
|
|
129
162
|
serializeSetClipboardControlMessage(
|
|
130
163
|
message: ScrcpySetClipboardControlMessage,
|
|
131
164
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
132
|
-
|
|
165
|
+
if (!this.value.control) {
|
|
166
|
+
throw new Error("control is disabled");
|
|
167
|
+
}
|
|
168
|
+
return serializeSetClipboardControlMessage(
|
|
133
169
|
message,
|
|
170
|
+
this.#ackClipboardHandler,
|
|
134
171
|
);
|
|
135
172
|
}
|
|
136
173
|
|
|
174
|
+
serializeSetDisplayPowerControlMessage(
|
|
175
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
176
|
+
): Uint8Array {
|
|
177
|
+
if (!this.value.control) {
|
|
178
|
+
throw new Error("control is disabled");
|
|
179
|
+
}
|
|
180
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
181
|
+
}
|
|
182
|
+
|
|
137
183
|
createScrollController(): ScrcpyScrollController {
|
|
184
|
+
if (!this.value.control) {
|
|
185
|
+
throw new Error("control is disabled");
|
|
186
|
+
}
|
|
138
187
|
return createScrollController();
|
|
139
188
|
}
|
|
140
189
|
}
|
|
141
190
|
|
|
142
|
-
type Init_
|
|
191
|
+
type Init_ = Init;
|
|
143
192
|
|
|
144
193
|
export namespace ScrcpyOptions2_1 {
|
|
145
|
-
export type Init
|
|
194
|
+
export type Init = Init_;
|
|
195
|
+
|
|
196
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
197
|
+
TInit,
|
|
198
|
+
typeof Defaults
|
|
199
|
+
>;
|
|
146
200
|
}
|
package/src/2_1_1.ts
CHANGED
|
@@ -1,14 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export class ScrcpyOptions2_1_1<
|
|
4
|
-
TVideo extends boolean,
|
|
5
|
-
> extends ScrcpyOptions2_1<TVideo> {
|
|
6
|
-
constructor(init: ScrcpyOptions2_1.Init<TVideo>) {
|
|
7
|
-
super(init);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export namespace ScrcpyOptions2_1_1 {
|
|
12
|
-
export type Init<TVideo extends boolean = boolean> =
|
|
13
|
-
ScrcpyOptions2_1.Init<TVideo>;
|
|
14
|
-
}
|
|
1
|
+
export { ScrcpyOptions2_1 as ScrcpyOptions2_1_1 } from "./2_1/index.js";
|