Expand description
Audio codec implementations for RTP media.
This module provides encoding and decoding for common VoIP codecs:
- G.711 μ-law (PCMU): PT 0, 8kHz, widely supported
- G.711 A-law (PCMA): PT 8, 8kHz, common in Europe
- Opus: PT 111, 48kHz, modern high-quality codec (feature-gated)
§Example
use rtp_engine::codec::{CodecType, create_encoder, create_decoder};
let mut encoder = create_encoder(CodecType::Pcmu).unwrap();
let mut decoder = create_decoder(CodecType::Pcmu).unwrap();
// Encode 160 samples (20ms at 8kHz)
let pcm: Vec<i16> = vec![0; 160];
let mut encoded = Vec::new();
encoder.encode(&pcm, &mut encoded);
// Decode back to PCM
let mut decoded = Vec::new();
decoder.decode(&encoded, &mut decoded);Structs§
- Opus
Decoder - Opus decoder with integrated 48kHz→8kHz resampling.
- Opus
Encoder - Opus encoder with integrated 8kHz→48kHz resampling.
- Pcma
Decoder - G.711 A-law (PCMA) decoder.
- Pcma
Encoder - G.711 A-law (PCMA) encoder.
- Pcmu
Decoder - G.711 μ-law (PCMU) decoder.
- Pcmu
Encoder - G.711 μ-law (PCMU) encoder.
Enums§
- Codec
Type - Supported audio codec types.
Traits§
- Audio
Decoder - Trait for audio decoders.
- Audio
Encoder - Trait for audio encoders.
Functions§
- create_
decoder - Create a decoder for the specified codec type.
- create_
encoder - Create an encoder for the specified codec type.
- negotiate_
codec - Negotiate a codec from SDP answer.