RTPPacket.h

Go to the documentation of this file.
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