MythTV master
|
#include <libmythtv/recorders/cetonstreamhandler.h>
Public Member Functions | |
bool | IsConnected (void) const |
bool | IsCableCardInstalled () const |
bool | EnterPowerSavingMode (void) |
bool | TuneFrequency (uint frequency, const QString &modulation) |
bool | TuneProgram (uint program) |
bool | TuneVChannel (const QString &vchannel) |
uint | GetProgramNumber (void) const |
![]() | |
void | AddListener (MPEGStreamData *data, bool=false, bool=false, const QString &output_file=QString()) override |
![]() | |
virtual void | AddListener (MPEGStreamData *data, bool allow_section_reader=false, bool needs_buffering=false, const QString &output_file=QString()) |
virtual void | RemoveListener (MPEGStreamData *data) |
bool | IsRunning (void) const |
bool | HasError (void) const |
virtual bool | AddNamedOutputFile (const QString &filename) |
Called with _listener_lock locked just after adding new output file. More... | |
virtual void | RemoveNamedOutputFile (const QString &filename) |
Called with _listener_lock locked just before removing old output file. More... | |
virtual void | ReaderPaused (int fd)=0 |
virtual void | PriorityEvent (int fd)=0 |
Static Public Member Functions | |
static CetonStreamHandler * | Get (const QString &devname, int inputid) |
static void | Return (CetonStreamHandler *&ref, int inputid) |
![]() | |
static IPTVStreamHandler * | Get (const IPTVTuningData &tuning, int inputid) |
static void | Return (IPTVStreamHandler *&ref, int inputid) |
Private Member Functions | |
CetonStreamHandler (const QString &device, int inputid) | |
bool | Connect (void) |
bool | Open (void) |
void | Close (void) |
bool | VerifyTuning (void) |
void | RepeatTuning (void) |
bool | TunerOff (void) |
bool | PerformTuneVChannel (const QString &vchannel) |
void | ClearProgramNumber (void) |
QString | GetVar (const QString §ion, const QString &variable) const |
QStringList | GetProgramList () |
bool | HttpRequest (const QString &method, const QString &script, const QUrlQuery ¶ms, QString &response, uint &status_code) const |
Private Attributes | |
QString | m_ipAddress |
uint | m_card {0} |
uint | m_tuner {0} |
bool | m_usingCablecard {false} |
bool | m_connected {false} |
bool | m_valid {false} |
uint | m_lastFrequency {0} |
QString | m_lastModulation |
uint | m_lastProgram {0} |
QString | m_lastVchannel |
Static Private Attributes | |
static QMutex | s_handlersLock |
static QMap< QString, CetonStreamHandler * > | s_handlers |
static QMap< QString, uint > | s_handlersRefCnt |
static QMap< QString, bool > | s_infoQueried |
Additional Inherited Members | |
![]() | |
using | StreamDataList = QHash< MPEGStreamData *, QString > |
![]() | |
IPTVStreamHandler (const IPTVTuningData &tuning, int inputid) | |
void | run (void) override |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More... | |
![]() | |
StreamHandler (QString device, int inputid) | |
~StreamHandler () override | |
void | Start (void) |
void | Stop (void) |
void | SetRunning (bool running, bool using_buffering, bool using_section_reader) |
bool | AddPIDFilter (PIDInfo *info) |
bool | RemovePIDFilter (uint pid) |
bool | RemoveAllPIDFilters (void) |
void | UpdateListeningForEIT (void) |
bool | UpdateFiltersFromStreamData (void) |
virtual bool | UpdateFilters (void) |
virtual void | CycleFiltersByPriority () |
PIDPriority | GetPIDPriority (uint pid) const |
void | ReaderPaused (int fd) override |
void | PriorityEvent (int fd) override |
virtual PIDInfo * | CreatePIDInfo (uint pid, uint stream_type, int pes_type) |
void | WriteMPTS (const unsigned char *buffer, uint len) |
Write out a copy of the raw MPTS. More... | |
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. More... | |
![]() | |
virtual void | run (void) |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More... | |
int | exec (void) |
Enters the qt event loop. call exit or quit to exit thread. More... | |
MThread (const QString &objectName) | |
Standard constructor. More... | |
MThread (const QString &objectName, QRunnable *runnable) | |
Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More... | |
virtual | ~MThread () |
MThread (const MThread &)=delete | |
MThread & | operator= (const MThread &)=delete |
void | RunProlog (void) |
Sets up a thread, call this if you reimplement run(). More... | |
void | RunEpilog (void) |
Cleans up a thread's resources, call this if you reimplement run(). More... | |
QThread * | qthread (void) |
Returns the thread, this will always return the same pointer no matter how often you restart the thread. More... | |
void | setObjectName (const QString &name) |
QString | objectName (void) const |
void | setPriority (QThread::Priority priority) |
QThread::Priority | priority (void) const |
bool | isFinished (void) const |
bool | isRunning (void) const |
void | setStackSize (uint stackSize) |
uint | stackSize (void) const |
void | exit (int retcode=0) |
Use this to exit from the thread if you are using a Qt event loop. More... | |
void | start (QThread::Priority p=QThread::InheritPriority) |
Tell MThread to start running the thread in the near future. More... | |
void | terminate (void) |
Kill a thread unsafely. More... | |
void | quit (void) |
calls exit(0) More... | |
bool | wait (std::chrono::milliseconds time=std::chrono::milliseconds::max()) |
Wait for the MThread to exit, with a maximum timeout. More... | |
![]() | |
virtual | ~DeviceReaderCB ()=default |
virtual void | ReaderPaused (int fd)=0 |
virtual void | PriorityEvent (int fd)=0 |
![]() | |
static void | setTerminationEnabled (bool enabled=true) |
static void | usleep (std::chrono::microseconds time) |
template<typename R , typename P > | |
static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > | usleep (std::chrono::duration< R, P > time) |
static void | ThreadSetup (const QString &name) |
This is to be called on startup in those few threads that haven't been ported to MThread. More... | |
static void | ThreadCleanup (void) |
This is to be called on exit in those few threads that haven't been ported to MThread. More... | |
static void | Cleanup (void) |
This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More... | |
static void | GetAllThreadNames (QStringList &list) |
static void | GetAllRunningThreadNames (QStringList &list) |
![]() | |
IPTVTuningData | m_tuning |
std::array< QUdpSocket *, IPTV_SOCKET_COUNT > | m_sockets {} |
std::array< IPTVStreamHandlerReadHelper *, IPTV_SOCKET_COUNT > | m_readHelpers {} |
std::array< QHostAddress, IPTV_SOCKET_COUNT > | m_sender |
IPTVStreamHandlerWriteHelper * | m_writeHelper {nullptr} |
PacketBuffer * | m_buffer {nullptr} |
bool | m_useRtpStreaming |
ushort | m_rtspRtpPort {0} |
ushort | m_rtspRtcpPort {0} |
uint32_t | m_rtspSsrc {0} |
QHostAddress | m_rtcpDest |
![]() | |
QString | m_device |
int | m_inputId |
bool | m_needsBuffering {false} |
bool | m_allowSectionReader {false} |
QMutex | m_addRmLock |
QMutex | m_startStopLock |
volatile bool | m_runningDesired {false} |
volatile bool | m_bError {false} |
bool | m_running {false} |
bool | m_restarting {false} |
bool | m_usingBuffering {false} |
bool | m_usingSectionReader {false} |
QWaitCondition | m_runningStateChanged |
QRecursiveMutex | m_pidLock |
std::vector< uint > | m_eitPids |
PIDInfoMap | m_pidInfo |
uint | m_openPidFilters {0} |
bool | m_filtersChanged {false} |
MythTimer | m_cycleTimer |
ThreadedFileWriter * | m_mptsTfw {nullptr} |
QSet< QString > | m_mptsFiles |
QString | m_mptsBaseFile |
QMutex | m_mptsLock |
QRecursiveMutex | m_listenerLock |
StreamDataList | m_streamDataList |
![]() | |
MThreadInternal * | m_thread {nullptr} |
QRunnable * | m_runnable {nullptr} |
bool | m_prologExecuted {true} |
bool | m_epilogExecuted {true} |
![]() | |
static QMutex | s_iptvhandlers_lock |
static QMap< QString, IPTVStreamHandler * > | s_iptvhandlers |
static QMap< QString, uint > | s_iptvhandlers_refcnt |
Definition at line 25 of file cetonstreamhandler.h.
|
explicitprivate |
Definition at line 110 of file cetonstreamhandler.cpp.
Referenced by Get().
|
private |
Definition at line 438 of file cetonstreamhandler.cpp.
Referenced by TuneVChannel().
|
private |
Definition at line 190 of file cetonstreamhandler.cpp.
Referenced by Return().
|
private |
Definition at line 199 of file cetonstreamhandler.cpp.
Referenced by Open().
bool CetonStreamHandler::EnterPowerSavingMode | ( | void | ) |
Definition at line 208 of file cetonstreamhandler.cpp.
Referenced by CetonChannel::EnterPowerSavingMode().
|
static |
Definition at line 39 of file cetonstreamhandler.cpp.
Referenced by CetonSignalMonitor::CetonSignalMonitor(), CetonRecorder::Open(), and CetonChannel::Open().
|
private |
Definition at line 508 of file cetonstreamhandler.cpp.
Referenced by TuneProgram().
uint CetonStreamHandler::GetProgramNumber | ( | void | ) | const |
Definition at line 452 of file cetonstreamhandler.cpp.
Referenced by CetonChannel::SetChannelByString().
|
private |
Definition at line 474 of file cetonstreamhandler.cpp.
Referenced by CetonStreamHandler(), ClearProgramNumber(), GetProgramNumber(), TuneVChannel(), and VerifyTuning().
|
private |
Definition at line 542 of file cetonstreamhandler.cpp.
Referenced by GetProgramList(), GetVar(), PerformTuneVChannel(), TuneFrequency(), and TuneProgram().
|
inline |
Definition at line 32 of file cetonstreamhandler.h.
Referenced by RepeatTuning(), CetonChannel::SetChannelByString(), and VerifyTuning().
bool CetonStreamHandler::IsConnected | ( | void | ) | const |
Definition at line 224 of file cetonstreamhandler.cpp.
Referenced by CetonChannel::Open().
|
private |
Definition at line 185 of file cetonstreamhandler.cpp.
|
private |
Definition at line 394 of file cetonstreamhandler.cpp.
Referenced by ClearProgramNumber(), and TuneVChannel().
|
private |
Definition at line 287 of file cetonstreamhandler.cpp.
|
static |
Definition at line 72 of file cetonstreamhandler.cpp.
Referenced by CetonRecorder::Close(), CetonChannel::Close(), and CetonSignalMonitor::~CetonSignalMonitor().
Definition at line 311 of file cetonstreamhandler.cpp.
Referenced by RepeatTuning(), CetonChannel::Tune(), and TunerOff().
Definition at line 359 of file cetonstreamhandler.cpp.
Referenced by RepeatTuning(), and CetonChannel::SetChannelByString().
|
private |
Definition at line 300 of file cetonstreamhandler.cpp.
Referenced by Close(), and EnterPowerSavingMode().
bool CetonStreamHandler::TuneVChannel | ( | const QString & | vchannel | ) |
Definition at line 419 of file cetonstreamhandler.cpp.
Referenced by RepeatTuning(), CetonChannel::Tune(), and TunerOff().
|
private |
Definition at line 229 of file cetonstreamhandler.cpp.
|
private |
Definition at line 66 of file cetonstreamhandler.h.
Referenced by CetonStreamHandler().
Definition at line 69 of file cetonstreamhandler.h.
Referenced by Close(), Connect(), and IsConnected().
|
private |
Definition at line 65 of file cetonstreamhandler.h.
Referenced by CetonStreamHandler(), GetProgramList(), GetVar(), and HttpRequest().
|
private |
Definition at line 72 of file cetonstreamhandler.h.
Referenced by RepeatTuning(), TuneFrequency(), and VerifyTuning().
|
private |
Definition at line 73 of file cetonstreamhandler.h.
Referenced by RepeatTuning(), TuneFrequency(), and VerifyTuning().
|
private |
Definition at line 74 of file cetonstreamhandler.h.
Referenced by RepeatTuning(), TuneProgram(), and VerifyTuning().
|
private |
Definition at line 75 of file cetonstreamhandler.h.
Referenced by RepeatTuning(), and TuneVChannel().
|
private |
Definition at line 67 of file cetonstreamhandler.h.
Referenced by CetonStreamHandler(), GetProgramList(), GetVar(), PerformTuneVChannel(), TuneFrequency(), and TuneProgram().
Definition at line 68 of file cetonstreamhandler.h.
Referenced by CetonStreamHandler(), IsCableCardInstalled(), and TunerOff().
Definition at line 70 of file cetonstreamhandler.h.
Referenced by CetonStreamHandler(), and Connect().
|
staticprivate |
Definition at line 79 of file cetonstreamhandler.h.
|
staticprivate |
Definition at line 78 of file cetonstreamhandler.h.
|
staticprivate |
Definition at line 80 of file cetonstreamhandler.h.
|
staticprivate |
Definition at line 81 of file cetonstreamhandler.h.
Referenced by CetonStreamHandler().