@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/3_2/options.ts
CHANGED
|
@@ -2,69 +2,85 @@ import type { MaybePromiseLike } from "@yume-chan/async";
|
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
|
+
MapBoolean,
|
|
5
6
|
ScrcpyAudioStreamMetadata,
|
|
6
7
|
ScrcpyDisplay,
|
|
7
8
|
ScrcpyEncoder,
|
|
8
|
-
ScrcpyMediaStreamPacket,
|
|
9
9
|
ScrcpyOptions,
|
|
10
10
|
ScrcpyOptionsListEncoders,
|
|
11
11
|
ScrcpyScrollController,
|
|
12
12
|
ScrcpyVideoStream,
|
|
13
|
+
ScrcpyVideoStreamPacket,
|
|
13
14
|
} from "../base/index.js";
|
|
14
15
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
15
16
|
import type {
|
|
16
17
|
ScrcpyBackOrScreenOnControlMessage,
|
|
17
18
|
ScrcpyInjectTouchControlMessage,
|
|
18
19
|
ScrcpySetClipboardControlMessage,
|
|
20
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
19
21
|
ScrcpyUHidCreateControlMessage,
|
|
20
22
|
ScrcpyUHidOutputDeviceMessage,
|
|
21
23
|
} from "../latest.js";
|
|
22
24
|
|
|
23
|
-
import type { Init } from "./impl/index.js";
|
|
25
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
24
26
|
import {
|
|
25
27
|
AckClipboardHandler,
|
|
26
28
|
ClipboardStream,
|
|
29
|
+
computeOptionValues,
|
|
27
30
|
ControlMessageTypes,
|
|
28
31
|
createMediaStreamTransformer,
|
|
29
32
|
createScrollController,
|
|
30
33
|
Defaults,
|
|
34
|
+
parseAudioCodecOption,
|
|
35
|
+
parseAudioMetadataCodec,
|
|
31
36
|
parseAudioStreamMetadata,
|
|
32
37
|
parseDisplay,
|
|
33
38
|
parseEncoder,
|
|
39
|
+
parseVideoCodecOption,
|
|
34
40
|
parseVideoStreamMetadata,
|
|
41
|
+
parseVideoStreamMetadataAsync,
|
|
35
42
|
serialize,
|
|
36
43
|
serializeBackOrScreenOnControlMessage,
|
|
37
44
|
serializeInjectTouchControlMessage,
|
|
38
45
|
serializeSetClipboardControlMessage,
|
|
46
|
+
serializeSetDisplayPowerControlMessage,
|
|
39
47
|
serializeUHidCreateControlMessage,
|
|
40
48
|
setListDisplays,
|
|
41
49
|
setListEncoders,
|
|
42
50
|
UHidOutputStream,
|
|
43
51
|
} from "./impl/index.js";
|
|
44
52
|
|
|
45
|
-
export class ScrcpyOptions3_2<
|
|
46
|
-
implements
|
|
53
|
+
export class ScrcpyOptions3_2<TInit extends Init = Init>
|
|
54
|
+
implements
|
|
55
|
+
ScrcpyOptions<ScrcpyOptions3_2.Value<TInit>>,
|
|
56
|
+
ScrcpyOptionsListEncoders
|
|
47
57
|
{
|
|
48
58
|
static readonly Defaults = Defaults;
|
|
49
59
|
|
|
50
|
-
readonly value:
|
|
60
|
+
readonly value: ScrcpyOptions3_2.Value<TInit>;
|
|
51
61
|
|
|
52
62
|
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
53
63
|
return ControlMessageTypes;
|
|
54
64
|
}
|
|
55
65
|
|
|
56
66
|
#clipboard: ClipboardStream | undefined;
|
|
57
|
-
get clipboard():
|
|
58
|
-
|
|
67
|
+
get clipboard(): MapBoolean<
|
|
68
|
+
this["value"]["clipboardAutosync"],
|
|
69
|
+
ReadableStream<string>,
|
|
70
|
+
undefined
|
|
71
|
+
> {
|
|
72
|
+
return this.#clipboard as never;
|
|
59
73
|
}
|
|
60
74
|
|
|
61
75
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
62
76
|
|
|
63
77
|
#uHidOutput: UHidOutputStream | undefined;
|
|
64
|
-
get uHidOutput():
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
get uHidOutput(): MapBoolean<
|
|
79
|
+
this["value"]["control"],
|
|
80
|
+
ReadableStream<ScrcpyUHidOutputDeviceMessage>,
|
|
81
|
+
undefined
|
|
82
|
+
> {
|
|
83
|
+
return this.#uHidOutput as never;
|
|
68
84
|
}
|
|
69
85
|
|
|
70
86
|
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
@@ -72,16 +88,8 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
|
|
|
72
88
|
return this.#deviceMessageParsers;
|
|
73
89
|
}
|
|
74
90
|
|
|
75
|
-
constructor(init:
|
|
76
|
-
this.value =
|
|
77
|
-
|
|
78
|
-
if (this.value.videoSource === "camera") {
|
|
79
|
-
this.value.control = false;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (this.value.audioDup) {
|
|
83
|
-
this.value.audioSource = "playback";
|
|
84
|
-
}
|
|
91
|
+
constructor(init: TInit) {
|
|
92
|
+
this.value = computeOptionValues(init, Defaults);
|
|
85
93
|
|
|
86
94
|
if (this.value.control) {
|
|
87
95
|
if (this.value.clipboardAutosync) {
|
|
@@ -101,7 +109,7 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
|
|
|
101
109
|
}
|
|
102
110
|
|
|
103
111
|
serialize(): string[] {
|
|
104
|
-
return serialize
|
|
112
|
+
return serialize(this.value, Defaults);
|
|
105
113
|
}
|
|
106
114
|
|
|
107
115
|
setListDisplays(): void {
|
|
@@ -123,18 +131,29 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
|
|
|
123
131
|
parseVideoStreamMetadata(
|
|
124
132
|
stream: ReadableStream<Uint8Array>,
|
|
125
133
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
126
|
-
return parseVideoStreamMetadata(
|
|
134
|
+
return parseVideoStreamMetadata(
|
|
135
|
+
stream,
|
|
136
|
+
this.value.sendDeviceMeta,
|
|
137
|
+
this.value.sendCodecMeta,
|
|
138
|
+
parseVideoCodecOption(this.value.videoCodec),
|
|
139
|
+
parseVideoStreamMetadataAsync,
|
|
140
|
+
);
|
|
127
141
|
}
|
|
128
142
|
|
|
129
143
|
parseAudioStreamMetadata(
|
|
130
144
|
stream: ReadableStream<Uint8Array>,
|
|
131
145
|
): MaybePromiseLike<ScrcpyAudioStreamMetadata> {
|
|
132
|
-
return parseAudioStreamMetadata(
|
|
146
|
+
return parseAudioStreamMetadata(
|
|
147
|
+
stream,
|
|
148
|
+
this.value.sendCodecMeta,
|
|
149
|
+
parseAudioMetadataCodec,
|
|
150
|
+
parseAudioCodecOption(this.value.audioCodec),
|
|
151
|
+
);
|
|
133
152
|
}
|
|
134
153
|
|
|
135
154
|
createMediaStreamTransformer(): TransformStream<
|
|
136
155
|
Uint8Array,
|
|
137
|
-
|
|
156
|
+
ScrcpyVideoStreamPacket
|
|
138
157
|
> {
|
|
139
158
|
return createMediaStreamTransformer(this.value);
|
|
140
159
|
}
|
|
@@ -142,37 +161,66 @@ export class ScrcpyOptions3_2<TVideo extends boolean>
|
|
|
142
161
|
serializeInjectTouchControlMessage(
|
|
143
162
|
message: ScrcpyInjectTouchControlMessage,
|
|
144
163
|
): Uint8Array {
|
|
164
|
+
if (!this.value.control) {
|
|
165
|
+
throw new Error("control is disabled");
|
|
166
|
+
}
|
|
145
167
|
return serializeInjectTouchControlMessage(message);
|
|
146
168
|
}
|
|
147
169
|
|
|
148
170
|
serializeBackOrScreenOnControlMessage(
|
|
149
171
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
150
172
|
): Uint8Array | undefined {
|
|
173
|
+
if (!this.value.control) {
|
|
174
|
+
throw new Error("control is disabled");
|
|
175
|
+
}
|
|
151
176
|
return serializeBackOrScreenOnControlMessage(message);
|
|
152
177
|
}
|
|
153
178
|
|
|
154
179
|
serializeSetClipboardControlMessage(
|
|
155
180
|
message: ScrcpySetClipboardControlMessage,
|
|
156
181
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
182
|
+
if (!this.value.control) {
|
|
183
|
+
throw new Error("control is disabled");
|
|
184
|
+
}
|
|
157
185
|
return serializeSetClipboardControlMessage(
|
|
158
186
|
message,
|
|
159
187
|
this.#ackClipboardHandler,
|
|
160
188
|
);
|
|
161
189
|
}
|
|
162
190
|
|
|
191
|
+
serializeSetDisplayPowerControlMessage(
|
|
192
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
193
|
+
): Uint8Array {
|
|
194
|
+
if (!this.value.control) {
|
|
195
|
+
throw new Error("control is disabled");
|
|
196
|
+
}
|
|
197
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
198
|
+
}
|
|
199
|
+
|
|
163
200
|
createScrollController(): ScrcpyScrollController {
|
|
201
|
+
if (!this.value.control) {
|
|
202
|
+
throw new Error("control is disabled");
|
|
203
|
+
}
|
|
164
204
|
return createScrollController();
|
|
165
205
|
}
|
|
166
206
|
|
|
167
207
|
serializeUHidCreateControlMessage(
|
|
168
208
|
message: ScrcpyUHidCreateControlMessage,
|
|
169
209
|
): Uint8Array {
|
|
210
|
+
if (!this.value.control) {
|
|
211
|
+
throw new Error("control is disabled");
|
|
212
|
+
}
|
|
170
213
|
return serializeUHidCreateControlMessage(message);
|
|
171
214
|
}
|
|
172
215
|
}
|
|
173
216
|
|
|
174
|
-
type Init_
|
|
217
|
+
type Init_ = Init;
|
|
175
218
|
|
|
176
219
|
export namespace ScrcpyOptions3_2 {
|
|
177
|
-
export type Init
|
|
220
|
+
export type Init = Init_;
|
|
221
|
+
|
|
222
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
223
|
+
TInit,
|
|
224
|
+
typeof Defaults
|
|
225
|
+
>;
|
|
178
226
|
}
|
package/src/3_3_1/options.ts
CHANGED
|
@@ -2,69 +2,85 @@ import type { MaybePromiseLike } from "@yume-chan/async";
|
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
|
+
MapBoolean,
|
|
5
6
|
ScrcpyAudioStreamMetadata,
|
|
6
7
|
ScrcpyDisplay,
|
|
7
8
|
ScrcpyEncoder,
|
|
8
|
-
ScrcpyMediaStreamPacket,
|
|
9
9
|
ScrcpyOptions,
|
|
10
10
|
ScrcpyOptionsListEncoders,
|
|
11
11
|
ScrcpyScrollController,
|
|
12
12
|
ScrcpyVideoStream,
|
|
13
|
+
ScrcpyVideoStreamPacket,
|
|
13
14
|
} from "../base/index.js";
|
|
14
15
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
15
16
|
import type {
|
|
16
17
|
ScrcpyBackOrScreenOnControlMessage,
|
|
17
18
|
ScrcpyInjectTouchControlMessage,
|
|
18
19
|
ScrcpySetClipboardControlMessage,
|
|
20
|
+
ScrcpySetDisplayPowerControlMessage,
|
|
19
21
|
ScrcpyUHidCreateControlMessage,
|
|
20
22
|
ScrcpyUHidOutputDeviceMessage,
|
|
21
23
|
} from "../latest.js";
|
|
22
24
|
|
|
23
|
-
import type { Init } from "./impl/index.js";
|
|
25
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
24
26
|
import {
|
|
25
27
|
AckClipboardHandler,
|
|
26
28
|
ClipboardStream,
|
|
29
|
+
computeOptionValues,
|
|
27
30
|
ControlMessageTypes,
|
|
28
31
|
createMediaStreamTransformer,
|
|
29
32
|
createScrollController,
|
|
30
33
|
Defaults,
|
|
34
|
+
parseAudioCodecOption,
|
|
35
|
+
parseAudioMetadataCodec,
|
|
31
36
|
parseAudioStreamMetadata,
|
|
32
37
|
parseDisplay,
|
|
33
38
|
parseEncoder,
|
|
39
|
+
parseVideoCodecOption,
|
|
34
40
|
parseVideoStreamMetadata,
|
|
41
|
+
parseVideoStreamMetadataAsync,
|
|
35
42
|
serialize,
|
|
36
43
|
serializeBackOrScreenOnControlMessage,
|
|
37
44
|
serializeInjectTouchControlMessage,
|
|
38
45
|
serializeSetClipboardControlMessage,
|
|
46
|
+
serializeSetDisplayPowerControlMessage,
|
|
39
47
|
serializeUHidCreateControlMessage,
|
|
40
48
|
setListDisplays,
|
|
41
49
|
setListEncoders,
|
|
42
50
|
UHidOutputStream,
|
|
43
51
|
} from "./impl/index.js";
|
|
44
52
|
|
|
45
|
-
export class ScrcpyOptions3_3_1<
|
|
46
|
-
implements
|
|
53
|
+
export class ScrcpyOptions3_3_1<TInit extends Init = Init>
|
|
54
|
+
implements
|
|
55
|
+
ScrcpyOptions<ScrcpyOptions3_3_1.Value<TInit>>,
|
|
56
|
+
ScrcpyOptionsListEncoders
|
|
47
57
|
{
|
|
48
58
|
static readonly Defaults = Defaults;
|
|
49
59
|
|
|
50
|
-
readonly value:
|
|
60
|
+
readonly value: ScrcpyOptions3_3_1.Value<TInit>;
|
|
51
61
|
|
|
52
62
|
get controlMessageTypes(): typeof ControlMessageTypes {
|
|
53
63
|
return ControlMessageTypes;
|
|
54
64
|
}
|
|
55
65
|
|
|
56
66
|
#clipboard: ClipboardStream | undefined;
|
|
57
|
-
get clipboard():
|
|
58
|
-
|
|
67
|
+
get clipboard(): MapBoolean<
|
|
68
|
+
this["value"]["clipboardAutosync"],
|
|
69
|
+
ReadableStream<string>,
|
|
70
|
+
undefined
|
|
71
|
+
> {
|
|
72
|
+
return this.#clipboard as never;
|
|
59
73
|
}
|
|
60
74
|
|
|
61
75
|
#ackClipboardHandler: AckClipboardHandler | undefined;
|
|
62
76
|
|
|
63
77
|
#uHidOutput: UHidOutputStream | undefined;
|
|
64
|
-
get uHidOutput():
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
get uHidOutput(): MapBoolean<
|
|
79
|
+
this["value"]["control"],
|
|
80
|
+
ReadableStream<ScrcpyUHidOutputDeviceMessage>,
|
|
81
|
+
undefined
|
|
82
|
+
> {
|
|
83
|
+
return this.#uHidOutput as never;
|
|
68
84
|
}
|
|
69
85
|
|
|
70
86
|
#deviceMessageParsers = new ScrcpyDeviceMessageParsers();
|
|
@@ -72,16 +88,8 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
|
|
|
72
88
|
return this.#deviceMessageParsers;
|
|
73
89
|
}
|
|
74
90
|
|
|
75
|
-
constructor(init:
|
|
76
|
-
this.value =
|
|
77
|
-
|
|
78
|
-
if (this.value.videoSource === "camera") {
|
|
79
|
-
this.value.control = false;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (this.value.audioDup) {
|
|
83
|
-
this.value.audioSource = "playback";
|
|
84
|
-
}
|
|
91
|
+
constructor(init: TInit) {
|
|
92
|
+
this.value = computeOptionValues(init, Defaults);
|
|
85
93
|
|
|
86
94
|
if (this.value.control) {
|
|
87
95
|
if (this.value.clipboardAutosync) {
|
|
@@ -101,7 +109,7 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
|
|
|
101
109
|
}
|
|
102
110
|
|
|
103
111
|
serialize(): string[] {
|
|
104
|
-
return serialize
|
|
112
|
+
return serialize(this.value, Defaults);
|
|
105
113
|
}
|
|
106
114
|
|
|
107
115
|
setListDisplays(): void {
|
|
@@ -123,18 +131,29 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
|
|
|
123
131
|
parseVideoStreamMetadata(
|
|
124
132
|
stream: ReadableStream<Uint8Array>,
|
|
125
133
|
): MaybePromiseLike<ScrcpyVideoStream> {
|
|
126
|
-
return parseVideoStreamMetadata(
|
|
134
|
+
return parseVideoStreamMetadata(
|
|
135
|
+
stream,
|
|
136
|
+
this.value.sendDeviceMeta,
|
|
137
|
+
this.value.sendCodecMeta,
|
|
138
|
+
parseVideoCodecOption(this.value.videoCodec),
|
|
139
|
+
parseVideoStreamMetadataAsync,
|
|
140
|
+
);
|
|
127
141
|
}
|
|
128
142
|
|
|
129
143
|
parseAudioStreamMetadata(
|
|
130
144
|
stream: ReadableStream<Uint8Array>,
|
|
131
145
|
): MaybePromiseLike<ScrcpyAudioStreamMetadata> {
|
|
132
|
-
return parseAudioStreamMetadata(
|
|
146
|
+
return parseAudioStreamMetadata(
|
|
147
|
+
stream,
|
|
148
|
+
this.value.sendCodecMeta,
|
|
149
|
+
parseAudioMetadataCodec,
|
|
150
|
+
parseAudioCodecOption(this.value.audioCodec),
|
|
151
|
+
);
|
|
133
152
|
}
|
|
134
153
|
|
|
135
154
|
createMediaStreamTransformer(): TransformStream<
|
|
136
155
|
Uint8Array,
|
|
137
|
-
|
|
156
|
+
ScrcpyVideoStreamPacket
|
|
138
157
|
> {
|
|
139
158
|
return createMediaStreamTransformer(this.value);
|
|
140
159
|
}
|
|
@@ -142,37 +161,66 @@ export class ScrcpyOptions3_3_1<TVideo extends boolean>
|
|
|
142
161
|
serializeInjectTouchControlMessage(
|
|
143
162
|
message: ScrcpyInjectTouchControlMessage,
|
|
144
163
|
): Uint8Array {
|
|
164
|
+
if (!this.value.control) {
|
|
165
|
+
throw new Error("control is disabled");
|
|
166
|
+
}
|
|
145
167
|
return serializeInjectTouchControlMessage(message);
|
|
146
168
|
}
|
|
147
169
|
|
|
148
170
|
serializeBackOrScreenOnControlMessage(
|
|
149
171
|
message: ScrcpyBackOrScreenOnControlMessage,
|
|
150
172
|
): Uint8Array | undefined {
|
|
173
|
+
if (!this.value.control) {
|
|
174
|
+
throw new Error("control is disabled");
|
|
175
|
+
}
|
|
151
176
|
return serializeBackOrScreenOnControlMessage(message);
|
|
152
177
|
}
|
|
153
178
|
|
|
154
179
|
serializeSetClipboardControlMessage(
|
|
155
180
|
message: ScrcpySetClipboardControlMessage,
|
|
156
181
|
): Uint8Array | [Uint8Array, Promise<void>] {
|
|
182
|
+
if (!this.value.control) {
|
|
183
|
+
throw new Error("control is disabled");
|
|
184
|
+
}
|
|
157
185
|
return serializeSetClipboardControlMessage(
|
|
158
186
|
message,
|
|
159
187
|
this.#ackClipboardHandler,
|
|
160
188
|
);
|
|
161
189
|
}
|
|
162
190
|
|
|
191
|
+
serializeSetDisplayPowerControlMessage(
|
|
192
|
+
message: ScrcpySetDisplayPowerControlMessage,
|
|
193
|
+
): Uint8Array {
|
|
194
|
+
if (!this.value.control) {
|
|
195
|
+
throw new Error("control is disabled");
|
|
196
|
+
}
|
|
197
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
198
|
+
}
|
|
199
|
+
|
|
163
200
|
createScrollController(): ScrcpyScrollController {
|
|
201
|
+
if (!this.value.control) {
|
|
202
|
+
throw new Error("control is disabled");
|
|
203
|
+
}
|
|
164
204
|
return createScrollController();
|
|
165
205
|
}
|
|
166
206
|
|
|
167
207
|
serializeUHidCreateControlMessage(
|
|
168
208
|
message: ScrcpyUHidCreateControlMessage,
|
|
169
209
|
): Uint8Array {
|
|
210
|
+
if (!this.value.control) {
|
|
211
|
+
throw new Error("control is disabled");
|
|
212
|
+
}
|
|
170
213
|
return serializeUHidCreateControlMessage(message);
|
|
171
214
|
}
|
|
172
215
|
}
|
|
173
216
|
|
|
174
|
-
type Init_
|
|
217
|
+
type Init_ = Init;
|
|
175
218
|
|
|
176
219
|
export namespace ScrcpyOptions3_3_1 {
|
|
177
|
-
export type Init
|
|
220
|
+
export type Init = Init_;
|
|
221
|
+
|
|
222
|
+
export type Value<TInit extends Init> = ComputeOptionTypes<
|
|
223
|
+
TInit,
|
|
224
|
+
typeof Defaults
|
|
225
|
+
>;
|
|
178
226
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ComputeOptionTypes as ComputeOptionTypes1_15 } from "../../1_15/impl/index.js";
|
|
2
|
+
import { computeOptionValues as computeOptionValues1_15 } from "../../1_15/impl/index.js";
|
|
3
|
+
|
|
4
|
+
import { PrevImpl } from "./prev.js";
|
|
5
|
+
|
|
6
|
+
export type ComputeOptionTypes<
|
|
7
|
+
T extends object,
|
|
8
|
+
TDefaults extends object,
|
|
9
|
+
> = PrevImpl.OverrideAudioSource<
|
|
10
|
+
PrevImpl.OverrideClipboardAutosync<ComputeOptionTypes1_15<T, TDefaults>>
|
|
11
|
+
>;
|
|
12
|
+
|
|
13
|
+
export function computeOptionValues<
|
|
14
|
+
T extends {
|
|
15
|
+
videoSource?: string | undefined;
|
|
16
|
+
control?: boolean | undefined;
|
|
17
|
+
audioDup?: boolean | undefined;
|
|
18
|
+
audioSource?: string | undefined;
|
|
19
|
+
},
|
|
20
|
+
TDefaults extends {
|
|
21
|
+
videoSource: string;
|
|
22
|
+
control: boolean;
|
|
23
|
+
audioDup: boolean;
|
|
24
|
+
audioSource: string;
|
|
25
|
+
},
|
|
26
|
+
>(options: T, defaults: TDefaults): ComputeOptionTypes<T, TDefaults> {
|
|
27
|
+
const value = computeOptionValues1_15(options, defaults);
|
|
28
|
+
PrevImpl.overrideClipboardAutosync(value as never);
|
|
29
|
+
PrevImpl.overrideAudioSource(value as never);
|
|
30
|
+
return value as never;
|
|
31
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ScrcpyControlMessageTypeMap } from "../../base/index.js";
|
|
2
|
+
import { ScrcpyControlMessageType } from "../../base/index.js";
|
|
3
|
+
|
|
4
|
+
export const ControlMessageTypes = {
|
|
5
|
+
[ScrcpyControlMessageType.InjectKeyCode]: 0,
|
|
6
|
+
[ScrcpyControlMessageType.InjectText]: 1,
|
|
7
|
+
[ScrcpyControlMessageType.InjectTouch]: 2,
|
|
8
|
+
[ScrcpyControlMessageType.InjectScroll]: 3,
|
|
9
|
+
[ScrcpyControlMessageType.BackOrScreenOn]: 4,
|
|
10
|
+
[ScrcpyControlMessageType.ExpandNotificationPanel]: 5,
|
|
11
|
+
[ScrcpyControlMessageType.ExpandSettingPanel]: 6,
|
|
12
|
+
[ScrcpyControlMessageType.CollapseNotificationPanel]: 7,
|
|
13
|
+
[ScrcpyControlMessageType.GetClipboard]: 8,
|
|
14
|
+
[ScrcpyControlMessageType.SetClipboard]: 9,
|
|
15
|
+
[ScrcpyControlMessageType.SetDisplayPower]: 10,
|
|
16
|
+
[ScrcpyControlMessageType.RotateDevice]: 11,
|
|
17
|
+
[ScrcpyControlMessageType.UHidCreate]: 12,
|
|
18
|
+
[ScrcpyControlMessageType.UHidInput]: 13,
|
|
19
|
+
[ScrcpyControlMessageType.UHidDestroy]: 14,
|
|
20
|
+
[ScrcpyControlMessageType.OpenHardKeyboardSettings]: 15,
|
|
21
|
+
[ScrcpyControlMessageType.StartApp]: 16,
|
|
22
|
+
[ScrcpyControlMessageType.ResetVideo]: 17,
|
|
23
|
+
[ScrcpyControlMessageType.CameraSetTorch]: 18,
|
|
24
|
+
[ScrcpyControlMessageType.CameraZoomIn]: 19,
|
|
25
|
+
[ScrcpyControlMessageType.CameraZoomOut]: 20,
|
|
26
|
+
[ScrcpyControlMessageType.ResizeDisplay]: 21,
|
|
27
|
+
} as const satisfies ScrcpyControlMessageTypeMap;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { omit } from "../../utils/omit.js";
|
|
2
|
+
|
|
3
|
+
import type { Init } from "./init.js";
|
|
4
|
+
import { PrevImpl } from "./prev.js";
|
|
5
|
+
|
|
6
|
+
export const Defaults = /* #__PURE__*/ (() =>
|
|
7
|
+
({
|
|
8
|
+
...omit(PrevImpl.Defaults, "sendCodecMeta"),
|
|
9
|
+
|
|
10
|
+
minSizeAlignment: 1,
|
|
11
|
+
|
|
12
|
+
cameraZoom: 1,
|
|
13
|
+
cameraTorch: false,
|
|
14
|
+
|
|
15
|
+
flexDisplay: false,
|
|
16
|
+
|
|
17
|
+
keepActive: false,
|
|
18
|
+
|
|
19
|
+
sendStreamMeta: true,
|
|
20
|
+
}) as const satisfies Required<Init>)();
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "../../3_2/impl/index.js";
|
|
2
|
+
|
|
3
|
+
export { computeOptionValues } from "./compute-option-values.js";
|
|
4
|
+
export type { ComputeOptionTypes } from "./compute-option-values.js";
|
|
5
|
+
export { ControlMessageTypes } from "./control-message-types.js";
|
|
6
|
+
export { Defaults } from "./defaults.js";
|
|
7
|
+
export type { Init } from "./init.js";
|
|
8
|
+
export { createMediaStreamTransformer } from "./media-stream-transformer.js";
|
|
9
|
+
export { parseVideoStreamMetadataAsync } from "./parse-video-stream-metadata.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PrevImpl } from "./prev.js";
|
|
2
|
+
|
|
3
|
+
export interface Init extends Omit<PrevImpl.Init, "sendCodecMeta"> {
|
|
4
|
+
minSizeAlignment?: 1 | 2 | 4 | 8 | 16 | undefined;
|
|
5
|
+
|
|
6
|
+
cameraZoom?: number | undefined;
|
|
7
|
+
cameraTorch?: boolean | undefined;
|
|
8
|
+
|
|
9
|
+
flexDisplay?: boolean | undefined;
|
|
10
|
+
|
|
11
|
+
keepActive?: boolean | undefined;
|
|
12
|
+
|
|
13
|
+
sendStreamMeta?: boolean | undefined;
|
|
14
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getUint32BigEndian,
|
|
3
|
+
getUint64BigEndian,
|
|
4
|
+
} from "@yume-chan/no-data-view";
|
|
5
|
+
import {
|
|
6
|
+
BufferedTransformStream,
|
|
7
|
+
TransformStream,
|
|
8
|
+
} from "@yume-chan/stream-extra";
|
|
9
|
+
|
|
10
|
+
import type { ScrcpyVideoStreamPacket } from "../../base/index.js";
|
|
11
|
+
|
|
12
|
+
import type { Init } from "./init.js";
|
|
13
|
+
|
|
14
|
+
export function createMediaStreamTransformer(
|
|
15
|
+
options: Pick<Init, "sendFrameMeta">,
|
|
16
|
+
): TransformStream<Uint8Array, ScrcpyVideoStreamPacket> {
|
|
17
|
+
// Quick path for raw stream without frame meta
|
|
18
|
+
if (!options.sendFrameMeta) {
|
|
19
|
+
return new TransformStream({
|
|
20
|
+
transform(chunk, controller) {
|
|
21
|
+
controller.enqueue({
|
|
22
|
+
type: "data",
|
|
23
|
+
data: chunk,
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return new BufferedTransformStream<ScrcpyVideoStreamPacket>(
|
|
30
|
+
async (buffered) => {
|
|
31
|
+
const header = await buffered.readExactly(12);
|
|
32
|
+
if (header[0]! & 0x80) {
|
|
33
|
+
return {
|
|
34
|
+
type: "session",
|
|
35
|
+
isClientResize: !!(header[0]! & 1),
|
|
36
|
+
width: getUint32BigEndian(header, 4),
|
|
37
|
+
height: getUint32BigEndian(header, 8),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (header[0]! & 0x40) {
|
|
42
|
+
return {
|
|
43
|
+
type: "configuration",
|
|
44
|
+
data: await buffered.readExactly(
|
|
45
|
+
getUint32BigEndian(header, 8),
|
|
46
|
+
),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
type: "data",
|
|
52
|
+
keyframe: !!(header[0]! & 0x20),
|
|
53
|
+
pts: getUint64BigEndian(header, 0) & 0x1fffffffffffffffn,
|
|
54
|
+
data: await buffered.readExactly(getUint32BigEndian(header, 8)),
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
);
|
|
58
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ReadableStream } from "@yume-chan/stream-extra";
|
|
2
|
+
import { BufferedReadableStream } from "@yume-chan/stream-extra";
|
|
3
|
+
|
|
4
|
+
import type { ScrcpyVideoStream } from "../../base/video.js";
|
|
5
|
+
import type { ScrcpyVideoCodecId } from "../../video/index.js";
|
|
6
|
+
|
|
7
|
+
import type { Init } from "./init.js";
|
|
8
|
+
import { PrevImpl } from "./prev.js";
|
|
9
|
+
|
|
10
|
+
export async function parseVideoStreamMetadataAsync(
|
|
11
|
+
stream: ReadableStream<Uint8Array>,
|
|
12
|
+
sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>,
|
|
13
|
+
sendStreamMeta: Exclude<Init["sendStreamMeta"], undefined>,
|
|
14
|
+
fallbackCodec: ScrcpyVideoCodecId,
|
|
15
|
+
): Promise<ScrcpyVideoStream> {
|
|
16
|
+
const buffered = new BufferedReadableStream(stream);
|
|
17
|
+
|
|
18
|
+
let deviceName: string | undefined;
|
|
19
|
+
if (sendDeviceMeta) {
|
|
20
|
+
deviceName = await PrevImpl.readString(buffered, 64);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
let codec: ScrcpyVideoCodecId;
|
|
24
|
+
if (sendStreamMeta) {
|
|
25
|
+
codec = (await PrevImpl.readU32(buffered)) as ScrcpyVideoCodecId;
|
|
26
|
+
} else {
|
|
27
|
+
codec = fallbackCodec;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return {
|
|
31
|
+
stream: buffered.release(),
|
|
32
|
+
metadata: { deviceName, codec },
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as PrevImpl from "../../3_3_1/impl/index.js";
|