TAO_AV  2.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
RTCP_SDES_Packet Class Reference

The Source Description packet is sent by all members of a session. At a minimum, the canonical name (or CNAME) is sent with each RTCP packet. Other items such as name, email, or location are included less frequently. More...

#include <RTCP_Packet.h>

Inheritance diagram for RTCP_SDES_Packet:
Inheritance graph
Collaboration diagram for RTCP_SDES_Packet:
Collaboration graph

Public Member Functions

 RTCP_SDES_Packet (char *buffer, int *len)
 Constructor for incoming SDES packets. More...
 
 RTCP_SDES_Packet (void)
 Constructor for outgoing SDES packets. More...
 
virtual ~RTCP_SDES_Packet (void)
 Destructor. More...
 
void add_item (ACE_UINT32 ssrc, unsigned char type, unsigned char length, const char *data)
 
void add_priv_item (ACE_UINT32 ssrc, unsigned char nameLength, const char *name, unsigned char dataLength, const char *data)
 
unsigned int packet_size (void)
 Returns the size of the packet in bytes. More...
 
void dump (void)
 Prints the contents of the packet. More...
 
ACE_UINT32 ssrc (void)
 
- Public Member Functions inherited from RTCP_Packet
 RTCP_Packet (void)
 Constructor for outgoing RTCP packets. More...
 
 RTCP_Packet (char *buffer)
 Constructor for incoming RTCP packets. More...
 
virtual ~RTCP_Packet ()
 Destructor. More...
 
void get_packet_data (char **buffer, ACE_UINT16 &length)
 Returns a pointer to a local buffer containing the packet. More...
 
int is_valid (char is_first)
 

Private Member Functions

void build_packet (void)
 Used to create the byte representation of the RTCP packet. More...
 
void add_chunk (ACE_UINT32 ssrc)
 Add a chunk to the packet. More...
 

Private Attributes

unsigned long num_chunks_
 
sdesChunk_tchunk_
 A linked list of chunks for this packet (only 1 for non-mixers). More...
 

Additional Inherited Members

- Protected Attributes inherited from RTCP_Packet
RTCP_Common_Header chd_
 Header data common to all RTCP packets. More...
 
char * packet_data_
 Buffer to hold byte representation of the RTCP packet. More...
 

Detailed Description

The Source Description packet is sent by all members of a session. At a minimum, the canonical name (or CNAME) is sent with each RTCP packet. Other items such as name, email, or location are included less frequently.

Constructor & Destructor Documentation

RTCP_SDES_Packet::RTCP_SDES_Packet ( char *  buffer,
int *  len 
)

Constructor for incoming SDES packets.

RTCP_SDES_Packet::RTCP_SDES_Packet ( void  )

Constructor for outgoing SDES packets.

RTCP_SDES_Packet::~RTCP_SDES_Packet ( void  )
virtual

Destructor.

Member Function Documentation

void RTCP_SDES_Packet::add_chunk ( ACE_UINT32  ssrc)
private

Add a chunk to the packet.

void RTCP_SDES_Packet::add_item ( ACE_UINT32  ssrc,
unsigned char  type,
unsigned char  length,
const char *  data 
)

This will add a standard item of type and length for the ssrc specified. When the first item for a ssrc is added, a chunk is created. Subsequent items for that ssrc are added to the same chunk. New chunks are created for each unique ssrc.

void RTCP_SDES_Packet::add_priv_item ( ACE_UINT32  ssrc,
unsigned char  nameLength,
const char *  name,
unsigned char  dataLength,
const char *  data 
)

This will add a private item using the name and data for the ssrc specified. When the first item for a ssrc is added, a chunk is created. Subsequent items for that ssrc are added to the same chunk. New chunks are created for each unique ssrc.

void RTCP_SDES_Packet::build_packet ( void  )
privatevirtual

Used to create the byte representation of the RTCP packet.

Implements RTCP_Packet.

void RTCP_SDES_Packet::dump ( void  )

Prints the contents of the packet.

unsigned int RTCP_SDES_Packet::packet_size ( void  )
virtual

Returns the size of the packet in bytes.

Implements RTCP_Packet.

ACE_UINT32 RTCP_SDES_Packet::ssrc ( void  )
inline

This returns the synchronization source id for this packet. This assumes that this source is only receiving messages from end systems (i.e. only one source id per SDES)

Member Data Documentation

sdesChunk_t* RTCP_SDES_Packet::chunk_
private

A linked list of chunks for this packet (only 1 for non-mixers).

unsigned long RTCP_SDES_Packet::num_chunks_
private

The number of chunks contained in this packet. 1 for end systems, 1+ for mixers


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