Skip to main content

flv_core/
lib.rs

1//! Sans-IO FLV (Flash Video) tag mux and demux — no OS I/O, no Mediaway types.
2//!
3//! Frames FLV's file header + tag/`PreviousTagSize` structure only — it does not
4//! interpret or build the codec-specific sub-framing inside a tag's data
5//! (`AudioTagHeader`/`VideoTagHeader`, e.g. `AVCPacketType`/composition time),
6//! the same "frame, don't encode" boundary as this workspace's
7//! `adts-core`/`mpeg-audio`/`ogg` crates.
8//!
9//! [`Muxer`] has no `finish()` — FLV tags are independently appendable, each
10//! self-trailed with its own `PreviousTagSize`. [`Demuxer`] is a true incremental
11//! `push_bytes`/`poll_tag` 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::{Tag, TagType};