|
MythTV master
|
Public Member Functions | |
| StreamWorker (HLSRingBuffer *parent, int startup, int buffer) | |
| void | Cancel (void) |
| int | CurrentStream (void) |
| int | Segment (void) |
| void | Seek (int val) |
| bool | IsAtEnd (bool lock=false) |
| bool | GotBufferedSegments (int from, int count) const |
| check that we have at least [count] segments buffered from position [from] More... | |
| int | CurrentPlaybackBuffer (bool lock=true) |
| int | CurrentLiveBuffer (void) |
| void | SetBuffer (int val) |
| void | AddSegmentToStream (int segnum, int stream) |
| void | RemoveSegmentFromStream (int segnum) |
| int | StreamForSegment (int segmentid, bool lock=true) const |
| return the stream used to download a particular segment or -1 if it was never downloaded More... | |
| void | Wakeup (void) |
| void | WaitForSignal (std::chrono::milliseconds time=std::chrono::milliseconds::max()) |
| void | Lock (void) |
| void | Unlock (void) |
| int64_t | Bandwidth (void) const |
| double | AverageNewBandwidth (int64_t bandwidth) |
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 | |
| 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... | |
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... | |
| int | BandwidthAdaptation (int progid, uint64_t &bandwidth) const |
Protected Member Functions inherited from MThread | |
| 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... | |
Private Attributes | |
| HLSRingBuffer * | m_parent {nullptr} |
| bool | m_interrupted {false} |
| int64_t | m_bandwidth {0} |
| int | m_stream {0} |
| int | m_segment |
| int | m_buffer |
| QMap< int, int > | m_segmap |
| QMutex | m_lock |
| QWaitCondition | m_waitcond |
| double | m_sumbandwidth {0.0} |
| int | m_countbandwidth {0} |
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 Protected Member Functions inherited from MThread | |
| 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) |
Protected Attributes inherited from MThread | |
| MThreadInternal * | m_thread {nullptr} |
| QRunnable * | m_runnable {nullptr} |
| bool | m_prologExecuted {true} |
| bool | m_epilogExecuted {true} |
Definition at line 991 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 994 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 1088 of file httplivestreambuffer.cpp.
Referenced by run().
|
inline |
Definition at line 1149 of file httplivestreambuffer.cpp.
Referenced by run().
|
inline |
Definition at line 1145 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SeekInternal().
|
inlineprotected |
Definition at line 1274 of file httplivestreambuffer.cpp.
Referenced by run().
|
inline |
Definition at line 998 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::~HLSRingBuffer().
|
inline |
Definition at line 1079 of file httplivestreambuffer.cpp.
Referenced by run().
Definition at line 1066 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::Prefetch(), PlaylistWorker::run(), HLSRingBuffer::SafeRead(), HLSRingBuffer::SanityCheck(), HLSRingBuffer::SeekInternal(), and HLSRingBuffer::WaitUntilBuffered().
|
inline |
Definition at line 1016 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetCurrentStream().
|
inline |
check that we have at least [count] segments buffered from position [from]
Definition at line 1051 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SeekInternal(), and HLSRingBuffer::WaitUntilBuffered().
Definition at line 1033 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::Prefetch(), run(), HLSRingBuffer::SanityCheck(), HLSRingBuffer::SeekInternal(), and HLSRingBuffer::WaitUntilBuffered().
|
inline |
Definition at line 1137 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::Prefetch(), run(), HLSRingBuffer::SeekInternal(), and HLSRingBuffer::WaitUntilBuffered().
|
inline |
Definition at line 1095 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SafeRead().
|
inlineoverrideprotectedvirtual |
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 1158 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 1026 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), and HLSRingBuffer::SeekInternal().
|
inline |
Definition at line 1021 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 1083 of file httplivestreambuffer.cpp.
return the stream used to download a particular segment or -1 if it was never downloaded
Definition at line 1105 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::DurationForBytes(), HLSRingBuffer::GetSegment(), HLSRingBuffer::GetStreamForSegment(), GotBufferedSegments(), run(), HLSRingBuffer::SafeRead(), and HLSRingBuffer::SeekInternal().
|
inline |
Definition at line 1141 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::Prefetch(), run(), HLSRingBuffer::SeekInternal(), and HLSRingBuffer::WaitUntilBuffered().
|
inline |
Definition at line 1132 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::Prefetch(), run(), HLSRingBuffer::SeekInternal(), and HLSRingBuffer::WaitUntilBuffered().
|
inline |
Definition at line 1127 of file httplivestreambuffer.cpp.
Referenced by Cancel(), HLSRingBuffer::Prefetch(), run(), PlaylistWorker::run(), HLSRingBuffer::SafeRead(), Seek(), and HLSRingBuffer::WaitUntilBuffered().
|
private |
Definition at line 1310 of file httplivestreambuffer.cpp.
Referenced by AverageNewBandwidth(), Bandwidth(), and run().
|
private |
Definition at line 1313 of file httplivestreambuffer.cpp.
Referenced by run(), and SetBuffer().
|
private |
Definition at line 1318 of file httplivestreambuffer.cpp.
Referenced by AverageNewBandwidth().
Definition at line 1308 of file httplivestreambuffer.cpp.
Referenced by AddSegmentToStream(), Cancel(), and run().
|
mutableprivate |
Definition at line 1315 of file httplivestreambuffer.cpp.
Referenced by AddSegmentToStream(), Cancel(), CurrentPlaybackBuffer(), CurrentStream(), IsAtEnd(), Lock(), RemoveSegmentFromStream(), Seek(), Segment(), SetBuffer(), StreamForSegment(), Unlock(), and WaitForSignal().
|
private |
Definition at line 1307 of file httplivestreambuffer.cpp.
Referenced by BandwidthAdaptation(), Cancel(), CurrentLiveBuffer(), CurrentPlaybackBuffer(), GotBufferedSegments(), IsAtEnd(), and run().
|
private |
Definition at line 1314 of file httplivestreambuffer.cpp.
Referenced by AddSegmentToStream(), RemoveSegmentFromStream(), and StreamForSegment().
|
private |
Definition at line 1312 of file httplivestreambuffer.cpp.
Referenced by CurrentLiveBuffer(), CurrentPlaybackBuffer(), IsAtEnd(), run(), Seek(), and Segment().
|
private |
Definition at line 1311 of file httplivestreambuffer.cpp.
Referenced by CurrentStream(), and run().
|
private |
Definition at line 1317 of file httplivestreambuffer.cpp.
Referenced by AverageNewBandwidth().
|
private |
Definition at line 1316 of file httplivestreambuffer.cpp.
Referenced by WaitForSignal(), and Wakeup().