|
Yate
|
RTP/RTCP packet receiver. More...
#include <yatertp.h>
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) |
| virtual void | stats (NamedList &stat) const |
Public Member Functions inherited from RTPBaseIO | |
| RTPBaseIO (RTPSession *session=0) | |
| virtual | ~RTPBaseIO () |
| int | dataPayload () const |
| bool | dataPayload (int type) |
| int | eventPayload () const |
| bool | eventPayload (int type) |
| int | silencePayload () const |
| bool | silencePayload (int type) |
| unsigned int | ssrcInit () |
| void | reset () |
| unsigned int | ssrc () const |
| void | ssrc (unsigned int src) |
| u_int16_t | seq () const |
| u_int32_t | rollover () const |
| u_int64_t | fullSeq () const |
| u_int32_t | ioPackets () const |
| u_int32_t | ioOctets () const |
| unsigned int | tsLast () const |
| RTPSession * | session () const |
| RTPSecure * | security () const |
| void | security (RTPSecure *secure) |
| void | initDebugData (bool recv, const NamedList ¶ms) |
Public Member Functions inherited from RTPDebug | |
| RTPDebug (DebugEnabler *dbg, const char *traceId) | |
| RTPDebug (RTPSession *session) | |
| DebugEnabler * | dbg () const |
| const String & | dbgTraceId () const |
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 Member Functions inherited from RTPBaseIO | |
| void | secLength (u_int32_t len, u_int32_t key=0) |
Protected Member Functions inherited from RTPDebug | |
| void | setDebug (DebugEnabler *dbg, const char *traceId) |
Protected Attributes | |
| u_int32_t | m_ioLostPkt |
Protected Attributes inherited from RTPBaseIO | |
| RTPSession * | m_session |
| RTPSecure * | m_secure |
| bool | m_ssrcInit |
| u_int32_t | m_ssrc |
| u_int32_t | m_ts |
| u_int16_t | m_seq |
| u_int32_t | m_rollover |
| u_int16_t | m_secLen |
| u_int16_t | m_mkiLen |
| u_int32_t | m_evTs |
| int | m_evNum |
| int | m_evVol |
| unsigned int | m_evSeq |
| u_int32_t | m_ioPackets |
| u_int32_t | m_ioOctets |
| unsigned int | m_tsLast |
| int | m_debugDataLevel |
| bool | m_debugData |
| bool | m_debugEvent |
Protected Attributes inherited from RTPDebug | |
| DebugEnabler * | m_dbg |
| String | m_traceId |
Friends | |
| class | RTPSession |
| class | RTPDejitter |
RTP/RTCP packet receiver.
Class that handles incoming RTP and RTCP packets
|
inline |
Constructor
References RTPBaseIO::RTPBaseIO(), and RTPBaseIO::session().
|
virtual |
Destructor - gets rid of the jitter buffer if present
|
inline |
Retrieve the number of lost packets in current session
|
protectedvirtual |
Method called to check the integrity of the RTP packet. The default implementation calls session's rtpCheckIntegrity()
| 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 |
References RTPBaseIO::seq(), and RTPBaseIO::ssrc().
|
protectedvirtual |
Method called to decipher RTP data in-place. The default implementation calls session's rtpDecipher()
| 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 |
References RTPBaseIO::seq(), and RTPBaseIO::ssrc().
|
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.
| payload | Payload number |
| timestamp | Sampling instant of the unexpected packet data |
|
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
| newSsrc | SSRC received in packet |
| marker | True if marker bit is set in the RTP packet |
|
virtual |
Process one RTP payload packet. Default behaviour is to call rtpRecvData() or rtpRecvEvent().
| 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 |
|
virtual |
Process one RTP data packet
| 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 |
|
virtual |
Process one RTP event
| 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 |
| void setDejitter | ( | RTPDejitter * | dejitter | ) |
Set a new dejitter buffer in this receiver
| dejitter | New dejitter buffer to set, NULL to remove |
Referenced by setDejitter().
|
inline |
Allocate and set a new dejitter buffer in this receiver
| mindelay | Minimum length of the dejitter buffer in microseconds |
| maxdelay | Maximum length of the dejitter buffer in microseconds |
References RTPDebug::dbg(), and setDejitter().
|
virtual |
|
protectedvirtual |