mod atom_info;
pub(crate) mod ilst;
mod moov;
mod properties;
mod read;
mod write;
use lofty_attr::LoftyFile;
pub mod constants {
pub use super::ilst::constants::*;
}
pub use crate::mp4::properties::{AudioObjectType, Mp4Codec, Mp4Properties};
pub use atom_info::AtomIdent;
pub use ilst::Ilst;
pub use ilst::advisory_rating::AdvisoryRating;
pub use ilst::atom::{Atom, AtomData};
pub use ilst::data_type::DataType;
pub(crate) use properties::SAMPLE_RATES;
#[derive(LoftyFile)]
#[lofty(read_fn = "read::read_from")]
pub struct Mp4File {
pub(crate) ftyp: String,
#[lofty(tag_type = "Mp4Ilst")]
pub(crate) ilst_tag: Option<Ilst>,
pub(crate) properties: Mp4Properties,
}
impl Mp4File {
pub fn ftyp(&self) -> &str {
self.ftyp.as_ref()
}
}