pub struct ServiceDescriptionTable {
pub transport_stream_id: u16,
pub other_transport_stream: bool,
pub version_number: u8,
pub current_next_indicator: bool,
pub section_number: u8,
pub last_section_number: u8,
pub original_network_id: u16,
pub services: Vec<SdtService>,
}Expand description
Parsed DVB Service Description Table (ETSI EN 300 468 §5.2.3 Table 5).
The SDT is a DVB Service Information table carried on the fixed PID
SDT_PID (0x0011). Sections describing the actual TS use
table_id == SDT_ACTUAL_TABLE_ID (0x42); sections describing
other TSs use SDT_OTHER_TABLE_ID (0x46). It shares the
8-byte long-form PSI section header (parsed and CRC-verified the
same way as PAT/PMT), then carries original_network_id (16 bits)
plus one reserved byte, then a loop of SdtService entries, then
the CRC.
transport_stream_id is taken from the table_id_extension slot
per §5.2.3. The service loop’s per-service descriptor blocks most
commonly carry the DVB service_descriptor (tag 0x48), which the
crate’s descriptor decoder lifts into
crate::descriptor::ServiceDescriptor — the source of a service’s
human-readable name and provider.
Fields§
§transport_stream_id: u16transport_stream_id (from table_id_extension).
other_transport_stream: booltrue when the section’s table_id was 0x46 (describes another
TS); false for 0x42 (the actual TS carrying the SDT).
version_number: u85-bit version_number.
current_next_indicator: boolcurrent_next_indicator.
section_number: u8section_number.
last_section_number: u8last_section_number.
original_network_id: u16original_network_id.
services: Vec<SdtService>Service entries carried in this section.
Implementations§
Trait Implementations§
Source§impl Clone for ServiceDescriptionTable
impl Clone for ServiceDescriptionTable
Source§fn clone(&self) -> ServiceDescriptionTable
fn clone(&self) -> ServiceDescriptionTable
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more