mirror of
https://github.com/alfg/mp4-rust.git
synced 2024-06-02 13:39:54 +00:00
0df82aec5f
* Add ReadBox trait * Add boxtype macro * Remove offset in BoxHeader * Fix parsing error when box has largesize * Remove duplicated codes reading version and flags * Add avc1 box * Add mp4a box * Add mp4a box * Add DecoderSpecificDescriptor in esds box * Add necessary sub-boxes to stbl box * Improve ReadBox::read_box() * Add smhd box * Refactor BoxHeader * Refactor BMFF * Refactor * Add some functions to get offset and size of sample * Add Mp4Reader::read_sample() that read media samples Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
22 lines
576 B
Rust
22 lines
576 B
Rust
use thiserror::Error;
|
|
|
|
use crate::atoms::BoxType;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum Error {
|
|
#[error("{0}")]
|
|
IoError(#[from] std::io::Error),
|
|
#[error("{0}")]
|
|
InvalidData(&'static str),
|
|
#[error("{0} not found")]
|
|
BoxNotFound(BoxType),
|
|
#[error("trak[{0}] not found")]
|
|
TrakNotFound(u32),
|
|
#[error("trak[{0}].{1} not found")]
|
|
BoxInTrakNotFound(u32, BoxType),
|
|
#[error("trak[{0}].stbl.{1} not found")]
|
|
BoxInStblNotFound(u32, BoxType),
|
|
#[error("trak[{0}].stbl.{1}.entry[{2}] not found")]
|
|
EntryInStblNotFound(u32, BoxType, u32),
|
|
}
|