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

#include <tsEITRepetitionProfile.h>

Public Member Functions

 EITRepetitionProfile (cn::days days=cn::days(1), std::initializer_list< cn::seconds > cycles=std::initializer_list< cn::seconds >())
Time laterPeriod (const Time &now) const
uint8_t laterSectionNumber () const
TID laterTableId (bool actual) const
cn::seconds repetitionSeconds (const Section &section)
EITProfile sectionToProfile (const Section &section)

Static Public Member Functions

static const EITRepetitionProfile & SatelliteCable ()
static const EITRepetitionProfile & Terrestrial ()

Public Attributes

std::array< cn::seconds, PROFILE_COUNT > cycle_seconds {}
cn::days prime_days = EIT::TOTAL_DAYS

Static Public Attributes

static constexpr size_t PROFILE_COUNT = size_t(EITProfile::SCHED_OTHER_LATER) + 1

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

◆ 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
Returns
A constant reference to the repetition profile.

◆ Terrestrial()

const EITRepetitionProfile & ts::EITRepetitionProfile::Terrestrial ( )
static

Standard EIT repetition profile for terrestrial networks.

See also
ETSI TS 101 211, section 4.1.4
Returns
A constant reference to the repetition profile.

◆ 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

◆ PROFILE_COUNT

size_t ts::EITRepetitionProfile::PROFILE_COUNT = size_t(EITProfile::SCHED_OTHER_LATER) + 1
staticconstexpr

Number of EIT sections repetition profiles.

◆ 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.


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