MythTV
master
|
Public Member Functions | |
HLSStream (const int mid, const uint64_t bitrate, QString uri) | |
HLSStream (const HLSStream &rhs, bool copy=true) | |
~HLSStream () | |
HLSStream & | operator= (const HLSStream &rhs) |
bool | operator< (const HLSStream &b) const |
bool | operator> (const HLSStream &b) const |
uint64_t | Size (bool force=false) |
Return the estimated size of the stream in bytes if a segment hasn't been downloaded, its size is estimated according to the bandwidth of the stream. More... | |
std::chrono::seconds | Duration (void) |
void | Clear (void) |
int | NumSegments (void) const |
void | AppendSegment (HLSSegment *segment) |
HLSSegment * | GetSegment (const int wanted) const |
HLSSegment * | FindSegment (const int id, int *segnum=nullptr) const |
void | AddSegment (const std::chrono::seconds duration, const QString &title, const QString &uri) |
void | RemoveSegment (HLSSegment *segment, bool willdelete=true) |
void | RemoveSegment (int segnum, bool willdelete=true) |
void | RemoveListSegments (QHash< HLSSegment *, bool > &table) |
int | DownloadSegmentData (int segnum, uint64_t &bandwidth, int stream) |
int | Id (void) const |
int | Version (void) const |
void | SetVersion (int x) |
int | StartSequence (void) const |
void | SetStartSequence (int x) |
std::chrono::seconds | TargetDuration (void) const |
void | SetTargetDuration (std::chrono::seconds x) |
uint64_t | Bitrate (void) const |
bool | Cache (void) const |
void | SetCache (bool x) |
bool | Live (void) const |
void | SetLive (bool x) |
void | Lock (void) |
void | Unlock (void) |
QString | Url (void) const |
void | UpdateWith (const HLSStream &upd) |
void | Cancel (void) |
Static Public Member Functions | |
static bool | IsGreater (const HLSStream *s1, const HLSStream *s2) |
Private Attributes | |
int | m_id {0} |
int | m_version {1} |
int | m_startsequence {0} |
std::chrono::seconds | m_targetduration {-1s} |
uint64_t | m_bitrate {0LL} |
uint64_t | m_size {0LL} |
std::chrono::seconds | m_duration {0s} |
bool | m_live {true} |
QList< HLSSegment * > | m_segments |
QString | m_url |
QMutex | m_lock |
bool | m_cache {true} |
Definition at line 393 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 396 of file httplivestreambuffer.cpp.
Definition at line 406 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 419 of file httplivestreambuffer.cpp.
Definition at line 425 of file httplivestreambuffer.cpp.
Definition at line 448 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::OpenFile().
Definition at line 453 of file httplivestreambuffer.cpp.
Definition at line 458 of file httplivestreambuffer.cpp.
Return the estimated size of the stream in bytes if a segment hasn't been downloaded, its size is estimated according to the bandwidth of the stream.
Definition at line 468 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 495 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SizeMedia().
|
inline |
Definition at line 501 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 506 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), DownloadSegmentData(), FindSegment(), GetSegment(), HLSRingBuffer::NumSegments(), RemoveSegment(), HLSRingBuffer::SanitizeStreams(), Size(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 511 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), HLSStream(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 517 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ChooseSegment(), DownloadSegmentData(), HLSRingBuffer::DurationForBytes(), FindSegment(), HLSRingBuffer::GetSegment(), RemoveSegment(), HLSRingBuffer::SafeRead(), HLSRingBuffer::SeekInternal(), Size(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 527 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 549 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 562 of file httplivestreambuffer.cpp.
Referenced by RemoveListSegments(), and HLSRingBuffer::SanitizeStreams().
Definition at line 584 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 597 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 607 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::run().
|
inline |
Definition at line 698 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::BandwidthAdaptation(), HLSRingBuffer::FindStream(), PlaylistWorker::ReloadPlaylist(), StreamWorker::run(), HLSRingBuffer::SanitizeStreams(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 702 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseKey(), and HLSRingBuffer::ParseSegmentInformation().
|
inline |
Definition at line 706 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 710 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseMediaSequence(), and HLSRingBuffer::SanitizeStreams().
|
inline |
Definition at line 714 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseMediaSequence(), and HLSRingBuffer::SanitizeStreams().
|
inline |
Definition at line 718 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ChooseSegment(), PlaylistWorker::run(), and HLSRingBuffer::SeekInternal().
|
inline |
Definition at line 722 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseTargetDuration().
|
inline |
Definition at line 726 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::BandwidthAdaptation(), HLSRingBuffer::FindStream(), HLSRingBuffer::GetSegment(), IsGreater(), HLSRingBuffer::OpenFile(), operator<(), operator>(), PlaylistWorker::ReloadPlaylist(), StreamWorker::run(), HLSRingBuffer::SeekInternal(), Size(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 730 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SafeRead().
|
inline |
Definition at line 734 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseAllowCache().
|
inline |
Definition at line 738 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseM3U8(), HLSRingBuffer::ParseMediaSequence(), StreamWorker::run(), PlaylistWorker::run(), HLSRingBuffer::SafeRead(), HLSRingBuffer::SanityCheck(), HLSRingBuffer::SeekInternal(), and HLSRingBuffer::WaitUntilBuffered().
|
inline |
Definition at line 742 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseEndList().
|
inline |
Definition at line 746 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::NumSegments(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 750 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::NumSegments(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 754 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::Cancel(), and HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 758 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 765 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::Cancel().
|
private |
Definition at line 854 of file httplivestreambuffer.cpp.
Referenced by DownloadSegmentData(), Id(), and operator=().
|
private |
Definition at line 855 of file httplivestreambuffer.cpp.
Referenced by operator=(), SetVersion(), and Version().
|
private |
Definition at line 856 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), DownloadSegmentData(), operator=(), SetStartSequence(), and StartSequence().
|
private |
Definition at line 857 of file httplivestreambuffer.cpp.
Referenced by operator=(), SetTargetDuration(), TargetDuration(), and UpdateWith().
|
private |
Definition at line 858 of file httplivestreambuffer.cpp.
Referenced by Bitrate(), DownloadSegmentData(), and operator=().
|
private |
Definition at line 859 of file httplivestreambuffer.cpp.
Referenced by operator=(), and Size().
|
private |
Definition at line 861 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), Duration(), operator=(), and RemoveSegment().
Definition at line 862 of file httplivestreambuffer.cpp.
Referenced by Live(), operator=(), and SetLive().
|
private |
Definition at line 864 of file httplivestreambuffer.cpp.
Referenced by AppendSegment(), Cancel(), Clear(), GetSegment(), HLSStream(), NumSegments(), RemoveSegment(), and ~HLSStream().
|
private |
Definition at line 865 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), operator=(), and Url().
|
private |
Definition at line 866 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), Cancel(), Duration(), Lock(), RemoveSegment(), Size(), Unlock(), and UpdateWith().
Definition at line 867 of file httplivestreambuffer.cpp.
Referenced by Cache(), operator=(), SetCache(), and UpdateWith().