MythTV  master
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ScanStreamData Class Reference

#include <scanstreamdata.h>

Inheritance diagram for ScanStreamData:
Inheritance graph
Collaboration diagram for ScanStreamData:
Collaboration graph

Public Member Functions

 ScanStreamData (bool no_default_pid=false)
virtual ~ScanStreamData ()
bool IsRedundant (uint pid, const PSIPTable &) const override
 Returns true if table already seen. More...
bool HandleTables (uint pid, const PSIPTable &psip) override
 Processes PSIP tables. More...
void Reset (void) override
bool HasEITPIDChanges (const uint_vec_t &) const override
bool GetEITPIDChanges (const uint_vec_t &, uint_vec_t &, uint_vec_t &) const override
QString GetSIStandard (const QString &guess="mpeg") const
void SetFreesatAdditionalSI (bool freesat_si)
void Reset (void) override
void Reset (uint desired_netid, uint desired_tsid, int desired_serviceid)
virtual void Reset (void)
virtual void Reset (int desiredProgram)
- Public Member Functions inherited from MPEGStreamData
 MPEGStreamData (int desiredProgram, int cardnum, bool cacheTables)
 Initializes MPEGStreamData. More...
virtual ~MPEGStreamData ()
void SetCaching (bool cacheTables)
void SetListeningDisabled (bool lt)
double TimeOffset (void) const
 Current Offset from computer time to DVB time in seconds. More...
void SetEITHelper (EITHelper *eit_helper) override
void SetEITRate (float rate) override
void SetIgnoreCRC (bool haveCRCbug)
virtual void HandleTSTables (const TSPacket *tspacket)
 Assembles PSIP packets and processes them. More...
virtual bool ProcessTSPacket (const TSPacket &tspacket)
virtual int ProcessData (const unsigned char *buffer, int len)
void HandleAdaptationFieldControl (const TSPacket *tspacket)
virtual void AddListeningPID (uint pid, PIDPriority priority=kPIDPriorityNormal)
virtual void AddNotListeningPID (uint pid)
virtual void AddWritingPID (uint pid, PIDPriority priority=kPIDPriorityHigh)
virtual void AddAudioPID (uint pid, PIDPriority priority=kPIDPriorityHigh)
virtual void RemoveListeningPID (uint pid)
virtual void RemoveNotListeningPID (uint pid)
virtual void RemoveWritingPID (uint pid)
virtual void RemoveAudioPID (uint pid)
virtual bool IsListeningPID (uint pid) const
virtual bool IsNotListeningPID (uint pid) const
virtual bool IsWritingPID (uint pid) const
bool IsVideoPID (uint pid) const
virtual bool IsAudioPID (uint pid) const
const pid_map_tListeningPIDs (void) const
const pid_map_tAudioPIDs (void) const
const pid_map_tWritingPIDs (void) const
uint GetPIDs (pid_map_t &) const
PIDPriority GetPIDPriority (uint pid) const
void SetVersionPAT (uint tsid, int version, uint last_section)
void SetVersionPMT (uint pnum, int version, uint last_section)
bool HasAllPATSections (uint tsid) const
bool HasAllCATSections (uint tsid) const
bool HasAllPMTSections (uint prog_num) const
bool HasProgram (uint progNum) const
bool HasCachedAllPAT (uint tsid) const
bool HasCachedAnyPAT (uint tsid) const
bool HasCachedAnyPAT (void) const
bool HasCachedAllCAT (uint tsid) const
bool HasCachedAnyCAT (uint tsid) const
bool HasCachedAnyCAT (void) const
bool HasCachedAllPMT (uint pnum) const
bool HasCachedAnyPMT (uint pnum) const
bool HasCachedAllPMTs (void) const
bool HasCachedAnyPMTs (void) const
pat_const_ptr_t GetCachedPAT (uint tsid, uint section_num) const
pat_vec_t GetCachedPATs (uint tsid) const
pat_vec_t GetCachedPATs (void) const
pat_map_t GetCachedPATMap (void) const
cat_const_ptr_t GetCachedCAT (uint tsid, uint section_num) const
cat_vec_t GetCachedCATs (uint tsid) const
cat_vec_t GetCachedCATs (void) const
cat_map_t GetCachedCATMap (void) const
pmt_const_ptr_t GetCachedPMT (uint program_num, uint section_num) const
pmt_vec_t GetCachedPMTs (void) const
pmt_map_t GetCachedPMTMap (void) const
virtual void ReturnCachedTable (const PSIPTable *psip) const
virtual void ReturnCachedPATTables (pat_vec_t &) const
virtual void ReturnCachedPATTables (pat_map_t &) const
virtual void ReturnCachedCATTables (cat_vec_t &) const
virtual void ReturnCachedCATTables (cat_map_t &) const
virtual void ReturnCachedPMTTables (pmt_vec_t &) const
virtual void ReturnCachedPMTTables (pmt_map_t &) const
void AddEncryptionTestPID (uint pnum, uint pid, bool isvideo)
void RemoveEncryptionTestPIDs (uint pnum)
bool IsEncryptionTestPID (uint pid) const
void TestDecryption (const ProgramMapTable *pmt)
void ResetDecryptionMonitoringState (void)
bool IsProgramDecrypted (uint pnum) const
bool IsProgramEncrypted (uint pnum) const
void AddMPEGListener (MPEGStreamListener *)
void RemoveMPEGListener (MPEGStreamListener *)
void UpdatePAT (const ProgramAssociationTable *)
void UpdateCAT (const ConditionalAccessTable *)
void UpdatePMT (uint program_num, const ProgramMapTable *)
void AddWritingListener (TSPacketListener *)
void RemoveWritingListener (TSPacketListener *)
void AddMPEGSPListener (MPEGSingleProgramStreamListener *)
void RemoveMPEGSPListener (MPEGSingleProgramStreamListener *)
void AddAVListener (TSPacketListenerAV *)
void RemoveAVListener (TSPacketListenerAV *)
void UpdatePATSingleProgram (ProgramAssociationTable *)
void UpdatePMTSingleProgram (ProgramMapTable *)
void AddPSStreamListener (PSStreamListener *val)
void RemovePSStreamListener (PSStreamListener *val)
void SetDesiredProgram (int p)
void SetPATSingleProgram (ProgramAssociationTable *)
void SetPMTSingleProgram (ProgramMapTable *)
void SetVideoStreamsRequired (uint num)
uint GetVideoStreamsRequired () const
void SetAudioStreamsRequired (uint num)
uint GetAudioStreamsRequired () const
void SetRecordingType (const QString &recording_type)
int DesiredProgram (void) const
uint VideoPIDSingleProgram (void) const
QString GetRecordingType (void) const
const ProgramAssociationTablePATSingleProgram (void) const
const ProgramMapTablePMTSingleProgram (void) const
ProgramAssociationTablePATSingleProgram (void)
ProgramMapTablePMTSingleProgram (void)
int VersionPATSingleProgram (void) const
int VersionPMTSingleProgram (void) const
bool CreatePATSingleProgram (const ProgramAssociationTable &)
bool CreatePMTSingleProgram (const ProgramMapTable &)
- Public Member Functions inherited from ATSCStreamData
 ATSCStreamData (int desiredMajorChannel, int desiredMinorChannel, int cardnum, bool cacheTables=false)
 Initializes ATSCStreamData. More...
virtual ~ATSCStreamData ()
void Reset (int desiredProgram) override
void Reset (int desiredMajorChannel, int desiredMinorChannel)
void SetDesiredChannel (int major, int minor)
uint GPSOffset (void) const
 Current UTC to GPS time offset in seconds. More...
uint GetATSCMajorMinor (uint eit_sourceid) const
bool HasATSCMajorMinorMap (void) const
void SetVersionMGT (int version)
void SetVersionTVCT (uint tsid, int version)
void SetVersionCVCT (uint tsid, int version)
void SetVersionRRT (uint region, int version)
int VersionMGT () const
int VersionTVCT (uint tsid) const
int VersionCVCT (uint tsid) const
int VersionRRT (uint region) const
bool HasCachedMGT (bool current=true) const
bool HasCachedTVCT (uint pid, bool current=true) const
bool HasCachedCVCT (uint pid, bool current=true) const
bool HasCachedAllTVCTs (bool current=true) const
bool HasCachedAllCVCTs (bool current=true) const
bool HasCachedAllVCTs (bool current=true) const
bool HasCachedAnyTVCTs (bool current=true) const
bool HasCachedAnyCVCTs (bool current=true) const
bool HasCachedAnyVCTs (bool current=true) const
const MasterGuideTableGetCachedMGT (bool current=true) const
tvct_const_ptr_t GetCachedTVCT (uint pid, bool current=true) const
cvct_const_ptr_t GetCachedCVCT (uint pid, bool current=true) const
tvct_vec_t GetCachedTVCTs (bool current=true) const
cvct_vec_t GetCachedCVCTs (bool current=true) const
void ReturnCachedTVCTTables (tvct_vec_t &) const
void ReturnCachedCVCTTables (cvct_vec_t &) const
bool HasChannel (uint major, uint minor) const
int DesiredMajorChannel (void) const
int DesiredMinorChannel (void) const
void AddATSCMainListener (ATSCMainStreamListener *)
void AddSCTEMainListener (SCTEMainStreamListener *)
void AddATSCAuxListener (ATSCAuxStreamListener *)
void AddATSCEITListener (ATSCEITStreamListener *)
void AddATSC81EITListener (ATSC81EITStreamListener *)
void RemoveATSCMainListener (ATSCMainStreamListener *)
void RemoveSCTEMainListener (SCTEMainStreamListener *)
void RemoveATSCAuxListener (ATSCAuxStreamListener *)
void RemoveATSCEITListener (ATSCEITStreamListener *)
void RemoveATSC81EITListener (ATSC81EITStreamListener *)
- Public Member Functions inherited from DVBStreamData
 DVBStreamData (uint desired_netid, uint desired_tsid, int desired_program, int cardnum, bool cacheTables=false)
virtual ~DVBStreamData ()
void Reset (uint desired_netid, uint desired_tsid, int desired_serviceid)
void SetDesiredService (uint netid, uint tsid, int serviceid)
uint DesiredNetworkID (void) const
uint DesiredTransportID (void) const
void ProcessSDT (uint tsid, const ServiceDescriptionTable *)
void SetRealNetworkID (int)
void SetDishNetEIT (bool)
bool HasAnyEIT (void) const
bool HasEIT (uint serviceid) const
void SetVersionSDT (uint tsid, int version, uint last_section)
void SetVersionSDTo (uint tsid, int version, uint last_section)
bool HasAllNITSections (void) const
bool HasAllNIToSections (void) const
bool HasAllSDTSections (uint tsid) const
bool HasAllSDToSections (uint tsid) const
bool HasAllBATSections (uint bid) const
bool HasCachedAnyNIT (bool current=true) const
bool HasCachedAllNIT (bool current=true) const
bool HasCachedAnySDT (uint tsid, bool current=true) const
bool HasCachedAllSDT (uint tsid, bool current=true) const
bool HasCachedSDT (bool current=true) const
bool HasCachedAnySDTs (bool current=true) const
bool HasCachedAllSDTs (bool current=true) const
nit_const_ptr_t GetCachedNIT (uint section_num, bool current=true) const
nit_vec_t GetCachedNIT (bool current=true) const
sdt_const_ptr_t GetCachedSDT (uint tsid, uint section_num, bool current=true) const
sdt_vec_t GetCachedSDTSections (uint tsid, bool current=true) const
sdt_vec_t GetCachedSDTs (bool current=true) const
void ReturnCachedSDTTables (sdt_vec_t &) const
void AddDVBMainListener (DVBMainStreamListener *)
void AddDVBOtherListener (DVBOtherStreamListener *)
void AddDVBEITListener (DVBEITStreamListener *)
void RemoveDVBMainListener (DVBMainStreamListener *)
void RemoveDVBOtherListener (DVBOtherStreamListener *)
void RemoveDVBEITListener (DVBEITStreamListener *)
virtual void Reset (void)
virtual void Reset (int desiredProgram)

Private Member Functions

bool DeleteCachedTable (PSIPTable *psip) const override

Private Attributes

bool m_dvb_uk_freesat_si {false}
 listen for additional Freesat service information More...
bool m_no_default_pid

Additional Inherited Members

- Protected Member Functions inherited from MPEGStreamData
PSIPTableAssemblePSIP (const TSPacket *tspacket, bool &moreTablePackets)
 PSIP packet assembler. More...
bool AssemblePSIP (PSIPTable &psip, TSPacket *tspacket)
void SavePartialPSIP (uint pid, PSIPTable *packet)
PSIPTableGetPartialPSIP (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 &)
 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
- Static Protected Member Functions inherited from MPEGStreamData
static int ResyncStream (const unsigned char *buffer, int curr_pos, int len)
- Protected Attributes inherited from MPEGStreamData
int _cardid
QString _sistandard
bool _have_CRC_bug
QMutex _si_time_lock
uint _si_time_offset_cnt
uint _si_time_offset_indx
double _si_time_offsets [16]
float _eit_rate
pid_map_t _pids_listening
pid_map_t _pids_notlistening
pid_map_t _pids_writing
pid_map_t _pids_audio
bool _listening_disabled
QMutex _encryption_lock
QMap< uint, CryptInfo_encryption_pid_to_info
QMap< uint, uint_vec_t_encryption_pnum_to_pids
QMap< uint, uint_vec_t_encryption_pid_to_pnums
QMap< uint, CryptStatus_encryption_pnum_to_status
QMutex _listener_lock
mpeg_listener_vec_t _mpeg_listeners
mpeg_sp_listener_vec_t _mpeg_sp_listeners
ts_listener_vec_t _ts_writing_listeners
ts_av_listener_vec_t _ts_av_listeners
ps_listener_vec_t _ps_listeners
TableStatusMap _pat_status
TableStatusMap _cat_status
TableStatusMap _pmt_status
pid_psip_map_t _partial_psip_packet_cache
bool _cache_tables
QMutex _cache_lock
pat_cache_t _cached_pats
cat_cache_t _cached_cats
pmt_cache_t _cached_pmts
psip_refcnt_map_t _cached_ref_cnt
psip_refcnt_map_t _cached_slated_for_deletion
int _desired_program
QString _recording_type
bool _strip_pmt_descriptors
bool _normalize_stream_type
uint _pid_video_single_program
uint _pid_pmt_single_program
uint _pmt_single_program_num_video
uint _pmt_single_program_num_audio

Detailed Description

Definition at line 10 of file scanstreamdata.h.

Constructor & Destructor Documentation

◆ ScanStreamData()

ScanStreamData::ScanStreamData ( bool  no_default_pid = false)

Definition at line 7 of file scanstreamdata.cpp.

◆ ~ScanStreamData()

ScanStreamData::~ScanStreamData ( )

Definition at line 17 of file scanstreamdata.cpp.

Member Function Documentation

◆ IsRedundant()

bool ScanStreamData::IsRedundant ( uint  pid,
const PSIPTable psip 
) const

Returns true if table already seen.

Reimplemented from ATSCStreamData.

Definition at line 22 of file scanstreamdata.cpp.

◆ HandleTables()

bool ScanStreamData::HandleTables ( uint  pid,
const PSIPTable psip 

Processes PSIP tables.

Reimplemented from ATSCStreamData.

Definition at line 36 of file scanstreamdata.cpp.

◆ Reset() [1/5]

void ScanStreamData::Reset ( void  )

Reimplemented from ATSCStreamData.

Definition at line 43 of file scanstreamdata.cpp.

Referenced by ChannelScanSM::ScanTransport().

◆ HasEITPIDChanges()

bool ScanStreamData::HasEITPIDChanges ( const uint_vec_t ) const

Reimplemented from ATSCStreamData.

Definition at line 25 of file scanstreamdata.h.

◆ GetEITPIDChanges()

bool ScanStreamData::GetEITPIDChanges ( const uint_vec_t ,
uint_vec_t ,
) const

Reimplemented from ATSCStreamData.

Definition at line 27 of file scanstreamdata.h.

◆ GetSIStandard()

QString ScanStreamData::GetSIStandard ( const QString &  guess = "mpeg") const

Definition at line 63 of file scanstreamdata.cpp.

◆ SetFreesatAdditionalSI()

void ScanStreamData::SetFreesatAdditionalSI ( bool  freesat_si)

Definition at line 43 of file scanstreamdata.h.

◆ DeleteCachedTable()

bool ScanStreamData::DeleteCachedTable ( PSIPTable psip) const

Reimplemented from ATSCStreamData.

Definition at line 102 of file scanstreamdata.cpp.

◆ Reset() [2/5]

void DVBStreamData::Reset

Definition at line 35 of file dvbstreamdata.h.

◆ Reset() [3/5]

void DVBStreamData::Reset

Definition at line 167 of file dvbstreamdata.cpp.

◆ Reset() [4/5]

virtual void MPEGStreamData::Reset

Definition at line 99 of file mpegstreamdata.h.

◆ Reset() [5/5]

void MPEGStreamData::Reset

Definition at line 141 of file mpegstreamdata.cpp.

Member Data Documentation

◆ m_dvb_uk_freesat_si

bool ScanStreamData::m_dvb_uk_freesat_si {false}

listen for additional Freesat service information

Definition at line 39 of file scanstreamdata.h.

Referenced by IsRedundant(), Reset(), and SetFreesatAdditionalSI().

◆ m_no_default_pid

bool ScanStreamData::m_no_default_pid

Definition at line 40 of file scanstreamdata.h.

Referenced by Reset(), and ScanStreamData().

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