RRtpSession Class Reference

#include <mw/rtp.h>

Link against: rtpremoved.lib

class RRtpSession
Public Member Enumerations
enumTRtpSendPacketType { ERtcpPacketCNAME, ERtcpPacketNAME, ERtcpPacketEMAIL, ERtcpPacketPHONE, ..., ERtcpPacketPRIV }
Public Member Functions
RRtpSession()
IMPORT_C voidClose()
IMPORT_C voidDisableNonRtpData()
IMPORT_C voidDontReceive(TInt)
IMPORT_C RRtcpRRPartGetRRs()
IMPORT_C TIntGetSDES(const TInt, TDes8 &)
TBool IsOpen()
IMPORT_C TIntMaxRXSize()
IMPORT_C RRtpReceiveSourceNewReceiveSourceL()
IMPORT_C RRtpReceiveSourceNewReceiveSourceLC()
IMPORT_C RRtpSendSourceNewSendSourceL()
IMPORT_C TPtr8NonRtcpDataL()
IMPORT_C const TDesC8 &NonRtpDataL()
IMPORT_C voidOpenL(RSocketServ &, TSockAddr &, TSockAddr &, TInt, RConnection &, TInt, const TDesC8 &)
IMPORT_C voidOpenL(RSocketServ &, TSockAddr &, TSockAddr &, TInt, TInt, const TDesC8 &)
IMPORT_C voidOpenL(RSocket &, TInt, RSocket &, TInt, const TDesC8 &)
IMPORT_C voidOpenL(RSocket &, TInt, TInt)
IMPORT_C voidOpenL(RSocketServ &, TSockAddr &, TSockAddr &, TInt, RSubConnection &, TInt, const TDesC8 &)
IMPORT_C voidPrivRegisterEventCallbackL(TUint, TRtpCallbackFunction, TAny *, TInt)
IMPORT_C voidPrivRegisterEventCallbackL(TUint, TRtpCallbackFunction, TAny *)
IMPORT_C TBoolRTCPAutoSend()
voidRegisterEventCallbackL(TRtpEventType, void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness, TInt)
voidRegisterEventCallbackL(TRtpEventType, void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness)
IMPORT_C RSocket *RtcpSocket()
IMPORT_C TIntRtcpStatistics(TUint32, TRtcpStatistics &)
IMPORT_C RSocket *RtpSocket()
IMPORT_C voidSendAPPL(const TDesC8 &, const TDesC8 &, TUint8)
IMPORT_C voidSendDataL(TBool, const TDesC8 &, TRequestStatus &)
IMPORT_C voidSendRTCPPacketL(TDesC8 &)
IMPORT_C RRtpSendSourceSendSource()
IMPORT_C voidSetBandwidth(TUint)
IMPORT_C voidSetMaxRXSize(TInt)
IMPORT_C TIntSetPRIVL(const TDesC8 &, const TDesC8 &)
IMPORT_C voidSetPrePostProcessingRegisterCallback(MPrePostProcessingCallback *)
IMPORT_C voidSetRTCPAutoSend(TBool)
IMPORT_C voidSetRTPTimeConversion(TUint, TUint)
IMPORT_C voidSetRemoteAddress(const TSockAddr &)
IMPORT_C voidSetRemoteRtcpPort(TUint)
IMPORT_C voidSetRtcpInterval(TTimeIntervalMicroSeconds32 &)
IMPORT_C voidSetRtpStreamParameters(TInt, TInt, TInt)
IMPORT_C TIntSetSDESL(TInt, const TDesC8 &)
IMPORT_C TIntSetSamplingRate(TInt, TUint)
TBool operator!=(RRtpSession)
TBool operator==(RRtpSession)

Detailed Description

A handle to an RTP session.

This is the interface to the socket-level RTP service, and provides additional facilities such as header parsing, re-ordering out-of-order packets, demultiplexing multiple sources etc.

The class abstracts all RTP information going to/from a RTP socket, and its corresponding RTCP data.

Each RTP endpoint on a device needs its own RTP session.

Multiple hosts streaming to a port on this device correspond to different RRtpReceiveSource objects associated with the session.

The class behaviour assumes that an active scheduler has already been created and started; the class does not function correctly if not.

Member Enumeration Documentation

Enum TRtpSendPacketType

A set of bit values passed as a parameter to RRtpSession::SendRTCPPacketL() to specify the SDES (Source Description) items that are to be sent with the packet. One or more of these may be set.

See also: RRtpSession::SendRTCPPacketL()

EnumeratorValueDescription
ERtcpPacketCNAME1

Canonical End-Point Identifier SDES Item.

ERtcpPacketNAME2

User Name SDES Item.

ERtcpPacketEMAIL4

Electronic Mail Address SDES Item.

ERtcpPacketPHONE8

Phone Number SDES Item.

ERtcpPacketLOC16

Geographic User Location SDES Item.

ERtcpPacketTOOL32

Application or Tool Name SDES Item

ERtcpPacketNOTE64

Notice/Status SDES Item

ERtcpPacketPRIV128

Private Extensions SDES Item

Constructor & Destructor Documentation

RRtpSession ( )

RRtpSession()[inline]

Member Function Documentation

Close ( )

IMPORT_C voidClose()

Closes the session.

All RRtpSendSource and RRtpReceiveSource objects associated with this session are closed.

See also: RRtpSendSource RRtpReceiveSource

DisableNonRtpData ( )

IMPORT_C voidDisableNonRtpData()

Disables the receipt of non RTP data

Disables the receipt of non RTP data

DontReceive ( TInt )

IMPORT_C voidDontReceive(TIntaRtpOrRtcp)

Enables Receive only option for rtp or rtcp

Enables Receive only option for rtp or rtcp

ParameterDescription
aRtpOrRtcpTakes the values from the enum TPacketType

GetRRs ( )

IMPORT_C RRtcpRRPartGetRRs()

Gets an array contining the most recent RR (Receiver Report) from all hosts who are reporting on our send stream.

Gets an array contining the most recent RR (Receiver Report) from all hosts who are reporting on our send stream.

Returns: The array of RRs.The array of RRs.

GetSDES ( const TInt, TDes8 & )

IMPORT_C TIntGetSDES(const TIntaType,
TDes8 &aValue
)

Gets the data associated with the specified RTCP SDES (Source Description) item.

Note a that the PRIV (Private Extensions) SDES item is not supported by this mechanism.

Gets the data associated with the specified RTCP SDES (Source Description) item.

Note a that the PRIV (Private Extensions) SDES item is not supported by this mechanism.

ParameterDescription
aTypeThe value identifying the RTCP SDES item.
aValueA descriptor reference to the SDES item data.

Returns: KErrNotFound if the item type was not found in the most recent RTCP packet KErrNone if the operation is successfulKErrNotFound if the item type was not found in the most recent RTCP packet KErrNone if the operation is successful

IsOpen ( )

TBool IsOpen()const [inline]

Tests whether the RTP session represented by this handle is open.

Returns: ETrue, if the session is open, false otherwise.

MaxRXSize ( )

IMPORT_C TIntMaxRXSize()

Gets the current expected maximum size of a received packet.

panic
RTP 3 if the session has not been opened and initialised. Note that this panic is raised in debug mode only.

Returns: The current expected maximum receive size.

NewReceiveSourceL ( )

IMPORT_C RRtpReceiveSourceNewReceiveSourceL()

Creates a new receive stream, and returns the receive stream handle.

This function should only be called in response to an ERtpNewSource event.

panic
RTP 3 if the session has not been opened and initialised. Note that this panic is raised in debug mode only.

See also: TRtpEventType

Returns: The receive stream handle.

NewReceiveSourceLC ( )

IMPORT_C RRtpReceiveSourceNewReceiveSourceLC()

Creates a new receive stream, puts a pointer to the receive stream object onto the cleanup stack, and returns the receive stream handle.

This function should only be called in response to an ERtpNewSource event.

Note that the function does not put a pointer to the RRtpReceiveSource object onto the cleanup stack as you might normally expect, but puts a pointer to the receive stream object for which the returned RRtpReceiveSource is the handle.

Note also that the API does not give you access to the receive stream object for which the returned RRtpReceiveSource is the handle.

panic
RTP 3 if the session has not been opened and initialised. Note that this panic is raised in debug mode only.

See also: TRtpEventType CleanupStack

Returns: The receive stream handle.

NewSendSourceL ( )

IMPORT_C RRtpSendSourceNewSendSourceL()

Creates a new send stream, and returns the send stream handle.

Only one send stream per session is permitted, which means that you must not call this function if the send stream has already been created.

As the send stream is an active object, it cannot handle request completion events until control returns to the active scheduler. Typically, clients will want to add event registrations before that.

The Code panics if the SendSource has alredy been opened.

This function may leave if memory is not enough.

Creates a new send stream, and returns the send stream handle.

Only one send stream per session is permitted, which means that you must not call this function if the send stream has already been created.

As the send stream is an active object, it cannot handle request completion events until control returns to the active scheduler. Typically, clients will want to add event registrations before that.

Returns: The send stream handle.The send stream handle.

NonRtcpDataL ( )

IMPORT_C TPtr8NonRtcpDataL()

Gets the last received non RTCP data, If no data found function leaves

Gets the last received non RTCP data, If no data found function leaves

Returns: Returns the last received non RTCP dataReturns the last received non RTCP data

NonRtpDataL ( )

IMPORT_C const TDesC8 &NonRtpDataL()

Gets the last received non RTP data, If no data found function leaves

Gets the last received non RTP data, If no data found function leaves

Returns: Returns the last received non RTP dataReturns the last received non RTP data

OpenL ( RSocketServ &, TSockAddr &, TSockAddr &, TInt, RConnection &, TInt, const TDesC8 & )

IMPORT_C voidOpenL(RSocketServ &aServer,
TSockAddr &aLocalAddr,
TSockAddr &aRemoteAddr,
TIntaMaxRXSize,
RConnection &aConnection,
TIntaPriority = EPriorityNormal,
const TDesC8 &aCNAME = KNullDesC8
)

Opens the RTP session and initialises it.

No events will be generated until after control returns to the active scheduler. After successfully opening the session, the client has the opportunity to initialise the object by adding the event callbacks, that it requires.

See also: CActive

ParameterDescription
aServerAn already opened socket server session
aLocalAddrThe socket address to bind to at this end.
aRemoteAddrThe remote socket address.
aMaxRXSizeThe maximum expected size of a received packet. Note that this includes the packet header (as it is profile dependent).
aConnectionA started RConnection for the interface to open this session on.
aPriorityThe priority to be used for internal active objects.
aCNAMEThe CNAME (Canonical End-Point Identifier).

OpenL ( RSocketServ &, TSockAddr &, TSockAddr &, TInt, TInt, const TDesC8 & )

IMPORT_C voidOpenL(RSocketServ &aServer,
TSockAddr &aLocalAddr,
TSockAddr &aRemoteAddr,
TIntaMaxRXSize,
TIntaPriority = EPriorityNormal,
const TDesC8 &aCNAME = KNullDesC8
)

Opens the RTP session and initialises it.

No events will be generated until after control returns to the active scheduler. After successfully opening the session, the client has the opportunity to initialise the object by adding the event callbacks, that it requires.

See also: CActive

ParameterDescription
aServerAn already opened socket server session
aLocalAddrThe socket address to bind to at this end.
aRemoteAddrThe remote socket address.
aMaxRXSizeThe maximum expected size of a received packet. Note that this includes the packet header (as it is profile dependent).
aPriorityThe priority to be used for internal active objects.
aCNAMEThe CNAME (Canonical End-Point Identifier). RTCP is used only if CNAME is provided

OpenL ( RSocket &, TInt, RSocket &, TInt, const TDesC8 & )

IMPORT_C voidOpenL(RSocket &aSocket,
TIntaMaxRXSize,
RSocket &aRtcpSocket,
TIntaPriority = EPriorityNormal,
const TDesC8 &aCNAME =  KNullDesC8
)

Opens the session and initialises it.

No events will be generated until after control returns to the active scheduler. The client has this time to initialise the object by adding event callbacks.

ParameterDescription
aSocketThe connected socket.
aMaxRXSizeThe maximum size of a received packet.
aRtcpSocketThe RTCP socket.
aPriorityThe priority to be used for internal active objects
aCNAMEThe CNAME. A sensible default is supplied if none is provided.

OpenL ( RSocket &, TInt, TInt )

IMPORT_C voidOpenL(RSocket &aSocket,
TIntaMaxRXSize,
TIntaPriority = EPriorityNormal
)

Opens the session and initialises it without RTCP.

No events will be generated until after control returns to the active scheduler. After successfully opening the session, the client has the opportunity to initialise the object by adding the event callbacks, that it requires.

See also: CActive

ParameterDescription
aSocketAn already connected socket.
aMaxRXSizeThe maximum expected size of a received packet. Note that this includes the packet header (as it is profile dependent).
aPriorityThe priority to be used for internal active objects.

OpenL ( RSocketServ &, TSockAddr &, TSockAddr &, TInt, RSubConnection &, TInt, const TDesC8 & )

IMPORT_C voidOpenL(RSocketServ &aServer,
TSockAddr &aLocalAddr,
TSockAddr &aRemoteAddr,
TIntaMaxRXSize,
RSubConnection &aSubConnection,
TIntaPriority = EPriorityNormal,
const TDesC8 &aCNAME = KNullDesC8
)

Opens the session and initialises it.

No events will be generated until after control returns to the active scheduler. The client has this time to initialise the object by adding event callbacks.

This API uses the RTP Stack implemented as a CF Prorotocol. The SubConnection which is passed to the API should be initialised with the RTP Params.

Opens the RTP session and initialises it.

No events will be generated until after control returns to the active scheduler. After successfully opening the session, the client has the opportunity to initialise the object by adding the event callbacks, that it requires.

See also: CActive

ParameterDescription
aServerAn already opened socket server session
aLocalAddrThe socket address to bind to at this end.
aRemoteAddrThe remote socket address.
aMaxRXSizeThe maximum expected size of a received packet. Note that this includes the packet header (as it is profile dependent).
aSubConnectionThe subconnection with RTP Parametrs set on it.
aPriorityThe priority to be used for internal active objects.
aCNAMEThe CNAME (Canonical End-Point Identifier). RTCP is used only if CNAME is provided

PrivRegisterEventCallbackL ( TUint, TRtpCallbackFunction, TAny *, TInt )

IMPORT_C voidPrivRegisterEventCallbackL(TUintaType,
TRtpCallbackFunctionaCallback,
TAny *aPtr,
TIntaParameter
)

The event manager contains a number of callback registrations, each of which binds a function and pointer (normally an object) to a particular kind of event. Registrations can be bound to all events on a stream.

If a function is registered for a particular event, it will be called when that event occurs. One callback function can be associated with more than 1 callback registration. Callback functions take a pointer argument which was supplied as part of the registration

ParameterDescription
aTypeEvent type
aCallbackCallback object
aPtrPointer to data that needs to be passed to the callback function
aParameterParameter to be passed to internal callback subsystem

PrivRegisterEventCallbackL ( TUint, TRtpCallbackFunction, TAny * )

IMPORT_C voidPrivRegisterEventCallbackL(TUintaType,
TRtpCallbackFunctionaCallback,
TAny *aPtr
)

The event manager contains a number of callback registrations, each of which binds a function and pointer (normally an object) to a particular kind of event. Registrations can be bound to all events on a stream.

If a function is registered for a particular event, it will be called when that event occurs. One callback function can be associated with more than 1 callback registration. Callback functions take a pointer argument which was supplied as part of the registration

ParameterDescription
aTypeEvent type
aCallbackCallback object
aPtrPointer to data that needs to be passed to the callback function

RTCPAutoSend ( )

IMPORT_C TBoolRTCPAutoSend()const

Gets the RTCP Auto Send status.

See also: RRtpSession::SetRTCPAutoSend()

Gets the RTCP Auto Send status.

Returns: True, if RTCP SR, RR and SDES packets are automatically sent, false otherwiseTrue, if RTCP SR, RR and SDES packets are automatically sent, false otherwise

RegisterEventCallbackL ( TRtpEventType, void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness, TInt )

voidRegisterEventCallbackL(TRtpEventTypeaType,
void(*)(T *, const TRtpEvent &)aCallback,
T *aPtr,
TRtpOneShotnessaOneShot,
TIntaParameter
)[inline]

Registers a callback for the specified event.

Some compilers may not support templated member functions. A static version of this function is available that offers the same behaviour: RegisterEventCallbackL(RRtpSession,TRtpEventType,void (*aCallback)(T*, const TRtpEvent&),T*,TRtpOneShotness,TInt)

ParameterDescription
aTypeThe type of event.
aCallbackThe callback function. The function is templated, and is prototyped to take a pointer to an object of the template type and a const reference to a TRtpEvent. The function returns void.
aPtrA pointer that is passed to the callback function when that function is called.
aOneShotIndicates whether the callback function is only called once, or can be called more than once.
aParameterA parameter to be passed to the registration function. The meaning of this depends entirely on the event type. The parameter is optional - the other overload of this function is available for registrations that don't need to pass a parameter.

RegisterEventCallbackL ( TRtpEventType, void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness )

voidRegisterEventCallbackL(TRtpEventTypeaType,
void(*)(T *, const TRtpEvent &)aCallback,
T *aPtr,
TRtpOneShotnessaOneShot = ERtpNotOneShot
)[inline]

Registers a callback for the specified event.

Some compilers may not support templated member functions. A static version of this function is available that offers the same behaviour: RegisterEventCallbackL(RRtpSession,TRtpEventType,void (*aCallback)(T*, const TRtpEvent&),T*,TRtpOneShotness)

ParameterDescription
aTypeThe type of event.
aCallbackThe callback function. The function is templated, and is prototyped to take a pointer to an object of the template type and a const reference to a TRtpEvent. The function returns void.
aPtrA pointer that is passed to the callback function when that function is called.
aOneShotIndicates whether the callback function is only called once, or can be called more than once. If not specified, the default is to allow the callback function to be called more than once.

RtcpSocket ( )

IMPORT_C RSocket *RtcpSocket()

Gets a handle to the RTCP socket; it provides a direct access to the functionality of RTCP socket.

Gets a handle to the RTCP socket; it provides a direct access to the functionality of RTCP socket.

Returns: The RTCP socket for the current sessionThe RTCP socket for the current session

RtcpStatistics ( TUint32, TRtcpStatistics & )

IMPORT_C TIntRtcpStatistics(TUint32aSsrc,
TRtcpStatistics &aRtcpStatistics
)

Gets the remote RTCP Statistics for the current RTP session

Gets the remote RTCP Staistics for the current RTP session

RtpSocket ( )

IMPORT_C RSocket *RtpSocket()

Gets a handle to the RTP socket; it provides a direct access to the functionality of RTP socket.

Gets a handle to the RTP socket; it provides a direct access to the functionality of RTP socket.

Returns: The RTP socket for the current sessionThe RTP socket for the current session

SendAPPL ( const TDesC8 &, const TDesC8 &, TUint8 )

IMPORT_C voidSendAPPL(const TDesC8 &aName,
const TDesC8 &aAppData =  KNullDesC8 ,
TUint8aSubType = 0
)

Sends an APP (Application Defined) RTCP Packet.

The packet is sent immediately.

If used with RTCP auto-send, the function disrupts the auto-send intervals. Note however that Symbian reserves the right to fix this.

Sends an RTCP APP packet.

ParameterDescription
aNameApplication name(4-bytes)
aAppDataApplication specific data
aSubTypeApplication defined subtype

SendDataL ( TBool, const TDesC8 &, TRequestStatus & )

IMPORT_C voidSendDataL(TBoolaSocketType,
const TDesC8 &aData,
TRequestStatus &aStatus
)

Send a non-RTP (control) data packet asynchronously

Send a non-RTP (control) data packet asynchronously

ParameterDescription
aSocketTypeSocketType that tells whether non RTP data has to go through RTP or RTCP socket
aDataNon RTP data that has to be sent
aStatusTells whether the data has been sent successfully

SendRTCPPacketL ( TDesC8 & )

IMPORT_C voidSendRTCPPacketL(TDesC8 &aPacket)

Sends an RTCP packet now.

Calling this function doesn't make much sense if auto-send is on, as it will result in packets being sent at rather incoherent intervals.

Example:

If every report has go with CNAME,LOC and PRIV... then set flags as fallows..

SDES Flags: 1 2 3 4 5 6 7 8 1 0 0 0 1 0 0 1

See also: TRtpSendPacketType

Sends an RTCP packet now.

Calling this function doesn't make much sense if auto-send is on, as it will result in packets being sent at rather incoherent intervals.

ParameterDescription
aPacketThe RTCP packet to be sent

SendSource ( )

IMPORT_C RRtpSendSourceSendSource()

Gets the handle to the send stream object associated with this session.

The send stream object is the one created in a previous call to NewSendSourceL(). If the send stream object has not been created, then the returned handle will refer to a closed send stream.

See also: RRtpSendSource NewSendSourceL()

Returns the existing send stream handle.

As the send stream is an active object, it cannot handle request completion events until control returns to the active scheduler. Typically, clients will want to add event registrations before that.

Returns: The handle to the send stream object.The send stream handle.

SetBandwidth ( TUint )

IMPORT_C voidSetBandwidth(TUintaBandwidth)

Sets the estimated bandwidth used by the session.

This is used to decide when to send RTCP status packets. The default value is read from a resource file and should be a reasonably sensible default based on the maximum bandwidth of the handset.

Sets the estimated bandwidth used by the session.

This is used to decide when to send RTCP status packets. The default value is read from a resource file and should be a reasonably sensible default based on the maximum bandwidth of the handset.

ParameterDescription
aBandwidthThe bandwidth in bps.

SetMaxRXSize ( TInt )

IMPORT_C voidSetMaxRXSize(TIntaMaxRXSize)

Sets the expected maximum size of a received packet.

This does not affect the packet that is being downloaded or is being waited for, so it is entirely possible that the first packet received after correctly setting the receive packet size will still overflow.

panic
RTP 3 if the session has not been opened and initialised. Note that this panic is raised in debug mode only.
ParameterDescription
aMaxRXSizeThe new expected maximum size.

SetPRIVL ( const TDesC8 &, const TDesC8 & )

IMPORT_C TIntSetPRIVL(const TDesC8 &aPrefix,
const TDesC8 &aValue
)

Sets the data associated with the PRIV (Private Extensions) SDES item.

Stores an SDES PRIV packet information to be sent in the impending timer-exprity event.

ParameterDescription
aPrefixThe prefix name
aValueThe prefix value. This must be less than 256 - length of prefix string, else the function returns KErrTooBig error.

Returns: KErrTooBig if the length of the aValue and aPrefix combined is more than KMaxSdesItemLength(=255) KErrNone if the operation is successfulKErrTooBig If the size of aValue is more than 255- length of prefix string KErrNone Successful operation

SetPrePostProcessingRegisterCallback ( MPrePostProcessingCallback * )

IMPORT_C voidSetPrePostProcessingRegisterCallback(MPrePostProcessingCallback *aPrePostProcessingCallback)

Pre and Post processing function for RTP and RTCP packets

If a function is registered for a particular event, it will be called when that event occurs. One callback function can be associated with more than 1 callback registration. Callback functions take a pointer argument which was supplied as part of the registration

SetRTCPAutoSend ( TBool )

IMPORT_C voidSetRTCPAutoSend(TBoolaAutoSend)

Enables or disables the automatic sending of RTCP SR (Sender Report), RR (Receiver Report), and SDES (Source Description) packets.

Note that if automatic sending is not enabled and RTCP sending is required, then explicit calls to SendRTCPPacketL() will be required.

See also: RRtpSession::SendRTCPPacketL()

Enables or disables the automatic sending of RTCP SR (Sender Report), RR (Receiver Report), and SDES (Source Description) packets.

Note that if automatic sending is not enabled and RTCP sending is required, then explicit calls to SendRTCPPacketL() will be required.

ParameterDescription
aAutoSendETrue, if RTCP packets need to be send automatically EFalse otherwise.

SetRTPTimeConversion ( TUint, TUint )

IMPORT_C voidSetRTPTimeConversion(TUintaNow,
TUintaConversion
)

Supplies information about the profile-specific RTP timestamps.

This is used to generate the RTP timestamps in RTCP packets. It is not used to generate timestamps in RTP packets as they must accurately relate to the time of the sample.

Supplies information about the profile-specific RTP timestamps.

This is used to generate the RTP timestamps in RTCP packets. It is not used to generate timestamps in RTP packets as they must accurately relate to the time of the sample.

ParameterDescription
aNowThe time now in RTP format
aConversionThe number of nanoseconds per RTP timer tick.

SetRemoteAddress ( const TSockAddr & )

IMPORT_C voidSetRemoteAddress(const TSockAddr &aRemoteAddr)

Sets the remote RTP address for the current RTP session

Sets the remote RTP address for the current active session

ParameterDescription
aRemoteAddrRemote RTP address to be set

SetRemoteRtcpPort ( TUint )

IMPORT_C voidSetRemoteRtcpPort(TUintaPort)

Sets the remote RTCP port for the current active RTP session

Sets the remote RTCP port for the current active RTP session

SetRtcpInterval ( TTimeIntervalMicroSeconds32 & )

IMPORT_C voidSetRtcpInterval(TTimeIntervalMicroSeconds32 &aInterval)

Sets the RTCP Auto Send interval. This disables the RFC based calculation of RTCP intervals. To re-enable auto calculation, set the interval to zero.

Sets the RTCP Auto Send interval. This disables the RFC based calculation of RTCP intervals. To re-enable auto calculation, set the interval to zero.

ParameterDescription
aIntervalTime interval after which an RTCP auto-send will take place

SetRtpStreamParameters ( TInt, TInt, TInt )

IMPORT_C voidSetRtpStreamParameters(TIntaMinSequential,
TIntaMaxMisorder,
TIntaMaxDropout
)

Sets the number of sequential packets that must be received before a stream is considered good.

Sets the maximum number of dropped packets to be considered a dropout, as opposed to an ended and restarted stream.

Sets the maximum number of packets by which a packet can be delayed before it is considered dropped.

Post-condition
The session will be 'restarted', i.e. it resets the sequence number sequence and resets all RTCP statistics.
Sets the number of sequential packets that must be received before a stream is considered good.

Sets the maximum number of dropped packets to be considered a dropout, as opposed to an ended and restarted stream.

Sets the maximum number of packets by which a packet can be delayed before it is considered dropped.

Post-condition
The session will be 'restarted', i.e. it resets the sequence number sequence and resets all RTCP statistics.
ParameterDescription
aMinSequentialThe number of sequential packets.
aMaxMisorderThe maximum number of packets.
aMaxDropoutThe number of sequential packets.

SetSDESL ( TInt, const TDesC8 & )

IMPORT_C TIntSetSDESL(TIntaType,
const TDesC8 &aValue
)

Sets the data associated with the specified RTCP SDES (Source Description) item for sending in the next SDES packet only.

The function Leaves if duplicate values are set for the same CNAME.

The SDES Items set by this API is valid only till the stack sends the next RTCP Packet. The list of items(except CNAME and NONE) is flushed after every RTCP report is sent

Note a that the PRIV (Private Extensions) SDES item is not supported by this mechanism.

NOTE - This call cannot be used to set a different CNAME for this session. The default CNAME is send with every SDES packets.

Stores an SDES packet information to be sent in the impending timer-exprity event.

ParameterDescription
aTypeThe item type
aValueThe item value. This must be less than 256 else the function returns KErrTooBig error.

Returns: KErrTooBig if the length of the aValue is more than KMaxSdesItemLength(=255) KErrNone if the operation is successfulKErrTooBig If the size of aValue is more than 255 KErrNone Successful operation

SetSamplingRate ( TInt, TUint )

IMPORT_C TIntSetSamplingRate(TIntaPayloadType,
TUintaSamplingRate
)

Sets the sampling rate for a Particular Payloadtype Sets the sampling rate for a Particular Payloadtype

ParameterDescription
aPayloadTypePayloadType ( Should be between 96-127 ) see RFC 3551

operator!= ( RRtpSession )

TBool operator!=(RRtpSessionaThat)const [inline]

Tests whether this session handle represents a different session to the one represented by the specified handle.

ParameterDescription
aThatThe handle of the session to be compared.

Returns: ETrue, if the represented sessions are different, false otherwise.

operator== ( RRtpSession )

TBool operator==(RRtpSessionaThat)const [inline]

Tests whether this session handle represents the same session as the one represented by the specified handle.

ParameterDescription
aThatThe handle of the session to be compared.

Returns: ETrue, if the represented sessions are the same, false otherwise.