00001 /*************************************************************************** 00002 RTPProfile.h - description 00003 ------------------- 00004 begin : Fri Oct 19 2001 00005 copyright : (C) 2001 by Matthias Oppitz 00006 email : Matthias.Oppitz@gmx.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00022 #ifndef __RTPPROFILE_H__ 00023 #define __RTPPROFILE_H__ 00024 00025 #include "omnetpp.h" 00026 00027 #include "in_port.h" 00028 00029 #include "RTPInnerPacket.h" 00030 #include "RTPSSRCGate.h" 00031 00032 00044 class RTPProfile : public cSimpleModule { 00045 00046 Module_Class_Members(RTPProfile, cSimpleModule, 0); 00047 00051 virtual void initialize(); 00052 00056 virtual void handleMessage(cMessage *msg); 00057 00058 protected: 00059 00063 virtual void handleMessageFromRTP(cMessage *msg); 00064 00068 virtual void handleMessageFromPayloadSender(cMessage *msg); 00069 00073 virtual void handleMessageFromPayloadReceiver(cMessage *msg); 00074 00078 virtual void initializeProfile(RTPInnerPacket *rinp); 00079 00088 virtual void createSenderModule(RTPInnerPacket *rinp); 00089 00094 virtual void deleteSenderModule(RTPInnerPacket *rinp); 00095 00100 virtual void senderModuleControl(RTPInnerPacket *rinp); 00101 00107 virtual void dataIn(RTPInnerPacket *rinp); 00108 00114 virtual void senderModuleInitialized(RTPInnerPacket *rinp); 00115 00121 virtual void senderModuleStatus(RTPInnerPacket *rinp); 00122 00127 virtual void dataOut(RTPInnerPacket *rinp); 00128 00136 virtual void processIncomingPacket(RTPInnerPacket *rinp); 00137 00142 virtual void processOutgoingPacket(RTPInnerPacket *rinp); 00143 00148 virtual RTPSSRCGate *findSSRCGate(u_int32 ssrc); 00149 00153 virtual RTPSSRCGate *newSSRCGate(u_int32 ssrc); 00154 00159 const char *_profileName; 00160 00166 int _maxReceivers; 00167 00172 cArray *_ssrcGates; 00173 00177 int _rtcpPercentage; 00178 00182 IN_Port _preferredPort; 00183 00187 int _mtu; 00188 00194 bool _autoOutputFileNames; 00195 00196 00197 00198 }; 00199 00200 #endif