aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/format/ebml/read.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-13 17:12:47 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-13 17:12:47 +0100
commitb192ec740d358d0e12eedd1308d006e080b3d8c2 (patch)
treef642ddaa0e35694f611cc97978f1031431b5fef2 /remuxer/src/format/ebml/read.rs
parent7ca91b6f33bb260bc966e853c832b4339c1c2ae0 (diff)
downloadjellything-b192ec740d358d0e12eedd1308d006e080b3d8c2.tar
jellything-b192ec740d358d0e12eedd1308d006e080b3d8c2.tar.bz2
jellything-b192ec740d358d0e12eedd1308d006e080b3d8c2.tar.zst
new starting with a new ebml impl
Diffstat (limited to 'remuxer/src/format/ebml/read.rs')
-rw-r--r--remuxer/src/format/ebml/read.rs44
1 files changed, 0 insertions, 44 deletions
diff --git a/remuxer/src/format/ebml/read.rs b/remuxer/src/format/ebml/read.rs
deleted file mode 100644
index 06ccf2f..0000000
--- a/remuxer/src/format/ebml/read.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-use std::io::{Read, Seek};
-
-use anyhow::Result;
-
-pub struct EbmlReader<T> {
- inner: T,
- position: usize,
-}
-
-impl<T: Read + Seek> EbmlReader<T> {
- pub fn new(inner: T) -> Self {
- Self { inner, position: 0 }
- }
-
- pub fn read_byte(&mut self) -> Result<u8> {
- let mut b = [0u8];
- self.inner.read_exact(&mut b)?;
- Ok(b[0])
- }
- pub fn read_vint(&mut self) -> Result<(u64, u64)> {
- let s = self.read_byte()? as u64;
- let len = s.leading_zeros() + 1;
- let mut value = s;
- value -= 1 << (8 - len);
- for _ in 0..(len - 1) {
- value <<= 8;
- value += self.read_byte()? as u64;
- }
- Ok((value, len.into()))
- }
-
- pub fn read_tag_id(&mut self) -> Result<u64> {
- let (value, len) = self.read_vint()?;
- Ok(value + (1 << (7 * len)))
- }
-
- pub fn read_tag(&mut self) -> Result<()> {
- let id = self.read_tag_id()?;
-
- Ok(())
-
- }
-}
-