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::hvc1::Hvc1;
37use crate::boxes::types::hvcc::HvcC;
38use crate::boxes::types::mdat::Mdat;
39use crate::boxes::types::mdhd::Mdhd;
40use crate::boxes::types::mdia::Mdia;
41use crate::boxes::types::mehd::Mehd;
42use crate::boxes::types::mfhd::Mfhd;
43use crate::boxes::types::minf::Minf;
44use crate::boxes::types::moof::Moof;
45use crate::boxes::types::moov::Moov;
46use crate::boxes::types::mp4a::Mp4a;
47use crate::boxes::types::mvex::Mvex;
48use crate::boxes::types::mvhd::Mvhd;
49use crate::boxes::types::nmhd::Nmhd;
50use crate::boxes::types::opus::Opus;
51use crate::boxes::types::padb::Padb;
52use crate::boxes::types::pasp::Pasp;
53use crate::boxes::types::sbgp::Sbgp;
54use crate::boxes::types::sdtp::Sdtp;
55use crate::boxes::types::smhd::Smhd;
56use crate::boxes::types::stbl::Stbl;
57use crate::boxes::types::stco::Stco;
58use crate::boxes::types::stdp::Stdp;
59use crate::boxes::types::stsc::Stsc;
60use crate::boxes::types::stsd::Stsd;
61use crate::boxes::types::stsh::Stsh;
62use crate::boxes::types::stss::Stss;
63use crate::boxes::types::stsz::Stsz;
64use crate::boxes::types::stts::Stts;
65use crate::boxes::types::stz2::Stz2;
66use crate::boxes::types::subs::Subs;
67use crate::boxes::types::tfdt::Tfdt;
68use crate::boxes::types::tfhd::Tfhd;
69use crate::boxes::types::tkhd::Tkhd;
70use crate::boxes::types::traf::Traf;
71use crate::boxes::types::trak::Trak;
72use crate::boxes::types::trex::Trex;
73use crate::boxes::types::trun::Trun;
74use crate::boxes::types::url::Url;
75use crate::boxes::types::vmhd::Vmhd;
76
77#[rustfmt::skip]
78impl_box!(
79    Ftyp, Moov, Mvhd, Mvex, Trak, Trex,
80    Mehd, Mdia, Tkhd, Edts, Elst, Mdhd,
81    Minf, Hdlr, Dinf, Stbl, Hmhd, Nmhd,
82    Smhd, Vmhd, Dref, Stsd, Stsz, Stsc,
83    Stco, Co64, Stts, Stss, Stz2, Stsh,
84    Ctts, Stdp, Sbgp, Subs, Padb, Sdtp,
85    Url, Avc1, Clap, Pasp, AvcC, Btrt,
86    Mp4a, Esds, Moof, Mfhd, Traf, Tfhd,
87    Tfdt, Trun, Mdat, Av01, Av1C, Colr,
88    Hev1, Hvc1, HvcC, Opus,
89);