aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/format/ebml/matroska.rs
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src/format/ebml/matroska.rs')
-rw-r--r--remuxer/src/format/ebml/matroska.rs39
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
+ }
+}