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

# RTPQueueBase(3)

A virtual base class for RTP queue hierarchies.

## NAME

RTPQueueBase - A virtual base class for RTP queue hierarchies.

## SYNOPSIS

`#include <queuebase.h>`

Inherited by **IncomingDataQueueBase**` [virtual]`, and **OutgoingDataQueueBase**` [virtual]`.

### Public Member Functions

bool **setPayloadFormat** (const **PayloadFormat** &pf)\
 Set the payload format in use, for timing and payload type identification purposes.  uint32 **getLocalSSRC** () const\
 uint32 **getCurrentRTPClockRate** () const\
 Get the clock rate in RTP clock units (for instance, 8000 units per second for PCMU, or 90000 units per second for MP2T).  **PayloadType** **getCurrentPayloadType** () const\
 timeval **getInitialTime** () const\

### Protected Member Functions

**RTPQueueBase** (uint32 \*ssrc=NULL)\
 void **setLocalSSRC** (uint32 ssrc)\
 uint32 **getLocalSSRCNetwork** () const\
 virtual **~RTPQueueBase** ()\
 virtual size\_t **dispatchBYE** (const std::string &)\
 A plugin point for posting of BYE messages.  virtual void **renewLocalSSRC** ()\

## Detailed Description

A virtual base class for RTP queue hierarchies.

**Author**

Federico Montesino Pouzols fedemp@altern.org

## Constructor & Destructor Documentation

### RTPQueueBase::RTPQueueBase (uint32 \* ssrc = `NULL`)` [protected]`

**Parameters**

*ssrc* If not null, the local SSRC identifier for this session.

### virtual RTPQueueBase::~RTPQueueBase ()` [inline]`, ` [protected]`, ` [virtual]`

## Member Function Documentation

### virtual size\_t RTPQueueBase::dispatchBYE (const std::string &)` [inline]`, ` [protected]`, ` [virtual]`

A plugin point for posting of BYE messages.

**Parameters**

*-* reason to leave the RTP session.

**Returns**

number of octets sent.

Reimplemented in **QueueRTCPManager**, **TRTPSessionBase\< RTPDataChannel, RTCPChannel, ServiceQueue \>**, **TRTPSessionBase\< DualRTPUDPIPv4Channel, DualRTPUDPIPv4Channel, AVPQueue \>**, and **SingleThreadRTPSession\< RTPDataChannel, RTCPChannel, ServiceQueue \>**.

### PayloadType RTPQueueBase::getCurrentPayloadType () const` [inline]`

### uint32 RTPQueueBase::getCurrentRTPClockRate () const` [inline]`

Get the clock rate in RTP clock units (for instance, 8000 units per second for PCMU, or 90000 units per second for MP2T). This value depends on what payload format has been selected using **setPayloadFormat()**.

**Returns**

clock rate in RTP clock units.

**Examples** **ccrtptest.cpp**, **rtphello.cpp**, and **rtpsend.cpp**.

### timeval RTPQueueBase::getInitialTime () const` [inline]`

### uint32 RTPQueueBase::getLocalSSRC () const` [inline]`

**Examples** **rtphello.cpp**, **rtplisten.cpp**, and **rtpsend.cpp**.

### uint32 RTPQueueBase::getLocalSSRCNetwork () const` [inline]`, ` [protected]`

### virtual void RTPQueueBase::renewLocalSSRC ()` [inline]`, ` [protected]`, ` [virtual]`

Reimplemented in **RTPDataQueue**, and **IncomingDataQueue**.

### void RTPQueueBase::setLocalSSRC (uint32 ssrc)` [inline]`, ` [protected]`

### bool RTPQueueBase::setPayloadFormat (const PayloadFormat & pf)` [inline]`

Set the payload format in use, for timing and payload type identification purposes.

**Parameters**

*pf* payload format to use from now on.

**Returns**

whether the payload format has been successfully set.

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

## Author

Generated automatically by Doxygen for ccRTP from the source code.
