feat(voice): replaced miniaudio with native platform audio backends

- Replaced the miniaudio dependency with custom OS audio device abstractions and backends.
- Implemented platform-specific audio playback and capture for macOS (Audio Queue), Windows (WASAPI), and Linux (PulseAudio/ALSA).
- Added a fallback stub backend returning errors for unsupported platforms.
- Updated audio stream handling with reliable fill guard wakeups and streamlined rate validation.
This commit is contained in:
can1357
2026-08-07 23:34:16 +02:00
parent bc5eee4e24
commit 7cae7ef3f5
17 changed files with 2555 additions and 14386 deletions
-11
View File
@@ -199,17 +199,6 @@ crate.annotation(
build_script_env = {"CFLAGS": "-UNDEBUG"},
)
# `generate-bindings` is enabled for darwin so miniaudio's Rust bindings match
# its CoreAudio C layout. Build scripts execute for the host, however, so a
# macOS-hosted Linux cross-build also sees that feature. Use Cargo's TARGET to
# keep bindgen darwin-only and select checked GNU/musl bindings by compilation
# target, including ARM64's larger glibc pthread layouts.
crate.annotation(
crate = "maudio-sys",
patches = ["//bazel/patches:maudio-sys-target-bindings.patch"],
patch_args = ["-p1"],
)
use_repo(crate, "crates")