aboutsummaryrefslogtreecommitdiff
path: root/ebml/src/mod.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-13 18:06:11 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-13 18:06:11 +0100
commit8fc4b9792044d82e729e8b4ef993c6391d711c5b (patch)
treead69a04a83e876dce4ebb15513c69fad757483d8 /ebml/src/mod.rs
parentb192ec740d358d0e12eedd1308d006e080b3d8c2 (diff)
downloadjellything-8fc4b9792044d82e729e8b4ef993c6391d711c5b.tar
jellything-8fc4b9792044d82e729e8b4ef993c6391d711c5b.tar.bz2
jellything-8fc4b9792044d82e729e8b4ef993c6391d711c5b.tar.zst
started writing a proc_macro now
Diffstat (limited to 'ebml/src/mod.rs')
-rw-r--r--ebml/src/mod.rs48
1 files changed, 0 insertions, 48 deletions
diff --git a/ebml/src/mod.rs b/ebml/src/mod.rs
deleted file mode 100644
index 5da6809..0000000
--- a/ebml/src/mod.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-use crate::format::matroska::read::EbmlSize;
-
-use self::read::EbmlReader;
-use anyhow::{bail, Result};
-use log::debug;
-
-pub mod matroska;
-pub mod read;
-
-#[derive(Debug, Clone)]
-pub enum Master {
- Start,
- End,
-}
-
-#[derive(Debug, Clone)]
-pub enum MatroskaTag {
- Ebml(Master),
- EbmlVersion(u64),
- EbmlReadVersion(u64),
- EbmlMaxIdLength(u64),
- EbmlMaxSizeLength(u64),
- DocType(String),
- DocTypeVersion(u64),
- DocTypeReadVersion(u64),
- DocTypeExtension(Master),
-}
-
-impl EbmlReader {
- pub fn read_tag(&mut self) -> Result<MatroskaTag> {
- let id = self.read_tag_id()?;
- let size = EbmlSize::from_vint(self.read_vint_len()?);
- debug!("tag id={id:x}, size={size:?}");
- Ok(match id {
- 0x1a45dfa3 => MatroskaTag::Ebml(Master::Start),
- 0x4286 => MatroskaTag::EbmlVersion(self.read_vint()?),
- 0x42f7 => MatroskaTag::EbmlReadVersion(self.read_vint()?),
- 0x42f2 => MatroskaTag::EbmlMaxIdLength(self.read_vint()?),
- 0x42f3 => MatroskaTag::EbmlMaxSizeLength(self.read_vint()?),
- 0x4282 => MatroskaTag::DocType(self.read_utf8(size)?),
- 0x4287 => MatroskaTag::DocTypeVersion(self.read_vint()?),
- 0x4285 => MatroskaTag::DocTypeReadVersion(self.read_vint()?),
- 0x4281 => MatroskaTag::DocTypeExtension(Master::Start),
-
- _ => bail!("thats not a tag we know..."),
- })
- }
-}