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

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