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 394 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 397 of file httplivestreambuffer.cpp.
Definition at line 407 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 420 of file httplivestreambuffer.cpp.
Definition at line 426 of file httplivestreambuffer.cpp.
Definition at line 449 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::OpenFile().
Definition at line 454 of file httplivestreambuffer.cpp.
Definition at line 459 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 469 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 496 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SizeMedia().
|
inline |
Definition at line 502 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 507 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), DownloadSegmentData(), FindSegment(), GetSegment(), HLSRingBuffer::NumSegments(), RemoveSegment(), HLSRingBuffer::SanitizeStreams(), Size(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 512 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), HLSStream(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 518 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 528 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 550 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 563 of file httplivestreambuffer.cpp.
Referenced by RemoveListSegments(), and HLSRingBuffer::SanitizeStreams().
Definition at line 585 of file httplivestreambuffer.cpp.
|
inline |
Definition at line 598 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 608 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::run().
|
inline |
Definition at line 699 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::BandwidthAdaptation(), HLSRingBuffer::FindStream(), PlaylistWorker::ReloadPlaylist(), StreamWorker::run(), HLSRingBuffer::SanitizeStreams(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 703 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseKey(), and HLSRingBuffer::ParseSegmentInformation().
|
inline |
Definition at line 707 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 711 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseMediaSequence(), and HLSRingBuffer::SanitizeStreams().
|
inline |
Definition at line 715 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseMediaSequence(), and HLSRingBuffer::SanitizeStreams().
|
inline |
Definition at line 719 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ChooseSegment(), PlaylistWorker::run(), and HLSRingBuffer::SeekInternal().
|
inline |
Definition at line 723 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseTargetDuration().
|
inline |
Definition at line 727 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 731 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::SafeRead().
|
inline |
Definition at line 735 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseAllowCache().
|
inline |
Definition at line 739 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 743 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::ParseEndList().
|
inline |
Definition at line 747 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::NumSegments(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 751 of file httplivestreambuffer.cpp.
Referenced by HLSRingBuffer::GetSegment(), HLSRingBuffer::NumSegments(), and PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 755 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::Cancel(), and HLSRingBuffer::ParseM3U8().
|
inline |
Definition at line 759 of file httplivestreambuffer.cpp.
Referenced by PlaylistWorker::UpdatePlaylist().
|
inline |
Definition at line 766 of file httplivestreambuffer.cpp.
Referenced by StreamWorker::Cancel().
|
private |
Definition at line 851 of file httplivestreambuffer.cpp.
Referenced by DownloadSegmentData(), Id(), and operator=().
|
private |
Definition at line 852 of file httplivestreambuffer.cpp.
Referenced by operator=(), SetVersion(), and Version().
|
private |
Definition at line 853 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), DownloadSegmentData(), operator=(), SetStartSequence(), and StartSequence().
|
private |
Definition at line 854 of file httplivestreambuffer.cpp.
Referenced by operator=(), SetTargetDuration(), TargetDuration(), and UpdateWith().
|
private |
Definition at line 855 of file httplivestreambuffer.cpp.
Referenced by Bitrate(), DownloadSegmentData(), and operator=().
|
private |
Definition at line 856 of file httplivestreambuffer.cpp.
Referenced by operator=(), and Size().
|
private |
Definition at line 858 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), Duration(), operator=(), and RemoveSegment().
Definition at line 859 of file httplivestreambuffer.cpp.
Referenced by Live(), operator=(), and SetLive().
|
private |
Definition at line 861 of file httplivestreambuffer.cpp.
Referenced by AppendSegment(), Cancel(), Clear(), GetSegment(), HLSStream(), NumSegments(), RemoveSegment(), and ~HLSStream().
|
private |
Definition at line 862 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), operator=(), and Url().
|
private |
Definition at line 863 of file httplivestreambuffer.cpp.
Referenced by AddSegment(), Cancel(), Duration(), Lock(), RemoveSegment(), Size(), Unlock(), and UpdateWith().
Definition at line 864 of file httplivestreambuffer.cpp.
Referenced by Cache(), operator=(), SetCache(), and UpdateWith().