diff --git a/.changeset/breezy-hornets-glow.md b/.changeset/breezy-hornets-glow.md new file mode 100644 index 00000000..cc4ea9e9 --- /dev/null +++ b/.changeset/breezy-hornets-glow.md @@ -0,0 +1,6 @@ +--- +"@yume-chan/adb-scrcpy": minor +"@yume-chan/scrcpy": minor +--- + +Add support for Scrcpy server version 3.3.2 (no protocol changes) diff --git a/libraries/adb-scrcpy/src/3_3_2.ts b/libraries/adb-scrcpy/src/3_3_2.ts new file mode 100644 index 00000000..559d04c0 --- /dev/null +++ b/libraries/adb-scrcpy/src/3_3_2.ts @@ -0,0 +1,50 @@ +import type { Adb, AdbNoneProtocolSpawner } from "@yume-chan/adb"; +import type { ScrcpyDisplay, ScrcpyEncoder } from "@yume-chan/scrcpy"; +import { ScrcpyOptions3_3_2 } from "@yume-chan/scrcpy"; + +import { + createConnection, + getDisplays, + getEncoders, +} from "./2_1/impl/index.js"; +import type { AdbScrcpyClientOptions } from "./client-options.js"; +import type { AdbScrcpyConnection } from "./connection.js"; +import type { AdbScrcpyOptions, AdbScrcpyOptionsGetEncoders } from "./types.js"; + +export class AdbScrcpyOptions3_3_2 + extends ScrcpyOptions3_3_2 + implements + AdbScrcpyOptions>, + AdbScrcpyOptionsGetEncoders +{ + readonly version: string; + + readonly spawner: AdbNoneProtocolSpawner | undefined; + + constructor( + init: ScrcpyOptions3_3_2.Init, + clientOptions?: AdbScrcpyClientOptions, + ) { + super(init); + + this.version = clientOptions?.version ?? "3.3.1"; + this.spawner = clientOptions?.spawner; + } + + getEncoders(adb: Adb, path: string): Promise { + return getEncoders(adb, path, this); + } + + getDisplays(adb: Adb, path: string): Promise { + return getDisplays(adb, path, this); + } + + createConnection(adb: Adb): AdbScrcpyConnection { + return createConnection(adb, this.value); + } +} + +export namespace AdbScrcpyOptions3_3_2 { + export type Init = + ScrcpyOptions3_3_2.Init; +} diff --git a/libraries/adb-scrcpy/src/index.ts b/libraries/adb-scrcpy/src/index.ts index 00bd79a5..6d2c2fca 100644 --- a/libraries/adb-scrcpy/src/index.ts +++ b/libraries/adb-scrcpy/src/index.ts @@ -25,6 +25,7 @@ export * from "./3_1.js"; export * from "./3_2.js"; export * from "./3_3.js"; export * from "./3_3_1.js"; +export * from "./3_3_2.js"; export * from "./client-options.js"; export * from "./client.js"; export * from "./connection.js"; diff --git a/libraries/adb-scrcpy/src/latest.ts b/libraries/adb-scrcpy/src/latest.ts index fea72372..b0bacdb6 100644 --- a/libraries/adb-scrcpy/src/latest.ts +++ b/libraries/adb-scrcpy/src/latest.ts @@ -1,11 +1,11 @@ -import { AdbScrcpyOptions3_3_1 } from "./3_3_1.js"; +import { AdbScrcpyOptions3_3_2 } from "./3_3_2.js"; import type { AdbScrcpyClientOptions } from "./client-options.js"; export class AdbScrcpyOptionsLatest< TVideo extends boolean, -> extends AdbScrcpyOptions3_3_1 { +> extends AdbScrcpyOptions3_3_2 { constructor( - init: AdbScrcpyOptions3_3_1.Init, + init: AdbScrcpyOptions3_3_2.Init, clientOptions?: AdbScrcpyClientOptions, ) { super(init, clientOptions); @@ -14,5 +14,5 @@ export class AdbScrcpyOptionsLatest< export namespace AdbScrcpyOptionsLatest { export type Init = - AdbScrcpyOptions3_3_1.Init; + AdbScrcpyOptions3_3_2.Init; } diff --git a/libraries/scrcpy/src/3_3_2.ts b/libraries/scrcpy/src/3_3_2.ts new file mode 100644 index 00000000..0897b9c0 --- /dev/null +++ b/libraries/scrcpy/src/3_3_2.ts @@ -0,0 +1,14 @@ +import { ScrcpyOptions3_3_1 } from "./3_3_1/index.js"; + +export class ScrcpyOptions3_3_2< + TVideo extends boolean, +> extends ScrcpyOptions3_3_1 { + constructor(init: ScrcpyOptions3_3_1.Init) { + super(init); + } +} + +export namespace ScrcpyOptions3_3_2 { + export type Init = + ScrcpyOptions3_3_1.Init; +} diff --git a/libraries/scrcpy/src/index.ts b/libraries/scrcpy/src/index.ts index 4ac6b603..68b343e2 100644 --- a/libraries/scrcpy/src/index.ts +++ b/libraries/scrcpy/src/index.ts @@ -28,6 +28,7 @@ export * from "./3_1/index.js"; export * from "./3_2/index.js"; export * from "./3_3.js"; export * from "./3_3_1/index.js"; +export * from "./3_3_2.js"; export * from "./android/index.js"; export * from "./base/index.js"; export * from "./codec/index.js"; diff --git a/libraries/scrcpy/src/latest.ts b/libraries/scrcpy/src/latest.ts index 56d51dd0..7ce9a3b4 100644 --- a/libraries/scrcpy/src/latest.ts +++ b/libraries/scrcpy/src/latest.ts @@ -1,16 +1,16 @@ -import { ScrcpyOptions3_3_1 } from "./3_3_1/index.js"; +import { ScrcpyOptions3_3_2 } from "./3_3_2.js"; export class ScrcpyOptionsLatest< TVideo extends boolean, -> extends ScrcpyOptions3_3_1 { - constructor(init: ScrcpyOptions3_3_1.Init) { +> extends ScrcpyOptions3_3_2 { + constructor(init: ScrcpyOptions3_3_2.Init) { super(init); } } export namespace ScrcpyOptionsLatest { export type Init = - ScrcpyOptions3_3_1.Init; + ScrcpyOptions3_3_2.Init; } export {