RTPTransport Class Reference

Low level transport for RTP and RTCP. More...

#include <yatertp.h>

Inheritance diagram for RTPTransport:

RTPProcessor GenObject

List of all members.

Public Types

enum  Activation { Inactive, Bound, Active }

Public Member Functions

 RTPTransport ()
virtual ~RTPTransport ()
void setProcessor (RTPProcessor *processor=0)
void setMonitor (RTPProcessor *monitor=0)
const SocketAddrlocalAddr () const
const SocketAddrremoteAddr () const
bool localAddr (SocketAddr &addr, bool rtcp=true)
bool remoteAddr (SocketAddr &addr, bool sniff=false)
bool setTOS (int tos)
SocketrtpSock ()
bool drillHole ()

Protected Member Functions

virtual void timerTick (const Time &when)
virtual void rtpData (const void *data, int len)
virtual void rtcpData (const void *data, int len)


Detailed Description

Low level transport for RTP and RTCP.

Class that holds sockets and addresses for transporting RTP and RTCP packets.


Member Enumeration Documentation

enum Activation

Activation status of the transport


Constructor & Destructor Documentation

RTPTransport (  ) 

Constructor, creates an unconnected transport

virtual ~RTPTransport (  )  [virtual]

Destructor


Member Function Documentation

bool drillHole (  ) 

Drill a hole in a firewall or NAT for the RTP and RTCP sockets

Returns:
True if at least a packet was sent for the RTP socket

bool localAddr ( SocketAddr addr,
bool  rtcp = true 
)

Set the local network address of the RTP transport

Parameters:
addr New local RTP transport address
rtcp Enable RTCP transport
Returns:
True if address set, false if a failure occured

const SocketAddr& localAddr (  )  const [inline]

Get the local network address of the RTP transport

Returns:
Reference to the local RTP transport address

bool remoteAddr ( SocketAddr addr,
bool  sniff = false 
)

Set the remote network address of the RTP transport

Parameters:
addr New remote RTP transport address
sniff Automatically adjust the address from the first incoming packet
Returns:
True if address set, false if a failure occured

const SocketAddr& remoteAddr (  )  const [inline]

Get the remote network address of the RTP transport

Returns:
Reference to the remote RTP transport address

virtual void rtcpData ( const void *  data,
int  len 
) [protected, virtual]

This method is called to send a RTCP packet

Parameters:
data Pointer to raw RTCP data
len Length of the data packet

Reimplemented from RTPProcessor.

virtual void rtpData ( const void *  data,
int  len 
) [protected, virtual]

This method is called to send a RTP packet

Parameters:
data Pointer to raw RTP data
len Length of the data packet

Reimplemented from RTPProcessor.

Socket* rtpSock (  )  [inline]

Get the RTP socket used by this transport

Returns:
Pointer to the RTP socket

void setMonitor ( RTPProcessor monitor = 0  ) 

Set the RTP/RTCP monitor of data received by this transport

Parameters:
monitor A pointer to a second RTPProcessor for this transport

void setProcessor ( RTPProcessor processor = 0  ) 

Set the RTP/RTCP processor of data received by this transport

Parameters:
processor A pointer to the RTPProcessor for this transport

bool setTOS ( int  tos  )  [inline]

Set the Type Of Service for the RTP socket

Parameters:
tos Type Of Service bits to set
Returns:
True if operation was successfull, false if an error occured

virtual void timerTick ( const Time when  )  [protected, virtual]

Method called periodically to read data out of sockets

Parameters:
when Time to use as base in all computing

Implements RTPProcessor.


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

Generated on Sun Dec 7 21:36:13 2008 for Yate by  doxygen 1.5.7.1