blob: 719574102ed8f349f48118392b16aac16dba2937 (
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
32
33
34
35
|
use ebml::{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 @ MatroskaTag::SeekHead(_) => {
eprintln!("{:?}", r.collect_master(tag));
}
tag @ MatroskaTag::Cues(_) => {
eprintln!("{:?}", r.collect_master(tag));
}
tag => {
w.write_tag(&tag)?;
}
}
}
Ok(())
}
|