Skip to main content

sim_lib_stream_audio/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3//! PCM source and sink adapters for STREAM 6.
4//!
5//! This crate keeps PCM I/O in library space. The in-memory source and sink
6//! are deterministic test backends; stream observation still goes through
7//! `sim-lib-stream-core` packets and spines.
8
9mod buffer;
10mod citizen;
11mod io;
12mod spec;
13mod spine;
14
15pub use buffer::{
16    PcmBuffer, f32_interleaved_to_planar, f32_planar_to_interleaved, f32_sample_to_i16,
17    f32_samples_to_i16, i16_interleaved_to_planar, i16_planar_to_interleaved, i16_sample_to_f32,
18    i16_samples_to_f32,
19};
20pub use citizen::{PcmFormatDescriptor, pcm_format_class_symbol};
21pub use io::{MemoryPcmSink, MemoryPcmSource, PcmPumpSummary, PcmSink, PcmSource, pump_pcm};
22pub use spec::{PcmSampleFormat, PcmSpec};
23pub use spine::{pcm_source_to_stream, stream_to_pcm_sink};
24
25#[cfg(test)]
26mod tests;