aboutsummaryrefslogtreecommitdiff
path: root/ebml/src/bin/experiment.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-14 18:04:16 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-14 18:04:16 +0100
commitf452df18749b13f9d83a6ea679361d195b4a9ae1 (patch)
tree04897eef044ebed319949a0cdbd04232f0dce98c /ebml/src/bin/experiment.rs
parent6c023ddeaa0894813fc74038af7568c2d867c052 (diff)
downloadjellything-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.rs33
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(())
}