6#include "libmythbase/mythconfig.h"
9#include <openssl/aes.h>
14#define LOC QString("HLSSegment[%1]: ").arg(m_inputId)
19 LOG(VB_RECORD, LOG_DEBUG,
LOC +
"ctor");
25 LOG(VB_RECORD, LOG_DEBUG,
LOC +
"ctor");
29 std::chrono::milliseconds duration,
30 QString title, QUrl uri)
34 m_title(std::move(title)),
37 LOG(VB_RECORD, LOG_DEBUG,
LOC +
"ctor");
51 m_keypath = rhs.m_keypath;
52 m_ivLoaded = rhs.m_ivLoaded;
53 m_aesIV = rhs.m_aesIV;
61 LOG(VB_RECORD, LOG_DEBUG,
LOC +
"dtor");
66 return QString(
"[%1] '%2' @ '%3' for %4")
71bool HLSRecSegment::SetAESIV(QString line)
73 LOG(VB_RECORD, LOG_INFO,
LOC +
"SetAESIV line:"+ line);
81 if (!line.startsWith(QLatin1String(
"0x"), Qt::CaseInsensitive))
83 LOG(VB_RECORD, LOG_ERR,
LOC +
"SetAESIV does not start with 0x");
90 line.insert(2, QLatin1String(
"0"));
92#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
93 int padding = std::max(0, AES_BLOCK_SIZE - (line.size() - 2));
95 int padding = std::max(
static_cast<qsizetype
>(0), AES_BLOCK_SIZE - (line.size() - 2));
97 QByteArray ba = QByteArray(padding, 0x0);
98 ba.append(QByteArray::fromHex(QByteArray(line.toLatin1().constData() + 2)));
QString toString(void) const
std::chrono::milliseconds m_duration
HLSRecSegment & operator=(const HLSRecSegment &rhs)
#define LOG(_MASK_, _LEVEL_, _QSTRING_)