aboutsummaryrefslogtreecommitdiff
path: root/matroska/src/bin/experiment.rs
diff options
context:
space:
mode:
Diffstat (limited to 'matroska/src/bin/experiment.rs')
-rw-r--r--matroska/src/bin/experiment.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/matroska/src/bin/experiment.rs b/matroska/src/bin/experiment.rs
new file mode 100644
index 0000000..caeae09
--- /dev/null
+++ b/matroska/src/bin/experiment.rs
@@ -0,0 +1,32 @@
+use jellymatroska::{matroska::MatroskaTag, read::EbmlReader, write::EbmlWriter};
+use std::{
+ fs::File,
+ io::{stdout, BufReader, BufWriter},
+};
+
+fn main() -> anyhow::Result<()> {
+ env_logger::init_from_env("LOG");
+ 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);
+
+ // r.seek(
+ // 631147167 + 52,
+ // ebml::matroska::MatroskaTag::Cues(Master::Start),
+ // )
+ // .unwrap();
+
+ while let Some(tag) = r.next() {
+ let tag = tag?;
+ // println!("{} {tag:?}", r.position);
+ match tag {
+ tag => {
+ if MatroskaTag::is_master(tag.id())? {
+ eprintln!("{tag:?}");
+ }
+ w.write_tag(&tag)?;
+ }
+ }
+ }
+ Ok(())
+}