RRtpReceiveSource Class Reference

class RRtpReceiveSource

A handle to a receive stream.

An object of this type represents the stream of data on a single SSRC and delivers the RTP packets and RTCP information in the order they arrive.

Note that RTP does not guarantee the order of delivery, which means that the client may want to buffer the data.

Public Member Functions
RRtpReceiveSource()
IMPORT_C voidClose()
IMPORT_C TDesC8 &GetByeReason()
IMPORT_C voidGetLastApp(TPtrC8 &, TPtrC8 &, TUint &)
IMPORT_C TIntGetSDES(const TInt, TDes8 &)
IMPORT_C RRtcpSRPartGetSR()
TBool IsOpen()
IMPORT_C RRtpReceivePacketPacket()
IMPORT_C TUintPayLoadTypeL()
IMPORT_C voidPrivRegisterEventCallbackL(TUint, TRtpCallbackFunction, TAny *, TInt)
IMPORT_C voidPrivRegisterEventCallbackL(TUint, TRtpCallbackFunction, TAny *)
voidRegisterEventCallbackL(TRtpEventType, void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness, TInt)
voidRegisterEventCallbackL(TRtpEventType, void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness)
IMPORT_C TUintSSRC()
TBool operator!=(RRtpReceiveSource)
TBool operator==(RRtpReceiveSource)
Private Attributes
CRtpReceiveSource *iPtr

Constructor & Destructor Documentation

RRtpReceiveSource()

RRtpReceiveSource()[inline]

Default constructor

Member Functions Documentation

Close()

IMPORT_C voidClose()

Closes the receive stream releases all associated resources.

This includes closing all RRtpReceivePacket objects that have not already been closed.

The receive stream object cannot be closed if an event is currently being handled, i.e. a call back into client code is currently in progress.

GetByeReason()

IMPORT_C TDesC8 &GetByeReason()

Gets the reason for a BYE packet.

GetLastApp(TPtrC8 &, TPtrC8 &, TUint &)

IMPORT_C voidGetLastApp(TPtrC8 &aName,
TPtrC8 &aAppData,
TUint &aSubType
)

Parameters from the last APP (Application Defined) packet.

Parameters

TPtrC8 & aNameFour-bytes application name
TPtrC8 & aAppDataApplciation specific data
TUint & aSubTypeApplication defined sub-type of the APP packet

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.

Parameters

const TInt aTypeThe value identifying the RTCP SDES item.
TDes8 & aValue

GetSR()

IMPORT_C RRtcpSRPartGetSR()

Gets the most recent SR ((Sender Report) from this SSRC.

IsOpen()

TBool IsOpen()const [inline]

Tests whether the receive stream represented by this handle is open.

Packet()

IMPORT_C RRtpReceivePacketPacket()

Gets the packet that has just arrived, or a closed packet if there isn't one.

Ownership of the packet is transferred to the caller of this function.

Note that if this function is called twice in quick succession, then it will return a closed packet the second time.

PayLoadTypeL()

IMPORT_C TUintPayLoadTypeL()

Returns the payloadtype of the newly arrived packet. Should be called before the packet() function. If an open Packet is not present the function will leave with KErrNotFound.

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

Parameters

TUint aTypeEvent type
TRtpCallbackFunction aCallbackCallback object
TAny * aPtrPointer to data that needs to be passed to the callback function
TInt 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

Parameters

TUint aTypeEvent type
TRtpCallbackFunction aCallbackCallback object
TAny * aPtrPointer to data that needs to be passed to the callback function

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

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

Parameters

TRtpEventType aType
void(*)(T *, const TRtpEvent &) aCallback
T * aPtr
TRtpOneShotness aOneShot
TInt aParameter

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

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

Parameters

TRtpEventType aType
void(*)(T *, const TRtpEvent &) aCallback
T * aPtr
TRtpOneShotness aOneShot = ERtpNotOneShot

SSRC()

IMPORT_C TUintSSRC()const

Gets the SSRC of the remote end

Gets the SSRC, the 32-bit numeric synchronisation source identifier.

panic
RTP 4 if the receive stream has not been opened. Note that this panic is raised in debug mode only; in release mode, calling this function when the packet has not been opened is likely to raise panics such as KERN-EXEC 3.

operator!=(RRtpReceiveSource)

TBool operator!=(RRtpReceiveSourceaThat)const [inline]

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

Parameters

RRtpReceiveSource aThatThe handle of the receive stream to be compared.

operator==(RRtpReceiveSource)

TBool operator==(RRtpReceiveSourceaThat)const [inline]

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

Parameters

RRtpReceiveSource aThatThe handle of the receive stream to be compared.

Member Data Documentation

CRtpReceiveSource * iPtr

CRtpReceiveSource *iPtr[private]