Skip to main content

riff_wave_core/
lib.rs

1//! Sans-IO RIFF/WAVE (PCM) mux and demux — no OS I/O, no Mediaway types.
2//!
3//! - [`Muxer`] buffers pushed PCM samples and writes a complete RIFF/WAVE file on
4//!   [`Muxer::finish`] — RIFF's `data` chunk size must be known before the header is
5//!   written, so (unlike `iso-bmff`'s fragmented fMP4 output) there is no incremental
6//!   flush here.
7//! - [`parse`] reads a complete RIFF/WAVE buffer back into a [`WaveFormat`] and raw
8//!   PCM [`bytes::Bytes`] payload.
9
10#![forbid(unsafe_code)]
11
12mod demux;
13mod error;
14mod mux;
15mod types;
16
17pub use demux::parse;
18pub use error::Error;
19pub use mux::Muxer;
20pub use types::{SampleFormat, WaveFormat};