Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Examples

OutgoingRTPPkt Class Reference
[RTP data packets manipulation.RTP data packets manipulation.]

RTP packets being sent. More...

#include <rtppkt.h>

Inheritance diagram for OutgoingRTPPkt:

RTPPacket 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)
 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)
 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)
 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)
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.
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
 

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.

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.
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
 

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.

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.

OutgoingRTPPkt::OutgoingRTPPkt const unsigned char *const   data,
size_t  datalen,
uint8  paddinglen
 

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.

Parameters:
data payload.
datalen payload length, in octets.
paddinglen pad packet to a multiple of paddinglen.

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::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]
 

Parameters:
pt Packet payload type.

void OutgoingRTPPkt::setSeqNum uint16  seq  )  [inline]
 

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:
Generated on Tue Jun 7 17:21:56 2005 for ccRTP by  doxygen 1.4.2