Go to the documentation of this file.
3 #ifndef ATSCSTREAMDATA_H_
4 #define ATSCSTREAMDATA_H_
16 using tvct_vec_t = std::vector<const TerrestrialVirtualChannelTable *>;
17 using cvct_vec_t = std::vector<const CableVirtualChannelTable *>;
33 int desiredMinorChannel,
34 int cardnum,
bool cacheTables =
false);
38 void Reset(
int desiredProgram)
override;
39 void Reset(
int desiredMajorChannel,
int desiredMinorChannel);
40 void SetDesiredChannel(
int major,
int minor);
49 inline uint GetATSCMajorMinor(
uint eit_sourceid)
const;
50 inline bool HasATSCMajorMinorMap(
void)
const;
60 { m_tvctVersion[tsid] =
version; }
62 { m_cvctVersion[tsid] =
version; }
64 { m_rrtVersion[region&0xff] =
version; }
67 inline int VersionTVCT(
uint tsid)
const;
68 inline int VersionCVCT(
uint tsid)
const;
69 inline int VersionRRT(
uint region)
const;
72 bool HasCachedMGT(
bool current =
true)
const;
73 bool HasCachedTVCT(
uint pid,
bool current =
true)
const;
74 bool HasCachedCVCT(
uint pid,
bool current =
true)
const;
76 bool HasCachedAllTVCTs(
bool current =
true)
const;
77 bool HasCachedAllCVCTs(
bool current =
true)
const;
79 {
return HasCachedAllTVCTs(
current) && HasCachedAllCVCTs(
current); }
81 bool HasCachedAnyTVCTs(
bool current =
true)
const;
82 bool HasCachedAnyCVCTs(
bool current =
true)
const;
84 {
return HasCachedAnyTVCTs(
current) || HasCachedAnyCVCTs(
current); }
93 void ReturnCachedTVCTTables(
tvct_vec_t &tvcts)
const;
94 void ReturnCachedCVCTTables(
cvct_vec_t &cvcts)
const;
129 mutable bool m_atscEitReset {
false };
144 int m_mgtVersion { -1 };
175 const QMap<uint, int>::const_iterator it =
m_tvctVersion.find(tsid);
183 const QMap<uint, int>::const_iterator it =
m_cvctVersion.find(tsid);
191 const QMap<uint, int>::const_iterator it =
m_rrtVersion.find(region&0xff);
This table contains information about the channels transmitted on this multiplex.
atsc_aux_listener_vec_t m_atscAuxListeners
int VersionTVCT(uint tsid) const
QMap< uint, uint_vec_t > pid_tsid_vec_t
std::vector< ATSCMainStreamListener * > atsc_main_listener_vec_t
std::vector< const CableVirtualChannelTable * > cvct_vec_t
std::vector< ATSCEITStreamListener * > atsc_eit_listener_vec_t
virtual bool DeleteCachedTable(const PSIPTable *psip) const
QMap< uint, int > m_cvctVersion
int DesiredMinorChannel(void) const
std::vector< const TerrestrialVirtualChannelTable * > tvct_vec_t
QMap< uint, int > m_tvctVersion
QMap< uint, uint > m_sourceIdToAtscMajMin
virtual bool IsRedundant(uint pid, const PSIPTable &psip) const
Returns true if table already seen.
atsc_ett_pid_map_t m_atscEttPids
std::vector< uint > uint_vec_t
static constexpr uint8_t GPS_LEAP_SECONDS
Leap seconds as of June 30th, 2022.
QDateTime current(bool stripped)
Returns current Date and Time in UTC.
int VersionRRT(uint region) const
void Reset(void) override
void SetVersionMGT(int version)
A PSIP table is a variant of a PES packet containing an MPEG, ATSC or DVB table.
uint GPSOffset(void) const
Current UTC to GPS time offset in seconds.
atsc_eit_pid_map_t m_atscEitPids
std::vector< SCTEMainStreamListener * > scte_main_listener_vec_t
atsc_eit_listener_vec_t m_atscEitListeners
bool HasATSCMajorMinorMap(void) const
cvct_cache_t m_cachedCvcts
Encapsulates data about ATSC stream and emits events for most tables.
QRecursiveMutex m_listenerLock
virtual bool HandleTables(uint pid, const PSIPTable &psip)
Process PSIP packets.
Encapsulates data about MPEG stream and emits events for each table.
tvct_cache_t m_cachedTvcts
QMap< uint, tvct_ptr_t > tvct_cache_t
int m_desiredMinorChannel
QMap< uint, int > m_rrtVersion
int m_desiredMajorChannel
void SetVersionRRT(uint region, int version)
scte_main_listener_vec_t m_scteMainlisteners
int DesiredMajorChannel(void) const
QMap< uint, cvct_ptr_t > cvct_cache_t
This table tells the decoder on which PIDs to find other tables, and their sizes and each table's cur...
QMap< uint, uint > atsc_ett_pid_map_t
bool HasCachedAllVCTs(bool current=true) const
This table contains information about the terrestrial channels transmitted on this multiplex.
std::vector< ATSC81EITStreamListener * > atsc81_eit_listener_vec_t
std::vector< ATSCAuxStreamListener * > atsc_aux_listener_vec_t
atsc81_eit_listener_vec_t m_atsc81EitListeners
uint GetATSCMajorMinor(uint eit_sourceid) const
This table contains information about the cable channels transmitted on this multiplex.
virtual bool GetEITPIDChanges(const uint_vec_t &, uint_vec_t &, uint_vec_t &) const
int VersionCVCT(uint tsid) const
QMap< uint, uint > atsc_eit_pid_map_t
void SetVersionCVCT(uint tsid, int version)
atsc_main_listener_vec_t m_atscMainListeners
bool HasCachedAnyVCTs(bool current=true) const
virtual bool HasEITPIDChanges(const uint_vec_t &) const
TableStatusMap m_eitStatus
void SetVersionTVCT(uint tsid, int version)