aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/format/ebml/matroska.rs
blob: 50aa78393e97814c3644e618d405c39ba4825c5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
pub enum TagType {
    Master,
    UnsignedInt,
    Integer,
    Utf8,
    Binary,
    Float,
}

macro_rules! define_ebml {
    ($master:ident { $($name:ident: $kind:ty = $id:literal),* }) => {
        pub enum $master {
            $($name($kind)),*
        }
        impl $master {
            
        }
    };
}

// 0x1a45dfa3
define_ebml! {
    Ebml {
        EbmlVersion: u64 = 0x4286,
        EbmlReadVersion: u64 = 0x42f7,
        EbmlMaxIdLength: u64 = 0x42f2,
        EbmlMaxSizeLength: u64 = 0x42f3,
        DocType: String = 0x4282,
        DocTypeVersion: u64 = 0x4287,
        DocTypeReadVersion: u64 = 0x4285,
        DocTypeExtension: DocTypeExtension = 0x4281
    }
}
define_ebml! {
    DocTypeExtension {
        Name: String = 0x4283,
        Version:  u64 = 0x4284
    }
}