use bytes::Bytes;
use crate::mpegts::{WritableLen, pid::Pid, stream_type::StreamType, version::VersionNumber};
#[allow(missing_docs)]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct Pmt {
pub program_num: u16,
pub pcr_pid: Option<Pid>,
pub version_number: VersionNumber,
pub program_info: Vec<Descriptor>,
pub es_info: Vec<EsInfo>,
}
impl Pmt {
pub const TABLE_ID: u8 = 2;
}
impl WritableLen for Pmt {
fn writable_len(&self) -> usize {
todo!()
}
}
#[allow(missing_docs)]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct EsInfo {
pub stream_type: StreamType,
pub elementary_pid: Pid,
pub descriptors: Vec<Descriptor>,
}
#[allow(missing_docs)]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct Descriptor {
pub tag: u8,
pub data: Bytes,
}