#[non_exhaustive]pub struct ManagedService {
pub es_pids: Vec<u16>,
pub ca_pids: Vec<u16>,
pub pcr_pid: u16,
pub cmd: CaPmtCmdId,
pub last_ca_enable: Option<CaEnable>,
/* private fields */
}Expand description
One actively-managed service (owned, no borrowed lifetime — copied out of
the caller’s PmtSection at Driver::add_service
time).
cmd and last_ca_enable are recorded starting now but are only read by
Task 6’s remove_service; last_ca_enable/last_descrambling_ok are also
read+written by ManagedCa::record_reply (#763 Task 5’s edge-triggered
Notification::Entitlement).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.es_pids: Vec<u16>Elementary-stream PIDs carried by this programme (every stream, not
only the CA-bearing ones — a caller routing PIDs into ci0 needs the
full component set).
ca_pids: Vec<u16>CA_PIDs (ECM PIDs) advertised by this programme’s CA_descriptors,
programme- and ES-level combined.
pcr_pid: u16This programme’s PMT PCR_PID (ISO/IEC 13818-1 §2.4.4.8) — the PID
carrying the programme clock reference. May coincide with an
es_pids entry (PCR piggybacked on a component stream) or be a PID of
its own (a dedicated PCR PID, carrying no other stream) — either way a
caller routing PIDs into ci0 needs it, or the descrambled TS loses
its clock reference. 0x1FFF means the programme carries no PCR (ISO/IEC
13818-1 §2.4.4.8) and is excluded from routing.
cmd: CaPmtCmdIdThe ca_pmt_cmd_id last sent for this service (EN 50221 §8.4.3.4
Table 25).
last_ca_enable: Option<CaEnable>The last observed programme-level CA_enable (EN 50221 §8.4.3.5 Table
26), for the Task 5 edge-triggered Notification::Entitlement. None
until a ca_pmt_reply has been seen for this programme, or when the
last-seen reply’s programme CA_enable_flag was clear.
Trait Implementations§
Source§impl Clone for ManagedService
impl Clone for ManagedService
Source§fn clone(&self) -> ManagedService
fn clone(&self) -> ManagedService
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more