PcmFrame is the canonical tap format (16-bit mono @ 24 kHz, 480 samples per 20 ms frame — ARCHITECTURE.md). AudioSource/AudioSink are the seam step 2 splices the tap client into (spec §3.3); EchoAudioPipe is the slice-1 wiring of that seam. OpusDecoder/OpusEncoder wrap the opus crate's libopus FFI with hot-path match-and-continue (no ? on the 20 ms loop, spec §3.8); decode/encode return Option<PcmFrame>/Option<Vec<u8>> so a dropped frame is logged + counted, never propagated to crash the peer.
1.6 KiB
1.6 KiB