From 07ac9cf50562882396a22fca9255fd86cb90b633 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Tue, 24 Mar 2026 01:21:16 +0100 Subject: [PATCH] fix: pass screenShareEncoding to override LiveKit's 15fps default LiveKit uses screenShareEncoding (not videoEncoding) for screen share tracks. Without it, both primary and backup fall back to the default ScreenSharePresets.h1080fps15 (15fps). Primary was masked by our overdrive mechanism, but backup had no overdrive and was stuck at 15fps. --- packages/web/src/utils/screenShare.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/web/src/utils/screenShare.ts b/packages/web/src/utils/screenShare.ts index 170f936e..20b86909 100644 --- a/packages/web/src/utils/screenShare.ts +++ b/packages/web/src/utils/screenShare.ts @@ -265,6 +265,9 @@ export async function startScreenShare(room: Room): Promise { const track = await room.localParticipant.setScreenShareEnabled(true, captureOptions, { videoCodec: opts.publish.videoCodec, videoEncoding: opts.publish.videoEncoding, + // LiveKit uses screenShareEncoding (not videoEncoding) for screen share tracks. + // Without this, the default ScreenSharePresets.h1080fps15 caps at 15fps. + screenShareEncoding: opts.publish.videoEncoding, simulcast: opts.publish.simulcast, ...(opts.publish.backupCodec ? { backupCodec: opts.publish.backupCodec,