I am using the flutter livekit_client sdk to integ...
# ask-ai
a
I am using the flutter livekit_client sdk to integrate in app voice chat in my app. In AudioPublishOptions class, the audioBitrate can be set, and it's documentation says that it is the "Max audio bitrate". So is it correct to assume that livekit will automatically switch to a lower quality in case network conditions do not support a higher bitrate?
t
Thanks for reaching out, Animesh. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thank you for your question! LiveKit uses adaptive quality management for audio, which includes helpful features like congestion control and Discontinuous Transmission (DTX). These work together to keep your audio streams smooth and uninterrupted, even when the network is a bit congested. The
audioBitrate
setting in the
AudioPublishOptions
class lets you set the maximum audio bitrate, and this value helps configure the WebRTC
RTCRtpEncoding
parameter
maxBitrate
. While LiveKit does adjust audio quality based on network conditions, the current documentation doesn’t explicitly state if the
audioBitrate
value dynamically lowers below the set maximum during tougher network situations in the Flutter SDK. It’s likely that the system tries its best to keep audio quality within that set limit, but if you’d like, we can look into this further together to get a clearer picture of exactly how it behaves. Sources: livekit-android-sdk/src/main/java/io/livekit/android/room/participant/Local... | src/room/participant/LocalParticipant.ts | Bringing Zoom's end-to-end optimizations to WebRTC | Speech & Audio Processing | livekit/livekit_composite | DeepWiki | lib/src/participant/local.dart
a
yes please
t
I don't have the answer you're looking for. You could also try asking your question: • in one of the other Slack channels or • to https://deepwiki.com/livekit/livekit_composite which is trained on all LiveKit source code If you find the answer, please post it here to help others!
a
i meant can you look into this further?