aboutsummaryrefslogtreecommitdiff
path: root/matroska/src/bin/mkvdump.rs
blob: 48420c617d1f91d59ecfd5d8064d9a66999ea00e (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
/*
    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) 2025 metamuffin <metamuffin.org>
*/
use jellymatroska::{matroska::MatroskaTag, read::EbmlReader};
use std::{fs::File, io::BufReader};

fn main() {
    env_logger::init_from_env("LOG");
    let path = std::env::args().nth(1).unwrap();
    let r = EbmlReader::new(BufReader::new(File::open(path).unwrap()));

    for tag in r {
        let (position, tag) = tag.unwrap();
        match tag {
            MatroskaTag::SimpleBlock(b) | MatroskaTag::Block(b) => {
                println!(
                    "block t={} kf={} ts_off={}",
                    b.track,
                    b.flags.keyframe(),
                    b.timestamp_off
                )
            }
            _ => println!("{} {tag:?}", position.unwrap_or(0)),
        }
    }
}