@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/esm/1_25/options.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
2
|
-
import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeSetClipboardControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
|
|
2
|
+
import { AckClipboardHandler, ClipboardStream, computeOptionValues, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeSetClipboardControlMessage, serializeSetDisplayPowerControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
|
|
3
3
|
export class ScrcpyOptions1_25 {
|
|
4
4
|
static Defaults = Defaults;
|
|
5
5
|
value;
|
|
@@ -16,7 +16,7 @@ export class ScrcpyOptions1_25 {
|
|
|
16
16
|
return this.#deviceMessageParsers;
|
|
17
17
|
}
|
|
18
18
|
constructor(init) {
|
|
19
|
-
this.value =
|
|
19
|
+
this.value = computeOptionValues(init, Defaults);
|
|
20
20
|
if (this.value.control) {
|
|
21
21
|
if (this.value.clipboardAutosync) {
|
|
22
22
|
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
@@ -40,21 +40,39 @@ export class ScrcpyOptions1_25 {
|
|
|
40
40
|
return parseEncoder(line, EncoderRegex);
|
|
41
41
|
}
|
|
42
42
|
parseVideoStreamMetadata(stream) {
|
|
43
|
-
return parseVideoStreamMetadata(this.value
|
|
43
|
+
return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta);
|
|
44
44
|
}
|
|
45
45
|
createMediaStreamTransformer() {
|
|
46
46
|
return createMediaStreamTransformer(this.value);
|
|
47
47
|
}
|
|
48
48
|
serializeInjectTouchControlMessage(message) {
|
|
49
|
+
if (!this.value.control) {
|
|
50
|
+
throw new Error("control is disabled");
|
|
51
|
+
}
|
|
49
52
|
return serializeInjectTouchControlMessage(message);
|
|
50
53
|
}
|
|
51
54
|
serializeBackOrScreenOnControlMessage(message) {
|
|
55
|
+
if (!this.value.control) {
|
|
56
|
+
throw new Error("control is disabled");
|
|
57
|
+
}
|
|
52
58
|
return serializeBackOrScreenOnControlMessage(message);
|
|
53
59
|
}
|
|
54
60
|
serializeSetClipboardControlMessage(message) {
|
|
61
|
+
if (!this.value.control) {
|
|
62
|
+
throw new Error("control is disabled");
|
|
63
|
+
}
|
|
55
64
|
return serializeSetClipboardControlMessage(message, this.#ackClipboardHandler);
|
|
56
65
|
}
|
|
66
|
+
serializeSetDisplayPowerControlMessage(message) {
|
|
67
|
+
if (!this.value.control) {
|
|
68
|
+
throw new Error("control is disabled");
|
|
69
|
+
}
|
|
70
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
71
|
+
}
|
|
57
72
|
createScrollController() {
|
|
73
|
+
if (!this.value.control) {
|
|
74
|
+
throw new Error("control is disabled");
|
|
75
|
+
}
|
|
58
76
|
return createScrollController();
|
|
59
77
|
}
|
|
60
78
|
}
|
package/esm/1_25/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_25/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/1_25/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,20 +12,10 @@ export declare const Defaults: {
|
|
|
12
12
|
readonly listEncoders: false;
|
|
13
13
|
readonly listDisplays: false;
|
|
14
14
|
readonly sendCodecMeta: true;
|
|
15
|
-
readonly bitRate: undefined;
|
|
16
|
-
readonly codecOptions: undefined;
|
|
17
|
-
readonly encoderName: undefined;
|
|
18
|
-
readonly powerOn: true;
|
|
19
|
-
readonly cleanup: true;
|
|
20
|
-
readonly downsizeOnError: true;
|
|
21
|
-
readonly sendDeviceMeta: true;
|
|
22
|
-
readonly sendDummyByte: true;
|
|
23
|
-
readonly clipboardAutosync: true;
|
|
24
15
|
readonly logLevel: "debug";
|
|
25
|
-
readonly lockVideoOrientation: -1;
|
|
26
|
-
readonly powerOffOnClose: false;
|
|
27
16
|
readonly maxSize: 0;
|
|
28
17
|
readonly maxFps: 0;
|
|
18
|
+
readonly lockVideoOrientation: -1;
|
|
29
19
|
readonly tunnelForward: false;
|
|
30
20
|
readonly crop: undefined;
|
|
31
21
|
readonly sendFrameMeta: true;
|
|
@@ -33,5 +23,12 @@ export declare const Defaults: {
|
|
|
33
23
|
readonly displayId: 0;
|
|
34
24
|
readonly showTouches: false;
|
|
35
25
|
readonly stayAwake: false;
|
|
26
|
+
readonly powerOffOnClose: false;
|
|
27
|
+
readonly clipboardAutosync: true;
|
|
28
|
+
readonly downsizeOnError: true;
|
|
29
|
+
readonly sendDeviceMeta: true;
|
|
30
|
+
readonly sendDummyByte: true;
|
|
31
|
+
readonly cleanup: true;
|
|
32
|
+
readonly powerOn: true;
|
|
36
33
|
};
|
|
37
34
|
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBsB,CAAC"}
|
package/esm/2_0/impl/defaults.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
+
import { omit } from "../../utils/omit.js";
|
|
1
2
|
import { PrevImpl } from "./prev.js";
|
|
2
|
-
export const Defaults = {
|
|
3
|
-
...
|
|
4
|
-
...PrevImpl.Defaults,
|
|
5
|
-
// Remove obsolete values
|
|
6
|
-
// relies on the minifier to flatten the nested spread
|
|
7
|
-
bitRate: undefined,
|
|
8
|
-
codecOptions: undefined,
|
|
9
|
-
encoderName: undefined,
|
|
10
|
-
},
|
|
3
|
+
export const Defaults = /* #__PURE__*/ (() => ({
|
|
4
|
+
...omit(PrevImpl.Defaults, "bitRate", "codecOptions", "encoderName"),
|
|
11
5
|
scid: undefined,
|
|
12
6
|
videoCodec: "h264",
|
|
13
7
|
videoBitRate: 8000000,
|
|
@@ -21,5 +15,5 @@ export const Defaults = {
|
|
|
21
15
|
listEncoders: false,
|
|
22
16
|
listDisplays: false,
|
|
23
17
|
sendCodecMeta: true,
|
|
24
|
-
};
|
|
18
|
+
}))();
|
|
25
19
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/2_0/impl/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,CACzC,CAAC;IACG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC;IAEpE,IAAI,EAAE,SAAS;IAEf,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,OAAO;IACrB,iBAAiB,EAAE,SAAS;IAC5B,YAAY,EAAE,SAAS;IAEvB,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,iBAAiB,EAAE,SAAS;IAC5B,YAAY,EAAE,SAAS;IAEvB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,IAAI;CACtB,CAAmC,CAAC,EAAE,CAAC"}
|
package/esm/2_0/impl/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { InjectTouchControlMessage, serializeInjectTouchControlMessage, } from "
|
|
|
5
5
|
export * from "./parse-audio-stream-metadata.js";
|
|
6
6
|
export { parseDisplay } from "./parse-display.js";
|
|
7
7
|
export { parseEncoder } from "./parse-encoder.js";
|
|
8
|
-
export { parseVideoStreamMetadata } from "./parse-video-stream-metadata.js";
|
|
8
|
+
export { parseVideoCodecOption, parseVideoStreamMetadata, parseVideoStreamMetadataAsync, } from "./parse-video-stream-metadata.js";
|
|
9
9
|
export { setListDisplays } from "./set-list-display.js";
|
|
10
10
|
export { setListEncoders } from "./set-list-encoder.js";
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,GAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
package/esm/2_0/impl/index.js
CHANGED
|
@@ -5,7 +5,7 @@ export { InjectTouchControlMessage, serializeInjectTouchControlMessage, } from "
|
|
|
5
5
|
export * from "./parse-audio-stream-metadata.js";
|
|
6
6
|
export { parseDisplay } from "./parse-display.js";
|
|
7
7
|
export { parseEncoder } from "./parse-encoder.js";
|
|
8
|
-
export { parseVideoStreamMetadata } from "./parse-video-stream-metadata.js";
|
|
8
|
+
export { parseVideoCodecOption, parseVideoStreamMetadata, parseVideoStreamMetadataAsync, } from "./parse-video-stream-metadata.js";
|
|
9
9
|
export { setListDisplays } from "./set-list-display.js";
|
|
10
10
|
export { setListEncoders } from "./set-list-encoder.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/2_0/impl/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,kCAAkC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,GAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
package/esm/2_0/impl/init.d.ts
CHANGED
|
@@ -9,17 +9,17 @@ export declare class InstanceId implements ScrcpyOptionValue {
|
|
|
9
9
|
}
|
|
10
10
|
export interface Init extends Omit<PrevImpl.Init, "bitRate" | "codecOptions" | "encoderName"> {
|
|
11
11
|
scid?: InstanceId | string | undefined;
|
|
12
|
-
videoCodec?: "h264" | "h265" | "av1";
|
|
13
|
-
videoBitRate?: number;
|
|
12
|
+
videoCodec?: "h264" | "h265" | "av1" | undefined;
|
|
13
|
+
videoBitRate?: number | undefined;
|
|
14
14
|
videoCodecOptions?: PrevImpl.CodecOptions | string | undefined;
|
|
15
15
|
videoEncoder?: string | undefined;
|
|
16
|
-
audio?: boolean;
|
|
17
|
-
audioCodec?: "raw" | "opus" | "aac";
|
|
18
|
-
audioBitRate?: number;
|
|
16
|
+
audio?: boolean | undefined;
|
|
17
|
+
audioCodec?: "raw" | "opus" | "aac" | undefined;
|
|
18
|
+
audioBitRate?: number | undefined;
|
|
19
19
|
audioCodecOptions?: PrevImpl.CodecOptions | string | undefined;
|
|
20
20
|
audioEncoder?: string | undefined;
|
|
21
|
-
listEncoders?: boolean;
|
|
22
|
-
listDisplays?: boolean;
|
|
23
|
-
sendCodecMeta?: boolean;
|
|
21
|
+
listEncoders?: boolean | undefined;
|
|
22
|
+
listDisplays?: boolean | undefined;
|
|
23
|
+
sendCodecMeta?: boolean | undefined;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,UAAW,YAAW,iBAAiB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsC;IAE1D,MAAM,CAAC,MAAM,IAAI,UAAU;IAK3B,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAMtC;AAED,MAAM,WAAW,IAAK,SAAQ,IAAI,CAC9B,QAAQ,CAAC,IAAI,EACb,SAAS,GAAG,cAAc,GAAG,aAAa,CAC7C;IACG,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,UAAW,YAAW,iBAAiB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsC;IAE1D,MAAM,CAAC,MAAM,IAAI,UAAU;IAK3B,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAMtC;AAED,MAAM,WAAW,IAAK,SAAQ,IAAI,CAC9B,QAAQ,CAAC,IAAI,EACb,SAAS,GAAG,cAAc,GAAG,aAAa,CAC7C;IACG,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { ReadableStream } from "@yume-chan/stream-extra";
|
|
2
2
|
import type { Init } from "../../2_3/impl/init.js";
|
|
3
3
|
import type { ScrcpyAudioStreamMetadata } from "../../base/index.js";
|
|
4
|
-
|
|
4
|
+
import { ScrcpyAudioCodec } from "../../base/index.js";
|
|
5
|
+
export declare function parseAudioMetadataCodec(codec: number): ScrcpyAudioCodec;
|
|
6
|
+
export declare function parseAudioCodecOption(audioCodec: Exclude<Init["audioCodec"], undefined>): ScrcpyAudioCodec;
|
|
7
|
+
export declare function parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>, sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>, parseMetadataCodec: (codec: number) => ScrcpyAudioCodec, fallbackCodec: ScrcpyAudioCodec): Promise<ScrcpyAudioStreamMetadata>;
|
|
5
8
|
//# sourceMappingURL=parse-audio-stream-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-audio-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-audio-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWvE;AAED,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GACnD,gBAAgB,CAWlB;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EACxD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EACvD,aAAa,EAAE,gBAAgB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAwCpC"}
|
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
import { getUint32BigEndian } from "@yume-chan/no-data-view";
|
|
2
2
|
import { BufferedReadableStream, PushReadableStream, } from "@yume-chan/stream-extra";
|
|
3
3
|
import { ScrcpyAudioCodec } from "../../base/index.js";
|
|
4
|
-
export
|
|
4
|
+
export function parseAudioMetadataCodec(codec) {
|
|
5
|
+
switch (codec) {
|
|
6
|
+
case ScrcpyAudioCodec.Raw.metadataValue:
|
|
7
|
+
return ScrcpyAudioCodec.Raw;
|
|
8
|
+
case ScrcpyAudioCodec.Opus.metadataValue:
|
|
9
|
+
return ScrcpyAudioCodec.Opus;
|
|
10
|
+
case ScrcpyAudioCodec.Aac.metadataValue:
|
|
11
|
+
return ScrcpyAudioCodec.Aac;
|
|
12
|
+
default:
|
|
13
|
+
throw new Error(`Unknown audio codec metadata value: ${codec}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function parseAudioCodecOption(audioCodec) {
|
|
17
|
+
switch (audioCodec) {
|
|
18
|
+
case "raw":
|
|
19
|
+
return ScrcpyAudioCodec.Raw;
|
|
20
|
+
case "opus":
|
|
21
|
+
return ScrcpyAudioCodec.Opus;
|
|
22
|
+
case "aac":
|
|
23
|
+
return ScrcpyAudioCodec.Aac;
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`Unknown audio codec: ${audioCodec}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export async function parseAudioStreamMetadata(stream, sendCodecMeta, parseMetadataCodec, fallbackCodec) {
|
|
5
29
|
const buffered = new BufferedReadableStream(stream);
|
|
6
30
|
const buffer = await buffered.readExactly(4);
|
|
7
31
|
// Treat it as a 32-bit number for simpler comparisons
|
|
@@ -17,51 +41,16 @@ export async function parseAudioStreamMetadata(stream, options) {
|
|
|
17
41
|
type: "errored",
|
|
18
42
|
};
|
|
19
43
|
}
|
|
20
|
-
if (
|
|
21
|
-
let codec;
|
|
22
|
-
switch (codecMetadataValue) {
|
|
23
|
-
case ScrcpyAudioCodec.Raw.metadataValue:
|
|
24
|
-
codec = ScrcpyAudioCodec.Raw;
|
|
25
|
-
break;
|
|
26
|
-
case ScrcpyAudioCodec.Opus.metadataValue:
|
|
27
|
-
codec = ScrcpyAudioCodec.Opus;
|
|
28
|
-
break;
|
|
29
|
-
case ScrcpyAudioCodec.Aac.metadataValue:
|
|
30
|
-
codec = ScrcpyAudioCodec.Aac;
|
|
31
|
-
break;
|
|
32
|
-
case ScrcpyAudioCodec.Flac.metadataValue:
|
|
33
|
-
codec = ScrcpyAudioCodec.Flac;
|
|
34
|
-
break;
|
|
35
|
-
default:
|
|
36
|
-
throw new Error(`Unknown audio codec metadata value: ${codecMetadataValue}`);
|
|
37
|
-
}
|
|
44
|
+
if (sendCodecMeta) {
|
|
38
45
|
return {
|
|
39
46
|
type: "success",
|
|
40
|
-
codec,
|
|
47
|
+
codec: parseMetadataCodec(codecMetadataValue),
|
|
41
48
|
stream: buffered.release(),
|
|
42
49
|
};
|
|
43
50
|
}
|
|
44
|
-
// Infer codec from `audioCodec` option
|
|
45
|
-
let codec;
|
|
46
|
-
switch (options.audioCodec) {
|
|
47
|
-
case "raw":
|
|
48
|
-
codec = ScrcpyAudioCodec.Raw;
|
|
49
|
-
break;
|
|
50
|
-
case "opus":
|
|
51
|
-
codec = ScrcpyAudioCodec.Opus;
|
|
52
|
-
break;
|
|
53
|
-
case "aac":
|
|
54
|
-
codec = ScrcpyAudioCodec.Aac;
|
|
55
|
-
break;
|
|
56
|
-
case "flac":
|
|
57
|
-
codec = ScrcpyAudioCodec.Flac;
|
|
58
|
-
break;
|
|
59
|
-
default:
|
|
60
|
-
throw new Error(`Unknown audio codec metadata value: ${codecMetadataValue}`);
|
|
61
|
-
}
|
|
62
51
|
return {
|
|
63
52
|
type: "success",
|
|
64
|
-
codec,
|
|
53
|
+
codec: fallbackCodec,
|
|
65
54
|
stream: new PushReadableStream(async (controller) => {
|
|
66
55
|
// Put the first 4 bytes back
|
|
67
56
|
await controller.enqueue(buffer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-audio-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACH,sBAAsB,EACtB,kBAAkB,GACrB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,
|
|
1
|
+
{"version":3,"file":"parse-audio-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-audio-stream-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACH,sBAAsB,EACtB,kBAAkB,GACrB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACjD,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,gBAAgB,CAAC,GAAG,CAAC,aAAa;YACnC,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC,KAAK,gBAAgB,CAAC,IAAI,CAAC,aAAa;YACpC,OAAO,gBAAgB,CAAC,IAAI,CAAC;QACjC,KAAK,gBAAgB,CAAC,GAAG,CAAC,aAAa;YACnC,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC;YACI,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,UAAkD;IAElD,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,KAAK;YACN,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC,KAAK,MAAM;YACP,OAAO,gBAAgB,CAAC,IAAI,CAAC;QACjC,KAAK,KAAK;YACN,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAChC;YACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,MAAkC,EAClC,aAAwD,EACxD,kBAAuD,EACvD,aAA+B;IAE/B,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7C,sDAAsD;IACtD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,wFAAwF;IACxF,QAAQ,kBAAkB,EAAE,CAAC;QACzB,KAAK,aAAa;YACd,OAAO;gBACH,IAAI,EAAE,UAAU;aACnB,CAAC;QACN,KAAK,aAAa;YACd,OAAO;gBACH,IAAI,EAAE,SAAS;aAClB,CAAC;IACV,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO;YACH,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,kBAAkB,CAAC,kBAAkB,CAAC;YAC7C,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;SAC7B,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,IAAI,kBAAkB,CAAa,KAAK,EAAE,UAAU,EAAE,EAAE;YAC5D,6BAA6B;YAC7B,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAElC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACL,CAAC,CAAC;KACL,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { ScrcpyVideoStream } from "../../base/
|
|
3
|
+
import type { ScrcpyVideoStream } from "../../base/index.js";
|
|
4
|
+
import { ScrcpyVideoCodecId } from "../../video/index.js";
|
|
4
5
|
import type { Init } from "./init.js";
|
|
5
|
-
export declare function
|
|
6
|
+
export declare function parseVideoCodecOption(codec: Exclude<Init["videoCodec"], undefined>): ScrcpyVideoCodecId;
|
|
7
|
+
export declare function parseVideoStreamMetadataAsync(stream: ReadableStream<Uint8Array>, sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>, sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>, fallbackCodec: ScrcpyVideoCodecId): Promise<ScrcpyVideoStream>;
|
|
8
|
+
export declare function parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>, sendDeviceMeta: Exclude<Init["sendDeviceMeta"], undefined>, sendCodecMeta: Exclude<Init["sendCodecMeta"], undefined>, fallbackCodec: ScrcpyVideoCodecId, parseAsync: typeof parseVideoStreamMetadataAsync): MaybePromiseLike<ScrcpyVideoStream>;
|
|
6
9
|
//# sourceMappingURL=parse-video-stream-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-video-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-video-stream-metadata.d.ts","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GAC9C,kBAAkB,CAYpB;AAED,wBAAsB,6BAA6B,CAC/C,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,EAC1D,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EACxD,aAAa,EAAE,kBAAkB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAyB5B;AAGD,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,EAC1D,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EACxD,aAAa,EAAE,kBAAkB,EACjC,UAAU,EAAE,OAAO,6BAA6B,GACjD,gBAAgB,CAAC,iBAAiB,CAAC,CASrC"}
|
|
@@ -1,49 +1,51 @@
|
|
|
1
1
|
import { BufferedReadableStream } from "@yume-chan/stream-extra";
|
|
2
|
-
import { ScrcpyVideoCodecId } from "../../
|
|
2
|
+
import { ScrcpyVideoCodecId } from "../../video/index.js";
|
|
3
3
|
import { PrevImpl } from "./prev.js";
|
|
4
|
-
function
|
|
4
|
+
export function parseVideoCodecOption(codec) {
|
|
5
5
|
switch (codec) {
|
|
6
6
|
case "h264":
|
|
7
7
|
return ScrcpyVideoCodecId.H264;
|
|
8
8
|
case "h265":
|
|
9
9
|
return ScrcpyVideoCodecId.H265;
|
|
10
10
|
case "av1":
|
|
11
|
-
return ScrcpyVideoCodecId.
|
|
11
|
+
return ScrcpyVideoCodecId.Av1;
|
|
12
12
|
default:
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
13
14
|
throw new Error(`Unknown video codec: ${codec}`);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
|
-
async function
|
|
17
|
+
export async function parseVideoStreamMetadataAsync(stream, sendDeviceMeta, sendCodecMeta, fallbackCodec) {
|
|
17
18
|
const buffered = new BufferedReadableStream(stream);
|
|
18
19
|
// `sendDeviceMeta` now only contains device name,
|
|
19
|
-
// can't use `
|
|
20
|
+
// can't use `PrevImpl.parseVideoStreamMetadata` here
|
|
20
21
|
let deviceName;
|
|
21
|
-
if (
|
|
22
|
+
if (sendDeviceMeta) {
|
|
22
23
|
deviceName = await PrevImpl.readString(buffered, 64);
|
|
23
24
|
}
|
|
24
25
|
let codec;
|
|
25
26
|
let width;
|
|
26
27
|
let height;
|
|
27
|
-
if (
|
|
28
|
+
if (sendCodecMeta) {
|
|
28
29
|
codec = (await PrevImpl.readU32(buffered));
|
|
29
30
|
width = await PrevImpl.readU32(buffered);
|
|
30
31
|
height = await PrevImpl.readU32(buffered);
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
33
|
-
codec =
|
|
34
|
+
codec = fallbackCodec;
|
|
34
35
|
}
|
|
35
36
|
return {
|
|
36
37
|
stream: buffered.release(),
|
|
37
38
|
metadata: { deviceName, codec, width, height },
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
42
|
+
export function parseVideoStreamMetadata(stream, sendDeviceMeta, sendCodecMeta, fallbackCodec, parseAsync) {
|
|
43
|
+
if (!sendDeviceMeta && !sendCodecMeta) {
|
|
42
44
|
return {
|
|
43
45
|
stream,
|
|
44
|
-
metadata: { codec:
|
|
46
|
+
metadata: { codec: fallbackCodec },
|
|
45
47
|
};
|
|
46
48
|
}
|
|
47
|
-
return parseAsync(
|
|
49
|
+
return parseAsync(stream, sendDeviceMeta, sendCodecMeta, fallbackCodec);
|
|
48
50
|
}
|
|
49
51
|
//# sourceMappingURL=parse-video-stream-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-video-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parse-video-stream-metadata.js","sourceRoot":"","sources":["../../../src/2_0/impl/parse-video-stream-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,UAAU,qBAAqB,CACjC,KAA6C;IAE7C,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACnC,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACnC,KAAK,KAAK;YACN,OAAO,kBAAkB,CAAC,GAAG,CAAC;QAClC;YACI,4EAA4E;YAC5E,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAC/C,MAAkC,EAClC,cAA0D,EAC1D,aAAwD,EACxD,aAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEpD,kDAAkD;IAClD,qDAAqD;IACrD,IAAI,UAA8B,CAAC;IACnC,IAAI,cAAc,EAAE,CAAC;QACjB,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAyB,CAAC;IAC9B,IAAI,MAA0B,CAAC;IAC/B,IAAI,aAAa,EAAE,CAAC;QAChB,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAuB,CAAC;QACjE,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,aAAa,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;QAC1B,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;KACjD,CAAC;AACN,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,wBAAwB,CACpC,MAAkC,EAClC,cAA0D,EAC1D,aAAwD,EACxD,aAAiC,EACjC,UAAgD;IAEhD,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO;YACH,MAAM;YACN,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;SACrC,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAC5E,CAAC"}
|
package/esm/2_0/options.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
2
|
import type { ReadableStream, TransformStream } from "@yume-chan/stream-extra";
|
|
3
|
-
import type { ScrcpyAudioStreamMetadata, ScrcpyDisplay, ScrcpyEncoder,
|
|
3
|
+
import type { MapBoolean, ScrcpyAudioStreamMetadata, ScrcpyDisplay, ScrcpyEncoder, ScrcpyOptions, ScrcpyOptionsListEncoders, ScrcpyScrollController, ScrcpyVideoStream, ScrcpyVideoStreamPacket } from "../base/index.js";
|
|
4
4
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
5
|
-
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../latest.js";
|
|
6
|
-
import type { Init } from "./impl/index.js";
|
|
7
|
-
import { ControlMessageTypes } from "./impl/index.js";
|
|
8
|
-
export declare class ScrcpyOptions2_0 implements ScrcpyOptions<
|
|
5
|
+
import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage, ScrcpySetDisplayPowerControlMessage } from "../latest.js";
|
|
6
|
+
import type { ComputeOptionTypes, Init } from "./impl/index.js";
|
|
7
|
+
import { ControlMessageTypes, Defaults } from "./impl/index.js";
|
|
8
|
+
export declare class ScrcpyOptions2_0<TInit extends Init = Init> implements ScrcpyOptions<ScrcpyOptions2_0.Value<TInit>>, ScrcpyOptionsListEncoders {
|
|
9
9
|
#private;
|
|
10
10
|
static readonly Defaults: {
|
|
11
11
|
readonly scid: undefined;
|
|
@@ -21,20 +21,10 @@ export declare class ScrcpyOptions2_0 implements ScrcpyOptions<Init>, ScrcpyOpti
|
|
|
21
21
|
readonly listEncoders: false;
|
|
22
22
|
readonly listDisplays: false;
|
|
23
23
|
readonly sendCodecMeta: true;
|
|
24
|
-
readonly bitRate: undefined;
|
|
25
|
-
readonly codecOptions: undefined;
|
|
26
|
-
readonly encoderName: undefined;
|
|
27
|
-
readonly powerOn: true;
|
|
28
|
-
readonly cleanup: true;
|
|
29
|
-
readonly downsizeOnError: true;
|
|
30
|
-
readonly sendDeviceMeta: true;
|
|
31
|
-
readonly sendDummyByte: true;
|
|
32
|
-
readonly clipboardAutosync: true;
|
|
33
24
|
readonly logLevel: "debug";
|
|
34
|
-
readonly lockVideoOrientation: -1;
|
|
35
|
-
readonly powerOffOnClose: false;
|
|
36
25
|
readonly maxSize: 0;
|
|
37
26
|
readonly maxFps: 0;
|
|
27
|
+
readonly lockVideoOrientation: -1;
|
|
38
28
|
readonly tunnelForward: false;
|
|
39
29
|
readonly crop: undefined;
|
|
40
30
|
readonly sendFrameMeta: true;
|
|
@@ -42,12 +32,19 @@ export declare class ScrcpyOptions2_0 implements ScrcpyOptions<Init>, ScrcpyOpti
|
|
|
42
32
|
readonly displayId: 0;
|
|
43
33
|
readonly showTouches: false;
|
|
44
34
|
readonly stayAwake: false;
|
|
35
|
+
readonly powerOffOnClose: false;
|
|
36
|
+
readonly clipboardAutosync: true;
|
|
37
|
+
readonly downsizeOnError: true;
|
|
38
|
+
readonly sendDeviceMeta: true;
|
|
39
|
+
readonly sendDummyByte: true;
|
|
40
|
+
readonly cleanup: true;
|
|
41
|
+
readonly powerOn: true;
|
|
45
42
|
};
|
|
46
|
-
readonly value:
|
|
43
|
+
readonly value: ScrcpyOptions2_0.Value<TInit>;
|
|
47
44
|
get controlMessageTypes(): typeof ControlMessageTypes;
|
|
48
|
-
get clipboard(): ReadableStream<string
|
|
45
|
+
get clipboard(): MapBoolean<this["value"]["clipboardAutosync"], ReadableStream<string>, undefined>;
|
|
49
46
|
get deviceMessageParsers(): ScrcpyDeviceMessageParsers;
|
|
50
|
-
constructor(init:
|
|
47
|
+
constructor(init: TInit);
|
|
51
48
|
serialize(): string[];
|
|
52
49
|
setListDisplays(): void;
|
|
53
50
|
parseDisplay(line: string): ScrcpyDisplay | undefined;
|
|
@@ -55,15 +52,17 @@ export declare class ScrcpyOptions2_0 implements ScrcpyOptions<Init>, ScrcpyOpti
|
|
|
55
52
|
parseEncoder(line: string): ScrcpyEncoder | undefined;
|
|
56
53
|
parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyVideoStream>;
|
|
57
54
|
parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>): MaybePromiseLike<ScrcpyAudioStreamMetadata>;
|
|
58
|
-
createMediaStreamTransformer(): TransformStream<Uint8Array,
|
|
55
|
+
createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
|
|
59
56
|
serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
|
|
60
57
|
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
|
|
61
58
|
serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array | [Uint8Array, Promise<void>];
|
|
59
|
+
serializeSetDisplayPowerControlMessage(message: ScrcpySetDisplayPowerControlMessage): Uint8Array;
|
|
62
60
|
createScrollController(): ScrcpyScrollController;
|
|
63
61
|
}
|
|
64
62
|
type Init_ = Init;
|
|
65
63
|
export declare namespace ScrcpyOptions2_0 {
|
|
66
64
|
type Init = Init_;
|
|
65
|
+
type Value<TInit extends Init> = ComputeOptionTypes<TInit, typeof Defaults>;
|
|
67
66
|
}
|
|
68
67
|
export {};
|
|
69
68
|
//# sourceMappingURL=options.d.ts.map
|
package/esm/2_0/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/2_0/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/2_0/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EACR,UAAU,EACV,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EAChC,mCAAmC,EACtC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAIH,mBAAmB,EAGnB,QAAQ,EAgBX,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,gBAAgB,CAAC,KAAK,SAAS,IAAI,GAAG,IAAI,CACnD,YACI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC5C,yBAAyB;;IAE7B,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAEpC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9C,IAAI,mBAAmB,IAAI,OAAO,mBAAmB,CAEpD;IAGD,IAAI,SAAS,IAAI,UAAU,CACvB,IAAI,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,EAClC,cAAc,CAAC,MAAM,CAAC,EACtB,SAAS,CACZ,CAEA;IAKD,IAAI,oBAAoB,+BAEvB;gBAEW,IAAI,EAAE,KAAK;IAgBvB,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,IAAI,IAAI;IAIvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,iBAAiB,CAAC;IAUtC,wBAAwB,CACpB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,gBAAgB,CAAC,yBAAyB,CAAC;IAS9C,4BAA4B,IAAI,eAAe,CAC3C,UAAU,EACV,uBAAuB,CAC1B;IAID,kCAAkC,CAC9B,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAOb,qCAAqC,CACjC,OAAO,EAAE,kCAAkC,GAC5C,UAAU,GAAG,SAAS;IAOzB,mCAAmC,CAC/B,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAU3C,sCAAsC,CAClC,OAAO,EAAE,mCAAmC,GAC7C,UAAU;IAOb,sBAAsB,IAAI,sBAAsB;CAMnD;AAED,KAAK,KAAK,GAAG,IAAI,CAAC;AAElB,yBAAiB,gBAAgB,CAAC;IAC9B,KAAY,IAAI,GAAG,KAAK,CAAC;IAEzB,KAAY,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,kBAAkB,CACtD,KAAK,EACL,OAAO,QAAQ,CAClB,CAAC;CACL"}
|
package/esm/2_0/options.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ScrcpyDeviceMessageParsers } from "../base/index.js";
|
|
2
|
-
import { AckClipboardHandler, ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeSetClipboardControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
|
|
2
|
+
import { AckClipboardHandler, ClipboardStream, computeOptionValues, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, parseAudioCodecOption, parseAudioMetadataCodec, parseAudioStreamMetadata, parseDisplay, parseEncoder, parseVideoCodecOption, parseVideoStreamMetadata, parseVideoStreamMetadataAsync, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, serializeSetClipboardControlMessage, serializeSetDisplayPowerControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
|
|
3
3
|
export class ScrcpyOptions2_0 {
|
|
4
4
|
static Defaults = Defaults;
|
|
5
5
|
value;
|
|
@@ -16,7 +16,7 @@ export class ScrcpyOptions2_0 {
|
|
|
16
16
|
return this.#deviceMessageParsers;
|
|
17
17
|
}
|
|
18
18
|
constructor(init) {
|
|
19
|
-
this.value =
|
|
19
|
+
this.value = computeOptionValues(init, Defaults);
|
|
20
20
|
if (this.value.control) {
|
|
21
21
|
if (this.value.clipboardAutosync) {
|
|
22
22
|
this.#clipboard = this.#deviceMessageParsers.add(new ClipboardStream());
|
|
@@ -40,24 +40,42 @@ export class ScrcpyOptions2_0 {
|
|
|
40
40
|
return parseEncoder(line);
|
|
41
41
|
}
|
|
42
42
|
parseVideoStreamMetadata(stream) {
|
|
43
|
-
return parseVideoStreamMetadata(this.value,
|
|
43
|
+
return parseVideoStreamMetadata(stream, this.value.sendDeviceMeta, this.value.sendCodecMeta, parseVideoCodecOption(this.value.videoCodec), parseVideoStreamMetadataAsync);
|
|
44
44
|
}
|
|
45
45
|
parseAudioStreamMetadata(stream) {
|
|
46
|
-
return parseAudioStreamMetadata(stream, this.value);
|
|
46
|
+
return parseAudioStreamMetadata(stream, this.value.sendCodecMeta, parseAudioMetadataCodec, parseAudioCodecOption(this.value.audioCodec));
|
|
47
47
|
}
|
|
48
48
|
createMediaStreamTransformer() {
|
|
49
49
|
return createMediaStreamTransformer(this.value);
|
|
50
50
|
}
|
|
51
51
|
serializeInjectTouchControlMessage(message) {
|
|
52
|
+
if (!this.value.control) {
|
|
53
|
+
throw new Error("control is disabled");
|
|
54
|
+
}
|
|
52
55
|
return serializeInjectTouchControlMessage(message);
|
|
53
56
|
}
|
|
54
57
|
serializeBackOrScreenOnControlMessage(message) {
|
|
58
|
+
if (!this.value.control) {
|
|
59
|
+
throw new Error("control is disabled");
|
|
60
|
+
}
|
|
55
61
|
return serializeBackOrScreenOnControlMessage(message);
|
|
56
62
|
}
|
|
57
63
|
serializeSetClipboardControlMessage(message) {
|
|
64
|
+
if (!this.value.control) {
|
|
65
|
+
throw new Error("control is disabled");
|
|
66
|
+
}
|
|
58
67
|
return serializeSetClipboardControlMessage(message, this.#ackClipboardHandler);
|
|
59
68
|
}
|
|
69
|
+
serializeSetDisplayPowerControlMessage(message) {
|
|
70
|
+
if (!this.value.control) {
|
|
71
|
+
throw new Error("control is disabled");
|
|
72
|
+
}
|
|
73
|
+
return serializeSetDisplayPowerControlMessage(message);
|
|
74
|
+
}
|
|
60
75
|
createScrollController() {
|
|
76
|
+
if (!this.value.control) {
|
|
77
|
+
throw new Error("control is disabled");
|
|
78
|
+
}
|
|
61
79
|
return createScrollController();
|
|
62
80
|
}
|
|
63
81
|
}
|
package/esm/2_0/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/2_0/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/2_0/options.ts"],"names":[],"mappings":"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"}
|