From 61dc40800230845a3ca7e802937db0f714c9164f Mon Sep 17 00:00:00 2001 From: SkeletonGamer <779146+SkeletonGamer@users.noreply.github.com> Date: Fri, 10 Jul 2026 12:34:34 +0200 Subject: [PATCH 1/2] fix(coreaudio): declare the AVAudioSession deps on visionOS The backend already compiles its AVAudioSession path for every non-macOS Apple platform, but block2, objc2-foundation and objc2-avf-audio were only declared for iOS and tvOS, so the visionOS build failed on missing imports. --- CHANGELOG.md | 2 ++ Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0de79aaf..4e86aa5c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- **visionOS**: The CoreAudio backend now builds. Its AVAudioSession dependencies were only + declared for iOS and tvOS. - Timestamps now stay monotonic across device and graph changes. - **ALSA**: A nonzero but sub-millisecond stream timeout is no longer treated as a non-blocking poll. - **WASAPI**: Reported buffer sizes are no longer off by one frame. diff --git a/Cargo.toml b/Cargo.toml index 0353b3c14..736eaa94b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -157,7 +157,7 @@ objc2 = { version = "0.6" } [target.'cfg(target_os = "macos")'.dependencies] jack = { version = "0.13.5", optional = true } -[target.'cfg(any(target_os = "ios", target_os = "tvos"))'.dependencies] +[target.'cfg(any(target_os = "ios", target_os = "tvos", target_os = "visionos"))'.dependencies] block2 = "0.6" objc2-foundation = { version = "0.3", features = [ "block2", From 7d8c2a061b38830934a1f1510aec5ff713a3e36c Mon Sep 17 00:00:00 2001 From: Roderick van Domburg Date: Fri, 10 Jul 2026 21:16:35 +0200 Subject: [PATCH 2/2] docs: list visionOS in platform tables, tighten changelog entry --- CHANGELOG.md | 3 +-- README.md | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e86aa5c2..b0d513269 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,10 +16,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- **visionOS**: The CoreAudio backend now builds. Its AVAudioSession dependencies were only - declared for iOS and tvOS. - Timestamps now stay monotonic across device and graph changes. - **ALSA**: A nonzero but sub-millisecond stream timeout is no longer treated as a non-blocking poll. +- **visionOS**: The CoreAudio backend now builds. - **WASAPI**: Reported buffer sizes are no longer off by one frame. ## [0.18.1] - 2026-06-07 diff --git a/README.md b/README.md index 9e38f1b67..fa65fd960 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ For higher-level audio playback and capture, consider [Rodio](https://github.com | Linux | ALSA | JACK, PipeWire, PulseAudio | | macOS | CoreAudio | JACK | | tvOS | CoreAudio | - | +| visionOS | CoreAudio | - | | WebAssembly | Web Audio API | Audio Worklet | | Windows | WASAPI | ASIO, JACK | @@ -46,6 +47,7 @@ The minimum Rust version (MSRV) and minimum operating system / runtime version b | CoreAudio | macOS | 1.85 | macOS 14.2 (loopback recording requires 14.6+) | | CoreAudio | iOS | 1.85 | — | | CoreAudio | tvOS | nightly | — | +| CoreAudio | visionOS | 1.85 | — | | JACK | Linux, BSD, macOS, Windows | 1.85 | — | | PipeWire | Linux, BSD | 1.85 | PipeWire 0.3.53 | | PulseAudio | Linux, BSD | 1.88 | — |