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 461 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 464 of file httplivestreambuffer.cpp.
Definition at line 474 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 487 of file httplivestreambuffer.cpp.
Definition at line 493 of file httplivestreambuffer.cpp.
Definition at line 516 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::OpenFile().
Definition at line 521 of file httplivestreambuffer.cpp.
Definition at line 526 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 536 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 563 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SizeMedia().
|
inline |
Definition at line 569 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 574 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), DownloadSegmentData(), FindSegment(), GetSegment(), HLSRingBuffer::NumSegments(), RemoveSegment(), HLSRingBuffer::SanitizeStreams(), Size(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 579 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), HLSStream(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 585 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 595 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 617 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 630 of file httplivestreambuffer.cpp.
Referenced by RemoveListSegments(), and HLSRingBuffer::SanitizeStreams().
Definition at line 652 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 665 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 675 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::run().
|
inline |
Definition at line 766 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::BandwidthAdaptation(), HLSRingBuffer::FindStream(), PlaylistWorker::ReloadPlaylist(), StreamWorker::run(), HLSRingBuffer::SanitizeStreams(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 770 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseKey(), and HLSRingBuffer::ParseSegmentInformation().
|
inline |
Definition at line 774 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 778 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseMediaSequence(), and HLSRingBuffer::SanitizeStreams().
|
inline |
Definition at line 782 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseMediaSequence(), and HLSRingBuffer::SanitizeStreams().
|
inline |
Definition at line 786 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ChooseSegment(), PlaylistWorker::run(), and HLSRingBuffer::SeekInternal().
|
inline |
Definition at line 790 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseTargetDuration().
|
inline |
Definition at line 794 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 798 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SafeRead().
|
inline |
Definition at line 802 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseAllowCache().
|
inline |
Definition at line 806 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 810 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseEndList().
|
inline |
Definition at line 814 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::NumSegments(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 818 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::NumSegments(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 822 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::Cancel(), and HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 826 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 833 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::Cancel().
|
private |
Definition at line 922 of file httplivestreambuffer.cpp.
Referenced by DownloadSegmentData(), Id(), and operator=().
|
private |
Definition at line 923 of file httplivestreambuffer.cpp.
Referenced by operator=(), SetVersion(), and Version().
|
private |
Definition at line 924 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), DownloadSegmentData(), operator=(), SetStartSequence(), and StartSequence().
|
private |
Definition at line 925 of file httplivestreambuffer.cpp.
Referenced by operator=(), SetTargetDuration(), TargetDuration(), and UpdateWith().
|
private |
Definition at line 926 of file httplivestreambuffer.cpp.
Referenced by Bitrate(), DownloadSegmentData(), and operator=().
|
private |
Definition at line 927 of file httplivestreambuffer.cpp.
Referenced by operator=(), and Size().
|
private |
Definition at line 929 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), Duration(), operator=(), and RemoveSegment().
Definition at line 930 of file httplivestreambuffer.cpp.
Referenced by Live(), operator=(), and SetLive().
|
private |
Definition at line 932 of file httplivestreambuffer.cpp.
Referenced by AppendSegment(), Cancel(), Clear(), GetSegment(), HLSStream(), NumSegments(), RemoveSegment(), and ~HLSStream().
|
private |
Definition at line 933 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), operator=(), and Url().
|
private |
Definition at line 934 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), Cancel(), Duration(), Lock(), RemoveSegment(), Size(), Unlock(), and UpdateWith().
Definition at line 935 of file httplivestreambuffer.cpp.
Referenced by Cache(), operator=(), SetCache(), and UpdateWith().