feat: Phase 2 — relay daemon and client library with integration pipelines

wzp-relay:
- RelayPipeline: ingest → FEC decode → jitter buffer → FEC encode → send
- SessionManager: tracks active calls, idle expiry
- RelayConfig: TOML-based configuration
- Binary: accepts QUIC connections, receives media packets

wzp-client:
- CallEncoder: mic PCM → Opus encode → FEC → MediaPackets
- CallDecoder: MediaPackets → FEC decode → jitter → Opus decode → PCM
- CLI binary: connects to relay, sends test silence frames

99 tests passing across all 7 crates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Siavash Sameni
2026-03-27 13:08:33 +04:00
parent 51e893590c
commit 43d7f70fe9
11 changed files with 1023 additions and 10 deletions

View File

@@ -1,11 +1,11 @@
//! WarzonePhone Client Library
//!
//! Client-side pipeline:
//! mic → encode → FEC → encrypt → send / recv → decrypt → FEC decode → decode → speaker
//! 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 (via JNI/uniffi)
//! - Windows desktop
//! - macOS/Linux (testing)
//!
//! Built after the 5 agent crates (proto, codec, fec, crypto, transport) are complete.
//! Targets: Android (JNI), Windows desktop, macOS/Linux (testing)
pub mod call;
pub use call::{CallConfig, CallDecoder, CallEncoder};