MPEGStreamData Class Reference

#include <mpegstreamdata.h>

Inheritance diagram for MPEGStreamData:

EITSource ATSCStreamData DVBStreamData ScanStreamData ScanStreamData ScanStreamData

List of all members.


Detailed Description

Encapsulates data about MPEG stream and emits events for each table.

Definition at line 81 of file mpegstreamdata.h.


Public Member Functions

 MPEGStreamData (int desiredProgram, bool cacheTables)
 Initializes MPEGStreamData.
virtual ~MPEGStreamData ()
void SetCaching (bool cacheTables)
virtual void Reset (void)
virtual void Reset (int desiredProgram)
double TimeOffset (void) const
 Current Offset from computer time to DVB time in seconds.
virtual void SetEITHelper (EITHelper *eit_helper)
virtual void SetEITRate (float rate)
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.
virtual bool HandleTables (uint pid, const PSIPTable &psip)
 Assembles PSIP packets and processes them.
virtual void HandleTSTables (const TSPacket *tspacket)
 Assembles PSIP packets and processes them.
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)
int VersionPAT (uint tsid) const
void SetVersionPMT (uint program_num, int version, uint last_section)
int VersionPMT (uint prog_num) const
void SetPATSectionSeen (uint tsid, uint section)
bool PATSectionSeen (uint tsid, uint section) const
bool HasAllPATSections (uint tsid) const
void SetPMTSectionSeen (uint prog_num, uint section)
bool PMTSectionSeen (uint prog_num, uint section) 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 HasCachedAllPMT (uint program_num) const
bool HasCachedAnyPMT (uint program_num) const
bool HasCachedAllPMTs (void) const
const pat_ptr_t GetCachedPAT (uint tsid, uint section_num) const
pat_vec_t GetCachedPATs (void) const
pat_map_t GetCachedPATMap (void) const
const pmt_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 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 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 &)

Protected Member Functions

PSIPTableAssemblePSIP (const TSPacket *tspacket, bool &moreTablePackets)
 PES packet assembler.
bool AssemblePSIP (PSIPTable &psip, TSPacket *tspacket)
void SavePartialPES (uint pid, PESPacket *packet)
PESPacketGetPartialPES (uint pid)
void ClearPartialPES (uint pid)
void DeletePartialPES (uint pid)
void ProcessPAT (const ProgramAssociationTable *pat)
void ProcessPMT (const ProgramMapTable *pmt)
void ProcessEncryptedPacket (const TSPacket &)
 counts en/decrypted packets to decide if a stream is en/decrypted
void UpdateTimeOffset (uint64_t si_utc_time)
void IncrementRefCnt (const PSIPTable *psip) const
virtual void DeleteCachedTable (PSIPTable *psip) const
void CachePAT (const ProgramAssociationTable *pat)
void CachePMT (const ProgramMapTable *pmt)

Static Protected Member Functions

static int ResyncStream (const unsigned char *buffer, int curr_pos, int len)

Protected Attributes

QString _sistandard
bool _have_CRC_bug
int _local_utc_offset
QMutex _si_time_lock
uint _si_time_offset_cnt
uint _si_time_offset_indx
double _si_time_offsets [16]
EITHelper_eit_helper
float _eit_rate
pid_map_t _pids_listening
pid_map_t _pids_notlistening
pid_map_t _pids_writing
pid_map_t _pids_audio
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
QMap< uint, int > _pat_version
QMap< uint, int > _pmt_version
sections_map_t _pat_section_seen
sections_map_t _pmt_section_seen
pid_pes_map_t _partial_pes_packet_cache
bool _cache_tables
QMutex _cache_lock
pat_cache_t _cached_pats
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
ProgramAssociationTable_pat_single_program
ProgramMapTable_pmt_single_program

Static Protected Attributes

static const unsigned char bit_sel [8]

Private Attributes

bool _invalid_pat_seen
bool _invalid_pat_warning
MythTimer _invalid_pat_timer

Constructor & Destructor Documentation

MPEGStreamData::MPEGStreamData ( int  desiredProgram,
bool  cacheTables 
)

Initializes MPEGStreamData.

This adds the PID of the PAT table to "_pids_listening"

Parameters:
desiredProgram If you want rewritten PAT and PMTs, for a desired program set this to a value > -1
cacheTables If true PAT and PMT tables will be cached

Definition at line 64 of file mpegstreamdata.cpp.

MPEGStreamData::~MPEGStreamData (  )  [virtual]

Definition at line 92 of file mpegstreamdata.cpp.


Member Function Documentation

void MPEGStreamData::SetCaching ( bool  cacheTables  )  [inline]

Definition at line 87 of file mpegstreamdata.h.

Referenced by TVRec::SetupDTVSignalMonitor().

virtual void MPEGStreamData::Reset ( void   )  [inline, virtual]

void MPEGStreamData::Reset ( int  desiredProgram  )  [virtual]

Reimplemented in ATSCStreamData.

Definition at line 167 of file mpegstreamdata.cpp.

double MPEGStreamData::TimeOffset ( void   )  const

Current Offset from computer time to DVB time in seconds.

Definition at line 809 of file mpegstreamdata.cpp.

void MPEGStreamData::SetEITHelper ( EITHelper eit_helper  )  [virtual]

Implements EITSource.

Definition at line 155 of file mpegstreamdata.cpp.

void MPEGStreamData::SetEITRate ( float  rate  )  [virtual]

Implements EITSource.

Definition at line 161 of file mpegstreamdata.cpp.

virtual bool MPEGStreamData::HasEITPIDChanges ( const uint_vec_t  )  const [inline, virtual]

virtual bool MPEGStreamData::GetEITPIDChanges ( const uint_vec_t ,
uint_vec_t ,
uint_vec_t  
) const [inline, virtual]

void MPEGStreamData::SetIgnoreCRC ( bool  haveCRCbug  )  [inline]

Definition at line 105 of file mpegstreamdata.h.

Referenced by TVRec::SetupDTVSignalMonitor().

bool MPEGStreamData::IsRedundant ( uint  pid,
const PSIPTable psip 
) const [virtual]

Returns true if table already seen.

Reimplemented in ATSCStreamData, DVBStreamData, and ScanStreamData.

Definition at line 659 of file mpegstreamdata.cpp.

Referenced by HandleTables(), HandleTSTables(), DVBStreamData::IsRedundant(), and ATSCStreamData::IsRedundant().

bool MPEGStreamData::HandleTables ( uint  pid,
const PSIPTable psip 
) [virtual]

Assembles PSIP packets and processes them.

Reimplemented in ATSCStreamData, DVBStreamData, and ScanStreamData.

Definition at line 688 of file mpegstreamdata.cpp.

Referenced by DVBStreamData::HandleTables(), ATSCStreamData::HandleTables(), and HandleTSTables().

void MPEGStreamData::HandleTSTables ( const TSPacket tspacket  )  [virtual]

Assembles PSIP packets and processes them.

Definition at line 848 of file mpegstreamdata.cpp.

Referenced by ProcessTSPacket(), IPTVRecorder::ProcessTSPacket(), HDHRRecorder::ProcessTSPacket(), and FirewireRecorder::ProcessTSPacket().

bool MPEGStreamData::ProcessTSPacket ( const TSPacket tspacket  )  [virtual]

Definition at line 957 of file mpegstreamdata.cpp.

Referenced by ProcessData().

int MPEGStreamData::ProcessData ( const unsigned char *  buffer,
int  len 
) [virtual]

void MPEGStreamData::HandleAdaptationFieldControl ( const TSPacket tspacket  )  [inline]

virtual void MPEGStreamData::AddListeningPID ( uint  pid,
PIDPriority  priority = kPIDPriorityNormal 
) [inline, virtual]

virtual void MPEGStreamData::AddNotListeningPID ( uint  pid  )  [inline, virtual]

Definition at line 117 of file mpegstreamdata.h.

virtual void MPEGStreamData::AddWritingPID ( uint  pid,
PIDPriority  priority = kPIDPriorityHigh 
) [inline, virtual]

Definition at line 119 of file mpegstreamdata.h.

Referenced by HDHRRecorder::AdjustFilters(), and CreatePMTSingleProgram().

virtual void MPEGStreamData::AddAudioPID ( uint  pid,
PIDPriority  priority = kPIDPriorityHigh 
) [inline, virtual]

Definition at line 122 of file mpegstreamdata.h.

Referenced by CreatePMTSingleProgram().

virtual void MPEGStreamData::RemoveListeningPID ( uint  pid  )  [inline, virtual]

virtual void MPEGStreamData::RemoveNotListeningPID ( uint  pid  )  [inline, virtual]

Definition at line 127 of file mpegstreamdata.h.

virtual void MPEGStreamData::RemoveWritingPID ( uint  pid  )  [inline, virtual]

Definition at line 129 of file mpegstreamdata.h.

Referenced by HDHRRecorder::AdjustFilters().

virtual void MPEGStreamData::RemoveAudioPID ( uint  pid  )  [inline, virtual]

Definition at line 130 of file mpegstreamdata.h.

bool MPEGStreamData::IsListeningPID ( uint  pid  )  const [virtual]

bool MPEGStreamData::IsNotListeningPID ( uint  pid  )  const [virtual]

Definition at line 1028 of file mpegstreamdata.cpp.

bool MPEGStreamData::IsWritingPID ( uint  pid  )  const [virtual]

Definition at line 1034 of file mpegstreamdata.cpp.

Referenced by ProcessTSPacket(), and IPTVRecorder::ProcessTSPacket().

bool MPEGStreamData::IsVideoPID ( uint  pid  )  const [inline]

Definition at line 135 of file mpegstreamdata.h.

Referenced by ProcessTSPacket().

bool MPEGStreamData::IsAudioPID ( uint  pid  )  const [virtual]

Definition at line 1040 of file mpegstreamdata.cpp.

Referenced by ProcessTSPacket(), and IPTVRecorder::ProcessTSPacket().

const pid_map_t& MPEGStreamData::ListeningPIDs ( void   )  const [inline]

Definition at line 139 of file mpegstreamdata.h.

Referenced by HDHRSignalMonitor::UpdateFiltersFromStreamData().

const pid_map_t& MPEGStreamData::AudioPIDs ( void   )  const [inline]

Definition at line 141 of file mpegstreamdata.h.

const pid_map_t& MPEGStreamData::WritingPIDs ( void   )  const [inline]

Definition at line 143 of file mpegstreamdata.h.

uint MPEGStreamData::GetPIDs ( pid_map_t pids  )  const

Definition at line 1046 of file mpegstreamdata.cpp.

PIDPriority MPEGStreamData::GetPIDPriority ( uint  pid  )  const

Definition at line 1068 of file mpegstreamdata.cpp.

void MPEGStreamData::SetVersionPAT ( uint  tsid,
int  version,
uint  last_section 
) [inline]

int MPEGStreamData::VersionPAT ( uint  tsid  )  const [inline]

Definition at line 159 of file mpegstreamdata.h.

Referenced by IsRedundant(), and SetVersionPAT().

void MPEGStreamData::SetVersionPMT ( uint  program_num,
int  version,
uint  last_section 
) [inline]

Definition at line 167 of file mpegstreamdata.h.

Referenced by FirewireSignalMonitor::HandlePMT(), and HandleTables().

int MPEGStreamData::VersionPMT ( uint  prog_num  )  const [inline]

Definition at line 174 of file mpegstreamdata.h.

Referenced by IsRedundant(), and SetVersionPMT().

void MPEGStreamData::SetPATSectionSeen ( uint  tsid,
uint  section 
)

Definition at line 1103 of file mpegstreamdata.cpp.

Referenced by HandleTables().

bool MPEGStreamData::PATSectionSeen ( uint  tsid,
uint  section 
) const

Definition at line 1114 of file mpegstreamdata.cpp.

Referenced by IsRedundant().

bool MPEGStreamData::HasAllPATSections ( uint  tsid  )  const

Definition at line 1122 of file mpegstreamdata.cpp.

void MPEGStreamData::SetPMTSectionSeen ( uint  prog_num,
uint  section 
)

Definition at line 1133 of file mpegstreamdata.cpp.

Referenced by HandleTables().

bool MPEGStreamData::PMTSectionSeen ( uint  prog_num,
uint  section 
) const

Definition at line 1144 of file mpegstreamdata.cpp.

Referenced by IsRedundant().

bool MPEGStreamData::HasAllPMTSections ( uint  prog_num  )  const

Definition at line 1152 of file mpegstreamdata.cpp.

bool MPEGStreamData::HasProgram ( uint  progNum  )  const

bool MPEGStreamData::HasCachedAllPAT ( uint  tsid  )  const

Definition at line 1172 of file mpegstreamdata.cpp.

Referenced by HasCachedAllPMTs().

bool MPEGStreamData::HasCachedAnyPAT ( uint  tsid  )  const

Definition at line 1191 of file mpegstreamdata.cpp.

Referenced by SIScan::HandlePostInsertion().

bool MPEGStreamData::HasCachedAnyPAT ( void   )  const

Definition at line 1202 of file mpegstreamdata.cpp.

bool MPEGStreamData::HasCachedAllPMT ( uint  program_num  )  const

Definition at line 1208 of file mpegstreamdata.cpp.

Referenced by HasCachedAllPMTs().

bool MPEGStreamData::HasCachedAnyPMT ( uint  program_num  )  const

Definition at line 1227 of file mpegstreamdata.cpp.

bool MPEGStreamData::HasCachedAllPMTs ( void   )  const

Definition at line 1238 of file mpegstreamdata.cpp.

const pat_ptr_t MPEGStreamData::GetCachedPAT ( uint  tsid,
uint  section_num 
) const

Definition at line 1257 of file mpegstreamdata.cpp.

pat_vec_t MPEGStreamData::GetCachedPATs ( void   )  const

Definition at line 1271 of file mpegstreamdata.cpp.

Referenced by SIScan::HandleMPEGDBInsertion(), and SetDesiredProgram().

pat_map_t MPEGStreamData::GetCachedPATMap ( void   )  const

const pmt_ptr_t MPEGStreamData::GetCachedPMT ( uint  program_num,
uint  section_num 
) const

Definition at line 1287 of file mpegstreamdata.cpp.

Referenced by HasProgram().

pmt_vec_t MPEGStreamData::GetCachedPMTs ( void   )  const

Definition at line 1301 of file mpegstreamdata.cpp.

Referenced by SetDesiredProgram().

pmt_map_t MPEGStreamData::GetCachedPMTMap ( void   )  const

Definition at line 1317 of file mpegstreamdata.cpp.

Referenced by SIScan::HandleMPEGDBInsertion().

void MPEGStreamData::ReturnCachedTable ( const PSIPTable psip  )  const [virtual]

void MPEGStreamData::ReturnCachedPATTables ( pat_vec_t pats  )  const [virtual]

void MPEGStreamData::ReturnCachedPATTables ( pat_map_t pats  )  const [virtual]

Definition at line 1357 of file mpegstreamdata.cpp.

void MPEGStreamData::ReturnCachedPMTTables ( pmt_vec_t pmts  )  const [virtual]

void MPEGStreamData::ReturnCachedPMTTables ( pmt_map_t pmts  )  const [virtual]

Definition at line 1371 of file mpegstreamdata.cpp.

void MPEGStreamData::AddEncryptionTestPID ( uint  pnum,
uint  pid,
bool  isvideo 
)

Definition at line 1556 of file mpegstreamdata.cpp.

Referenced by TestDecryption().

void MPEGStreamData::RemoveEncryptionTestPIDs ( uint  pnum  ) 

Definition at line 1572 of file mpegstreamdata.cpp.

Referenced by ProcessEncryptedPacket().

bool MPEGStreamData::IsEncryptionTestPID ( uint  pid  )  const

Definition at line 1612 of file mpegstreamdata.cpp.

Referenced by ProcessTSPacket().

void MPEGStreamData::TestDecryption ( const ProgramMapTable pmt  ) 

Definition at line 1622 of file mpegstreamdata.cpp.

Referenced by DTVSignalMonitor::HandlePMT().

void MPEGStreamData::ResetDecryptionMonitoringState ( void   ) 

Definition at line 1646 of file mpegstreamdata.cpp.

Referenced by Reset().

bool MPEGStreamData::IsProgramDecrypted ( uint  pnum  )  const

Definition at line 1655 of file mpegstreamdata.cpp.

bool MPEGStreamData::IsProgramEncrypted ( uint  pnum  )  const

Definition at line 1661 of file mpegstreamdata.cpp.

void MPEGStreamData::AddMPEGListener ( MPEGStreamListener val  ) 

void MPEGStreamData::RemoveMPEGListener ( MPEGStreamListener val  ) 

Definition at line 1460 of file mpegstreamdata.cpp.

Referenced by DTVSignalMonitor::SetStreamData().

void MPEGStreamData::UpdatePAT ( const ProgramAssociationTable  ) 

void MPEGStreamData::UpdateCAT ( const ConditionalAccessTable  ) 

void MPEGStreamData::UpdatePMT ( uint  program_num,
const ProgramMapTable  
)

void MPEGStreamData::AddWritingListener ( TSPacketListener val  ) 

Definition at line 1475 of file mpegstreamdata.cpp.

Referenced by DVBRecorder::StartRecording().

void MPEGStreamData::RemoveWritingListener ( TSPacketListener val  ) 

Definition at line 1487 of file mpegstreamdata.cpp.

Referenced by DVBRecorder::StartRecording().

void MPEGStreamData::AddMPEGSPListener ( MPEGSingleProgramStreamListener val  ) 

void MPEGStreamData::RemoveMPEGSPListener ( MPEGSingleProgramStreamListener val  ) 

Definition at line 1541 of file mpegstreamdata.cpp.

void MPEGStreamData::AddAVListener ( TSPacketListenerAV val  ) 

Definition at line 1502 of file mpegstreamdata.cpp.

Referenced by DVBRecorder::StartRecording().

void MPEGStreamData::RemoveAVListener ( TSPacketListenerAV val  ) 

Definition at line 1514 of file mpegstreamdata.cpp.

Referenced by DVBRecorder::StartRecording().

void MPEGStreamData::UpdatePATSingleProgram ( ProgramAssociationTable  ) 

void MPEGStreamData::UpdatePMTSingleProgram ( ProgramMapTable  ) 

void MPEGStreamData::SetDesiredProgram ( int  p  ) 

void MPEGStreamData::SetPATSingleProgram ( ProgramAssociationTable pat  )  [inline]

Definition at line 384 of file mpegstreamdata.h.

Referenced by CreatePATSingleProgram(), Reset(), and ~MPEGStreamData().

void MPEGStreamData::SetPMTSingleProgram ( ProgramMapTable pmt  )  [inline]

Definition at line 391 of file mpegstreamdata.h.

Referenced by CreatePMTSingleProgram(), Reset(), and ~MPEGStreamData().

void MPEGStreamData::SetVideoStreamsRequired ( uint  num  )  [inline]

Definition at line 250 of file mpegstreamdata.h.

Referenced by SetRecordingType().

uint MPEGStreamData::GetVideoStreamsRequired (  )  const [inline]

Definition at line 252 of file mpegstreamdata.h.

void MPEGStreamData::SetAudioStreamsRequired ( uint  num  )  [inline]

Definition at line 254 of file mpegstreamdata.h.

Referenced by SetRecordingType().

uint MPEGStreamData::GetAudioStreamsRequired (  )  const [inline]

Definition at line 256 of file mpegstreamdata.h.

void MPEGStreamData::SetRecordingType ( const QString &  recording_type  ) 

Definition at line 141 of file mpegstreamdata.cpp.

Referenced by TVRec::SetupDTVSignalMonitor().

int MPEGStreamData::DesiredProgram ( void   )  const [inline]

uint MPEGStreamData::VideoPIDSingleProgram ( void   )  const [inline]

Definition at line 262 of file mpegstreamdata.h.

Referenced by IPTVRecorder::ProcessTSPacket().

QString MPEGStreamData::GetRecordingType ( void   )  const

Definition at line 150 of file mpegstreamdata.cpp.

const ProgramAssociationTable* MPEGStreamData::PATSingleProgram ( void   )  const [inline]

const ProgramMapTable* MPEGStreamData::PMTSingleProgram ( void   )  const [inline]

ProgramAssociationTable* MPEGStreamData::PATSingleProgram ( void   )  [inline]

Definition at line 270 of file mpegstreamdata.h.

ProgramMapTable* MPEGStreamData::PMTSingleProgram ( void   )  [inline]

Definition at line 272 of file mpegstreamdata.h.

int MPEGStreamData::VersionPATSingleProgram ( void   )  const [inline]

Definition at line 398 of file mpegstreamdata.h.

int MPEGStreamData::VersionPMTSingleProgram ( void   )  const [inline]

Definition at line 403 of file mpegstreamdata.h.

bool MPEGStreamData::CreatePATSingleProgram ( const ProgramAssociationTable pat  ) 

Definition at line 387 of file mpegstreamdata.cpp.

Referenced by ProcessPAT().

bool MPEGStreamData::CreatePMTSingleProgram ( const ProgramMapTable pmt  ) 

Definition at line 495 of file mpegstreamdata.cpp.

Referenced by ProcessPMT().

PSIPTable * MPEGStreamData::AssemblePSIP ( const TSPacket tspacket,
bool moreTablePackets 
) [protected]

PES packet assembler.

This is not a general purpose TS->PES packet converter, it is only designed to work with MPEG tables which comply with certain restrictions that simplify the conversion.

DVB TSPackets may contain multiple segments of the PSI stream. (see ISO 13818-1 section 2.4.3.3, particularly the definition of payload_unit_start_indicator, which indicates there is at least one segment start, but not limited to only one segment start.)

PSI stuffing bytes are 0xFF and will complete the remaining portion of the TSPacket. (Section 2.4.4)

Note:
This method makes the assumption that AddTSPacket correctly handles duplicate packets.
Parameters:
moreTablePackets returns true if we need more packets

Definition at line 249 of file mpegstreamdata.cpp.

Referenced by HandleTSTables().

bool MPEGStreamData::AssemblePSIP ( PSIPTable psip,
TSPacket tspacket 
) [protected]

void MPEGStreamData::SavePartialPES ( uint  pid,
PESPacket packet 
) [protected]

Definition at line 1090 of file mpegstreamdata.cpp.

Referenced by AssemblePSIP().

PESPacket* MPEGStreamData::GetPartialPES ( uint  pid  )  [inline, protected]

Definition at line 287 of file mpegstreamdata.h.

Referenced by AssemblePSIP().

void MPEGStreamData::ClearPartialPES ( uint  pid  )  [inline, protected]

Definition at line 289 of file mpegstreamdata.h.

void MPEGStreamData::DeletePartialPES ( uint  pid  )  [protected]

Definition at line 217 of file mpegstreamdata.cpp.

Referenced by AssemblePSIP(), and Reset().

void MPEGStreamData::ProcessPAT ( const ProgramAssociationTable pat  )  [protected]

Definition at line 742 of file mpegstreamdata.cpp.

Referenced by HandleTables(), and SetDesiredProgram().

void MPEGStreamData::ProcessPMT ( const ProgramMapTable pmt  )  [protected]

Definition at line 792 of file mpegstreamdata.cpp.

Referenced by HandleTables(), and SetDesiredProgram().

void MPEGStreamData::ProcessEncryptedPacket ( const TSPacket tspacket  )  [protected]

counts en/decrypted packets to decide if a stream is en/decrypted

Definition at line 1680 of file mpegstreamdata.cpp.

Referenced by ProcessTSPacket().

int MPEGStreamData::ResyncStream ( const unsigned char *  buffer,
int  curr_pos,
int  len 
) [static, protected]

Definition at line 1002 of file mpegstreamdata.cpp.

Referenced by ProcessData().

void MPEGStreamData::UpdateTimeOffset ( uint64_t  si_utc_time  )  [protected]

void MPEGStreamData::IncrementRefCnt ( const PSIPTable psip  )  const [protected]

void MPEGStreamData::DeleteCachedTable ( PSIPTable psip  )  const [protected, virtual]

void MPEGStreamData::CachePAT ( const ProgramAssociationTable pat  )  [protected]

Definition at line 1420 of file mpegstreamdata.cpp.

Referenced by HandleTables().

void MPEGStreamData::CachePMT ( const ProgramMapTable pmt  )  [protected]

Definition at line 1434 of file mpegstreamdata.cpp.

Referenced by HandleTables().


Member Data Documentation

QString MPEGStreamData::_sistandard [protected]

Definition at line 307 of file mpegstreamdata.h.

Referenced by CreatePMTSingleProgram(), and TestDecryption().

Definition at line 309 of file mpegstreamdata.h.

Referenced by AssemblePSIP(), HandleTSTables(), and SetIgnoreCRC().

Definition at line 311 of file mpegstreamdata.h.

Referenced by MPEGStreamData().

QMutex MPEGStreamData::_si_time_lock [mutable, protected]

Definition at line 313 of file mpegstreamdata.h.

Referenced by TimeOffset(), and UpdateTimeOffset().

Definition at line 314 of file mpegstreamdata.h.

Referenced by TimeOffset(), and UpdateTimeOffset().

Definition at line 315 of file mpegstreamdata.h.

Referenced by UpdateTimeOffset().

double MPEGStreamData::_si_time_offsets[16] [protected]

Definition at line 316 of file mpegstreamdata.h.

Referenced by MPEGStreamData(), TimeOffset(), and UpdateTimeOffset().

float MPEGStreamData::_eit_rate [protected]

QMutex MPEGStreamData::_encryption_lock [mutable, protected]

QMutex MPEGStreamData::_listener_lock [mutable, protected]

Definition at line 339 of file mpegstreamdata.h.

Referenced by AddWritingListener(), ProcessTSPacket(), and RemoveWritingListener().

Definition at line 340 of file mpegstreamdata.h.

Referenced by AddAVListener(), ProcessTSPacket(), and RemoveAVListener().

QMap<uint, int> MPEGStreamData::_pat_version [protected]

Definition at line 343 of file mpegstreamdata.h.

Referenced by Reset(), SetVersionPAT(), and VersionPAT().

QMap<uint, int> MPEGStreamData::_pmt_version [protected]

Definition at line 344 of file mpegstreamdata.h.

Referenced by Reset(), SetVersionPMT(), and VersionPMT().

QMutex MPEGStreamData::_cache_lock [mutable, protected]

QString MPEGStreamData::_recording_type [protected]

Definition at line 363 of file mpegstreamdata.h.

Referenced by CreatePMTSingleProgram(), and Reset().

Definition at line 364 of file mpegstreamdata.h.

Referenced by Reset().

Definition at line 374 of file mpegstreamdata.h.

Referenced by ProcessPAT(), and Reset().

Definition at line 375 of file mpegstreamdata.h.

Referenced by ProcessPAT().

Definition at line 376 of file mpegstreamdata.h.

Referenced by ProcessPAT().

const unsigned char MPEGStreamData::bit_sel [static, protected]


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

Generated on Sat Dec 18 05:16:06 2010 for MythTV by  doxygen 1.5.5