# RTP_ControlFrame Class Reference

`#include <rtp.h>`

## Public Types

| e_IntraFrameRequest = 192
| e_SenderReport = 200
| e_ReceiverReport = 201
| e_SourceDescription = 202
| e_Goodbye = 203
| e_ApplDefined = 204
| e_TransportLayerFeedBack = 205
| e_PayloadSpecificFeedBack = 206
| e_ExtendedReport = 207
| e_END
| e_CNAME
| e_NAME
| e_EMAIL
| e_PHONE
| e_LOC
| e_TOOL
| e_NOTE
| e_PRIV
| NumDescriptionTypes
| e_TransportNACK = 1
| e_TMMBR = 3
| e_TMMBN
| e_PictureLossIndication = 1
| e_SliceLostIndication
| e_ReferencePictureSelectionIndication
| e_FullIntraRequest
| e_TemporalSpatialTradeOffRequest
| e_TemporalSpatialTradeOffNotification
| e_VideoBackChannelMessage
| e_ApplicationLayerFbMessage = 15
enum | PayloadTypes { e_IntraFrameRequest = 192, e_SenderReport = 200, e_ReceiverReport = 201, e_SourceDescription = 202, e_Goodbye = 203, e_ApplDefined = 204, e_TransportLayerFeedBack = 205, e_PayloadSpecificFeedBack = 206, e_ExtendedReport = 207 }
enum | DescriptionTypes { e_END, e_CNAME, e_NAME, e_EMAIL, e_PHONE, e_LOC, e_TOOL, e_NOTE, e_PRIV, NumDescriptionTypes }
enum | TransportLayerFbTypes { e_TransportNACK = 1, e_TMMBR = 3, e_TMMBN }
enum | PayloadSpecificFbTypes { e_PictureLossIndication = 1, e_SliceLostIndication, e_ReferencePictureSelectionIndication, e_FullIntraRequest, e_TemporalSpatialTradeOffRequest, e_TemporalSpatialTradeOffNotification, e_VideoBackChannelMessage, e_ApplicationLayerFbMessage = 15 }

## Public Member Functions

| RTP_ControlFrame (PINDEX compoundSize=2048)
unsigned | GetVersion () const
unsigned | GetCount () const
void | SetCount (unsigned count)
unsigned | GetPayloadType () const
void | SetPayloadType (unsigned t)
PINDEX | GetPayloadSize () const
void | SetPayloadSize (PINDEX sz)
BYTE * | GetPayloadPtr () const
bool | ReadNextPacket ()
bool | StartNewPacket ()
void | EndPacket ()
PINDEX | GetCompoundSize () const
void | Reset (PINDEX size)
void | StartSourceDescription (DWORD src)
void | AddSourceDescriptionItem (unsigned type, const PString &data)
unsigned | GetFbType () const
void | SetFbType (unsigned type, PINDEX fciSize)

## Protected Attributes

PINDEX | compoundOffset
PINDEX | payloadSize

## Data Structures

struct | ExtendedReport
struct | FbFCI
struct | FbFIR
struct | FbTMMB
struct | FbTSTO
struct | ReceiverReport
struct | SenderReport
struct | SourceDescription

## Detailed Description

An RTP control frame encapsulation.

## Member Enumeration Documentation

enum RTP_ControlFrame::DescriptionTypes

Enumerator:

  e_END |
  e_CNAME |
  e_NAME |
  e_EMAIL |
  e_PHONE |
  e_LOC |
  e_TOOL |
  e_NOTE |
  e_PRIV |
  NumDescriptionTypes |

enum RTP_ControlFrame::PayloadSpecificFbTypes

Enumerator:

  e_PictureLossIndication |
  e_SliceLostIndication |
  e_ReferencePictureSelectionIndication |
  e_FullIntraRequest |
  e_TemporalSpatialTradeOffRequest |
  e_TemporalSpatialTradeOffNotification |
  e_VideoBackChannelMessage |
  e_ApplicationLayerFbMessage |

enum RTP_ControlFrame::PayloadTypes

Enumerator:

  e_IntraFrameRequest |
  e_SenderReport |
  e_ReceiverReport |
  e_SourceDescription |
  e_Goodbye |
  e_ApplDefined |
  e_TransportLayerFeedBack |
  e_PayloadSpecificFeedBack |
  e_ExtendedReport |

enum RTP_ControlFrame::TransportLayerFbTypes

Enumerator:

  e_TransportNACK |
  e_TMMBR |
  e_TMMBN |

## Constructor & Destructor Documentation

RTP_ControlFrame::RTP_ControlFrame | ( | PINDEX | compoundSize = `2048` | ) |

## Member Function Documentation

void RTP_ControlFrame::AddSourceDescriptionItem | ( | unsigned | type,
|  | const PString & | data |
| ) |  |  |

Parameters:

  type | Description type
  data | Data for description

void RTP_ControlFrame::EndPacket | ( |  | ) |

PINDEX RTP_ControlFrame::GetCompoundSize | ( |  | ) | const

unsigned RTP_ControlFrame::GetCount | ( |  | ) | const`[inline]`

unsigned RTP_ControlFrame::GetFbType | ( |  | ) | const`[inline]`

BYTE* RTP_ControlFrame::GetPayloadPtr | ( |  | ) | const

PINDEX RTP_ControlFrame::GetPayloadSize | ( |  | ) | const`[inline]`

unsigned RTP_ControlFrame::GetPayloadType | ( |  | ) | const`[inline]`

unsigned RTP_ControlFrame::GetVersion | ( |  | ) | const`[inline]`

bool RTP_ControlFrame::ReadNextPacket | ( |  | ) |

void RTP_ControlFrame::Reset | ( | PINDEX | size | ) |

void RTP_ControlFrame::SetCount | ( | unsigned | count | ) |

void RTP_ControlFrame::SetFbType | ( | unsigned | type,
|  | PINDEX | fciSize |
| ) |  |  |

void RTP_ControlFrame::SetPayloadSize | ( | PINDEX | sz | ) |

void RTP_ControlFrame::SetPayloadType | ( | unsigned | t | ) |

bool RTP_ControlFrame::StartNewPacket | ( |  | ) |

void RTP_ControlFrame::StartSourceDescription | ( | DWORD | src | ) |

Parameters:

  src | SSRC/CSRC identifier

## Field Documentation

PINDEX RTP_ControlFrame::compoundOffset `[protected]`

PINDEX RTP_ControlFrame::payloadSize `[protected]`

The documentation for this class was generated from the following file:

- rtp.h