mp4_atom/moov/trak/mdia/minf/stbl/
mod.rs1mod co64;
2mod ctts;
3mod stco;
4mod stsc;
5mod stsd;
6mod stss;
7mod stsz;
8mod stts;
9
10pub use co64::*;
11pub use ctts::*;
12pub use stco::*;
13pub use stsc::*;
14pub use stsd::*;
15pub use stss::*;
16pub use stsz::*;
17pub use stts::*;
18
19use crate::*;
20
21#[derive(Debug, Clone, PartialEq, Eq, Default)]
22#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
23pub struct Stbl {
24 pub stsd: Stsd,
25 pub stts: Stts,
26 pub ctts: Option<Ctts>,
27 pub stss: Option<Stss>,
28 pub stsc: Stsc,
29 pub stsz: Stsz,
30 pub stco: Option<Stco>,
31 pub co64: Option<Co64>,
32}
33
34impl Atom for Stbl {
35 const KIND: FourCC = FourCC::new(b"stbl");
36
37 nested! {
38 required: [ Stsd, Stts, Stsc, Stsz ],
39 optional: [ Ctts, Stss, Stco, Co64 ],
40 multiple: [],
41 }
42}