Skip to content

Release packages#1085

Merged
xianshijing-lk merged 1 commit into
mainfrom
knope/release
May 14, 2026
Merged

Release packages#1085
xianshijing-lk merged 1 commit into
mainfrom
knope/release

Conversation

@knope-bot
Copy link
Copy Markdown
Contributor

@knope-bot knope-bot Bot commented May 12, 2026

Important

Merging this pull request will create these releases

livekit 0.7.40 (2026-05-14)

Fixes

Get WebRTC ADM into Rust - #1037 (@xianshijing-lk)

This PR introduces platform audio device management via WebRTC's Audio Device Module (ADM).

Features

  • ADM Proxy: New AdmProxy class that switches between Dummy ADM (synthetic mode) and Platform ADM (real audio I/O)
  • PlatformAudio API: High-level Rust API for microphone capture and speaker playout with AEC/AGC/NS
  • Device enumeration: List and select recording/playout devices by index or GUID
  • Mode switching: Seamlessly switch between synthetic mode (FFI callbacks) and platform mode (native speakers) while audio is active
  • FFI platform audio support: Expose platform audio device enumeration and selection through livekit-ffi
  • Audio processing: Configure echo cancellation, noise suppression, and auto gain control with platform-specific defaults (hardware on iOS, software elsewhere)

Audio Modes

Mode Recording Playout Use Case
Synthetic NativeAudioSource Dummy ADM + FFI Unity audio, agents
Platform Platform ADM mic Platform ADM speakers VoIP with AEC

API

// Create PlatformAudio for microphone/speaker access
let audio = PlatformAudio::new()?;

// Enumerate and select devices
for i in 0..audio.recording_devices() as u16 {
    println!("Mic {}: {}", i, audio.recording_device_name(i));
}
audio.set_recording_device(0)?;

// Create audio track for publishing
let track = LocalAudioTrack::create_audio_track("mic", audio.rtc_source());

livekit-api 0.4.22 (2026-05-14)

Fixes

livekit-protocol 0.7.7 (2026-05-14)

Features

  • Relocate unrelated types out of livekit-protocol

livekit-ffi 0.12.57 (2026-05-14)

Fixes

Get WebRTC ADM into Rust - #1037 (@xianshijing-lk)

This PR introduces platform audio device management via WebRTC's Audio Device Module (ADM).

Features

  • ADM Proxy: New AdmProxy class that switches between Dummy ADM (synthetic mode) and Platform ADM (real audio I/O)
  • PlatformAudio API: High-level Rust API for microphone capture and speaker playout with AEC/AGC/NS
  • Device enumeration: List and select recording/playout devices by index or GUID
  • Mode switching: Seamlessly switch between synthetic mode (FFI callbacks) and platform mode (native speakers) while audio is active
  • FFI platform audio support: Expose platform audio device enumeration and selection through livekit-ffi
  • Audio processing: Configure echo cancellation, noise suppression, and auto gain control with platform-specific defaults (hardware on iOS, software elsewhere)

Audio Modes

Mode Recording Playout Use Case
Synthetic NativeAudioSource Dummy ADM + FFI Unity audio, agents
Platform Platform ADM mic Platform ADM speakers VoIP with AEC

API

// Create PlatformAudio for microphone/speaker access
let audio = PlatformAudio::new()?;

// Enumerate and select devices
for i in 0..audio.recording_devices() as u16 {
    println!("Mic {}: {}", i, audio.recording_device_name(i));
}
audio.set_recording_device(0)?;

// Create audio track for publishing
let track = LocalAudioTrack::create_audio_track("mic", audio.rtc_source());

libwebrtc 0.3.33 (2026-05-14)

Fixes

Get WebRTC ADM into Rust - #1037 (@xianshijing-lk)

This PR introduces platform audio device management via WebRTC's Audio Device Module (ADM).

Features

  • ADM Proxy: New AdmProxy class that switches between Dummy ADM (synthetic mode) and Platform ADM (real audio I/O)
  • PlatformAudio API: High-level Rust API for microphone capture and speaker playout with AEC/AGC/NS
  • Device enumeration: List and select recording/playout devices by index or GUID
  • Mode switching: Seamlessly switch between synthetic mode (FFI callbacks) and platform mode (native speakers) while audio is active
  • FFI platform audio support: Expose platform audio device enumeration and selection through livekit-ffi
  • Audio processing: Configure echo cancellation, noise suppression, and auto gain control with platform-specific defaults (hardware on iOS, software elsewhere)

Audio Modes

Mode Recording Playout Use Case
Synthetic NativeAudioSource Dummy ADM + FFI Unity audio, agents
Platform Platform ADM mic Platform ADM speakers VoIP with AEC

API

// Create PlatformAudio for microphone/speaker access
let audio = PlatformAudio::new()?;

// Enumerate and select devices
for i in 0..audio.recording_devices() as u16 {
    println!("Mic {}: {}", i, audio.recording_device_name(i));
}
audio.set_recording_device(0)?;

// Create audio track for publishing
let track = LocalAudioTrack::create_audio_track("mic", audio.rtc_source());

webrtc-sys 0.3.31 (2026-05-14)

Fixes

  • chore: bump libwebrtc version to webrtc-51ef663
  • Add LIVEKIT_PREFERRED_HW_ENCODER to prefer nvenc or vaapi hardware video encoding when both are available.

fix: fix LICENSE.md generation in webrtc build scripts

The license generation script was failing because gn desc --format=json
outputs warnings before the JSON when certain build args trigger deprecation
notices. The new patch strips non-JSON content before parsing.

Get WebRTC ADM into Rust - #1037 (@xianshijing-lk)

This PR introduces platform audio device management via WebRTC's Audio Device Module (ADM).

Features

  • ADM Proxy: New AdmProxy class that switches between Dummy ADM (synthetic mode) and Platform ADM (real audio I/O)
  • PlatformAudio API: High-level Rust API for microphone capture and speaker playout with AEC/AGC/NS
  • Device enumeration: List and select recording/playout devices by index or GUID
  • Mode switching: Seamlessly switch between synthetic mode (FFI callbacks) and platform mode (native speakers) while audio is active
  • FFI platform audio support: Expose platform audio device enumeration and selection through livekit-ffi
  • Audio processing: Configure echo cancellation, noise suppression, and auto gain control with platform-specific defaults (hardware on iOS, software elsewhere)

Audio Modes

Mode Recording Playout Use Case
Synthetic NativeAudioSource Dummy ADM + FFI Unity audio, agents
Platform Platform ADM mic Platform ADM speakers VoIP with AEC

API

// Create PlatformAudio for microphone/speaker access
let audio = PlatformAudio::new()?;

// Enumerate and select devices
for i in 0..audio.recording_devices() as u16 {
    println!("Mic {}: {}", i, audio.recording_device_name(i));
}
audio.set_recording_device(0)?;

// Create audio track for publishing
let track = LocalAudioTrack::create_audio_track("mic", audio.rtc_source());

@github-actions
Copy link
Copy Markdown
Contributor

Changeset

Changeset found but no version bumps declared.

@knope-bot knope-bot Bot force-pushed the knope/release branch 4 times, most recently from ec1556c to 597581a Compare May 12, 2026 22:47
@knope-bot knope-bot Bot force-pushed the knope/release branch 5 times, most recently from a235499 to c98d0ea Compare May 14, 2026 20:27
@knope-bot knope-bot Bot force-pushed the knope/release branch from 141b5fe to b9b29d1 Compare May 14, 2026 20:32
@xianshijing-lk xianshijing-lk merged commit 56b209c into main May 14, 2026
24 checks passed
@xianshijing-lk xianshijing-lk deleted the knope/release branch May 14, 2026 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant