use crate::ebml::read_track_number;
use crate::error::PgsError;
use crate::io::SeekBufReader;
use std::io::{Read, Seek};
#[derive(Debug)]
pub struct BlockHeader {
pub track_number: u64,
pub relative_timestamp: i16,
}
pub fn read_block_header<R: Read + Seek>(
reader: &mut SeekBufReader<R>,
) -> Result<BlockHeader, PgsError> {
let track_vint = read_track_number(reader)?;
let relative_timestamp = reader.read_u16_be()? as i16;
let mut flags_buf = [0u8; 1];
reader.read_exact(&mut flags_buf)?;
Ok(BlockHeader {
track_number: track_vint.value,
relative_timestamp,
})
}