Skip to content

Add system audio as a Session source - #73

Merged
Raphjacksun7 merged 2 commits into
mainfrom
feat/system-audio
Sep 4, 2026
Merged

Raphjacksun7 merged 2 commits into
mainfrom
feat/system-audio

Conversation

@Raphjacksun7

Copy link
Copy Markdown
Contributor

Summary

  • add Source::system_audio() to the public Session API
  • route it through the existing CoreAudio, WASAPI, and PipeWire implementations
  • add explicit quickstart selection and update the public guides
  • target PipeWire's default output monitor for Linux system audio

Verification

  • cargo fmt --all -- --check
  • cargo test --all-targets --all-features --locked
  • cargo clippy --all-targets --all-features --locked -- -D warnings
  • RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --all-features --locked
  • cargo build --release --example quickstart --locked
  • bash scripts/check_protocol.sh
  • bash scripts/test-single-package-publish.sh

The public Session API captured controlled audible output at both 10 ms and 20 ms on macOS, Linux, and Windows. Every run retained one system source identity and reported zero active delivery loss and zero queue timestamp-order failures. macOS ran on the physical host. Linux and Windows ran in interactive ARM64 virtual machines and establish platform correctness, not physical-device or latency performance.

Scope

This adds system audio to the existing capture engine. It does not add a fallback backend, a second capture implementation, a mock source, or a latency claim.

@Raphjacksun7
Raphjacksun7 merged commit fa43523 into main Sep 4, 2026
3 checks passed
@Raphjacksun7
Raphjacksun7 deleted the feat/system-audio branch September 4, 2026 09:26
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