media: PcmFrame + AudioSource/Sink + Opus codec pair
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.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
resolver = "2"
|
||||
members = [
|
||||
"crates/rutster-call-model",
|
||||
"crates/rutster-media",
|
||||
"crates/rutster-signaling-sip",
|
||||
"crates/rutster-tap",
|
||||
"crates/rutster-spend",
|
||||
|
||||
Reference in New Issue
Block a user