flv_core/error.rs
1//! Public error type.
2
3#![forbid(unsafe_code)]
4
5/// Errors from FLV mux/demux.
6#[derive(Debug, thiserror::Error)]
7#[non_exhaustive]
8pub enum Error {
9 /// First 3 bytes are not `FLV`.
10 #[error("bad FLV signature (expected \"FLV\")")]
11 BadSignature,
12 /// `TagType` byte is not 8 (audio), 9 (video), or 18 (script data).
13 #[error("unknown FLV tag type {0} (expected 8, 9, or 18)")]
14 UnknownTagType(u8),
15 /// `Tag::data` is longer than FLV's 24-bit `DataSize` field can represent (16,777,215 bytes).
16 #[error("tag data of {0} bytes exceeds FLV's 24-bit DataSize field (max 16,777,215)")]
17 TagDataTooLarge(usize),
18 /// `Muxer::write_tag` was called before `Muxer::write_header`.
19 #[error("write_tag called before write_header")]
20 HeaderNotWritten,
21}