use broadcast_common::Parse;
use dvb_subtitle::{AnySegment, DataIdentifier, EndOfPesMarker, PesDataField, SyncByte};
fn main() {
let bytes = [
DataIdentifier, 0x00, SyncByte, 0x14, 0x00,
0x01, 0x00,
0x05, 0x30, 0x02,
0xCF, 0x01,
0x1F, EndOfPesMarker, ];
let field = PesDataField::parse(&bytes).expect("valid PES data field");
println!("Segments: {}", field.segments.len());
match &field.segments[0] {
AnySegment::DisplayDefinition(dds) => {
println!("Display width : {}", dds.display_width + 1);
println!("Display height : {}", dds.display_height + 1);
println!("Version : {}", dds.dds_version_number);
println!("Window flag : {}", dds.display_window_flag);
}
seg => println!("Unexpected segment: {}", seg.name()),
}
}