OPAL  Version 3.10.4
RTP_Session Class Reference

#include <rtp.h>

Inheritance diagram for RTP_Session:
RTP_UDP SecureRTP_UDP

Data Structures

class  EncodingLock
struct  Params
class  ReceiverReport
class  SenderReport
class  SourceDescription

Public Types

typedef PNotifierTemplate
< SendReceiveStatus & > 
FilterNotifier

Public Member Functions

virtual void SetCloseOnBYE (PBoolean v)
virtual void SendIntraFrameRequest (bool rfc2032, bool pictureLoss)
virtual void SendTemporalSpatialTradeOff (unsigned tradeOff)
void SetNextSentSequenceNumber (WORD num)
virtual PString GetEncoding () const
virtual void SetEncoding (const PString &newEncoding)
DWORD GetSyncSourceIn () const
void SetFailed (bool v)
bool HasFailed () const
void AddFilter (const FilterNotifier &filter)
virtual void SendBYE ()
Construction
 RTP_Session (const Params &options)
 ~RTP_Session ()
Operations
void SetJitterBufferSize (unsigned minJitterDelay, unsigned maxJitterDelay, unsigned timeUnits=0, PINDEX packetSize=2048)
unsigned GetJitterBufferSize () const
unsigned GetJitterBufferDelay () const
unsigned GetJitterTimeUnits () const
virtual PBoolean ModifyQOS (RTP_QOS *)
virtual PBoolean ReadBufferedData (RTP_DataFrame &frame)
virtual PBoolean ReadData (RTP_DataFrame &frame)=0
virtual PBoolean WriteData (RTP_DataFrame &frame)=0
virtual PBoolean WriteOOBData (RTP_DataFrame &frame, bool rewriteTimeStamp=true)
virtual PBoolean WriteControl (RTP_ControlFrame &frame)=0
virtual PBoolean SendReport ()
virtual bool Close (PBoolean reading)=0
virtual void Reopen (PBoolean isReading)=0
virtual PString GetLocalHostName ()=0
virtual void GetStatistics (OpalMediaStatistics &statistics, bool receiver) const

Protected Types

typedef PSafePtr
< RTP_JitterBuffer,
PSafePtrMultiThreaded > 
JitterBufferPtr

Protected Member Functions

void AddReceiverReport (RTP_ControlFrame::ReceiverReport &receiver)
PBoolean InsertReportPacket (RTP_ControlFrame &report)
void SaveOutOfOrderPacket (RTP_DataFrame &frame)

Protected Attributes

PString m_encoding
PMutex m_encodingMutex
RTP_Encodingm_encodingHandler
unsigned sessionID
bool isAudio
unsigned m_timeUnits
PString canonicalName
PString toolName
RTP_UserDatauserData
PBoolean autoDeleteUserData
JitterBufferPtr m_jitterBuffer
DWORD syncSourceOut
DWORD syncSourceIn
DWORD lastSentTimestamp
bool allowAnySyncSource
bool allowOneSyncSourceChange
PBoolean allowRemoteTransmitAddressChange
PBoolean allowSequenceChange
PTimeInterval reportTimeInterval
unsigned txStatisticsInterval
unsigned rxStatisticsInterval
WORD lastSentSequenceNumber
WORD expectedSequenceNumber
PTimeInterval lastSentPacketTime
PTimeInterval lastReceivedPacketTime
PTime lastSRTimestamp
PTime lastSRReceiveTime
PTimeInterval delaySinceLastSR
WORD lastRRSequenceNumber
bool resequenceOutOfOrderPackets
unsigned consecutiveOutOfOrderPackets
PTimeInterval outOfOrderWaitTime
PTimeInterval outOfOrderPacketTime
std::list< RTP_DataFramem_outOfOrderPackets
PMutex dataMutex
DWORD timeStampOffs
PBoolean oobTimeStampBaseEstablished
DWORD oobTimeStampOutBase
PTimeInterval oobTimeStampBase
PTime firstPacketSent
DWORD packetsSent
DWORD rtcpPacketsSent
DWORD octetsSent
PTime firstPacketReceived
DWORD packetsReceived
DWORD senderReportsReceived
DWORD octetsReceived
DWORD packetsLost
DWORD packetsLostByRemote
DWORD packetsOutOfOrder
DWORD averageSendTime
DWORD maximumSendTime
DWORD minimumSendTime
DWORD averageReceiveTime
DWORD maximumReceiveTime
DWORD minimumReceiveTime
DWORD jitterLevel
DWORD jitterLevelOnRemote
DWORD maximumJitterLevel
DWORD markerSendCount
DWORD markerRecvCount
unsigned txStatisticsCount
unsigned rxStatisticsCount
DWORD averageSendTimeAccum
DWORD maximumSendTimeAccum
DWORD minimumSendTimeAccum
DWORD averageReceiveTimeAccum
DWORD maximumReceiveTimeAccum
DWORD minimumReceiveTimeAccum
DWORD packetsLostSinceLastRR
DWORD lastTransitTime
RTP_DataFrame::PayloadTypes lastReceivedPayloadType
PBoolean ignorePayloadTypeChanges
PMutex reportMutex
PTimer reportTimer
PBoolean closeOnBye
PBoolean byeSent
bool failed
 set to true if session has received too many ICMP destination unreachable
list< FilterNotifierm_filters

Friends

class EncodingLock

Call back functions

enum  SendReceiveStatus { e_ProcessPacket, e_IgnorePacket, e_AbortTransport }
virtual SendReceiveStatus OnSendData (RTP_DataFrame &frame)
virtual SendReceiveStatus Internal_OnSendData (RTP_DataFrame &frame)
virtual SendReceiveStatus OnSendControl (RTP_ControlFrame &frame, PINDEX &len)
virtual SendReceiveStatus Internal_OnSendControl (RTP_ControlFrame &frame, PINDEX &len)
virtual SendReceiveStatus OnReceiveData (RTP_DataFrame &frame)
virtual SendReceiveStatus Internal_OnReceiveData (RTP_DataFrame &frame)
virtual SendReceiveStatus OnReceiveControl (RTP_ControlFrame &frame)
 PARRAY (ReceiverReportArray, ReceiverReport)
virtual void OnRxSenderReport (const SenderReport &sender, const ReceiverReportArray &reports)
virtual void OnRxReceiverReport (DWORD src, const ReceiverReportArray &reports)
virtual void OnReceiverReports (const ReceiverReportArray &reports)
 PARRAY (SourceDescriptionArray, SourceDescription)
virtual void OnRxSourceDescription (const SourceDescriptionArray &descriptions)
virtual void OnRxGoodbye (const PDWORDArray &sources, const PString &reason)
virtual void OnRxApplDefined (const PString &type, unsigned subtype, DWORD src, const BYTE *data, PINDEX size)

Member variable access

enum  { JitterRoundingGuardBits = 4 }
unsigned GetSessionID () const
void SetSessionID (unsigned id)
bool IsAudio () const
void SetAudio (bool aud)
PString GetCanonicalName () const
void SetCanonicalName (const PString &name)
PString GetToolName () const
void SetToolName (const PString &name)
RTP_UserDataGetUserData () const
void SetUserData (RTP_UserData *data, PBoolean autoDeleteUserData=true)
DWORD GetSyncSourceOut () const
bool AllowAnySyncSource () const
void SetAnySyncSource (bool allow)
void SetIgnorePayloadTypeChanges (PBoolean ignore)
const PTimeInterval & GetReportTimeInterval ()
void SetReportTimeInterval (const PTimeInterval &interval)
PTimeInterval GetReportTimer ()
unsigned GetTxStatisticsInterval ()
void SetTxStatisticsInterval (unsigned packets)
unsigned GetRxStatisticsInterval ()
void SetRxStatisticsInterval (unsigned packets)
void ClearStatistics ()
DWORD GetPacketsSent () const
DWORD GetOctetsSent () const
DWORD GetPacketsReceived () const
DWORD GetOctetsReceived () const
DWORD GetPacketsLost () const
DWORD GetPacketsLostByRemote () const
DWORD GetPacketsOutOfOrder () const
DWORD GetPacketsTooLate () const
DWORD GetPacketOverruns () const
DWORD GetAverageSendTime () const
DWORD GetMarkerRecvCount () const
DWORD GetMarkerSendCount () const
DWORD GetMaximumSendTime () const
DWORD GetMinimumSendTime () const
DWORD GetAverageReceiveTime () const
DWORD GetMaximumReceiveTime () const
DWORD GetMinimumReceiveTime () const
DWORD GetAvgJitterTime () const
DWORD GetMaxJitterTime () const
DWORD GetJitterTimeOnRemote () const

Detailed Description

This class is for encpsulating the IETF Real Time Protocol interface.


Member Typedef Documentation

typedef PNotifierTemplate<SendReceiveStatus &> RTP_Session::FilterNotifier
typedef PSafePtr<RTP_JitterBuffer, PSafePtrMultiThreaded> RTP_Session::JitterBufferPtr
protected

Member Enumeration Documentation

anonymous enum
Enumerator:
JitterRoundingGuardBits 
Enumerator:
e_ProcessPacket 
e_IgnorePacket 
e_AbortTransport 

Constructor & Destructor Documentation

RTP_Session::RTP_Session ( const Params options)

Create a new RTP session.

Parameters:
optionsParameters to construct with session.
RTP_Session::~RTP_Session ( )

Delete a session. This deletes the userData field if autoDeleteUserData is true.


Member Function Documentation

void RTP_Session::AddFilter ( const FilterNotifier filter)
void RTP_Session::AddReceiverReport ( RTP_ControlFrame::ReceiverReport receiver)
protected
bool RTP_Session::AllowAnySyncSource ( ) const
inline

Indicate if will ignore all but first received SSRC value.

void RTP_Session::ClearStatistics ( )

Clear statistics

virtual bool RTP_Session::Close ( PBoolean  reading)
pure virtual

Close down the RTP session.

Parameters:
readingClosing the read side of the session

Implemented in RTP_UDP.

DWORD RTP_Session::GetAverageReceiveTime ( ) const
inline

Get average time between received packets. This is averaged over the last rxStatisticsInterval packets and is in milliseconds.

DWORD RTP_Session::GetAverageSendTime ( ) const
inline

Get average time between sent packets. This is averaged over the last txStatisticsInterval packets and is in milliseconds.

DWORD RTP_Session::GetAvgJitterTime ( ) const
inline

Get averaged jitter time for received packets. This is the calculated statistical variance of the interarrival time of received packets in milliseconds.

PString RTP_Session::GetCanonicalName ( ) const

Get the canonical name for the RTP session.

virtual PString RTP_Session::GetEncoding ( ) const
inlinevirtual
unsigned RTP_Session::GetJitterBufferDelay ( ) const
inline
unsigned RTP_Session::GetJitterBufferSize ( ) const

Get current size of the jitter buffer. This returns the currently used jitter buffer delay in RTP timestamp units. It will be some value between the minimum and maximum set in the SetJitterBufferSize() function.

DWORD RTP_Session::GetJitterTimeOnRemote ( ) const
inline

Get jitter time for received packets on remote. This is the calculated statistical variance of the interarrival time of received packets in milliseconds.

unsigned RTP_Session::GetJitterTimeUnits ( ) const
inline

Get current time units of the jitter buffer.

virtual PString RTP_Session::GetLocalHostName ( )
pure virtual

Get the local host name as used in SDES packes.

Implemented in RTP_UDP.

DWORD RTP_Session::GetMarkerRecvCount ( ) const
inline

Get the number of marker packets received this session. This can be used to find out the number of frames received in a video RTP stream.

DWORD RTP_Session::GetMarkerSendCount ( ) const
inline

Get the number of marker packets sent this session. This can be used to find out the number of frames sent in a video RTP stream.

DWORD RTP_Session::GetMaximumReceiveTime ( ) const
inline

Get maximum time between received packets. This is over the last rxStatisticsInterval packets and is in milliseconds.

DWORD RTP_Session::GetMaximumSendTime ( ) const
inline

Get maximum time between sent packets. This is over the last txStatisticsInterval packets and is in milliseconds.

DWORD RTP_Session::GetMaxJitterTime ( ) const
inline

Get averaged jitter time for received packets. This is the maximum value of jitterLevel for the session.

DWORD RTP_Session::GetMinimumReceiveTime ( ) const
inline

Get minimum time between received packets. This is over the last rxStatisticsInterval packets and is in milliseconds.

DWORD RTP_Session::GetMinimumSendTime ( ) const
inline

Get minimum time between sent packets. This is over the last txStatisticsInterval packets and is in milliseconds.

DWORD RTP_Session::GetOctetsReceived ( ) const
inline

Get total number of octets received in session.

DWORD RTP_Session::GetOctetsSent ( ) const
inline

Get total number of octets sent in session.

DWORD RTP_Session::GetPacketOverruns ( ) const

Get total number received packets that could not fit into the jitter buffer.

DWORD RTP_Session::GetPacketsLost ( ) const
inline

Get total number received packets lost in session.

DWORD RTP_Session::GetPacketsLostByRemote ( ) const
inline

Get total number transmitted packets lost by remote in session. Determined via RTCP.

DWORD RTP_Session::GetPacketsOutOfOrder ( ) const
inline

Get total number of packets received out of order in session.

DWORD RTP_Session::GetPacketsReceived ( ) const
inline

Get total number of packets received in session.

Referenced by OpalRTPMediaSession::HasFailed().

DWORD RTP_Session::GetPacketsSent ( ) const
inline

Get total number of packets sent in session.

DWORD RTP_Session::GetPacketsTooLate ( ) const

Get total number received packets too late to go into jitter buffer.

const PTimeInterval& RTP_Session::GetReportTimeInterval ( )
inline

Get the time interval for sending RTCP reports in the session.

PTimeInterval RTP_Session::GetReportTimer ( )
inline

Get the current report timer

unsigned RTP_Session::GetRxStatisticsInterval ( )
inline

Get the interval for receiver statistics in the session.

unsigned RTP_Session::GetSessionID ( ) const
inline

Get the ID for the RTP session.

virtual void RTP_Session::GetStatistics ( OpalMediaStatistics statistics,
bool  receiver 
) const
virtual
DWORD RTP_Session::GetSyncSourceIn ( ) const
inline
DWORD RTP_Session::GetSyncSourceOut ( ) const
inline

Get the source output identifier.

PString RTP_Session::GetToolName ( ) const

Get the tool name for the RTP session.

unsigned RTP_Session::GetTxStatisticsInterval ( )
inline

Get the interval for transmitter statistics in the session.

RTP_UserData* RTP_Session::GetUserData ( ) const
inline

Get the user data for the session.

bool RTP_Session::HasFailed ( ) const
inline
PBoolean RTP_Session::InsertReportPacket ( RTP_ControlFrame report)
protected
virtual SendReceiveStatus RTP_Session::Internal_OnReceiveData ( RTP_DataFrame frame)
virtual
virtual SendReceiveStatus RTP_Session::Internal_OnSendControl ( RTP_ControlFrame frame,
PINDEX &  len 
)
virtual
virtual SendReceiveStatus RTP_Session::Internal_OnSendData ( RTP_DataFrame frame)
virtual
bool RTP_Session::IsAudio ( ) const
inline

Get flag for is audio RTP.

virtual PBoolean RTP_Session::ModifyQOS ( RTP_QOS )
inlinevirtual

Modifies the QOS specifications for this RTP session

Reimplemented in RTP_UDP.

virtual SendReceiveStatus RTP_Session::OnReceiveControl ( RTP_ControlFrame frame)
virtual
virtual SendReceiveStatus RTP_Session::OnReceiveData ( RTP_DataFrame frame)
virtual
virtual void RTP_Session::OnReceiverReports ( const ReceiverReportArray &  reports)
virtual
virtual void RTP_Session::OnRxApplDefined ( const PString &  type,
unsigned  subtype,
DWORD  src,
const BYTE *  data,
PINDEX  size 
)
virtual
virtual void RTP_Session::OnRxGoodbye ( const PDWORDArray &  sources,
const PString &  reason 
)
virtual
virtual void RTP_Session::OnRxReceiverReport ( DWORD  src,
const ReceiverReportArray &  reports 
)
virtual
virtual void RTP_Session::OnRxSenderReport ( const SenderReport sender,
const ReceiverReportArray &  reports 
)
virtual
virtual void RTP_Session::OnRxSourceDescription ( const SourceDescriptionArray &  descriptions)
virtual
virtual SendReceiveStatus RTP_Session::OnSendControl ( RTP_ControlFrame frame,
PINDEX &  len 
)
virtual
virtual SendReceiveStatus RTP_Session::OnSendData ( RTP_DataFrame frame)
virtual
RTP_Session::PARRAY ( ReceiverReportArray  ,
ReceiverReport   
)
RTP_Session::PARRAY ( SourceDescriptionArray  ,
SourceDescription   
)
virtual PBoolean RTP_Session::ReadBufferedData ( RTP_DataFrame frame)
virtual

Read a data frame from the RTP channel. This function will conditionally read data from the jitter buffer or directly if there is no jitter buffer enabled. An application should generally use this in preference to directly calling ReadData().

Parameters:
frameFrame read from the RTP session
virtual PBoolean RTP_Session::ReadData ( RTP_DataFrame frame)
pure virtual

Read a data frame from the RTP channel. Any control frames received are dispatched to callbacks and are not returned by this function. It will block until a data frame is available or an error occurs.

Parameters:
frameFrame read from the RTP session

Implemented in RTP_UDP.

virtual void RTP_Session::Reopen ( PBoolean  isReading)
pure virtual

Reopens an existing session in the given direction.

Implemented in RTP_UDP.

void RTP_Session::SaveOutOfOrderPacket ( RTP_DataFrame frame)
protected
virtual void RTP_Session::SendBYE ( )
virtual
virtual void RTP_Session::SendIntraFrameRequest ( bool  rfc2032,
bool  pictureLoss 
)
virtual

Tell the rtp session to send out an intra frame request control packet. This is called when the media stream receives an OpalVideoUpdatePicture media command.

virtual PBoolean RTP_Session::SendReport ( )
virtual

Write the RTCP reports.

virtual void RTP_Session::SendTemporalSpatialTradeOff ( unsigned  tradeOff)
virtual

Tell the rtp session to send out an temporal spatial trade off request control packet. This is called when the media stream receives an OpalTemporalSpatialTradeOff media command.

void RTP_Session::SetAnySyncSource ( bool  allow)
inline

Indicate if will ignore all but first received SSRC value.

Parameters:
allowFlag for allow any SSRC values
void RTP_Session::SetAudio ( bool  aud)
inline

Set flag for RTP session is audio.

Parameters:
audNew audio indication flag
void RTP_Session::SetCanonicalName ( const PString &  name)

Set the canonical name for the RTP session.

virtual void RTP_Session::SetCloseOnBYE ( PBoolean  v)
inlinevirtual
virtual void RTP_Session::SetEncoding ( const PString &  newEncoding)
virtual

Reimplemented in RTP_UDP.

void RTP_Session::SetFailed ( bool  v)
inline
void RTP_Session::SetIgnorePayloadTypeChanges ( PBoolean  ignore)
inline

Indicate if will ignore rtp payload type changes in received packets.

Parameters:
ignoreFlag to ignore payload type changes
void RTP_Session::SetJitterBufferSize ( unsigned  minJitterDelay,
unsigned  maxJitterDelay,
unsigned  timeUnits = 0,
PINDEX  packetSize = 2048 
)

Sets the size of the jitter buffer to be used by this RTP session. A session defaults to not having any jitter buffer enabled for reading and the ReadBufferedData() function simply calls ReadData().

If either jitter delay parameter is zero, it destroys the jitter buffer attached to this RTP session.

Parameters:
minJitterDelayMinimum jitter buffer delay in RTP timestamp units
maxJitterDelayMaximum jitter buffer delay in RTP timestamp units
timeUnitsTime Units, zero uses default
packetSizeReceive RTP packet size
void RTP_Session::SetNextSentSequenceNumber ( WORD  num)
inline
void RTP_Session::SetReportTimeInterval ( const PTimeInterval &  interval)
inline

Set the time interval for sending RTCP reports in the session.

Parameters:
intervalNew time interval for reports.
void RTP_Session::SetRxStatisticsInterval ( unsigned  packets)

Set the interval for receiver statistics in the session.

Parameters:
packetsNumber of packets between callbacks
void RTP_Session::SetSessionID ( unsigned  id)
inline

Set the ID for the RTP session.

void RTP_Session::SetToolName ( const PString &  name)

Set the tool name for the RTP session.

void RTP_Session::SetTxStatisticsInterval ( unsigned  packets)

Set the interval for transmitter statistics in the session.

Parameters:
packetsNumber of packets between callbacks
void RTP_Session::SetUserData ( RTP_UserData data,
PBoolean  autoDeleteUserData = true 
)

Set the user data for the session.

Parameters:
dataNew user data to be used
autoDeleteUserDataDelete optional data with session.
virtual PBoolean RTP_Session::WriteControl ( RTP_ControlFrame frame)
pure virtual

Write a control frame from the RTP channel.

Parameters:
frameFrame to write to the RTP session

Implemented in RTP_UDP.

virtual PBoolean RTP_Session::WriteData ( RTP_DataFrame frame)
pure virtual

Write a data frame from the RTP channel.

Parameters:
frameFrame to write to the RTP session

Implemented in RTP_UDP.

virtual PBoolean RTP_Session::WriteOOBData ( RTP_DataFrame frame,
bool  rewriteTimeStamp = true 
)
virtual

Write data frame to the RTP channel outside the normal stream of media Used for RFC2833 packets

Reimplemented in RTP_UDP.


Friends And Related Function Documentation

friend class EncodingLock
friend

Field Documentation

bool RTP_Session::allowAnySyncSource
protected
bool RTP_Session::allowOneSyncSourceChange
protected
PBoolean RTP_Session::allowRemoteTransmitAddressChange
protected
PBoolean RTP_Session::allowSequenceChange
protected
PBoolean RTP_Session::autoDeleteUserData
protected
DWORD RTP_Session::averageReceiveTime
protected
DWORD RTP_Session::averageReceiveTimeAccum
protected
DWORD RTP_Session::averageSendTime
protected
DWORD RTP_Session::averageSendTimeAccum
protected
PBoolean RTP_Session::byeSent
protected
PString RTP_Session::canonicalName
protected
PBoolean RTP_Session::closeOnBye
protected
unsigned RTP_Session::consecutiveOutOfOrderPackets
protected
PMutex RTP_Session::dataMutex
protected
PTimeInterval RTP_Session::delaySinceLastSR
protected
WORD RTP_Session::expectedSequenceNumber
protected
bool RTP_Session::failed
protected

set to true if session has received too many ICMP destination unreachable

PTime RTP_Session::firstPacketReceived
protected
PTime RTP_Session::firstPacketSent
protected
PBoolean RTP_Session::ignorePayloadTypeChanges
protected
bool RTP_Session::isAudio
protected
DWORD RTP_Session::jitterLevel
protected
DWORD RTP_Session::jitterLevelOnRemote
protected
PTimeInterval RTP_Session::lastReceivedPacketTime
protected
RTP_DataFrame::PayloadTypes RTP_Session::lastReceivedPayloadType
protected
WORD RTP_Session::lastRRSequenceNumber
protected
PTimeInterval RTP_Session::lastSentPacketTime
protected
WORD RTP_Session::lastSentSequenceNumber
protected
DWORD RTP_Session::lastSentTimestamp
protected
PTime RTP_Session::lastSRReceiveTime
protected
PTime RTP_Session::lastSRTimestamp
protected
DWORD RTP_Session::lastTransitTime
protected
PString RTP_Session::m_encoding
protected
RTP_Encoding* RTP_Session::m_encodingHandler
protected
PMutex RTP_Session::m_encodingMutex
protected
list<FilterNotifier> RTP_Session::m_filters
protected
JitterBufferPtr RTP_Session::m_jitterBuffer
protected
std::list<RTP_DataFrame> RTP_Session::m_outOfOrderPackets
protected
unsigned RTP_Session::m_timeUnits
protected
DWORD RTP_Session::markerRecvCount
protected
DWORD RTP_Session::markerSendCount
protected
DWORD RTP_Session::maximumJitterLevel
protected
DWORD RTP_Session::maximumReceiveTime
protected
DWORD RTP_Session::maximumReceiveTimeAccum
protected
DWORD RTP_Session::maximumSendTime
protected
DWORD RTP_Session::maximumSendTimeAccum
protected
DWORD RTP_Session::minimumReceiveTime
protected
DWORD RTP_Session::minimumReceiveTimeAccum
protected
DWORD RTP_Session::minimumSendTime
protected
DWORD RTP_Session::minimumSendTimeAccum
protected
DWORD RTP_Session::octetsReceived
protected
DWORD RTP_Session::octetsSent
protected
PTimeInterval RTP_Session::oobTimeStampBase
protected
PBoolean RTP_Session::oobTimeStampBaseEstablished
protected
DWORD RTP_Session::oobTimeStampOutBase
protected
PTimeInterval RTP_Session::outOfOrderPacketTime
protected
PTimeInterval RTP_Session::outOfOrderWaitTime
protected
DWORD RTP_Session::packetsLost
protected
DWORD RTP_Session::packetsLostByRemote
protected
DWORD RTP_Session::packetsLostSinceLastRR
protected
DWORD RTP_Session::packetsOutOfOrder
protected
DWORD RTP_Session::packetsReceived
protected
DWORD RTP_Session::packetsSent
protected
PMutex RTP_Session::reportMutex
protected
PTimeInterval RTP_Session::reportTimeInterval
protected
PTimer RTP_Session::reportTimer
protected
bool RTP_Session::resequenceOutOfOrderPackets
protected
DWORD RTP_Session::rtcpPacketsSent
protected
unsigned RTP_Session::rxStatisticsCount
protected
unsigned RTP_Session::rxStatisticsInterval
protected
DWORD RTP_Session::senderReportsReceived
protected
unsigned RTP_Session::sessionID
protected
DWORD RTP_Session::syncSourceIn
protected
DWORD RTP_Session::syncSourceOut
protected
DWORD RTP_Session::timeStampOffs
protected
PString RTP_Session::toolName
protected
unsigned RTP_Session::txStatisticsCount
protected
unsigned RTP_Session::txStatisticsInterval
protected
RTP_UserData* RTP_Session::userData
protected

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