aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/format/ebml/write.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/write.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/write.rs')
-rw-r--r--remuxer/src/format/ebml/write.rs38
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)
- }
-
-}
-
-