RTPReceiver Class Reference
RTP/RTCP packet receiver.
More...
#include <yatertp.h>
List of all members.
Public Member Functions |
| RTPReceiver (RTPSession *session=0) |
virtual | ~RTPReceiver () |
u_int32_t | ioPacketsLost () const |
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) |
virtual bool | rtpDecipher (unsigned char *data, int len, const void *secData, u_int32_t ssrc, u_int64_t seq) |
virtual bool | rtpCheckIntegrity (const unsigned char *data, int len, const void *authData, u_int32_t ssrc, u_int64_t seq) |
Protected Attributes |
u_int32_t | m_ioLostPkt |
Friends |
class | RTPSession |
Detailed Description
RTP/RTCP packet receiver.
Class that handles incoming RTP and RTCP packets
Constructor & Destructor Documentation
Destructor - gets rid of the jitter buffer if present
Member Function Documentation
u_int32_t ioPacketsLost |
( |
|
) |
const [inline] |
Retrieve the number of lost packets in current session
- Returns:
- Number of packets in sequence gaps
virtual bool rtpCheckIntegrity |
( |
const unsigned char * |
data, |
|
|
int |
len, |
|
|
const void * |
authData, |
|
|
u_int32_t |
ssrc, |
|
|
u_int64_t |
seq | |
|
) |
| | [protected, virtual] |
Method called to check the integrity of the RTP packet. The default implementation calls session's RTPSecure::rtpCheckIntegrity()
- Parameters:
-
| data | Pointer to RTP header and data |
| len | Length of header, data and padding |
| authData | Pointer to authentication data |
| ssrc | SSRC of the packet to validate |
| seq | Full (48 bit) seqence number of the packet including rollovers |
- Returns:
- True is the packet passed integrity checks
virtual bool rtpDecipher |
( |
unsigned char * |
data, |
|
|
int |
len, |
|
|
const void * |
secData, |
|
|
u_int32_t |
ssrc, |
|
|
u_int64_t |
seq | |
|
) |
| | [protected, virtual] |
Method called to decipher RTP data in-place. The default implementation calls session's RTPSecure::rtpDecipher()
- Parameters:
-
| data | Pointer to data block to decipher |
| len | Length of data including any padding |
| secData | Pointer to security data if applicable |
| ssrc | SSRC of the packet to decipher |
| seq | Full (48 bit) seqence number of the packet including rollovers |
- Returns:
- True is the packet was deciphered correctly or can't tell
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().
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: