Files
oh-my-pi/crates/pi-voice/Cargo.toml
T
can1357 d562e53b83 refactor: extracted audio and voice engine into a standalone library crate
- Extracted audio capture and playback implementations, along with the WebRTC peer engine, from `pi-natives` into a new `pi-voice` library crate.
- Updated `pi-natives` bindings to consume the extracted `pi_voice` audio streams and live peer core.
- Added release validation gate jobs, parallelized Linux binary builds, and introduced a concurrent macOS release build job in the CI workflow.
- Updated Bazel workspace configurations, Cargo manifests, and documentation to include the new `pi-voice` crate and its dependencies.
2026-07-30 05:12:40 +02:00

34 lines
1.2 KiB
TOML

[package]
name = "pi-voice"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
[lints]
workspace = true
[dependencies]
# Forces the static libopus build for the `opus` codec crate.
audiopus_sys.workspace = true
bytes.workspace = true
flume.workspace = true
maudio.workspace = true
opus.workspace = true
parking_lot.workspace = true
tokio.workspace = true
webrtc.workspace = true
[target.'cfg(target_os = "macos")'.dependencies]
# Regenerate miniaudio FFI bindings from the compiled headers on macOS only.
# The maudio-sys pregenerated `unix.rs` bindings are Linux-shaped: their
# `ma_device`/`ma_context` backend-state unions omit the `#ifdef
# MA_SUPPORT_COREAUDIO` members that the macOS build of miniaudio.c actually
# contains, so shipping them on darwin is an ABI mismatch that silently breaks
# CoreAudio capture (device init/start succeed but no render callbacks fire).
# darwin builds with host Xcode (libclang available), so bindgen is fine here;
# the hermetic zig/musl/windows toolchains keep the bindgen-free pregen path,
# whose bindings are correct for those platforms.
maudio = { workspace = true, features = ["generate-bindings"] }