From a8b2f61eb0c3a697670a50014dedc9751c571344 Mon Sep 17 00:00:00 2001 From: infi Date: Tue, 4 Aug 2026 11:30:20 +0200 Subject: [PATCH] feat: limit screenshare to 720p30 as per backend --- .../main/java/chat/stoat/voice/VoiceCallManager.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/chat/stoat/voice/VoiceCallManager.kt b/app/src/main/java/chat/stoat/voice/VoiceCallManager.kt index 381e3db1..99a80ad2 100644 --- a/app/src/main/java/chat/stoat/voice/VoiceCallManager.kt +++ b/app/src/main/java/chat/stoat/voice/VoiceCallManager.kt @@ -21,9 +21,12 @@ import io.ktor.client.engine.okhttp.OkHttp import io.ktor.client.request.get import io.ktor.http.isSuccess import io.livekit.android.LiveKit +import io.livekit.android.RoomOptions import io.livekit.android.events.RoomEvent import io.livekit.android.room.Room +import io.livekit.android.room.track.LocalVideoTrackOptions import io.livekit.android.room.track.RemoteAudioTrack +import io.livekit.android.room.track.ScreenSharePresets import io.livekit.android.room.track.Track import io.livekit.android.util.flow import kotlinx.coroutines.CompletableDeferred @@ -95,7 +98,15 @@ object VoiceCallManager { hasPlayedLeaveSound = false soundPlayer = VoiceSoundPlayer(context) - val newRoom = LiveKit.create(context.applicationContext) + val newRoom = LiveKit.create( + context.applicationContext, + RoomOptions( + screenShareTrackCaptureDefaults = LocalVideoTrackOptions( + isScreencast = true, + captureParams = ScreenSharePresets.H720_FPS30.capture + ) + ) + ) room = newRoom sessionJob = scope.launch {