From 0c62daec465a71767bc6339a1d13ab8f07daaefd Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Tue, 25 Aug 2015 21:20:14 +0200 Subject: RTCP: decode source description --- src/base/QXmppRtcpPacket.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/base/QXmppRtcpPacket.h') 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 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 sourceDescriptions() const; + void setSourceDescriptions(const QList &descriptions); + private: QSharedDataPointer d; }; -- cgit v1.2.3