---
name: "RTCPCompoundHandler"
section: "3"
platform: "linux"
package: "libccrtp-doc"
version: "2.0.9-4.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RTCPCompoundHandler"
---

# RTCPCompoundHandler(3)

low level structs and RTCP packet parsing and building methods.

## NAME

RTCPCompoundHandler - low level structs and RTCP packet parsing and building methods.

## SYNOPSIS

`#include <rtcppkt.h>`

Inherited by **QueueRTCPManager**` [protected]`.

### Classes

struct **APPPacket**\
 Struct for APP (application specific) RTCP packets.  struct **BYEPacket**\
 Struct for BYE (leaving session) RTCP packets.  struct **FIRPacket**\
 Struct for Full Intra-frame Request (FIR) RTCP packet.  struct **NACKPacket**\
 Struct for Negative ACKnowledgements (NACK) RTCP packet.  struct **ReceiverInfo**\
 Struct for the data contained in a receiver info block.  struct **RecvReport**\
 raw structure of the source and every receiver report in an SR or RR RTCP packet.  struct **RRBlock**\
 Struct for a receiver info block in a SR (sender report) or an RR (receiver report) RTCP packet.  struct **RTCPFixedHeader**\
 Fixed RTCP packet header.  struct **RTCPPacket**\
 Struct representing general RTCP packet headers as they are sent through the network.  struct **SDESChunk**\
 Struct for a chunk of items in a SDES RTCP packet.  struct **SDESItem**\
 Struct for an item description of a SDES packet.  struct **SenderInfo**\
 Struct for the sender info block in a SR (sender report) RTCP packet.  struct **SendReport**\
 Struct for SR (sender report) RTCP packets.

### Public Member Functions

void **setPathMTU** (uint16 mtu)\
 uint16 **getPathMTU** ()\

### Protected Types

enum { **defaultPathMTU** = 1500 }\

### Protected Member Functions

**RTCPCompoundHandler** (uint16 mtu=**defaultPathMTU**)\
 **~RTCPCompoundHandler** ()\
 bool **checkCompoundRTCPHeader** (size\_t len)\
 Perform RTCP compound packet header validity check as specified in draft-ietv-avt-rtp-new.

### Protected Attributes

unsigned char \* **rtcpSendBuffer**\
 unsigned char \* **rtcpRecvBuffer**\

### Friends

class **RTCPSenderInfo**\
 class **RTCPReceiverInfo**\

## Detailed Description

low level structs and RTCP packet parsing and building methods.

Intended to be used, through inheritance, in RTCP management classes, such as **QueueRTCPManager**.

**Author**

Federico Montesino Pouzols fedemp@altern.org

## Member Enumeration Documentation

### anonymous enum` [protected]`

**Enumerator**

- *defaultPathMTU*

  ## Constructor & Destructor Documentation

### RTCPCompoundHandler::RTCPCompoundHandler (uint16 mtu = defaultPathMTU)` [protected]`

### RTCPCompoundHandler::~RTCPCompoundHandler ()` [protected]`

## Member Function Documentation

### bool RTCPCompoundHandler::checkCompoundRTCPHeader (size\_t len)` [protected]`

*Perform RTCP compound packet header validity check as specified in draft-ietv-avt-rtp-new. This method follows appendix A.2. Correct version, payload type, padding bit and length of every RTCP packet in the compound are verified.*

**Parameters**

*len length of the RTCP compound packet in the reception buffer*

**Returns**

*whether the header is valid.*

### uint16 RTCPCompoundHandler::getPathMTU ()` [inline]`

### void RTCPCompoundHandler::setPathMTU (uint16 mtu)` [inline]`

## Friends And Related Symbol Documentation

### friend class RTCPReceiverInfo` [friend]`

### friend class RTCPSenderInfo` [friend]`

## Member Data Documentation

### unsigned char\* RTCPCompoundHandler::rtcpRecvBuffer` [protected]`

### unsigned char\* RTCPCompoundHandler::rtcpSendBuffer` [protected]`

## Author

*Generated automatically by Doxygen for ccRTP from the source code.*
