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 =