19using namespace std::chrono_literals;
24using Params = QMap<QString, QString>;
31 explicit CetonRTSP(
const QString &ip,
uint tuner, ushort port);
37 bool Setup(ushort clientPort1, ushort clientPort2,
38 ushort &rtpPort, ushort &rtcpPort, uint32_t &ssrc);
47 const QString &method,
const QStringList *
headers =
nullptr,
48 bool use_control =
false,
bool waitforanswer =
true,
49 const QString &alternative = QString());
52 static QStringList
splitLines(
const QByteArray &lines);
QMap< QString, QString > Params
CetonRTSP(const QString &ip, uint tuner, ushort port)
QUrl GetBaseUrl(void)
Return the base URL for the last DESCRIBE answer.
bool Setup(ushort clientPort1, ushort clientPort2, ushort &rtpPort, ushort &rtcpPort, uint32_t &ssrc)
static QMutex s_rtspMutex
QByteArray m_responseContent
static QStringList splitLines(const QByteArray &lines)
splitLines.
QString readParameters(const QString &key, Params ¶meters)
readParameters.
bool GetOptions(QStringList &options)
bool ProcessRequest(const QString &method, const QStringList *headers=nullptr, bool use_control=false, bool waitforanswer=true, const QString &alternative=QString())
void timerEvent(QTimerEvent *event) override
void StartKeepAlive(void)
std::chrono::seconds m_timeout
QString m_responseMessage