Skip to content

Add runtime audio processing controls and diagnostics - #97

Open
hiroshihorie wants to merge 19 commits into
mainfrom
hiroshi/runtime-vp
Open

Add runtime audio processing controls and diagnostics#97
hiroshihorie wants to merge 19 commits into
mainfrom
hiroshi/runtime-vp

Conversation

@hiroshihorie

@hiroshihorie hiroshihorie commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Demonstrates the runtime audio processing API added in SDK 2.15 (livekit/client-sdk-swift#1048).

Adds a Runtime Audio Processing section to the audio controls panel:

  • Per component toggles with mode pickers (Automatic / Platform / Software) for echo cancellation, noise suppression, auto gain control and high-pass filter
  • Presets built from SDK values (Default, No processing)
  • Options set in the panel are used at publish time, both as room defaults at connect and as capture options when the mic is published
  • "Apply to local mic" updates a live track via setAudioProcessingOptions and reports whether the options were applied immediately or stored
  • Effective state overview showing whether each component runs in software, platform or both
  • Copyable diagnostics dump of requested, effective and platform voice processing state

Also:

  • Bumps the SDK to 2.15.3 and the app version to 2.15.2 (20260717.1)
  • Fixes the iOS screenshare extension picker

Diagnostics read the factory-owned engine-wide state and the renamed
platform (formerly built-in) device state: requested shows as one
optional request, the resolved/active split replaces tri-state
booleans, and the redundant has* flags are gone.
Per-effect mode types drive the pickers generically, so the high-pass
filter row only offers its legal modes. setAudioProcessingOptions now
returns a success-only result and throws on failure. Diagnostics use the
path-grouped component state and the renamed platformVoiceProcessingState,
and the voice processing toggle follows the platform-allowed rename.
The SDK dropped the flag from AudioProcessingState.
Pins the release branch revision ae672652 so LiveKitSDK.version reports
2.15.2. TestFlight build 2.15.2b20260717.1.
Demonstrates RoomOptions(defaultAudioCaptureOptions:), the way most apps
configure processing modes. The mic toggle still passes options
explicitly, which takes precedence and picks up panel changes made
after connecting.
The mode is irrelevant while the effect is disabled; graying the picker
makes that visible.
Default restores the communication profile via the AudioProcessingOptions
initializer; No processing uses the .noProcessing preset.
Also derive capture options from the processing options and replace
the AudioProcessingEffectiveResult wrapper with the SDK's
AudioProcessingImplementation.
@hiroshihorie
hiroshihorie marked this pull request as ready for review July 29, 2026 16:56
@hiroshihorie hiroshihorie changed the title Hiroshi/runtime vp Add runtime audio processing controls and diagnostics Jul 29, 2026
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