diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-13 17:12:47 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-13 17:12:47 +0100 |
commit | b192ec740d358d0e12eedd1308d006e080b3d8c2 (patch) | |
tree | f642ddaa0e35694f611cc97978f1031431b5fef2 /remuxer/src/format/ebml/write.rs | |
parent | 7ca91b6f33bb260bc966e853c832b4339c1c2ae0 (diff) | |
download | jellything-b192ec740d358d0e12eedd1308d006e080b3d8c2.tar jellything-b192ec740d358d0e12eedd1308d006e080b3d8c2.tar.bz2 jellything-b192ec740d358d0e12eedd1308d006e080b3d8c2.tar.zst |
new starting with a new ebml impl
Diffstat (limited to 'remuxer/src/format/ebml/write.rs')
-rw-r--r-- | remuxer/src/format/ebml/write.rs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/remuxer/src/format/ebml/write.rs b/remuxer/src/format/ebml/write.rs deleted file mode 100644 index 1dee225..0000000 --- a/remuxer/src/format/ebml/write.rs +++ /dev/null @@ -1,38 +0,0 @@ -use anyhow::{bail, Result}; -use std::io::Write; - -pub struct EbmlWriter<T> { - inner: T, - position: usize, -} - -impl<T: Write> EbmlWriter<T> { - pub fn new(inner: T, position: usize) -> Self { - Self { inner, position } - } - - pub fn write(&mut self, data: &[u8]) -> Result<()> { - self.inner.write_all(data)?; - self.position += data.len(); - Ok(()) - } - - pub fn write_vint(&mut self, i: u64) -> Result<()> { - if i > (1 << 56) - 1 { - bail!("vint does not fit"); - } - let mut len = 1; - while len <= 8 { - if i < (1 << ((7 * len) - 1)) { - break; - } - len += 1; - } - let mut bytes = i.to_be_bytes(); - bytes[0] |= 1 << (8 - len); - self.write(&bytes) - } - -} - - |