|
|
Class that handles incoming RTP and RTCP packets
inline RTPReceiver (RTPSession* session = 0)
| RTPReceiver |
Constructor
~RTPReceiver ()
| ~RTPReceiver |
[virtual]
Destructor - gets rid of the jitter buffer if present
void setDejitter (RTPDejitter* dejitter)
| setDejitter |
Set a new dejitter buffer in this receiver
Parameters:
dejitter | New dejitter buffer to set, NULL to remove |
inline void setDejitter (unsigned int mindelay, unsigned int maxdelay)
| setDejitter |
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 |
bool rtpRecv (bool marker, int payload, unsigned int timestamp,
const void* data, int len)
| rtpRecv |
[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
bool rtpRecvData (bool marker, unsigned int timestamp,
const void* data, int len)
| rtpRecvData |
[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
bool rtpRecvEvent (int event, char key, int duration,
int volume, unsigned int timestamp)
| rtpRecvEvent |
[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 rtpNewPayload (int payload, unsigned int timestamp)
| rtpNewPayload |
[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 |
void rtpNewSSRC (u_int32_t newSsrc, bool marker)
| rtpNewSSRC |
[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 |
void timerTick (const Time& when)
| timerTick |
[protected virtual]
Method called periodically to finish lingering events
Parameters:
when | Time to use as base in all computing |
Reimplemented from RTPBaseIO.
bool rtpDecipher (unsigned char* data, int len, const void* secData, u_int32_t ssrc, u_int64_t seq)
| rtpDecipher |
[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
bool rtpCheckIntegrity (const unsigned char* data, int len, const void* authData, u_int32_t ssrc, u_int64_t seq)
| rtpCheckIntegrity |
[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
Generated by: paulc on bussard on Wed Oct 21 01:57:30 2009, using kdoc 2.0a54. |