MythTV  master
Public Member Functions | List of all members
TSStreamData Class Reference

Specialized version of MPEGStreamData which is used to 'blindly' record the entire MPTS transport from an input. More...

#include <tsstreamdata.h>

Inheritance diagram for TSStreamData:
Inheritance graph
[legend]
Collaboration diagram for TSStreamData:
Collaboration graph
[legend]

Public Member Functions

 TSStreamData (int cardnum)
 
virtual ~TSStreamData ()
 
bool ProcessTSPacket (const TSPacket &tspacket) override
 Write out all packets without any filtering. More...
 
void Reset (int) override
 
bool HandleTables (uint, const PSIPTable &) override
 Process PSIP packets. More...
 
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)
 
virtual void Reset (void)
 
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
 
virtual bool HasEITPIDChanges (const uint_vec_t &) const
 
virtual bool GetEITPIDChanges (const uint_vec_t &, uint_vec_t &, uint_vec_t &) const
 
void SetIgnoreCRC (bool haveCRCbug)
 
virtual bool IsRedundant (uint pid, const PSIPTable &) const
 Returns true if table already seen. More...
 
virtual void HandleTSTables (const TSPacket *tspacket)
 Assembles PSIP packets and processes them. More...
 
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 &)
 

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
 
virtual bool DeleteCachedTable (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 {"mpeg"}
 
bool _have_CRC_bug {false}
 
QMutex _si_time_lock
 
uint _si_time_offset_cnt {0}
 
uint _si_time_offset_indx {0}
 
double _si_time_offsets [16] {0.0}
 
EITHelper_eit_helper {nullptr}
 
float _eit_rate {0.0F}
 
pid_map_t _pids_listening
 
pid_map_t _pids_notlistening
 
pid_map_t _pids_writing
 
pid_map_t _pids_audio
 
bool _listening_disabled {false}
 
QMutex _encryption_lock {QMutex::Recursive}
 
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 {QMutex::Recursive}
 
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 {QMutex::Recursive}
 
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 {"all"}
 
bool _strip_pmt_descriptors {false}
 
bool _normalize_stream_type {true}
 
uint _pid_video_single_program {0xffffffff}
 
uint _pid_pmt_single_program {0xffffffff}
 
uint _pmt_single_program_num_video {1}
 
uint _pmt_single_program_num_audio {0}
 
ProgramAssociationTable_pat_single_program {nullptr}
 
ProgramMapTable_pmt_single_program {nullptr}
 

Detailed Description

Specialized version of MPEGStreamData which is used to 'blindly' record the entire MPTS transport from an input.

Definition at line 11 of file tsstreamdata.h.

Constructor & Destructor Documentation

◆ TSStreamData()

TSStreamData::TSStreamData ( int  cardnum)
explicit

Definition at line 14 of file tsstreamdata.cpp.

◆ ~TSStreamData()

virtual TSStreamData::~TSStreamData ( )
inlinevirtual

Definition at line 15 of file tsstreamdata.h.

Member Function Documentation

◆ ProcessTSPacket()

bool TSStreamData::ProcessTSPacket ( const TSPacket tspacket)
overridevirtual

Write out all packets without any filtering.

Reimplemented from MPEGStreamData.

Definition at line 21 of file tsstreamdata.cpp.

◆ Reset() [1/3]

void TSStreamData::Reset ( int  )
inlineoverridevirtual

Reimplemented from MPEGStreamData.

Definition at line 20 of file tsstreamdata.h.

◆ HandleTables()

bool TSStreamData::HandleTables ( uint  pid,
const PSIPTable psip 
)
inlineoverridevirtual

Process PSIP packets.

Reimplemented from MPEGStreamData.

Definition at line 21 of file tsstreamdata.h.

◆ Reset() [2/3]

virtual void MPEGStreamData::Reset
inline

Definition at line 99 of file mpegstreamdata.h.

◆ Reset() [3/3]

void MPEGStreamData::Reset

Definition at line 123 of file mpegstreamdata.cpp.


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