@yume-chan/scrcpy 1.0.0 → 2.0.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.
- package/CHANGELOG.md +32 -0
- package/LICENSE +1 -1
- package/esm/1_15/impl/back-or-screen-on.d.ts +1 -1
- package/esm/1_15/impl/clipboard-stream.d.ts +3 -3
- package/esm/1_15/impl/defaults.d.ts +1 -2
- package/esm/1_15/impl/defaults.d.ts.map +1 -1
- package/esm/1_15/impl/defaults.js +2 -2
- package/esm/1_15/impl/defaults.js.map +1 -1
- package/esm/1_15/impl/init.d.ts +10 -2
- package/esm/1_15/impl/init.d.ts.map +1 -1
- package/esm/1_15/impl/init.js +15 -0
- package/esm/1_15/impl/init.js.map +1 -1
- package/esm/1_15/impl/inject-touch.d.ts +9 -9
- package/esm/1_15/impl/inject-touch.d.ts.map +1 -1
- package/esm/1_15/impl/inject-touch.js +14 -18
- package/esm/1_15/impl/inject-touch.js.map +1 -1
- package/esm/1_15/impl/media-stream-transformer.d.ts +3 -3
- package/esm/1_15/impl/scroll-controller.d.ts +5 -5
- package/esm/1_15/impl/scroll-controller.js +2 -2
- package/esm/1_15/impl/scroll-controller.js.map +1 -1
- package/esm/1_15/impl/set-clipboard.d.ts +3 -3
- package/esm/1_15/index.d.ts +0 -1
- package/esm/1_15/index.d.ts.map +1 -1
- package/esm/1_15/index.js +0 -1
- package/esm/1_15/index.js.map +1 -1
- package/esm/1_15/options.d.ts +3 -3
- package/esm/1_15/options.d.ts.map +1 -1
- package/esm/1_15/options.js.map +1 -1
- package/esm/1_15_1.d.ts +8 -0
- package/esm/1_15_1.d.ts.map +1 -0
- package/esm/1_15_1.js +7 -0
- package/esm/1_15_1.js.map +1 -0
- package/esm/1_16.d.ts +7 -1
- package/esm/1_16.d.ts.map +1 -1
- package/esm/1_16.js +6 -1
- package/esm/1_16.js.map +1 -1
- package/esm/1_17/impl/defaults.d.ts +1 -2
- package/esm/1_17/impl/defaults.d.ts.map +1 -1
- package/esm/1_17/index.d.ts +0 -1
- package/esm/1_17/index.d.ts.map +1 -1
- package/esm/1_17/index.js +0 -1
- package/esm/1_17/index.js.map +1 -1
- package/esm/1_17/options.d.ts +5 -5
- package/esm/1_17/options.d.ts.map +1 -1
- package/esm/1_17/options.js.map +1 -1
- package/esm/1_18/impl/back-or-screen-on.d.ts +5 -3
- package/esm/1_18/impl/back-or-screen-on.d.ts.map +1 -1
- package/esm/1_18/impl/back-or-screen-on.js +2 -5
- package/esm/1_18/impl/back-or-screen-on.js.map +1 -1
- package/esm/1_18/impl/defaults.d.ts +1 -2
- package/esm/1_18/impl/defaults.d.ts.map +1 -1
- package/esm/1_18/index.d.ts +0 -1
- package/esm/1_18/index.d.ts.map +1 -1
- package/esm/1_18/index.js +0 -1
- package/esm/1_18/index.js.map +1 -1
- package/esm/1_18/options.d.ts +5 -5
- package/esm/1_18/options.d.ts.map +1 -1
- package/esm/1_18/options.js.map +1 -1
- package/esm/1_19.d.ts +7 -1
- package/esm/1_19.d.ts.map +1 -1
- package/esm/1_19.js +6 -1
- package/esm/1_19.js.map +1 -1
- package/esm/1_20.d.ts +7 -1
- package/esm/1_20.d.ts.map +1 -1
- package/esm/1_20.js +6 -1
- package/esm/1_20.js.map +1 -1
- package/esm/1_21/impl/defaults.d.ts +1 -2
- package/esm/1_21/impl/defaults.d.ts.map +1 -1
- package/esm/1_21/impl/set-clipboard.d.ts +6 -6
- package/esm/1_21/index.d.ts +0 -1
- package/esm/1_21/index.d.ts.map +1 -1
- package/esm/1_21/index.js +0 -1
- package/esm/1_21/index.js.map +1 -1
- package/esm/1_21/options.d.ts +5 -5
- package/esm/1_21/options.d.ts.map +1 -1
- package/esm/1_21/options.js.map +1 -1
- package/esm/1_22/impl/defaults.d.ts +1 -2
- package/esm/1_22/impl/defaults.d.ts.map +1 -1
- package/esm/1_22/impl/index.d.ts +1 -1
- package/esm/1_22/impl/index.d.ts.map +1 -1
- package/esm/1_22/impl/index.js +1 -1
- package/esm/1_22/impl/index.js.map +1 -1
- package/esm/1_22/impl/scroll-controller.d.ts +10 -6
- package/esm/1_22/impl/scroll-controller.d.ts.map +1 -1
- package/esm/1_22/impl/scroll-controller.js +5 -5
- package/esm/1_22/impl/scroll-controller.js.map +1 -1
- package/esm/1_22/index.d.ts +0 -1
- package/esm/1_22/index.d.ts.map +1 -1
- package/esm/1_22/index.js +0 -1
- package/esm/1_22/index.js.map +1 -1
- package/esm/1_22/options.d.ts +5 -5
- package/esm/1_22/options.d.ts.map +1 -1
- package/esm/1_22/options.js.map +1 -1
- package/esm/1_23/impl/defaults.d.ts +1 -2
- package/esm/1_23/impl/defaults.d.ts.map +1 -1
- package/esm/1_23/index.d.ts +0 -1
- package/esm/1_23/index.d.ts.map +1 -1
- package/esm/1_23/index.js +0 -1
- package/esm/1_23/index.js.map +1 -1
- package/esm/1_23/options.d.ts +5 -5
- package/esm/1_23/options.d.ts.map +1 -1
- package/esm/1_23/options.js.map +1 -1
- package/esm/1_24/impl/defaults.d.ts +1 -2
- package/esm/1_24/impl/defaults.d.ts.map +1 -1
- package/esm/1_24/index.d.ts +0 -1
- package/esm/1_24/index.d.ts.map +1 -1
- package/esm/1_24/index.js +0 -1
- package/esm/1_24/index.js.map +1 -1
- package/esm/1_24/options.d.ts +5 -5
- package/esm/1_24/options.d.ts.map +1 -1
- package/esm/1_24/options.js.map +1 -1
- package/esm/1_25/impl/index.d.ts +1 -1
- package/esm/1_25/impl/index.d.ts.map +1 -1
- package/esm/1_25/impl/index.js +1 -1
- package/esm/1_25/impl/index.js.map +1 -1
- package/esm/1_25/impl/scroll-controller.d.ts +12 -11
- package/esm/1_25/impl/scroll-controller.d.ts.map +1 -1
- package/esm/1_25/impl/scroll-controller.js +17 -18
- package/esm/1_25/impl/scroll-controller.js.map +1 -1
- package/esm/1_25/index.d.ts +0 -1
- package/esm/1_25/index.d.ts.map +1 -1
- package/esm/1_25/index.js +0 -1
- package/esm/1_25/index.js.map +1 -1
- package/esm/1_25/options.d.ts +5 -5
- package/esm/1_25/options.d.ts.map +1 -1
- package/esm/1_25/options.js.map +1 -1
- package/esm/2_0/impl/defaults.d.ts +4 -6
- package/esm/2_0/impl/defaults.d.ts.map +1 -1
- package/esm/2_0/impl/defaults.js +3 -4
- package/esm/2_0/impl/defaults.js.map +1 -1
- package/esm/2_0/impl/init.d.ts +3 -3
- package/esm/2_0/impl/init.d.ts.map +1 -1
- package/esm/2_0/impl/inject-touch.d.ts +11 -11
- package/esm/2_0/impl/inject-touch.js +2 -2
- package/esm/2_0/impl/inject-touch.js.map +1 -1
- package/esm/2_0/impl/parse-audio-stream-metadata.d.ts +1 -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.map +1 -1
- package/esm/2_0/index.d.ts +0 -1
- package/esm/2_0/index.d.ts.map +1 -1
- package/esm/2_0/index.js +0 -1
- package/esm/2_0/index.js.map +1 -1
- package/esm/2_0/options.d.ts +8 -8
- package/esm/2_0/options.d.ts.map +1 -1
- package/esm/2_0/options.js.map +1 -1
- package/esm/2_1/impl/defaults.d.ts +4 -5
- package/esm/2_1/impl/defaults.d.ts.map +1 -1
- package/esm/2_1/impl/defaults.js.map +1 -1
- package/esm/2_1/impl/init.d.ts +2 -2
- package/esm/2_1/impl/init.d.ts.map +1 -1
- package/esm/2_1/index.d.ts +0 -1
- package/esm/2_1/index.d.ts.map +1 -1
- package/esm/2_1/index.js +0 -1
- package/esm/2_1/index.js.map +1 -1
- package/esm/2_1/options.d.ts +12 -12
- package/esm/2_1/options.d.ts.map +1 -1
- package/esm/2_1/options.js.map +1 -1
- package/esm/2_1_1.d.ts +8 -0
- package/esm/2_1_1.d.ts.map +1 -0
- package/esm/2_1_1.js +7 -0
- package/esm/2_1_1.js.map +1 -0
- package/esm/2_2/impl/defaults.d.ts +4 -5
- package/esm/2_2/impl/defaults.d.ts.map +1 -1
- package/esm/2_2/impl/defaults.js.map +1 -1
- package/esm/2_2/impl/init.d.ts +1 -1
- package/esm/2_2/impl/init.d.ts.map +1 -1
- package/esm/2_2/index.d.ts +0 -1
- package/esm/2_2/index.d.ts.map +1 -1
- package/esm/2_2/index.js +0 -1
- package/esm/2_2/index.js.map +1 -1
- package/esm/2_2/options.d.ts +12 -12
- package/esm/2_2/options.d.ts.map +1 -1
- package/esm/2_2/options.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/index.d.ts +0 -1
- package/esm/2_3/index.d.ts.map +1 -1
- package/esm/2_3/index.js +0 -1
- package/esm/2_3/index.js.map +1 -1
- package/esm/2_3/options.d.ts +12 -12
- package/esm/2_3/options.d.ts.map +1 -1
- package/esm/2_3/options.js.map +1 -1
- package/esm/2_3_1.d.ts +8 -0
- package/esm/2_3_1.d.ts.map +1 -0
- package/esm/2_3_1.js +7 -0
- package/esm/2_3_1.js.map +1 -0
- package/esm/2_4/impl/serialize-uhid-create.d.ts +3 -3
- package/esm/2_4/impl/uhid-output-stream.d.ts +3 -3
- package/esm/2_4/index.d.ts +0 -1
- package/esm/2_4/index.d.ts.map +1 -1
- package/esm/2_4/index.js +0 -1
- package/esm/2_4/index.js.map +1 -1
- package/esm/2_4/options.d.ts +12 -12
- package/esm/2_4/options.d.ts.map +1 -1
- package/esm/2_4/options.js.map +1 -1
- package/esm/2_5.d.ts +7 -1
- package/esm/2_5.d.ts.map +1 -1
- package/esm/2_5.js +6 -1
- package/esm/2_5.js.map +1 -1
- package/esm/2_6/impl/defaults.d.ts +4 -5
- package/esm/2_6/impl/defaults.d.ts.map +1 -1
- package/esm/2_6/impl/defaults.js.map +1 -1
- package/esm/2_6/impl/init.d.ts +2 -2
- package/esm/2_6/impl/init.d.ts.map +1 -1
- package/esm/2_6/index.d.ts +0 -1
- package/esm/2_6/index.d.ts.map +1 -1
- package/esm/2_6/index.js +0 -1
- package/esm/2_6/index.js.map +1 -1
- package/esm/2_6/options.d.ts +12 -12
- package/esm/2_6/options.d.ts.map +1 -1
- package/esm/2_6/options.js.map +1 -1
- package/esm/2_6_1.d.ts +8 -0
- package/esm/2_6_1.d.ts.map +1 -0
- package/esm/2_6_1.js +7 -0
- package/esm/2_6_1.js.map +1 -0
- package/esm/2_7/impl/serialize-uhid-create.d.ts +7 -7
- package/esm/2_7/index.d.ts +0 -1
- package/esm/2_7/index.d.ts.map +1 -1
- package/esm/2_7/index.js +0 -1
- package/esm/2_7/index.js.map +1 -1
- package/esm/2_7/options.d.ts +12 -12
- package/esm/2_7/options.d.ts.map +1 -1
- package/esm/2_7/options.js.map +1 -1
- package/esm/3_0/impl/defaults.d.ts +5 -7
- package/esm/3_0/impl/defaults.d.ts.map +1 -1
- package/esm/3_0/impl/defaults.js +1 -2
- package/esm/3_0/impl/defaults.js.map +1 -1
- package/esm/3_0/impl/init.d.ts +3 -3
- package/esm/3_0/impl/init.d.ts.map +1 -1
- package/esm/3_0/index.d.ts +0 -1
- package/esm/3_0/index.d.ts.map +1 -1
- package/esm/3_0/index.js +0 -1
- package/esm/3_0/index.js.map +1 -1
- package/esm/3_0/options.d.ts +13 -13
- package/esm/3_0/options.d.ts.map +1 -1
- package/esm/3_0/options.js.map +1 -1
- package/esm/3_0_1.d.ts +8 -0
- package/esm/3_0_1.d.ts.map +1 -0
- package/esm/3_0_1.js +7 -0
- package/esm/3_0_1.js.map +1 -0
- package/esm/3_0_2.d.ts +8 -0
- package/esm/3_0_2.d.ts.map +1 -0
- package/esm/3_0_2.js +7 -0
- package/esm/3_0_2.js.map +1 -0
- package/esm/3_1/impl/defaults.d.ts +56 -0
- package/esm/3_1/impl/defaults.d.ts.map +1 -0
- package/esm/3_1/impl/defaults.js +6 -0
- package/esm/3_1/impl/defaults.js.map +1 -0
- package/esm/3_1/impl/index.d.ts +5 -0
- package/esm/3_1/impl/index.d.ts.map +1 -0
- package/esm/3_1/impl/index.js +4 -0
- package/esm/3_1/impl/index.js.map +1 -0
- package/esm/3_1/impl/init.d.ts +5 -0
- package/esm/3_1/impl/init.d.ts.map +1 -0
- package/esm/3_1/impl/init.js +2 -0
- package/esm/3_1/impl/init.js.map +1 -0
- package/esm/3_1/impl/prev.d.ts +2 -0
- package/esm/3_1/impl/prev.d.ts.map +1 -0
- package/esm/3_1/impl/prev.js +2 -0
- package/esm/3_1/impl/prev.js.map +1 -0
- package/esm/3_1/impl/serialize-uhid-create.d.ts +20 -0
- package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -0
- package/esm/3_1/impl/serialize-uhid-create.js +14 -0
- package/esm/3_1/impl/serialize-uhid-create.js.map +1 -0
- package/esm/3_1/index.d.ts +2 -0
- package/esm/3_1/index.d.ts.map +1 -0
- package/esm/3_1/index.js +2 -0
- package/esm/3_1/index.js.map +1 -0
- package/esm/3_1/options.d.ts +90 -0
- package/esm/3_1/options.d.ts.map +1 -0
- package/esm/3_1/options.js +92 -0
- package/esm/3_1/options.js.map +1 -0
- package/esm/android/key-event.d.ts.map +1 -1
- package/esm/android/key-event.js +3 -2
- package/esm/android/key-event.js.map +1 -1
- package/esm/base/option-value.js +2 -2
- package/esm/base/option-value.js.map +1 -1
- package/esm/base/options.d.ts +6 -4
- package/esm/base/options.d.ts.map +1 -1
- package/esm/codec/h265.d.ts +23 -2
- package/esm/codec/h265.d.ts.map +1 -1
- package/esm/codec/h265.js +25 -3
- package/esm/codec/h265.js.map +1 -1
- package/esm/control/empty.d.ts +1 -1
- package/esm/control/inject-key-code.d.ts +9 -9
- package/esm/control/inject-text.d.ts +3 -3
- package/esm/control/set-screen-power-mode.d.ts +3 -3
- package/esm/control/start-app.d.ts +3 -3
- package/esm/control/uhid.d.ts +6 -6
- package/esm/index.d.ts +7 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +7 -0
- package/esm/index.js.map +1 -1
- package/esm/latest.d.ts +8 -1
- package/esm/latest.d.ts.map +1 -1
- package/esm/latest.js +7 -1
- package/esm/latest.js.map +1 -1
- package/esm/utils/index.d.ts +0 -1
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +0 -1
- package/esm/utils/index.js.map +1 -1
- package/package.json +8 -8
- package/src/1_15/impl/defaults.ts +2 -2
- package/src/1_15/impl/init.ts +20 -2
- package/src/1_15/impl/inject-touch.ts +13 -12
- package/src/1_15/impl/scroll-controller.ts +2 -2
- package/src/1_15/index.ts +0 -1
- package/src/1_15/options.ts +2 -2
- package/src/1_15_1.ts +11 -0
- package/src/1_16.ts +11 -4
- package/src/1_17/index.ts +0 -1
- package/src/1_17/options.ts +6 -3
- package/src/1_18/impl/back-or-screen-on.ts +5 -9
- package/src/1_18/index.ts +0 -1
- package/src/1_18/options.ts +6 -3
- package/src/1_19.ts +11 -4
- package/src/1_20.ts +11 -4
- package/src/1_21/index.ts +0 -1
- package/src/1_21/options.ts +6 -3
- package/src/1_22/impl/index.ts +1 -0
- package/src/1_22/impl/scroll-controller.ts +10 -9
- package/src/1_22/index.ts +0 -1
- package/src/1_22/options.ts +6 -3
- package/src/1_23/index.ts +0 -1
- package/src/1_23/options.ts +6 -3
- package/src/1_24/index.ts +0 -1
- package/src/1_24/options.ts +6 -3
- package/src/1_25/impl/index.ts +1 -0
- package/src/1_25/impl/scroll-controller.ts +15 -10
- package/src/1_25/index.ts +0 -1
- package/src/1_25/options.ts +6 -3
- package/src/2_0/impl/defaults.ts +3 -4
- package/src/2_0/impl/init.ts +3 -3
- package/src/2_0/impl/inject-touch.ts +2 -2
- package/src/2_0/impl/parse-audio-stream-metadata.ts +1 -1
- package/src/2_0/index.ts +0 -1
- package/src/2_0/options.ts +6 -3
- package/src/2_1/impl/defaults.ts +1 -1
- package/src/2_1/impl/init.ts +2 -2
- package/src/2_1/index.ts +0 -1
- package/src/2_1/options.ts +12 -9
- package/src/2_1_1.ts +14 -0
- package/src/2_2/impl/defaults.ts +1 -1
- package/src/2_2/impl/init.ts +1 -1
- package/src/2_2/index.ts +0 -1
- package/src/2_2/options.ts +12 -9
- package/src/2_3/impl/init.ts +3 -2
- package/src/2_3/index.ts +0 -1
- package/src/2_3/options.ts +12 -9
- package/src/2_3_1.ts +14 -0
- package/src/2_4/index.ts +0 -1
- package/src/2_4/options.ts +12 -9
- package/src/2_5.ts +14 -4
- package/src/2_6/impl/defaults.ts +1 -1
- package/src/2_6/impl/init.ts +3 -2
- package/src/2_6/index.ts +0 -1
- package/src/2_6/options.ts +13 -10
- package/src/2_6_1.ts +14 -0
- package/src/2_7/index.ts +0 -1
- package/src/2_7/options.ts +12 -9
- package/src/3_0/impl/defaults.ts +2 -3
- package/src/3_0/impl/init.ts +4 -3
- package/src/3_0/index.ts +0 -1
- package/src/3_0/options.ts +12 -9
- package/src/3_0_1.ts +14 -0
- package/src/3_0_2.ts +14 -0
- package/src/3_1/impl/defaults.ts +8 -0
- package/src/3_1/impl/index.ts +7 -0
- package/src/3_1/impl/init.ts +5 -0
- package/src/3_1/impl/prev.ts +1 -0
- package/src/3_1/impl/serialize-uhid-create.ts +28 -0
- package/src/3_1/index.ts +1 -0
- package/src/3_1/options.ts +190 -0
- package/src/android/key-event.ts +3 -2
- package/src/base/option-value.ts +2 -2
- package/src/base/options.ts +11 -6
- package/src/codec/h265.ts +31 -5
- package/src/index.ts +7 -0
- package/src/latest.ts +17 -1
- package/src/utils/index.ts +0 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/utils/wrapper.d.ts +0 -37
- package/esm/utils/wrapper.d.ts.map +0 -1
- package/esm/utils/wrapper.js +0 -76
- package/esm/utils/wrapper.js.map +0 -1
- package/src/utils/wrapper.ts +0 -131
|
@@ -11,7 +11,7 @@ import { ScrcpyAudioCodec } from "../../base/index.js";
|
|
|
11
11
|
|
|
12
12
|
export async function parseAudioStreamMetadata(
|
|
13
13
|
stream: ReadableStream<Uint8Array>,
|
|
14
|
-
options: Pick<Required<Init
|
|
14
|
+
options: Pick<Required<Init<boolean>>, "sendCodecMeta" | "audioCodec">,
|
|
15
15
|
): Promise<ScrcpyAudioStreamMetadata> {
|
|
16
16
|
const buffered = new BufferedReadableStream(stream);
|
|
17
17
|
|
package/src/2_0/index.ts
CHANGED
package/src/2_0/options.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable } from "@yume-chan/struct";
|
|
3
|
+
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
ScrcpyAudioStreamMetadata,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ScrcpyEncoder,
|
|
10
10
|
ScrcpyMediaStreamPacket,
|
|
11
11
|
ScrcpyOptions,
|
|
12
|
+
ScrcpyOptionsListEncoders,
|
|
12
13
|
ScrcpyScrollController,
|
|
13
14
|
ScrcpyVideoStream,
|
|
14
15
|
} from "../base/index.js";
|
|
@@ -37,7 +38,9 @@ import {
|
|
|
37
38
|
setListEncoders,
|
|
38
39
|
} from "./impl/index.js";
|
|
39
40
|
|
|
40
|
-
export class ScrcpyOptions2_0
|
|
41
|
+
export class ScrcpyOptions2_0
|
|
42
|
+
implements ScrcpyOptions<Init>, ScrcpyOptionsListEncoders
|
|
43
|
+
{
|
|
41
44
|
static readonly Defaults = Defaults;
|
|
42
45
|
|
|
43
46
|
readonly value: Required<Init>;
|
|
@@ -96,7 +99,7 @@ export class ScrcpyOptions2_0 implements ScrcpyOptions<Init> {
|
|
|
96
99
|
|
|
97
100
|
async parseDeviceMessage(
|
|
98
101
|
id: number,
|
|
99
|
-
stream: AsyncExactReadable,
|
|
102
|
+
stream: ExactReadable | AsyncExactReadable,
|
|
100
103
|
): Promise<void> {
|
|
101
104
|
if (await this.#clipboard?.parse(id, stream)) {
|
|
102
105
|
return;
|
package/src/2_1/impl/defaults.ts
CHANGED
package/src/2_1/impl/init.ts
CHANGED
package/src/2_1/index.ts
CHANGED
package/src/2_1/options.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable } from "@yume-chan/struct";
|
|
3
|
+
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
ScrcpyAudioStreamMetadata,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ScrcpyEncoder,
|
|
10
10
|
ScrcpyMediaStreamPacket,
|
|
11
11
|
ScrcpyOptions,
|
|
12
|
+
ScrcpyOptionsListEncoders,
|
|
12
13
|
ScrcpyScrollController,
|
|
13
14
|
ScrcpyVideoStream,
|
|
14
15
|
} from "../base/index.js";
|
|
@@ -37,10 +38,12 @@ import {
|
|
|
37
38
|
setListEncoders,
|
|
38
39
|
} from "./impl/index.js";
|
|
39
40
|
|
|
40
|
-
export class ScrcpyOptions2_1
|
|
41
|
+
export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
42
|
+
implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
|
|
43
|
+
{
|
|
41
44
|
static readonly Defaults = Defaults;
|
|
42
45
|
|
|
43
|
-
readonly value: Required<Init
|
|
46
|
+
readonly value: Required<Init<TVideo>>;
|
|
44
47
|
|
|
45
48
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
|
|
46
49
|
return ControlMessageTypes;
|
|
@@ -53,8 +56,8 @@ export class ScrcpyOptions2_1 implements ScrcpyOptions<Init> {
|
|
|
53
56
|
|
|
54
57
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
55
58
|
|
|
56
|
-
constructor(init: Init) {
|
|
57
|
-
this.value = { ...Defaults, ...init };
|
|
59
|
+
constructor(init: Init<TVideo>) {
|
|
60
|
+
this.value = { ...Defaults, ...init } as never;
|
|
58
61
|
|
|
59
62
|
if (this.value.control && this.value.clipboardAutosync) {
|
|
60
63
|
this.#clipboard = new ClipboardStream();
|
|
@@ -63,7 +66,7 @@ export class ScrcpyOptions2_1 implements ScrcpyOptions<Init> {
|
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
serialize(): string[] {
|
|
66
|
-
return serialize(this.value, Defaults);
|
|
69
|
+
return serialize<Init<boolean>>(this.value, Defaults);
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
setListDisplays(): void {
|
|
@@ -96,7 +99,7 @@ export class ScrcpyOptions2_1 implements ScrcpyOptions<Init> {
|
|
|
96
99
|
|
|
97
100
|
async parseDeviceMessage(
|
|
98
101
|
id: number,
|
|
99
|
-
stream: AsyncExactReadable,
|
|
102
|
+
stream: ExactReadable | AsyncExactReadable,
|
|
100
103
|
): Promise<void> {
|
|
101
104
|
if (await this.#clipboard?.parse(id, stream)) {
|
|
102
105
|
return;
|
|
@@ -151,8 +154,8 @@ export class ScrcpyOptions2_1 implements ScrcpyOptions<Init> {
|
|
|
151
154
|
}
|
|
152
155
|
}
|
|
153
156
|
|
|
154
|
-
type Init_ = Init
|
|
157
|
+
type Init_<TVideo extends boolean> = Init<TVideo>;
|
|
155
158
|
|
|
156
159
|
export namespace ScrcpyOptions2_1 {
|
|
157
|
-
export type Init = Init_
|
|
160
|
+
export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
|
|
158
161
|
}
|
package/src/2_1_1.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ScrcpyOptions2_1 } from "./2_1/index.js";
|
|
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
|
+
}
|
package/src/2_2/impl/defaults.ts
CHANGED
package/src/2_2/impl/init.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PrevImpl } from "./prev.js";
|
|
2
2
|
|
|
3
|
-
export interface Init extends PrevImpl.Init {
|
|
3
|
+
export interface Init<TVideo extends boolean> extends PrevImpl.Init<TVideo> {
|
|
4
4
|
videoSource?: "display" | "camera";
|
|
5
5
|
cameraId?: string | undefined;
|
|
6
6
|
cameraSize?: string | undefined;
|
package/src/2_2/index.ts
CHANGED
package/src/2_2/options.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable } from "@yume-chan/struct";
|
|
3
|
+
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
ScrcpyAudioStreamMetadata,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ScrcpyEncoder,
|
|
10
10
|
ScrcpyMediaStreamPacket,
|
|
11
11
|
ScrcpyOptions,
|
|
12
|
+
ScrcpyOptionsListEncoders,
|
|
12
13
|
ScrcpyScrollController,
|
|
13
14
|
ScrcpyVideoStream,
|
|
14
15
|
} from "../base/index.js";
|
|
@@ -37,10 +38,12 @@ import {
|
|
|
37
38
|
setListEncoders,
|
|
38
39
|
} from "./impl/index.js";
|
|
39
40
|
|
|
40
|
-
export class ScrcpyOptions2_2
|
|
41
|
+
export class ScrcpyOptions2_2<TVideo extends boolean>
|
|
42
|
+
implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
|
|
43
|
+
{
|
|
41
44
|
static readonly Defaults = Defaults;
|
|
42
45
|
|
|
43
|
-
readonly value: Required<Init
|
|
46
|
+
readonly value: Required<Init<TVideo>>;
|
|
44
47
|
|
|
45
48
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
|
|
46
49
|
return ControlMessageTypes;
|
|
@@ -53,8 +56,8 @@ export class ScrcpyOptions2_2 implements ScrcpyOptions<Init> {
|
|
|
53
56
|
|
|
54
57
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
55
58
|
|
|
56
|
-
constructor(init: Init) {
|
|
57
|
-
this.value = { ...Defaults, ...init };
|
|
59
|
+
constructor(init: Init<TVideo>) {
|
|
60
|
+
this.value = { ...Defaults, ...init } as never;
|
|
58
61
|
|
|
59
62
|
if (this.value.videoSource === "camera") {
|
|
60
63
|
this.value.control = false;
|
|
@@ -67,7 +70,7 @@ export class ScrcpyOptions2_2 implements ScrcpyOptions<Init> {
|
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
serialize(): string[] {
|
|
70
|
-
return serialize(this.value, Defaults);
|
|
73
|
+
return serialize<Init<boolean>>(this.value, Defaults);
|
|
71
74
|
}
|
|
72
75
|
|
|
73
76
|
setListDisplays(): void {
|
|
@@ -100,7 +103,7 @@ export class ScrcpyOptions2_2 implements ScrcpyOptions<Init> {
|
|
|
100
103
|
|
|
101
104
|
async parseDeviceMessage(
|
|
102
105
|
id: number,
|
|
103
|
-
stream: AsyncExactReadable,
|
|
106
|
+
stream: ExactReadable | AsyncExactReadable,
|
|
104
107
|
): Promise<void> {
|
|
105
108
|
if (await this.#clipboard?.parse(id, stream)) {
|
|
106
109
|
return;
|
|
@@ -155,8 +158,8 @@ export class ScrcpyOptions2_2 implements ScrcpyOptions<Init> {
|
|
|
155
158
|
}
|
|
156
159
|
}
|
|
157
160
|
|
|
158
|
-
type Init_ = Init
|
|
161
|
+
type Init_<TVideo extends boolean> = Init<TVideo>;
|
|
159
162
|
|
|
160
163
|
export namespace ScrcpyOptions2_2 {
|
|
161
|
-
export type Init = Init_
|
|
164
|
+
export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
|
|
162
165
|
}
|
package/src/2_3/impl/init.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { PrevImpl } from "./prev.js";
|
|
2
2
|
|
|
3
|
-
export interface Init extends
|
|
4
|
-
|
|
3
|
+
export interface Init<TVideo extends boolean>
|
|
4
|
+
extends Omit<PrevImpl.Init<TVideo>, "audioCodec"> {
|
|
5
|
+
audioCodec?: PrevImpl.Init<TVideo>["audioCodec"] | "flac";
|
|
5
6
|
}
|
package/src/2_3/index.ts
CHANGED
package/src/2_3/options.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable } from "@yume-chan/struct";
|
|
3
|
+
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
ScrcpyAudioStreamMetadata,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ScrcpyEncoder,
|
|
10
10
|
ScrcpyMediaStreamPacket,
|
|
11
11
|
ScrcpyOptions,
|
|
12
|
+
ScrcpyOptionsListEncoders,
|
|
12
13
|
ScrcpyScrollController,
|
|
13
14
|
ScrcpyVideoStream,
|
|
14
15
|
} from "../base/index.js";
|
|
@@ -37,10 +38,12 @@ import {
|
|
|
37
38
|
setListEncoders,
|
|
38
39
|
} from "./impl/index.js";
|
|
39
40
|
|
|
40
|
-
export class ScrcpyOptions2_3
|
|
41
|
+
export class ScrcpyOptions2_3<TVideo extends boolean>
|
|
42
|
+
implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
|
|
43
|
+
{
|
|
41
44
|
static readonly Defaults = Defaults;
|
|
42
45
|
|
|
43
|
-
readonly value: Required<Init
|
|
46
|
+
readonly value: Required<Init<TVideo>>;
|
|
44
47
|
|
|
45
48
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
|
|
46
49
|
return ControlMessageTypes;
|
|
@@ -53,8 +56,8 @@ export class ScrcpyOptions2_3 implements ScrcpyOptions<Init> {
|
|
|
53
56
|
|
|
54
57
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
55
58
|
|
|
56
|
-
constructor(init: Init) {
|
|
57
|
-
this.value = { ...Defaults, ...init };
|
|
59
|
+
constructor(init: Init<TVideo>) {
|
|
60
|
+
this.value = { ...Defaults, ...init } as never;
|
|
58
61
|
|
|
59
62
|
if (this.value.videoSource === "camera") {
|
|
60
63
|
this.value.control = false;
|
|
@@ -67,7 +70,7 @@ export class ScrcpyOptions2_3 implements ScrcpyOptions<Init> {
|
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
serialize(): string[] {
|
|
70
|
-
return serialize(this.value, Defaults);
|
|
73
|
+
return serialize<Init<boolean>>(this.value, Defaults);
|
|
71
74
|
}
|
|
72
75
|
|
|
73
76
|
setListDisplays(): void {
|
|
@@ -100,7 +103,7 @@ export class ScrcpyOptions2_3 implements ScrcpyOptions<Init> {
|
|
|
100
103
|
|
|
101
104
|
async parseDeviceMessage(
|
|
102
105
|
id: number,
|
|
103
|
-
stream: AsyncExactReadable,
|
|
106
|
+
stream: ExactReadable | AsyncExactReadable,
|
|
104
107
|
): Promise<void> {
|
|
105
108
|
if (await this.#clipboard?.parse(id, stream)) {
|
|
106
109
|
return;
|
|
@@ -155,8 +158,8 @@ export class ScrcpyOptions2_3 implements ScrcpyOptions<Init> {
|
|
|
155
158
|
}
|
|
156
159
|
}
|
|
157
160
|
|
|
158
|
-
type Init_ = Init
|
|
161
|
+
type Init_<TVideo extends boolean> = Init<TVideo>;
|
|
159
162
|
|
|
160
163
|
export namespace ScrcpyOptions2_3 {
|
|
161
|
-
export type Init = Init_
|
|
164
|
+
export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
|
|
162
165
|
}
|
package/src/2_3_1.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ScrcpyOptions2_3 } from "./2_3/index.js";
|
|
2
|
+
|
|
3
|
+
export class ScrcpyOptions2_3_1<
|
|
4
|
+
TVideo extends boolean,
|
|
5
|
+
> extends ScrcpyOptions2_3<TVideo> {
|
|
6
|
+
constructor(init: ScrcpyOptions2_3.Init<TVideo>) {
|
|
7
|
+
super(init);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export namespace ScrcpyOptions2_3_1 {
|
|
12
|
+
export type Init<TVideo extends boolean = boolean> =
|
|
13
|
+
ScrcpyOptions2_3.Init<TVideo>;
|
|
14
|
+
}
|
package/src/2_4/index.ts
CHANGED
package/src/2_4/options.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable } from "@yume-chan/struct";
|
|
3
|
+
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
ScrcpyAudioStreamMetadata,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ScrcpyEncoder,
|
|
10
10
|
ScrcpyMediaStreamPacket,
|
|
11
11
|
ScrcpyOptions,
|
|
12
|
+
ScrcpyOptionsListEncoders,
|
|
12
13
|
ScrcpyScrollController,
|
|
13
14
|
ScrcpyVideoStream,
|
|
14
15
|
} from "../base/index.js";
|
|
@@ -41,10 +42,12 @@ import {
|
|
|
41
42
|
UHidOutputStream,
|
|
42
43
|
} from "./impl/index.js";
|
|
43
44
|
|
|
44
|
-
export class ScrcpyOptions2_4
|
|
45
|
+
export class ScrcpyOptions2_4<TVideo extends boolean>
|
|
46
|
+
implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
|
|
47
|
+
{
|
|
45
48
|
static readonly Defaults = Defaults;
|
|
46
49
|
|
|
47
|
-
readonly value: Required<Init
|
|
50
|
+
readonly value: Required<Init<TVideo>>;
|
|
48
51
|
|
|
49
52
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
|
|
50
53
|
return ControlMessageTypes;
|
|
@@ -64,8 +67,8 @@ export class ScrcpyOptions2_4 implements ScrcpyOptions<Init> {
|
|
|
64
67
|
return this.#uHidOutput;
|
|
65
68
|
}
|
|
66
69
|
|
|
67
|
-
constructor(init: Init) {
|
|
68
|
-
this.value = { ...Defaults, ...init };
|
|
70
|
+
constructor(init: Init<TVideo>) {
|
|
71
|
+
this.value = { ...Defaults, ...init } as never;
|
|
69
72
|
|
|
70
73
|
if (this.value.videoSource === "camera") {
|
|
71
74
|
this.value.control = false;
|
|
@@ -82,7 +85,7 @@ export class ScrcpyOptions2_4 implements ScrcpyOptions<Init> {
|
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
serialize(): string[] {
|
|
85
|
-
return serialize(this.value, Defaults);
|
|
88
|
+
return serialize<Init<boolean>>(this.value, Defaults);
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
setListDisplays(): void {
|
|
@@ -115,7 +118,7 @@ export class ScrcpyOptions2_4 implements ScrcpyOptions<Init> {
|
|
|
115
118
|
|
|
116
119
|
async parseDeviceMessage(
|
|
117
120
|
id: number,
|
|
118
|
-
stream: AsyncExactReadable,
|
|
121
|
+
stream: ExactReadable | AsyncExactReadable,
|
|
119
122
|
): Promise<void> {
|
|
120
123
|
if (await this.#clipboard?.parse(id, stream)) {
|
|
121
124
|
return;
|
|
@@ -182,8 +185,8 @@ export class ScrcpyOptions2_4 implements ScrcpyOptions<Init> {
|
|
|
182
185
|
}
|
|
183
186
|
}
|
|
184
187
|
|
|
185
|
-
type Init_ = Init
|
|
188
|
+
type Init_<TVideo extends boolean> = Init<TVideo>;
|
|
186
189
|
|
|
187
190
|
export namespace ScrcpyOptions2_4 {
|
|
188
|
-
export type Init = Init_
|
|
191
|
+
export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
|
|
189
192
|
}
|
package/src/2_5.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ScrcpyOptions2_4 } from "./2_4/index.js";
|
|
2
|
+
|
|
3
|
+
export class ScrcpyOptions2_5<
|
|
4
|
+
TVideo extends boolean,
|
|
5
|
+
> extends ScrcpyOptions2_4<TVideo> {
|
|
6
|
+
constructor(init: ScrcpyOptions2_4.Init<TVideo>) {
|
|
7
|
+
super(init);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export namespace ScrcpyOptions2_5 {
|
|
12
|
+
export type Init<TVideo extends boolean = boolean> =
|
|
13
|
+
ScrcpyOptions2_4.Init<TVideo>;
|
|
14
|
+
}
|
package/src/2_6/impl/defaults.ts
CHANGED
package/src/2_6/impl/init.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PrevImpl } from "./prev.js";
|
|
2
2
|
|
|
3
|
-
export interface Init extends
|
|
4
|
-
|
|
3
|
+
export interface Init<TVideo extends boolean>
|
|
4
|
+
extends Omit<PrevImpl.Init<TVideo>, "audioSource"> {
|
|
5
|
+
audioSource?: PrevImpl.Init<TVideo>["audioSource"] | "playback";
|
|
5
6
|
audioDup?: boolean;
|
|
6
7
|
}
|
package/src/2_6/index.ts
CHANGED
package/src/2_6/options.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable } from "@yume-chan/struct";
|
|
3
|
+
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
ScrcpyAudioStreamMetadata,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ScrcpyEncoder,
|
|
10
10
|
ScrcpyMediaStreamPacket,
|
|
11
11
|
ScrcpyOptions,
|
|
12
|
+
ScrcpyOptionsListEncoders,
|
|
12
13
|
ScrcpyScrollController,
|
|
13
14
|
ScrcpyVideoStream,
|
|
14
15
|
} from "../base/index.js";
|
|
@@ -20,6 +21,7 @@ import type {
|
|
|
20
21
|
ScrcpyUHidOutputDeviceMessage,
|
|
21
22
|
} from "../latest.js";
|
|
22
23
|
|
|
24
|
+
import type { Init } from "./impl/index.js";
|
|
23
25
|
import {
|
|
24
26
|
AckClipboardHandler,
|
|
25
27
|
ClipboardStream,
|
|
@@ -39,12 +41,13 @@ import {
|
|
|
39
41
|
setListEncoders,
|
|
40
42
|
UHidOutputStream,
|
|
41
43
|
} from "./impl/index.js";
|
|
42
|
-
import type { Init } from "./impl/index.js";
|
|
43
44
|
|
|
44
|
-
export class ScrcpyOptions2_6
|
|
45
|
+
export class ScrcpyOptions2_6<TVideo extends boolean>
|
|
46
|
+
implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
|
|
47
|
+
{
|
|
45
48
|
static readonly Defaults = Defaults;
|
|
46
49
|
|
|
47
|
-
readonly value: Required<Init
|
|
50
|
+
readonly value: Required<Init<TVideo>>;
|
|
48
51
|
|
|
49
52
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
|
|
50
53
|
return ControlMessageTypes;
|
|
@@ -64,8 +67,8 @@ export class ScrcpyOptions2_6 implements ScrcpyOptions<Init> {
|
|
|
64
67
|
return this.#uHidOutput;
|
|
65
68
|
}
|
|
66
69
|
|
|
67
|
-
constructor(init: Init) {
|
|
68
|
-
this.value = { ...Defaults, ...init };
|
|
70
|
+
constructor(init: Init<TVideo>) {
|
|
71
|
+
this.value = { ...Defaults, ...init } as never;
|
|
69
72
|
|
|
70
73
|
if (this.value.videoSource === "camera") {
|
|
71
74
|
this.value.control = false;
|
|
@@ -86,7 +89,7 @@ export class ScrcpyOptions2_6 implements ScrcpyOptions<Init> {
|
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
serialize(): string[] {
|
|
89
|
-
return serialize(this.value, Defaults);
|
|
92
|
+
return serialize<Init<boolean>>(this.value, Defaults);
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
setListDisplays(): void {
|
|
@@ -119,7 +122,7 @@ export class ScrcpyOptions2_6 implements ScrcpyOptions<Init> {
|
|
|
119
122
|
|
|
120
123
|
async parseDeviceMessage(
|
|
121
124
|
id: number,
|
|
122
|
-
stream: AsyncExactReadable,
|
|
125
|
+
stream: ExactReadable | AsyncExactReadable,
|
|
123
126
|
): Promise<void> {
|
|
124
127
|
if (await this.#clipboard?.parse(id, stream)) {
|
|
125
128
|
return;
|
|
@@ -180,8 +183,8 @@ export class ScrcpyOptions2_6 implements ScrcpyOptions<Init> {
|
|
|
180
183
|
}
|
|
181
184
|
}
|
|
182
185
|
|
|
183
|
-
type Init_ = Init
|
|
186
|
+
type Init_<TVideo extends boolean> = Init<TVideo>;
|
|
184
187
|
|
|
185
188
|
export namespace ScrcpyOptions2_6 {
|
|
186
|
-
export type Init = Init_
|
|
189
|
+
export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
|
|
187
190
|
}
|
package/src/2_6_1.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ScrcpyOptions2_6 } from "./2_6/index.js";
|
|
2
|
+
|
|
3
|
+
export class ScrcpyOptions2_6_1<
|
|
4
|
+
TVideo extends boolean,
|
|
5
|
+
> extends ScrcpyOptions2_6<TVideo> {
|
|
6
|
+
constructor(init: ScrcpyOptions2_6.Init<TVideo>) {
|
|
7
|
+
super(init);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export namespace ScrcpyOptions2_6_1 {
|
|
12
|
+
export type Init<TVideo extends boolean = boolean> =
|
|
13
|
+
ScrcpyOptions2_6.Init<TVideo>;
|
|
14
|
+
}
|
package/src/2_7/index.ts
CHANGED
package/src/2_7/options.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { AsyncExactReadable } from "@yume-chan/struct";
|
|
3
|
+
import type { AsyncExactReadable, ExactReadable } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
ScrcpyAudioStreamMetadata,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
ScrcpyEncoder,
|
|
10
10
|
ScrcpyMediaStreamPacket,
|
|
11
11
|
ScrcpyOptions,
|
|
12
|
+
ScrcpyOptionsListEncoders,
|
|
12
13
|
ScrcpyScrollController,
|
|
13
14
|
ScrcpyVideoStream,
|
|
14
15
|
} from "../base/index.js";
|
|
@@ -41,10 +42,12 @@ import {
|
|
|
41
42
|
UHidOutputStream,
|
|
42
43
|
} from "./impl/index.js";
|
|
43
44
|
|
|
44
|
-
export class ScrcpyOptions2_7
|
|
45
|
+
export class ScrcpyOptions2_7<TVideo extends boolean>
|
|
46
|
+
implements ScrcpyOptions<Init<TVideo>>, ScrcpyOptionsListEncoders
|
|
47
|
+
{
|
|
45
48
|
static readonly Defaults = Defaults;
|
|
46
49
|
|
|
47
|
-
readonly value: Required<Init
|
|
50
|
+
readonly value: Required<Init<TVideo>>;
|
|
48
51
|
|
|
49
52
|
get controlMessageTypes(): readonly ScrcpyControlMessageType[] {
|
|
50
53
|
return ControlMessageTypes;
|
|
@@ -64,8 +67,8 @@ export class ScrcpyOptions2_7 implements ScrcpyOptions<Init> {
|
|
|
64
67
|
return this.#uHidOutput;
|
|
65
68
|
}
|
|
66
69
|
|
|
67
|
-
constructor(init: Init) {
|
|
68
|
-
this.value = { ...Defaults, ...init };
|
|
70
|
+
constructor(init: Init<TVideo>) {
|
|
71
|
+
this.value = { ...Defaults, ...init } as never;
|
|
69
72
|
|
|
70
73
|
if (this.value.videoSource === "camera") {
|
|
71
74
|
this.value.control = false;
|
|
@@ -86,7 +89,7 @@ export class ScrcpyOptions2_7 implements ScrcpyOptions<Init> {
|
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
serialize(): string[] {
|
|
89
|
-
return serialize(this.value, Defaults);
|
|
92
|
+
return serialize<Init<boolean>>(this.value, Defaults);
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
setListDisplays(): void {
|
|
@@ -119,7 +122,7 @@ export class ScrcpyOptions2_7 implements ScrcpyOptions<Init> {
|
|
|
119
122
|
|
|
120
123
|
async parseDeviceMessage(
|
|
121
124
|
id: number,
|
|
122
|
-
stream: AsyncExactReadable,
|
|
125
|
+
stream: ExactReadable | AsyncExactReadable,
|
|
123
126
|
): Promise<void> {
|
|
124
127
|
if (await this.#clipboard?.parse(id, stream)) {
|
|
125
128
|
return;
|
|
@@ -180,8 +183,8 @@ export class ScrcpyOptions2_7 implements ScrcpyOptions<Init> {
|
|
|
180
183
|
}
|
|
181
184
|
}
|
|
182
185
|
|
|
183
|
-
type Init_ = Init
|
|
186
|
+
type Init_<TVideo extends boolean> = Init<TVideo>;
|
|
184
187
|
|
|
185
188
|
export namespace ScrcpyOptions2_7 {
|
|
186
|
-
export type Init = Init_
|
|
189
|
+
export type Init<TVideo extends boolean = boolean> = Init_<TVideo>;
|
|
187
190
|
}
|
package/src/3_0/impl/defaults.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { omit } from "../../utils/index.js";
|
|
2
2
|
|
|
3
3
|
import type { Init } from "./init.js";
|
|
4
|
-
import { CaptureOrientation } from "./init.js";
|
|
5
4
|
import { PrevImpl } from "./prev.js";
|
|
6
5
|
|
|
7
6
|
export const Defaults = /* #__PURE__ */ (() =>
|
|
8
7
|
({
|
|
9
8
|
...omit(PrevImpl.Defaults, "lockVideoOrientation"),
|
|
10
|
-
captureOrientation:
|
|
9
|
+
captureOrientation: undefined,
|
|
11
10
|
angle: 0,
|
|
12
11
|
screenOffTimeout: undefined,
|
|
13
12
|
listApps: false,
|
|
14
13
|
newDisplay: undefined,
|
|
15
14
|
vdSystemDecorations: true,
|
|
16
|
-
}) as const satisfies Required<Init
|
|
15
|
+
}) as const satisfies Required<Init<true>>)();
|