MythTV  master
Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
PlaylistWorker Class Reference
Inheritance diagram for PlaylistWorker:
Inheritance graph
[legend]
Collaboration diagram for PlaylistWorker:
Collaboration graph
[legend]

Public Member Functions

 PlaylistWorker (HLSRingBuffer *parent, int64_t wait)
 
void Cancel ()
 
void Wakeup (void)
 
void WaitForSignal (unsigned long time=ULONG_MAX)
 
void Lock (void)
 
void Unlock (void)
 
- Public Member Functions inherited from MThread
 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
 
MThreadoperator= (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 (unsigned long time=ULONG_MAX)
 Wait for the MThread to exit, with a maximum timeout. More...
 

Protected Member Functions

void run (void) override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
- Protected Member Functions inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 

Private Member Functions

int ReloadPlaylist (void)
 Reload playlist. More...
 
int GetHTTPLiveMetaPlaylist (StreamsList *streams)
 

Static Private Member Functions

static int UpdatePlaylist (HLSStream *hls_new, HLSStream *hls)
 

Private Attributes

HLSRingBufferm_parent {nullptr}
 
bool m_interrupted {false}
 
int64_t m_wakeup
 
int m_retries {0}
 
bool m_wokenup {false}
 
QMutex m_lock
 
QWaitCondition m_waitcond
 

Additional Inherited Members

- Static Public Member Functions inherited from MThread
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)
 
- Static Public Attributes inherited from MThread
static const int kDefaultStartTimeout
 
- Static Protected Member Functions inherited from MThread
static void setTerminationEnabled (bool enabled=true)
 
static void sleep (unsigned long time)
 
static void msleep (unsigned long time)
 
static void usleep (unsigned long time)
 
- Protected Attributes inherited from MThread
MThreadInternalm_thread {nullptr}
 
QRunnable * m_runnable {nullptr}
 
bool m_prologExecuted {true}
 
bool m_epilogExecuted {true}
 

Detailed Description

Definition at line 1244 of file httplivestreambuffer.cpp.

Constructor & Destructor Documentation

◆ PlaylistWorker()

PlaylistWorker::PlaylistWorker ( HLSRingBuffer parent,
int64_t  wait 
)
inline

Definition at line 1247 of file httplivestreambuffer.cpp.

Member Function Documentation

◆ Cancel()

void PlaylistWorker::Cancel ( void  )
inline

Definition at line 1249 of file httplivestreambuffer.cpp.

Referenced by HLSRingBuffer::~HLSRingBuffer().

◆ Wakeup()

void PlaylistWorker::Wakeup ( void  )
inline

Definition at line 1270 of file httplivestreambuffer.cpp.

Referenced by Cancel().

◆ WaitForSignal()

void PlaylistWorker::WaitForSignal ( unsigned long  time = ULONG_MAX)
inline

Definition at line 1278 of file httplivestreambuffer.cpp.

Referenced by run().

◆ Lock()

void PlaylistWorker::Lock ( void  )
inline

Definition at line 1283 of file httplivestreambuffer.cpp.

Referenced by run().

◆ Unlock()

void PlaylistWorker::Unlock ( void  )
inline

Definition at line 1287 of file httplivestreambuffer.cpp.

Referenced by run().

◆ run()

void PlaylistWorker::run ( void  )
inlineoverrideprotectedvirtual

Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.

Note
If you override this method you must call RunProlog before you do any work and RunEpilog before you exit the run method.

Reimplemented from MThread.

Definition at line 1293 of file httplivestreambuffer.cpp.

◆ ReloadPlaylist()

int PlaylistWorker::ReloadPlaylist ( void  )
inlineprivate

Reload playlist.

Definition at line 1383 of file httplivestreambuffer.cpp.

Referenced by run().

◆ UpdatePlaylist()

static int PlaylistWorker::UpdatePlaylist ( HLSStream hls_new,
HLSStream hls 
)
inlinestaticprivate

Definition at line 1425 of file httplivestreambuffer.cpp.

Referenced by ReloadPlaylist().

◆ GetHTTPLiveMetaPlaylist()

int PlaylistWorker::GetHTTPLiveMetaPlaylist ( StreamsList streams)
inlineprivate

Definition at line 1501 of file httplivestreambuffer.cpp.

Referenced by ReloadPlaylist().

Member Data Documentation

◆ m_parent

HLSRingBuffer* PlaylistWorker::m_parent {nullptr}
private

Definition at line 1529 of file httplivestreambuffer.cpp.

Referenced by Cancel(), GetHTTPLiveMetaPlaylist(), ReloadPlaylist(), and run().

◆ m_interrupted

bool PlaylistWorker::m_interrupted {false}
private

Definition at line 1530 of file httplivestreambuffer.cpp.

Referenced by Cancel(), GetHTTPLiveMetaPlaylist(), and run().

◆ m_wakeup

int64_t PlaylistWorker::m_wakeup
private

Definition at line 1531 of file httplivestreambuffer.cpp.

Referenced by run().

◆ m_retries

int PlaylistWorker::m_retries {0}
private

Definition at line 1532 of file httplivestreambuffer.cpp.

Referenced by run().

◆ m_wokenup

bool PlaylistWorker::m_wokenup {false}
private

Definition at line 1533 of file httplivestreambuffer.cpp.

Referenced by run(), and Wakeup().

◆ m_lock

QMutex PlaylistWorker::m_lock
private

Definition at line 1534 of file httplivestreambuffer.cpp.

Referenced by Cancel(), Lock(), Unlock(), WaitForSignal(), and Wakeup().

◆ m_waitcond

QWaitCondition PlaylistWorker::m_waitcond
private

Definition at line 1535 of file httplivestreambuffer.cpp.

Referenced by WaitForSignal(), and Wakeup().


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