This class is for encpsulating the IETF Real Time Protocol interface
Inheritance:
Public Methods
| Construction
|
| Operations
|
| Member variable access
|
Documentation
This class is for encpsulating the IETF Real Time Protocol interface
Construction
RTP_Session( unsigned id, RTP_UserData* userData = NULL )
- Create a new RTP session.
- Parameters:
- id - Session ID for RTP channel
userData - Optional data for session.
~RTP_Session()
- Delete a session.
This deletes the userData field.
Operations
void SetJitterBufferSize( unsigned minJitterDelay, unsigned maxJitterDelay, PINDEX stackSize = 30000 )
- Sets the size of the jitter buffer to be used by this RTP session.
A session default to not having any jitter buffer enabled for reading
and the ReadBufferedData() function simply calls ReadData(). Once a
jitter buffer has been created it cannot be removed, though its size
may be adjusted.
If the jitterDelay paramter is zero, it destroys the jitter buffer
attached to this RTP session.
- Parameters:
- minJitterDelay - Minimum jitter buffer delay in RTP timestamp units
maxJitterDelay - Maximum jitter buffer delay in RTP timestamp units
stackSize - Stack size for jitter thread
unsigned 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.
virtual BOOL ModifyQOS(RTP_QOS* )
- Modifies the QOS specifications for this RTP session
BOOL ReadBufferedData( DWORD timestamp, RTP_DataFrame & frame )
- Read a data frame from the RTP channel.
This function will conditionally read data from eth jitter buffer or
directly if there is no jitter buffer enabled. An application should
generally use this in preference to directly calling ReadData().
- Parameters:
- timestamp - Timestamp to read from buffer.
frame - Frame read from the RTP session
virtual BOOL ReadData( RTP_DataFrame & frame ) = 0
- 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:
- frame - Frame read from the RTP session
virtual BOOL WriteData( RTP_DataFrame & frame ) = 0
- Write a data frame from the RTP channel.
- Parameters:
- frame - Frame to write to the RTP session
virtual BOOL WriteControl( RTP_ControlFrame & frame ) = 0
- Write a control frame from the RTP channel.
- Parameters:
- frame - Frame to write to the RTP session
virtual BOOL SendReport()
- Write the RTCP reports
virtual void Close( BOOL reading ) = 0
- Close down the RTP session.
- Parameters:
- reading - Closing the read side of the session
virtual PString GetLocalHostName() = 0
- Get the local host name as used in SDES packes
Call back functions
Member variable access
unsigned GetSessionID() const
- Get the ID for the RTP session
PString GetCanonicalName() const
- Get the canonical name for the RTP session
void SetCanonicalName(const PString & name)
- Set the canonical name for the RTP session
PString GetToolName() const
- Get the tool name for the RTP session
void SetToolName(const PString & name)
- Set the tool name for the RTP session
RTP_UserData* GetUserData() const
- Get the user data for the session
void SetUserData( RTP_UserData* data )
- Set the user data for the session
DWORD GetSyncSourceOut() const
- Get the source output identifier
void IncrementReference()
- Increment reference count for RTP session
BOOL DecrementReference()
- Decrement reference count for RTP session
BOOL WillIgnoreOtherSources() const
- Indicate if will ignore all but first received SSRC value
void SetIgnoreOtherSources( BOOL ignore )
- Indicate if will ignore all but first received SSRC value.
- Parameters:
- ignore - Flag for ignore other SSRC values
BOOL WillIgnoreOutOfOrderPackets() const
- Indicate if will ignore out of order packets
void SetIgnoreOutOfOrderPackets( BOOL ignore )
- Indicate if will ignore out of order packets.
- Parameters:
- ignore - Flag for ignore out of order packets
const PTimeInterval& GetReportTimeInterval()
- Get the time interval for sending RTCP reports in the session
void SetReportTimeInterval( const PTimeInterval & interval )
- Set the time interval for sending RTCP reports in the session.
- Parameters:
- interval - New time interval for reports.
unsigned GetTxStatisticsInterval()
- Get the interval for transmitter statistics in the session
void SetTxStatisticsInterval( unsigned packets )
- Set the interval for transmitter statistics in the session.
- Parameters:
- packets - Number of packets between callbacks
unsigned GetRxStatisticsInterval()
- Get the interval for receiver statistics in the session
void SetRxStatisticsInterval( unsigned packets )
- Set the interval for receiver statistics in the session.
- Parameters:
- packets - Number of packets between callbacks
DWORD GetPacketsSent() const
- Get total number of packets sent in session
DWORD GetOctetsSent() const
- Get total number of octets sent in session
DWORD GetPacketsReceived() const
- Get total number of packets received in session
DWORD GetOctetsReceived() const
- Get total number of octets received in session
DWORD GetPacketsLost() const
- Get total number received packets lost in session
DWORD GetPacketsOutOfOrder() const
- Get total number of packets received out of order in session
DWORD GetPacketsTooLate() const
- Get total number received packets too late to go into jitter buffer
DWORD GetAverageSendTime() const
- Get average time between sent packets.
This is averaged over the last txStatisticsInterval packets and is in
milliseconds.
DWORD GetMaximumSendTime() const
- Get maximum time between sent packets.
This is over the last txStatisticsInterval packets and is in
milliseconds.
DWORD GetMinimumSendTime() const
- Get minimum time between sent packets.
This is over the last txStatisticsInterval packets and is in
milliseconds.
DWORD GetAverageReceiveTime() const
- Get average time between received packets.
This is averaged over the last rxStatisticsInterval packets and is in
milliseconds.
DWORD GetMaximumReceiveTime() const
- Get maximum time between received packets.
This is over the last rxStatisticsInterval packets and is in
milliseconds.
DWORD GetMinimumReceiveTime() const
- Get minimum time between received packets.
This is over the last rxStatisticsInterval packets and is in
milliseconds.
DWORD GetAvgJitterTime() const
- Get averaged jitter time for received packets.
This is the calculated statistical variance of the interarrival
time of received packets in milliseconds.
DWORD GetMaxJitterTime() const
- Get averaged jitter time for received packets.
This is the maximum value of jitterLevel for the session.
- Direct child classes:
- RTP_UDP
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.