@yume-chan/scrcpy 2.2.0 → 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/esm/1_15/impl/codec-options.d.ts +146 -0
- package/esm/1_15/impl/codec-options.d.ts.map +1 -0
- package/esm/1_15/impl/codec-options.js +192 -0
- package/esm/1_15/impl/codec-options.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 +1 -0
- package/esm/1_15/impl/index.d.ts.map +1 -1
- package/esm/1_15/impl/index.js +1 -0
- package/esm/1_15/impl/index.js.map +1 -1
- package/esm/1_15/impl/init.d.ts +1 -22
- 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/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/options.d.ts +3 -2
- 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 +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 +3 -2
- package/esm/1_17/options.d.ts.map +1 -1
- 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.map +1 -1
- package/esm/1_18/options.d.ts +3 -2
- 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 +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/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 +1 -1
- package/esm/1_21/impl/index.d.ts.map +1 -1
- package/esm/1_21/impl/index.js +1 -1
- package/esm/1_21/impl/index.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 +3 -2
- package/esm/1_21/options.d.ts.map +1 -1
- package/esm/1_21/options.js +6 -4
- 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/options.d.ts +3 -2
- package/esm/1_22/options.d.ts.map +1 -1
- package/esm/1_22/options.js +6 -4
- 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/options.d.ts +3 -2
- package/esm/1_23/options.d.ts.map +1 -1
- package/esm/1_23/options.js +6 -4
- 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/options.d.ts +3 -2
- package/esm/1_24/options.d.ts.map +1 -1
- package/esm/1_24/options.js +6 -4
- 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 +3 -2
- package/esm/1_25/options.d.ts.map +1 -1
- package/esm/1_25/options.js +6 -4
- package/esm/1_25/options.js.map +1 -1
- package/esm/2_0/impl/defaults.d.ts +3 -3
- package/esm/2_0/impl/defaults.d.ts.map +1 -1
- package/esm/2_0/impl/defaults.js +10 -4
- package/esm/2_0/impl/defaults.js.map +1 -1
- 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.map +1 -1
- package/esm/2_0/impl/parse-audio-stream-metadata.js +2 -7
- package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
- package/esm/2_0/options.d.ts +6 -5
- package/esm/2_0/options.d.ts.map +1 -1
- package/esm/2_0/options.js +6 -4
- package/esm/2_0/options.js.map +1 -1
- package/esm/2_1/impl/defaults.d.ts +3 -3
- 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/options.d.ts +6 -5
- package/esm/2_1/options.d.ts.map +1 -1
- package/esm/2_1/options.js +6 -4
- 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/defaults.d.ts +3 -3
- 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/options.d.ts +6 -5
- package/esm/2_2/options.d.ts.map +1 -1
- package/esm/2_2/options.js +6 -4
- package/esm/2_2/options.js.map +1 -1
- package/esm/2_3/impl/init.d.ts.map +1 -1
- package/esm/2_3/options.d.ts +6 -5
- package/esm/2_3/options.d.ts.map +1 -1
- package/esm/2_3/options.js +6 -4
- 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 +6 -5
- package/esm/2_4/options.d.ts.map +1 -1
- package/esm/2_4/options.js +3 -3
- 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/defaults.d.ts +3 -3
- 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/init.d.ts.map +1 -1
- package/esm/2_6/options.d.ts +6 -5
- package/esm/2_6/options.d.ts.map +1 -1
- package/esm/2_6/options.js +3 -3
- 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/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 +6 -5
- package/esm/2_7/options.d.ts.map +1 -1
- package/esm/2_7/options.js +3 -3
- 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 +4 -4
- package/esm/3_0/impl/defaults.d.ts.map +1 -1
- package/esm/3_0/impl/defaults.js +8 -4
- package/esm/3_0/impl/defaults.js.map +1 -1
- package/esm/3_0/impl/init.d.ts.map +1 -1
- package/esm/3_0/options.d.ts +7 -6
- package/esm/3_0/options.d.ts.map +1 -1
- package/esm/3_0/options.js +3 -3
- 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 +4 -4
- 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/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 +7 -6
- package/esm/3_1/options.d.ts.map +1 -1
- package/esm/3_1/options.js +3 -3
- package/esm/3_1/options.js.map +1 -1
- package/esm/3_2/impl/defaults.d.ts +4 -4
- 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/init.d.ts.map +1 -1
- package/esm/3_2/options.d.ts +7 -6
- package/esm/3_2/options.d.ts.map +1 -1
- package/esm/3_2/options.js +3 -3
- 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 +7 -6
- package/esm/3_3_1/options.d.ts.map +1 -1
- package/esm/3_3_1/options.js +3 -3
- 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_3.d.ts +2 -0
- package/esm/3_3_3.d.ts.map +1 -0
- package/esm/3_3_3.js +2 -0
- package/esm/3_3_3.js.map +1 -0
- 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/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 +19 -0
- package/esm/base/control-message-type-value.d.ts.map +1 -0
- package/esm/base/control-message-type-value.js +19 -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/options.d.ts +2 -1
- package/esm/base/options.d.ts.map +1 -1
- package/esm/control/index.d.ts +0 -1
- package/esm/control/index.d.ts.map +1 -1
- package/esm/control/index.js +0 -1
- 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/serializer.d.ts +2 -0
- package/esm/control/serializer.d.ts.map +1 -1
- package/esm/control/serializer.js +27 -19
- package/esm/control/serializer.js.map +1 -1
- package/esm/control/set-screen-power-mode.d.ts.map +1 -1
- package/esm/control/set-screen-power-mode.js +5 -1
- package/esm/control/set-screen-power-mode.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 +1 -1
- package/esm/control/writer.d.ts.map +1 -1
- package/esm/control/writer.js +1 -1
- package/esm/control/writer.js.map +1 -1
- package/esm/index.d.ts +3 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -1
- package/esm/index.js.map +1 -1
- package/esm/latest.d.ts +2 -8
- package/esm/latest.d.ts.map +1 -1
- package/esm/latest.js +2 -7
- package/esm/latest.js.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/index.d.ts +3 -0
- package/esm/video/index.d.ts.map +1 -0
- package/esm/video/index.js +3 -0
- package/esm/video/index.js.map +1 -0
- package/esm/video/size.d.ts +21 -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 +236 -0
- package/src/1_15/impl/control-message-types.ts +14 -14
- package/src/1_15/impl/index.ts +1 -0
- package/src/1_15/impl/init.ts +2 -76
- package/src/1_15/impl/inject-touch.ts +1 -0
- package/src/1_15/impl/scroll-controller.ts +1 -0
- package/src/1_15/impl/set-clipboard.ts +5 -1
- package/src/1_15/options.ts +1 -2
- 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 +1 -2
- 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 +4 -2
- package/src/1_18/options.ts +1 -2
- package/src/1_19.ts +1 -11
- package/src/1_20.ts +1 -11
- package/src/1_21/impl/defaults.ts +4 -5
- package/src/1_21/impl/index.ts +1 -0
- package/src/1_21/impl/set-clipboard.ts +14 -0
- package/src/1_21/options.ts +10 -7
- package/src/1_22/impl/defaults.ts +6 -7
- package/src/1_22/options.ts +10 -7
- package/src/1_23/impl/defaults.ts +4 -5
- package/src/1_23/options.ts +10 -7
- package/src/1_24/impl/defaults.ts +4 -5
- package/src/1_24/options.ts +10 -7
- package/src/1_25/impl/scroll-controller.ts +14 -15
- package/src/1_25/options.ts +10 -7
- package/src/2_0/impl/defaults.ts +24 -19
- package/src/2_0/impl/init.ts +4 -2
- package/src/2_0/impl/inject-touch.ts +16 -17
- package/src/2_0/impl/parse-audio-stream-metadata.ts +3 -7
- package/src/2_0/options.ts +10 -7
- package/src/2_1/impl/defaults.ts +5 -6
- package/src/2_1/options.ts +10 -7
- package/src/2_1_1.ts +1 -14
- package/src/2_2/impl/defaults.ts +13 -14
- package/src/2_2/options.ts +10 -7
- package/src/2_3/impl/init.ts +4 -2
- package/src/2_3/options.ts +10 -7
- 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 +8 -7
- package/src/2_5.ts +1 -14
- package/src/2_6/impl/defaults.ts +4 -5
- package/src/2_6/impl/init.ts +4 -2
- package/src/2_6/options.ts +8 -7
- package/src/2_6_1.ts +1 -14
- package/src/2_7/impl/control-message-types.ts +19 -8
- package/src/2_7/impl/serialize-uhid-create.ts +1 -0
- package/src/2_7/options.ts +8 -7
- package/src/3_0/impl/control-message-types.ts +21 -8
- package/src/3_0/impl/defaults.ts +15 -12
- package/src/3_0/impl/init.ts +4 -2
- package/src/3_0/options.ts +8 -7
- 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/serialize-uhid-create.ts +1 -0
- package/src/3_1/options.ts +8 -7
- package/src/3_2/impl/defaults.ts +4 -5
- package/src/3_2/impl/init.ts +4 -2
- package/src/3_2/options.ts +8 -7
- package/src/3_3.ts +1 -14
- package/src/3_3_1/options.ts +8 -7
- package/src/3_3_2.ts +1 -14
- package/src/3_3_3.ts +1 -0
- package/src/3_3_4.ts +1 -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 +18 -0
- package/src/base/control-message-type.ts +6 -22
- package/src/base/options.ts +5 -1
- package/src/control/index.ts +0 -1
- package/src/control/inject-key-code.ts +11 -12
- package/src/control/inject-text.ts +5 -1
- package/src/control/serializer.ts +32 -36
- package/src/control/set-screen-power-mode.ts +5 -1
- package/src/control/start-app.ts +1 -0
- package/src/control/uhid.ts +14 -12
- package/src/control/writer.ts +1 -1
- package/src/index.ts +3 -1
- package/src/latest.ts +2 -14
- package/src/video/android.ts +72 -0
- package/src/video/index.ts +2 -0
- package/src/video/size.ts +40 -0
- package/tsconfig.build.json +0 -8
- package/CHANGELOG.md +0 -218
- 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/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/tsconfig.build.tsbuildinfo +0 -1
|
@@ -12,6 +12,7 @@ export const AckClipboardDeviceMessage = struct(
|
|
|
12
12
|
|
|
13
13
|
export const SetClipboardControlMessage = struct(
|
|
14
14
|
{
|
|
15
|
+
// value of `type` can change between versions
|
|
15
16
|
type: u8,
|
|
16
17
|
sequence: u64,
|
|
17
18
|
paste: u8<boolean>(),
|
|
@@ -75,3 +76,16 @@ export class AckClipboardHandler implements ScrcpyDeviceMessageParser {
|
|
|
75
76
|
];
|
|
76
77
|
}
|
|
77
78
|
}
|
|
79
|
+
|
|
80
|
+
export function serializeSetClipboardControlMessage(
|
|
81
|
+
message: ScrcpySetClipboardControlMessage,
|
|
82
|
+
ackHandler: AckClipboardHandler | undefined,
|
|
83
|
+
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
84
|
+
if (!ackHandler) {
|
|
85
|
+
throw new Error(
|
|
86
|
+
"`serializeSetClipboardControlMessage` requires `control: true` option",
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return ackHandler.serializeSetClipboardControlMessage(message);
|
|
91
|
+
}
|
package/src/1_21/options.ts
CHANGED
|
@@ -2,7 +2,6 @@ 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
|
-
ScrcpyControlMessageType,
|
|
6
5
|
ScrcpyDisplay,
|
|
7
6
|
ScrcpyEncoder,
|
|
8
7
|
ScrcpyMediaStreamPacket,
|
|
@@ -33,6 +32,7 @@ import {
|
|
|
33
32
|
serialize,
|
|
34
33
|
serializeBackOrScreenOnControlMessage,
|
|
35
34
|
serializeInjectTouchControlMessage,
|
|
35
|
+
serializeSetClipboardControlMessage,
|
|
36
36
|
setListDisplays,
|
|
37
37
|
setListEncoders,
|
|
38
38
|
} from "./impl/index.js";
|
|
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_21
|
|
|
44
44
|
|
|
45
45
|
readonly value: Required<Init>;
|
|
46
46
|
|
|
47
|
-
get controlMessageTypes():
|
|
47
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
48
|
return ControlMessageTypes;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_21
|
|
|
63
63
|
constructor(init: Init) {
|
|
64
64
|
this.value = { ...Defaults, ...init };
|
|
65
65
|
|
|
66
|
-
if (this.value.control
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
if (this.value.control) {
|
|
67
|
+
if (this.value.clipboardAutosync) {
|
|
68
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
69
|
+
new ClipboardStream(),
|
|
70
|
+
);
|
|
71
|
+
}
|
|
70
72
|
|
|
71
73
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
72
74
|
new AckClipboardHandler(),
|
|
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_21
|
|
|
122
124
|
serializeSetClipboardControlMessage(
|
|
123
125
|
message: ScrcpySetClipboardControlMessage,
|
|
124
126
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
125
|
-
return
|
|
127
|
+
return serializeSetClipboardControlMessage(
|
|
126
128
|
message,
|
|
129
|
+
this.#ackClipboardHandler,
|
|
127
130
|
);
|
|
128
131
|
}
|
|
129
132
|
|
|
@@ -1,10 +1,9 @@
|
|
|
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
|
-
|
|
10
|
-
}) as const satisfies Required<Init>)();
|
|
4
|
+
export const Defaults = {
|
|
5
|
+
...PrevImpl.Defaults,
|
|
6
|
+
downsizeOnError: true,
|
|
7
|
+
sendDeviceMeta: true,
|
|
8
|
+
sendDummyByte: true,
|
|
9
|
+
} as const satisfies Required<Init>;
|
package/src/1_22/options.ts
CHANGED
|
@@ -2,7 +2,6 @@ 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
|
-
ScrcpyControlMessageType,
|
|
6
5
|
ScrcpyDisplay,
|
|
7
6
|
ScrcpyEncoder,
|
|
8
7
|
ScrcpyMediaStreamPacket,
|
|
@@ -33,6 +32,7 @@ import {
|
|
|
33
32
|
serialize,
|
|
34
33
|
serializeBackOrScreenOnControlMessage,
|
|
35
34
|
serializeInjectTouchControlMessage,
|
|
35
|
+
serializeSetClipboardControlMessage,
|
|
36
36
|
setListDisplays,
|
|
37
37
|
setListEncoders,
|
|
38
38
|
} from "./impl/index.js";
|
|
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_22
|
|
|
44
44
|
|
|
45
45
|
readonly value: Required<Init>;
|
|
46
46
|
|
|
47
|
-
get controlMessageTypes():
|
|
47
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
48
|
return ControlMessageTypes;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_22
|
|
|
63
63
|
constructor(init: Init) {
|
|
64
64
|
this.value = { ...Defaults, ...init };
|
|
65
65
|
|
|
66
|
-
if (this.value.control
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
if (this.value.control) {
|
|
67
|
+
if (this.value.clipboardAutosync) {
|
|
68
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
69
|
+
new ClipboardStream(),
|
|
70
|
+
);
|
|
71
|
+
}
|
|
70
72
|
|
|
71
73
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
72
74
|
new AckClipboardHandler(),
|
|
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_22
|
|
|
122
124
|
serializeSetClipboardControlMessage(
|
|
123
125
|
message: ScrcpySetClipboardControlMessage,
|
|
124
126
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
125
|
-
return
|
|
127
|
+
return serializeSetClipboardControlMessage(
|
|
126
128
|
message,
|
|
129
|
+
this.#ackClipboardHandler,
|
|
127
130
|
);
|
|
128
131
|
}
|
|
129
132
|
|
|
@@ -1,8 +1,7 @@
|
|
|
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
|
-
}) as const satisfies Required<Init>)();
|
|
4
|
+
export const Defaults = {
|
|
5
|
+
...PrevImpl.Defaults,
|
|
6
|
+
cleanup: true,
|
|
7
|
+
} as const satisfies Required<Init>;
|
package/src/1_23/options.ts
CHANGED
|
@@ -2,7 +2,6 @@ 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
|
-
ScrcpyControlMessageType,
|
|
6
5
|
ScrcpyDisplay,
|
|
7
6
|
ScrcpyEncoder,
|
|
8
7
|
ScrcpyMediaStreamPacket,
|
|
@@ -33,6 +32,7 @@ import {
|
|
|
33
32
|
serialize,
|
|
34
33
|
serializeBackOrScreenOnControlMessage,
|
|
35
34
|
serializeInjectTouchControlMessage,
|
|
35
|
+
serializeSetClipboardControlMessage,
|
|
36
36
|
setListDisplays,
|
|
37
37
|
setListEncoders,
|
|
38
38
|
} from "./impl/index.js";
|
|
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_23
|
|
|
44
44
|
|
|
45
45
|
readonly value: Required<Init>;
|
|
46
46
|
|
|
47
|
-
get controlMessageTypes():
|
|
47
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
48
|
return ControlMessageTypes;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_23
|
|
|
63
63
|
constructor(init: Init) {
|
|
64
64
|
this.value = { ...Defaults, ...init };
|
|
65
65
|
|
|
66
|
-
if (this.value.control
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
if (this.value.control) {
|
|
67
|
+
if (this.value.clipboardAutosync) {
|
|
68
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
69
|
+
new ClipboardStream(),
|
|
70
|
+
);
|
|
71
|
+
}
|
|
70
72
|
|
|
71
73
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
72
74
|
new AckClipboardHandler(),
|
|
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_23
|
|
|
122
124
|
serializeSetClipboardControlMessage(
|
|
123
125
|
message: ScrcpySetClipboardControlMessage,
|
|
124
126
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
125
|
-
return
|
|
127
|
+
return serializeSetClipboardControlMessage(
|
|
126
128
|
message,
|
|
129
|
+
this.#ackClipboardHandler,
|
|
127
130
|
);
|
|
128
131
|
}
|
|
129
132
|
|
|
@@ -1,8 +1,7 @@
|
|
|
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
|
-
}) as const satisfies Required<Init>)();
|
|
4
|
+
export const Defaults = {
|
|
5
|
+
...PrevImpl.Defaults,
|
|
6
|
+
powerOn: true,
|
|
7
|
+
} as const satisfies Required<Init>;
|
package/src/1_24/options.ts
CHANGED
|
@@ -2,7 +2,6 @@ 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
|
-
ScrcpyControlMessageType,
|
|
6
5
|
ScrcpyDisplay,
|
|
7
6
|
ScrcpyEncoder,
|
|
8
7
|
ScrcpyMediaStreamPacket,
|
|
@@ -33,6 +32,7 @@ import {
|
|
|
33
32
|
serialize,
|
|
34
33
|
serializeBackOrScreenOnControlMessage,
|
|
35
34
|
serializeInjectTouchControlMessage,
|
|
35
|
+
serializeSetClipboardControlMessage,
|
|
36
36
|
setListDisplays,
|
|
37
37
|
setListEncoders,
|
|
38
38
|
} from "./impl/index.js";
|
|
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_24
|
|
|
44
44
|
|
|
45
45
|
readonly value: Required<Init>;
|
|
46
46
|
|
|
47
|
-
get controlMessageTypes():
|
|
47
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
48
|
return ControlMessageTypes;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_24
|
|
|
63
63
|
constructor(init: Init) {
|
|
64
64
|
this.value = { ...Defaults, ...init };
|
|
65
65
|
|
|
66
|
-
if (this.value.control
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
if (this.value.control) {
|
|
67
|
+
if (this.value.clipboardAutosync) {
|
|
68
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
69
|
+
new ClipboardStream(),
|
|
70
|
+
);
|
|
71
|
+
}
|
|
70
72
|
|
|
71
73
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
72
74
|
new AckClipboardHandler(),
|
|
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_24
|
|
|
122
124
|
serializeSetClipboardControlMessage(
|
|
123
125
|
message: ScrcpySetClipboardControlMessage,
|
|
124
126
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
125
|
-
return
|
|
127
|
+
return serializeSetClipboardControlMessage(
|
|
126
128
|
message,
|
|
129
|
+
this.#ackClipboardHandler,
|
|
127
130
|
);
|
|
128
131
|
}
|
|
129
132
|
|
|
@@ -3,7 +3,6 @@ import type { Field, StructInit } from "@yume-chan/struct";
|
|
|
3
3
|
import { field, struct, u16, u32, u8 } from "@yume-chan/struct";
|
|
4
4
|
|
|
5
5
|
import type { ScrcpyScrollController } from "../../base/index.js";
|
|
6
|
-
import { ScrcpyControlMessageType } from "../../base/index.js";
|
|
7
6
|
import type { ScrcpyInjectScrollControlMessage } from "../../latest.js";
|
|
8
7
|
import { clamp } from "../../utils/index.js";
|
|
9
8
|
|
|
@@ -24,20 +23,20 @@ export const SignedFloat: Field<number, never, never> = field(
|
|
|
24
23
|
},
|
|
25
24
|
);
|
|
26
25
|
|
|
27
|
-
export const InjectScrollControlMessage =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
export const InjectScrollControlMessage = struct(
|
|
27
|
+
{
|
|
28
|
+
// value of `type` can change between versions
|
|
29
|
+
type: u8,
|
|
30
|
+
pointerX: u32,
|
|
31
|
+
pointerY: u32,
|
|
32
|
+
videoWidth: u16,
|
|
33
|
+
videoHeight: u16,
|
|
34
|
+
scrollX: SignedFloat,
|
|
35
|
+
scrollY: SignedFloat,
|
|
36
|
+
buttons: u32,
|
|
37
|
+
},
|
|
38
|
+
{ littleEndian: false },
|
|
39
|
+
);
|
|
41
40
|
|
|
42
41
|
export type InjectScrollControlMessage = StructInit<
|
|
43
42
|
typeof InjectScrollControlMessage
|
package/src/1_25/options.ts
CHANGED
|
@@ -2,7 +2,6 @@ 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
|
-
ScrcpyControlMessageType,
|
|
6
5
|
ScrcpyDisplay,
|
|
7
6
|
ScrcpyEncoder,
|
|
8
7
|
ScrcpyMediaStreamPacket,
|
|
@@ -33,6 +32,7 @@ import {
|
|
|
33
32
|
serialize,
|
|
34
33
|
serializeBackOrScreenOnControlMessage,
|
|
35
34
|
serializeInjectTouchControlMessage,
|
|
35
|
+
serializeSetClipboardControlMessage,
|
|
36
36
|
setListDisplays,
|
|
37
37
|
setListEncoders,
|
|
38
38
|
} from "./impl/index.js";
|
|
@@ -44,7 +44,7 @@ export class ScrcpyOptions1_25
|
|
|
44
44
|
|
|
45
45
|
readonly value: Required<Init>;
|
|
46
46
|
|
|
47
|
-
get controlMessageTypes():
|
|
47
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
48
|
return ControlMessageTypes;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -63,10 +63,12 @@ export class ScrcpyOptions1_25
|
|
|
63
63
|
constructor(init: Init) {
|
|
64
64
|
this.value = { ...Defaults, ...init };
|
|
65
65
|
|
|
66
|
-
if (this.value.control
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
if (this.value.control) {
|
|
67
|
+
if (this.value.clipboardAutosync) {
|
|
68
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
69
|
+
new ClipboardStream(),
|
|
70
|
+
);
|
|
71
|
+
}
|
|
70
72
|
|
|
71
73
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
72
74
|
new AckClipboardHandler(),
|
|
@@ -122,8 +124,9 @@ export class ScrcpyOptions1_25
|
|
|
122
124
|
serializeSetClipboardControlMessage(
|
|
123
125
|
message: ScrcpySetClipboardControlMessage,
|
|
124
126
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
125
|
-
return
|
|
127
|
+
return serializeSetClipboardControlMessage(
|
|
126
128
|
message,
|
|
129
|
+
this.#ackClipboardHandler,
|
|
127
130
|
);
|
|
128
131
|
}
|
|
129
132
|
|
package/src/2_0/impl/defaults.ts
CHANGED
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
import { omit } from "../../utils/index.js";
|
|
2
|
-
|
|
3
1
|
import type { Init } from "./init.js";
|
|
4
2
|
import { PrevImpl } from "./prev.js";
|
|
5
3
|
|
|
6
|
-
export const Defaults =
|
|
7
|
-
|
|
8
|
-
...
|
|
9
|
-
|
|
4
|
+
export const Defaults = {
|
|
5
|
+
...{
|
|
6
|
+
...PrevImpl.Defaults,
|
|
7
|
+
// Remove obsolete values
|
|
8
|
+
// relies on the minifier to flatten the nested spread
|
|
9
|
+
bitRate: undefined,
|
|
10
|
+
codecOptions: undefined,
|
|
11
|
+
encoderName: undefined,
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
scid: undefined,
|
|
10
15
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
videoCodec: "h264",
|
|
17
|
+
videoBitRate: 8000000,
|
|
18
|
+
videoCodecOptions: undefined,
|
|
19
|
+
videoEncoder: undefined,
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
audio: true,
|
|
22
|
+
audioCodec: "opus",
|
|
23
|
+
audioBitRate: 128000,
|
|
24
|
+
audioCodecOptions: undefined,
|
|
25
|
+
audioEncoder: undefined,
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
listEncoders: false,
|
|
28
|
+
listDisplays: false,
|
|
29
|
+
sendCodecMeta: true,
|
|
30
|
+
} as const satisfies Required<Init>;
|
package/src/2_0/impl/init.ts
CHANGED
|
@@ -24,8 +24,10 @@ export class InstanceId implements ScrcpyOptionValue {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export interface Init
|
|
28
|
-
|
|
27
|
+
export interface Init extends Omit<
|
|
28
|
+
PrevImpl.Init,
|
|
29
|
+
"bitRate" | "codecOptions" | "encoderName"
|
|
30
|
+
> {
|
|
29
31
|
scid?: InstanceId | string | undefined;
|
|
30
32
|
|
|
31
33
|
videoCodec?: "h264" | "h265" | "av1";
|
|
@@ -2,27 +2,26 @@ import type { StructInit } from "@yume-chan/struct";
|
|
|
2
2
|
import { struct, u16, u32, u64, u8 } from "@yume-chan/struct";
|
|
3
3
|
|
|
4
4
|
import type { AndroidMotionEventAction } from "../../android/motion-event.js";
|
|
5
|
-
import { ScrcpyControlMessageType } from "../../base/control-message-type.js";
|
|
6
5
|
import type { ScrcpyInjectTouchControlMessage } from "../../latest.js";
|
|
7
6
|
|
|
8
7
|
import { PrevImpl } from "./prev.js";
|
|
9
8
|
|
|
10
|
-
export const InjectTouchControlMessage =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
export const InjectTouchControlMessage = struct(
|
|
10
|
+
{
|
|
11
|
+
// value of `type` can change between versions
|
|
12
|
+
type: u8,
|
|
13
|
+
action: u8<AndroidMotionEventAction>(),
|
|
14
|
+
pointerId: u64,
|
|
15
|
+
pointerX: u32,
|
|
16
|
+
pointerY: u32,
|
|
17
|
+
videoWidth: u16,
|
|
18
|
+
videoHeight: u16,
|
|
19
|
+
pressure: PrevImpl.UnsignedFloat,
|
|
20
|
+
actionButton: u32,
|
|
21
|
+
buttons: u32,
|
|
22
|
+
},
|
|
23
|
+
{ littleEndian: false },
|
|
24
|
+
);
|
|
26
25
|
|
|
27
26
|
export type InjectTouchControlMessage = StructInit<
|
|
28
27
|
typeof InjectTouchControlMessage
|
|
@@ -86,13 +86,9 @@ export async function parseAudioStreamMetadata(
|
|
|
86
86
|
await controller.enqueue(buffer);
|
|
87
87
|
|
|
88
88
|
const stream = buffered.release();
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (done) {
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
await controller.enqueue(value);
|
|
89
|
+
|
|
90
|
+
for await (const chunk of stream) {
|
|
91
|
+
await controller.enqueue(chunk);
|
|
96
92
|
}
|
|
97
93
|
}),
|
|
98
94
|
};
|
package/src/2_0/options.ts
CHANGED
|
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
5
|
ScrcpyAudioStreamMetadata,
|
|
6
|
-
ScrcpyControlMessageType,
|
|
7
6
|
ScrcpyDisplay,
|
|
8
7
|
ScrcpyEncoder,
|
|
9
8
|
ScrcpyMediaStreamPacket,
|
|
@@ -34,6 +33,7 @@ import {
|
|
|
34
33
|
serialize,
|
|
35
34
|
serializeBackOrScreenOnControlMessage,
|
|
36
35
|
serializeInjectTouchControlMessage,
|
|
36
|
+
serializeSetClipboardControlMessage,
|
|
37
37
|
setListDisplays,
|
|
38
38
|
setListEncoders,
|
|
39
39
|
} from "./impl/index.js";
|
|
@@ -45,7 +45,7 @@ export class ScrcpyOptions2_0
|
|
|
45
45
|
|
|
46
46
|
readonly value: Required<Init>;
|
|
47
47
|
|
|
48
|
-
get controlMessageTypes():
|
|
48
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
49
49
|
return ControlMessageTypes;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -64,10 +64,12 @@ export class ScrcpyOptions2_0
|
|
|
64
64
|
constructor(init: Init) {
|
|
65
65
|
this.value = { ...Defaults, ...init };
|
|
66
66
|
|
|
67
|
-
if (this.value.control
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
if (this.value.control) {
|
|
68
|
+
if (this.value.clipboardAutosync) {
|
|
69
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
70
|
+
new ClipboardStream(),
|
|
71
|
+
);
|
|
72
|
+
}
|
|
71
73
|
|
|
72
74
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
73
75
|
new AckClipboardHandler(),
|
|
@@ -129,8 +131,9 @@ export class ScrcpyOptions2_0
|
|
|
129
131
|
serializeSetClipboardControlMessage(
|
|
130
132
|
message: ScrcpySetClipboardControlMessage,
|
|
131
133
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
132
|
-
return
|
|
134
|
+
return serializeSetClipboardControlMessage(
|
|
133
135
|
message,
|
|
136
|
+
this.#ackClipboardHandler,
|
|
134
137
|
);
|
|
135
138
|
}
|
|
136
139
|
|
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<true>>;
|
package/src/2_1/options.ts
CHANGED
|
@@ -3,7 +3,6 @@ import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
5
|
ScrcpyAudioStreamMetadata,
|
|
6
|
-
ScrcpyControlMessageType,
|
|
7
6
|
ScrcpyDisplay,
|
|
8
7
|
ScrcpyEncoder,
|
|
9
8
|
ScrcpyMediaStreamPacket,
|
|
@@ -34,6 +33,7 @@ import {
|
|
|
34
33
|
serialize,
|
|
35
34
|
serializeBackOrScreenOnControlMessage,
|
|
36
35
|
serializeInjectTouchControlMessage,
|
|
36
|
+
serializeSetClipboardControlMessage,
|
|
37
37
|
setListDisplays,
|
|
38
38
|
setListEncoders,
|
|
39
39
|
} from "./impl/index.js";
|
|
@@ -45,7 +45,7 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
|
45
45
|
|
|
46
46
|
readonly value: Required<Init<TVideo>>;
|
|
47
47
|
|
|
48
|
-
get controlMessageTypes():
|
|
48
|
+
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
49
49
|
return ControlMessageTypes;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -64,10 +64,12 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
|
64
64
|
constructor(init: Init<TVideo>) {
|
|
65
65
|
this.value = { ...Defaults, ...init } as never;
|
|
66
66
|
|
|
67
|
-
if (this.value.control
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
if (this.value.control) {
|
|
68
|
+
if (this.value.clipboardAutosync) {
|
|
69
|
+
this.#clipboard = this.#deviceMessageParsers.add(
|
|
70
|
+
new ClipboardStream(),
|
|
71
|
+
);
|
|
72
|
+
}
|
|
71
73
|
|
|
72
74
|
this.#ackClipboardHandler = this.#deviceMessageParsers.add(
|
|
73
75
|
new AckClipboardHandler(),
|
|
@@ -129,8 +131,9 @@ export class ScrcpyOptions2_1<TVideo extends boolean>
|
|
|
129
131
|
serializeSetClipboardControlMessage(
|
|
130
132
|
message: ScrcpySetClipboardControlMessage,
|
|
131
133
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
132
|
-
return
|
|
134
|
+
return serializeSetClipboardControlMessage(
|
|
133
135
|
message,
|
|
136
|
+
this.#ackClipboardHandler,
|
|
134
137
|
);
|
|
135
138
|
}
|
|
136
139
|
|
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";
|