MythTV
master
|
#include <libmythtv/recorders/HLS/HLSStream.h>
Public Member Functions | |
HLSRecStream (int seq, uint64_t bitrate, QString m3u8_url, QString segment_base_url) | |
~HLSRecStream (void) | |
int | Read (uint8_t *buffer, int len) |
QString | toString (void) const |
int | Id (void) const |
int | Version (void) const |
void | SetVersion (int x) |
std::chrono::seconds | TargetDuration (void) const |
void | SetTargetDuration (std::chrono::seconds x) |
int | DiscontinuitySequence (void) |
void | SetDiscontinuitySequence (int s) |
uint64_t | AverageBandwidth (void) const |
uint64_t | Bitrate (void) const |
void | SetBitrate (uint64_t bitrate) |
uint64_t | CurrentByteRate (void) const |
void | SetCurrentByteRate (uint64_t byterate) |
bool | Cache (void) const |
void | SetCache (bool x) |
bool | Live (void) const |
void | SetLive (bool x) |
QString | M3U8Url (void) const |
QString | SegmentBaseUrl (void) const |
void | SetSegmentBaseUrl (const QString &n) |
std::chrono::seconds | Duration (void) const |
uint | NumCachedSegments (void) const |
uint | NumReleasedSegments (void) const |
uint | NumTotalSegments (void) const |
void | Good (void) |
void | Retrying (void) |
int | RetryCount (void) const |
bool | operator< (const HLSRecStream &b) const |
bool | operator> (const HLSRecStream &b) const |
Static Public Member Functions | |
static bool | IsGreater (const HLSRecStream *s1, const HLSRecStream *s2) |
Protected Member Functions | |
void | AverageBandwidth (int64_t bandwidth) |
Private Attributes | |
int | m_id |
int | m_version {1} |
std::chrono::seconds | m_targetDuration {-1s} |
uint64_t | m_curByteRate {0} |
uint64_t | m_bitrate |
std::chrono::seconds | m_duration {0s} |
int | m_discontSeq {0} |
bool | m_live {true} |
int64_t | m_bandwidth {0} |
double | m_sumBandwidth {0.0} |
QQueue< int64_t > | m_bandwidthSegs |
QString | m_m3u8Url |
QString | m_segmentBaseUrl |
QMutex | m_lock |
bool | m_cache {false} |
int | m_retries {0} |
Friends | |
class | HLSReader |
Definition at line 15 of file HLSStream.h.
HLSRecStream::HLSRecStream | ( | int | seq, |
uint64_t | bitrate, | ||
QString | m3u8_url, | ||
QString | segment_base_url | ||
) |
Definition at line 13 of file HLSStream.cpp.
HLSRecStream::~HLSRecStream | ( | void | ) |
Definition at line 22 of file HLSStream.cpp.
int HLSRecStream::Read | ( | uint8_t * | buffer, |
int | len | ||
) |
QString HLSRecStream::toString | ( | void | ) | const |
Definition at line 34 of file HLSStream.cpp.
Referenced by HLSReader::LoadMetaPlaylists(), and HLSReader::ParseM3U8().
|
inline |
Definition at line 30 of file HLSStream.h.
Referenced by HLSReader::LoadMetaPlaylists(), and toString().
|
inline |
Definition at line 31 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 32 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 33 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 34 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 35 of file HLSStream.h.
|
inline |
Definition at line 36 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 37 of file HLSStream.h.
Referenced by HLSReader::DownloadSegmentData().
|
inline |
Definition at line 38 of file HLSStream.h.
Referenced by HLSReader::DecreaseBitrate(), HLSReader::DownloadSegmentData(), HLSReader::IncreaseBitrate(), HLSReader::Open(), operator<(), operator>(), and toString().
|
inline |
Definition at line 39 of file HLSStream.h.
Referenced by HLSReader::DownloadSegmentData().
|
inline |
Definition at line 40 of file HLSStream.h.
Referenced by HLSReader::DownloadSegmentData().
|
inline |
Definition at line 41 of file HLSStream.h.
Referenced by HLSReader::DownloadSegmentData().
|
inline |
Definition at line 42 of file HLSStream.h.
|
inline |
Definition at line 43 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 44 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 45 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 46 of file HLSStream.h.
Referenced by HLSReader::LoadMetaPlaylists().
|
inline |
Definition at line 47 of file HLSStream.h.
Referenced by HLSReader::ParseM3U8().
|
inline |
Definition at line 48 of file HLSStream.h.
Referenced by HLSReader::LoadMetaPlaylists().
std::chrono::seconds HLSRecStream::Duration | ( | void | ) | const |
Definition at line 145 of file HLSStream.cpp.
uint HLSRecStream::NumCachedSegments | ( | void | ) | const |
uint HLSRecStream::NumReleasedSegments | ( | void | ) | const |
uint HLSRecStream::NumTotalSegments | ( | void | ) | const |
|
inline |
Definition at line 55 of file HLSStream.h.
Referenced by HLSReader::PlaylistGood().
|
inline |
Definition at line 56 of file HLSStream.h.
Referenced by HLSReader::PlaylistRetrying().
|
inline |
Definition at line 57 of file HLSStream.h.
Referenced by HLSReader::PlaylistRetryCount().
|
static |
bool HLSRecStream::operator< | ( | const HLSRecStream & | b | ) | const |
Definition at line 151 of file HLSStream.cpp.
bool HLSRecStream::operator> | ( | const HLSRecStream & | b | ) | const |
Definition at line 156 of file HLSStream.cpp.
|
protected |
Definition at line 135 of file HLSStream.cpp.
|
friend |
Definition at line 17 of file HLSStream.h.
|
private |
Definition at line 81 of file HLSStream.h.
Referenced by Id().
|
private |
Definition at line 82 of file HLSStream.h.
Referenced by SetVersion(), and Version().
|
private |
Definition at line 83 of file HLSStream.h.
Referenced by SetTargetDuration(), and TargetDuration().
|
private |
Definition at line 84 of file HLSStream.h.
Referenced by CurrentByteRate(), and SetCurrentByteRate().
|
private |
Definition at line 85 of file HLSStream.h.
Referenced by Bitrate(), and SetBitrate().
|
private |
Definition at line 86 of file HLSStream.h.
Referenced by Duration().
|
private |
Definition at line 87 of file HLSStream.h.
Referenced by DiscontinuitySequence(), and SetDiscontinuitySequence().
Definition at line 88 of file HLSStream.h.
|
private |
Definition at line 89 of file HLSStream.h.
Referenced by AverageBandwidth().
|
private |
Definition at line 90 of file HLSStream.h.
Referenced by AverageBandwidth().
|
private |
Definition at line 91 of file HLSStream.h.
Referenced by AverageBandwidth().
|
private |
Definition at line 93 of file HLSStream.h.
Referenced by M3U8Url().
|
private |
Definition at line 94 of file HLSStream.h.
Referenced by SegmentBaseUrl(), and SetSegmentBaseUrl().
|
mutableprivate |
Definition at line 95 of file HLSStream.h.
Referenced by Duration().
Definition at line 96 of file HLSStream.h.
Referenced by Cache(), and SetCache().
|
private |
Definition at line 97 of file HLSStream.h.
Referenced by Good(), RetryCount(), and Retrying().