#include <dvbstreamhandler.h>
Public Member Functions | |
| void | RetuneMonitor (void) |
| bool | IsRetuneAllowed (void) const |
| void | SetRetuneAllowed (bool allow, DTVSignalMonitor *sigmon, DVBChannel *dvbchan) |
Static Public Member Functions | |
| static DVBStreamHandler * | Get (const QString &dvb_device) |
| static void | Return (DVBStreamHandler *&ref) |
Private Member Functions | |
| DVBStreamHandler (const QString &) | |
| virtual void | run (void) |
| Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. | |
| void | RunTS (void) |
| Uses TS filtering devices to read a DVB device for tables & data. | |
| void | RunSR (void) |
| Uses "Section" reader to read a DVB device for tables. | |
| virtual void | CycleFiltersByPriority (void) |
| bool | SupportsTSMonitoring (void) |
| Returns true if TS monitoring is supported. | |
| virtual PIDInfo * | CreatePIDInfo (uint pid, uint stream_type, int pes_type) |
| virtual void | SetRunningDesired (bool desired) |
| At minimum this sets _running_desired, this may also send signals to anything that might be blocking the run() loop. | |
Private Attributes | |
| QString | _dvr_dev_path |
| volatile bool | _allow_retune |
| DTVSignalMonitor * | _sigmon |
| DVBChannel * | _dvbchannel |
| DeviceReadBuffer * | _drb |
Static Private Attributes | |
| static QMutex | _rec_supports_ts_monitoring_lock |
| static QMap< QString, bool > | _rec_supports_ts_monitoring |
| static QMutex | _handlers_lock |
| static QMap< QString, DVBStreamHandler * > | _handlers |
| static QMap< QString, uint > | _handlers_refcnt |
Definition at line 33 of file dvbstreamhandler.h.
| DVBStreamHandler::DVBStreamHandler | ( | const QString & | dvb_device | ) | [private] |
Definition at line 85 of file dvbstreamhandler.cpp.
Referenced by Get().
| DVBStreamHandler * DVBStreamHandler::Get | ( | const QString & | dvb_device | ) | [static] |
Definition at line 32 of file dvbstreamhandler.cpp.
Referenced by DVBSignalMonitor::DVBSignalMonitor(), and DVBRecorder::Open().
| void DVBStreamHandler::Return | ( | DVBStreamHandler *& | ref | ) | [static] |
Definition at line 52 of file dvbstreamhandler.cpp.
Referenced by DVBRecorder::Close(), and DVBSignalMonitor::~DVBSignalMonitor().
| void DVBStreamHandler::RetuneMonitor | ( | void | ) |
Definition at line 508 of file dvbstreamhandler.cpp.
Referenced by RunSR(), RunTS(), and DVBSignalMonitor::UpdateValues().
| bool DVBStreamHandler::IsRetuneAllowed | ( | void | ) | const [inline] |
Definition at line 43 of file dvbstreamhandler.h.
Referenced by DVBSignalMonitor::UpdateValues().
| void DVBStreamHandler::SetRetuneAllowed | ( | bool | allow, | |
| DTVSignalMonitor * | sigmon, | |||
| DVBChannel * | dvbchan | |||
| ) |
Definition at line 489 of file dvbstreamhandler.cpp.
Referenced by DVBSignalMonitor::Stop(), and DVBSignalMonitor::UpdateValues().
| void DVBStreamHandler::run | ( | void | ) | [private, virtual] |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
Reimplemented from MThread.
Definition at line 104 of file dvbstreamhandler.cpp.
| void DVBStreamHandler::RunTS | ( | void | ) | [private] |
Uses TS filtering devices to read a DVB device for tables & data.
This supports all types of MPEG based stream data, but is extreemely slow with DVB over USB 1.0 devices which for efficiency reasons buffer a stream until a full block transfer buffer full of the requested tables is available. This takes a very long time when you are just waiting for a PAT or PMT table, and the buffer is hundreds of packets in size.
Definition at line 128 of file dvbstreamhandler.cpp.
Referenced by run().
| void DVBStreamHandler::RunSR | ( | void | ) | [private] |
Uses "Section" reader to read a DVB device for tables.
This currently only supports DVB streams, ATSC and the raw MPEG streams used by some cable and satelite providers is not supported.
Definition at line 295 of file dvbstreamhandler.cpp.
Referenced by run().
| void DVBStreamHandler::CycleFiltersByPriority | ( | void | ) | [private, virtual] |
Reimplemented from StreamHandler.
Definition at line 379 of file dvbstreamhandler.cpp.
| bool DVBStreamHandler::SupportsTSMonitoring | ( | void | ) | [private] |
Returns true if TS monitoring is supported.
NOTE: If you are using a DEC2000-t device you need to apply the patches provided by Peter Beutner for it, see http://www.gossamer-threads.com/lists/mythtv/dev/166172 These patches should make it in to Linux 2.6.15 or 2.6.16.
Definition at line 549 of file dvbstreamhandler.cpp.
Referenced by run().
| virtual PIDInfo* DVBStreamHandler::CreatePIDInfo | ( | uint | pid, | |
| uint | stream_type, | |||
| int | pes_type | |||
| ) | [inline, private, virtual] |
Reimplemented from StreamHandler.
Definition at line 60 of file dvbstreamhandler.h.
| void DVBStreamHandler::SetRunningDesired | ( | bool | desired | ) | [private, virtual] |
At minimum this sets _running_desired, this may also send signals to anything that might be blocking the run() loop.
Reimplemented from StreamHandler.
Definition at line 97 of file dvbstreamhandler.cpp.
QString DVBStreamHandler::_dvr_dev_path [private] |
Definition at line 66 of file dvbstreamhandler.h.
Referenced by RunTS(), and SupportsTSMonitoring().
volatile bool DVBStreamHandler::_allow_retune [private] |
Definition at line 67 of file dvbstreamhandler.h.
Referenced by IsRetuneAllowed(), RetuneMonitor(), and SetRetuneAllowed().
DTVSignalMonitor* DVBStreamHandler::_sigmon [private] |
Definition at line 69 of file dvbstreamhandler.h.
Referenced by RetuneMonitor(), and SetRetuneAllowed().
DVBChannel* DVBStreamHandler::_dvbchannel [private] |
Definition at line 70 of file dvbstreamhandler.h.
Referenced by RetuneMonitor(), and SetRetuneAllowed().
DeviceReadBuffer* DVBStreamHandler::_drb [private] |
Definition at line 71 of file dvbstreamhandler.h.
Referenced by RunTS(), and SetRunningDesired().
QMutex DVBStreamHandler::_rec_supports_ts_monitoring_lock [static, private] |
Definition at line 74 of file dvbstreamhandler.h.
Referenced by SupportsTSMonitoring().
QMap< QString, bool > DVBStreamHandler::_rec_supports_ts_monitoring [static, private] |
Definition at line 75 of file dvbstreamhandler.h.
Referenced by SupportsTSMonitoring().
QMutex DVBStreamHandler::_handlers_lock [static, private] |
Definition at line 78 of file dvbstreamhandler.h.
QMap< QString, DVBStreamHandler * > DVBStreamHandler::_handlers [static, private] |
Definition at line 79 of file dvbstreamhandler.h.
QMap< QString, uint > DVBStreamHandler::_handlers_refcnt [static, private] |
Definition at line 80 of file dvbstreamhandler.h.
1.6.3