Go to the documentation of this file.
37 #ifndef CCXX_RTP_RTCPPKT_H_
38 #define CCXX_RTP_RTCPPKT_H_
190 {
return (ntohl(ssrc)); }
216 unsigned char data[1];
252 #if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN
253 unsigned char version:2;
255 unsigned char padding:1;
256 unsigned char block_count:5;
258 unsigned char block_count:5;
300 {
return ((ntohs(fh.length) + 1) << 2); }
307 {
return (ntohl(info.RR.ssrc)); }
330 enum { defaultPathMTU = 1500 };
348 checkCompoundRTCPHeader(
size_t len);
363 static const uint16 RTCP_VALID_MASK;
364 static const uint16 RTCP_VALID_VALUE;
377 { memcpy(&receiverInfo,&ri,
394 {
return receiverInfo.fractionLost; }
398 {
return ( ((uint32)ntohs(receiverInfo.lostLSW)) +
399 (((uint32)receiverInfo.lostMSB) << 16) ); }
403 {
return ntohl(receiverInfo.highestSeqNum); }
413 {
return ntohl(receiverInfo.jitter); }
422 {
return (uint16)((ntohl(receiverInfo.lsr) & 0xFFFF0000) >> 16); }
431 {
return (uint16)(ntohl(receiverInfo.lsr) & 0xFFFF); }
441 {
return ntohl(receiverInfo.dlsr); }
457 { memcpy(&senderInfo,&si,
474 {
return ntohl(senderInfo.NTPMSW); }
482 {
return ntohl(senderInfo.NTPLSW); }
486 {
return ntohl(senderInfo.RTPTimestamp); }
493 {
return ntohl(senderInfo.packetCount); }
497 {
return ntohl(senderInfo.octetCount); }
528 #endif // ndef CCXX_RTP_RTCPPKT_H_
Definition: rtcppkt.h:175
uint8 fractionLost
packet fraction lost.
Definition: rtcppkt.h:110
uint32 ssrc
ssrc identifier of source.
Definition: rtcppkt.h:240
timeval NTP2Timeval(uint32 msw, uint32 lsw)
Convert a NTP timestamp, expressed as two 32-bit long words, into a timeval value.
ReceiverInfo rinfo
info about the source.
Definition: rtcppkt.h:128
Definition: rtcppkt.h:149
uint32 octetCount
cumulative octet counter.
Definition: rtcppkt.h:155
@ SDESItemTypeLOC
Location where the user is.
Definition: rtcppkt.h:71
NACKPacket NACK
Definition: rtcppkt.h:321
@ SDESItemTypeLast
Last defined code.
Definition: rtcppkt.h:76
~RTCPReceiverInfo()
Definition: rtcppkt.h:385
uint8 type
type of RTCP packet.
Definition: rtcppkt.h:263
uint16 getLastSRNTPTimestampFrac() const
Get the fractional part of the NTP timestamp of the last SR RTCP packet received from the source this...
Definition: rtcppkt.h:430
uint16 getLastSRNTPTimestampInt() const
Get the integer part of the NTP timestamp of the last SR RTCP packet received from the source this re...
Definition: rtcppkt.h:421
uint32 jitter
arrival jitter.
Definition: rtcppkt.h:114
Definition: rtcppkt.h:125
SDESChunk SDES
Definition: rtcppkt.h:318
Sender block information of SR RTCP reports.
Definition: rtcppkt.h:453
raw structure of the source and every receiver report in an SR or RR RTCP packet.
Definition: rtcppkt.h:137
uint8 len
item len in octets.
Definition: rtcppkt.h:178
Struct for Full Intra-frame Request (FIR) RTCP packet. Specific for H.261 sessions (see RFC 2032).
Definition: rtcppkt.h:227
Definition: rtcppkt.h:163
uint32 getSSRC() const
Get the SSRC identifier specified in the packet header, in host order.
Definition: rtcppkt.h:306
RTCPSenderInfo(void *si)
Definition: rtcppkt.h:456
uint8 type
item identifier.
Definition: rtcppkt.h:177
@ SDESItemTypeCNAME
Canonical end-point identifier.
Definition: rtcppkt.h:67
@ SDESItemTypeNOTE
Comment usually reporting state.
Definition: rtcppkt.h:73
@ tSDES
Source DEScription.
Definition: rtcppkt.h:287
unsigned char * rtcpRecvBuffer
Definition: rtcppkt.h:355
unsigned char * rtcpSendBuffer
Definition: rtcppkt.h:352
uint32 timevalIntervalTo65536(timeval &t)
Convert a time interval, expressed as a timeval, into a 32-bit time interval expressed in units of 1/...
Base elements for RTP stacks: constants, types and global functions.
unsigned char padding
Padding bit.
Definition: rtcppkt.h:260
uint32 packetCount
cumulative packet counter.
Definition: rtcppkt.h:154
uint32 getPacketCount() const
Get count of sent data packets.
Definition: rtcppkt.h:492
Report block information of SR/RR RTCP reports.
Definition: rtcppkt.h:373
uint32 ssrc
source identifier.
Definition: rtcppkt.h:127
@ tRR
Receiver Report.
Definition: rtcppkt.h:286
uint32 NTPLSW
NTP timestamp lower octets.
Definition: rtcppkt.h:152
RTCPReceiverInfo(void *ri)
Definition: rtcppkt.h:376
uint32 getExtendedSeqNum() const
Definition: rtcppkt.h:402
@ SDESItemTypePHONE
Phone number of the user.
Definition: rtcppkt.h:70
uint32 ssrc
ssrc identifier of source leaving.
Definition: rtcppkt.h:203
Struct for BYE (leaving session) RTCP packets.
Definition: rtcppkt.h:201
@ tAPP
APPlication specific.
Definition: rtcppkt.h:289
RTCPSenderInfo(RTCPCompoundHandler::SenderInfo &si)
Definition: rtcppkt.h:460
uint32 ssrc
SSRC identifer from sender.
Definition: rtcppkt.h:192
low level structs and RTCP packet parsing and building methods.
Definition: rtcppkt.h:89
void setPathMTU(uint16 mtu)
Definition: rtcppkt.h:92
uint32 getOctetCount() const
Definition: rtcppkt.h:496
uint32 getJitter() const
Get the statistical variance of the RTP data packets interarrival time.
Definition: rtcppkt.h:412
uint32 getDelayLastSR() const
Get the delay between the last SR packet received and the transmission of this report.
Definition: rtcppkt.h:440
uint32 getRTPTimestamp() const
Definition: rtcppkt.h:485
Struct for APP (application specific) RTCP packets.
Definition: rtcppkt.h:212
SDESItem item
SDES item from sender.
Definition: rtcppkt.h:193
Definition: rtcppkt.h:108
SenderInfo sinfo
actual sender info.
Definition: rtcppkt.h:166
uint16 length
number of 32-bit words in the packet (minus one).
Definition: rtcppkt.h:264
@ SDESItemTypeEND
END of SDES item list.
Definition: rtcppkt.h:66
uint32 getSSRC() const
Definition: rtcppkt.h:189
uint32 ssrc
ssrc identifier of source.
Definition: rtcppkt.h:214
uint32 getNTPTimestampFrac() const
Get fractional part of the NTP timestamp of this packet.
Definition: rtcppkt.h:481
uint32 getCumulativePacketLost() const
Definition: rtcppkt.h:397
uint16 lostLSW
cumulative lost two LSB.
Definition: rtcppkt.h:112
@ SDESItemTypePRIV
Private extension.
Definition: rtcppkt.h:74
uint32 highestSeqNum
highest sequence number.
Definition: rtcppkt.h:113
uint32 RTPTimestamp
RTP timestamp.
Definition: rtcppkt.h:153
@ SDESItemTypeH323CADDR
H323 callable address.
Definition: rtcppkt.h:75
uint32 dlsr
delay since last sender report.
Definition: rtcppkt.h:116
uint32 lsr
last sender report timestamp.
Definition: rtcppkt.h:115
Definition: rtcppkt.h:250
RecvReport RR
Definition: rtcppkt.h:317
@ SDESItemTypeNAME
Personal NAME of the user.
Definition: rtcppkt.h:68
uint8 getFractionLost() const
Get fraction of lost packets, as a number between 0 and 255.
Definition: rtcppkt.h:393
uint32 ssrc
source identifier.
Definition: rtcppkt.h:165
uint32 ssrc
ssrc identifier of source.
Definition: rtcppkt.h:229
uint32 getLength() const
Get the packet length specified in its header, in octets and in host order.
Definition: rtcppkt.h:299
Struct for Negative ACKnowledgements (NACK) RTCP packet. Specific for H.261 sessions (see RFC 2032).
Definition: rtcppkt.h:238
uint8 length
[optional] length of reason.
Definition: rtcppkt.h:204
APPPacket APP
Definition: rtcppkt.h:320
uint16 fsn
First Sequence Number lost.
Definition: rtcppkt.h:241
uint32 getNTPTimestampInt() const
Get integer part of the NTP timestamp of this packet.
Definition: rtcppkt.h:473
uint8 lostMSB
cumulative lost MSB of 3 octets.
Definition: rtcppkt.h:111
Struct representing general RTCP packet headers as they are sent through the network.
Definition: rtcppkt.h:277
BYEPacket BYE
Definition: rtcppkt.h:319
@ SDESItemTypeTOOL
Application or tool.
Definition: rtcppkt.h:72
unsigned char version
Version, currently 2.
Definition: rtcppkt.h:261
FIRPacket FIR
Definition: rtcppkt.h:322
uint32 ssrc
source identifier.
Definition: rtcppkt.h:139
Definition: rtcppkt.h:187
@ tBYE
End of participation.
Definition: rtcppkt.h:288
@ SDESItemTypeEMAIL
EMAIL address of the user.
Definition: rtcppkt.h:69
uint32 NTPMSW
NTP timestamp higher octets.
Definition: rtcppkt.h:151
uint16 getPathMTU()
Definition: rtcppkt.h:95
SendReport SR
Definition: rtcppkt.h:316
RTCPFixedHeader fh
Fixed RTCP header.
Definition: rtcppkt.h:310
~RTCPSenderInfo()
Definition: rtcppkt.h:465
uint16 blp
Bitmask of following Lost Packets.
Definition: rtcppkt.h:242
RTCPReceiverInfo(RTCPCompoundHandler::ReceiverInfo &si)
Definition: rtcppkt.h:380
SDESItemType
SDES items that may be carried in a Source DEScription RTCP packet.
Definition: rtcppkt.h:64