pub struct ConditionalAccessTable {
pub version_number: u8,
pub current_next_indicator: bool,
pub section_number: u8,
pub last_section_number: u8,
pub descriptors: Vec<u8>,
}Expand description
Parsed Conditional Access Table per §2.4.4.6 / Table 2-27.
The CAT carries the program-wide CA descriptor block — one or more
CA_descriptors (§2.6.16) keyed by CA_system_ID that point at the
EMM PIDs. The CAT is signalled on the fixed PID CAT_PID and uses
table_id == CAT_TABLE_ID. Like PAT and PMT it may be segmented
across multiple sections, all of which share table_id_extension
(reserved; not used to identify a CAT).
Fields§
§version_number: u85-bit version_number.
current_next_indicator: boolcurrent_next_indicator.
section_number: u8section_number.
last_section_number: u8last_section_number.
descriptors: Vec<u8>Raw bytes of the descriptor() loop carried in the CAT body —
walk with Self::iter_descriptors to get typed CA entries.
Implementations§
Source§impl ConditionalAccessTable
impl ConditionalAccessTable
Sourcepub fn parse(section: &[u8]) -> Result<Self, TsError>
pub fn parse(section: &[u8]) -> Result<Self, TsError>
Parse a single CAT section. The slice must run from table_id
through the CRC trailer (i.e. the pointer_field has already
been skipped).
Sourcepub fn iter_descriptors(&self) -> DescriptorIter<'_> ⓘ
pub fn iter_descriptors(&self) -> DescriptorIter<'_> ⓘ
Walk the carried descriptor() loop as typed TLV records.
Trait Implementations§
Source§impl Clone for ConditionalAccessTable
impl Clone for ConditionalAccessTable
Source§fn clone(&self) -> ConditionalAccessTable
fn clone(&self) -> ConditionalAccessTable
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more