TSDuck v3.38-3696
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::EITRepetitionProfile Class Reference

EIT sections repetition profile. More...

#include <tsEITRepetitionProfile.h>

Collaboration diagram for ts::EITRepetitionProfile:

Public Member Functions

 EITRepetitionProfile (cn::days days=cn::days(1), std::initializer_list< cn::seconds > cycles=std::initializer_list< cn::seconds >())
 Constructor.
 
Time laterPeriod (const Time &now) const
 Compute the starting date of the "later" period.
 
uint8_t laterSectionNumber () const
 Compute the first section number in the "later" period.
 
TID laterTableId (bool actual) const
 Compute the first EIT table id in the "later" period.
 
cn::seconds repetitionSeconds (const Section &section)
 Determine the repetition cycle of an EIT section.
 
EITProfile sectionToProfile (const Section &section)
 Determine the repetition profile of an EIT section.
 

Public Attributes

std::array< cn::seconds, PROFILE_COUNTcycle_seconds {}
 Cycle time in seconds of each EIT sections repetition profile.
 
cn::days prime_days = EIT::TOTAL_DAYS
 Duration in days of the "prime" period for EIT schedule.
 

Static Public Attributes

static constexpr size_t PROFILE_COUNT = size_t(EITProfile::SCHED_OTHER_LATER) + 1
 Number of EIT sections repetition profiles.
 
static const EITRepetitionProfile SatelliteCable
 Standard EIT repetition profile for satellite and cable networks.
 
static const EITRepetitionProfile Terrestrial
 Standard EIT repetition profile for terrestrial networks.
 

Detailed Description

EIT sections repetition profile.

Constructor & Destructor Documentation

◆ EITRepetitionProfile()

ts::EITRepetitionProfile::EITRepetitionProfile ( cn::days  days = cn::days(1),
std::initializer_list< cn::seconds >  cycles = std::initializer_list< cn::seconds >() 
)

Constructor.

Parameters
[in]daysNumber of prime days.
[in]cyclesUp to 6 cycles in seconds. Missing values are replaced by the last value in the list. If the list is empty, all cycles are 10 seconds long.

Member Function Documentation

◆ laterPeriod()

Time ts::EITRepetitionProfile::laterPeriod ( const Time now) const

Compute the starting date of the "later" period.

Parameters
[in]nowCurrent UTC time.
Returns
Starting UTC time of the "later" period.

◆ laterTableId()

TID ts::EITRepetitionProfile::laterTableId ( bool  actual) const

Compute the first EIT table id in the "later" period.

If a table id is equal this one, this is not sufficient to determine if the corresponding section is in the "prime" or "later" period. Check the section number as well.

Parameters
[in]actualTrue for EIT actual, false for EIT other.
Returns
First EIT table id in the "later" period.
See also
laterSectionNumber()

◆ laterSectionNumber()

uint8_t ts::EITRepetitionProfile::laterSectionNumber ( ) const

Compute the first section number in the "later" period.

Returns
First section number in the "later" period.

◆ sectionToProfile()

EITProfile ts::EITRepetitionProfile::sectionToProfile ( const Section section)

Determine the repetition profile of an EIT section.

Parameters
[in]sectionA valid EIT section.
Returns
The repetition profile of section. Undefined if the section is not a valid EIT.

◆ repetitionSeconds()

cn::seconds ts::EITRepetitionProfile::repetitionSeconds ( const Section section)

Determine the repetition cycle of an EIT section.

Parameters
[in]sectionA valid EIT section.
Returns
The repetition cycle in seconds of section. Undefined if the section is not a valid EIT.

Member Data Documentation

◆ prime_days

cn::days ts::EITRepetitionProfile::prime_days = EIT::TOTAL_DAYS

Duration in days of the "prime" period for EIT schedule.

EIT schedule for events in the prime period (i.e. the next few days) are repeated more often than for later events.

◆ cycle_seconds

std::array<cn::seconds, PROFILE_COUNT> ts::EITRepetitionProfile::cycle_seconds {}

Cycle time in seconds of each EIT sections repetition profile.

The array is indexed by EITProfile.

◆ SatelliteCable

const EITRepetitionProfile ts::EITRepetitionProfile::SatelliteCable
static

Standard EIT repetition profile for satellite and cable networks.

See also
ETSI TS 101 211, section 4.1.4

◆ Terrestrial

const EITRepetitionProfile ts::EITRepetitionProfile::Terrestrial
static

Standard EIT repetition profile for terrestrial networks.

See also
ETSI TS 101 211, section 4.1.4

The documentation for this class was generated from the following file: