From 93593832811f0d7fc43dd89fabec28549944a68c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82az=CC=87ej=20Pankowski?= <86720177+pblazej@users.noreply.github.com> Date: Thu, 4 Dec 2025 09:20:45 +0100 Subject: [PATCH] Override options --- .changeset/lovely-snails-crash.md | 5 +++++ .../io/livekit/android/room/participant/LocalParticipant.kt | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 .changeset/lovely-snails-crash.md diff --git a/.changeset/lovely-snails-crash.md b/.changeset/lovely-snails-crash.md new file mode 100644 index 000000000..ef8012d60 --- /dev/null +++ b/.changeset/lovely-snails-crash.md @@ -0,0 +1,5 @@ +--- +"client-sdk-android": patch +--- + +Fixed screen sharing with VP9/AV1 codecs diff --git a/livekit-android-sdk/src/main/java/io/livekit/android/room/participant/LocalParticipant.kt b/livekit-android-sdk/src/main/java/io/livekit/android/room/participant/LocalParticipant.kt index 62e0a4419..687e5ea4d 100644 --- a/livekit-android-sdk/src/main/java/io/livekit/android/room/participant/LocalParticipant.kt +++ b/livekit-android-sdk/src/main/java/io/livekit/android/room/participant/LocalParticipant.kt @@ -540,6 +540,10 @@ internal constructor( if (options.scalabilityMode == null) { options = options.copy(scalabilityMode = "L3T3_KEY") } + // VP9/AV1 with screen sharing requires single spatial layer, always override + if (track.options.isScreencast) { + options = options.copy(scalabilityMode = "L1T3") + } } val encodings = computeVideoEncodings(track.options.isScreencast, track.dimensions, options) val videoLayers =