RTPReceiver Class Reference

RTP/RTCP packet receiver. More...

#include <yatertp.h>

Inheritance diagram for RTPReceiver:

RTPBaseIO

List of all members.

Public Member Functions

 RTPReceiver (RTPSession *session=0)
virtual ~RTPReceiver ()
void setDejitter (RTPDejitter *dejitter)
void setDejitter (unsigned int mindelay, unsigned int maxdelay)
virtual bool rtpRecv (bool marker, int payload, unsigned int timestamp, const void *data, int len)
virtual bool rtpRecvData (bool marker, unsigned int timestamp, const void *data, int len)
virtual bool rtpRecvEvent (int event, char key, int duration, int volume, unsigned int timestamp)
virtual void rtpNewPayload (int payload, unsigned int timestamp)
virtual void rtpNewSSRC (u_int32_t newSsrc, bool marker)

Protected Member Functions

virtual void timerTick (const Time &when)

Friends

class RTPSession


Detailed Description

RTP/RTCP packet receiver.

Class that handles incoming RTP and RTCP packets


Constructor & Destructor Documentation

RTPReceiver ( RTPSession session = 0  )  [inline]

Constructor

virtual ~RTPReceiver (  )  [virtual]

Destructor - gets rid of the jitter buffer if present


Member Function Documentation

virtual void rtpNewPayload ( int  payload,
unsigned int  timestamp 
) [virtual]

Method called for unknown payload types just before attempting to call rtpRecvData(). This is a good opportunity to change the payload type and continue.

Parameters:
payload Payload number
timestamp Sampling instant of the unexpected packet data

virtual void rtpNewSSRC ( u_int32_t  newSsrc,
bool  marker 
) [virtual]

Method called when a packet with an unexpected SSRC is received just before processing further. This is a good opportunity to change the SSRC and continue

Parameters:
newSsrc SSRC received in packet
marker True if marker bit is set in the RTP packet

virtual bool rtpRecv ( bool  marker,
int  payload,
unsigned int  timestamp,
const void *  data,
int  len 
) [virtual]

Process one RTP payload packet. Default behaviour is to call rtpRecvData() or rtpRecvEvent().

Parameters:
marker Set to true if the marker bit is set
payload Payload number
timestamp Sampling instant of the packet data
data Pointer to data block to process
len Length of the data block in bytes
Returns:
True if data was handled

virtual bool rtpRecvData ( bool  marker,
unsigned int  timestamp,
const void *  data,
int  len 
) [virtual]

Process one RTP data packet

Parameters:
marker Set to true if the marker bit is set
timestamp Sampling instant of the packet data
data Pointer to data block to process
len Length of the data block in bytes
Returns:
True if data was handled

virtual bool rtpRecvEvent ( int  event,
char  key,
int  duration,
int  volume,
unsigned int  timestamp 
) [virtual]

Process one RTP event

Parameters:
event Received event code
key Received key (for events 0-16) or zero
duration Duration of the event as number of samples
volume Attenuation of the tone, zero for don't care
timestamp Sampling instant of the initial packet data
Returns:
True if data was handled

void setDejitter ( unsigned int  mindelay,
unsigned int  maxdelay 
) [inline]

Allocate and set a new dejitter buffer in this receiver

Parameters:
mindelay Minimum length of the dejitter buffer in microseconds
maxdelay Maximum length of the dejitter buffer in microseconds

References RTPReceiver::setDejitter().

Referenced by RTPReceiver::setDejitter().

void setDejitter ( RTPDejitter dejitter  ) 

Set a new dejitter buffer in this receiver

Parameters:
dejitter New dejitter buffer to set, NULL to remove

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

Method called periodically to finish lingering events

Parameters:
when Time to use as base in all computing

Implements RTPBaseIO.


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

Generated on Sun Dec 7 21:45:27 2008 for Yate by  doxygen 1.5.7.1