Skip to main content

Indicator

Enum Indicator 

Source
#[non_exhaustive]
pub enum Indicator {
Show 23 variants TsSyncLoss, SyncByteError, PatError2, ContinuityCountError, PmtError2, PidError, TransportError, CrcError, PcrRepetitionError, PcrDiscontinuityError, PtsError, CatError, NitError, SiRepetitionError, UnreferencedPid, SdtError, EitError, RstError, TdtError, PcrAccuracyError, BufferError, EmptyBufferError, DataDelayError,
}
Expand description

A TR 101 290 measurement indicator.

#[non_exhaustive] — additional Priority-3 variants may be added later.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

TsSyncLoss

TR 101 290 v1.4.1 Table 5.0a indicator 1.1 — loss of synchronisation with hysteresis.

§

SyncByteError

TR 101 290 v1.4.1 Table 5.0a indicator 1.2 — sync_byte not equal 0x47.

§

PatError2

TR 101 290 v1.4.1 Table 5.0a indicator 1.3.a — PAT_error_2.

§

ContinuityCountError

TR 101 290 v1.4.1 Table 5.0a indicator 1.4 — Continuity_count_error.

§

PmtError2

TR 101 290 v1.4.1 Table 5.0a indicator 1.5.a — PMT_error_2.

§

PidError

TR 101 290 v1.4.1 Table 5.0a indicator 1.6 — PID_error.

§

TransportError

TR 101 290 v1.4.1 Table 5.0b indicator 2.1 — Transport_error.

§

CrcError

TR 101 290 v1.4.1 Table 5.0b indicator 2.2 — CRC_error.

§

PcrRepetitionError

TR 101 290 v1.4.1 Table 5.0b indicator 2.3a — PCR_repetition_error.

§

PcrDiscontinuityError

TR 101 290 v1.4.1 Table 5.0b indicator 2.3b — PCR_discontinuity_indicator_error.

§

PtsError

TR 101 290 v1.4.1 Table 5.0b indicator 2.5 — PTS_error.

§

CatError

TR 101 290 v1.4.1 Table 5.0b indicator 2.6 — CAT_error.

§

NitError

TR 101 290 v1.4.1 Table 5.0c indicator 3.1 — NIT_error (bad table_id on PID 0x0010 + NIT_actual absence; the 25 ms min-gap dimension of 3.1.a is deferred).

§

SiRepetitionError

TR 101 290 v1.4.1 Table 5.0c indicator 3.2 — SI_repetition_error (maximum interval dimension; minimum-gap deferred).

§

UnreferencedPid

TR 101 290 v1.4.1 Table 5.0c indicator 3.4 — Unreferenced_PID: a PID persists longer than the presence threshold without being referenced by the PAT/CAT/a PMT or one of the well-known SI PIDs.

§

SdtError

TR 101 290 v1.4.1 Table 5.0c indicator 3.5 — SDT_error (bad table_id on PID 0x0011 + SDT_actual absence; the 25 ms min-gap dimension of 3.5.a is deferred).

§

EitError

TR 101 290 v1.4.1 Table 5.0c indicator 3.6 — EIT_error (bad table_id on PID 0x0012 + EIT P/F actual absence; the 25 ms min-gap dimension of 3.6.a and the P/F pairing check 3.6.c are deferred).

§

RstError

TR 101 290 v1.4.1 Table 5.0c indicator 3.7 — RST_error (bad table_id on PID 0x0013; the 25 ms min-gap dimension is deferred).

§

TdtError

TR 101 290 v1.4.1 Table 5.0c indicator 3.8 — TDT_error (bad table_id on PID 0x0014 + TDT absence; the 25 ms min-gap dimension is deferred).

§

PcrAccuracyError

TR 101 290 v1.4.1 Table 5.0b indicator 2.4 — PCR_accuracy_error.

Not implemented: requires hardware arrival timing with ±500 ns resolution (ISO/IEC 13818-1 §2.4.2.2). A packet-index-derived arrival estimate cannot honestly resolve 500 ns, and a false positive is worse than a gap (c.f. the withdrawn PtsCheck). This variant exists for documentation completeness only and is never emitted by the monitor.

§

BufferError

TR 101 290 v1.4.1 Table 5.0c indicator 3.3 — Buffer_error.

Currently checks TB_buffering_error (overflow of transport buffer TBn, 512 bytes per ISO/IEC 13818-1 §2.4.2.3) and TBsys_buffering_error (overflow of TBsys, 512 bytes). The remaining sub-checks — MB_buffering_error, EB_buffering_error, B_buffering_error, Bsys_buffering_error — require codec-dependent buffer sizes from descriptors (multiplex_buffer_descriptor, smoothing_buffer_descriptor) and are deferred until the monitor parses those descriptors.

§

EmptyBufferError

TR 101 290 v1.4.1 Table 5.0c indicator 3.9 — Empty_buffer_error.

Checks that TBn (transport buffer for each elementary stream) and TBsys (system-information transport buffer) are empty at least once per second. The MBn check (multiplexing buffer, leak method) is deferred — it requires the full MBn buffer model with leak-rate parameters from descriptors.

§

DataDelayError

TR 101 290 v1.4.1 Table 5.0c indicator 3.10 — Data_delay_error.

Checks that data delay through the T-STD transport buffers (TBn, TBsys) does not exceed 1 second (60 s for still-picture video). The full end-to-end delay through MBn/EBn/Bn is not modelled (deferred — see Buffer_error doc).

Implementations§

Source§

impl Indicator

Source

pub fn priority(self) -> Priority

The priority tier this indicator belongs to.

Source

pub fn name(self) -> &'static str

Verbatim indicator name from the TR 101 290 tables.

Source

pub fn clause(self) -> &'static str

Clause citation from the spec.

Trait Implementations§

Source§

impl Clone for Indicator

Source§

fn clone(&self) -> Indicator

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Indicator

Source§

impl Debug for Indicator

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Indicator

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Indicator

Source§

impl Hash for Indicator

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Indicator

Source§

fn eq(&self, other: &Indicator) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for Indicator

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Indicator

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DescriptorObject for T
where T: Debug + Any + Send + Sync + Serialize,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Borrow as &dyn Any so the caller can downcast to the concrete type.
Source§

impl<T> ExtensionObject for T
where T: Debug + Any + Send + Sync + Serialize,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Borrow as &dyn Any so the caller can downcast to the concrete type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<T> TableObject for T
where T: Debug + Any + Send + Sync + Serialize,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Borrow as &dyn Any so the caller can downcast to the concrete type.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.