24 #ifndef QXMPPRTCPPACKET_H
25 #define QXMPPRTCPPACKET_H
27 #include <QSharedDataPointer>
29 #include "QXmppGlobal.h"
31 class QXmppRtcpPacketPrivate;
32 class QXmppRtcpReceiverReport;
33 class QXmppRtcpReceiverReportPrivate;
34 class QXmppRtcpSenderInfo;
35 class QXmppRtcpSenderInfoPrivate;
36 class QXmppRtcpSourceDescription;
37 class QXmppRtcpSourceDescriptionPrivate;
43 class QXMPP_EXPORT QXmppRtcpPacket
49 SourceDescription = 202,
54 QXmppRtcpPacket(
const QXmppRtcpPacket &other);
57 bool decode(
const QByteArray &ba);
58 QByteArray encode()
const;
60 bool read(QDataStream &stream);
61 void write(QDataStream &stream)
const;
63 QString goodbyeReason()
const;
64 void setGoodbyeReason(
const QString &goodbyeReason);
66 QList<quint32> goodbyeSsrcs()
const;
67 void setGoodbyeSsrcs(
const QList<quint32> &goodbyeSsrcs);
69 QList<QXmppRtcpReceiverReport> receiverReports()
const;
70 void setReceiverReports(
const QList<QXmppRtcpReceiverReport> &reports);
72 QXmppRtcpSenderInfo senderInfo()
const;
73 void setSenderInfo(
const QXmppRtcpSenderInfo &senderInfo);
75 QList<QXmppRtcpSourceDescription> sourceDescriptions()
const;
76 void setSourceDescriptions(
const QList<QXmppRtcpSourceDescription> &descriptions);
79 void setSsrc(quint32 ssrc);
82 void setType(quint8 type);
85 QSharedDataPointer<QXmppRtcpPacketPrivate> d;
90 class QXMPP_EXPORT QXmppRtcpReceiverReport
93 QXmppRtcpReceiverReport();
94 QXmppRtcpReceiverReport(
const QXmppRtcpReceiverReport &other);
95 ~QXmppRtcpReceiverReport();
98 void setDlsr(quint32 dlsr);
100 quint8 fractionLost()
const;
101 void setFractionLost(quint8 fractionLost);
103 quint32 jitter()
const;
104 void setJitter(quint32 jitter);
107 void setLsr(quint32 lsr);
109 quint32 ssrc()
const;
110 void setSsrc(quint32 ssrc);
112 quint32 totalLost()
const;
113 void setTotalLost(quint32 totalLost);
116 friend class QXmppRtcpPacket;
117 QSharedDataPointer<QXmppRtcpReceiverReportPrivate> d;
122 class QXMPP_EXPORT QXmppRtcpSenderInfo
125 QXmppRtcpSenderInfo();
126 QXmppRtcpSenderInfo(
const QXmppRtcpSenderInfo &other);
127 ~QXmppRtcpSenderInfo();
129 quint64 ntpStamp()
const;
130 void setNtpStamp(quint64 ntpStamp);
132 quint32 rtpStamp()
const;
133 void setRtpStamp(quint32 rtpStamp);
135 quint32 octetCount()
const;
136 void setOctetCount(quint32 count);
138 quint32 packetCount()
const;
139 void setPacketCount(quint32 count);
142 friend class QXmppRtcpPacket;
143 QSharedDataPointer<QXmppRtcpSenderInfoPrivate> d;
148 class QXMPP_EXPORT QXmppRtcpSourceDescription
151 QXmppRtcpSourceDescription();
152 QXmppRtcpSourceDescription(
const QXmppRtcpSourceDescription &other);
153 ~QXmppRtcpSourceDescription();
155 QString cname()
const;
156 void setCname(
const QString &name);
158 QString name()
const;
159 void setName(
const QString &name);
161 quint32 ssrc()
const;
162 void setSsrc(
const quint32 ssrc);
165 friend class QXmppRtcpPacket;
166 QSharedDataPointer<QXmppRtcpSourceDescriptionPrivate> d;