Go to the documentation of this file.
6 #include <openssl/aes.h>
7 #define AES_BLOCK_SIZE 16 // HLS only support AES-128
8 #endif // USING_LIBCRYPTO
21 #ifdef USING_LIBCRYPTO
22 using AESKeyMap = QMap<QString, AES_KEY* >;
25 HLSRecStream(
int seq, uint64_t bitrate, QString m3u8_url, QString segment_base_url);
28 int Read(uint8_t* buffer,
int len);
49 std::chrono::seconds
Duration(
void)
const;
62 #ifdef USING_LIBCRYPTO
65 const QString& keypath, AES_KEY* aeskey);
67 const QByteArray& IV,
const QString& keypath,
68 QByteArray& data, int64_t sequence);
69 bool SetAESIV(QString line);
70 bool IVLoaded(
void)
const {
return m_ivLoaded; }
72 QByteArray AESIV(
void) {
return m_aesIV; }
73 void SetKeyPath(
const QString& x) { m_keypath = x; }
74 #endif // USING_LIBCRYPTO
97 #ifdef USING_LIBCRYPTO
100 bool m_ivLoaded {
false};
101 QByteArray m_aesIV {AES_BLOCK_SIZE,0};
103 #endif // USING_LIBCRYPTO
106 #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