#include <RTPProfile.h>
Inheritance diagram for RTPProfile:
Protected Member Functions | |
virtual void | handleMessageFromRTP (cMessage *msg) |
virtual void | handleMessageFromPayloadSender (cMessage *msg) |
virtual void | handleMessageFromPayloadReceiver (cMessage *msg) |
virtual void | initializeProfile (RTPInnerPacket *rinp) |
virtual void | createSenderModule (RTPInnerPacket *rinp) |
virtual void | deleteSenderModule (RTPInnerPacket *rinp) |
virtual void | senderModuleControl (RTPInnerPacket *rinp) |
virtual void | dataIn (RTPInnerPacket *rinp) |
virtual void | senderModuleInitialized (RTPInnerPacket *rinp) |
virtual void | senderModuleStatus (RTPInnerPacket *rinp) |
virtual void | dataOut (RTPInnerPacket *rinp) |
virtual void | processIncomingPacket (RTPInnerPacket *rinp) |
virtual void | processOutgoingPacket (RTPInnerPacket *rinp) |
virtual RTPSSRCGate * | findSSRCGate (u_int32 ssrc) |
virtual RTPSSRCGate * | newSSRCGate (u_int32 ssrc) |
Protected Attributes | |
const char * | _profileName |
int | _maxReceivers |
cArray * | _ssrcGates |
int | _rtcpPercentage |
IN_Port | _preferredPort |
int | _mtu |
bool | _autoOutputFileNames |
|
This method is called when the application issued the creation of an rtp payload sender module to transmit data. It creates a new sender module and connects it. The profile module informs the rtp module of having finished this task. Then it initializes the newly create sender module with a inititalizeSenderModule message. |
|
Handles incoming data packets: If there isn't a receiver module for this sender it creates one. The data packet is forwarded to the receiver module after calling processIncomingPacket. |
|
Handles outgoing data packets: Calls processOutgoingPacket and forwards the packet to the rtp module. |
|
When a sender module is no longer needed it can be deleted by the profile module. |
|
Finds the gate of the receiver module for rtp data packets from this ssrc. |
|
Handles messages coming from a receiver module. |
|
Handles messages coming from the sender module. |
|
Handles messages received from the rtp module. |
|
Initialization message received from rtp module. |
|
Creates a new association ssrc/gateId for this ssrc. |
|
Every time a rtp packet is received it it pre-processed by this method to remove profile specific extension which are not handled by the payload receiver module. In this implementation the packet isn't changed. Important: This method works with RTPInnerPacket. So the rtp packet must be decapsulated, changed and encapsulated again. |
|
Simular to the procedure for incoming packets, this adds profile specific extensions to outgoing rtp packets. |
|
The profile module forwards sender control messages to the sender module. |
|
The sender module returns a senderModuleInitialized message after being initialized. The profile module forwards this message to the rtp module which delivers it to its destination, the rtcp module. |
|
After having received a sender module control message the sender module returns a sender status message to inform the application what it's doing at the moment. |
|
If this is set true the RTPProfile automatically sets the output file name for payload receiver modules so the user is not bothered to set them manually during simulation runtime. |
|
The maximum number of incoming data streams this profile module can handle. It is set to the gate size of "toPayloadReceiver", "fromPayloadReceiver". |
|
The maximum size an RTPPacket can have. |
|
The rtp port this profile uses if no port is given. |
|
The name of this profile. Needed for dynamic creating of sender and receiver modules. |
|
The percentage of the available bandwidth to be used for rtcp. |
|
Stores information to which gate rtp data packets from a ssrc must be forwarded. |