diff options
Diffstat (limited to 'remuxer/src/format/ebml/read.rs')
| -rw-r--r-- | remuxer/src/format/ebml/read.rs | 44 | 
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(()) - -    } -} -  |