MythTV
master
|
Encapsulates data about ATSC stream and emits events for most tables. More...
#include <libmythtv/mpeg/atscstreamdata.h>
Protected Member Functions | |
bool | DeleteCachedTable (const PSIPTable *psip) const override |
Protected Member Functions inherited from MPEGStreamData | |
PSIPTable * | AssemblePSIP (const TSPacket *tspacket, bool &moreTablePackets) |
PSIP packet assembler. More... | |
bool | AssemblePSIP (PSIPTable &psip, TSPacket *tspacket) |
void | SavePartialPSIP (uint pid, PSIPTable *packet) |
PSIPTable * | GetPartialPSIP (uint pid) |
void | ClearPartialPSIP (uint pid) |
void | DeletePartialPSIP (uint pid) |
void | ProcessPAT (const ProgramAssociationTable *pat) |
void | ProcessCAT (const ConditionalAccessTable *cat) |
void | ProcessPMT (const ProgramMapTable *pmt) |
void | ProcessEncryptedPacket (const TSPacket &tspacket) |
counts en/decrypted packets to decide if a stream is en/decrypted More... | |
void | UpdateTimeOffset (uint64_t si_utc_time) |
void | IncrementRefCnt (const PSIPTable *psip) const |
void | CachePAT (const ProgramAssociationTable *pat) |
void | CacheCAT (const ConditionalAccessTable *_cat) |
void | CachePMT (const ProgramMapTable *pmt) |
Protected Member Functions inherited from EITSource | |
virtual | ~EITSource ()=default |
Private Member Functions | |
void | ProcessMGT (const MasterGuideTable *mgt) |
void | ProcessVCT (uint tsid, const VirtualChannelTable *vct) |
void | ProcessTVCT (uint tsid, const TerrestrialVirtualChannelTable *vct) |
void | ProcessCVCT (uint tsid, const CableVirtualChannelTable *vct) |
void | CacheMGT (MasterGuideTable *mgt) |
void | CacheTVCT (uint pid, TerrestrialVirtualChannelTable *tvct) |
void | CacheCVCT (uint pid, CableVirtualChannelTable *cvct) |
Private Attributes | |
uint | m_gpsUtcOffset { GPS_LEAP_SECONDS } |
bool | m_atscEitReset { false } |
atsc_eit_pid_map_t | m_atscEitPids |
atsc_ett_pid_map_t | m_atscEttPids |
QMap< uint, uint > | m_sourceIdToAtscMajMin |
atsc_main_listener_vec_t | m_atscMainListeners |
scte_main_listener_vec_t | m_scteMainlisteners |
atsc_aux_listener_vec_t | m_atscAuxListeners |
atsc_eit_listener_vec_t | m_atscEitListeners |
atsc81_eit_listener_vec_t | m_atsc81EitListeners |
int | m_mgtVersion { -1 } |
QMap< uint, int > | m_tvctVersion |
QMap< uint, int > | m_cvctVersion |
QMap< uint, int > | m_rrtVersion |
TableStatusMap | m_eitStatus |
MasterGuideTable * | m_cachedMgt { nullptr } |
tvct_cache_t | m_cachedTvcts |
cvct_cache_t | m_cachedCvcts |
int | m_desiredMajorChannel |
int | m_desiredMinorChannel |
Encapsulates data about ATSC stream and emits events for most tables.
Definition at line 29 of file atscstreamdata.h.
ATSCStreamData::ATSCStreamData | ( | int | desiredMajorChannel, |
int | desiredMinorChannel, | ||
int | cardnum, | ||
bool | cacheTables = false |
||
) |
Initializes ATSCStreamData.
This adds the PID of the PAT and ATSC PSIP tables to "_pids_listening"
desiredMajorChannel | If you want rewritten PAT and PMTs for a desired channel set this to a value greater than zero. |
desiredMinorChannel | If you want rewritten PAT and PMTs for a desired channel set this to a value greater than zero. |
cardnum | The card number that this stream is on. Currently only used for differentiating streams in log messages. |
cacheTables | If true important tables will be cached. |
Definition at line 33 of file atscstreamdata.cpp.
|
override |
Definition at line 44 of file atscstreamdata.cpp.
|
inlineoverridevirtual |
Reimplemented from MPEGStreamData.
Reimplemented in ScanStreamData.
Definition at line 37 of file atscstreamdata.h.
Referenced by ScanStreamData::Reset(), Reset(), SetDesiredChannel(), and ~ATSCStreamData().
|
overridevirtual |
Reimplemented from MPEGStreamData.
Definition at line 110 of file atscstreamdata.cpp.
void ATSCStreamData::Reset | ( | int | desiredMajorChannel, |
int | desiredMinorChannel | ||
) |
Definition at line 117 of file atscstreamdata.cpp.
void ATSCStreamData::SetDesiredChannel | ( | int | major, |
int | minor | ||
) |
Definition at line 57 of file atscstreamdata.cpp.
Referenced by DTVRecorder::InitStreamData(), DTVSignalMonitor::SetChannel(), and TVRec::TuningFrequency().
Process PSIP packets.
Reimplemented from MPEGStreamData.
Reimplemented in ScanStreamData.
Definition at line 206 of file atscstreamdata.cpp.
Referenced by ScanStreamData::HandleTables().
Returns true if table already seen.
All RRT tables are ignored
We don't check the start time of EIT and ETT tables in the version check, so many tables are improperly ignored.
Reimplemented from MPEGStreamData.
Reimplemented in ScanStreamData.
Definition at line 158 of file atscstreamdata.cpp.
Referenced by HandleTables(), and ScanStreamData::IsRedundant().
|
inline |
Current UTC to GPS time offset in seconds.
Definition at line 47 of file atscstreamdata.h.
Referenced by HandleTables().
Definition at line 161 of file atscstreamdata.h.
Referenced by HandleTables().
|
inline |
Definition at line 167 of file atscstreamdata.h.
|
overridevirtual |
Reimplemented from MPEGStreamData.
Reimplemented in ScanStreamData.
Definition at line 492 of file atscstreamdata.cpp.
|
overridevirtual |
Reimplemented from MPEGStreamData.
Reimplemented in ScanStreamData.
Definition at line 500 of file atscstreamdata.cpp.
|
inline |
Definition at line 57 of file atscstreamdata.h.
Referenced by HandleTables().
|
inline |
Definition at line 59 of file atscstreamdata.h.
Referenced by HandleTables(), and DTVSignalMonitor::HandleTVCT().
|
inline |
Definition at line 61 of file atscstreamdata.h.
Referenced by DTVSignalMonitor::HandleCVCT(), and HandleTables().
|
inline |
Definition at line 63 of file atscstreamdata.h.
Referenced by HandleTables().
|
inline |
Definition at line 66 of file atscstreamdata.h.
Referenced by IsRedundant().
|
inline |
Definition at line 173 of file atscstreamdata.h.
Referenced by IsRedundant().
|
inline |
Definition at line 181 of file atscstreamdata.h.
Referenced by IsRedundant().
|
inline |
Definition at line 189 of file atscstreamdata.h.
Referenced by IsRedundant().
Definition at line 626 of file atscstreamdata.cpp.
Referenced by ScanStreamData::GetSIStandard(), ChannelScanSM::HasTimedOut(), and ChannelScanSM::UpdateChannelInfo().
Definition at line 663 of file atscstreamdata.cpp.
Referenced by HasCachedAllTVCTs().
Definition at line 677 of file atscstreamdata.cpp.
Referenced by HasCachedAllCVCTs().
Definition at line 691 of file atscstreamdata.cpp.
Referenced by ChannelScanSM::UpdateChannelInfo().
Definition at line 722 of file atscstreamdata.cpp.
Referenced by ChannelScanSM::UpdateChannelInfo().
Definition at line 78 of file atscstreamdata.h.
Definition at line 753 of file atscstreamdata.cpp.
Definition at line 763 of file atscstreamdata.cpp.
Definition at line 83 of file atscstreamdata.h.
Referenced by ChannelScanSM::HasTimedOut(), and ChannelScanSM::UpdateChannelInfo().
const MasterGuideTable * ATSCStreamData::GetCachedMGT | ( | bool | current = true | ) | const |
Definition at line 773 of file atscstreamdata.cpp.
Referenced by GetPidsToCache(), SetDesiredChannel(), and ChannelScanSM::UpdateChannelInfo().
tvct_const_ptr_t ATSCStreamData::GetCachedTVCT | ( | uint | pid, |
bool | current = true |
||
) | const |
Definition at line 787 of file atscstreamdata.cpp.
cvct_const_ptr_t ATSCStreamData::GetCachedCVCT | ( | uint | pid, |
bool | current = true |
||
) | const |
Definition at line 804 of file atscstreamdata.cpp.
tvct_vec_t ATSCStreamData::GetCachedTVCTs | ( | bool | current = true | ) | const |
Definition at line 821 of file atscstreamdata.cpp.
Referenced by MPEGStreamData::CreatePMTSingleProgram(), HasChannel(), SetDesiredChannel(), and ChannelScanSM::UpdateChannelInfo().
cvct_vec_t ATSCStreamData::GetCachedCVCTs | ( | bool | current = true | ) | const |
Definition at line 840 of file atscstreamdata.cpp.
Referenced by MPEGStreamData::CreatePMTSingleProgram(), HasChannel(), SetDesiredChannel(), and ChannelScanSM::UpdateChannelInfo().
void ATSCStreamData::ReturnCachedTVCTTables | ( | tvct_vec_t & | tvcts | ) | const |
Definition at line 924 of file atscstreamdata.cpp.
Referenced by MPEGStreamData::CreatePMTSingleProgram(), HasChannel(), and SetDesiredChannel().
void ATSCStreamData::ReturnCachedCVCTTables | ( | cvct_vec_t & | cvcts | ) | const |
Definition at line 931 of file atscstreamdata.cpp.
Referenced by MPEGStreamData::CreatePMTSingleProgram(), HasChannel(), and SetDesiredChannel().
Definition at line 635 of file atscstreamdata.cpp.
|
inline |
Definition at line 99 of file atscstreamdata.h.
|
inline |
Definition at line 100 of file atscstreamdata.h.
void ATSCStreamData::AddATSCMainListener | ( | ATSCMainStreamListener * | val | ) |
Definition at line 938 of file atscstreamdata.cpp.
Referenced by DTVSignalMonitor::SetStreamData().
void ATSCStreamData::AddSCTEMainListener | ( | SCTEMainStreamListener * | val | ) |
Definition at line 962 of file atscstreamdata.cpp.
void ATSCStreamData::AddATSCAuxListener | ( | ATSCAuxStreamListener * | val | ) |
Definition at line 987 of file atscstreamdata.cpp.
Referenced by DTVSignalMonitor::SetStreamData().
void ATSCStreamData::AddATSCEITListener | ( | ATSCEITStreamListener * | val | ) |
Definition at line 1012 of file atscstreamdata.cpp.
void ATSCStreamData::AddATSC81EITListener | ( | ATSC81EITStreamListener * | val | ) |
Definition at line 1037 of file atscstreamdata.cpp.
void ATSCStreamData::RemoveATSCMainListener | ( | ATSCMainStreamListener * | val | ) |
Definition at line 948 of file atscstreamdata.cpp.
Referenced by DTVSignalMonitor::SetStreamData().
void ATSCStreamData::RemoveSCTEMainListener | ( | SCTEMainStreamListener * | val | ) |
Definition at line 973 of file atscstreamdata.cpp.
void ATSCStreamData::RemoveATSCAuxListener | ( | ATSCAuxStreamListener * | val | ) |
Definition at line 998 of file atscstreamdata.cpp.
Referenced by DTVSignalMonitor::SetStreamData().
void ATSCStreamData::RemoveATSCEITListener | ( | ATSCEITStreamListener * | val | ) |
Definition at line 1023 of file atscstreamdata.cpp.
void ATSCStreamData::RemoveATSC81EITListener | ( | ATSC81EITStreamListener * | val | ) |
Definition at line 1048 of file atscstreamdata.cpp.
|
private |
Definition at line 543 of file atscstreamdata.cpp.
Referenced by HandleTables(), and SetDesiredChannel().
|
private |
Definition at line 572 of file atscstreamdata.cpp.
Referenced by ProcessCVCT(), and ProcessTVCT().
|
private |
Definition at line 608 of file atscstreamdata.cpp.
Referenced by HandleTables(), and SetDesiredChannel().
|
private |
Definition at line 617 of file atscstreamdata.cpp.
Referenced by HandleTables(), and SetDesiredChannel().
|
private |
Definition at line 859 of file atscstreamdata.cpp.
Referenced by HandleTables().
|
private |
Definition at line 867 of file atscstreamdata.cpp.
Referenced by HandleTables().
|
private |
Definition at line 875 of file atscstreamdata.cpp.
Referenced by HandleTables().
Reimplemented from MPEGStreamData.
Reimplemented in ScanStreamData.
Definition at line 883 of file atscstreamdata.cpp.
Referenced by CacheCVCT(), CacheMGT(), CacheTVCT(), ScanStreamData::DeleteCachedTable(), and Reset().
|
private |
Definition at line 128 of file atscstreamdata.h.
Referenced by HandleTables().
Definition at line 129 of file atscstreamdata.h.
Referenced by GetEITPIDChanges(), HasEITPIDChanges(), and ProcessMGT().
|
private |
Definition at line 130 of file atscstreamdata.h.
Referenced by GetEITPIDChanges(), HasEITPIDChanges(), ProcessMGT(), and Reset().
|
private |
Definition at line 131 of file atscstreamdata.h.
Referenced by GetEITPIDChanges(), HasEITPIDChanges(), ProcessMGT(), and Reset().
Definition at line 133 of file atscstreamdata.h.
Referenced by GetATSCMajorMinor(), HasATSCMajorMinorMap(), ProcessVCT(), and Reset().
|
private |
Definition at line 137 of file atscstreamdata.h.
Referenced by AddATSCMainListener(), HandleTables(), ProcessMGT(), ProcessVCT(), RemoveATSCMainListener(), and ~ATSCStreamData().
|
private |
Definition at line 138 of file atscstreamdata.h.
Referenced by AddSCTEMainListener(), HandleTables(), RemoveSCTEMainListener(), and ~ATSCStreamData().
|
private |
Definition at line 139 of file atscstreamdata.h.
Referenced by AddATSCAuxListener(), HandleTables(), ProcessCVCT(), ProcessTVCT(), RemoveATSCAuxListener(), and ~ATSCStreamData().
|
private |
Definition at line 140 of file atscstreamdata.h.
Referenced by AddATSCEITListener(), HandleTables(), RemoveATSCEITListener(), and ~ATSCStreamData().
|
private |
Definition at line 141 of file atscstreamdata.h.
Referenced by AddATSC81EITListener(), HandleTables(), RemoveATSC81EITListener(), and ~ATSCStreamData().
|
private |
Definition at line 144 of file atscstreamdata.h.
Referenced by Reset().
|
private |
Definition at line 145 of file atscstreamdata.h.
Referenced by Reset(), and VersionTVCT().
|
private |
Definition at line 146 of file atscstreamdata.h.
Referenced by Reset(), and VersionCVCT().
|
private |
Definition at line 147 of file atscstreamdata.h.
Referenced by VersionRRT().
|
private |
Definition at line 148 of file atscstreamdata.h.
Referenced by HandleTables(), IsRedundant(), and Reset().
|
mutableprivate |
Definition at line 151 of file atscstreamdata.h.
Referenced by CacheMGT(), DeleteCachedTable(), GetCachedMGT(), HasCachedAllCVCTs(), HasCachedAllTVCTs(), HasCachedMGT(), and Reset().
|
mutableprivate |
Definition at line 152 of file atscstreamdata.h.
Referenced by CacheTVCT(), DeleteCachedTable(), GetCachedTVCT(), GetCachedTVCTs(), HasCachedAnyTVCTs(), HasCachedTVCT(), and Reset().
|
mutableprivate |
Definition at line 153 of file atscstreamdata.h.
Referenced by CacheCVCT(), DeleteCachedTable(), GetCachedCVCT(), GetCachedCVCTs(), HasCachedAnyCVCTs(), HasCachedCVCT(), and Reset().
|
private |
Definition at line 156 of file atscstreamdata.h.
Referenced by Reset(), and SetDesiredChannel().
|
private |
Definition at line 157 of file atscstreamdata.h.
Referenced by Reset(), and SetDesiredChannel().