diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-14 18:04:16 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-14 18:04:16 +0100 |
commit | f452df18749b13f9d83a6ea679361d195b4a9ae1 (patch) | |
tree | 04897eef044ebed319949a0cdbd04232f0dce98c /ebml/src/bin/experiment.rs | |
parent | 6c023ddeaa0894813fc74038af7568c2d867c052 (diff) | |
download | jellything-f452df18749b13f9d83a6ea679361d195b4a9ae1.tar jellything-f452df18749b13f9d83a6ea679361d195b4a9ae1.tar.bz2 jellything-f452df18749b13f9d83a6ea679361d195b4a9ae1.tar.zst |
seeking and broken writing
Diffstat (limited to 'ebml/src/bin/experiment.rs')
-rw-r--r-- | ebml/src/bin/experiment.rs | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/ebml/src/bin/experiment.rs b/ebml/src/bin/experiment.rs index c510bb5..c850753 100644 --- a/ebml/src/bin/experiment.rs +++ b/ebml/src/bin/experiment.rs @@ -1,12 +1,31 @@ -use ebml::read::EbmlReader; -use std::{fs::File, io::BufReader}; +use ebml::{matroska::MatroskaTag, read::EbmlReader, write::EbmlWriter}; +use std::{ + fs::File, + io::{stdin, stdout, BufReader, BufWriter}, +}; -fn main() { +fn main() -> anyhow::Result<()> { env_logger::init_from_env("LOG"); - let f = File::open(std::env::args().skip(1).next().unwrap()).unwrap(); - let mut r = EbmlReader::new(BufReader::new(f)); + let path = std::env::args().skip(1).next().unwrap(); + let mut r = EbmlReader::new(BufReader::new(File::open(path)?)); + let mut w = EbmlWriter::new(BufWriter::new(stdout()), 0); - for tag in r { - println!("{:?}", tag); + // r.seek( + // 631147167 + 52, + // ebml::matroska::MatroskaTag::Cues(Master::Start), + // ) + // .unwrap(); + + while let Some(tag) = r.next() { + let tag = tag?; + w.write_tag(&tag)?; + // println!("{} {tag:?}", r.position) + // match tag { + // tag @ MatroskaTag::SeekHead(_) => { + // println!("{:?}", r.collect_master(tag)); + // } + // _ => (), + // } } + Ok(()) } |