fix(linux-aec): use git dep for webrtc-audio-processing
The crates.io tarball of webrtc-audio-processing-sys 2.0.3 is missing the vendored C++ submodule — the bundled build fails with 'Directory does not contain a valid build tree' when meson tries to configure the ./webrtc-audio-processing subdirectory. Cargo clones git deps with submodules auto-initialized since ~1.27, so pulling from the upstream git repo (pinned to tag v2.0.3) gives us the full source tree. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -48,14 +48,19 @@ windows = { version = "0.58", optional = true, features = [
|
|||||||
] }
|
] }
|
||||||
|
|
||||||
# Linux-only: WebRTC AEC3 (Audio Processing Module) bindings for the
|
# Linux-only: WebRTC AEC3 (Audio Processing Module) bindings for the
|
||||||
# `linux-aec` feature. The `bundled` sub-feature of webrtc-audio-processing
|
# `linux-aec` feature. The `bundled` sub-feature statically compiles the
|
||||||
# statically compiles the vendored PulseAudio webrtc-audio-processing C++
|
# vendored PulseAudio webrtc-audio-processing C++ sources via meson+ninja
|
||||||
# sources via meson + ninja at cargo build time, avoiding Debian Bookworm's
|
# at cargo build time, avoiding Debian Bookworm's stale system
|
||||||
# stale system libwebrtc-audio-processing-dev 0.3 package (which predates
|
# libwebrtc-audio-processing-dev 0.3 package (which predates AEC3).
|
||||||
# AEC3). Produces a self-contained static link — no runtime .so dep, same
|
#
|
||||||
# algorithm on every Linux distro.
|
# We pull from git (not crates.io) because the crates.io tarball of
|
||||||
|
# webrtc-audio-processing-sys 2.0.3 does NOT include the vendored C++
|
||||||
|
# submodule contents ("Directory does not contain a valid build tree"),
|
||||||
|
# and cargo clones git deps with submodules auto-initialized since ~1.27,
|
||||||
|
# so the git path gives us a complete source tree that bundled-mode can
|
||||||
|
# build. Pinned to tag v2.0.3 for reproducibility.
|
||||||
[target.'cfg(target_os = "linux")'.dependencies]
|
[target.'cfg(target_os = "linux")'.dependencies]
|
||||||
webrtc-audio-processing = { version = "2", optional = true, features = ["bundled"] }
|
webrtc-audio-processing = { git = "https://github.com/tonarino/webrtc-audio-processing", tag = "v2.0.3", optional = true, features = ["bundled"] }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
|
|||||||
Reference in New Issue
Block a user