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

#include <libmythtv/recorders/dvbcam.h>

Inheritance diagram for DVBCam:
[legend]
Collaboration diagram for DVBCam:
[legend]

Public Member Functions

 DVBCam (QString device)
 
 ~DVBCam () override
 
bool Start (void)
 
bool Stop (void)
 
bool IsRunning (void) const
 
void SetPMT (const ChannelBase *chan, const ProgramMapTable *pmt)
 
void SetTimeOffset (double offset_in_seconds)
 

Private Member Functions

void run (void) override
 
void HandleUserIO (void)
 
void HandlePMT (void)
 
void RemoveDuplicateServices (void)
 
void SendPMT (const ProgramMapTable &pmt, uint cplm)
 

Private Attributes

QString m_device
 
int m_numslots {0}
 
QMutex m_ciHandlerLock
 
QWaitCondition m_ciHandlerWait
 
bool m_ciHandlerDoRun {false}
 
bool m_ciHandlerRunning {false}
 
cCiHandlerm_ciHandler {nullptr}
 
MThreadm_ciHandlerThread {nullptr}
 
QMutex m_pmtLock
 
pmt_list_t m_pmtList
 
pmt_list_t m_pmtAddList
 
bool m_havePmt {false}
 
bool m_pmtSent {false}
 
bool m_pmtUpdated {false}
 
bool m_pmtAdded {false}
 

Detailed Description

Definition at line 22 of file dvbcam.h.

Constructor & Destructor Documentation

◆ DVBCam()

DVBCam::DVBCam ( QString  device)
explicit

Definition at line 64 of file dvbcam.cpp.

◆ ~DVBCam()

DVBCam::~DVBCam ( )
override

Definition at line 83 of file dvbcam.cpp.

Member Function Documentation

◆ Start()

bool DVBCam::Start ( void  )

Definition at line 88 of file dvbcam.cpp.

Referenced by DVBChannel::SetPMT().

◆ Stop()

bool DVBCam::Stop ( void  )

Definition at line 120 of file dvbcam.cpp.

Referenced by DVBChannel::Close(), and ~DVBCam().

◆ IsRunning()

bool DVBCam::IsRunning ( void  ) const
inline

Definition at line 30 of file dvbcam.h.

Referenced by DVBChannel::Close(), DVBChannel::SetPMT(), and DVBChannel::SetTimeOffset().

◆ SetPMT()

void DVBCam::SetPMT ( const ChannelBase chan,
const ProgramMapTable pmt 
)

Definition at line 342 of file dvbcam.cpp.

Referenced by DVBChannel::Close(), and DVBChannel::SetPMT().

◆ SetTimeOffset()

void DVBCam::SetTimeOffset ( double  offset_in_seconds)

Definition at line 375 of file dvbcam.cpp.

Referenced by DVBChannel::SetTimeOffset().

◆ run()

void DVBCam::run ( void  )
overrideprivate

Definition at line 313 of file dvbcam.cpp.

◆ HandleUserIO()

void DVBCam::HandleUserIO ( void  )
private

Definition at line 155 of file dvbcam.cpp.

Referenced by run().

◆ HandlePMT()

void DVBCam::HandlePMT ( void  )
private

Definition at line 259 of file dvbcam.cpp.

Referenced by run().

◆ RemoveDuplicateServices()

void DVBCam::RemoveDuplicateServices ( void  )
private

Definition at line 208 of file dvbcam.cpp.

Referenced by HandlePMT().

◆ SendPMT()

void DVBCam::SendPMT ( const ProgramMapTable pmt,
uint  cplm 
)
private

Definition at line 397 of file dvbcam.cpp.

Referenced by HandlePMT().

Member Data Documentation

◆ m_device

QString DVBCam::m_device
private

Definition at line 46 of file dvbcam.h.

Referenced by DVBCam(), and Start().

◆ m_numslots

int DVBCam::m_numslots {0}
private

Definition at line 47 of file dvbcam.h.

Referenced by DVBCam(), and Start().

◆ m_ciHandlerLock

QMutex DVBCam::m_ciHandlerLock
mutableprivate

Definition at line 49 of file dvbcam.h.

Referenced by IsRunning(), run(), SetTimeOffset(), Start(), and Stop().

◆ m_ciHandlerWait

QWaitCondition DVBCam::m_ciHandlerWait
private

Definition at line 50 of file dvbcam.h.

Referenced by run(), and Start().

◆ m_ciHandlerDoRun

bool DVBCam::m_ciHandlerDoRun {false}
private

Definition at line 51 of file dvbcam.h.

Referenced by run(), Start(), and Stop().

◆ m_ciHandlerRunning

bool DVBCam::m_ciHandlerRunning {false}
private

Definition at line 52 of file dvbcam.h.

Referenced by IsRunning(), run(), Start(), and Stop().

◆ m_ciHandler

cCiHandler* DVBCam::m_ciHandler {nullptr}
private

Definition at line 53 of file dvbcam.h.

Referenced by HandleUserIO(), run(), SendPMT(), SetTimeOffset(), Start(), and Stop().

◆ m_ciHandlerThread

MThread* DVBCam::m_ciHandlerThread {nullptr}
private

Definition at line 54 of file dvbcam.h.

Referenced by Start(), and Stop().

◆ m_pmtLock

QMutex DVBCam::m_pmtLock
private

Definition at line 56 of file dvbcam.h.

Referenced by HandlePMT(), SetPMT(), and Stop().

◆ m_pmtList

pmt_list_t DVBCam::m_pmtList
private

Definition at line 57 of file dvbcam.h.

Referenced by HandlePMT(), RemoveDuplicateServices(), SetPMT(), and Stop().

◆ m_pmtAddList

pmt_list_t DVBCam::m_pmtAddList
private

Definition at line 58 of file dvbcam.h.

Referenced by HandlePMT(), RemoveDuplicateServices(), SetPMT(), and Stop().

◆ m_havePmt

bool DVBCam::m_havePmt {false}
private

Definition at line 59 of file dvbcam.h.

Referenced by run(), SetPMT(), and Start().

◆ m_pmtSent

bool DVBCam::m_pmtSent {false}
private

Definition at line 60 of file dvbcam.h.

Referenced by HandlePMT(), run(), and Start().

◆ m_pmtUpdated

bool DVBCam::m_pmtUpdated {false}
private

Definition at line 61 of file dvbcam.h.

Referenced by HandlePMT(), run(), SetPMT(), and Start().

◆ m_pmtAdded

bool DVBCam::m_pmtAdded {false}
private

Definition at line 62 of file dvbcam.h.

Referenced by HandlePMT(), run(), SetPMT(), and Start().


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