#![forbid(unsafe_code)]
use thiserror::Error;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Error)]
#[non_exhaustive]
pub enum Error {
#[error("truncated EBML VINT or element header (need more bytes)")]
Incomplete,
#[error("EBML VINT length marker not found within 8 bytes (reserved encoding)")]
ReservedVint,
#[error("EBML/WebM feature not supported by this demuxer: {0}")]
Unsupported(&'static str),
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Error)]
#[non_exhaustive]
pub enum MuxError {
#[error("WebM TrackNumber must be non-zero")]
InvalidTrackNumber,
#[error("duplicate WebM TrackNumber {0}")]
DuplicateTrack(u64),
#[error("push_frame references unregistered TrackNumber {0}")]
UnknownTrack(u64),
}