Full Changelog: https://github.com/livekit/rust-sdks/compare/libwebrtc/v0.3.27...webrtc-7af9351
fix: fix unable to locate __arm_tpidr2_save for arm64 android/linux ffi
Full Changelog: https://github.com/livekit/rust-sdks/compare/libwebrtc/v0.3.27...webrtc-24f6822-3
#921 by @onestacked
This PR uses this webrtc-sdk PR to configure the KDF.
I've tested this with https://codeberg.org/esoteric_programmer/matrix-jukebox and it is compatible with Element Call.
Fixed: https://github.com/livekit/rust-sdks/issues/796
#945 by @xianshijing-lk
#952 by @MaxHeimbrock
Adds os_info crate as dependency and sends the data for client connections.
#952 by @MaxHeimbrock
Adds os_info crate as dependency and sends the data for client connections.
#954 by @cloudwebrtc
#950 by @cloudwebrtc
webrtc-sys: Use clang instead of gcc
Debug CI output for aarch64-linux
ci: Install lld for aarch64-linux FFI builders
webrtc-sys: Disable CREL
#921 by @onestacked
This PR uses this webrtc-sdk PR to configure the KDF.
I've tested this with https://codeberg.org/esoteric_programmer/matrix-jukebox and it is compatible with Element Call.
Fixed: https://github.com/livekit/rust-sdks/issues/796
#950 by @cloudwebrtc
webrtc-sys: Use clang instead of gcc
Debug CI output for aarch64-linux
ci: Install lld for aarch64-linux FFI builders
webrtc-sys: Disable CREL
#921 by @onestacked
This PR uses this webrtc-sdk PR to configure the KDF.
I've tested this with https://codeberg.org/esoteric_programmer/matrix-jukebox and it is compatible with Element Call.
Fixed: https://github.com/livekit/rust-sdks/issues/796
#945 by @xianshijing-lk
#955 by @s-hamdananwar
When a participant connects with canSubscribe=false in their token, the server sends subscriber_primary=false in the JoinResponse and does not send a subscriber offer. This results in wait_pc_connection timing out as it is expecting a subscriber PC even when the publisher PC is primary. This PR will skip waiting for subscriber PC when subscriber_primary=false.
#952 by @MaxHeimbrock
Adds os_info crate as dependency and sends the data for client connections.
#921 by @onestacked
This PR uses this webrtc-sdk PR to configure the KDF.
I've tested this with https://codeberg.org/esoteric_programmer/matrix-jukebox and it is compatible with Element Call.
Fixed: https://github.com/livekit/rust-sdks/issues/796
#945 by @xianshijing-lk
#950 by @cloudwebrtc
webrtc-sys: Use clang instead of gcc
Debug CI output for aarch64-linux
ci: Install lld for aarch64-linux FFI builders
webrtc-sys: Disable CREL
Full Changelog: https://github.com/livekit/rust-sdks/compare/livekit-api/v0.4.15...webrtc-24f6822-2
Before this change, the Rust implementation would only start sending silence frames after missing 10 consecutive audio frames. This could cause WebRTC's audio pipeline to enter an underrun state when audio stopped temporarily.
Once WebRTC enters underrun, resuming audio can significantly increase latency until the pipeline stabilizes again. In testing, this could add hundreds of milliseconds of additional latency when audio resumed shortly after the underrun.
This change ensures silence frames are sent earlier to prevent the audio pipeline from entering underrun. By maintaining a continuous stream of audio (including silence), WebRTC can avoid unnecessary buffering and latency spikes when audio resumes.
In testing, this reduces the additional latency observed after underrun recovery and results in more stable end-to-end audio latency.
#924 by @kubkon
#926 by @pham-tuan-binh
livekit-wakeword crate with a stateless wake word detection pipelineinclude_bytes!hey_livekit.onnx) are loaded dynamically from disk at runtimeort-tract (falls back to native ONNX Runtime on aarch64-pc-windows-msvc)x/10 + 2) to match the openWakeWord pipelineWakeWordError enum replacing Box<dyn Error> in the public APIcargo test -p livekit-wakeword — integration tests exercise the full pipeline#847 by @SchmErik
#914 by @xianshijing-lk
#917 by @gasmith