class RTP_Session

This class is for encpsulating the IETF Real Time Protocol interface

Inheritance:


Public Methods

[more] Construction
[more] Operations
[more] Member variable access


Documentation

This class is for encpsulating the IETF Real Time Protocol interface
o Construction

o 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.

o ~RTP_Session()
Delete a session. This deletes the userData field.

o Operations

ovoid 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

ounsigned 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.

ovirtual BOOL ModifyQOS(RTP_QOS* )
Modifies the QOS specifications for this RTP session

oBOOL 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

ovirtual 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

ovirtual BOOL WriteData( RTP_DataFrame & frame ) = 0
Write a data frame from the RTP channel.
Parameters:
frame - Frame to write to the RTP session

ovirtual BOOL WriteControl( RTP_ControlFrame & frame ) = 0
Write a control frame from the RTP channel.
Parameters:
frame - Frame to write to the RTP session

ovirtual BOOL SendReport()
Write the RTCP reports

ovirtual void Close( BOOL reading ) = 0
Close down the RTP session.
Parameters:
reading - Closing the read side of the session

ovirtual PString GetLocalHostName() = 0
Get the local host name as used in SDES packes

o Call back functions

o Member variable access

ounsigned GetSessionID() const
Get the ID for the RTP session

oPString GetCanonicalName() const
Get the canonical name for the RTP session

ovoid SetCanonicalName(const PString & name)
Set the canonical name for the RTP session

oPString GetToolName() const
Get the tool name for the RTP session

ovoid SetToolName(const PString & name)
Set the tool name for the RTP session

oRTP_UserData* GetUserData() const
Get the user data for the session

ovoid SetUserData( RTP_UserData* data )
Set the user data for the session

oDWORD GetSyncSourceOut() const
Get the source output identifier

ovoid IncrementReference()
Increment reference count for RTP session

oBOOL DecrementReference()
Decrement reference count for RTP session

oBOOL WillIgnoreOtherSources() const
Indicate if will ignore all but first received SSRC value

ovoid SetIgnoreOtherSources( BOOL ignore )
Indicate if will ignore all but first received SSRC value.
Parameters:
ignore - Flag for ignore other SSRC values

oBOOL WillIgnoreOutOfOrderPackets() const
Indicate if will ignore out of order packets

ovoid SetIgnoreOutOfOrderPackets( BOOL ignore )
Indicate if will ignore out of order packets.
Parameters:
ignore - Flag for ignore out of order packets

oconst PTimeInterval& GetReportTimeInterval()
Get the time interval for sending RTCP reports in the session

ovoid SetReportTimeInterval( const PTimeInterval & interval )
Set the time interval for sending RTCP reports in the session.
Parameters:
interval - New time interval for reports.

ounsigned GetTxStatisticsInterval()
Get the interval for transmitter statistics in the session

ovoid SetTxStatisticsInterval( unsigned packets )
Set the interval for transmitter statistics in the session.
Parameters:
packets - Number of packets between callbacks

ounsigned GetRxStatisticsInterval()
Get the interval for receiver statistics in the session

ovoid SetRxStatisticsInterval( unsigned packets )
Set the interval for receiver statistics in the session.
Parameters:
packets - Number of packets between callbacks

oDWORD GetPacketsSent() const
Get total number of packets sent in session

oDWORD GetOctetsSent() const
Get total number of octets sent in session

oDWORD GetPacketsReceived() const
Get total number of packets received in session

oDWORD GetOctetsReceived() const
Get total number of octets received in session

oDWORD GetPacketsLost() const
Get total number received packets lost in session

oDWORD GetPacketsOutOfOrder() const
Get total number of packets received out of order in session

oDWORD GetPacketsTooLate() const
Get total number received packets too late to go into jitter buffer

oDWORD GetAverageSendTime() const
Get average time between sent packets. This is averaged over the last txStatisticsInterval packets and is in milliseconds.

oDWORD GetMaximumSendTime() const
Get maximum time between sent packets. This is over the last txStatisticsInterval packets and is in milliseconds.

oDWORD GetMinimumSendTime() const
Get minimum time between sent packets. This is over the last txStatisticsInterval packets and is in milliseconds.

oDWORD GetAverageReceiveTime() const
Get average time between received packets. This is averaged over the last rxStatisticsInterval packets and is in milliseconds.

oDWORD GetMaximumReceiveTime() const
Get maximum time between received packets. This is over the last rxStatisticsInterval packets and is in milliseconds.

oDWORD GetMinimumReceiveTime() const
Get minimum time between received packets. This is over the last rxStatisticsInterval packets and is in milliseconds.

oDWORD GetAvgJitterTime() const
Get averaged jitter time for received packets. This is the calculated statistical variance of the interarrival time of received packets in milliseconds.

oDWORD 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++.