aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppRtcpPacket.h
diff options
context:
space:
mode:
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;
};