RTP packets being sent.
More...
#include <rtppkt.h>
List of all members.
Public Member Functions |
| OutgoingRTPPkt (const uint32 *const csrcs, uint16 numcsrc, const unsigned char *const hdrext, uint32 hdrextlen, const unsigned char *const data, size_t datalen, uint8 paddinglen=0, CryptoContext *pcc=NULL) |
| Construct a new packet to be sent, containing several contributing source identifiers, header extensions and payload.
|
| OutgoingRTPPkt (const uint32 *const csrcs, uint16 numcsrc, const unsigned char *const data, size_t datalen, uint8 paddinglen=0, CryptoContext *pcc=NULL) |
| Construct a new packet to be sent, containing several contributing source identifiers and payload.
|
| OutgoingRTPPkt (const unsigned char *const data, size_t datalen, uint8 paddinglen=0, CryptoContext *pcc=NULL) |
| Construct a new packet (fast variant, with no contributing sources and no header extension) to be sent.
|
| ~OutgoingRTPPkt () |
void | setPayloadType (PayloadType pt) |
void | setSeqNum (uint16 seq) |
| Sets the sequence number in the header.
|
void | setTimestamp (uint32 pts) |
void | setSSRC (uint32 ssrc) const |
| Set synchronization source numeric identifier.
|
void | setSSRCNetwork (uint32 ssrc) const |
| Set synchronization source numeric identifier.
|
void | setMarker (bool mark) |
| Specify the value of the marker bit.
|
void | protect (uint32 ssrc, CryptoContext *pcc) |
| Called packet is setup.
|
bool | operator== (const OutgoingRTPPkt &p) const |
| Outgoing packets are equal if their sequence numbers match.
|
bool | operator!= (const OutgoingRTPPkt &p) const |
| Outgoing packets are not equal if their sequence numbers differ.
|
Detailed Description
RTP packets being sent.
This class is intented to construct packet objects just before they are inserted into the sending queue, so that they are processed in a understandable and format independent manner inside the stack.
- Author:
- Federico Montesino Pouzols <fedemp@altern.org>
Constructor & Destructor Documentation
OutgoingRTPPkt::OutgoingRTPPkt |
( |
const uint32 *const |
csrcs, |
|
|
uint16 |
numcsrc, |
|
|
const unsigned char *const |
hdrext, |
|
|
uint32 |
hdrextlen, |
|
|
const unsigned char *const |
data, |
|
|
size_t |
datalen, |
|
|
uint8 |
paddinglen = 0 , |
|
|
CryptoContext * |
pcc = NULL | |
|
) |
| | |
Construct a new packet to be sent, containing several contributing source identifiers, header extensions and payload.
A new copy in memory (holding all this components along with the fixed header) is created. If the pointer to the SRTP CryptoContext is not NULL and holds a CryptoContext for the SSRC take the SSRC data into account when computing the required memory buffer.
- Parameters:
-
| csrcs | array of countributing source 32-bit identifiers, in host order. |
| numcsrc | number of CSRC identifiers in the array. |
| hdrext | whole header extension. |
| hdrextlen | size of whole header extension, in octets. |
| data | payload. |
| datalen | payload length, in octets. |
| paddinglen | pad packet to a multiple of paddinglen. |
| pcc | Pointer to the SRTP CryptoContext, defaults to NULL if not specified. |
- Note:
- For efficiency purposes, since this constructor is valid for all packets but is too complex for the common case, two simpler others are provided.
OutgoingRTPPkt::OutgoingRTPPkt |
( |
const uint32 *const |
csrcs, |
|
|
uint16 |
numcsrc, |
|
|
const unsigned char *const |
data, |
|
|
size_t |
datalen, |
|
|
uint8 |
paddinglen = 0 , |
|
|
CryptoContext * |
pcc = NULL | |
|
) |
| | |
Construct a new packet to be sent, containing several contributing source identifiers and payload.
A new copy in memory (holding all this components along with the fixed header) is created. If the pointer to the SRTP CryptoContext is not NULL and holds a CryptoContext for the SSRC take the SSRC data into account when computing the required memory buffer.
- Parameters:
-
| csrcs | array of countributing source 32-bit identifiers, in host order. |
| numcsrc | number of CSRC identifiers in the array. |
| data | payload. |
| datalen | payload length, in octets. |
| paddinglen | pad packet to a multiple of paddinglen. |
| pcc | Pointer to the SRTP CryptoContext, defaults to NULL if not specified. |
OutgoingRTPPkt::OutgoingRTPPkt |
( |
const unsigned char *const |
data, |
|
|
size_t |
datalen, |
|
|
uint8 |
paddinglen = 0 , |
|
|
CryptoContext * |
pcc = NULL | |
|
) |
| | |
Construct a new packet (fast variant, with no contributing sources and no header extension) to be sent.
A new copy in memory (holding the whole packet) is created. If the pointer to the SRTP CryptoContext is not NULL and holds a CryptoContext for the SSRC take the SSRC data into account when computing the required memory buffer.
- Parameters:
-
| data | payload. |
| datalen | payload length, in octets. |
| paddinglen | pad packet to a multiple of paddinglen. |
| pcc | Pointer to the SRTP CryptoContext, defaults to NULL if not specified. |
OutgoingRTPPkt::~OutgoingRTPPkt |
( |
|
) |
[inline] |
Member Function Documentation
bool OutgoingRTPPkt::operator!= |
( |
const OutgoingRTPPkt & |
p |
) |
const [inline] |
Outgoing packets are not equal if their sequence numbers differ.
bool OutgoingRTPPkt::operator== |
( |
const OutgoingRTPPkt & |
p |
) |
const [inline] |
Outgoing packets are equal if their sequence numbers match.
void OutgoingRTPPkt::protect |
( |
uint32 |
ssrc, |
|
|
CryptoContext * |
pcc | |
|
) |
| | |
Called packet is setup.
This private method computes the SRTP data and stores it in the packet. Then encrypt the payload data (ex padding).
void OutgoingRTPPkt::setMarker |
( |
bool |
mark |
) |
[inline] |
Specify the value of the marker bit.
By default, the marker bit of outgoing packets is false/0. This method allows to explicity specify and change that value.
- Parameters:
-
| mark | value for the market bit. |
void OutgoingRTPPkt::setPayloadType |
( |
PayloadType |
pt |
) |
[inline] |
void OutgoingRTPPkt::setSeqNum |
( |
uint16 |
seq |
) |
[inline] |
Sets the sequence number in the header.
- Parameters:
-
| seq | Packet sequence number, in host order. |
void OutgoingRTPPkt::setSSRC |
( |
uint32 |
ssrc |
) |
const [inline] |
Set synchronization source numeric identifier.
- Parameters:
-
| ssrc | 32-bit Synchronization SouRCe numeric identifier, in host order. |
void OutgoingRTPPkt::setSSRCNetwork |
( |
uint32 |
ssrc |
) |
const [inline] |
Set synchronization source numeric identifier.
Special version to save endianness conversion.
- Parameters:
-
| ssrc | 32-bit Synchronization SouRCe numeric identifier, in network order. |
void OutgoingRTPPkt::setTimestamp |
( |
uint32 |
pts |
) |
[inline] |
- Parameters:
-
| pts | Packet timestamp, in host order. |
The documentation for this class was generated from the following file: