diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-12 22:05:32 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-12 22:05:32 +0100 |
commit | 7ca91b6f33bb260bc966e853c832b4339c1c2ae0 (patch) | |
tree | 573eea3ea72a55fff4d43f42de4ae6fe0af4b2d9 /remuxer/src/format/ebml/matroska.rs | |
parent | 047cb61bcf0ca61c58566ef5ca5d236234e46b21 (diff) | |
download | jellything-7ca91b6f33bb260bc966e853c832b4339c1c2ae0.tar jellything-7ca91b6f33bb260bc966e853c832b4339c1c2ae0.tar.bz2 jellything-7ca91b6f33bb260bc966e853c832b4339c1c2ae0.tar.zst |
implementing my own ebml library
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 + } +} |