mp4_atom/moov/trak/mdia/minf/stbl/
mod.rs1mod 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}