This page describes how to prepare, create and send an RTP packet.
RRtpSendPacket allows you to set the following fields for an RTP packet.
SetMarker() : Sets or unsets the marker bit.
SetPayloadType() : Sets the default payload type this is usually set befor e creating a new packet.
SetTimeStamp() : Sets the sampling instant of first octet in the RTP data packet (also RTCP packet).
SetFlags() : Sets the first 32 bits of the packet header.
You can retrieve the following from an RTP packet:
WritePayload() : Gets the descriptor to which the data can be written.
RRtpSendSource allows you to create a new RTP packet. NewSendPacketL and NewSendPacketLC create a new send RTP packet. These functions return a handle to an RRtpSendPacket object.
Set the default payload type and payload size before you create the new send packet using SetPayloadType() and SetDefaultPayloadSize() respectively.
Set the header extension size to multiples of 4-byte words this means the fixed header must be followed by exactly one header extension. The default value is KRtpNoExtension . 0 is an acceptable value.
RRtpSendSource allows you to set any of the following for an RTP packet to be sent:
SetAlignment : Aligns the header data to multiples of the set padding value. The values can range within 1-255. 1 is the default value, which means not padded.
SetDefaultPayloadSize : Sets the default payload size for the RTP packet that is to be sent. This is usually set before creating a new packet.
SetPayloadType : Sets the default payload type for the RTP packet that is to be sent. This is usually set before creating a new packet.
Call ByeL to send the BYE packet to indicate that one or more sources are no longer active (example when a participant wants to leave).
You can stop sending a packet even after making a send request. Call RRtpSendSource::Cancel() to cancel the outstanding send request on the send stream.
Call RRtpSendPacket::Send() to send the RTP packet. The packet is considered to be sent only when an ERtpSendSucceeded event is received from the send stream. If a failure occurs, an ERtpSendFailed event is received.
Note : Before sending an RTP packet you must set the bandwidth for the RTP session. The following code snippet shows how to set the bandwidth for an RTP session.
Once the packet has been sent, call RRtpSendPacket::Close() to close the RTP packet.
Call RRtpSendSource::Close() to close the send stream. The send stream cannot be closed if an event is currently being handled by a call back function.
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.