ATSCStreamData Class Reference

Encapsulates data about ATSC stream and emits events for most tables. More...

#include <atscstreamdata.h>

Inheritance diagram for ATSCStreamData:
MPEGStreamData EITSource ScanStreamData

List of all members.

Public Member Functions

 ATSCStreamData (int desiredMajorChannel, int desiredMinorChannel, bool cacheTables=false)
 Initializes ATSCStreamData.
virtual ~ATSCStreamData ()
void Reset (void)
void Reset (int desiredProgram)
void Reset (int desiredMajorChannel, int desiredMinorChannel)
void SetDesiredChannel (int major, int minor)
virtual bool HandleTables (uint pid, const PSIPTable &psip)
 Assembles PSIP packets and processes them.
virtual bool IsRedundant (uint, const PSIPTable &) const
 Returns true if table already seen.
uint GPSOffset (void) const
 Current UTC to GPS time offset in seconds.
uint GetATSCMajorMinor (uint eit_sourceid) const
bool HasATSCMajorMinorMap (void) const
bool HasEITPIDChanges (const uint_vec_t &in_use_pid) const
bool GetEITPIDChanges (const uint_vec_t &in_use_pid, uint_vec_t &pids_to_add, uint_vec_t &pids_to_del) const
void SetVersionMGT (int version)
void SetVersionTVCT (uint tsid, int version)
void SetVersionCVCT (uint tsid, int version)
void SetVersionRRT (uint region, int version)
void SetVersionEIT (uint pid, uint atsc_source_id, int version)
void SetEITSectionSeen (uint pid, uint atsc_source_id, uint section)
int VersionMGT () const
int VersionTVCT (uint tsid) const
int VersionCVCT (uint tsid) const
int VersionRRT (uint region) const
int VersionEIT (uint pid, uint atsc_sourceid) const
bool EITSectionSeen (uint pid, uint atsc_source_id, uint section) 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_ptr_t GetCachedTVCT (uint pid, bool current=true) const
cvct_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 *)

Protected Member Functions

virtual bool DeleteCachedTable (PSIPTable *psip) const

Private Member Functions

void ProcessMGT (const MasterGuideTable *)
void ProcessVCT (uint tsid, const VirtualChannelTable *)
void ProcessTVCT (uint tsid, const TerrestrialVirtualChannelTable *)
void ProcessCVCT (uint tsid, const CableVirtualChannelTable *)
void CacheMGT (MasterGuideTable *)
void CacheTVCT (uint pid, TerrestrialVirtualChannelTable *)
void CacheCVCT (uint pid, CableVirtualChannelTable *)

Private Attributes

uint _GPS_UTC_offset
bool _atsc_eit_reset
atsc_eit_pid_map_t _atsc_eit_pids
atsc_ett_pid_map_t _atsc_ett_pids
QMap< uint, uint_sourceid_to_atsc_maj_min
atsc_main_listener_vec_t _atsc_main_listeners
scte_main_listener_vec_t _scte_main_listeners
atsc_aux_listener_vec_t _atsc_aux_listeners
atsc_eit_listener_vec_t _atsc_eit_listeners
atsc81_eit_listener_vec_t _atsc81_eit_listeners
int _mgt_version
QMap< uint, int > _tvct_version
QMap< uint, int > _cvct_version
QMap< uint, int > _rrt_version
QMap< uint, int > _eit_version
sections_map_t _eit_section_seen
MasterGuideTable_cached_mgt
tvct_cache_t _cached_tvcts
cvct_cache_t _cached_cvcts
int _desired_major_channel
int _desired_minor_channel

Detailed Description

Encapsulates data about ATSC stream and emits events for most tables.

Definition at line 25 of file atscstreamdata.h.


Constructor & Destructor Documentation

ATSCStreamData::ATSCStreamData ( int  desiredMajorChannel,
int  desiredMinorChannel,
bool  cacheTables = false 
)

Initializes ATSCStreamData.

This adds the PID of the PAT and ATSC PSIP tables to "_pids_listening"

Parameters:
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.
cacheTables If true important tables will be cached.

Definition at line 32 of file atscstreamdata.cpp.

ATSCStreamData::~ATSCStreamData (  )  [virtual]

Definition at line 47 of file atscstreamdata.cpp.


Member Function Documentation

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

Reimplemented from MPEGStreamData.

Reimplemented in ScanStreamData.

Definition at line 33 of file atscstreamdata.h.

Referenced by Reset(), SetDesiredChannel(), TVRec::SetupDTVSignalMonitor(), and ~ATSCStreamData().

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

Reimplemented from MPEGStreamData.

Definition at line 113 of file atscstreamdata.cpp.

void ATSCStreamData::Reset ( int  desiredMajorChannel,
int  desiredMinorChannel 
)

Definition at line 119 of file atscstreamdata.cpp.

void ATSCStreamData::SetDesiredChannel ( int  major,
int  minor 
)
bool ATSCStreamData::HandleTables ( uint  pid,
const PSIPTable psip 
) [virtual]

Assembles PSIP packets and processes them.

Reimplemented from MPEGStreamData.

Reimplemented in ScanStreamData.

Definition at line 211 of file atscstreamdata.cpp.

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

Returns true if table already seen.

Todo:

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 162 of file atscstreamdata.cpp.

Referenced by HandleTables(), and ScanStreamData::IsRedundant().

uint ATSCStreamData::GPSOffset ( void   )  const [inline]

Current UTC to GPS time offset in seconds.

Definition at line 43 of file atscstreamdata.h.

Referenced by HandleTables().

uint ATSCStreamData::GetATSCMajorMinor ( uint  eit_sourceid  )  const [inline]

Definition at line 170 of file atscstreamdata.h.

Referenced by HandleTables().

bool ATSCStreamData::HasATSCMajorMinorMap ( void   )  const [inline]

Definition at line 176 of file atscstreamdata.h.

bool ATSCStreamData::HasEITPIDChanges ( const uint_vec_t in_use_pid  )  const [virtual]

Reimplemented from MPEGStreamData.

Reimplemented in ScanStreamData.

Definition at line 509 of file atscstreamdata.cpp.

bool ATSCStreamData::GetEITPIDChanges ( const uint_vec_t in_use_pid,
uint_vec_t pids_to_add,
uint_vec_t pids_to_del 
) const [virtual]

Reimplemented from MPEGStreamData.

Reimplemented in ScanStreamData.

Definition at line 517 of file atscstreamdata.cpp.

void ATSCStreamData::SetVersionMGT ( int  version  )  [inline]

Definition at line 53 of file atscstreamdata.h.

Referenced by HandleTables().

void ATSCStreamData::SetVersionTVCT ( uint  tsid,
int  version 
) [inline]

Definition at line 55 of file atscstreamdata.h.

Referenced by HandleTables(), and DTVSignalMonitor::HandleTVCT().

void ATSCStreamData::SetVersionCVCT ( uint  tsid,
int  version 
) [inline]

Definition at line 57 of file atscstreamdata.h.

Referenced by DTVSignalMonitor::HandleCVCT(), and HandleTables().

void ATSCStreamData::SetVersionRRT ( uint  region,
int  version 
) [inline]

Definition at line 59 of file atscstreamdata.h.

Referenced by HandleTables().

void ATSCStreamData::SetVersionEIT ( uint  pid,
uint  atsc_source_id,
int  version 
) [inline]

Definition at line 61 of file atscstreamdata.h.

Referenced by HandleTables().

void ATSCStreamData::SetEITSectionSeen ( uint  pid,
uint  atsc_source_id,
uint  section 
)

Definition at line 486 of file atscstreamdata.cpp.

Referenced by HandleTables().

int ATSCStreamData::VersionMGT (  )  const [inline]

Definition at line 72 of file atscstreamdata.h.

Referenced by IsRedundant().

int ATSCStreamData::VersionTVCT ( uint  tsid  )  const [inline]

Definition at line 182 of file atscstreamdata.h.

Referenced by IsRedundant().

int ATSCStreamData::VersionCVCT ( uint  tsid  )  const [inline]

Definition at line 190 of file atscstreamdata.h.

Referenced by IsRedundant().

int ATSCStreamData::VersionRRT ( uint  region  )  const [inline]

Definition at line 198 of file atscstreamdata.h.

Referenced by IsRedundant().

int ATSCStreamData::VersionEIT ( uint  pid,
uint  atsc_sourceid 
) const [inline]

Definition at line 206 of file atscstreamdata.h.

Referenced by HandleTables(), and IsRedundant().

bool ATSCStreamData::EITSectionSeen ( uint  pid,
uint  atsc_source_id,
uint  section 
) const

Definition at line 499 of file atscstreamdata.cpp.

Referenced by IsRedundant().

bool ATSCStreamData::HasCachedMGT ( bool  current = true  )  const
bool ATSCStreamData::HasCachedTVCT ( uint  pid,
bool  current = true 
) const

Definition at line 679 of file atscstreamdata.cpp.

Referenced by HasCachedAllTVCTs().

bool ATSCStreamData::HasCachedCVCT ( uint  pid,
bool  current = true 
) const

Definition at line 692 of file atscstreamdata.cpp.

Referenced by HasCachedAllCVCTs().

bool ATSCStreamData::HasCachedAllTVCTs ( bool  current = true  )  const

Definition at line 705 of file atscstreamdata.cpp.

Referenced by ChannelScanSM::UpdateChannelInfo().

bool ATSCStreamData::HasCachedAllCVCTs ( bool  current = true  )  const

Definition at line 725 of file atscstreamdata.cpp.

Referenced by ChannelScanSM::UpdateChannelInfo().

bool ATSCStreamData::HasCachedAllVCTs ( bool  current = true  )  const [inline]

Definition at line 86 of file atscstreamdata.h.

bool ATSCStreamData::HasCachedAnyTVCTs ( bool  current = true  )  const

Definition at line 745 of file atscstreamdata.cpp.

bool ATSCStreamData::HasCachedAnyCVCTs ( bool  current = true  )  const

Definition at line 754 of file atscstreamdata.cpp.

bool ATSCStreamData::HasCachedAnyVCTs ( bool  current = true  )  const [inline]
const MasterGuideTable * ATSCStreamData::GetCachedMGT ( bool  current = true  )  const
tvct_ptr_t ATSCStreamData::GetCachedTVCT ( uint  pid,
bool  current = true 
) const

Definition at line 776 of file atscstreamdata.cpp.

cvct_ptr_t ATSCStreamData::GetCachedCVCT ( uint  pid,
bool  current = true 
) const

Definition at line 792 of file atscstreamdata.cpp.

tvct_vec_t ATSCStreamData::GetCachedTVCTs ( bool  current = true  )  const
cvct_vec_t ATSCStreamData::GetCachedCVCTs ( bool  current = true  )  const
void ATSCStreamData::ReturnCachedTVCTTables ( tvct_vec_t tvcts  )  const
void ATSCStreamData::ReturnCachedCVCTTables ( cvct_vec_t cvcts  )  const
bool ATSCStreamData::HasChannel ( uint  major,
uint  minor 
) const

Definition at line 651 of file atscstreamdata.cpp.

Referenced by TVRec::TuningOnSameMultiplex().

int ATSCStreamData::DesiredMajorChannel ( void   )  const [inline]

Definition at line 107 of file atscstreamdata.h.

Referenced by DTVRecorder::SetStreamData().

int ATSCStreamData::DesiredMinorChannel ( void   )  const [inline]

Definition at line 108 of file atscstreamdata.h.

Referenced by DTVRecorder::SetStreamData().

void ATSCStreamData::AddATSCMainListener ( ATSCMainStreamListener val  ) 
void ATSCStreamData::AddSCTEMainListener ( SCTEMainStreamListener val  ) 

Definition at line 954 of file atscstreamdata.cpp.

Referenced by pid_printer().

void ATSCStreamData::AddATSCAuxListener ( ATSCAuxStreamListener val  ) 

Definition at line 981 of file atscstreamdata.cpp.

Referenced by pid_printer(), and DTVSignalMonitor::SetStreamData().

void ATSCStreamData::AddATSCEITListener ( ATSCEITStreamListener val  ) 

Definition at line 1008 of file atscstreamdata.cpp.

Referenced by pid_printer().

void ATSCStreamData::AddATSC81EITListener ( ATSC81EITStreamListener val  ) 

Definition at line 1035 of file atscstreamdata.cpp.

void ATSCStreamData::RemoveATSCMainListener ( ATSCMainStreamListener val  ) 

Definition at line 939 of file atscstreamdata.cpp.

Referenced by DTVSignalMonitor::SetStreamData().

void ATSCStreamData::RemoveSCTEMainListener ( SCTEMainStreamListener val  ) 

Definition at line 966 of file atscstreamdata.cpp.

void ATSCStreamData::RemoveATSCAuxListener ( ATSCAuxStreamListener val  ) 

Definition at line 993 of file atscstreamdata.cpp.

Referenced by DTVSignalMonitor::SetStreamData().

void ATSCStreamData::RemoveATSCEITListener ( ATSCEITStreamListener val  ) 

Definition at line 1020 of file atscstreamdata.cpp.

void ATSCStreamData::RemoveATSC81EITListener ( ATSC81EITStreamListener val  ) 

Definition at line 1047 of file atscstreamdata.cpp.

void ATSCStreamData::ProcessMGT ( const MasterGuideTable mgt  )  [private]

Definition at line 561 of file atscstreamdata.cpp.

Referenced by HandleTables(), and SetDesiredChannel().

void ATSCStreamData::ProcessVCT ( uint  tsid,
const VirtualChannelTable vct 
) [private]

Definition at line 590 of file atscstreamdata.cpp.

Referenced by ProcessCVCT(), and ProcessTVCT().

void ATSCStreamData::ProcessTVCT ( uint  tsid,
const TerrestrialVirtualChannelTable vct 
) [private]

Definition at line 625 of file atscstreamdata.cpp.

Referenced by HandleTables(), and SetDesiredChannel().

void ATSCStreamData::ProcessCVCT ( uint  tsid,
const CableVirtualChannelTable vct 
) [private]

Definition at line 634 of file atscstreamdata.cpp.

Referenced by HandleTables(), and SetDesiredChannel().

void ATSCStreamData::CacheMGT ( MasterGuideTable mgt  )  [private]

Definition at line 848 of file atscstreamdata.cpp.

Referenced by HandleTables().

void ATSCStreamData::CacheTVCT ( uint  pid,
TerrestrialVirtualChannelTable tvct 
) [private]

Definition at line 856 of file atscstreamdata.cpp.

Referenced by HandleTables().

void ATSCStreamData::CacheCVCT ( uint  pid,
CableVirtualChannelTable cvct 
) [private]

Definition at line 864 of file atscstreamdata.cpp.

Referenced by HandleTables().

bool ATSCStreamData::DeleteCachedTable ( PSIPTable psip  )  const [protected, virtual]

Reimplemented from MPEGStreamData.

Reimplemented in ScanStreamData.

Definition at line 872 of file atscstreamdata.cpp.

Referenced by CacheCVCT(), CacheMGT(), CacheTVCT(), ScanStreamData::DeleteCachedTable(), and Reset().


Member Data Documentation

Definition at line 136 of file atscstreamdata.h.

Referenced by HandleTables().

Definition at line 137 of file atscstreamdata.h.

Referenced by GetEITPIDChanges(), HasEITPIDChanges(), and ProcessMGT().

Definition at line 138 of file atscstreamdata.h.

Referenced by GetEITPIDChanges(), HasEITPIDChanges(), ProcessMGT(), and Reset().

Definition at line 139 of file atscstreamdata.h.

Referenced by GetEITPIDChanges(), HasEITPIDChanges(), ProcessMGT(), and Reset().

Definition at line 141 of file atscstreamdata.h.

Referenced by GetATSCMajorMinor(), HasATSCMajorMinorMap(), ProcessVCT(), and Reset().

Definition at line 152 of file atscstreamdata.h.

Referenced by Reset().

QMap<uint, int> ATSCStreamData::_tvct_version [private]

Definition at line 153 of file atscstreamdata.h.

Referenced by Reset(), and VersionTVCT().

QMap<uint, int> ATSCStreamData::_cvct_version [private]

Definition at line 154 of file atscstreamdata.h.

Referenced by Reset(), and VersionCVCT().

QMap<uint, int> ATSCStreamData::_rrt_version [private]

Definition at line 155 of file atscstreamdata.h.

Referenced by VersionRRT().

QMap<uint, int> ATSCStreamData::_eit_version [private]

Definition at line 156 of file atscstreamdata.h.

Referenced by Reset(), and VersionEIT().

Definition at line 157 of file atscstreamdata.h.

Referenced by EITSectionSeen(), Reset(), and SetEITSectionSeen().

Definition at line 165 of file atscstreamdata.h.

Referenced by Reset(), and SetDesiredChannel().

Definition at line 166 of file atscstreamdata.h.

Referenced by Reset(), and SetDesiredChannel().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:51 2012 for MythTV by  doxygen 1.6.3