38 #ifndef CCXX_RTP_RTCPPKT_H_
39 #define CCXX_RTP_RTCPPKT_H_
43 #ifdef CCXX_NAMESPACES
95 inline void setPathMTU(uint16 mtu)
98 inline uint16 getPathMTU()
192 uint32 getSSRC()
const
193 {
return (ntohl(ssrc)); }
221 unsigned char data[1];
255 #if __BYTE_ORDER == __BIG_ENDIAN
257 unsigned char version:2;
258 unsigned char padding:1;
259 unsigned char block_count:5;
262 unsigned char block_count:5;
263 unsigned char padding:1;
264 unsigned char version:2;
302 uint32 getLength()
const
303 {
return ((ntohs(fh.length) + 1) << 2); }
309 uint32 getSSRC()
const
310 {
return (ntohl(info.RR.ssrc)); }
333 enum { defaultPathMTU = 1500 };
351 checkCompoundRTCPHeader(
size_t len);
366 static const uint16 RTCP_VALID_MASK;
367 static const uint16 RTCP_VALID_VALUE;
380 { memcpy(&receiverInfo,&ri,
396 getFractionLost()
const
397 {
return receiverInfo.fractionLost; }
400 getCumulativePacketLost()
const
401 {
return ( ((uint32)ntohs(receiverInfo.lostLSW)) +
402 (((uint32)receiverInfo.lostMSB) << 16) ); }
405 getExtendedSeqNum()
const
406 {
return ntohl(receiverInfo.highestSeqNum); }
416 {
return ntohl(receiverInfo.jitter); }
424 getLastSRNTPTimestampInt()
const
425 {
return (uint16)((ntohl(receiverInfo.lsr) & 0xFFFF0000) >> 16); }
433 getLastSRNTPTimestampFrac()
const
434 {
return (uint16)(ntohl(receiverInfo.lsr) & 0xFFFF); }
443 getDelayLastSR()
const
444 {
return ntohl(receiverInfo.dlsr); }
460 { memcpy(&senderInfo,&si,
476 getNTPTimestampInt()
const
477 {
return ntohl(senderInfo.NTPMSW); }
484 getNTPTimestampFrac()
const
485 {
return ntohl(senderInfo.NTPLSW); }
488 getRTPTimestamp()
const
489 {
return ntohl(senderInfo.RTPTimestamp); }
495 getPacketCount()
const
496 {
return ntohl(senderInfo.packetCount); }
499 getOctetCount()
const
500 {
return ntohl(senderInfo.octetCount); }
529 #ifdef CCXX_NAMESPACES
533 #endif // ndef CCXX_RTP_RTCPPKT_H_