- JNI bridge with 8 extern functions (init, startCall, stopCall, setMute, setSpeaker, getStats, forceProfile, destroy) with panic catching - Kotlin engine layer: WzpEngine JNI wrapper, WzpCallback interface, CallStats data class with JSON deserialization - Jetpack Compose UI: InCallScreen with quality indicator (green/yellow/red), mute/speaker/hangup buttons, stats overlay, duration timer - CallActivity with RECORD_AUDIO permission handling, Material3 theme - CallService foreground service with WakeLock, WiFi lock, notification - AudioRouteManager for speaker/earpiece/Bluetooth SCO switching - AEC wired into CallEncoder pipeline: AEC → AGC → denoise → silence → encode - AEC farend reference fed from decode path to encode path in pipeline - Engine exposes set_aec_enabled/set_agc_enabled via AtomicBool flags Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
18 lines
507 B
Rust
18 lines
507 B
Rust
//! WarzonePhone Android native VoIP engine.
|
|
//!
|
|
//! Provides:
|
|
//! - Oboe audio backend with lock-free SPSC ring buffers
|
|
//! - Engine orchestrator managing call lifecycle
|
|
//! - Codec pipeline thread (encode/decode/FEC/jitter)
|
|
//! - Call statistics and command interface
|
|
//!
|
|
//! On non-Android targets, the Oboe C++ layer compiles as a stub,
|
|
//! allowing `cargo check` and unit tests on the host.
|
|
|
|
pub mod audio_android;
|
|
pub mod commands;
|
|
pub mod engine;
|
|
pub mod pipeline;
|
|
pub mod stats;
|
|
pub mod jni_bridge;
|