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

# AppDataUnit(3)

Interface (envelope) to data received over RTP packets.

## NAME

AppDataUnit - Interface (envelope) to data received over RTP packets.

## SYNOPSIS

`#include <queuebase.h>`

### Public Member Functions

**AppDataUnit** (const **IncomingRTPPkt** &packet, const **SyncSource** &src)\
 **~AppDataUnit** ()\
 **AppDataUnit** (const **AppDataUnit** &src)\
 **AppDataUnit** & **operator=** (const **AppDataUnit** &source)\
 Assignment operator.  **PayloadType** **getType** () const\
 const uint8 \*const **getData** () const\
 Get data as it is received in RTP packets (i.e.  size\_t **getSize** () const\
 const **SyncSource** & **getSource** () const\
 bool **isMarked** () const\
 Is this data unit marked?.  uint16 **getSeqNum** () const\
 Get data unit sequence number.  uint8 **getContributorsCount** () const\
 Get the number of contributing sources in the CSRC list.  const uint32 \* **getContributorsID** () const\
 Get the array of 32-bit CSRC identifiers.

## Detailed Description

Interface (envelope) to data received over RTP packets.

A class of objects representing data transmitted over RTP packets. Tipically, this object will apply to received data. Data blocks received via RTP connections as well as its related objects (source, etc), are accessed through the methods of this class.

**Author**

Federico Montesino Pouzols fedemp@altern.org

**Examples** **audiorx.cpp**, **ccrtptest.cpp**, **rtpduphello.cpp**, **rtphello.cpp**, and **rtplisten.cpp**.

## Constructor & Destructor Documentation

### AppDataUnit::AppDataUnit (const IncomingRTPPkt & packet, const SyncSource & src)

### AppDataUnit::~AppDataUnit ()` [inline]`

### AppDataUnit::AppDataUnit (const AppDataUnit & src)

**Parameters**

*src* the **AppDataUnit** object being copied

## Member Function Documentation

### uint8 AppDataUnit::getContributorsCount () const` [inline]`

Get the number of contributing sources in the CSRC list.

### const uint32 \* AppDataUnit::getContributorsID () const` [inline]`

Get the array of 32-bit CSRC identifiers.

**Returns**

NULL if (**getContributorsCount()** == 0)

### const uint8 \*const AppDataUnit::getData () const` [inline]`

Get data as it is received in RTP packets (i.e. for multi-octet encodings, octets are in network order.

**Returns**

Raw pointer to data block.

**Examples** **audiorx.cpp**, **rtpduphello.cpp**, and **rtphello.cpp**.

### uint16 AppDataUnit::getSeqNum () const` [inline]`

Get data unit sequence number.

### size\_t AppDataUnit::getSize () const` [inline]`

**Returns**

length of data in octets

**Examples** **audiorx.cpp**, and **rtplisten.cpp**.

### const SyncSource & AppDataUnit::getSource () const` [inline]`

**Returns**

Source that sent this data

**Examples** **rtplisten.cpp**.

### PayloadType AppDataUnit::getType () const` [inline]`

**Returns**

type of this data

**Examples** **rtplisten.cpp**.

### bool AppDataUnit::isMarked () const` [inline]`

Is this data unit marked?.

**Returns**

true if marked.

### AppDataUnit & AppDataUnit::operator= (const AppDataUnit & source)

Assignment operator.

**Parameters**

*source* the **AppDataUnit** object being assigned

**Returns**

the result of the assignment

## Author

Generated automatically by Doxygen for ccRTP from the source code.
