Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit f3d8ded9 authored by Simon Chan's avatar Simon Chan
Browse files

feat(scrcpy): add `audioSource` option to v2.6

parent c68e2166
Loading
Loading
Loading
Loading
+39 −1
Original line number Diff line number Diff line
@@ -12,7 +12,45 @@ class MockUsb implements USB {

    getDevices = mock.fn(async () => []);
    requestDevice = mock.fn(
        async () => ({ serialNumber: "abcdefgh" }) as never,
        async (options?: USBDeviceRequestOptions) =>
            ({
                serialNumber: options?.filters?.[0]?.serialNumber ?? "abcdefgh",
                vendorId: options?.filters?.[0]?.vendorId ?? 0x18d1,
                productId: options?.filters?.[0]?.productId ?? 0x4e49,
                configurations: [
                    {
                        configurationValue: 1,
                        interfaces: [
                            {
                                interfaceNumber: 0,
                                claimed: false,
                                alternate: {
                                    alternateSetting: 0,
                                    interfaceClass:
                                        AdbDefaultInterfaceFilter.classCode,
                                    interfaceSubclass:
                                        AdbDefaultInterfaceFilter.subclassCode,
                                    interfaceProtocol:
                                        AdbDefaultInterfaceFilter.protocolCode,
                                    endpoints: [],
                                },
                                alternates: [
                                    {
                                        alternateSetting: 0,
                                        interfaceClass:
                                            AdbDefaultInterfaceFilter.classCode,
                                        interfaceSubclass:
                                            AdbDefaultInterfaceFilter.subclassCode,
                                        interfaceProtocol:
                                            AdbDefaultInterfaceFilter.protocolCode,
                                        endpoints: [],
                                    },
                                ],
                            },
                        ],
                    },
                ],
            }) satisfies Partial<USBDevice> as never,
    );

    addEventListener(
+1 −1
Original line number Diff line number Diff line
import type { PrevImpl } from "./prev.js";

export interface Init extends Omit<PrevImpl.Init, "audioCodec"> {
    audioCodec?: "raw" | "opus" | "aac" | "flac";
    audioCodec?: PrevImpl.Init["audioCodec"] | "flac";
}
+2 −1
Original line number Diff line number Diff line
import type { PrevImpl } from "./prev.js";

export interface Init extends PrevImpl.Init {
export interface Init extends Omit<PrevImpl.Init, "audioSource"> {
    audioSource?: PrevImpl.Init["audioSource"] | "playback";
    audioDup?: boolean;
}
+4 −0
Original line number Diff line number Diff line
@@ -71,6 +71,10 @@ export class ScrcpyOptions2_6 implements ScrcpyOptions<Init> {
            this.value.control = false;
        }

        if (this.value.audioDup) {
            this.value.audioSource = "playback";
        }

        if (this.value.control) {
            if (this.value.clipboardAutosync) {
                this.#clipboard = new ClipboardStream();
+4 −0
Original line number Diff line number Diff line
@@ -71,6 +71,10 @@ export class ScrcpyOptions2_7 implements ScrcpyOptions<Init> {
            this.value.control = false;
        }

        if (this.value.audioDup) {
            this.value.audioSource = "playback";
        }

        if (this.value.control) {
            if (this.value.clipboardAutosync) {
                this.#clipboard = new ClipboardStream();
Loading