d562e53b83
- 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.
34 lines
1.2 KiB
TOML
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"] }
|