From 7ca91b6f33bb260bc966e853c832b4339c1c2ae0 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 12 Jan 2023 22:05:32 +0100 Subject: implementing my own ebml library --- remuxer/src/format/ebml/matroska.rs | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 remuxer/src/format/ebml/matroska.rs (limited to 'remuxer/src/format/ebml/matroska.rs') 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 + } +} -- cgit v1.2.3-70-g09d2