- New wzp-android crate with Oboe C++ backend, lock-free SPSC ring buffers, engine orchestrator, codec pipeline, and Android Gradle project structure - AEC (NLMS adaptive filter), AGC (two-stage with fast attack/slow release), windowed-sinc FIR resampler replacing linear interpolation (wzp-codec) - Opus encoder tuning: complexity 7 default, set_expected_loss support - Mobile jitter buffer: asymmetric EMA (fast up/slow down), handoff spike detection with 2s cooldown, configurable safety margin - Network-aware quality control: cellular-specific thresholds, faster downgrade on cellular, proactive tier drop on WiFi→cellular handoff, FEC ratio boost during network transitions - Handoff detection in PathMonitor via RTT jitter spike analysis Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
21 lines
578 B
Rust
21 lines
578 B
Rust
fn main() {
|
|
let target = std::env::var("TARGET").unwrap_or_default();
|
|
if target.contains("android") {
|
|
// Real Oboe build for Android targets
|
|
cc::Build::new()
|
|
.cpp(true)
|
|
.std("c++17")
|
|
.file("cpp/oboe_bridge.cpp")
|
|
.include("cpp")
|
|
.compile("oboe_bridge");
|
|
} else {
|
|
// Stub for host builds / testing
|
|
cc::Build::new()
|
|
.cpp(true)
|
|
.std("c++17")
|
|
.file("cpp/oboe_stub.cpp")
|
|
.include("cpp")
|
|
.compile("oboe_bridge");
|
|
}
|
|
}
|