Skip to main content

mpeg_ts_core/
lib.rs

1//! Sans-IO MPEG-2 Transport Stream mux and demux (ISO/IEC 13818-1) — no OS
2//! I/O, no Mediaway types.
3//!
4//! Single-program v1 scope (crate-local ADR-0001): one PAT entry, one PMT, a
5//! handful of elementary streams. [`Muxer`] writes PAT/PMT + per-PID PES
6//! packetization over 188-byte TS packets; [`Demuxer`] is a true incremental
7//! `push_bytes`/`poll_access_unit` reader that tracks PAT/PMT and reassembles
8//! PES packets per PID.
9//!
10//! Like `adts-core`/`mpeg-audio`/`ogg`/`flv-core`, this crate frames already-encoded
11//! elementary-stream access units — it does not encode/decode H.264, HEVC, AAC,
12//! or MP3 payloads.
13
14#![forbid(unsafe_code)]
15
16mod crc;
17mod demux;
18mod error;
19mod mux;
20mod packet;
21mod pes;
22mod psi;
23mod types;
24
25pub use demux::Demuxer;
26pub use error::Error;
27pub use mux::Muxer;
28pub use types::{AccessUnit, ElementaryStream, StreamType};