Skip to main content

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

1mod dinf;
2mod hmhd;
3mod nmhd;
4mod smhd;
5mod stbl;
6mod sthd;
7mod vmhd;
8
9pub use dinf::*;
10pub use hmhd::*;
11pub use nmhd::*;
12pub use smhd::*;
13pub use stbl::*;
14pub use sthd::*;
15pub use vmhd::*;
16
17use crate::*;
18
19#[derive(Debug, Clone, PartialEq, Eq, Default)]
20#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
21pub struct Minf {
22    pub vmhd: Option<Vmhd>,
23    pub smhd: Option<Smhd>,
24    pub nmhd: Option<Nmhd>,
25    pub sthd: Option<Sthd>,
26    pub hmhd: Option<Hmhd>,
27    pub dinf: Dinf,
28    pub stbl: Stbl,
29}
30
31impl Atom for Minf {
32    const KIND: FourCC = FourCC::new(b"minf");
33
34    nested! {
35        required: [ Dinf, Stbl ],
36        optional: [ Vmhd, Smhd, Nmhd, Sthd, Hmhd ],
37        multiple: [],
38    }
39}