OPAL
Version 3.18.8
|
#include <rtp.h>
Inherits PBYTEArray.
Data Structures | |
struct | ApplDefinedInfo |
struct | DelayLastReceiverReport |
struct | ExtendedReport |
struct | FbFIR |
struct | FbHeader |
struct | FbNACK |
struct | FbREMB |
struct | FbTMMB |
struct | FbTSTO |
struct | FbTWCC |
struct | LostPacketMask |
struct | ReceiverReferenceTimeReport |
struct | ReceiverReport |
struct | SenderReport |
struct | SourceDescription |
Public Types | |
enum | PayloadTypes { e_FirstValidPayloadType = 192, 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_LastValidPayloadType = 223 } |
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, e_TWCC = 15 } |
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) | |
RTP_ControlFrame (const BYTE *data, PINDEX size, bool dynamic=true) | |
bool | IsValid () const |
unsigned | GetVersion () const |
unsigned | GetCount () const |
void | SetCount (unsigned count) |
RTP_SyncSourceId | GetSenderSyncSource () const |
PayloadTypes | GetPayloadType () const |
void | SetPayloadType (PayloadTypes pt) |
PINDEX | GetPayloadSize () const |
bool | SetPayloadSize (PINDEX sz) |
BYTE * | GetPayloadPtr () const |
bool | ReadNextPacket () |
bool | StartNewPacket (PayloadTypes pt) |
void | EndPacket () |
PINDEX | GetPacketSize () const |
bool | SetPacketSize (PINDEX size) |
bool | ParseGoodbye (RTP_SyncSourceId &ssrc, RTP_SyncSourceArray &csrc, PString &msg) |
bool | ParseReceiverReport (RTP_SyncSourceId &ssrc, const ReceiverReport *&rr, unsigned &count) |
ReceiverReport * | AddReceiverReport (RTP_SyncSourceId ssrc, unsigned receivers) |
bool | ParseSenderReport (RTP_SenderReport &txReport, const ReceiverReport *&rr, unsigned &count) |
ReceiverReport * | AddSenderReport (RTP_SyncSourceId ssrc, const PTime &ntp, RTP_Timestamp ts, unsigned packets, uint64_t octets, unsigned receivers) |
void | AddReceiverReferenceTimeReport (RTP_SyncSourceId ssrc, const PTime &ntp) |
DelayLastReceiverReport::Receiver * | AddDelayLastReceiverReport (RTP_SyncSourceId ssrc, unsigned receivers) |
void | StartSourceDescription (RTP_SyncSourceId src) |
void | AddSourceDescriptionItem (unsigned type, const PString &data) |
bool | ParseSourceDescriptions (RTP_SourceDescriptionArray &descriptions) |
void | AddSourceDescription (RTP_SyncSourceId ssrc, const PString &cname, const PString &toolName, bool endPacket=true) |
void | AddIFR (RTP_SyncSourceId syncSourceIn) |
unsigned | GetFbType () const |
FbHeader * | AddFeedback (PayloadTypes pt, unsigned type, PINDEX fciSize) |
template<typename FB > | |
void | AddFeedback (PayloadTypes pt, unsigned type, FB *&data) |
void | AddNACK (RTP_SyncSourceId syncSourceOut, RTP_SyncSourceId syncSourceIn, const LostPacketMask &lostPackets) |
bool | ParseNACK (RTP_SyncSourceId &senderSSRC, RTP_SyncSourceId &targetSSRC, LostPacketMask &lostPackets) |
void | AddTMMB (RTP_SyncSourceId syncSourceOut, RTP_SyncSourceId syncSourceIn, unsigned maxBitRate, unsigned overhead, bool notify) |
bool | ParseTMMB (RTP_SyncSourceId &senderSSRC, RTP_SyncSourceId &targetSSRC, unsigned &maxBitRate, unsigned &overhead) |
void | AddTWCC (RTP_SyncSourceId syncSourceOut, const RTP_TransportWideCongestionControl &info) |
bool | ParseTWCC (RTP_SyncSourceId &senderSSRC, RTP_TransportWideCongestionControl &info) |
void | AddPLI (RTP_SyncSourceId syncSourceOut, RTP_SyncSourceId syncSourceIn) |
bool | ParsePLI (RTP_SyncSourceId &senderSSRC, RTP_SyncSourceId &targetSSRC) |
void | AddFIR (RTP_SyncSourceId syncSourceOut, RTP_SyncSourceId syncSourceIn, unsigned sequenceNumber) |
bool | ParseFIR (RTP_SyncSourceId &senderSSRC, RTP_SyncSourceId &targetSSRC, unsigned &sequenceNumber) |
void | AddTSTO (RTP_SyncSourceId syncSourceOut, RTP_SyncSourceId syncSourceIn, unsigned tradeOff, unsigned sequenceNumber) |
bool | ParseTSTO (RTP_SyncSourceId &senderSSRC, RTP_SyncSourceId &targetSSRC, unsigned &tradeOff, unsigned &sequenceNumber) |
void | AddREMB (RTP_SyncSourceId syncSourceOut, RTP_SyncSourceId syncSourceIn, unsigned maxBitRate) |
bool | ParseREMB (RTP_SyncSourceId &senderSSRC, RTP_SyncSourceArray &targetSSRCs, unsigned &maxBitRate) |
void | AddApplDefined (const ApplDefinedInfo &info) |
bool | ParseApplDefined (ApplDefinedInfo &info) |
Static Public Member Functions | |
static void | AddDelayLastReceiverReport (DelayLastReceiverReport::Receiver &dlrr, RTP_SyncSourceId ssrc, const PTime &ntp, const PTimeInterval &delay) |
Protected Attributes | |
PINDEX | m_packetSize |
PINDEX | m_compoundOffset |
PINDEX | m_payloadSize |
An RTP control frame encapsulation.
RTP_ControlFrame::RTP_ControlFrame | ( | PINDEX | compoundSize = 2048 | ) |
RTP_ControlFrame::RTP_ControlFrame | ( | const BYTE * | data, |
PINDEX | size, | ||
bool | dynamic = true |
||
) |
void RTP_ControlFrame::AddApplDefined | ( | const ApplDefinedInfo & | info | ) |
DelayLastReceiverReport::Receiver* RTP_ControlFrame::AddDelayLastReceiverReport | ( | RTP_SyncSourceId | ssrc, |
unsigned | receivers | ||
) |
|
static |
FbHeader* RTP_ControlFrame::AddFeedback | ( | PayloadTypes | pt, |
unsigned | type, | ||
PINDEX | fciSize | ||
) |
|
inline |
References AddFeedback().
Referenced by AddFeedback().
void RTP_ControlFrame::AddFIR | ( | RTP_SyncSourceId | syncSourceOut, |
RTP_SyncSourceId | syncSourceIn, | ||
unsigned | sequenceNumber | ||
) |
void RTP_ControlFrame::AddIFR | ( | RTP_SyncSourceId | syncSourceIn | ) |
void RTP_ControlFrame::AddNACK | ( | RTP_SyncSourceId | syncSourceOut, |
RTP_SyncSourceId | syncSourceIn, | ||
const LostPacketMask & | lostPackets | ||
) |
void RTP_ControlFrame::AddPLI | ( | RTP_SyncSourceId | syncSourceOut, |
RTP_SyncSourceId | syncSourceIn | ||
) |
void RTP_ControlFrame::AddReceiverReferenceTimeReport | ( | RTP_SyncSourceId | ssrc, |
const PTime & | ntp | ||
) |
ReceiverReport* RTP_ControlFrame::AddReceiverReport | ( | RTP_SyncSourceId | ssrc, |
unsigned | receivers | ||
) |
void RTP_ControlFrame::AddREMB | ( | RTP_SyncSourceId | syncSourceOut, |
RTP_SyncSourceId | syncSourceIn, | ||
unsigned | maxBitRate | ||
) |
ReceiverReport* RTP_ControlFrame::AddSenderReport | ( | RTP_SyncSourceId | ssrc, |
const PTime & | ntp, | ||
RTP_Timestamp | ts, | ||
unsigned | packets, | ||
uint64_t | octets, | ||
unsigned | receivers | ||
) |
void RTP_ControlFrame::AddSourceDescription | ( | RTP_SyncSourceId | ssrc, |
const PString & | cname, | ||
const PString & | toolName, | ||
bool | endPacket = true |
||
) |
void RTP_ControlFrame::AddSourceDescriptionItem | ( | unsigned | type, |
const PString & | data | ||
) |
type | Description type |
data | Data for description |
void RTP_ControlFrame::AddTMMB | ( | RTP_SyncSourceId | syncSourceOut, |
RTP_SyncSourceId | syncSourceIn, | ||
unsigned | maxBitRate, | ||
unsigned | overhead, | ||
bool | notify | ||
) |
void RTP_ControlFrame::AddTSTO | ( | RTP_SyncSourceId | syncSourceOut, |
RTP_SyncSourceId | syncSourceIn, | ||
unsigned | tradeOff, | ||
unsigned | sequenceNumber | ||
) |
void RTP_ControlFrame::AddTWCC | ( | RTP_SyncSourceId | syncSourceOut, |
const RTP_TransportWideCongestionControl & | info | ||
) |
void RTP_ControlFrame::EndPacket | ( | ) |
|
inline |
References m_compoundOffset.
|
inline |
References m_compoundOffset.
|
inline |
References m_packetSize.
BYTE* RTP_ControlFrame::GetPayloadPtr | ( | ) | const |
|
inline |
References m_compoundOffset.
|
inline |
References m_compoundOffset.
|
inline |
|
inline |
References m_compoundOffset.
bool RTP_ControlFrame::IsValid | ( | ) | const |
bool RTP_ControlFrame::ParseApplDefined | ( | ApplDefinedInfo & | info | ) |
bool RTP_ControlFrame::ParseFIR | ( | RTP_SyncSourceId & | senderSSRC, |
RTP_SyncSourceId & | targetSSRC, | ||
unsigned & | sequenceNumber | ||
) |
bool RTP_ControlFrame::ParseGoodbye | ( | RTP_SyncSourceId & | ssrc, |
RTP_SyncSourceArray & | csrc, | ||
PString & | msg | ||
) |
bool RTP_ControlFrame::ParseNACK | ( | RTP_SyncSourceId & | senderSSRC, |
RTP_SyncSourceId & | targetSSRC, | ||
LostPacketMask & | lostPackets | ||
) |
bool RTP_ControlFrame::ParsePLI | ( | RTP_SyncSourceId & | senderSSRC, |
RTP_SyncSourceId & | targetSSRC | ||
) |
bool RTP_ControlFrame::ParseReceiverReport | ( | RTP_SyncSourceId & | ssrc, |
const ReceiverReport *& | rr, | ||
unsigned & | count | ||
) |
bool RTP_ControlFrame::ParseREMB | ( | RTP_SyncSourceId & | senderSSRC, |
RTP_SyncSourceArray & | targetSSRCs, | ||
unsigned & | maxBitRate | ||
) |
bool RTP_ControlFrame::ParseSenderReport | ( | RTP_SenderReport & | txReport, |
const ReceiverReport *& | rr, | ||
unsigned & | count | ||
) |
bool RTP_ControlFrame::ParseSourceDescriptions | ( | RTP_SourceDescriptionArray & | descriptions | ) |
bool RTP_ControlFrame::ParseTMMB | ( | RTP_SyncSourceId & | senderSSRC, |
RTP_SyncSourceId & | targetSSRC, | ||
unsigned & | maxBitRate, | ||
unsigned & | overhead | ||
) |
bool RTP_ControlFrame::ParseTSTO | ( | RTP_SyncSourceId & | senderSSRC, |
RTP_SyncSourceId & | targetSSRC, | ||
unsigned & | tradeOff, | ||
unsigned & | sequenceNumber | ||
) |
bool RTP_ControlFrame::ParseTWCC | ( | RTP_SyncSourceId & | senderSSRC, |
RTP_TransportWideCongestionControl & | info | ||
) |
bool RTP_ControlFrame::ReadNextPacket | ( | ) |
void RTP_ControlFrame::SetCount | ( | unsigned | count | ) |
bool RTP_ControlFrame::SetPacketSize | ( | PINDEX | size | ) |
bool RTP_ControlFrame::SetPayloadSize | ( | PINDEX | sz | ) |
void RTP_ControlFrame::SetPayloadType | ( | PayloadTypes | pt | ) |
bool RTP_ControlFrame::StartNewPacket | ( | PayloadTypes | pt | ) |
void RTP_ControlFrame::StartSourceDescription | ( | RTP_SyncSourceId | src | ) |
src | SSRC/CSRC identifier |
|
protected |
Referenced by GetCount(), GetFbType(), GetPayloadSize(), GetPayloadType(), and GetVersion().
|
protected |
Referenced by GetPacketSize().
|
protected |