diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-13 18:06:11 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-13 18:06:11 +0100 |
commit | 8fc4b9792044d82e729e8b4ef993c6391d711c5b (patch) | |
tree | ad69a04a83e876dce4ebb15513c69fad757483d8 /ebml/src/mod.rs | |
parent | b192ec740d358d0e12eedd1308d006e080b3d8c2 (diff) | |
download | jellything-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.rs | 48 |
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..."), - }) - } -} |