@yume-chan/scrcpy 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +21 -3
- package/CHANGELOG.md +13 -4
- package/LICENSE +1 -1
- package/README.md +41 -24
- package/bin/scrcpy-server +0 -0
- package/bin/version.d.ts +1 -1
- package/bin/version.js +1 -1
- package/esm/adb/client.d.ts +15 -14
- package/esm/adb/client.d.ts.map +1 -1
- package/esm/adb/client.js +66 -41
- package/esm/adb/client.js.map +1 -1
- package/esm/adb/connection.d.ts +16 -7
- package/esm/adb/connection.d.ts.map +1 -1
- package/esm/adb/connection.js +21 -13
- package/esm/adb/connection.js.map +1 -1
- package/esm/adb/options/1_16.d.ts +4 -4
- package/esm/adb/options/1_16.d.ts.map +1 -1
- package/esm/adb/options/1_16.js +2 -2
- package/esm/adb/options/1_16.js.map +1 -1
- package/esm/adb/options/1_22.d.ts +4 -4
- package/esm/adb/options/1_22.d.ts.map +1 -1
- package/esm/adb/options/1_22.js +2 -2
- package/esm/adb/options/1_22.js.map +1 -1
- package/esm/adb/options/types.d.ts +10 -9
- package/esm/adb/options/types.d.ts.map +1 -1
- package/esm/adb/options/types.js +11 -4
- package/esm/adb/options/types.js.map +1 -1
- package/esm/control/back-or-screen-on.d.ts +3 -0
- package/esm/control/back-or-screen-on.d.ts.map +1 -0
- package/esm/control/back-or-screen-on.js +2 -0
- package/esm/control/back-or-screen-on.js.map +1 -0
- package/esm/control/hover-helper.d.ts +18 -0
- package/esm/control/hover-helper.d.ts.map +1 -0
- package/esm/control/hover-helper.js +44 -0
- package/esm/control/hover-helper.js.map +1 -0
- package/esm/control/index.d.ts +11 -7
- package/esm/control/index.d.ts.map +1 -1
- package/esm/control/index.js +11 -7
- package/esm/control/index.js.map +1 -1
- package/esm/control/inject-keycode.d.ts +12 -4
- package/esm/control/inject-keycode.d.ts.map +1 -1
- package/esm/control/inject-keycode.js +15 -7
- package/esm/control/inject-keycode.js.map +1 -1
- package/esm/control/inject-scroll.d.ts +3 -0
- package/esm/control/inject-scroll.d.ts.map +1 -0
- package/esm/control/inject-scroll.js +2 -0
- package/esm/control/inject-scroll.js.map +1 -0
- package/esm/control/inject-text.d.ts +2 -2
- package/esm/control/inject-text.d.ts.map +1 -1
- package/esm/control/inject-touch.d.ts +12 -4
- package/esm/control/inject-touch.d.ts.map +1 -1
- package/esm/control/inject-touch.js +44 -11
- package/esm/control/inject-touch.js.map +1 -1
- package/esm/control/rotate-device.d.ts +2 -2
- package/esm/control/rotate-device.d.ts.map +1 -1
- package/esm/control/serializer.d.ts +22 -11
- package/esm/control/serializer.d.ts.map +1 -1
- package/esm/control/serializer.js +32 -26
- package/esm/control/serializer.js.map +1 -1
- package/esm/control/set-clipboard.d.ts +3 -0
- package/esm/control/set-clipboard.d.ts.map +1 -0
- package/esm/control/set-clipboard.js +2 -0
- package/esm/control/set-clipboard.js.map +1 -0
- package/esm/control/set-screen-power-mode.d.ts +2 -2
- package/esm/control/set-screen-power-mode.d.ts.map +1 -1
- package/esm/device-message/ack-clipboard.d.ts +9 -0
- package/esm/device-message/ack-clipboard.d.ts.map +1 -0
- package/esm/device-message/ack-clipboard.js +6 -0
- package/esm/device-message/ack-clipboard.js.map +1 -0
- package/esm/device-message/clipboard.d.ts +3 -3
- package/esm/device-message/clipboard.d.ts.map +1 -1
- package/esm/device-message/clipboard.js +4 -4
- package/esm/device-message/clipboard.js.map +1 -1
- package/esm/device-message/index.d.ts +4 -3
- package/esm/device-message/index.d.ts.map +1 -1
- package/esm/device-message/index.js +4 -3
- package/esm/device-message/index.js.map +1 -1
- package/esm/device-message/stream.d.ts +4 -3
- package/esm/device-message/stream.d.ts.map +1 -1
- package/esm/device-message/stream.js +8 -4
- package/esm/device-message/stream.js.map +1 -1
- package/esm/options/1_16/codec-options.d.ts +3 -2
- package/esm/options/1_16/codec-options.d.ts.map +1 -1
- package/esm/options/1_16/codec-options.js +6 -7
- package/esm/options/1_16/codec-options.js.map +1 -1
- package/esm/options/1_16/h264-configuration.d.ts +49 -0
- package/esm/options/1_16/h264-configuration.d.ts.map +1 -0
- package/esm/options/1_16/h264-configuration.js +414 -0
- package/esm/options/1_16/h264-configuration.js.map +1 -0
- package/esm/options/1_16/index.d.ts +4 -3
- package/esm/options/1_16/index.d.ts.map +1 -1
- package/esm/options/1_16/index.js +4 -3
- package/esm/options/1_16/index.js.map +1 -1
- package/esm/options/1_16/options.d.ts +17 -20
- package/esm/options/1_16/options.d.ts.map +1 -1
- package/esm/options/1_16/options.js +51 -49
- package/esm/options/1_16/options.js.map +1 -1
- package/esm/options/1_16/scroll.d.ts +27 -0
- package/esm/options/1_16/scroll.d.ts.map +1 -0
- package/esm/options/1_16/scroll.js +56 -0
- package/esm/options/1_16/scroll.js.map +1 -0
- package/esm/options/1_16/sps.d.ts +1 -1
- package/esm/options/1_16/sps.d.ts.map +1 -1
- package/esm/options/1_16/sps.js +25 -17
- package/esm/options/1_16/sps.js.map +1 -1
- package/esm/options/1_18.d.ts +6 -6
- package/esm/options/1_18.d.ts.map +1 -1
- package/esm/options/1_18.js +5 -5
- package/esm/options/1_18.js.map +1 -1
- package/esm/options/1_21.d.ts +12 -1
- package/esm/options/1_21.d.ts.map +1 -1
- package/esm/options/1_21.js +14 -3
- package/esm/options/1_21.js.map +1 -1
- package/esm/options/1_22/index.d.ts +3 -0
- package/esm/options/1_22/index.d.ts.map +1 -0
- package/esm/options/1_22/index.js +3 -0
- package/esm/options/1_22/index.js.map +1 -0
- package/esm/options/{1_22.d.ts → 1_22/options.d.ts} +4 -15
- package/esm/options/1_22/options.d.ts.map +1 -0
- package/esm/options/{1_22.js → 1_22/options.js} +5 -9
- package/esm/options/1_22/options.js.map +1 -0
- package/esm/options/1_22/scroll.d.ts +17 -0
- package/esm/options/1_22/scroll.d.ts.map +1 -0
- package/esm/options/1_22/scroll.js +15 -0
- package/esm/options/1_22/scroll.js.map +1 -0
- package/esm/options/1_23.d.ts +3 -3
- package/esm/options/1_23.d.ts.map +1 -1
- package/esm/options/1_23.js +7 -6
- package/esm/options/1_23.js.map +1 -1
- package/esm/options/1_25/index.d.ts +3 -0
- package/esm/options/1_25/index.d.ts.map +1 -0
- package/esm/options/1_25/index.js +3 -0
- package/esm/options/1_25/index.js.map +1 -0
- package/esm/options/1_25/options.d.ts +6 -0
- package/esm/options/1_25/options.d.ts.map +1 -0
- package/esm/options/1_25/options.js +8 -0
- package/esm/options/1_25/options.js.map +1 -0
- package/esm/options/1_25/scroll.d.ts +19 -0
- package/esm/options/1_25/scroll.d.ts.map +1 -0
- package/esm/options/1_25/scroll.js +33 -0
- package/esm/options/1_25/scroll.js.map +1 -0
- package/esm/options/index.d.ts +5 -4
- package/esm/options/index.d.ts.map +1 -1
- package/esm/options/index.js +5 -4
- package/esm/options/index.js.map +1 -1
- package/esm/options/types.d.ts +14 -12
- package/esm/options/types.d.ts.map +1 -1
- package/esm/options/types.js +6 -4
- package/esm/options/types.js.map +1 -1
- package/package.json +19 -12
- package/scripts/fetch-server.cjs +19 -9
- package/src/adb/client.ts +142 -89
- package/src/adb/connection.ts +77 -30
- package/src/adb/options/1_16.ts +13 -6
- package/src/adb/options/1_22.ts +12 -6
- package/src/adb/options/types.ts +34 -14
- package/src/control/back-or-screen-on.ts +4 -0
- package/src/control/hover-helper.ts +56 -0
- package/src/control/index.ts +11 -7
- package/src/control/inject-keycode.ts +23 -10
- package/src/control/inject-scroll.ts +4 -0
- package/src/control/inject-touch.ts +58 -14
- package/src/control/serializer.ts +106 -41
- package/src/control/set-clipboard.ts +4 -0
- package/src/device-message/ack-clipboard.ts +10 -0
- package/src/device-message/clipboard.ts +8 -8
- package/src/device-message/index.ts +4 -3
- package/src/device-message/stream.ts +17 -7
- package/src/options/1_16/codec-options.ts +17 -10
- package/src/options/1_16/h264-configuration.ts +485 -0
- package/src/options/1_16/index.ts +4 -3
- package/src/options/1_16/options.ts +175 -130
- package/src/options/1_16/scroll.ts +76 -0
- package/src/options/1_18.ts +22 -12
- package/src/options/1_21.ts +31 -13
- package/src/options/1_22/index.ts +2 -0
- package/src/options/{1_22.ts → 1_22/options.ts} +8 -17
- package/src/options/1_22/scroll.ts +26 -0
- package/src/options/1_23.ts +32 -20
- package/src/options/1_25/index.ts +2 -0
- package/src/options/1_25/options.ts +12 -0
- package/src/options/1_25/scroll.ts +52 -0
- package/src/options/index.ts +5 -4
- package/src/options/types.ts +34 -17
- package/tsconfig.build.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/decoder/index.d.ts +0 -28
- package/esm/decoder/index.d.ts.map +0 -1
- package/esm/decoder/index.js +0 -2
- package/esm/decoder/index.js.map +0 -1
- package/esm/decoder/tinyh264/index.d.ts +0 -20
- package/esm/decoder/tinyh264/index.d.ts.map +0 -1
- package/esm/decoder/tinyh264/index.js +0 -86
- package/esm/decoder/tinyh264/index.js.map +0 -1
- package/esm/decoder/tinyh264/worker.d.ts +0 -2
- package/esm/decoder/tinyh264/worker.d.ts.map +0 -1
- package/esm/decoder/tinyh264/worker.js +0 -3
- package/esm/decoder/tinyh264/worker.js.map +0 -1
- package/esm/decoder/tinyh264/wrapper.d.ts +0 -21
- package/esm/decoder/tinyh264/wrapper.d.ts.map +0 -1
- package/esm/decoder/tinyh264/wrapper.js +0 -74
- package/esm/decoder/tinyh264/wrapper.js.map +0 -1
- package/esm/decoder/types.d.ts +0 -2
- package/esm/decoder/types.d.ts.map +0 -1
- package/esm/decoder/types.js +0 -2
- package/esm/decoder/types.js.map +0 -1
- package/esm/decoder/web-codecs/index.d.ts +0 -22
- package/esm/decoder/web-codecs/index.d.ts.map +0 -1
- package/esm/decoder/web-codecs/index.js +0 -81
- package/esm/decoder/web-codecs/index.js.map +0 -1
- package/esm/options/1_22.d.ts.map +0 -1
- package/esm/options/1_22.js.map +0 -1
- package/src/options/1_16/sps.ts +0 -300
- package/tsconfig.test.tsbuildinfo +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { StructDeserializeStream, TransformStream } from
|
|
2
|
-
import Struct from
|
|
3
|
-
import { AndroidKeyEventAction, ScrcpyControlMessageType } from
|
|
4
|
-
import { toScrcpyOptionValue } from
|
|
5
|
-
import { CodecOptions } from
|
|
6
|
-
import {
|
|
1
|
+
import { StructDeserializeStream, TransformStream, } from "@yume-chan/stream-extra";
|
|
2
|
+
import Struct from "@yume-chan/struct";
|
|
3
|
+
import { AndroidKeyEventAction, ScrcpyControlMessageType, } from "../../control/index.js";
|
|
4
|
+
import { toScrcpyOptionValue, } from "../types.js";
|
|
5
|
+
import { CodecOptions } from "./codec-options.js";
|
|
6
|
+
import { parseH264Configuration, parseSequenceParameterSet, removeH264Emulation, } from "./h264-configuration.js";
|
|
7
|
+
import { ScrcpyScrollController1_16, } from "./scroll.js";
|
|
7
8
|
export var ScrcpyLogLevel;
|
|
8
9
|
(function (ScrcpyLogLevel) {
|
|
9
10
|
ScrcpyLogLevel["Verbose"] = "verbose";
|
|
@@ -22,20 +23,15 @@ export var ScrcpyVideoOrientation;
|
|
|
22
23
|
ScrcpyVideoOrientation[ScrcpyVideoOrientation["LandscapeFlipped"] = 3] = "LandscapeFlipped";
|
|
23
24
|
})(ScrcpyVideoOrientation = ScrcpyVideoOrientation || (ScrcpyVideoOrientation = {}));
|
|
24
25
|
export const VideoPacket = new Struct()
|
|
25
|
-
.uint64(
|
|
26
|
-
.uint32(
|
|
27
|
-
.uint8Array(
|
|
26
|
+
.uint64("pts")
|
|
27
|
+
.uint32("size")
|
|
28
|
+
.uint8Array("data", { lengthField: "size" });
|
|
28
29
|
export const NO_PTS = BigInt(1) << BigInt(63);
|
|
29
|
-
export const ScrcpyBackOrScreenOnControlMessage1_16 = new Struct()
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
.
|
|
33
|
-
.
|
|
34
|
-
.uint32('pointerY')
|
|
35
|
-
.uint16('screenWidth')
|
|
36
|
-
.uint16('screenHeight')
|
|
37
|
-
.int32('scrollX')
|
|
38
|
-
.int32('scrollY');
|
|
30
|
+
export const ScrcpyBackOrScreenOnControlMessage1_16 = new Struct().uint8("type", ScrcpyControlMessageType.BackOrScreenOn);
|
|
31
|
+
export const ScrcpySetClipboardControlMessage1_15 = new Struct()
|
|
32
|
+
.uint8("type", ScrcpyControlMessageType.SetClipboard)
|
|
33
|
+
.uint32("length")
|
|
34
|
+
.string("content", { lengthField: "length" });
|
|
39
35
|
export class ScrcpyOptions1_16 {
|
|
40
36
|
value;
|
|
41
37
|
constructor(value) {
|
|
@@ -51,20 +47,20 @@ export class ScrcpyOptions1_16 {
|
|
|
51
47
|
}
|
|
52
48
|
getArgumentOrder() {
|
|
53
49
|
return [
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
50
|
+
"logLevel",
|
|
51
|
+
"maxSize",
|
|
52
|
+
"bitRate",
|
|
53
|
+
"maxFps",
|
|
54
|
+
"lockVideoOrientation",
|
|
55
|
+
"tunnelForward",
|
|
56
|
+
"crop",
|
|
57
|
+
"sendFrameMeta",
|
|
58
|
+
"control",
|
|
59
|
+
"displayId",
|
|
60
|
+
"showTouches",
|
|
61
|
+
"stayAwake",
|
|
62
|
+
"codecOptions",
|
|
63
|
+
"encoderName",
|
|
68
64
|
];
|
|
69
65
|
}
|
|
70
66
|
getDefaultValue() {
|
|
@@ -75,20 +71,19 @@ export class ScrcpyOptions1_16 {
|
|
|
75
71
|
maxFps: 0,
|
|
76
72
|
lockVideoOrientation: ScrcpyVideoOrientation.Unlocked,
|
|
77
73
|
tunnelForward: false,
|
|
78
|
-
crop:
|
|
74
|
+
crop: "-",
|
|
79
75
|
sendFrameMeta: true,
|
|
80
76
|
control: true,
|
|
81
77
|
displayId: 0,
|
|
82
78
|
showTouches: false,
|
|
83
79
|
stayAwake: false,
|
|
84
80
|
codecOptions: new CodecOptions({}),
|
|
85
|
-
encoderName:
|
|
81
|
+
encoderName: "-",
|
|
86
82
|
};
|
|
87
83
|
}
|
|
88
84
|
formatServerArguments() {
|
|
89
85
|
const defaults = this.getDefaultValue();
|
|
90
|
-
return this.getArgumentOrder()
|
|
91
|
-
.map(key => toScrcpyOptionValue(this.value[key] || defaults[key], '-'));
|
|
86
|
+
return this.getArgumentOrder().map((key) => toScrcpyOptionValue(this.value[key] || defaults[key], "-"));
|
|
92
87
|
}
|
|
93
88
|
getOutputEncoderNameRegex() {
|
|
94
89
|
return /\s+scrcpy --encoder-name '(.*?)'/;
|
|
@@ -99,23 +94,25 @@ export class ScrcpyOptions1_16 {
|
|
|
99
94
|
return new TransformStream({
|
|
100
95
|
transform(chunk, controller) {
|
|
101
96
|
controller.enqueue({
|
|
102
|
-
type:
|
|
97
|
+
type: "frame",
|
|
103
98
|
data: chunk,
|
|
104
99
|
});
|
|
105
100
|
},
|
|
106
101
|
});
|
|
107
102
|
}
|
|
108
103
|
let header;
|
|
109
|
-
|
|
104
|
+
const deserializeStream = new StructDeserializeStream(VideoPacket);
|
|
110
105
|
return {
|
|
111
106
|
writable: deserializeStream.writable,
|
|
112
107
|
readable: deserializeStream.readable.pipeThrough(new TransformStream({
|
|
113
108
|
transform(packet, controller) {
|
|
114
109
|
if (packet.pts === NO_PTS) {
|
|
115
|
-
const sequenceParameterSet =
|
|
116
|
-
const { profile_idc: profileIndex, constraint_set: constraintSet, level_idc: levelIndex, pic_width_in_mbs_minus1, pic_height_in_map_units_minus1, frame_mbs_only_flag, frame_crop_left_offset, frame_crop_right_offset, frame_crop_top_offset, frame_crop_bottom_offset, } = sequenceParameterSet;
|
|
110
|
+
const { sequenceParameterSet, pictureParameterSet, } = parseH264Configuration(packet.data);
|
|
111
|
+
const { profile_idc: profileIndex, constraint_set: constraintSet, level_idc: levelIndex, pic_width_in_mbs_minus1, pic_height_in_map_units_minus1, frame_mbs_only_flag, frame_crop_left_offset, frame_crop_right_offset, frame_crop_top_offset, frame_crop_bottom_offset, } = parseSequenceParameterSet(removeH264Emulation(sequenceParameterSet));
|
|
117
112
|
const encodedWidth = (pic_width_in_mbs_minus1 + 1) * 16;
|
|
118
|
-
const encodedHeight = (pic_height_in_map_units_minus1 + 1) *
|
|
113
|
+
const encodedHeight = (pic_height_in_map_units_minus1 + 1) *
|
|
114
|
+
(2 - frame_mbs_only_flag) *
|
|
115
|
+
16;
|
|
119
116
|
const cropLeft = frame_crop_left_offset * 2;
|
|
120
117
|
const cropRight = frame_crop_right_offset * 2;
|
|
121
118
|
const cropTop = frame_crop_top_offset * 2;
|
|
@@ -124,7 +121,9 @@ export class ScrcpyOptions1_16 {
|
|
|
124
121
|
const croppedHeight = encodedHeight - cropTop - cropBottom;
|
|
125
122
|
header = packet.data;
|
|
126
123
|
controller.enqueue({
|
|
127
|
-
type:
|
|
124
|
+
type: "configuration",
|
|
125
|
+
pictureParameterSet,
|
|
126
|
+
sequenceParameterSet,
|
|
128
127
|
data: {
|
|
129
128
|
profileIndex,
|
|
130
129
|
constraintSet,
|
|
@@ -137,7 +136,7 @@ export class ScrcpyOptions1_16 {
|
|
|
137
136
|
cropBottom,
|
|
138
137
|
croppedWidth,
|
|
139
138
|
croppedHeight,
|
|
140
|
-
}
|
|
139
|
+
},
|
|
141
140
|
});
|
|
142
141
|
return;
|
|
143
142
|
}
|
|
@@ -152,12 +151,12 @@ export class ScrcpyOptions1_16 {
|
|
|
152
151
|
frameData = packet.data;
|
|
153
152
|
}
|
|
154
153
|
controller.enqueue({
|
|
155
|
-
type:
|
|
154
|
+
type: "frame",
|
|
156
155
|
pts: packet.pts,
|
|
157
156
|
data: frameData,
|
|
158
157
|
});
|
|
159
|
-
}
|
|
160
|
-
}))
|
|
158
|
+
},
|
|
159
|
+
})),
|
|
161
160
|
};
|
|
162
161
|
}
|
|
163
162
|
getControlMessageTypes() {
|
|
@@ -181,8 +180,11 @@ export class ScrcpyOptions1_16 {
|
|
|
181
180
|
}
|
|
182
181
|
return undefined;
|
|
183
182
|
}
|
|
184
|
-
|
|
185
|
-
return
|
|
183
|
+
serializeSetClipboardControlMessage(message) {
|
|
184
|
+
return ScrcpySetClipboardControlMessage1_15.serialize(message);
|
|
185
|
+
}
|
|
186
|
+
getScrollController() {
|
|
187
|
+
return new ScrcpyScrollController1_16();
|
|
186
188
|
}
|
|
187
189
|
}
|
|
188
190
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Struct from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType, type ScrcpyInjectScrollControlMessage } from "../../control/index.js";
|
|
3
|
+
export interface ScrcpyScrollController {
|
|
4
|
+
serializeScrollMessage(message: ScrcpyInjectScrollControlMessage): Uint8Array | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare const ScrcpyInjectScrollControlMessage1_16: Struct<{
|
|
7
|
+
type: ScrcpyControlMessageType.InjectScroll;
|
|
8
|
+
pointerX: number;
|
|
9
|
+
pointerY: number;
|
|
10
|
+
screenWidth: number;
|
|
11
|
+
screenHeight: number;
|
|
12
|
+
scrollX: number;
|
|
13
|
+
scrollY: number;
|
|
14
|
+
}, never, Record<never, never>, undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Old version of Scrcpy server only supports integer values for scroll.
|
|
17
|
+
*
|
|
18
|
+
* Accumulate scroll values and send scroll message when accumulated value
|
|
19
|
+
* reaches 1 or -1.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ScrcpyScrollController1_16 implements ScrcpyScrollController {
|
|
22
|
+
private accumulatedX;
|
|
23
|
+
private accumulatedY;
|
|
24
|
+
protected processMessage(message: ScrcpyInjectScrollControlMessage): ScrcpyInjectScrollControlMessage | undefined;
|
|
25
|
+
serializeScrollMessage(message: ScrcpyInjectScrollControlMessage): Uint8Array | undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=scroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,wBAAwB,EACxB,KAAK,gCAAgC,EACxC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,sBAAsB;IACnC,sBAAsB,CAClB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,oCAAoC;;;;;;;;0CAO5B,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IACrE,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IAEzB,SAAS,CAAC,cAAc,CACpB,OAAO,EAAE,gCAAgC,GAC1C,gCAAgC,GAAG,SAAS;IA+BxC,sBAAsB,CACzB,OAAO,EAAE,gCAAgC,GAC1C,UAAU,GAAG,SAAS;CAQ5B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import Struct from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType, } from "../../control/index.js";
|
|
3
|
+
export const ScrcpyInjectScrollControlMessage1_16 = new Struct()
|
|
4
|
+
.uint8("type", ScrcpyControlMessageType.InjectScroll)
|
|
5
|
+
.uint32("pointerX")
|
|
6
|
+
.uint32("pointerY")
|
|
7
|
+
.uint16("screenWidth")
|
|
8
|
+
.uint16("screenHeight")
|
|
9
|
+
.int32("scrollX")
|
|
10
|
+
.int32("scrollY");
|
|
11
|
+
/**
|
|
12
|
+
* Old version of Scrcpy server only supports integer values for scroll.
|
|
13
|
+
*
|
|
14
|
+
* Accumulate scroll values and send scroll message when accumulated value
|
|
15
|
+
* reaches 1 or -1.
|
|
16
|
+
*/
|
|
17
|
+
export class ScrcpyScrollController1_16 {
|
|
18
|
+
accumulatedX = 0;
|
|
19
|
+
accumulatedY = 0;
|
|
20
|
+
processMessage(message) {
|
|
21
|
+
this.accumulatedX += message.scrollX;
|
|
22
|
+
this.accumulatedY += message.scrollY;
|
|
23
|
+
let scrollX = 0;
|
|
24
|
+
let scrollY = 0;
|
|
25
|
+
if (this.accumulatedX >= 1) {
|
|
26
|
+
scrollX = 1;
|
|
27
|
+
this.accumulatedX = 0;
|
|
28
|
+
}
|
|
29
|
+
else if (this.accumulatedX <= -1) {
|
|
30
|
+
scrollX = -1;
|
|
31
|
+
this.accumulatedX = 0;
|
|
32
|
+
}
|
|
33
|
+
if (this.accumulatedY >= 1) {
|
|
34
|
+
scrollY = 1;
|
|
35
|
+
this.accumulatedY = 0;
|
|
36
|
+
}
|
|
37
|
+
else if (this.accumulatedY <= -1) {
|
|
38
|
+
scrollY = -1;
|
|
39
|
+
this.accumulatedY = 0;
|
|
40
|
+
}
|
|
41
|
+
if (scrollX === 0 && scrollY === 0) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
message.scrollX = scrollX;
|
|
45
|
+
message.scrollY = scrollY;
|
|
46
|
+
return message;
|
|
47
|
+
}
|
|
48
|
+
serializeScrollMessage(message) {
|
|
49
|
+
const processed = this.processMessage(message);
|
|
50
|
+
if (!processed) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return ScrcpyInjectScrollControlMessage1_16.serialize(processed);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/options/1_16/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,wBAAwB,GAE3B,MAAM,wBAAwB,CAAC;AAQhC,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC,YAAqB,CAAC;KAC7D,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,KAAK,CAAC,SAAS,CAAC;KAChB,KAAK,CAAC,SAAS,CAAC,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAC3B,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,GAAG,CAAC,CAAC;IAEf,cAAc,CACpB,OAAyC;QAEzC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;QAErC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,sBAAsB,CACzB,OAAyC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,oCAAoC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;CACJ"}
|
|
@@ -18,5 +18,5 @@ export declare function parse_sequence_parameter_set(buffer: ArrayBuffer): {
|
|
|
18
18
|
frame_crop_top_offset: number;
|
|
19
19
|
frame_crop_bottom_offset: number;
|
|
20
20
|
};
|
|
21
|
-
export
|
|
21
|
+
export type SequenceParameterSet = ReturnType<typeof parse_sequence_parameter_set>;
|
|
22
22
|
//# sourceMappingURL=sps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sps.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/sps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sps.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/sps.ts"],"names":[],"mappings":"AA6IA,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW;;;;;;;;;;;;;;;;;;;EA+K/D;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CACzC,OAAO,4BAA4B,CACtC,CAAC"}
|
package/esm/options/1_16/sps.js
CHANGED
|
@@ -31,7 +31,7 @@ class BitReader {
|
|
|
31
31
|
if (length === 0) {
|
|
32
32
|
return 0;
|
|
33
33
|
}
|
|
34
|
-
return (1 << length | this.read(length)) - 1;
|
|
34
|
+
return ((1 << length) | this.read(length)) - 1;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
function* iterateNalu(buffer) {
|
|
@@ -47,7 +47,7 @@ function* iterateNalu(buffer) {
|
|
|
47
47
|
if (inEmulation) {
|
|
48
48
|
if (byte > 0x03) {
|
|
49
49
|
// `0x00000304` or larger are invalid
|
|
50
|
-
throw new Error(
|
|
50
|
+
throw new Error("Invalid data");
|
|
51
51
|
}
|
|
52
52
|
inEmulation = false;
|
|
53
53
|
continue;
|
|
@@ -69,7 +69,7 @@ function* iterateNalu(buffer) {
|
|
|
69
69
|
continue;
|
|
70
70
|
}
|
|
71
71
|
// Not begin with start code
|
|
72
|
-
throw new Error(
|
|
72
|
+
throw new Error("Invalid data");
|
|
73
73
|
}
|
|
74
74
|
if (lastZeroCount < 2) {
|
|
75
75
|
// zero or one `0x00`s are acceptable
|
|
@@ -85,12 +85,12 @@ function* iterateNalu(buffer) {
|
|
|
85
85
|
}
|
|
86
86
|
if (lastZeroCount > 2) {
|
|
87
87
|
// Too much `0x00`s
|
|
88
|
-
throw new Error(
|
|
88
|
+
throw new Error("Invalid data");
|
|
89
89
|
}
|
|
90
90
|
switch (byte) {
|
|
91
91
|
case 0x02:
|
|
92
92
|
// Didn't find why, but 7.4.1 NAL unit semantics forbids `0x000002` appearing in NAL units
|
|
93
|
-
throw new Error(
|
|
93
|
+
throw new Error("Invalid data");
|
|
94
94
|
case 0x03:
|
|
95
95
|
// `0x000003` is the "emulation_prevention_three_byte"
|
|
96
96
|
// `0x00000300`, `0x00000301`, `0x00000302` and `0x00000303` represent
|
|
@@ -105,7 +105,7 @@ function* iterateNalu(buffer) {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
if (inEmulation || zeroCount !== 0) {
|
|
108
|
-
throw new Error(
|
|
108
|
+
throw new Error("Invalid data");
|
|
109
109
|
}
|
|
110
110
|
yield buffer.subarray(start, writeIndex);
|
|
111
111
|
}
|
|
@@ -114,7 +114,7 @@ export function parse_sequence_parameter_set(buffer) {
|
|
|
114
114
|
for (const nalu of iterateNalu(new Uint8Array(buffer))) {
|
|
115
115
|
const reader = new BitReader(nalu);
|
|
116
116
|
if (reader.next() !== 0) {
|
|
117
|
-
throw new Error(
|
|
117
|
+
throw new Error("Invalid data");
|
|
118
118
|
}
|
|
119
119
|
const nal_ref_idc = reader.read(2);
|
|
120
120
|
const nal_unit_type = reader.read(5);
|
|
@@ -122,7 +122,7 @@ export function parse_sequence_parameter_set(buffer) {
|
|
|
122
122
|
continue;
|
|
123
123
|
}
|
|
124
124
|
if (nal_ref_idc === 0) {
|
|
125
|
-
throw new Error(
|
|
125
|
+
throw new Error("Invalid data");
|
|
126
126
|
}
|
|
127
127
|
const profile_idc = reader.read(8);
|
|
128
128
|
const constraint_set = reader.read(8);
|
|
@@ -135,14 +135,21 @@ export function parse_sequence_parameter_set(buffer) {
|
|
|
135
135
|
const constraint_set5_flag = !!constraint_set_reader.next();
|
|
136
136
|
// reserved_zero_2bits
|
|
137
137
|
if (constraint_set_reader.read(2) !== 0) {
|
|
138
|
-
throw new Error(
|
|
138
|
+
throw new Error("Invalid data");
|
|
139
139
|
}
|
|
140
140
|
const level_idc = reader.read(8);
|
|
141
141
|
const seq_parameter_set_id = reader.decodeExponentialGolombNumber();
|
|
142
|
-
if (profile_idc === 100 ||
|
|
143
|
-
profile_idc ===
|
|
144
|
-
profile_idc ===
|
|
145
|
-
profile_idc ===
|
|
142
|
+
if (profile_idc === 100 ||
|
|
143
|
+
profile_idc === 110 ||
|
|
144
|
+
profile_idc === 122 ||
|
|
145
|
+
profile_idc === 244 ||
|
|
146
|
+
profile_idc === 44 ||
|
|
147
|
+
profile_idc === 83 ||
|
|
148
|
+
profile_idc === 86 ||
|
|
149
|
+
profile_idc === 118 ||
|
|
150
|
+
profile_idc === 128 ||
|
|
151
|
+
profile_idc === 138 ||
|
|
152
|
+
profile_idc === 139 ||
|
|
146
153
|
profile_idc === 134) {
|
|
147
154
|
const chroma_format_idc = reader.decodeExponentialGolombNumber();
|
|
148
155
|
if (chroma_format_idc === 3) {
|
|
@@ -158,7 +165,7 @@ export function parse_sequence_parameter_set(buffer) {
|
|
|
158
165
|
const seq_scaling_matrix_present_flag = !!reader.next();
|
|
159
166
|
if (seq_scaling_matrix_present_flag) {
|
|
160
167
|
const seq_scaling_list_present_flag = [];
|
|
161
|
-
for (let i = 0; i < (
|
|
168
|
+
for (let i = 0; i < (chroma_format_idc !== 3 ? 8 : 12); i += 1) {
|
|
162
169
|
seq_scaling_list_present_flag[i] = !!reader.next();
|
|
163
170
|
if (seq_scaling_list_present_flag[i])
|
|
164
171
|
if (i < 6) {
|
|
@@ -190,8 +197,9 @@ export function parse_sequence_parameter_set(buffer) {
|
|
|
190
197
|
reader.decodeExponentialGolombNumber();
|
|
191
198
|
const num_ref_frames_in_pic_order_cnt_cycle = reader.decodeExponentialGolombNumber();
|
|
192
199
|
const offset_for_ref_frame = [];
|
|
193
|
-
for (let i = 0; i < num_ref_frames_in_pic_order_cnt_cycle; i
|
|
194
|
-
offset_for_ref_frame[i] =
|
|
200
|
+
for (let i = 0; i < num_ref_frames_in_pic_order_cnt_cycle; i += 1) {
|
|
201
|
+
offset_for_ref_frame[i] =
|
|
202
|
+
reader.decodeExponentialGolombNumber();
|
|
195
203
|
}
|
|
196
204
|
}
|
|
197
205
|
// max_num_ref_frames
|
|
@@ -250,6 +258,6 @@ export function parse_sequence_parameter_set(buffer) {
|
|
|
250
258
|
frame_crop_bottom_offset,
|
|
251
259
|
};
|
|
252
260
|
}
|
|
253
|
-
throw new Error(
|
|
261
|
+
throw new Error("Invalid data");
|
|
254
262
|
}
|
|
255
263
|
//# sourceMappingURL=sps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../../src/options/1_16/sps.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,yBAAyB;AAEzB,MAAM,SAAS;IACH,MAAM,CAAa;IAEnB,YAAY,GAAG,CAAC,CAAC;IAEjB,WAAW,GAAG,CAAC,CAAC;IAExB,YAAmB,MAAkB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,IAAI,CAAC,MAAc;QACtB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;SACxC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,IAAI;QACP,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../../src/options/1_16/sps.ts"],"names":[],"mappings":"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"}
|
package/esm/options/1_18.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import Struct from
|
|
2
|
-
import { AndroidKeyEventAction,
|
|
3
|
-
import { ScrcpyOptions1_16, type ScrcpyOptionsInit1_16 } from
|
|
1
|
+
import Struct from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType, type AndroidKeyEventAction, type ScrcpyBackOrScreenOnControlMessage } from "../control/index.js";
|
|
3
|
+
import { ScrcpyOptions1_16, type ScrcpyOptionsInit1_16 } from "./1_16/options.js";
|
|
4
4
|
export interface ScrcpyOptionsInit1_18 extends ScrcpyOptionsInit1_16 {
|
|
5
5
|
powerOffOnClose: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare const ScrcpyBackOrScreenOnControlMessage1_18: Struct<{
|
|
8
8
|
type: ScrcpyControlMessageType.BackOrScreenOn;
|
|
9
9
|
action: AndroidKeyEventAction;
|
|
10
|
-
}, never,
|
|
11
|
-
export
|
|
10
|
+
}, never, Record<never, never>, undefined>;
|
|
11
|
+
export type ScrcpyBackOrScreenOnControlMessage1_18 = typeof ScrcpyBackOrScreenOnControlMessage1_18["TInit"];
|
|
12
12
|
export declare class ScrcpyOptions1_18<T extends ScrcpyOptionsInit1_18 = ScrcpyOptionsInit1_18> extends ScrcpyOptions1_16<T> {
|
|
13
13
|
constructor(value: Partial<ScrcpyOptionsInit1_18>);
|
|
14
14
|
protected getArgumentOrder(): (keyof T)[];
|
|
15
15
|
getDefaultValue(): T;
|
|
16
16
|
getOutputEncoderNameRegex(): RegExp;
|
|
17
17
|
getControlMessageTypes(): ScrcpyControlMessageType[];
|
|
18
|
-
serializeBackOrScreenOnControlMessage(message:
|
|
18
|
+
serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=1_18.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_18.d.ts","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,
|
|
1
|
+
{"version":3,"file":"1_18.d.ts","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACH,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kCAAkC,EAC1C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEH,iBAAiB,EACjB,KAAK,qBAAqB,EAC7B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,sCAAsC;;;0CAEO,CAAC;AAE3D,MAAM,MAAM,sCAAsC,GAC9C,OAAO,sCAAsC,CAAC,OAAO,CAAC,CAAC;AAE3D,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;cAI9B,gBAAgB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;IAIlC,eAAe,IAAI,CAAC;IAOpB,yBAAyB,IAAI,MAAM;IAInC,sBAAsB,IAAI,wBAAwB,EAAE;IAoBpD,qCAAqC,CACjD,OAAO,EAAE,kCAAkC;CAIlD"}
|
package/esm/options/1_18.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import Struct, { placeholder } from
|
|
2
|
-
import { ScrcpyControlMessageType } from
|
|
3
|
-
import { ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyOptions1_16 } from
|
|
1
|
+
import Struct, { placeholder } from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType, } from "../control/index.js";
|
|
3
|
+
import { ScrcpyBackOrScreenOnControlMessage1_16, ScrcpyOptions1_16, } from "./1_16/options.js";
|
|
4
4
|
export const ScrcpyBackOrScreenOnControlMessage1_18 = new Struct()
|
|
5
5
|
.fields(ScrcpyBackOrScreenOnControlMessage1_16)
|
|
6
|
-
.uint8(
|
|
6
|
+
.uint8("action", placeholder());
|
|
7
7
|
export class ScrcpyOptions1_18 extends ScrcpyOptions1_16 {
|
|
8
8
|
constructor(value) {
|
|
9
9
|
super(value);
|
|
10
10
|
}
|
|
11
11
|
getArgumentOrder() {
|
|
12
|
-
return super.getArgumentOrder().concat([
|
|
12
|
+
return super.getArgumentOrder().concat(["powerOffOnClose"]);
|
|
13
13
|
}
|
|
14
14
|
getDefaultValue() {
|
|
15
15
|
return {
|
package/esm/options/1_18.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_18.js","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,
|
|
1
|
+
{"version":3,"file":"1_18.js","sourceRoot":"","sources":["../../src/options/1_18.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACH,wBAAwB,GAG3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,sCAAsC,EACtC,iBAAiB,GAEpB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,MAAM,EAAE;KAC7D,MAAM,CAAC,sCAAsC,CAAC;KAC9C,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAyB,CAAC,CAAC;AAK3D,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAY,KAAqC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAEkB,gBAAgB;QAC/B,OAAO,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChE,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,eAAe,EAAE,KAAK;SACzB,CAAC;IACN,CAAC;IAEe,yBAAyB;QACrC,OAAO,6BAA6B,CAAC;IACzC,CAAC;IAEe,sBAAsB;QAClC;;;;;;;;;;;;;WAaG;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACjB,CAAC;IAEe,qCAAqC,CACjD,OAA2C;QAE3C,OAAO,sCAAsC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ"}
|
package/esm/options/1_21.d.ts
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Struct from "@yume-chan/struct";
|
|
2
|
+
import { ScrcpyControlMessageType, type ScrcpySetClipboardControlMessage } from "../control/index.js";
|
|
3
|
+
import { ScrcpyOptions1_18, type ScrcpyOptionsInit1_18 } from "./1_18.js";
|
|
2
4
|
export interface ScrcpyOptionsInit1_21 extends ScrcpyOptionsInit1_18 {
|
|
3
5
|
clipboardAutosync?: boolean;
|
|
4
6
|
}
|
|
7
|
+
export declare const ScrcpySetClipboardControlMessage1_21: Struct<{
|
|
8
|
+
type: ScrcpyControlMessageType.SetClipboard;
|
|
9
|
+
sequence: bigint;
|
|
10
|
+
paste: number;
|
|
11
|
+
length: number;
|
|
12
|
+
content: string;
|
|
13
|
+
}, "length", Record<never, never>, undefined>;
|
|
14
|
+
export type ScrcpySetClipboardControlMessage1_21 = typeof ScrcpySetClipboardControlMessage1_21["TInit"];
|
|
5
15
|
export declare class ScrcpyOptions1_21<T extends ScrcpyOptionsInit1_21 = ScrcpyOptionsInit1_21> extends ScrcpyOptions1_18<T> {
|
|
6
16
|
constructor(init: Partial<ScrcpyOptionsInit1_21>);
|
|
7
17
|
getDefaultValue(): T;
|
|
8
18
|
formatServerArguments(): string[];
|
|
19
|
+
serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
|
|
9
20
|
}
|
|
10
21
|
//# sourceMappingURL=1_21.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_21.d.ts","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAG1E,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,qBAAa,iBAAiB,
|
|
1
|
+
{"version":3,"file":"1_21.d.ts","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,wBAAwB,EACxB,KAAK,gCAAgC,EACxC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAG1E,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,eAAO,MAAM,oCAAoC;;;;;;6CAKA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAC;AAEzD,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAIvC,eAAe,IAAI,CAAC;IAOpB,qBAAqB,IAAI,MAAM,EAAE;IAYjC,mCAAmC,CAC/C,OAAO,EAAE,gCAAgC,GAC1C,UAAU;CAGhB"}
|
package/esm/options/1_21.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
// cspell: ignore autosync
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import Struct from "@yume-chan/struct";
|
|
3
|
+
import { ScrcpyControlMessageType, } from "../control/index.js";
|
|
4
|
+
import { ScrcpyOptions1_18 } from "./1_18.js";
|
|
5
|
+
import { toScrcpyOptionValue } from "./types.js";
|
|
4
6
|
function toSnakeCase(input) {
|
|
5
|
-
return input.replace(/([A-Z])/g,
|
|
7
|
+
return input.replace(/([A-Z])/g, "_$1").toLowerCase();
|
|
6
8
|
}
|
|
9
|
+
export const ScrcpySetClipboardControlMessage1_21 = new Struct()
|
|
10
|
+
.uint8("type", ScrcpyControlMessageType.SetClipboard)
|
|
11
|
+
.uint64("sequence")
|
|
12
|
+
.int8("paste")
|
|
13
|
+
.uint32("length")
|
|
14
|
+
.string("content", { lengthField: "length" });
|
|
7
15
|
export class ScrcpyOptions1_21 extends ScrcpyOptions1_18 {
|
|
8
16
|
constructor(init) {
|
|
9
17
|
super(init);
|
|
@@ -22,5 +30,8 @@ export class ScrcpyOptions1_21 extends ScrcpyOptions1_18 {
|
|
|
22
30
|
.filter((pair) => pair[1] !== undefined)
|
|
23
31
|
.map(([key, value]) => `${toSnakeCase(key)}=${value}`);
|
|
24
32
|
}
|
|
33
|
+
serializeSetClipboardControlMessage(message) {
|
|
34
|
+
return ScrcpySetClipboardControlMessage1_21.serialize(message);
|
|
35
|
+
}
|
|
25
36
|
}
|
|
26
37
|
//# sourceMappingURL=1_21.js.map
|
package/esm/options/1_21.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_21.js","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,EAAE,iBAAiB,EAA8B,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMjD,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"1_21.js","sourceRoot":"","sources":["../../src/options/1_21.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,wBAAwB,GAE3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAA8B,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMjD,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC,YAAqB,CAAC;KAC7D,MAAM,CAAC,UAAU,CAAC;KAClB,IAAI,CAAC,OAAO,CAAC;KACb,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKlD,MAAM,OAAO,iBAEX,SAAQ,iBAAoB;IAC1B,YAAmB,IAAoC;QACnD,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEe,eAAe;QAC3B,OAAO;YACH,GAAG,KAAK,CAAC,eAAe,EAAE;YAC1B,iBAAiB,EAAE,IAAI;SAC1B,CAAC;IACN,CAAC;IAEe,qBAAqB;QACjC,uCAAuC;QACvC,8CAA8C;QAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aAC5B,GAAG,CACA,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACb,CAAC,GAAG,EAAE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAU,CAC5D;aACA,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;aACjE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEe,mCAAmC,CAC/C,OAAyC;QAEzC,OAAO,oCAAoC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_22/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|