diff options
Diffstat (limited to 'remuxer/src/format/ebml/matroska.rs')
-rw-r--r-- | remuxer/src/format/ebml/matroska.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/remuxer/src/format/ebml/matroska.rs b/remuxer/src/format/ebml/matroska.rs new file mode 100644 index 0000000..50aa783 --- /dev/null +++ b/remuxer/src/format/ebml/matroska.rs @@ -0,0 +1,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 + } +} |