scuffle_flv/
error.rs

1//! Error types.
2
3/// Error type for FLV processing.
4#[derive(Debug, thiserror::Error)]
5pub enum FlvError {
6    /// IO error.
7    #[error("io: {0}")]
8    Io(#[from] std::io::Error),
9    /// The FLV signature (magic bytes) is invalid.
10    #[error("invalid signature in header: 0x{0:x}")]
11    InvalidSignature(u32),
12    /// The data offset in the FLV header is invalid.
13    #[error("invalid data offset: {0}")]
14    InvalidDataOffset(u32),
15    /// Multitracks cannot be nested.
16    #[error("nested multitracks are not allowed")]
17    NestedMultitracks,
18    /// Invalid modExData.
19    #[error("invalid modExData, expected at least {expected_bytes} bytes")]
20    InvalidModExData {
21        /// The expected number of bytes.
22        expected_bytes: usize,
23    },
24    /// AMF0 error.
25    #[error("amf0: {0}")]
26    Amf0(#[from] scuffle_amf0::Amf0Error),
27}