aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppRtcpPacket.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-08-25 21:20:14 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2015-08-25 21:20:14 +0200
commit0c62daec465a71767bc6339a1d13ab8f07daaefd (patch)
treef70b5453eadce1efed56036800e406d232a0761b /src/base/QXmppRtcpPacket.h
parent5dcc37f03182cbedc400f1d421f44b41892ba9b4 (diff)
downloadqxmpp-0c62daec465a71767bc6339a1d13ab8f07daaefd.tar.gz
RTCP: decode source description
Diffstat (limited to 'src/base/QXmppRtcpPacket.h')
-rw-r--r--src/base/QXmppRtcpPacket.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/base/QXmppRtcpPacket.h b/src/base/QXmppRtcpPacket.h
index 6ceee0fc..7787c737 100644
--- a/src/base/QXmppRtcpPacket.h
+++ b/src/base/QXmppRtcpPacket.h
@@ -29,6 +29,28 @@
#include "QXmppGlobal.h"
class QXmppRtcpPacketPrivate;
+class QXmppRtcpSourceDescriptionPrivate;
+
+class QXMPP_EXPORT QXmppRtcpSourceDescription
+{
+public:
+ QXmppRtcpSourceDescription();
+ QXmppRtcpSourceDescription(const QXmppRtcpSourceDescription &other);
+ ~QXmppRtcpSourceDescription();
+
+ QString cname() const;
+ void setCname(const QString &name);
+
+ QString name() const;
+ void setName(const QString &name);
+
+ quint32 ssrc() const;
+ void setSsrc(const quint32 ssrc);
+
+private:
+ friend class QXmppRtcpPacket;
+ QSharedDataPointer<QXmppRtcpSourceDescriptionPrivate> d;
+};
/// \brief The QXmppRtpPacket class represents an RTCP packet.
///
@@ -36,6 +58,13 @@ class QXmppRtcpPacketPrivate;
class QXMPP_EXPORT QXmppRtcpPacket
{
public:
+ enum Type {
+ SenderReport = 200,
+ ReceiverReport = 201,
+ SourceDescription = 202,
+ Goodbye = 203,
+ };
+
QXmppRtcpPacket();
QXmppRtcpPacket(const QXmppRtcpPacket &other);
virtual ~QXmppRtcpPacket();
@@ -45,12 +74,21 @@ public:
bool decode(const QByteArray &ba);
QByteArray encode() const;
+ bool read(QDataStream &stream);
+ void write(QDataStream &stream) const;
+
quint8 count() const;
void setCount(quint8 count);
+ QByteArray payload() const;
+ void setPayload(const QByteArray &payload);
+
quint8 type() const;
void setType(quint8 type);
+ QList<QXmppRtcpSourceDescription> sourceDescriptions() const;
+ void setSourceDescriptions(const QList<QXmppRtcpSourceDescription> &descriptions);
+
private:
QSharedDataPointer<QXmppRtcpPacketPrivate> d;
};