@yume-chan/scrcpy 3.0.0-beta.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/esm/1_15/impl/codec-options.d.ts +12 -11
- package/esm/1_15/impl/codec-options.d.ts.map +1 -1
- package/esm/1_15/impl/codec-options.js +50 -11
- package/esm/1_15/impl/codec-options.js.map +1 -1
- 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/index.d.ts +2 -0
- package/esm/1_15/impl/index.d.ts.map +1 -1
- package/esm/1_15/impl/index.js +2 -0
- package/esm/1_15/impl/index.js.map +1 -1
- package/esm/1_15/impl/init.d.ts +11 -11
- package/esm/1_15/impl/init.d.ts.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/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 +12 -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_17/options.d.ts +11 -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/init.d.ts +3 -3
- package/esm/1_18/impl/init.d.ts.map +1 -1
- package/esm/1_18/options.d.ts +11 -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_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/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/options.d.ts +11 -9
- package/esm/1_21/options.d.ts.map +1 -1
- package/esm/1_21/options.js +20 -2
- package/esm/1_21/options.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 +11 -9
- package/esm/1_22/options.d.ts.map +1 -1
- package/esm/1_22/options.js +21 -3
- package/esm/1_22/options.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 +11 -9
- package/esm/1_23/options.d.ts.map +1 -1
- package/esm/1_23/options.js +21 -3
- package/esm/1_23/options.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 +11 -9
- package/esm/1_24/options.d.ts.map +1 -1
- package/esm/1_24/options.js +21 -3
- package/esm/1_24/options.js.map +1 -1
- package/esm/1_25/options.d.ts +11 -9
- package/esm/1_25/options.d.ts.map +1 -1
- package/esm/1_25/options.js +21 -3
- 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 +4 -10
- 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/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 +28 -39
- 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 +19 -20
- package/esm/2_0/options.d.ts.map +1 -1
- package/esm/2_0/options.js +22 -4
- 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.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 +21 -22
- package/esm/2_1/options.d.ts.map +1 -1
- package/esm/2_1/options.js +22 -4
- package/esm/2_1/options.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.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 +21 -22
- package/esm/2_2/options.d.ts.map +1 -1
- package/esm/2_2/options.js +22 -7
- 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 +21 -22
- package/esm/2_3/options.d.ts.map +1 -1
- package/esm/2_3/options.js +22 -7
- package/esm/2_3/options.js.map +1 -1
- package/esm/2_4/options.d.ts +22 -23
- package/esm/2_4/options.d.ts.map +1 -1
- package/esm/2_4/options.js +25 -7
- package/esm/2_4/options.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.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 +22 -23
- package/esm/2_6/options.d.ts.map +1 -1
- package/esm/2_6/options.js +25 -10
- package/esm/2_6/options.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/options.d.ts +22 -23
- package/esm/2_7/options.d.ts.map +1 -1
- package/esm/2_7/options.js +25 -10
- package/esm/2_7/options.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 +4 -8
- 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 +43 -45
- package/esm/3_0/options.d.ts.map +1 -1
- package/esm/3_0/options.js +25 -10
- package/esm/3_0/options.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.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/options.d.ts +43 -45
- package/esm/3_1/options.d.ts.map +1 -1
- package/esm/3_1/options.js +25 -10
- 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.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 +43 -45
- package/esm/3_2/options.d.ts.map +1 -1
- package/esm/3_2/options.js +25 -10
- package/esm/3_2/options.js.map +1 -1
- package/esm/3_3_1/options.d.ts +43 -45
- package/esm/3_3_1/options.d.ts.map +1 -1
- package/esm/3_3_1/options.js +25 -10
- package/esm/3_3_1/options.js.map +1 -1
- 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/base/control-message-type-value.d.ts +5 -0
- package/esm/base/control-message-type-value.d.ts.map +1 -1
- package/esm/base/control-message-type-value.js +5 -0
- package/esm/base/control-message-type-value.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 +6 -4
- 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 -1
- package/esm/control/index.d.ts.map +1 -1
- package/esm/control/index.js +2 -1
- package/esm/control/index.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 +8 -2
- package/esm/control/serializer.d.ts.map +1 -1
- package/esm/control/serializer.js +30 -4
- package/esm/control/serializer.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 +2 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -0
- 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/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 +4 -0
- package/esm/video/index.d.ts.map +1 -1
- package/esm/video/index.js +12 -0
- package/esm/video/index.js.map +1 -1
- package/esm/video/size.d.ts +8 -9
- package/esm/video/size.d.ts.map +1 -1
- package/esm/video/size.js +2 -2
- package/esm/video/size.js.map +1 -1
- package/package.json +7 -7
- package/src/1_15/impl/codec-options.ts +68 -17
- package/src/1_15/impl/compute-option-values.ts +26 -0
- package/src/1_15/impl/index.ts +2 -0
- package/src/1_15/impl/init.ts +11 -11
- 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/set-display-power.ts +29 -0
- package/src/1_15/options.ts +45 -9
- package/src/1_17/options.ts +46 -10
- package/src/1_18/impl/init.ts +3 -3
- package/src/1_18/options.ts +46 -10
- package/src/1_21/impl/compute-option-values.ts +43 -0
- package/src/1_21/impl/index.ts +10 -1
- package/src/1_21/impl/init.ts +1 -1
- package/src/1_21/impl/serialize.ts +3 -3
- package/src/1_21/options.ts +46 -10
- 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 +47 -11
- 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 +47 -11
- package/src/1_24/impl/init.ts +1 -1
- package/src/1_24/options.ts +47 -11
- package/src/1_25/options.ts +47 -11
- package/src/2_0/impl/defaults.ts +19 -23
- package/src/2_0/impl/index.ts +5 -1
- package/src/2_0/impl/init.ts +8 -8
- package/src/2_0/impl/parse-audio-stream-metadata.ts +34 -44
- package/src/2_0/impl/parse-video-stream-metadata.ts +24 -21
- package/src/2_0/options.ts +63 -12
- package/src/2_1/impl/defaults.ts +1 -1
- package/src/2_1/impl/init.ts +3 -3
- package/src/2_1/options.ts +66 -15
- 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 +1 -1
- package/src/2_2/impl/index.ts +2 -0
- package/src/2_2/impl/init.ts +5 -5
- package/src/2_2/options.ts +66 -19
- package/src/2_3/impl/index.ts +4 -0
- package/src/2_3/impl/init.ts +2 -5
- package/src/2_3/impl/parse-audio-stream-metadata.ts +36 -0
- package/src/2_3/options.ts +66 -19
- package/src/2_4/options.ts +75 -23
- 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 +1 -1
- package/src/2_6/impl/index.ts +9 -0
- package/src/2_6/impl/init.ts +3 -6
- package/src/2_6/options.ts +75 -27
- package/src/2_7/impl/index.ts +1 -0
- package/src/2_7/options.ts +75 -27
- package/src/3_0/impl/defaults.ts +12 -14
- package/src/3_0/impl/index.ts +5 -0
- package/src/3_0/impl/init.ts +4 -7
- package/src/3_0/impl/set-display-power.ts +23 -0
- package/src/3_0/options.ts +75 -27
- package/src/3_1/impl/defaults.ts +1 -1
- package/src/3_1/impl/index.ts +1 -0
- package/src/3_1/impl/init.ts +2 -2
- package/src/3_1/options.ts +75 -27
- package/src/3_2/impl/defaults.ts +1 -1
- package/src/3_2/impl/index.ts +1 -0
- package/src/3_2/impl/init.ts +2 -5
- package/src/3_2/options.ts +75 -27
- package/src/3_3_1/options.ts +75 -27
- 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/base/control-message-type-value.ts +5 -0
- package/src/base/media.ts +12 -3
- package/src/base/options.ts +15 -5
- package/src/base/video.ts +2 -19
- package/src/control/boolean.ts +9 -0
- package/src/control/index.ts +2 -1
- package/src/control/resize-display.ts +16 -0
- package/src/control/serializer.ts +38 -8
- package/src/control/writer.ts +24 -6
- package/src/index.ts +2 -0
- package/src/latest.ts +4 -3
- package/src/utils/omit.ts +1 -1
- package/src/video/codec-id.ts +6 -0
- package/src/video/index.ts +19 -0
- package/src/video/size.ts +10 -4
- 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 -7
- package/esm/control/set-screen-power-mode.js.map +0 -1
- package/src/control/set-screen-power-mode.ts +0 -17
package/src/1_21/options.ts
CHANGED
|
@@ -2,25 +2,28 @@ 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
|
ScrcpyDisplay,
|
|
6
7
|
ScrcpyEncoder,
|
|
7
|
-
ScrcpyMediaStreamPacket,
|
|
8
8
|
ScrcpyOptions,
|
|
9
9
|
ScrcpyOptionsListEncoders,
|
|
10
10
|
ScrcpyScrollController,
|
|
11
11
|
ScrcpyVideoStream,
|
|
12
|
+
ScrcpyVideoStreamPacket,
|
|
12
13
|
} from "../base/index.js";
|
|
13
14
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
14
15
|
import type {
|
|
15
16
|
ScrcpyBackOrScreenOnControlMessage,
|
|
16
17
|
ScrcpyInjectTouchControlMessage,
|
|
17
18
|
ScrcpySetClipboardControlMessage,
|
|
19
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
18
20
|
} from "../latest.js";
|
|
19
21
|
|
|
20
|
-
import type { Init } from "./impl/index.js";
|
|
22
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
21
23
|
import {
|
|
22
24
|
AckClipboardHandler,
|
|
23
25
|
ClipboardStream,
|
|
26
|
+
computeOptionValues,
|
|
24
27
|
ControlMessageTypes,
|
|
25
28
|
createMediaStreamTransformer,
|
|
26
29
|
createScrollController,
|
|
@@ -33,24 +36,31 @@ import {
|
|
|
33
36
|
serializeBackOrScreenOnControlMessage,
|
|
34
37
|
serializeInjectTouchControlMessage,
|
|
35
38
|
serializeSetClipboardControlMessage,
|
|
39
|
+
serializeSetDisplayPowerControlMessage,
|
|
36
40
|
setListDisplays,
|
|
37
41
|
setListEncoders,
|
|
38
42
|
} from "./impl/index.js";
|
|
39
43
|
|
|
40
|
-
export class ScrcpyOptions1_21
|
|
41
|
-
implements
|
|
44
|
+
export class ScrcpyOptions1_21<TInit extends Init = Init>
|
|
45
|
+
implements
|
|
46
|
+
ScrcpyOptions<ScrcpyOptions1_21.Value<TInit>>,
|
|
47
|
+
ScrcpyOptionsListEncoders
|
|
42
48
|
{
|
|
43
49
|
static readonly Defaults = Defaults;
|
|
44
50
|
|
|
45
|
-
readonly value:
|
|
51
|
+
readonly value: ScrcpyOptions1_21.Value<TInit>;
|
|
46
52
|
|
|
47
53
|
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
54
|
return ControlMessageTypes;
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
#clipboard: ClipboardStream | undefined;
|
|
52
|
-
get clipboard():
|
|
53
|
-
|
|
58
|
+
get clipboard(): MapBoolean<
|
|
59
|
+
this["value"]["clipboardAutosync"],
|
|
60
|
+
ReadableStream<string>,
|
|
61
|
+
undefined
|
|
62
|
+
> {
|
|
63
|
+
return this.#clipboard as never;
|
|
54
64
|
}
|
|
55
65
|
|
|
56
66
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
@@ -60,8 +70,8 @@ export class ScrcpyOptions1_21
|
|
|
60
70
|
return this.#deviceMessageParsers;
|
|
61
71
|
}
|
|
62
72
|
|
|
63
|
-
constructor(init:
|
|
64
|
-
this.value =
|
|
73
|
+
constructor(init: TInit) {
|
|
74
|
+
this.value = computeOptionValues(init, Defaults);
|
|
65
75
|
|
|
66
76
|
if (this.value.control) {
|
|
67
77
|
if (this.value.clipboardAutosync) {
|
|
@@ -104,7 +114,7 @@ export class ScrcpyOptions1_21
|
|
|
104
114
|
|
|
105
115
|
createMediaStreamTransformer(): TransformStream<
|
|
106
116
|
Uint8Array,
|
|
107
|
-
|
|
117
|
+
ScrcpyVideoStreamPacket
|
|
108
118
|
> {
|
|
109
119
|
return createMediaStreamTransformer(this.value);
|
|
110
120
|
}
|
|
@@ -112,25 +122,46 @@ export class ScrcpyOptions1_21
|
|
|
112
122
|
serializeInjectTouchControlMessage(
|
|
113
123
|
message: ScrcpyInjectTouchControlMessage,
|
|
114
124
|
): Uint8Array {
|
|
125
|
+
if (!this.value.control) {
|
|
126
|
+
throw new Error("control is disabled");
|
|
127
|
+
}
|
|
115
128
|
return serializeInjectTouchControlMessage(message);
|
|
116
129
|
}
|
|
117
130
|
|
|
118
131
|
serializeBackOrScreenOnControlMessage(
|
|
119
132
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
120
133
|
): Uint8Array | undefined {
|
|
134
|
+
if (!this.value.control) {
|
|
135
|
+
throw new Error("control is disabled");
|
|
136
|
+
}
|
|
121
137
|
return serializeBackOrScreenOnControlMessage(message);
|
|
122
138
|
}
|
|
123
139
|
|
|
124
140
|
serializeSetClipboardControlMessage(
|
|
125
141
|
message: ScrcpySetClipboardControlMessage,
|
|
126
142
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
143
|
+
if (!this.value.control) {
|
|
144
|
+
throw new Error("control is disabled");
|
|
145
|
+
}
|
|
127
146
|
return serializeSetClipboardControlMessage(
|
|
128
147
|
message,
|
|
129
148
|
this.#ackClipboardHandler,
|
|
130
149
|
);
|
|
131
150
|
}
|
|
132
151
|
|
|
152
|
+
serializeSetDisplayPowerControlMessage(
|
|
153
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
154
|
+
): Uint8Array {
|
|
155
|
+
if (!this.value.control) {
|
|
156
|
+
throw new Error("control is disabled");
|
|
157
|
+
}
|
|
158
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
159
|
+
}
|
|
160
|
+
|
|
133
161
|
createScrollController(): ScrcpyScrollController {
|
|
162
|
+
if (!this.value.control) {
|
|
163
|
+
throw new Error("control is disabled");
|
|
164
|
+
}
|
|
134
165
|
return createScrollController();
|
|
135
166
|
}
|
|
136
167
|
}
|
|
@@ -139,4 +170,9 @@ type Init_ = Init;
|
|
|
139
170
|
|
|
140
171
|
export namespace ScrcpyOptions1_21 {
|
|
141
172
|
export type Init = Init_;
|
|
173
|
+
|
|
174
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
175
|
+
TInit,
|
|
176
|
+
typeof Defaults
|
|
177
|
+
>;
|
|
142
178
|
}
|
package/src/1_22/impl/init.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { PrevImpl } from "./prev.js";
|
|
2
2
|
|
|
3
3
|
export interface Init extends PrevImpl.Init {
|
|
4
|
-
downsizeOnError?: boolean;
|
|
4
|
+
downsizeOnError?: boolean | undefined;
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Send device name and size at start of video stream.
|
|
8
8
|
*
|
|
9
9
|
* @default true
|
|
10
10
|
*/
|
|
11
|
-
sendDeviceMeta?: boolean;
|
|
11
|
+
sendDeviceMeta?: boolean | undefined;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Send a `0` byte on start of video stream to detect connection issues
|
|
15
15
|
*
|
|
16
16
|
* @default true
|
|
17
17
|
*/
|
|
18
|
-
sendDummyByte?: boolean;
|
|
18
|
+
sendDummyByte?: boolean | undefined;
|
|
19
19
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { ReadableStream } from "@yume-chan/stream-extra";
|
|
2
2
|
|
|
3
|
-
import type { ScrcpyVideoStream } from "../../base/
|
|
4
|
-
import { ScrcpyVideoCodecId } from "../../
|
|
3
|
+
import type { ScrcpyVideoStream } from "../../base/index.js";
|
|
4
|
+
import { ScrcpyVideoCodecId } from "../../video/index.js";
|
|
5
5
|
|
|
6
6
|
import type { Init } from "./init.js";
|
|
7
7
|
import { PrevImpl } from "./prev.js";
|
|
8
8
|
|
|
9
9
|
export async function parseVideoStreamMetadata(
|
|
10
|
-
options: Pick<Init, "sendDeviceMeta">,
|
|
11
10
|
stream: ReadableStream<Uint8Array>,
|
|
11
|
+
sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>,
|
|
12
12
|
): Promise<ScrcpyVideoStream> {
|
|
13
|
-
if (!
|
|
13
|
+
if (!sendDeviceMeta) {
|
|
14
14
|
return { stream, metadata: { codec: ScrcpyVideoCodecId.H264 } };
|
|
15
15
|
} else {
|
|
16
16
|
return PrevImpl.parseVideoStreamMetadata(stream);
|
package/src/1_22/options.ts
CHANGED
|
@@ -2,25 +2,28 @@ 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
|
ScrcpyDisplay,
|
|
6
7
|
ScrcpyEncoder,
|
|
7
|
-
ScrcpyMediaStreamPacket,
|
|
8
8
|
ScrcpyOptions,
|
|
9
9
|
ScrcpyOptionsListEncoders,
|
|
10
10
|
ScrcpyScrollController,
|
|
11
11
|
ScrcpyVideoStream,
|
|
12
|
+
ScrcpyVideoStreamPacket,
|
|
12
13
|
} from "../base/index.js";
|
|
13
14
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
14
15
|
import type {
|
|
15
16
|
ScrcpyBackOrScreenOnControlMessage,
|
|
16
17
|
ScrcpyInjectTouchControlMessage,
|
|
17
18
|
ScrcpySetClipboardControlMessage,
|
|
19
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
18
20
|
} from "../latest.js";
|
|
19
21
|
|
|
20
|
-
import type { Init } from "./impl/index.js";
|
|
22
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
21
23
|
import {
|
|
22
24
|
AckClipboardHandler,
|
|
23
25
|
ClipboardStream,
|
|
26
|
+
computeOptionValues,
|
|
24
27
|
ControlMessageTypes,
|
|
25
28
|
createMediaStreamTransformer,
|
|
26
29
|
createScrollController,
|
|
@@ -33,24 +36,31 @@ import {
|
|
|
33
36
|
serializeBackOrScreenOnControlMessage,
|
|
34
37
|
serializeInjectTouchControlMessage,
|
|
35
38
|
serializeSetClipboardControlMessage,
|
|
39
|
+
serializeSetDisplayPowerControlMessage,
|
|
36
40
|
setListDisplays,
|
|
37
41
|
setListEncoders,
|
|
38
42
|
} from "./impl/index.js";
|
|
39
43
|
|
|
40
|
-
export class ScrcpyOptions1_22
|
|
41
|
-
implements
|
|
44
|
+
export class ScrcpyOptions1_22<TInit extends Init = Init>
|
|
45
|
+
implements
|
|
46
|
+
ScrcpyOptions<ScrcpyOptions1_22.Value<TInit>>,
|
|
47
|
+
ScrcpyOptionsListEncoders
|
|
42
48
|
{
|
|
43
49
|
static readonly Defaults = Defaults;
|
|
44
50
|
|
|
45
|
-
readonly value:
|
|
51
|
+
readonly value: ScrcpyOptions1_22.Value<TInit>;
|
|
46
52
|
|
|
47
53
|
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
54
|
return ControlMessageTypes;
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
#clipboard: ClipboardStream | undefined;
|
|
52
|
-
get clipboard():
|
|
53
|
-
|
|
58
|
+
get clipboard(): MapBoolean<
|
|
59
|
+
this["value"]["clipboardAutosync"],
|
|
60
|
+
ReadableStream<string>,
|
|
61
|
+
undefined
|
|
62
|
+
> {
|
|
63
|
+
return this.#clipboard as never;
|
|
54
64
|
}
|
|
55
65
|
|
|
56
66
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
@@ -60,8 +70,8 @@ export class ScrcpyOptions1_22
|
|
|
60
70
|
return this.#deviceMessageParsers;
|
|
61
71
|
}
|
|
62
72
|
|
|
63
|
-
constructor(init:
|
|
64
|
-
this.value =
|
|
73
|
+
constructor(init: TInit) {
|
|
74
|
+
this.value = computeOptionValues(init, Defaults);
|
|
65
75
|
|
|
66
76
|
if (this.value.control) {
|
|
67
77
|
if (this.value.clipboardAutosync) {
|
|
@@ -99,12 +109,12 @@ export class ScrcpyOptions1_22
|
|
|
99
109
|
parseVideoStreamMetadata(
|
|
100
110
|
stream: ReadableStream<Uint8Array>,
|
|
101
111
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
102
|
-
return parseVideoStreamMetadata(this.value
|
|
112
|
+
return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta);
|
|
103
113
|
}
|
|
104
114
|
|
|
105
115
|
createMediaStreamTransformer(): TransformStream<
|
|
106
116
|
Uint8Array,
|
|
107
|
-
|
|
117
|
+
ScrcpyVideoStreamPacket
|
|
108
118
|
> {
|
|
109
119
|
return createMediaStreamTransformer(this.value);
|
|
110
120
|
}
|
|
@@ -112,25 +122,46 @@ export class ScrcpyOptions1_22
|
|
|
112
122
|
serializeInjectTouchControlMessage(
|
|
113
123
|
message: ScrcpyInjectTouchControlMessage,
|
|
114
124
|
): Uint8Array {
|
|
125
|
+
if (!this.value.control) {
|
|
126
|
+
throw new Error("control is disabled");
|
|
127
|
+
}
|
|
115
128
|
return serializeInjectTouchControlMessage(message);
|
|
116
129
|
}
|
|
117
130
|
|
|
118
131
|
serializeBackOrScreenOnControlMessage(
|
|
119
132
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
120
133
|
): Uint8Array | undefined {
|
|
134
|
+
if (!this.value.control) {
|
|
135
|
+
throw new Error("control is disabled");
|
|
136
|
+
}
|
|
121
137
|
return serializeBackOrScreenOnControlMessage(message);
|
|
122
138
|
}
|
|
123
139
|
|
|
124
140
|
serializeSetClipboardControlMessage(
|
|
125
141
|
message: ScrcpySetClipboardControlMessage,
|
|
126
142
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
143
|
+
if (!this.value.control) {
|
|
144
|
+
throw new Error("control is disabled");
|
|
145
|
+
}
|
|
127
146
|
return serializeSetClipboardControlMessage(
|
|
128
147
|
message,
|
|
129
148
|
this.#ackClipboardHandler,
|
|
130
149
|
);
|
|
131
150
|
}
|
|
132
151
|
|
|
152
|
+
serializeSetDisplayPowerControlMessage(
|
|
153
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
154
|
+
): Uint8Array {
|
|
155
|
+
if (!this.value.control) {
|
|
156
|
+
throw new Error("control is disabled");
|
|
157
|
+
}
|
|
158
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
159
|
+
}
|
|
160
|
+
|
|
133
161
|
createScrollController(): ScrcpyScrollController {
|
|
162
|
+
if (!this.value.control) {
|
|
163
|
+
throw new Error("control is disabled");
|
|
164
|
+
}
|
|
134
165
|
return createScrollController();
|
|
135
166
|
}
|
|
136
167
|
}
|
|
@@ -139,4 +170,9 @@ type Init_ = Init;
|
|
|
139
170
|
|
|
140
171
|
export namespace ScrcpyOptions1_22 {
|
|
141
172
|
export type Init = Init_;
|
|
173
|
+
|
|
174
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
175
|
+
TInit,
|
|
176
|
+
typeof Defaults
|
|
177
|
+
>;
|
|
142
178
|
}
|
package/src/1_23/impl/init.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
TransformStream,
|
|
4
4
|
} from "@yume-chan/stream-extra";
|
|
5
5
|
|
|
6
|
-
import type {
|
|
6
|
+
import type { ScrcpyVideoStreamPacket } from "../../base/index.js";
|
|
7
7
|
|
|
8
8
|
import type { Init } from "./init.js";
|
|
9
9
|
import { PrevImpl } from "./prev.js";
|
|
@@ -12,8 +12,8 @@ export const PtsKeyframe = 1n << 62n;
|
|
|
12
12
|
|
|
13
13
|
export function createMediaStreamTransformer(
|
|
14
14
|
options: Pick<Init, "sendFrameMeta">,
|
|
15
|
-
): TransformStream<Uint8Array,
|
|
16
|
-
//
|
|
15
|
+
): TransformStream<Uint8Array, ScrcpyVideoStreamPacket> {
|
|
16
|
+
// Quick path for raw stream without frame meta
|
|
17
17
|
if (!options.sendFrameMeta) {
|
|
18
18
|
return new TransformStream({
|
|
19
19
|
transform(chunk, controller) {
|
package/src/1_23/options.ts
CHANGED
|
@@ -2,25 +2,28 @@ 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
|
ScrcpyDisplay,
|
|
6
7
|
ScrcpyEncoder,
|
|
7
|
-
ScrcpyMediaStreamPacket,
|
|
8
8
|
ScrcpyOptions,
|
|
9
9
|
ScrcpyOptionsListEncoders,
|
|
10
10
|
ScrcpyScrollController,
|
|
11
11
|
ScrcpyVideoStream,
|
|
12
|
+
ScrcpyVideoStreamPacket,
|
|
12
13
|
} from "../base/index.js";
|
|
13
14
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
14
15
|
import type {
|
|
15
16
|
ScrcpyBackOrScreenOnControlMessage,
|
|
16
17
|
ScrcpyInjectTouchControlMessage,
|
|
17
18
|
ScrcpySetClipboardControlMessage,
|
|
19
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
18
20
|
} from "../latest.js";
|
|
19
21
|
|
|
20
|
-
import type { Init } from "./impl/index.js";
|
|
22
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
21
23
|
import {
|
|
22
24
|
AckClipboardHandler,
|
|
23
25
|
ClipboardStream,
|
|
26
|
+
computeOptionValues,
|
|
24
27
|
ControlMessageTypes,
|
|
25
28
|
createMediaStreamTransformer,
|
|
26
29
|
createScrollController,
|
|
@@ -33,24 +36,31 @@ import {
|
|
|
33
36
|
serializeBackOrScreenOnControlMessage,
|
|
34
37
|
serializeInjectTouchControlMessage,
|
|
35
38
|
serializeSetClipboardControlMessage,
|
|
39
|
+
serializeSetDisplayPowerControlMessage,
|
|
36
40
|
setListDisplays,
|
|
37
41
|
setListEncoders,
|
|
38
42
|
} from "./impl/index.js";
|
|
39
43
|
|
|
40
|
-
export class ScrcpyOptions1_23
|
|
41
|
-
implements
|
|
44
|
+
export class ScrcpyOptions1_23<TInit extends Init = Init>
|
|
45
|
+
implements
|
|
46
|
+
ScrcpyOptions<ScrcpyOptions1_23.Value<TInit>>,
|
|
47
|
+
ScrcpyOptionsListEncoders
|
|
42
48
|
{
|
|
43
49
|
static readonly Defaults = Defaults;
|
|
44
50
|
|
|
45
|
-
readonly value:
|
|
51
|
+
readonly value: ScrcpyOptions1_23.Value<TInit>;
|
|
46
52
|
|
|
47
53
|
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
54
|
return ControlMessageTypes;
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
#clipboard: ClipboardStream | undefined;
|
|
52
|
-
get clipboard():
|
|
53
|
-
|
|
58
|
+
get clipboard(): MapBoolean<
|
|
59
|
+
this["value"]["clipboardAutosync"],
|
|
60
|
+
ReadableStream<string>,
|
|
61
|
+
undefined
|
|
62
|
+
> {
|
|
63
|
+
return this.#clipboard as never;
|
|
54
64
|
}
|
|
55
65
|
|
|
56
66
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
@@ -60,8 +70,8 @@ export class ScrcpyOptions1_23
|
|
|
60
70
|
return this.#deviceMessageParsers;
|
|
61
71
|
}
|
|
62
72
|
|
|
63
|
-
constructor(init:
|
|
64
|
-
this.value =
|
|
73
|
+
constructor(init: TInit) {
|
|
74
|
+
this.value = computeOptionValues(init, Defaults);
|
|
65
75
|
|
|
66
76
|
if (this.value.control) {
|
|
67
77
|
if (this.value.clipboardAutosync) {
|
|
@@ -99,12 +109,12 @@ export class ScrcpyOptions1_23
|
|
|
99
109
|
parseVideoStreamMetadata(
|
|
100
110
|
stream: ReadableStream<Uint8Array>,
|
|
101
111
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
102
|
-
return parseVideoStreamMetadata(this.value
|
|
112
|
+
return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta);
|
|
103
113
|
}
|
|
104
114
|
|
|
105
115
|
createMediaStreamTransformer(): TransformStream<
|
|
106
116
|
Uint8Array,
|
|
107
|
-
|
|
117
|
+
ScrcpyVideoStreamPacket
|
|
108
118
|
> {
|
|
109
119
|
return createMediaStreamTransformer(this.value);
|
|
110
120
|
}
|
|
@@ -112,25 +122,46 @@ export class ScrcpyOptions1_23
|
|
|
112
122
|
serializeInjectTouchControlMessage(
|
|
113
123
|
message: ScrcpyInjectTouchControlMessage,
|
|
114
124
|
): Uint8Array {
|
|
125
|
+
if (!this.value.control) {
|
|
126
|
+
throw new Error("control is disabled");
|
|
127
|
+
}
|
|
115
128
|
return serializeInjectTouchControlMessage(message);
|
|
116
129
|
}
|
|
117
130
|
|
|
118
131
|
serializeBackOrScreenOnControlMessage(
|
|
119
132
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
120
133
|
): Uint8Array | undefined {
|
|
134
|
+
if (!this.value.control) {
|
|
135
|
+
throw new Error("control is disabled");
|
|
136
|
+
}
|
|
121
137
|
return serializeBackOrScreenOnControlMessage(message);
|
|
122
138
|
}
|
|
123
139
|
|
|
124
140
|
serializeSetClipboardControlMessage(
|
|
125
141
|
message: ScrcpySetClipboardControlMessage,
|
|
126
142
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
143
|
+
if (!this.value.control) {
|
|
144
|
+
throw new Error("control is disabled");
|
|
145
|
+
}
|
|
127
146
|
return serializeSetClipboardControlMessage(
|
|
128
147
|
message,
|
|
129
148
|
this.#ackClipboardHandler,
|
|
130
149
|
);
|
|
131
150
|
}
|
|
132
151
|
|
|
152
|
+
serializeSetDisplayPowerControlMessage(
|
|
153
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
154
|
+
): Uint8Array {
|
|
155
|
+
if (!this.value.control) {
|
|
156
|
+
throw new Error("control is disabled");
|
|
157
|
+
}
|
|
158
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
159
|
+
}
|
|
160
|
+
|
|
133
161
|
createScrollController(): ScrcpyScrollController {
|
|
162
|
+
if (!this.value.control) {
|
|
163
|
+
throw new Error("control is disabled");
|
|
164
|
+
}
|
|
134
165
|
return createScrollController();
|
|
135
166
|
}
|
|
136
167
|
}
|
|
@@ -139,4 +170,9 @@ type Init_ = Init;
|
|
|
139
170
|
|
|
140
171
|
export namespace ScrcpyOptions1_23 {
|
|
141
172
|
export type Init = Init_;
|
|
173
|
+
|
|
174
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
175
|
+
TInit,
|
|
176
|
+
typeof Defaults
|
|
177
|
+
>;
|
|
142
178
|
}
|
package/src/1_24/impl/init.ts
CHANGED
package/src/1_24/options.ts
CHANGED
|
@@ -2,25 +2,28 @@ 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
|
ScrcpyDisplay,
|
|
6
7
|
ScrcpyEncoder,
|
|
7
|
-
ScrcpyMediaStreamPacket,
|
|
8
8
|
ScrcpyOptions,
|
|
9
9
|
ScrcpyOptionsListEncoders,
|
|
10
10
|
ScrcpyScrollController,
|
|
11
11
|
ScrcpyVideoStream,
|
|
12
|
+
ScrcpyVideoStreamPacket,
|
|
12
13
|
} from "../base/index.js";
|
|
13
14
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
14
15
|
import type {
|
|
15
16
|
ScrcpyBackOrScreenOnControlMessage,
|
|
16
17
|
ScrcpyInjectTouchControlMessage,
|
|
17
18
|
ScrcpySetClipboardControlMessage,
|
|
19
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
18
20
|
} from "../latest.js";
|
|
19
21
|
|
|
20
|
-
import type { Init } from "./impl/index.js";
|
|
22
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
21
23
|
import {
|
|
22
24
|
AckClipboardHandler,
|
|
23
25
|
ClipboardStream,
|
|
26
|
+
computeOptionValues,
|
|
24
27
|
ControlMessageTypes,
|
|
25
28
|
createMediaStreamTransformer,
|
|
26
29
|
createScrollController,
|
|
@@ -33,24 +36,31 @@ import {
|
|
|
33
36
|
serializeBackOrScreenOnControlMessage,
|
|
34
37
|
serializeInjectTouchControlMessage,
|
|
35
38
|
serializeSetClipboardControlMessage,
|
|
39
|
+
serializeSetDisplayPowerControlMessage,
|
|
36
40
|
setListDisplays,
|
|
37
41
|
setListEncoders,
|
|
38
42
|
} from "./impl/index.js";
|
|
39
43
|
|
|
40
|
-
export class ScrcpyOptions1_24
|
|
41
|
-
implements
|
|
44
|
+
export class ScrcpyOptions1_24<TInit extends Init = Init>
|
|
45
|
+
implements
|
|
46
|
+
ScrcpyOptions<ScrcpyOptions1_24.Value<TInit>>,
|
|
47
|
+
ScrcpyOptionsListEncoders
|
|
42
48
|
{
|
|
43
49
|
static readonly Defaults = Defaults;
|
|
44
50
|
|
|
45
|
-
readonly value:
|
|
51
|
+
readonly value: ScrcpyOptions1_24.Value<TInit>;
|
|
46
52
|
|
|
47
53
|
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
48
54
|
return ControlMessageTypes;
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
#clipboard: ClipboardStream | undefined;
|
|
52
|
-
get clipboard():
|
|
53
|
-
|
|
58
|
+
get clipboard(): MapBoolean<
|
|
59
|
+
this["value"]["clipboardAutosync"],
|
|
60
|
+
ReadableStream<string>,
|
|
61
|
+
undefined
|
|
62
|
+
> {
|
|
63
|
+
return this.#clipboard as never;
|
|
54
64
|
}
|
|
55
65
|
|
|
56
66
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
@@ -60,8 +70,8 @@ export class ScrcpyOptions1_24
|
|
|
60
70
|
return this.#deviceMessageParsers;
|
|
61
71
|
}
|
|
62
72
|
|
|
63
|
-
constructor(init:
|
|
64
|
-
this.value =
|
|
73
|
+
constructor(init: TInit) {
|
|
74
|
+
this.value = computeOptionValues(init, Defaults);
|
|
65
75
|
|
|
66
76
|
if (this.value.control) {
|
|
67
77
|
if (this.value.clipboardAutosync) {
|
|
@@ -99,12 +109,12 @@ export class ScrcpyOptions1_24
|
|
|
99
109
|
parseVideoStreamMetadata(
|
|
100
110
|
stream: ReadableStream<Uint8Array>,
|
|
101
111
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
102
|
-
return parseVideoStreamMetadata(this.value
|
|
112
|
+
return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta);
|
|
103
113
|
}
|
|
104
114
|
|
|
105
115
|
createMediaStreamTransformer(): TransformStream<
|
|
106
116
|
Uint8Array,
|
|
107
|
-
|
|
117
|
+
ScrcpyVideoStreamPacket
|
|
108
118
|
> {
|
|
109
119
|
return createMediaStreamTransformer(this.value);
|
|
110
120
|
}
|
|
@@ -112,25 +122,46 @@ export class ScrcpyOptions1_24
|
|
|
112
122
|
serializeInjectTouchControlMessage(
|
|
113
123
|
message: ScrcpyInjectTouchControlMessage,
|
|
114
124
|
): Uint8Array {
|
|
125
|
+
if (!this.value.control) {
|
|
126
|
+
throw new Error("control is disabled");
|
|
127
|
+
}
|
|
115
128
|
return serializeInjectTouchControlMessage(message);
|
|
116
129
|
}
|
|
117
130
|
|
|
118
131
|
serializeBackOrScreenOnControlMessage(
|
|
119
132
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
120
133
|
): Uint8Array | undefined {
|
|
134
|
+
if (!this.value.control) {
|
|
135
|
+
throw new Error("control is disabled");
|
|
136
|
+
}
|
|
121
137
|
return serializeBackOrScreenOnControlMessage(message);
|
|
122
138
|
}
|
|
123
139
|
|
|
124
140
|
serializeSetClipboardControlMessage(
|
|
125
141
|
message: ScrcpySetClipboardControlMessage,
|
|
126
142
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
143
|
+
if (!this.value.control) {
|
|
144
|
+
throw new Error("control is disabled");
|
|
145
|
+
}
|
|
127
146
|
return serializeSetClipboardControlMessage(
|
|
128
147
|
message,
|
|
129
148
|
this.#ackClipboardHandler,
|
|
130
149
|
);
|
|
131
150
|
}
|
|
132
151
|
|
|
152
|
+
serializeSetDisplayPowerControlMessage(
|
|
153
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
154
|
+
): Uint8Array {
|
|
155
|
+
if (!this.value.control) {
|
|
156
|
+
throw new Error("control is disabled");
|
|
157
|
+
}
|
|
158
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
159
|
+
}
|
|
160
|
+
|
|
133
161
|
createScrollController(): ScrcpyScrollController {
|
|
162
|
+
if (!this.value.control) {
|
|
163
|
+
throw new Error("control is disabled");
|
|
164
|
+
}
|
|
134
165
|
return createScrollController();
|
|
135
166
|
}
|
|
136
167
|
}
|
|
@@ -139,4 +170,9 @@ type Init_ = Init;
|
|
|
139
170
|
|
|
140
171
|
export namespace ScrcpyOptions1_24 {
|
|
141
172
|
export type Init = Init_;
|
|
173
|
+
|
|
174
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
175
|
+
TInit,
|
|
176
|
+
typeof Defaults
|
|
177
|
+
>;
|
|
142
178
|
}
|