aboutsummaryrefslogtreecommitdiff
path: root/matroska/src/bin/mkvdump.rs
blob: ba05c1981f949b2c7393422d82a25f686fd8877b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
    This file is part of jellything (https://codeberg.org/metamuffin/jellything)
    which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
    Copyright (C) 2023 metamuffin <metamuffin.org>
*/
use jellymatroska::{matroska::MatroskaTag, read::EbmlReader, unflatten::IterWithPos};
use std::{fs::File, io::BufReader};

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)?));

    while let Some(tag) = r.next() {
        let tag = tag?;
        match tag {
            MatroskaTag::SimpleBlock(_) => (), // println!("{} SimpleBlock", r.position),
            MatroskaTag::Block(_) => (),       // println!("{} Block", r.position),
            _ => println!("{} {tag:?}", r.position),
        }
    }
    Ok(())
}