class RRtpSendSource |
A handle to a send stream.
Use this class to manage the creation and sending of packets. A session can have only one send stream.
Only one packet can be sent at any one time. Once a packet has been sent, the packet cannot be closed and no further packets can be sent until an event signalling the completion of the send operation has occurred. This will be one of the events defined by the enum values: ERtpSendSucceeded and ERtpSendFail.
A client must monitor these events so that it can schedule the sending of subsequent packets. It does this by implementing and registering callback functions that handle these events.
TRtpEventType
Public Member Functions | |
---|---|
RRtpSendSource () | |
IMPORT_C TInt | Alignment () |
IMPORT_C void | ByeL ( TDesC8 &) |
IMPORT_C void | Cancel () |
IMPORT_C void | Close () |
IMPORT_C TUint32 | GetLocalSSRC () |
TBool | IsOpen () |
IMPORT_C TBool | IsSending () |
IMPORT_C RRtpSendPacket | NewSendPacketL ( TInt , TInt ) |
IMPORT_C RRtpSendPacket | NewSendPacketLC ( TInt , TInt ) |
IMPORT_C void | PrivRegisterEventCallbackL ( TUint , TRtpCallbackFunction , TAny *, TInt ) |
IMPORT_C void | PrivRegisterEventCallbackL ( TUint , TRtpCallbackFunction , TAny *) |
void | RegisterEventCallbackL ( TRtpEventType , void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness , TInt ) |
void | RegisterEventCallbackL ( TRtpEventType , void(*)(T *, const TRtpEvent &), T *, TRtpOneShotness ) |
IMPORT_C void | SetAlignment ( TInt ) |
IMPORT_C void | SetDefaultPayloadSize ( TInt ) |
IMPORT_C void | SetPayloadType ( TUint ) |
TBool | operator!= ( RRtpSendSource ) |
TBool | operator== ( RRtpSendSource ) |
Private Attributes | |
---|---|
CRtpSendSource * | iPtr |
IMPORT_C void | ByeL | ( | TDesC8 & | aReason | ) |
Sends a Bye RTCP packet.
TDesC8 & aReason | The reason for sending the Bye RTCP packet. |
IMPORT_C void | Cancel | ( | ) |
Cancels the outstanding send on the send Stream
The send object must be cancelled if a send request is outstanding
IMPORT_C void | Close | ( | ) |
Closes the send stream.
The send stream object cannot be closed if an event is currently being handled, i.e. a call back into client code is currently in progress.
TBool | IsOpen | ( | ) | const [inline] |
Tests whether the send stream represented by this handle is open.
IMPORT_C TBool | IsSending | ( | ) |
Tests whether the send stream is currently sending an RTP packet.
IMPORT_C RRtpSendPacket | NewSendPacketL | ( | TInt | aPayloadSize = 0, |
TInt | aHeaderExtensionSize = KRtpNoExtension | |||
) |
Creates a new RTP send packet, and returns the RTP send packet handle.
On return from this call, the packet is open but uninitialised, except for the payload type which is set to the default value set by a previous call to SetPayloadType()
The returned packet is owned by the caller of this function; it is not owned by the send stream. It must be explicitly closed by a call to RRtpSendPacket::Close()
RRtpSendPacket::SetPayloadType() RRtpSendPacket::SetDefaultPayloadSize() RRtpSendPacket::Close() KRtpNoExtension
TInt aPayloadSize = 0 | The size of the payload. If not explicitly specified, i.e. the default value of 0 is passed to the function, then the size actually used is the value set by a previous call to SetDefaultPayloadSize(). |
TInt aHeaderExtensionSize = KRtpNoExtension | The size of the extension specified as the number of 4-byte words. This value must exclude the length of the extension header. Zero is a permissible value. If unspecified, i.e. the default value of KRtpNoExtension is passed to the function, then the packet will have no extension. |
IMPORT_C RRtpSendPacket | NewSendPacketLC | ( | TInt | aPayloadSize = 0, |
TInt | aHeaderExtensionSize = KRtpNoExtension | |||
) |
Creates a new RTP send packet, puts a pointer to the RTP send packet object onto the cleanup stack, and returns the RTP send packet handle.
On return from this call, the packet is open but uninitialised, except for the payload type which is set to the default value set by a previous call to SetPayloadType()
The returned packet is owned by the caller of this function; it is not owned by the send stream. It must be explicitly closed by a call to RRtpSendPacket::Close() .
Note that the function does not put a pointer to the RRtpSendPacket object onto the cleanup stack as you might normally expect, but puts a pointer to the RTP send packet object for which the returned RRtpSendPacket is the handle.
RRtpSendPacket::SetPayloadType() RRtpSendPacket::SetDefaultPayloadSize() RRtpSendPacket::Close() KRtpNoExtension
TInt aPayloadSize = 0 | The size of the payload. If unspecified, i.e. the default value of 0 is passed to the function, then the size actually used is the value set by a previous call to SetDefaultPayloadSize(). |
TInt aHeaderExtensionSize = KRtpNoExtension | The size of the extension specified as the number of 4-byte words. This value must exclude the length of the extension header. Zero is a permissible value. If unspecified, i.e. the default value of KRtpNoExtension is passed to the function, then the packet will have no extension. |
IMPORT_C void | PrivRegisterEventCallbackL | ( | TUint | aType, |
TRtpCallbackFunction | aCallback, | |||
TAny * | aPtr, | |||
TInt | aParameter | |||
) |
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
TUint aType | Event type |
TRtpCallbackFunction aCallback | Callback object |
TAny * aPtr | Pointer to data that needs to be passed to the callback function |
TInt aParameter | Parameter to be passed to internal callback subsystem |
IMPORT_C void | PrivRegisterEventCallbackL | ( | TUint | aType, |
TRtpCallbackFunction | aCallback, | |||
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
TUint aType | Event type |
TRtpCallbackFunction aCallback | Callback object |
TAny * aPtr | Pointer to data that needs to be passed to the callback function |
void | RegisterEventCallbackL | ( | TRtpEventType | aType, |
void(*)(T *, const TRtpEvent &) | aCallback, | |||
T * | aPtr, | |||
TRtpOneShotness | aOneShot, | |||
TInt | aParameter | |||
) | [inline] |
void | RegisterEventCallbackL | ( | TRtpEventType | aType, |
void(*)(T *, const TRtpEvent &) | aCallback, | |||
T * | aPtr, | |||
TRtpOneShotness | aOneShot = ERtpNotOneShot | |||
) | [inline] |
TRtpEventType aType | |
void(*)(T *, const TRtpEvent &) aCallback | |
T * aPtr | |
TRtpOneShotness aOneShot = ERtpNotOneShot |
IMPORT_C void | SetAlignment | ( | TInt | aAlignment | ) |
Sets the alignment required for padding.
After padding, all blocks will be a multiple of this length.
TInt aAlignment | The padding value. This must be in the range: 1-255. A value of 1 means don't pad and is the default value. |
IMPORT_C void | SetDefaultPayloadSize | ( | TInt | aPayloadSize | ) |
Sets the default payload size for packets that are to be sent.
This is the default payload size used when a new RTP send packet is created in calls to: RRtpSendSource::NewSendPacketL() and RRtpSendSource::NewSendPacketLC() .
RRtpSendSource::NewSendPacketLC() RRtpSendSource::NewSendPacketL()
TInt aPayloadSize | The payload size. |
IMPORT_C void | SetPayloadType | ( | TUint | aPayloadType | ) |
Sets the default payload type for packets that are to be sent.
This is the payload type used when a new RTP send packet is created in calls to: RRtpSendSource::NewSendPacketL() and RRtpSendSource::NewSendPacketLC() .
RRtpSendSource::NewSendPacketLC() RRtpSendSource::NewSendPacketL()
TUint aPayloadType | The payload type. |
TBool | operator!= | ( | RRtpSendSource | aThat | ) | const [inline] |
Tests whether this send stream handle represents a different send stream to the one represented by the specified handle.
RRtpSendSource aThat | The handle of the send stream to be compared. |
TBool | operator== | ( | RRtpSendSource | aThat | ) | const [inline] |
Tests whether this send stream handle represents the same send stream as the one represented by the specified handle.
RRtpSendSource aThat | The handle of the send stream to be compared. |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.