[package] name = "wzp-codec" version.workspace = true edition.workspace = true license.workspace = true rust-version.workspace = true description = "WarzonePhone audio codec layer — Opus + Codec2 encoding/decoding" [dependencies] wzp-proto = { workspace = true } tracing = { workspace = true } # Opus bindings — libopus 1.5.2. # opusic-c for the encoder (set_dred_duration lives here in Phase 1). # opusic-sys for the decoder — we wrap the raw *mut OpusDecoder ourselves # because opusic-c::Decoder.inner is pub(crate), blocking the unified # decoder + DRED path we need in Phase 3. opusic-c = { workspace = true } opusic-sys = { workspace = true } # Zero-cost slice reinterpretation for the i16 ↔ u16 boundary between # our PCM buffers and opusic-c's encode API. bytemuck = { workspace = true } # Pure-Rust Codec2 implementation codec2 = { workspace = true } # RNG for comfort noise generation rand = { workspace = true } # ML-based noise suppression (pure-Rust port of RNNoise) nnnoiseless = "0.5" [dev-dependencies]