FirewireSignalMonitor Class Reference

#include <firewiresignalmonitor.h>

Inheritance diagram for FirewireSignalMonitor:
DTVSignalMonitor TSDataListener SignalMonitor MPEGStreamListener ATSCMainStreamListener ATSCAuxStreamListener DVBMainStreamListener MThread

List of all members.

Public Member Functions

 FirewireSignalMonitor (int db_cardnum, FirewireChannel *_channel, uint64_t _flags=kFWSigMon_WaitForPower)
 Initializes signal lock and signal values.
virtual void HandlePAT (const ProgramAssociationTable *)
virtual void HandlePMT (uint, const ProgramMapTable *)
void Stop (void)
 Stop signal monitoring and table monitoring threads.

Static Public Attributes

static const uint kPowerTimeout = 3000
static const uint kBufferTimeout = 5000

Protected Member Functions

 FirewireSignalMonitor (void)
 FirewireSignalMonitor (const FirewireSignalMonitor &)
virtual ~FirewireSignalMonitor ()
 Stops signal monitoring and table monitoring threads.
virtual void UpdateValues (void)
 Fills in frontend stats and emits status Qt signals.
void RunTableMonitor (void)
bool SupportsTSMonitoring (void)
void AddData (const unsigned char *data, uint dataSize)
 Callback function to add MPEG2 TS data.

Protected Attributes

volatile bool dtvMonitorRunning
FirewireTableMonitorThreadtableMonitorThread
bool stb_needs_retune
bool stb_needs_to_wait_for_pat
bool stb_needs_to_wait_for_power
MythTimer stb_wait_for_pat_timer
MythTimer stb_wait_for_power_timer
vector< unsigned char > buffer

Static Protected Attributes

static QMap< void *, uintpat_keys
static QMutex pat_keys_lock

Friends

class FirewireTableMonitorThread

Detailed Description

Definition at line 35 of file firewiresignalmonitor.h.


Constructor & Destructor Documentation

FirewireSignalMonitor::FirewireSignalMonitor ( int  db_cardnum,
FirewireChannel _channel,
uint64_t  _flags = kFWSigMon_WaitForPower 
)

Initializes signal lock and signal values.

Start() must be called to actually begin continuous signal monitoring. The timeout is set to 3 seconds, and the signal threshold is initialized to 0%.

Parameters:
db_cardnum Recorder number to monitor, if this is less than 0, SIGNAL events will not be sent to the frontend even if SetNotifyFrontend(true) is called.
_channel FirewireChannel for card
_flags Flags to start with

Definition at line 45 of file firewiresignalmonitor.cpp.

FirewireSignalMonitor::FirewireSignalMonitor ( void   )  [protected]
FirewireSignalMonitor::FirewireSignalMonitor ( const FirewireSignalMonitor  )  [protected]
FirewireSignalMonitor::~FirewireSignalMonitor (  )  [protected, virtual]

Stops signal monitoring and table monitoring threads.

Definition at line 69 of file firewiresignalmonitor.cpp.


Member Function Documentation

void FirewireSignalMonitor::HandlePAT ( const ProgramAssociationTable pat  )  [virtual]

Reimplemented from DTVSignalMonitor.

Definition at line 92 of file firewiresignalmonitor.cpp.

void FirewireSignalMonitor::HandlePMT ( uint  pnum,
const ProgramMapTable pmt 
) [virtual]

Reimplemented from DTVSignalMonitor.

Definition at line 119 of file firewiresignalmonitor.cpp.

void FirewireSignalMonitor::Stop ( void   )  [virtual]

Stop signal monitoring and table monitoring threads.

Reimplemented from SignalMonitor.

Definition at line 78 of file firewiresignalmonitor.cpp.

Referenced by ~FirewireSignalMonitor().

void FirewireSignalMonitor::UpdateValues ( void   )  [protected, virtual]

Fills in frontend stats and emits status Qt signals.

This function uses five ioctl's FE_READ_SNR, FE_READ_SIGNAL_STRENGTH FE_READ_BER, FE_READ_UNCORRECTED_BLOCKS, and FE_READ_STATUS to obtain statistics from the frontend.

This is automatically called by run(), after Start() has been used to start the signal monitoring thread.

Reimplemented from SignalMonitor.

Definition at line 191 of file firewiresignalmonitor.cpp.

void FirewireSignalMonitor::RunTableMonitor ( void   )  [protected]

Definition at line 135 of file firewiresignalmonitor.cpp.

Referenced by FirewireTableMonitorThread::run().

bool FirewireSignalMonitor::SupportsTSMonitoring ( void   )  [protected]
void FirewireSignalMonitor::AddData ( const unsigned char *  data,
uint  dataSize 
) [protected, virtual]

Callback function to add MPEG2 TS data.

Implements TSDataListener.

Definition at line 172 of file firewiresignalmonitor.cpp.


Friends And Related Function Documentation

friend class FirewireTableMonitorThread [friend]

Definition at line 37 of file firewiresignalmonitor.h.

Referenced by UpdateValues().


Member Data Documentation

Definition at line 61 of file firewiresignalmonitor.h.

Referenced by UpdateValues().

Definition at line 62 of file firewiresignalmonitor.h.

Referenced by HandlePAT().

Definition at line 65 of file firewiresignalmonitor.h.

Referenced by AddData(), RunTableMonitor(), Stop(), and UpdateValues().

Definition at line 66 of file firewiresignalmonitor.h.

Referenced by Stop(), and UpdateValues().

Definition at line 67 of file firewiresignalmonitor.h.

Referenced by FirewireSignalMonitor(), and UpdateValues().

Definition at line 68 of file firewiresignalmonitor.h.

Referenced by HandlePAT(), and RunTableMonitor().

Definition at line 69 of file firewiresignalmonitor.h.

Referenced by UpdateValues().

Definition at line 70 of file firewiresignalmonitor.h.

Referenced by HandlePAT(), and RunTableMonitor().

Definition at line 71 of file firewiresignalmonitor.h.

Referenced by UpdateValues().

vector<unsigned char> FirewireSignalMonitor::buffer [protected]

Definition at line 73 of file firewiresignalmonitor.h.

QMap< void *, uint > FirewireSignalMonitor::pat_keys [static, protected]

Definition at line 75 of file firewiresignalmonitor.h.

QMutex FirewireSignalMonitor::pat_keys_lock [static, protected]

Definition at line 76 of file firewiresignalmonitor.h.


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:42:03 2012 for MythTV by  doxygen 1.6.3