MythTV
master
|
#include <satipstreamhandler.h>
Public Member Functions | |
void | AddListener (MPEGStreamData *data, bool=false, bool=false, const QString &output_file=QString()) override |
bool | UpdateFilters () override |
bool | Tune (const DTVMultiplex &tuning) |
bool | HasLock () |
int | GetSignalStrength () |
void | SetSigmonValues (bool lock, int level) |
![]() | |
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... | |
Static Public Member Functions | |
static SatIPStreamHandler * | Get (const QString &devname, int inputid) |
static void | Return (SatIPStreamHandler *&ref, int inputid) |
static uint | GetUDPReceiveBufferSize (QUdpSocket *socket) |
Get receive buffer size of UDP socket. More... | |
static uint | SetUDPReceiveBufferSize (QUdpSocket *socket, uint rcvbuffersize) |
Set receive buffer size of UDP socket. More... | |
Public Attributes | |
int | m_inputId {0} |
int | m_satipsrc {1} |
QUdpSocket * | m_dsocket {nullptr} |
QUdpSocket * | m_csocket {nullptr} |
ushort | m_dport {0} |
ushort | m_cport {0} |
SatIPRTSP * | m_rtsp {nullptr} |
SatIPDataReadHelper * | m_dataReadHelper {nullptr} |
SatIPControlReadHelper * | m_controlReadHelper {nullptr} |
Private Member Functions | |
SatIPStreamHandler (const QString &device, int inputid) | |
~SatIPStreamHandler () override | |
bool | Open (void) |
void | Close (void) |
void | run (void) override |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More... | |
Private Attributes | |
DTVTunerType | m_tunerType |
QString | m_device |
uint | m_frontend {UINT_MAX} |
QUrl | m_baseurl |
QUrl | m_tuningurl |
QUrl | m_oldtuningurl |
bool | m_setupinvoked {false} |
QRecursiveMutex | m_tunelock |
QStringList | m_oldpids |
QMutex | m_sigmonLock |
bool | m_hasLock {false} |
int | m_signalStrength {0} |
Static Private Attributes | |
static QMap< QString, SatIPStreamHandler * > | s_handlers |
static QMap< QString, uint > | s_handlersRefCnt |
static QMutex | s_handlersLock |
Friends | |
class | SatIPDataReadHelper |
Additional Inherited Members | |
![]() | |
using | StreamDataList = QHash< MPEGStreamData *, QString > |
![]() | |
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 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... | |
![]() | |
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 |
![]() | |
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) |
![]() | |
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} |
Definition at line 26 of file satipstreamhandler.h.
|
explicitprivate |
Definition at line 108 of file satipstreamhandler.cpp.
Referenced by Get().
|
overrideprivate |
Definition at line 234 of file satipstreamhandler.cpp.
|
static |
Definition at line 32 of file satipstreamhandler.cpp.
Referenced by SatIPChannel::Open(), SatIPRecorder::Open(), and SatIPSignalMonitor::SatIPSignalMonitor().
|
static |
Definition at line 63 of file satipstreamhandler.cpp.
Referenced by SatIPChannel::Close(), SatIPRecorder::Close(), and SatIPSignalMonitor::~SatIPSignalMonitor().
|
inlineoverridevirtual |
Reimplemented from StreamHandler.
Definition at line 34 of file satipstreamhandler.h.
Referenced by SatIPRecorder::PauseAndWait(), SatIPRecorder::run(), and SatIPSignalMonitor::UpdateValues().
|
overridevirtual |
Reimplemented from StreamHandler.
Definition at line 242 of file satipstreamhandler.cpp.
Referenced by run().
bool SatIPStreamHandler::Tune | ( | const DTVMultiplex & | tuning | ) |
Definition at line 353 of file satipstreamhandler.cpp.
Referenced by SatIPChannel::Tune().
|
private |
Definition at line 447 of file satipstreamhandler.cpp.
|
private |
Definition at line 485 of file satipstreamhandler.cpp.
|
overrideprivatevirtual |
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 287 of file satipstreamhandler.cpp.
bool SatIPStreamHandler::HasLock | ( | ) |
Definition at line 492 of file satipstreamhandler.cpp.
Referenced by SatIPSignalMonitor::UpdateValues().
int SatIPStreamHandler::GetSignalStrength | ( | ) |
Definition at line 498 of file satipstreamhandler.cpp.
Referenced by SatIPSignalMonitor::UpdateValues().
void SatIPStreamHandler::SetSigmonValues | ( | bool | lock, |
int | level | ||
) |
Definition at line 504 of file satipstreamhandler.cpp.
Referenced by SatIPControlReadHelper::ReadPending().
|
static |
Get receive buffer size of UDP socket.
socket | Socket |
Note that the size returned by ReceiverBufferSizeSocketOption is twice the actual buffer size hence the divide by two.
Definition at line 727 of file satipstreamhandler.cpp.
Referenced by SetUDPReceiveBufferSize().
Set receive buffer size of UDP socket.
socket | Socket |
rcvbuffersize | Requested buffer size in bytes |
Set the UDP buffer to the requested buffer size if the requested buffer size is larger than the current buffer size.
Definition at line 742 of file satipstreamhandler.cpp.
Referenced by SatIPStreamHandler().
|
friend |
Definition at line 28 of file satipstreamhandler.h.
Referenced by SatIPStreamHandler().
|
staticprivate |
Definition at line 55 of file satipstreamhandler.h.
|
staticprivate |
Definition at line 56 of file satipstreamhandler.h.
|
staticprivate |
Definition at line 57 of file satipstreamhandler.h.
int SatIPStreamHandler::m_inputId {0} |
Definition at line 60 of file satipstreamhandler.h.
Referenced by SatIPStreamHandler().
int SatIPStreamHandler::m_satipsrc {1} |
Definition at line 61 of file satipstreamhandler.h.
Referenced by SatIPChannel::Tune(), and Tune().
|
private |
Definition at line 64 of file satipstreamhandler.h.
|
private |
Definition at line 65 of file satipstreamhandler.h.
Referenced by Open(), Return(), and ~SatIPStreamHandler().
|
private |
Definition at line 66 of file satipstreamhandler.h.
|
private |
Definition at line 67 of file satipstreamhandler.h.
|
private |
Definition at line 68 of file satipstreamhandler.h.
|
private |
Definition at line 69 of file satipstreamhandler.h.
Definition at line 70 of file satipstreamhandler.h.
|
private |
Definition at line 74 of file satipstreamhandler.h.
|
private |
Definition at line 76 of file satipstreamhandler.h.
Referenced by Tune(), and UpdateFilters().
QUdpSocket* SatIPStreamHandler::m_dsocket {nullptr} |
Definition at line 79 of file satipstreamhandler.h.
Referenced by SatIPStreamHandler().
QUdpSocket* SatIPStreamHandler::m_csocket {nullptr} |
Definition at line 80 of file satipstreamhandler.h.
Referenced by SatIPStreamHandler().
ushort SatIPStreamHandler::m_dport {0} |
Definition at line 81 of file satipstreamhandler.h.
Referenced by run(), SatIPStreamHandler(), and Tune().
ushort SatIPStreamHandler::m_cport {0} |
Definition at line 82 of file satipstreamhandler.h.
Referenced by run(), SatIPStreamHandler(), and Tune().
SatIPRTSP* SatIPStreamHandler::m_rtsp {nullptr} |
Definition at line 85 of file satipstreamhandler.h.
Referenced by Close(), run(), SatIPStreamHandler(), Tune(), and UpdateFilters().
SatIPDataReadHelper* SatIPStreamHandler::m_dataReadHelper {nullptr} |
Definition at line 86 of file satipstreamhandler.h.
Referenced by SatIPStreamHandler(), and ~SatIPStreamHandler().
SatIPControlReadHelper* SatIPStreamHandler::m_controlReadHelper {nullptr} |
Definition at line 87 of file satipstreamhandler.h.
Referenced by SatIPStreamHandler(), and ~SatIPStreamHandler().
|
private |
Definition at line 95 of file satipstreamhandler.h.
Referenced by GetSignalStrength(), HasLock(), and SetSigmonValues().
Definition at line 96 of file satipstreamhandler.h.
Referenced by HasLock(), and SetSigmonValues().
|
private |
Definition at line 97 of file satipstreamhandler.h.
Referenced by GetSignalStrength(), and SetSigmonValues().