Loading .vscode/settings.json +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ "Nalu", "opendir", "PKCS", "ponyfill", "runtimes", "Scrcpy", "sendrecv", Loading apps/demo/src/pages/scrcpy.tsx +10 −9 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ import { CSSProperties, ReactNode, useEffect, useState } from "react"; import { ADB_SYNC_MAX_PACKET_SIZE, ChunkStream, InspectStream, ReadableStream, WritableStream } from '@yume-chan/adb'; import { EventEmitter } from "@yume-chan/event"; import { AndroidKeyCode, AndroidKeyEventAction, AndroidMotionEventAction, CodecOptions, DEFAULT_SERVER_PATH, pushServer, ScrcpyClient, ScrcpyLogLevel, ScrcpyOptions1_24, ScrcpyVideoOrientation, TinyH264Decoder, WebCodecsDecoder, type H264Decoder, type H264DecoderConstructor, type VideoStreamPacket } from "@yume-chan/scrcpy"; import { AdbScrcpyClient, AndroidKeyCode, AndroidKeyEventAction, AndroidMotionEventAction, CodecOptions, DEFAULT_SERVER_PATH, ScrcpyClient, ScrcpyLogLevel, ScrcpyOptions1_24, ScrcpyVideoOrientation, TinyH264Decoder, WebCodecsDecoder, type H264Decoder, type H264DecoderConstructor, type VideoStreamPacket } from "@yume-chan/scrcpy"; import SCRCPY_SERVER_VERSION from '@yume-chan/scrcpy/bin/version'; import { DemoModePanel, DeviceView, DeviceViewRef, ExternalLink } from "../components"; Loading Loading @@ -223,6 +223,8 @@ const SettingItem = observer(function SettingItem({ }); class ScrcpyPageState { adbScrcpyClient: AdbScrcpyClient | null = null; running = false; deviceView: DeviceViewRef | null = null; Loading Loading @@ -252,7 +254,7 @@ class ScrcpyPageState { controller.close(); }, }) .pipeTo(pushServer(GlobalState.device!)); .pipeTo(this.adbScrcpyClient!.pushServer()); } encoders: string[] = []; Loading @@ -260,8 +262,7 @@ class ScrcpyPageState { try { await this.pushServer(); const encoders = await ScrcpyClient.getEncoders( GlobalState.device!, const encoders = await this.adbScrcpyClient!.getEncoders( DEFAULT_SERVER_PATH, SCRCPY_SERVER_VERSION, new ScrcpyOptions1_24({ Loading Loading @@ -296,8 +297,7 @@ class ScrcpyPageState { try { await this.pushServer(); const displays = await ScrcpyClient.getDisplays( GlobalState.device!, const displays = await this.adbScrcpyClient!.getDisplays( DEFAULT_SERVER_PATH, SCRCPY_SERVER_VERSION, new ScrcpyOptions1_24({ Loading Loading @@ -631,6 +631,8 @@ class ScrcpyPageState { autorun(() => { if (GlobalState.device) { runInAction(() => { this.adbScrcpyClient = new AdbScrcpyClient(GlobalState.device!); this.encoders = []; this.settings.encoderName = undefined; Loading Loading @@ -721,7 +723,7 @@ class ScrcpyPageState { .pipeThrough(new ProgressStream(action((progress) => { this.serverUploadedSize = progress; }))) .pipeTo(pushServer(GlobalState.device)); .pipeTo(this.adbScrcpyClient!.pushServer()); runInAction(() => { this.serverUploadSpeed = this.serverUploadedSize - this.debouncedServerUploadedSize; Loading Loading @@ -763,8 +765,7 @@ class ScrcpyPageState { this.log.push(`[client] Server arguments: ${options.formatServerArguments().join(' ')}`); }); const client = await ScrcpyClient.start( GlobalState.device, const client = await this.adbScrcpyClient!.start( DEFAULT_SERVER_PATH, SCRCPY_SERVER_VERSION, options Loading common/config/rush/pnpm-lock.yaml +38 −47 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ specifiers: eslint: 8.8.0 eslint-config-next: 12.1.6 file-loader: ^6.2.0 gh-release-fetch: ^2.0.4 jest: ^28.1.0 json5: ^2.2.0 mini-svg-data-uri: ^1.3.3 Loading @@ -51,7 +50,6 @@ specifiers: react-dom: ^17.0.2 source-map-loader: ^3.0.1 streamsaver: ^2.0.5 tinyh264: ^0.0.7 ts-jest: ^28.0.2 tslib: ^2.3.1 typescript: 4.7.2 Loading @@ -62,8 +60,6 @@ specifiers: xterm-addon-fit: ^0.5.0 xterm-addon-search: ^0.8.2 xterm-addon-webgl: ^0.11.4 yuv-buffer: ^1.0.0 yuv-canvas: ^1.2.7 dependencies: '@docusaurus/core': 2.0.0-beta.20_18c7f5bed56412102790ca2f4f7ad3a4 Loading Loading @@ -103,7 +99,6 @@ dependencies: eslint: 8.8.0 eslint-config-next: 12.1.6_2286f1b09044d38231576974883dc607 file-loader: 6.2.0 gh-release-fetch: 2.0.6 jest: 28.1.0_@types+node@17.0.33 json5: 2.2.1 mini-svg-data-uri: 1.4.4 Loading @@ -116,7 +111,6 @@ dependencies: react-dom: 17.0.2_react@17.0.2 source-map-loader: 3.0.1 streamsaver: 2.0.6 tinyh264: 0.0.7 ts-jest: 28.0.2_jest@28.1.0+typescript@4.7.2 tslib: 2.4.0 typescript: 4.7.2 Loading @@ -127,8 +121,6 @@ dependencies: xterm-addon-fit: 0.5.0_xterm@4.18.0 xterm-addon-search: 0.8.2_xterm@4.18.0 xterm-addon-webgl: 0.11.4_xterm@4.18.0 yuv-buffer: 1.0.0 yuv-canvas: 1.2.11 packages: Loading Loading @@ -3908,7 +3900,7 @@ packages: dev: false /archive-type/4.0.0: resolution: {integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=} resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} engines: {node: '>=4'} dependencies: file-type: 4.4.0 Loading Loading @@ -3994,7 +3986,7 @@ packages: dev: false /asynckit/0.4.0: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /at-least-node/1.0.0: Loading Loading @@ -4336,11 +4328,11 @@ packages: dev: false /buffer-crc32/0.2.13: resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false /buffer-fill/1.0.0: resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=} resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} dev: false /buffer-from/1.1.2: Loading @@ -4365,7 +4357,7 @@ packages: dev: false /cacheable-request/2.1.4: resolution: {integrity: sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=} resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} dependencies: clone-response: 1.0.2 get-stream: 3.0.0 Loading Loading @@ -5072,7 +5064,7 @@ packages: dev: false /decode-uri-component/0.2.0: resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} engines: {node: '>=0.10'} dev: false Loading Loading @@ -5113,7 +5105,7 @@ packages: dev: false /decompress-unzip/4.0.1: resolution: {integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k=} resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} engines: {node: '>=4'} dependencies: file-type: 3.9.0 Loading Loading @@ -5193,7 +5185,7 @@ packages: dev: false /delayed-stream/1.0.0: resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: false Loading Loading @@ -5988,7 +5980,7 @@ packages: dev: false /fd-slicer/1.1.0: resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} dependencies: pend: 1.2.0 dev: false Loading Loading @@ -6034,17 +6026,17 @@ packages: dev: false /file-type/3.9.0: resolution: {integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek=} resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} engines: {node: '>=0.10.0'} dev: false /file-type/4.4.0: resolution: {integrity: sha1-G2AOX8ofvcboDApwxxyNul95BsU=} resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} engines: {node: '>=4'} dev: false /file-type/5.2.0: resolution: {integrity: sha1-LdvqfHP/42No365J3DOMBYwritY=} resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} engines: {node: '>=4'} dev: false Loading @@ -6054,7 +6046,7 @@ packages: dev: false /filename-reserved-regex/2.0.0: resolution: {integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik=} resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} engines: {node: '>=4'} dev: false Loading Loading @@ -6221,7 +6213,7 @@ packages: dev: false /from2/2.3.0: resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} dependencies: inherits: 2.0.4 readable-stream: 2.3.7 Loading Loading @@ -6316,7 +6308,7 @@ packages: dev: false /get-stream/2.3.1: resolution: {integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=} resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} engines: {node: '>=0.10.0'} dependencies: object-assign: 4.1.1 Loading @@ -6324,7 +6316,7 @@ packages: dev: false /get-stream/3.0.0: resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=} resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} engines: {node: '>=4'} dev: false Loading Loading @@ -6355,15 +6347,14 @@ packages: get-intrinsic: 1.1.1 dev: false /gh-release-fetch/2.0.6: resolution: {integrity: sha512-l+x05y91qHgdrh66TjM0ZQ+tg5tg6tY4nkMB1iZ+geWD6aMBGNe5//4JDIMFTiHEZPbo72my8FcK9i2WADWPCg==} engines: {node: '>=10'} /gh-release-fetch/3.0.2: resolution: {integrity: sha512-xcX1uaOVDvsm+io4bvJfBFpQCLfoI3DsFay2GBMUtEnNInbNFFZqxTh7X0WIorCDtOmtos5atp2BGHAGEzmlAg==} engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: '@types/download': 8.0.1 '@types/node-fetch': 2.6.1 '@types/semver': 7.3.9 download: 8.0.0 make-dir: 3.1.0 node-fetch: 2.6.7 semver: 7.3.7 transitivePeerDependencies: Loading Loading @@ -6965,7 +6956,7 @@ packages: dev: false /into-stream/3.1.0: resolution: {integrity: sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=} resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} engines: {node: '>=4'} dependencies: from2: 2.3.0 Loading Loading @@ -7104,7 +7095,7 @@ packages: dev: false /is-natural-number/4.0.1: resolution: {integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=} resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} dev: false /is-negative-zero/2.0.2: Loading Loading @@ -7154,7 +7145,7 @@ packages: dev: false /is-plain-obj/1.1.0: resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -7205,7 +7196,7 @@ packages: dev: false /is-stream/1.1.0: resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -8045,7 +8036,7 @@ packages: dev: false /lowercase-keys/1.0.0: resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=} resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -8593,12 +8584,12 @@ packages: dev: false /p-finally/1.0.0: resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} dev: false /p-is-promise/1.1.0: resolution: {integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=} resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} engines: {node: '>=4'} dev: false Loading Loading @@ -8806,7 +8797,7 @@ packages: dev: false /pend/1.2.0: resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: false /picocolors/1.0.0: Loading @@ -8819,12 +8810,12 @@ packages: dev: false /pify/2.3.0: resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} dev: false /pify/3.0.0: resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} dev: false Loading @@ -8834,14 +8825,14 @@ packages: dev: false /pinkie-promise/2.0.1: resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} engines: {node: '>=0.10.0'} dependencies: pinkie: 2.0.4 dev: false /pinkie/2.0.4: resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -10252,21 +10243,21 @@ packages: dev: false /sort-keys-length/1.0.1: resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=} resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} engines: {node: '>=0.10.0'} dependencies: sort-keys: 1.1.2 dev: false /sort-keys/1.1.2: resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=} resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} engines: {node: '>=0.10.0'} dependencies: is-plain-obj: 1.1.0 dev: false /sort-keys/2.0.0: resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} engines: {node: '>=4'} dependencies: is-plain-obj: 1.1.0 Loading Loading @@ -10391,7 +10382,7 @@ packages: dev: false /strict-uri-encode/1.1.0: resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -11784,7 +11775,7 @@ packages: dev: false file:projects/demo.tgz_@mdx-js+react@1.6.22: resolution: {integrity: sha512-L7E5kSZb12r38EuntJ+rQjRmhduSBo0EANWMliv6GH6RQykgkVqHqscH1d4VvUM0KuVm5F0oeii1pJzymCdIrg==, tarball: file:projects/demo.tgz} resolution: {integrity: sha512-gl5GkBO/BxTaB9ztOpDJnkUtk9rdfKeVyZU0JUPYAKEfvhdPMgv+80lEL3WaUHb9zZMZ3Jy/Pslu74KL1PtsQg==, tarball: file:projects/demo.tgz} id: file:projects/demo.tgz name: '@rush-temp/demo' version: 0.0.0 Loading Loading @@ -11844,7 +11835,7 @@ packages: dev: false file:projects/scrcpy.tgz_@types+node@17.0.33: resolution: {integrity: sha512-jCMSIItmtChytyjlkM594BanuzULuZ/Z9rVcQZxwh84HNtjqGnERhTR8zTUQTO6s/1QYgXaIKmtbDMauwAQTTg==, tarball: file:projects/scrcpy.tgz} resolution: {integrity: sha512-gWbbAg9u4YI8EMw0I5T7VUJlYhzGCP6cq3StmKWhqsSW2TjBECFNvmvjk7TB9BG3OohqjiFriDoEBElKqgLlgQ==, tarball: file:projects/scrcpy.tgz} id: file:projects/scrcpy.tgz name: '@rush-temp/scrcpy' version: 0.0.0 Loading @@ -11852,7 +11843,7 @@ packages: '@jest/globals': 28.1.0 '@types/dom-webcodecs': 0.1.4 '@yume-chan/async': 2.1.4 gh-release-fetch: 2.0.6 gh-release-fetch: 3.0.2 jest: 28.1.0_@types+node@17.0.33 tinyh264: 0.0.7 tslib: 2.4.0 Loading common/config/rush/repo-state.json +1 −1 Original line number Diff line number Diff line // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { "pnpmShrinkwrapHash": "084447760927a169dd324c486492ee2effdc3820" "pnpmShrinkwrapHash": "3798fc5f6f6c673b1888e77923d3eeace5651923" } libraries/scrcpy/README.md +251 −33 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
.vscode/settings.json +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ "Nalu", "opendir", "PKCS", "ponyfill", "runtimes", "Scrcpy", "sendrecv", Loading
apps/demo/src/pages/scrcpy.tsx +10 −9 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ import { CSSProperties, ReactNode, useEffect, useState } from "react"; import { ADB_SYNC_MAX_PACKET_SIZE, ChunkStream, InspectStream, ReadableStream, WritableStream } from '@yume-chan/adb'; import { EventEmitter } from "@yume-chan/event"; import { AndroidKeyCode, AndroidKeyEventAction, AndroidMotionEventAction, CodecOptions, DEFAULT_SERVER_PATH, pushServer, ScrcpyClient, ScrcpyLogLevel, ScrcpyOptions1_24, ScrcpyVideoOrientation, TinyH264Decoder, WebCodecsDecoder, type H264Decoder, type H264DecoderConstructor, type VideoStreamPacket } from "@yume-chan/scrcpy"; import { AdbScrcpyClient, AndroidKeyCode, AndroidKeyEventAction, AndroidMotionEventAction, CodecOptions, DEFAULT_SERVER_PATH, ScrcpyClient, ScrcpyLogLevel, ScrcpyOptions1_24, ScrcpyVideoOrientation, TinyH264Decoder, WebCodecsDecoder, type H264Decoder, type H264DecoderConstructor, type VideoStreamPacket } from "@yume-chan/scrcpy"; import SCRCPY_SERVER_VERSION from '@yume-chan/scrcpy/bin/version'; import { DemoModePanel, DeviceView, DeviceViewRef, ExternalLink } from "../components"; Loading Loading @@ -223,6 +223,8 @@ const SettingItem = observer(function SettingItem({ }); class ScrcpyPageState { adbScrcpyClient: AdbScrcpyClient | null = null; running = false; deviceView: DeviceViewRef | null = null; Loading Loading @@ -252,7 +254,7 @@ class ScrcpyPageState { controller.close(); }, }) .pipeTo(pushServer(GlobalState.device!)); .pipeTo(this.adbScrcpyClient!.pushServer()); } encoders: string[] = []; Loading @@ -260,8 +262,7 @@ class ScrcpyPageState { try { await this.pushServer(); const encoders = await ScrcpyClient.getEncoders( GlobalState.device!, const encoders = await this.adbScrcpyClient!.getEncoders( DEFAULT_SERVER_PATH, SCRCPY_SERVER_VERSION, new ScrcpyOptions1_24({ Loading Loading @@ -296,8 +297,7 @@ class ScrcpyPageState { try { await this.pushServer(); const displays = await ScrcpyClient.getDisplays( GlobalState.device!, const displays = await this.adbScrcpyClient!.getDisplays( DEFAULT_SERVER_PATH, SCRCPY_SERVER_VERSION, new ScrcpyOptions1_24({ Loading Loading @@ -631,6 +631,8 @@ class ScrcpyPageState { autorun(() => { if (GlobalState.device) { runInAction(() => { this.adbScrcpyClient = new AdbScrcpyClient(GlobalState.device!); this.encoders = []; this.settings.encoderName = undefined; Loading Loading @@ -721,7 +723,7 @@ class ScrcpyPageState { .pipeThrough(new ProgressStream(action((progress) => { this.serverUploadedSize = progress; }))) .pipeTo(pushServer(GlobalState.device)); .pipeTo(this.adbScrcpyClient!.pushServer()); runInAction(() => { this.serverUploadSpeed = this.serverUploadedSize - this.debouncedServerUploadedSize; Loading Loading @@ -763,8 +765,7 @@ class ScrcpyPageState { this.log.push(`[client] Server arguments: ${options.formatServerArguments().join(' ')}`); }); const client = await ScrcpyClient.start( GlobalState.device, const client = await this.adbScrcpyClient!.start( DEFAULT_SERVER_PATH, SCRCPY_SERVER_VERSION, options Loading
common/config/rush/pnpm-lock.yaml +38 −47 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ specifiers: eslint: 8.8.0 eslint-config-next: 12.1.6 file-loader: ^6.2.0 gh-release-fetch: ^2.0.4 jest: ^28.1.0 json5: ^2.2.0 mini-svg-data-uri: ^1.3.3 Loading @@ -51,7 +50,6 @@ specifiers: react-dom: ^17.0.2 source-map-loader: ^3.0.1 streamsaver: ^2.0.5 tinyh264: ^0.0.7 ts-jest: ^28.0.2 tslib: ^2.3.1 typescript: 4.7.2 Loading @@ -62,8 +60,6 @@ specifiers: xterm-addon-fit: ^0.5.0 xterm-addon-search: ^0.8.2 xterm-addon-webgl: ^0.11.4 yuv-buffer: ^1.0.0 yuv-canvas: ^1.2.7 dependencies: '@docusaurus/core': 2.0.0-beta.20_18c7f5bed56412102790ca2f4f7ad3a4 Loading Loading @@ -103,7 +99,6 @@ dependencies: eslint: 8.8.0 eslint-config-next: 12.1.6_2286f1b09044d38231576974883dc607 file-loader: 6.2.0 gh-release-fetch: 2.0.6 jest: 28.1.0_@types+node@17.0.33 json5: 2.2.1 mini-svg-data-uri: 1.4.4 Loading @@ -116,7 +111,6 @@ dependencies: react-dom: 17.0.2_react@17.0.2 source-map-loader: 3.0.1 streamsaver: 2.0.6 tinyh264: 0.0.7 ts-jest: 28.0.2_jest@28.1.0+typescript@4.7.2 tslib: 2.4.0 typescript: 4.7.2 Loading @@ -127,8 +121,6 @@ dependencies: xterm-addon-fit: 0.5.0_xterm@4.18.0 xterm-addon-search: 0.8.2_xterm@4.18.0 xterm-addon-webgl: 0.11.4_xterm@4.18.0 yuv-buffer: 1.0.0 yuv-canvas: 1.2.11 packages: Loading Loading @@ -3908,7 +3900,7 @@ packages: dev: false /archive-type/4.0.0: resolution: {integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=} resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} engines: {node: '>=4'} dependencies: file-type: 4.4.0 Loading Loading @@ -3994,7 +3986,7 @@ packages: dev: false /asynckit/0.4.0: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /at-least-node/1.0.0: Loading Loading @@ -4336,11 +4328,11 @@ packages: dev: false /buffer-crc32/0.2.13: resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false /buffer-fill/1.0.0: resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=} resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} dev: false /buffer-from/1.1.2: Loading @@ -4365,7 +4357,7 @@ packages: dev: false /cacheable-request/2.1.4: resolution: {integrity: sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=} resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} dependencies: clone-response: 1.0.2 get-stream: 3.0.0 Loading Loading @@ -5072,7 +5064,7 @@ packages: dev: false /decode-uri-component/0.2.0: resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} engines: {node: '>=0.10'} dev: false Loading Loading @@ -5113,7 +5105,7 @@ packages: dev: false /decompress-unzip/4.0.1: resolution: {integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k=} resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} engines: {node: '>=4'} dependencies: file-type: 3.9.0 Loading Loading @@ -5193,7 +5185,7 @@ packages: dev: false /delayed-stream/1.0.0: resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: false Loading Loading @@ -5988,7 +5980,7 @@ packages: dev: false /fd-slicer/1.1.0: resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} dependencies: pend: 1.2.0 dev: false Loading Loading @@ -6034,17 +6026,17 @@ packages: dev: false /file-type/3.9.0: resolution: {integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek=} resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} engines: {node: '>=0.10.0'} dev: false /file-type/4.4.0: resolution: {integrity: sha1-G2AOX8ofvcboDApwxxyNul95BsU=} resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} engines: {node: '>=4'} dev: false /file-type/5.2.0: resolution: {integrity: sha1-LdvqfHP/42No365J3DOMBYwritY=} resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} engines: {node: '>=4'} dev: false Loading @@ -6054,7 +6046,7 @@ packages: dev: false /filename-reserved-regex/2.0.0: resolution: {integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik=} resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} engines: {node: '>=4'} dev: false Loading Loading @@ -6221,7 +6213,7 @@ packages: dev: false /from2/2.3.0: resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} dependencies: inherits: 2.0.4 readable-stream: 2.3.7 Loading Loading @@ -6316,7 +6308,7 @@ packages: dev: false /get-stream/2.3.1: resolution: {integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=} resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} engines: {node: '>=0.10.0'} dependencies: object-assign: 4.1.1 Loading @@ -6324,7 +6316,7 @@ packages: dev: false /get-stream/3.0.0: resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=} resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} engines: {node: '>=4'} dev: false Loading Loading @@ -6355,15 +6347,14 @@ packages: get-intrinsic: 1.1.1 dev: false /gh-release-fetch/2.0.6: resolution: {integrity: sha512-l+x05y91qHgdrh66TjM0ZQ+tg5tg6tY4nkMB1iZ+geWD6aMBGNe5//4JDIMFTiHEZPbo72my8FcK9i2WADWPCg==} engines: {node: '>=10'} /gh-release-fetch/3.0.2: resolution: {integrity: sha512-xcX1uaOVDvsm+io4bvJfBFpQCLfoI3DsFay2GBMUtEnNInbNFFZqxTh7X0WIorCDtOmtos5atp2BGHAGEzmlAg==} engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} dependencies: '@types/download': 8.0.1 '@types/node-fetch': 2.6.1 '@types/semver': 7.3.9 download: 8.0.0 make-dir: 3.1.0 node-fetch: 2.6.7 semver: 7.3.7 transitivePeerDependencies: Loading Loading @@ -6965,7 +6956,7 @@ packages: dev: false /into-stream/3.1.0: resolution: {integrity: sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=} resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} engines: {node: '>=4'} dependencies: from2: 2.3.0 Loading Loading @@ -7104,7 +7095,7 @@ packages: dev: false /is-natural-number/4.0.1: resolution: {integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=} resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} dev: false /is-negative-zero/2.0.2: Loading Loading @@ -7154,7 +7145,7 @@ packages: dev: false /is-plain-obj/1.1.0: resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -7205,7 +7196,7 @@ packages: dev: false /is-stream/1.1.0: resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -8045,7 +8036,7 @@ packages: dev: false /lowercase-keys/1.0.0: resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=} resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -8593,12 +8584,12 @@ packages: dev: false /p-finally/1.0.0: resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} dev: false /p-is-promise/1.1.0: resolution: {integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=} resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} engines: {node: '>=4'} dev: false Loading Loading @@ -8806,7 +8797,7 @@ packages: dev: false /pend/1.2.0: resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: false /picocolors/1.0.0: Loading @@ -8819,12 +8810,12 @@ packages: dev: false /pify/2.3.0: resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} dev: false /pify/3.0.0: resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} dev: false Loading @@ -8834,14 +8825,14 @@ packages: dev: false /pinkie-promise/2.0.1: resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} engines: {node: '>=0.10.0'} dependencies: pinkie: 2.0.4 dev: false /pinkie/2.0.4: resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -10252,21 +10243,21 @@ packages: dev: false /sort-keys-length/1.0.1: resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=} resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} engines: {node: '>=0.10.0'} dependencies: sort-keys: 1.1.2 dev: false /sort-keys/1.1.2: resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=} resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} engines: {node: '>=0.10.0'} dependencies: is-plain-obj: 1.1.0 dev: false /sort-keys/2.0.0: resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} engines: {node: '>=4'} dependencies: is-plain-obj: 1.1.0 Loading Loading @@ -10391,7 +10382,7 @@ packages: dev: false /strict-uri-encode/1.1.0: resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} dev: false Loading Loading @@ -11784,7 +11775,7 @@ packages: dev: false file:projects/demo.tgz_@mdx-js+react@1.6.22: resolution: {integrity: sha512-L7E5kSZb12r38EuntJ+rQjRmhduSBo0EANWMliv6GH6RQykgkVqHqscH1d4VvUM0KuVm5F0oeii1pJzymCdIrg==, tarball: file:projects/demo.tgz} resolution: {integrity: sha512-gl5GkBO/BxTaB9ztOpDJnkUtk9rdfKeVyZU0JUPYAKEfvhdPMgv+80lEL3WaUHb9zZMZ3Jy/Pslu74KL1PtsQg==, tarball: file:projects/demo.tgz} id: file:projects/demo.tgz name: '@rush-temp/demo' version: 0.0.0 Loading Loading @@ -11844,7 +11835,7 @@ packages: dev: false file:projects/scrcpy.tgz_@types+node@17.0.33: resolution: {integrity: sha512-jCMSIItmtChytyjlkM594BanuzULuZ/Z9rVcQZxwh84HNtjqGnERhTR8zTUQTO6s/1QYgXaIKmtbDMauwAQTTg==, tarball: file:projects/scrcpy.tgz} resolution: {integrity: sha512-gWbbAg9u4YI8EMw0I5T7VUJlYhzGCP6cq3StmKWhqsSW2TjBECFNvmvjk7TB9BG3OohqjiFriDoEBElKqgLlgQ==, tarball: file:projects/scrcpy.tgz} id: file:projects/scrcpy.tgz name: '@rush-temp/scrcpy' version: 0.0.0 Loading @@ -11852,7 +11843,7 @@ packages: '@jest/globals': 28.1.0 '@types/dom-webcodecs': 0.1.4 '@yume-chan/async': 2.1.4 gh-release-fetch: 2.0.6 gh-release-fetch: 3.0.2 jest: 28.1.0_@types+node@17.0.33 tinyh264: 0.0.7 tslib: 2.4.0 Loading
common/config/rush/repo-state.json +1 −1 Original line number Diff line number Diff line // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { "pnpmShrinkwrapHash": "084447760927a169dd324c486492ee2effdc3820" "pnpmShrinkwrapHash": "3798fc5f6f6c673b1888e77923d3eeace5651923" }
libraries/scrcpy/README.md +251 −33 File changed.Preview size limit exceeded, changes collapsed. Show changes