scuffle_mp4/boxes/
mod.rs

1use std::fmt::Debug;
2use std::io;
3
4use byteorder::WriteBytesExt;
5use bytes::Bytes;
6use paste::paste;
7
8pub mod header;
9mod traits;
10pub mod types;
11
12#[macro_use]
13mod macros;
14
15use header::BoxHeader;
16pub use traits::BoxType;
17
18use crate::boxes::types::av01::Av01;
19use crate::boxes::types::av1c::Av1C;
20use crate::boxes::types::avc1::Avc1;
21use crate::boxes::types::avcc::AvcC;
22use crate::boxes::types::btrt::Btrt;
23use crate::boxes::types::clap::Clap;
24use crate::boxes::types::co64::Co64;
25use crate::boxes::types::colr::Colr;
26use crate::boxes::types::ctts::Ctts;
27use crate::boxes::types::dinf::Dinf;
28use crate::boxes::types::dref::Dref;
29use crate::boxes::types::edts::Edts;
30use crate::boxes::types::elst::Elst;
31use crate::boxes::types::esds::Esds;
32use crate::boxes::types::ftyp::Ftyp;
33use crate::boxes::types::hdlr::Hdlr;
34use crate::boxes::types::hev1::Hev1;
35use crate::boxes::types::hmhd::Hmhd;
36use crate::boxes::types::hvcc::HvcC;
37use crate::boxes::types::mdat::Mdat;
38use crate::boxes::types::mdhd::Mdhd;
39use crate::boxes::types::mdia::Mdia;
40use crate::boxes::types::mehd::Mehd;
41use crate::boxes::types::mfhd::Mfhd;
42use crate::boxes::types::minf::Minf;
43use crate::boxes::types::moof::Moof;
44use crate::boxes::types::moov::Moov;
45use crate::boxes::types::mp4a::Mp4a;
46use crate::boxes::types::mvex::Mvex;
47use crate::boxes::types::mvhd::Mvhd;
48use crate::boxes::types::nmhd::Nmhd;
49use crate::boxes::types::opus::Opus;
50use crate::boxes::types::padb::Padb;
51use crate::boxes::types::pasp::Pasp;
52use crate::boxes::types::sbgp::Sbgp;
53use crate::boxes::types::sdtp::Sdtp;
54use crate::boxes::types::smhd::Smhd;
55use crate::boxes::types::stbl::Stbl;
56use crate::boxes::types::stco::Stco;
57use crate::boxes::types::stdp::Stdp;
58use crate::boxes::types::stsc::Stsc;
59use crate::boxes::types::stsd::Stsd;
60use crate::boxes::types::stsh::Stsh;
61use crate::boxes::types::stss::Stss;
62use crate::boxes::types::stsz::Stsz;
63use crate::boxes::types::stts::Stts;
64use crate::boxes::types::stz2::Stz2;
65use crate::boxes::types::subs::Subs;
66use crate::boxes::types::tfdt::Tfdt;
67use crate::boxes::types::tfhd::Tfhd;
68use crate::boxes::types::tkhd::Tkhd;
69use crate::boxes::types::traf::Traf;
70use crate::boxes::types::trak::Trak;
71use crate::boxes::types::trex::Trex;
72use crate::boxes::types::trun::Trun;
73use crate::boxes::types::url::Url;
74use crate::boxes::types::vmhd::Vmhd;
75
76#[rustfmt::skip]
77impl_box!(
78    Ftyp, Moov, Mvhd, Mvex, Trak, Trex,
79    Mehd, Mdia, Tkhd, Edts, Elst, Mdhd,
80    Minf, Hdlr, Dinf, Stbl, Hmhd, Nmhd,
81    Smhd, Vmhd, Dref, Stsd, Stsz, Stsc,
82    Stco, Co64, Stts, Stss, Stz2, Stsh,
83    Ctts, Stdp, Sbgp, Subs, Padb, Sdtp,
84    Url, Avc1, Clap, Pasp, AvcC, Btrt,
85    Mp4a, Esds, Moof, Mfhd, Traf, Tfhd,
86    Tfdt, Trun, Mdat, Av01, Av1C, Colr,
87    Hev1, HvcC, Opus,
88);