WZP-P2-T1-S1: Automated drift measurement - New drift_test.rs: DriftTestConfig, DriftResult, run_drift_test() - CLI --drift-test <secs>: sends tone, measures actual vs expected duration - Interpretation tiers: EXCELLENT (<50ms) / GOOD / FAIR / POOR - 2 unit tests: drift math verification, config defaults WZP-P2-T1-S2: Jitter buffer telemetry - JitterStats gains: total_decoded, underruns, overruns, max_depth_seen - JitterBuffer: record_underrun(), record_decode(), reset_stats() - CallDecoder: stats() getter, reset_stats() - JitterTelemetry: periodic tracing::info! logger with configurable interval - 4 unit tests: ingestion tracking, underrun tracking, reset, interval WZP-P2-T1-S3: Parameter sweep - New sweep.rs: SweepConfig, SweepResult, run_local_sweep() - Tests 20 jitter buffer configs (5 target × 4 max depths) locally - CLI --sweep: runs sweep, prints ASCII comparison table - No network needed — pure encoder→decoder pipeline test - 3 unit tests: config defaults, local sweep runs, table formatting 216 tests passing across all crates. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
23 lines
660 B
Rust
23 lines
660 B
Rust
//! WarzonePhone Client Library
|
|
//!
|
|
//! End-to-end voice call pipeline:
|
|
//! - **Send**: mic → encode (Opus/Codec2) → FEC → encrypt → QUIC DATAGRAM
|
|
//! - **Recv**: QUIC DATAGRAM → decrypt → FEC decode → jitter buffer → decode → speaker
|
|
//!
|
|
//! Targets: Android (JNI), Windows desktop, macOS/Linux (testing)
|
|
|
|
#[cfg(feature = "audio")]
|
|
pub mod audio_io;
|
|
pub mod bench;
|
|
pub mod call;
|
|
pub mod drift_test;
|
|
pub mod echo_test;
|
|
pub mod featherchat;
|
|
pub mod handshake;
|
|
pub mod sweep;
|
|
|
|
#[cfg(feature = "audio")]
|
|
pub use audio_io::{AudioCapture, AudioPlayback};
|
|
pub use call::{CallConfig, CallDecoder, CallEncoder};
|
|
pub use handshake::perform_handshake;
|