mp4_atom/moov/trak/mdia/minf/stbl/
mod.rs

1mod 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}