use core::time::Duration;
use dvb_conformance::ConformanceMonitor;
const PKT: usize = 188;
const INTER_PACKET_US: u64 = 40;
fn main() {
let path = concat!(env!("CARGO_MANIFEST_DIR"), "/../fixtures/ts/m6-single.ts");
let data = std::fs::read(path)
.unwrap_or_else(|e| panic!("committed fixture {path} could not be read: {e}"));
let mut monitor = ConformanceMonitor::new();
let mut total_events = 0usize;
for (i, pkt) in data.chunks(PKT).enumerate() {
if pkt.len() < PKT {
break;
}
let t = Duration::from_micros(i as u64 * INTER_PACKET_US);
total_events += monitor.feed(pkt, t).len();
}
let stats = monitor.stats();
println!("packets analysed : {}", stats.packets);
println!("in sync : {}", stats.in_sync);
println!("events raised : {total_events}");
}