From ea4002e0b7a91ac3c69a3245226c3c1a398e187d Mon Sep 17 00:00:00 2001 From: Timo K Date: Thu, 3 Jul 2025 13:13:05 +0200 Subject: [PATCH] use "" instead of undefined for audio output default and on syncDevice + logging Signed-off-by: Timo K --- src/livekit/useLivekit.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/livekit/useLivekit.ts b/src/livekit/useLivekit.ts index 7e92cbcb..291854d6 100644 --- a/src/livekit/useLivekit.ts +++ b/src/livekit/useLivekit.ts @@ -117,7 +117,7 @@ export function useLivekit( // deviceId here, because it will be set by the native app. // (also the id does not need to match a browser device id) deviceId: controlledAudioDevices - ? undefined + ? "" : getValue(devices.audioOutput.selected$)?.id, }, e2ee, @@ -333,13 +333,23 @@ export function useLivekit( selected$: Observable, ): Subscription => selected$.subscribe((device) => { + let d = device; + if (controlledAudioDevices && kind === "audiooutput") { + d = { id: "" }; + } + logger.info( + "[LivekitRoom] syncDevice room.getActiveDevice(kind) !== d.id :", + room.getActiveDevice(kind), + " !== ", + d?.id, + ); if ( !(kind === "audioinput" && platform === "ios") && - device !== undefined && - room.getActiveDevice(kind) !== device.id + d !== undefined && + room.getActiveDevice(kind) !== d.id ) { room - .switchActiveDevice(kind, device.id) + .switchActiveDevice(kind, d.id) .catch((e) => logger.error(`Failed to sync ${kind} device with LiveKit`, e), );