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 }
enum  Type { Unknown, RTP, UDPTL }

Public Member Functions

 RTPTransport (Type type=RTP)
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

enum Type

Type of transported data


Constructor & Destructor Documentation

RTPTransport ( Type  type = RTP  ) 

Constructor, creates an unconnected transport

Parameters:
type Type of check to apply to the data
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 Thu Apr 8 18:22:39 2010 for Yate by  doxygen 1.6.3