|
INET Framework for OMNeT++/OMNEST
|
00001 /*************************************************************************** 00002 RTPPacket.h - description 00003 ------------------- 00004 begin : Mon Oct 22 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 __INET_RTPPACKET_H 00023 #define __INET_RTPPACKET_H 00024 00025 #include "INETDefs.h" 00026 00034 class INET_API RTPPacket : public cPacket 00035 { 00036 00037 public: 00041 RTPPacket(const char *name = NULL); 00042 00046 RTPPacket(const RTPPacket& packet); 00047 00051 virtual ~RTPPacket(); 00052 00056 RTPPacket& operator=(const RTPPacket& packet); 00057 00061 virtual RTPPacket *dup() const; 00062 00066 virtual std::string info(); 00067 00071 virtual void dump(); 00072 00076 virtual int getMarker(); 00077 00081 virtual void setMarker(int marker); 00082 00086 virtual int getPayloadType(); 00087 00091 virtual void setPayloadType(int payloadType); 00092 00096 virtual uint16 getSequenceNumber(); 00097 00101 virtual void setSequenceNumber(uint16 sequenceNumber); 00102 00106 virtual uint32 getTimeStamp(); 00107 00111 virtual void setTimeStamp(uint32 timeStamp); 00112 00116 virtual uint32 getSSRC(); 00117 00121 virtual void setSSRC(uint32 ssrc); 00122 00126 static int getFixedHeaderLength(); 00127 00132 virtual int getHeaderLength(); 00133 00137 virtual int getPayloadLength(); 00138 00139 protected: 00140 00144 int _version; 00145 00150 int _padding; 00151 00156 int _extension; 00157 00163 int _csrcCount; 00164 00168 int _marker; 00169 00173 int _payloadType; 00174 00178 uint16 _sequenceNumber; 00179 00183 uint32 _timeStamp; 00184 00188 uint32 _ssrc; 00189 00190 // no mixers, no contributing sources 00191 //int _csrc[]; 00192 00193 00194 00195 }; 00196 00197 #endif 00198