mpeg_audio/lib.rs
1//! Sans-IO MPEG-1/2/2.5 Layer III ("MP3") elementary stream mux and demux — no
2//! OS I/O, no Mediaway types.
3//!
4//! v1 scope: Layer III only (see crate-local ADR-0001). Frames already-encoded
5//! Layer III payloads with a correct 4-byte header — this crate does not encode
6//! PCM into Layer III bitstreams (a codec's job, out of scope for a
7//! container/framing crate).
8//!
9//! Like `adts-core`, MPEG audio frames have no container-level header — [`Muxer`]
10//! appends one frame per call (no `finish()`); [`Demuxer`] is a true incremental
11//! `push_bytes`/`poll_frame` reader.
12
13#![forbid(unsafe_code)]
14
15mod demux;
16mod error;
17mod mux;
18mod types;
19
20pub use demux::Demuxer;
21pub use error::Error;
22pub use mux::Muxer;
23pub use types::{ChannelMode, FrameHeader, MpegVersion};