aboutsummaryrefslogtreecommitdiff
path: root/ebml/src/bin/experiment.rs
blob: c85075388e7e770c5834759d22a8e32b22ba6778 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use ebml::{matroska::MatroskaTag, read::EbmlReader, write::EbmlWriter};
use std::{
    fs::File,
    io::{stdin, 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?;
        w.write_tag(&tag)?;
        // println!("{} {tag:?}", r.position)
        // match tag {
        //     tag @ MatroskaTag::SeekHead(_) => {
        //         println!("{:?}", r.collect_master(tag));
        //     }
        //     _ => (),
        // }
    }
    Ok(())
}