Expand description
RVOIP Audio Core Library
Comprehensive audio handling for VoIP applications, providing device management, format conversion, codec processing, and RTP audio stream integration.
§Architecture
The audio-core library is organized into several key modules:
- Device Management: Cross-platform audio device access and control
- Format Bridge: Audio format conversion and resampling
- Pipeline: High-level audio streaming pipelines
- RTP Integration: RTP payload encoding/decoding
- Processing: Audio signal processing (AEC, AGC, etc.)
§Quick Start
§Device Enumeration
use rvoip_audio_core::device::AudioDeviceManager;
use rvoip_audio_core::types::AudioDirection;
let device_manager = AudioDeviceManager::new().await?;
// List available devices
let input_devices = device_manager.list_devices(AudioDirection::Input).await?;
let output_devices = device_manager.list_devices(AudioDirection::Output).await?;
println!("Found {} input devices", input_devices.len());
println!("Found {} output devices", output_devices.len());§Audio Pipeline
use rvoip_audio_core::pipeline::AudioPipeline;
use rvoip_audio_core::types::{AudioFormat, AudioDirection};
// Create a basic audio pipeline
let mut pipeline = AudioPipeline::builder()
.input_format(AudioFormat::pcm_8khz_mono())
.output_format(AudioFormat::pcm_48khz_stereo())
.build()
.await?;
// Start the pipeline
pipeline.start().await?;§Features
This crate supports multiple optional features:
device-cpal: CPAL-based audio device support (default)format-conversion: Audio format conversion and resamplingprocessing-*: Audio signal processing features
Enable features in your Cargo.toml:
[dependencies]
rvoip-audio-core = { version = "0.1", features = ["full"] }Re-exports§
pub use error::AudioError;pub use error::AudioResult;pub use types::AudioFormat;pub use types::AudioFrame;pub use types::AudioDirection;pub use types::AudioDeviceInfo;pub use types::AudioStreamConfig;pub use types::AudioQualityMetrics;pub use device::AudioDeviceManager;pub use device::AudioDevice;pub use pipeline::AudioPipeline;
Modules§
- defaults
- Default audio configuration constants
- device
- Audio device management
- error
- Error types for the audio-core library
- format
- Audio format conversion using dasp
- pipeline
- Audio pipeline
- rtp
- RTP integration
- types
- Core audio types and structures
Structs§
Constants§
- VERSION
- Audio-core library version
Traits§
- Media
Control - Extension trait for media control operations