Go to the documentation of this file.
6 #include <openssl/aes.h>
7 #endif // USING_LIBCRYPTO
20 #ifdef USING_LIBCRYPTO
21 using AESKeyMap = QMap<QString, AES_KEY* >;
24 HLSRecStream(
int seq, uint64_t bitrate, QString m3u8_url, QString segment_base_url);
27 int Read(uint8_t* buffer,
int len);
48 std::chrono::seconds
Duration(
void)
const;
61 #ifdef USING_LIBCRYPTO
64 const QString& keypath, AES_KEY* aeskey);
66 const QByteArray& IV,
const QString& keypath,
67 QByteArray& data, int64_t sequence);
68 bool SetAESIV(QString line);
69 bool IVLoaded(
void)
const {
return m_ivLoaded; }
71 QByteArray AESIV(
void) {
return m_aesIV; }
72 void SetKeyPath(
const QString& x) { m_keypath = x; }
73 #endif // USING_LIBCRYPTO
96 #ifdef USING_LIBCRYPTO
99 bool m_ivLoaded {
false};
100 QByteArray m_aesIV {AES_BLOCK_SIZE,0};
102 #endif // USING_LIBCRYPTO
105 #endif // HLS_STREAM_H
std::chrono::seconds Duration(void) const
uint NumReleasedSegments(void) const
int RetryCount(void) const
HLSRecStream(int seq, uint64_t bitrate, QString m3u8_url, QString segment_base_url)
bool operator<(const HLSRecStream &b) const
static bool IsGreater(const HLSRecStream *s1, const HLSRecStream *s2)
std::chrono::seconds m_duration
int Read(uint8_t *buffer, int len)
uint NumTotalSegments(void) const
QString SegmentBaseUrl(void) const
std::chrono::seconds m_targetDuration
void SetBitrate(uint64_t bitrate)
std::chrono::seconds TargetDuration(void) const
uint64_t AverageBandwidth(void) const
QString toString(void) const
QQueue< int64_t > m_bandwidthSegs
void SetTargetDuration(std::chrono::seconds x)
uint64_t Bitrate(void) const
bool operator>(const HLSRecStream &b) const
void SetSegmentBaseUrl(const QString &n)
void SetCurrentByteRate(uint64_t byterate)
uint64_t CurrentByteRate(void) const
uint NumCachedSegments(void) const
QString M3U8Url(void) const