appium-android-driver 12.4.5 → 12.4.7
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.md +12 -0
- package/build/lib/commands/app-management.d.ts +167 -113
- package/build/lib/commands/app-management.d.ts.map +1 -1
- package/build/lib/commands/app-management.js +147 -103
- package/build/lib/commands/app-management.js.map +1 -1
- package/build/lib/commands/find.d.ts +20 -3
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +10 -3
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/performance.d.ts +80 -51
- package/build/lib/commands/performance.d.ts.map +1 -1
- package/build/lib/commands/performance.js +113 -89
- package/build/lib/commands/performance.js.map +1 -1
- package/build/lib/commands/shell.d.ts +21 -0
- package/build/lib/commands/shell.d.ts.map +1 -1
- package/build/lib/commands/shell.js +21 -0
- package/build/lib/commands/shell.js.map +1 -1
- package/build/lib/commands/streamscreen.d.ts +34 -64
- package/build/lib/commands/streamscreen.d.ts.map +1 -1
- package/build/lib/commands/streamscreen.js +41 -80
- package/build/lib/commands/streamscreen.js.map +1 -1
- package/lib/commands/app-management.ts +639 -0
- package/lib/commands/find.ts +20 -3
- package/lib/commands/{performance.js → performance.ts} +167 -108
- package/lib/commands/shell.ts +21 -0
- package/lib/commands/{streamscreen.js → streamscreen.ts} +86 -109
- package/package.json +2 -2
- package/lib/commands/app-management.js +0 -533
|
@@ -9,6 +9,27 @@ const driver_1 = require("appium/driver");
|
|
|
9
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
10
|
const teen_process_1 = require("teen_process");
|
|
11
11
|
const utils_1 = require("../utils");
|
|
12
|
+
/**
|
|
13
|
+
* Executes a shell command on the device via ADB.
|
|
14
|
+
*
|
|
15
|
+
* This method runs an arbitrary shell command on the Android device and returns
|
|
16
|
+
* the output. The command is executed using `adb shell` with the specified
|
|
17
|
+
* command and arguments.
|
|
18
|
+
*
|
|
19
|
+
* Requirements:
|
|
20
|
+
* - The adb_shell feature must be enabled
|
|
21
|
+
*
|
|
22
|
+
* @param command The shell command to execute (e.g., 'pm', 'dumpsys', 'getprop').
|
|
23
|
+
* @param args Optional array of command arguments.
|
|
24
|
+
* @param timeout The maximum time in milliseconds to wait for command execution.
|
|
25
|
+
* Defaults to 20000ms (20 seconds).
|
|
26
|
+
* @param includeStderr If `true`, returns both stdout and stderr in an object.
|
|
27
|
+
* If `false` or undefined, returns only stdout as a string.
|
|
28
|
+
* @returns If `includeStderr` is `true`, returns `{ stdout: string, stderr: string }`.
|
|
29
|
+
* Otherwise, returns the command output as a string.
|
|
30
|
+
* @throws {errors.InvalidArgumentError} If `command` is not a string.
|
|
31
|
+
* @throws {Error} If the command execution fails or times out.
|
|
32
|
+
*/
|
|
12
33
|
async function mobileShell(command, args = [], timeout = 20000, includeStderr) {
|
|
13
34
|
this.assertFeatureEnabled(utils_1.ADB_SHELL_FEATURE);
|
|
14
35
|
if (!lodash_1.default.isString(command)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../lib/commands/shell.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../lib/commands/shell.ts"],"names":[],"mappings":";;;;;AA2BA,kCAiCC;AA5DD,6CAAqC;AACrC,0CAAqC;AACrC,oDAAuB;AACvB,+CAAkC;AAClC,oCAA2C;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,OAAiB,EAAE,EACnB,UAAkB,KAAK,EACvB,aAAiB;IAEjB,IAAI,CAAC,oBAAoB,CAAC,yBAAiB,CAAC,CAAC;IAE7C,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;QAClF,IAAI,aAAa,EAAE,CAAC;YAClB,4CAA4C;YAC5C,OAAO;gBACL,MAAM;gBACN,MAAM;aACP,CAAC;QACJ,CAAC;QACD,4CAA4C;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,uBAAuB,OAAO,mBAAmB;YAC/C,mBAAmB,GAAG,CAAC,OAAO,IAAI;YAClC,WAAW,GAAG,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CACjD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,84 +1,54 @@
|
|
|
1
|
+
import type { AndroidDriver } from '../driver';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
3
|
+
* Starts a screen streaming session that broadcasts the device screen as an MJPEG stream.
|
|
4
|
+
*
|
|
5
|
+
* This method uses Android's `screenrecord` command to capture the screen and GStreamer
|
|
6
|
+
* to encode it as an MJPEG stream accessible via HTTP. The stream can be viewed in any
|
|
7
|
+
* web browser or MJPEG-compatible client.
|
|
8
|
+
*
|
|
9
|
+
* Requirements:
|
|
10
|
+
* - The device must have the `screenrecord` binary available
|
|
11
|
+
* - The host system must have GStreamer installed with required plugins
|
|
12
|
+
* - The ADB screen streaming feature must be enabled
|
|
13
|
+
*
|
|
14
|
+
* @param width The scaled width of the device's screen.
|
|
4
15
|
* If unset then the script will assign it to the actual screen width measured
|
|
5
16
|
* in pixels.
|
|
6
|
-
* @param
|
|
17
|
+
* @param height The scaled height of the device's screen.
|
|
7
18
|
* If unset then the script will assign it to the actual screen height
|
|
8
19
|
* measured in pixels.
|
|
9
|
-
* @param
|
|
20
|
+
* @param bitRate The video bit rate for the video, in bits per second.
|
|
10
21
|
* The default value is 4 Mb/s. You can increase the bit rate to improve video
|
|
11
22
|
* quality, but doing so results in larger movie files.
|
|
12
|
-
* @param
|
|
23
|
+
* @param host The IP address/host name to start the MJPEG server on.
|
|
13
24
|
* You can set it to `0.0.0.0` to trigger the broadcast on all available
|
|
14
25
|
* network interfaces.
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
26
|
+
* @param port The port number to start the MJPEG server on.
|
|
27
|
+
* @param tcpPort The port number to start the internal TCP MJPEG broadcast on.
|
|
28
|
+
* @param pathname The HTTP request path the MJPEG server should be available on.
|
|
18
29
|
* If unset, then any pathname on the given `host`/`port` combination will
|
|
19
30
|
* work. Note that the value should always start with a single slash: `/`
|
|
20
|
-
* @param
|
|
31
|
+
* @param quality The quality value for the streamed JPEG images.
|
|
21
32
|
* This number should be in range `[1,100]`, where `100` is the best quality.
|
|
22
|
-
* @param
|
|
33
|
+
* @param considerRotation If set to `true` then GStreamer pipeline will increase the dimensions of
|
|
23
34
|
* the resulting images to properly fit images in both landscape and portrait
|
|
24
35
|
* orientations.
|
|
25
36
|
* Set it to `true` if the device rotation is not going to be the same during
|
|
26
37
|
* the broadcasting session.
|
|
27
|
-
* @param
|
|
38
|
+
* @param logPipelineDetails Whether to log GStreamer pipeline events into the standard log output.
|
|
28
39
|
* Might be useful for debugging purposes.
|
|
29
|
-
* @
|
|
30
|
-
*/
|
|
31
|
-
export function mobileStartScreenStreaming(this:
|
|
32
|
-
export class mobileStartScreenStreaming {
|
|
33
|
-
/**
|
|
34
|
-
* @this {import('../driver').AndroidDriver}
|
|
35
|
-
* @param {number} [width] The scaled width of the device's screen.
|
|
36
|
-
* If unset then the script will assign it to the actual screen width measured
|
|
37
|
-
* in pixels.
|
|
38
|
-
* @param {number} [height] The scaled height of the device's screen.
|
|
39
|
-
* If unset then the script will assign it to the actual screen height
|
|
40
|
-
* measured in pixels.
|
|
41
|
-
* @param {number} [bitRate=4000000] The video bit rate for the video, in bits per second.
|
|
42
|
-
* The default value is 4 Mb/s. You can increase the bit rate to improve video
|
|
43
|
-
* quality, but doing so results in larger movie files.
|
|
44
|
-
* @param {string} [host='127.0.0.1'] The IP address/host name to start the MJPEG server on.
|
|
45
|
-
* You can set it to `0.0.0.0` to trigger the broadcast on all available
|
|
46
|
-
* network interfaces.
|
|
47
|
-
* @param {number} [port=8093] The port number to start the MJPEG server on.
|
|
48
|
-
* @param {number} [tcpPort=8094] The port number to start the internal TCP MJPEG broadcast on.
|
|
49
|
-
* @param {string} [pathname] The HTTP request path the MJPEG server should be available on.
|
|
50
|
-
* If unset, then any pathname on the given `host`/`port` combination will
|
|
51
|
-
* work. Note that the value should always start with a single slash: `/`
|
|
52
|
-
* @param {number} [quality=70] The quality value for the streamed JPEG images.
|
|
53
|
-
* This number should be in range `[1,100]`, where `100` is the best quality.
|
|
54
|
-
* @param {boolean} [considerRotation=false] If set to `true` then GStreamer pipeline will increase the dimensions of
|
|
55
|
-
* the resulting images to properly fit images in both landscape and portrait
|
|
56
|
-
* orientations.
|
|
57
|
-
* Set it to `true` if the device rotation is not going to be the same during
|
|
58
|
-
* the broadcasting session.
|
|
59
|
-
* @param {boolean} [logPipelineDetails=false] Whether to log GStreamer pipeline events into the standard log output.
|
|
60
|
-
* Might be useful for debugging purposes.
|
|
61
|
-
* @returns {Promise<void>}
|
|
62
|
-
*/
|
|
63
|
-
constructor(this: import("../driver").AndroidDriver, width?: number, height?: number, bitRate?: number, host?: string, port?: number, pathname?: string, tcpPort?: number, quality?: number, considerRotation?: boolean, logPipelineDetails?: boolean);
|
|
64
|
-
_screenStreamingProps: {
|
|
65
|
-
deviceStreamingProc: import("node:child_process").ChildProcessWithoutNullStreams;
|
|
66
|
-
gstreamerPipeline: any;
|
|
67
|
-
mjpegSocket: net.Socket | undefined;
|
|
68
|
-
mjpegServer: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse> | undefined;
|
|
69
|
-
} | undefined;
|
|
70
|
-
}
|
|
40
|
+
* @throws {Error} If streaming requirements are not met, ports are busy, or streaming fails to start.
|
|
41
|
+
*/
|
|
42
|
+
export declare function mobileStartScreenStreaming(this: AndroidDriver, width?: number, height?: number, bitRate?: number, host?: string, port?: number, pathname?: string, tcpPort?: number, quality?: number, considerRotation?: boolean, logPipelineDetails?: boolean): Promise<void>;
|
|
71
43
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
44
|
+
* Stops the currently running screen streaming session.
|
|
45
|
+
*
|
|
46
|
+
* This method gracefully terminates all processes involved in screen streaming:
|
|
47
|
+
* - The MJPEG HTTP server
|
|
48
|
+
* - The GStreamer pipeline
|
|
49
|
+
* - The device screen recording process
|
|
50
|
+
*
|
|
51
|
+
* If no streaming session is active, this method returns without error.
|
|
74
52
|
*/
|
|
75
|
-
export function mobileStopScreenStreaming(this:
|
|
76
|
-
export class mobileStopScreenStreaming {
|
|
77
|
-
_screenStreamingProps: any;
|
|
78
|
-
}
|
|
79
|
-
export type ADB = import("appium-adb").ADB;
|
|
80
|
-
export type AppiumLogger = import("@appium/types").AppiumLogger;
|
|
81
|
-
export type DeviceInfo = import("./types").DeviceInfo;
|
|
82
|
-
import net from 'node:net';
|
|
83
|
-
import http from 'node:http';
|
|
53
|
+
export declare function mobileStopScreenStreaming(this: AndroidDriver): Promise<void>;
|
|
84
54
|
//# sourceMappingURL=streamscreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamscreen.d.ts","sourceRoot":"","sources":["../../../lib/commands/streamscreen.
|
|
1
|
+
{"version":3,"file":"streamscreen.d.ts","sourceRoot":"","sources":["../../../lib/commands/streamscreen.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AA2B7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,GAAE,MAAqB,EAC3B,IAAI,GAAE,MAAqB,EAC3B,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,MAAyB,EAClC,OAAO,GAAE,MAAwB,EACjC,gBAAgB,GAAE,OAAe,EACjC,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,IAAI,CAAC,CAqIf;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmClF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// @ts-check
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
4
|
};
|
|
@@ -37,35 +36,45 @@ const DEFAULT_BITRATE = 4000000; // 4 Mbps
|
|
|
37
36
|
const BOUNDARY_STRING = '--2ae9746887f170b8cf7c271047ce314c';
|
|
38
37
|
const ADB_SCREEN_STREAMING_FEATURE = 'adb_screen_streaming';
|
|
39
38
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
39
|
+
* Starts a screen streaming session that broadcasts the device screen as an MJPEG stream.
|
|
40
|
+
*
|
|
41
|
+
* This method uses Android's `screenrecord` command to capture the screen and GStreamer
|
|
42
|
+
* to encode it as an MJPEG stream accessible via HTTP. The stream can be viewed in any
|
|
43
|
+
* web browser or MJPEG-compatible client.
|
|
44
|
+
*
|
|
45
|
+
* Requirements:
|
|
46
|
+
* - The device must have the `screenrecord` binary available
|
|
47
|
+
* - The host system must have GStreamer installed with required plugins
|
|
48
|
+
* - The ADB screen streaming feature must be enabled
|
|
49
|
+
*
|
|
50
|
+
* @param width The scaled width of the device's screen.
|
|
42
51
|
* If unset then the script will assign it to the actual screen width measured
|
|
43
52
|
* in pixels.
|
|
44
|
-
* @param
|
|
53
|
+
* @param height The scaled height of the device's screen.
|
|
45
54
|
* If unset then the script will assign it to the actual screen height
|
|
46
55
|
* measured in pixels.
|
|
47
|
-
* @param
|
|
56
|
+
* @param bitRate The video bit rate for the video, in bits per second.
|
|
48
57
|
* The default value is 4 Mb/s. You can increase the bit rate to improve video
|
|
49
58
|
* quality, but doing so results in larger movie files.
|
|
50
|
-
* @param
|
|
59
|
+
* @param host The IP address/host name to start the MJPEG server on.
|
|
51
60
|
* You can set it to `0.0.0.0` to trigger the broadcast on all available
|
|
52
61
|
* network interfaces.
|
|
53
|
-
* @param
|
|
54
|
-
* @param
|
|
55
|
-
* @param
|
|
62
|
+
* @param port The port number to start the MJPEG server on.
|
|
63
|
+
* @param tcpPort The port number to start the internal TCP MJPEG broadcast on.
|
|
64
|
+
* @param pathname The HTTP request path the MJPEG server should be available on.
|
|
56
65
|
* If unset, then any pathname on the given `host`/`port` combination will
|
|
57
66
|
* work. Note that the value should always start with a single slash: `/`
|
|
58
|
-
* @param
|
|
67
|
+
* @param quality The quality value for the streamed JPEG images.
|
|
59
68
|
* This number should be in range `[1,100]`, where `100` is the best quality.
|
|
60
|
-
* @param
|
|
69
|
+
* @param considerRotation If set to `true` then GStreamer pipeline will increase the dimensions of
|
|
61
70
|
* the resulting images to properly fit images in both landscape and portrait
|
|
62
71
|
* orientations.
|
|
63
72
|
* Set it to `true` if the device rotation is not going to be the same during
|
|
64
73
|
* the broadcasting session.
|
|
65
|
-
* @param
|
|
74
|
+
* @param logPipelineDetails Whether to log GStreamer pipeline events into the standard log output.
|
|
66
75
|
* Might be useful for debugging purposes.
|
|
67
|
-
* @
|
|
68
|
-
*/
|
|
76
|
+
* @throws {Error} If streaming requirements are not met, ports are busy, or streaming fails to start.
|
|
77
|
+
*/
|
|
69
78
|
async function mobileStartScreenStreaming(width, height, bitRate, host = DEFAULT_HOST, port = DEFAULT_PORT, pathname, tcpPort = DEFAULT_PORT + 1, quality = DEFAULT_QUALITY, considerRotation = false, logPipelineDetails = false) {
|
|
70
79
|
this.assertFeatureEnabled(ADB_SCREEN_STREAMING_FEATURE);
|
|
71
80
|
if (lodash_1.default.isUndefined(this._screenStreamingProps)) {
|
|
@@ -108,9 +117,7 @@ async function mobileStartScreenStreaming(width, height, bitRate, host = DEFAULT
|
|
|
108
117
|
}
|
|
109
118
|
throw e;
|
|
110
119
|
}
|
|
111
|
-
/** @type {import('node:net').Socket|undefined} */
|
|
112
120
|
let mjpegSocket;
|
|
113
|
-
/** @type {import('node:http').Server|undefined} */
|
|
114
121
|
let mjpegServer;
|
|
115
122
|
try {
|
|
116
123
|
await new bluebird_1.default((resolve, reject) => {
|
|
@@ -138,7 +145,9 @@ async function mobileStartScreenStreaming(width, height, bitRate, host = DEFAULT
|
|
|
138
145
|
Connection: 'close',
|
|
139
146
|
'Content-Type': `multipart/x-mixed-replace; boundary=${BOUNDARY_STRING}`,
|
|
140
147
|
});
|
|
141
|
-
|
|
148
|
+
if (mjpegSocket) {
|
|
149
|
+
mjpegSocket.pipe(res);
|
|
150
|
+
}
|
|
142
151
|
});
|
|
143
152
|
mjpegServer.on('error', (e) => {
|
|
144
153
|
this.log.warn(e);
|
|
@@ -182,8 +191,14 @@ async function mobileStartScreenStreaming(width, height, bitRate, host = DEFAULT
|
|
|
182
191
|
};
|
|
183
192
|
}
|
|
184
193
|
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
194
|
+
* Stops the currently running screen streaming session.
|
|
195
|
+
*
|
|
196
|
+
* This method gracefully terminates all processes involved in screen streaming:
|
|
197
|
+
* - The MJPEG HTTP server
|
|
198
|
+
* - The GStreamer pipeline
|
|
199
|
+
* - The device screen recording process
|
|
200
|
+
*
|
|
201
|
+
* If no streaming session is active, this method returns without error.
|
|
187
202
|
*/
|
|
188
203
|
async function mobileStopScreenStreaming() {
|
|
189
204
|
if (lodash_1.default.isEmpty(this._screenStreamingProps)) {
|
|
@@ -222,12 +237,6 @@ async function mobileStopScreenStreaming() {
|
|
|
222
237
|
}
|
|
223
238
|
}
|
|
224
239
|
// #region Internal helpers
|
|
225
|
-
/**
|
|
226
|
-
*
|
|
227
|
-
* @param {string} streamName
|
|
228
|
-
* @param {string} udid
|
|
229
|
-
* @returns {AppiumLogger}
|
|
230
|
-
*/
|
|
231
240
|
function createStreamingLogger(streamName, udid) {
|
|
232
241
|
return support_1.logger.getLogger(`${streamName}@` +
|
|
233
242
|
lodash_1.default.truncate(udid, {
|
|
@@ -235,10 +244,6 @@ function createStreamingLogger(streamName, udid) {
|
|
|
235
244
|
omission: '',
|
|
236
245
|
}));
|
|
237
246
|
}
|
|
238
|
-
/**
|
|
239
|
-
*
|
|
240
|
-
* @param {ADB} adb
|
|
241
|
-
*/
|
|
242
247
|
async function verifyStreamingRequirements(adb) {
|
|
243
248
|
if (!lodash_1.default.trim(await adb.shell(['which', SCREENRECORD_BINARY]))) {
|
|
244
249
|
throw new Error(`The required '${SCREENRECORD_BINARY}' binary is not available on the device under test`);
|
|
@@ -268,21 +273,13 @@ async function verifyStreamingRequirements(adb) {
|
|
|
268
273
|
}
|
|
269
274
|
await bluebird_1.default.all(moduleCheckPromises);
|
|
270
275
|
}
|
|
271
|
-
const deviceInfoRegexes =
|
|
276
|
+
const deviceInfoRegexes = [
|
|
272
277
|
['width', /\bdeviceWidth=(\d+)/],
|
|
273
278
|
['height', /\bdeviceHeight=(\d+)/],
|
|
274
279
|
['fps', /\bfps=(\d+)/],
|
|
275
|
-
]
|
|
276
|
-
/**
|
|
277
|
-
*
|
|
278
|
-
* @param {ADB} adb
|
|
279
|
-
* @param {AppiumLogger} [log]
|
|
280
|
-
*/
|
|
280
|
+
];
|
|
281
281
|
async function getDeviceInfo(adb, log) {
|
|
282
282
|
const output = await adb.shell(['dumpsys', 'display']);
|
|
283
|
-
/**
|
|
284
|
-
* @type {DeviceInfo}
|
|
285
|
-
*/
|
|
286
283
|
const result = {};
|
|
287
284
|
for (const [key, pattern] of deviceInfoRegexes) {
|
|
288
285
|
const match = pattern.exec(output);
|
|
@@ -296,14 +293,6 @@ async function getDeviceInfo(adb, log) {
|
|
|
296
293
|
result.udid = String(adb.curDeviceId);
|
|
297
294
|
return result;
|
|
298
295
|
}
|
|
299
|
-
/**
|
|
300
|
-
*
|
|
301
|
-
* @param {ADB} adb
|
|
302
|
-
* @param {AppiumLogger} log
|
|
303
|
-
* @param {DeviceInfo} deviceInfo
|
|
304
|
-
* @param {{width?: string|number, height?: string|number, bitRate?: string|number}} opts
|
|
305
|
-
* @returns
|
|
306
|
-
*/
|
|
307
296
|
async function initDeviceStreamingProc(adb, log, deviceInfo, opts = {}) {
|
|
308
297
|
const { width, height, bitRate } = opts;
|
|
309
298
|
const adjustedWidth = lodash_1.default.isUndefined(width) ? deviceInfo.width : parseInt(String(width), 10);
|
|
@@ -332,10 +321,6 @@ async function initDeviceStreamingProc(adb, log, deviceInfo, opts = {}) {
|
|
|
332
321
|
});
|
|
333
322
|
let isStarted = false;
|
|
334
323
|
const deviceStreamingLogger = createStreamingLogger(SCREENRECORD_BINARY, deviceInfo.udid);
|
|
335
|
-
/**
|
|
336
|
-
*
|
|
337
|
-
* @param {Buffer|string} chunk
|
|
338
|
-
*/
|
|
339
324
|
const errorsListener = (chunk) => {
|
|
340
325
|
const stderr = chunk.toString();
|
|
341
326
|
if (lodash_1.default.trim(stderr)) {
|
|
@@ -343,10 +328,6 @@ async function initDeviceStreamingProc(adb, log, deviceInfo, opts = {}) {
|
|
|
343
328
|
}
|
|
344
329
|
};
|
|
345
330
|
deviceStreaming.stderr.on('data', errorsListener);
|
|
346
|
-
/**
|
|
347
|
-
*
|
|
348
|
-
* @param {Buffer|string} chunk
|
|
349
|
-
*/
|
|
350
331
|
const startupListener = (chunk) => {
|
|
351
332
|
if (!isStarted) {
|
|
352
333
|
isStarted = !lodash_1.default.isEmpty(chunk);
|
|
@@ -361,8 +342,7 @@ async function initDeviceStreamingProc(adb, log, deviceInfo, opts = {}) {
|
|
|
361
342
|
});
|
|
362
343
|
}
|
|
363
344
|
catch (e) {
|
|
364
|
-
throw log.errorWithException(`Cannot start the screen streaming process. Original error: ${
|
|
365
|
-
/** @type {Error} */ (e).message}`);
|
|
345
|
+
throw log.errorWithException(`Cannot start the screen streaming process. Original error: ${e.message}`);
|
|
366
346
|
}
|
|
367
347
|
finally {
|
|
368
348
|
deviceStreaming.stderr.removeListener('data', errorsListener);
|
|
@@ -370,13 +350,6 @@ async function initDeviceStreamingProc(adb, log, deviceInfo, opts = {}) {
|
|
|
370
350
|
}
|
|
371
351
|
return deviceStreaming;
|
|
372
352
|
}
|
|
373
|
-
/**
|
|
374
|
-
*
|
|
375
|
-
* @param {import('node:child_process').ChildProcess} deviceStreamingProc
|
|
376
|
-
* @param {DeviceInfo} deviceInfo
|
|
377
|
-
* @param {AppiumLogger} log
|
|
378
|
-
* @param {import('./types').InitGStreamerPipelineOpts} opts
|
|
379
|
-
*/
|
|
380
353
|
async function initGstreamerPipeline(deviceStreamingProc, deviceInfo, log, opts) {
|
|
381
354
|
const { width, height, quality, tcpPort, considerRotation, logPipelineDetails } = opts;
|
|
382
355
|
const adjustedWidth = parseInt(String(width), 10) || deviceInfo.width;
|
|
@@ -418,11 +391,6 @@ async function initGstreamerPipeline(deviceStreamingProc, deviceInfo, log, opts)
|
|
|
418
391
|
log.debug(`Pipeline streaming process exited with code ${code}, signal ${signal}`);
|
|
419
392
|
});
|
|
420
393
|
const gstreamerLogger = createStreamingLogger('gst', deviceInfo.udid);
|
|
421
|
-
/**
|
|
422
|
-
*
|
|
423
|
-
* @param {string} stdout
|
|
424
|
-
* @param {string} stderr
|
|
425
|
-
*/
|
|
426
394
|
const gstOutputListener = (stdout, stderr) => {
|
|
427
395
|
if (lodash_1.default.trim(stderr || stdout)) {
|
|
428
396
|
gstreamerLogger.debug(stderr || stdout);
|
|
@@ -447,8 +415,7 @@ async function initGstreamerPipeline(deviceStreamingProc, deviceInfo, log, opts)
|
|
|
447
415
|
}
|
|
448
416
|
catch (e) {
|
|
449
417
|
didFail = true;
|
|
450
|
-
throw log.errorWithException(`Cannot start the screen streaming pipeline. Original error: ${
|
|
451
|
-
/** @type {Error} */ (e).message}`);
|
|
418
|
+
throw log.errorWithException(`Cannot start the screen streaming pipeline. Original error: ${e.message}`);
|
|
452
419
|
}
|
|
453
420
|
finally {
|
|
454
421
|
if (!logPipelineDetails || didFail) {
|
|
@@ -458,20 +425,14 @@ async function initGstreamerPipeline(deviceStreamingProc, deviceInfo, log, opts)
|
|
|
458
425
|
return gstreamerPipeline;
|
|
459
426
|
}
|
|
460
427
|
/**
|
|
461
|
-
* @param {import('node:http').IncomingMessage} req
|
|
462
428
|
* @privateRemarks This may need to be future-proofed, as `IncomingMessage.connection` is deprecated and its `socket` prop is likely private
|
|
463
429
|
*/
|
|
464
430
|
function extractRemoteAddress(req) {
|
|
465
431
|
return (req.headers['x-forwarded-for'] ||
|
|
466
432
|
req.socket.remoteAddress ||
|
|
467
|
-
req.connection
|
|
468
|
-
|
|
469
|
-
|
|
433
|
+
req.connection?.remoteAddress ||
|
|
434
|
+
req.connection?.socket?.remoteAddress ||
|
|
435
|
+
'unknown');
|
|
470
436
|
}
|
|
471
437
|
// #endregion
|
|
472
|
-
/**
|
|
473
|
-
* @typedef {import('appium-adb').ADB} ADB
|
|
474
|
-
* @typedef {import('@appium/types').AppiumLogger} AppiumLogger
|
|
475
|
-
* @typedef {import('./types').DeviceInfo} DeviceInfo
|
|
476
|
-
*/
|
|
477
438
|
//# sourceMappingURL=streamscreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamscreen.js","sourceRoot":"","sources":["../../../lib/commands/streamscreen.js"],"names":[],"mappings":";AAAA,YAAY;;;;;AAiEZ,gEAgJC;AAMD,8DAmCC;AAxPD,6CAAyD;AACzD,uCAA0C;AAC1C,wDAAyB;AACzB,oDAAuB;AACvB,2DAAyC;AACzC,0DAA6B;AAC7B,wDAA2B;AAC3B,wDAA2B;AAC3B,6CAA4C;AAC5C,+CAA8C;AAE9C,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,gBAAgB,GAAG,iBAAiB,gBAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7E,MAAM,kBAAkB,GAAG,kBAAkB,gBAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAChF,MAAM,oBAAoB,GAAG;IAC3B,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,kBAAkB;IAC3B,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,kBAAkB;CACjC,CAAC;AACF,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAC3C,MAAM,gBAAgB,GAAG,uEAAuE,CAAC;AACjG,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,QAAQ,GAAG,WAAW,CAAC;AAC7B,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,SAAS;AAC1C,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAE7D,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BE;AACK,KAAK,UAAU,0BAA0B,CAC9C,KAAK,EACL,MAAM,EACN,OAAO,EACP,IAAI,GAAG,YAAY,EACnB,IAAI,GAAG,YAAY,EACnB,QAAQ,EACR,OAAO,GAAG,YAAY,GAAG,CAAC,EAC1B,OAAO,GAAG,eAAe,EACzB,gBAAgB,GAAG,KAAK,EACxB,kBAAkB,GAAG,KAAK;IAE1B,IAAI,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IAExD,IAAI,gBAAC,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC9C,MAAM,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,mDAAmD;YACjD,4CAA4C,CAC/C,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,IAAA,6BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,aAAa,IAAI,OAAO,IAAI,YAAY,GAAG,kDAAkD,CAC9F,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,IAAA,6BAAe,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,aAAa,OAAO,OAAO,QAAQ,YAAY;YAC7C,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAEvC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,mBAAmB,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE;QACxF,KAAK;QACL,MAAM;QACN,OAAO;KACR,CAAC,CAAC;IACH,IAAI,iBAAiB,CAAC;IACtB,IAAI,CAAC;QACH,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACzF,KAAK;YACL,MAAM;YACN,OAAO;YACP,OAAO;YACP,gBAAgB;YAChB,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IAED,kDAAkD;IAClD,IAAI,WAAW,CAAC;IAChB,mDAAmD;IACnD,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,IAAI,kBAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9B,WAAW,GAAG,kBAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;gBACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mDAAmD,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC;gBACxF,WAAW,GAAG,mBAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC3C,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,eAAe,GAAG,kBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,oDAAoD,aAAa,GAAG;wBAClE,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,oBAAoB,QAAQ,eAAe,EAAE,CACjF,CAAC;oBAEF,IAAI,QAAQ,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;wBAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,4EAA4E,CAC7E,CAAC;wBACF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;4BACjB,UAAU,EAAE,OAAO;4BACnB,cAAc,EAAE,2BAA2B;yBAC5C,CAAC,CAAC;wBACH,GAAG,CAAC,KAAK,CAAC,IAAI,eAAe,qCAAqC,CAAC,CAAC;wBACpE,GAAG,CAAC,GAAG,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;oBAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;wBACjB,eAAe,EACb,2EAA2E;wBAC7E,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,OAAO;wBACnB,cAAc,EAAE,uCAAuC,eAAe,EAAE;qBACzE,CAAC,CAAC;oBAEH,wCAAwC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,IAAI,IAAI,IAAI,kBAAkB,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;oBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC7E,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,OAAO,CACR,4BAA4B,EAC5B,iDAAiD,4BAA4B,IAAI,CAClF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,WAAW,EAAE,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,qBAAqB,GAAG;QAC3B,mBAAmB;QACnB,iBAAiB;QACjB,WAAW;QACX,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,yBAAyB;IAC7C,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,gBAAC,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,EAAC,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAC,GACtE,IAAI,CAAC,qBAAqB,CAAC;IAE7B,IAAI,CAAC;QACH,WAAW,CAAC,GAAG,EAAE,CAAC;QAClB,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1B,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC7E,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACzC,CAAC;AACH,CAAC;AAED,2BAA2B;AAE3B;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,UAAU,EAAE,IAAI;IAC7C,OAAO,gBAAM,CAAC,SAAS,CACrB,GAAG,UAAU,GAAG;QACd,gBAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;YACf,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,EAAE;SACb,CAAC,CACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,2BAA2B,CAAC,GAAG;IAC5C,IAAI,CAAC,gBAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,iBAAiB,mBAAmB,oDAAoD,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,sBAAsB,GAAG,EAAE,CAAC;IAClC,KAAK,MAAM,UAAU,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAChE,sBAAsB,CAAC,IAAI,CACzB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,YAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,QAAQ,UAAU,4DAA4D;oBAC5E,OAAO,gBAAgB,yCAAyC,CACnE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC;IACD,MAAM,kBAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC9D,mBAAmB,CAAC,IAAI,CACtB,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,WAAW,OAAO,6BAA6B;oBACnF,OAAO,gBAAgB,yCAAyC,CACnE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC;IACD,MAAM,kBAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,CAAC;IAC9C,CAAC,OAAO,EAAE,qBAAqB,CAAC;IAChC,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAClC,CAAC,KAAK,EAAE,aAAa,CAAC;CACvB,CAAC,CAAC;AAEH;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,GAAG,EAAE,GAAG;IACnC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACvD;;OAEG;IACH,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,2BAA2B,GAAG,gCAAgC;gBAC5D,wCAAwC,CAC3C,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE;IACpE,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,aAAa,GAAG,gBAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,MAAM,cAAc,GAAG,gBAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAChG,MAAM,eAAe,GAAG,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,IAAI,eAAe,GACjB,mBAAmB;QACnB,uBAAuB;QACvB,+CAA+C;QAC/C,iBAAiB,sBAAsB,EAAE,CAAC;IAC5C,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,eAAe,IAAI,WAAW,aAAa,IAAI,cAAc,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,eAAe,IAAI,eAAe,eAAe,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG;QACd,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW;QAC7B,UAAU;QACV,uEAAuE;QACvE,qCAAqC;QACrC,kBAAkB,eAAe,UAAU;KAC5C,CAAC;IACF,MAAM,eAAe,GAAG,IAAA,0BAAK,EAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAC1C,GAAG,CAAC,KAAK,CAAC,6CAA6C,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1F;;;OAGG;IACH,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IACF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAElD;;;OAGG;IACH,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,CAAC,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IACF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,8BAA8B,cAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE;YACtC,MAAM,EAAE,4BAA4B;YACpC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,CAAC,kBAAkB,CAC1B,8DAA8D;QAC5D,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,OAC3B,EAAE,CACH,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,qBAAqB,CAAC,mBAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI;IAC7E,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC;IACrF,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;IACtE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;IACzE,MAAM,iBAAiB,GAAG,IAAI,yBAAU,CACtC,gBAAgB,EAChB;QACE,IAAI;QACJ,OAAO;QACP,MAAM;QACN,GAAG;QACH,eAAe;YACb,SAAS,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG;YACtF,UAAU,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG;YACxF,aAAa,UAAU,CAAC,GAAG,KAAK;YAChC,kBAAkB;QACpB,GAAG;QACH,WAAW;QACX,GAAG;QACH,OAAO;QACP,kBAAkB;QAClB,GAAG;QACH,YAAY;QACZ,GAAG;QACH,OAAO;QACP,kBAAkB;QAClB,GAAG;QACH,SAAS;QACT,WAAW,OAAO,EAAE;QACpB,GAAG;QACH,cAAc;QACd,YAAY,eAAe,EAAE;QAC7B,GAAG;QACH,eAAe;QACf,QAAQ,QAAQ,EAAE;QAClB,QAAQ,OAAO,EAAE;KAClB,EACD;QACE,KAAK,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KACpD,CACF,CAAC;IACF,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAC5C,GAAG,CAAC,KAAK,CAAC,+CAA+C,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACtE;;;;OAIG;IACH,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,gBAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;YAC7B,eAAe,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;IACF,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAClD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,gCAAgC,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAA,2BAAgB,EACpB,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,IAAA,6BAAe,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,EACD;YACE,MAAM,EAAE,4BAA4B;YACpC,UAAU,EAAE,GAAG;SAChB,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,GAAG,CAAC,kBAAkB,CAC1B,+DAA+D;QAC7D,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,OAC3B,EAAE,CACH,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,kBAAkB,IAAI,OAAO,EAAE,CAAC;YACnC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,GAAG;IAC/B,OAAO,CACL,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC9B,GAAG,CAAC,MAAM,CAAC,aAAa;QACxB,GAAG,CAAC,UAAU,CAAC,aAAa;QAC5B,iDAAiD;QACjD,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CACpC,CAAC;AACJ,CAAC;AAED,aAAa;AAEb;;;;GAIG"}
|
|
1
|
+
{"version":3,"file":"streamscreen.js","sourceRoot":"","sources":["../../../lib/commands/streamscreen.ts"],"names":[],"mappings":"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"}
|