Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

RTP_Packet Class Reference

This class encapsulates all the necessary information to break down or build up an RTP data packet as well as operations to access all data items in the packet. More...

#include <RTP.h>

List of all members.

Public Methods

 RTP_Packet (char *buffer, int length)
 Constructor for incoming RTP packets.

 RTP_Packet (unsigned char padding, unsigned char marker, unsigned char payloadType, ACE_UINT32 sequenceNumber, ACE_UINT32 timeStamp, ACE_UINT32 syncSource, unsigned char contribSourcCount, ACE_UINT32 contribSourceList[], char *data, ACE_UINT16 dataSize)
 Constructor for outgoing RTP packets.

 ~RTP_Packet (void)
 Destructor.

ACE_UINT16 packet_size (void)
 Returns the size of the RTP packet in bytes.

ACE_UINT16 payload_size (void)
 Returns the size of the payload in bytes.

void get_frame_info (TAO_AV_frame_info *frame_info)
 Populates the passed in frame_info.

int is_valid (void)
 Returns 1 if packet is valid and 0 if not.

unsigned int ver (void)
 Returns the RTP version of the packet.

unsigned int pad (void)
 Returns 1 if the padding bit is set, 0 if not.

unsigned int ext (void)
 Returns 1 if the header extension bit is set, 0 if not.

unsigned int ext_bytes (void)
 Returns the number of bytes in the header extension or 0 if no extension.

unsigned int cc (void)
unsigned int mrk (void)
 Returns 1 if the marker bit is set, 0 if not.

unsigned int pt (void)
 Returns the payload type of the packet.

ACE_UINT16 sn (void)
 Returns the sequence number of the packet.

ACE_UINT32 ts (void)
 Returns the timestamp of the packet.

ACE_UINT32 ssrc (void)
 Returns the synchronization source id of the packet.

void get_csrc_list (ACE_UINT32 **csrc_list, ACE_UINT16 &length)
void get_payload (char **payload, ACE_UINT16 &size)
void get_packet_data (char **packet, ACE_UINT16 &size)

Private Attributes

char packet_ [RTP_MTU]
 Local buffer to hold the RTP packet.

ACE_UINT32 host_byte_order_csrc_list_ [15]
char host_byte_order_payload_ [RTP_MTU]
 Local buffer to hold the payload with the values stored in host byte order.

unsigned int extension_bytes_
 The number of bytes in the header extension - 0 if no extension.

ACE_UINT16 packet_size_
 The size of the overall data packet.

ACE_UINT16 payload_size_
 The size of the payload portion of the packet.


Detailed Description

This class encapsulates all the necessary information to break down or build up an RTP data packet as well as operations to access all data items in the packet.


Constructor & Destructor Documentation

RTP_Packet::RTP_Packet char *    buffer,
int    length
 

Constructor for incoming RTP packets.

RTP_Packet::RTP_Packet unsigned char    padding,
unsigned char    marker,
unsigned char    payloadType,
ACE_UINT32    sequenceNumber,
ACE_UINT32    timeStamp,
ACE_UINT32    syncSource,
unsigned char    contribSourcCount,
ACE_UINT32    contribSourceList[],
char *    data,
ACE_UINT16    dataSize
 

Constructor for outgoing RTP packets.

RTP_Packet::~RTP_Packet void   
 

Destructor.


Member Function Documentation

unsigned int RTP_Packet::cc void   
 

Returns the contributing source count. This should only be non-zero for mixers.

unsigned int RTP_Packet::ext void   
 

Returns 1 if the header extension bit is set, 0 if not.

unsigned int RTP_Packet::ext_bytes void   
 

Returns the number of bytes in the header extension or 0 if no extension.

void RTP_Packet::get_csrc_list ACE_UINT32 **    csrc_list,
ACE_UINT16 &    length
 

Returns a pointer to the local contributing source list and its length. This should be empty except for mixers. RTP_Packet retains ownership.

void RTP_Packet::get_frame_info TAO_AV_frame_info   frame_info
 

Populates the passed in frame_info.

void RTP_Packet::get_packet_data char **    packet,
ACE_UINT16 &    size
 

Returns a pointer to the locally stored rtp packet and its size in bytes. RTP_Packet retains ownership.

void RTP_Packet::get_payload char **    payload,
ACE_UINT16 &    size
 

Returns a pointer to the locally stored payload and its size in bytes. The payload is returned in host byte order. RTP_Packet retains ownership.

int RTP_Packet::is_valid void   
 

Returns 1 if packet is valid and 0 if not.

unsigned int RTP_Packet::mrk void   
 

Returns 1 if the marker bit is set, 0 if not.

ACE_UINT16 RTP_Packet::packet_size void   
 

Returns the size of the RTP packet in bytes.

unsigned int RTP_Packet::pad void   
 

Returns 1 if the padding bit is set, 0 if not.

ACE_UINT16 RTP_Packet::payload_size void   
 

Returns the size of the payload in bytes.

unsigned int RTP_Packet::pt void   
 

Returns the payload type of the packet.

ACE_UINT16 RTP_Packet::sn void   
 

Returns the sequence number of the packet.

ACE_UINT32 RTP_Packet::ssrc void   
 

Returns the synchronization source id of the packet.

ACE_UINT32 RTP_Packet::ts void   
 

Returns the timestamp of the packet.

unsigned int RTP_Packet::ver void   
 

Returns the RTP version of the packet.


Member Data Documentation

unsigned int RTP_Packet::extension_bytes_ [private]
 

The number of bytes in the header extension - 0 if no extension.

ACE_UINT32 RTP_Packet::host_byte_order_csrc_list_[15] [private]
 

Local buffer to hold the contributing source list with the values stored in host byte order.

char RTP_Packet::host_byte_order_payload_[RTP_MTU] [private]
 

Local buffer to hold the payload with the values stored in host byte order.

char RTP_Packet::packet_[RTP_MTU] [private]
 

Local buffer to hold the RTP packet.

ACE_UINT16 RTP_Packet::packet_size_ [private]
 

The size of the overall data packet.

ACE_UINT16 RTP_Packet::payload_size_ [private]
 

The size of the payload portion of the packet.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 19:01:36 2004 for TAO_AV by doxygen1.2.18