aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/format/ebml/matroska.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-12 22:05:32 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-12 22:05:32 +0100
commit7ca91b6f33bb260bc966e853c832b4339c1c2ae0 (patch)
tree573eea3ea72a55fff4d43f42de4ae6fe0af4b2d9 /remuxer/src/format/ebml/matroska.rs
parent047cb61bcf0ca61c58566ef5ca5d236234e46b21 (diff)
downloadjellything-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.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
+ }
+}