00001 /*************************************************************************** 00002 RTPSenderInfo.h - description 00003 ------------------- 00004 begin : Wed Dec 5 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 00018 00023 #ifndef __INET_RTPSENDERINFO_H 00024 #define __INET_RTPSENDERINFO_H 00025 00026 #include "INETDefs.h" 00027 #include "RTPParticipantInfo.h" 00028 #include "reports.h" 00029 00030 00035 class INET_API RTPSenderInfo : public RTPParticipantInfo 00036 { 00037 00038 public: 00039 00043 RTPSenderInfo(uint32 ssrc = 0); 00044 00048 RTPSenderInfo(const RTPSenderInfo& senderInfo); 00049 00053 virtual ~RTPSenderInfo(); 00054 00058 RTPSenderInfo& operator=(const RTPSenderInfo& senderInfo); 00059 00063 virtual RTPSenderInfo *dup() const; 00064 00068 virtual void processRTPPacket(RTPPacket *packet, int id, simtime_t arrivalTime); 00069 00073 virtual void processReceptionReport(ReceptionReport *report, simtime_t arrivalTime); 00074 00080 virtual SenderReport *senderReport(simtime_t now); 00081 00086 virtual void setStartTime(simtime_t startTime); 00087 00092 virtual void setClockRate(int clockRate); 00093 00097 virtual void setTimeStampBase(uint32 timeStampBase); 00098 00102 virtual void setSequenceNumberBase(uint16 sequenceNumberBase); 00103 00107 virtual bool toBeDeleted(simtime_t now); 00108 00109 protected: 00110 00114 simtime_t _startTime; 00115 00119 int _clockRate; 00120 00124 uint32 _timeStampBase; 00125 00129 uint16 _sequenceNumberBase; 00130 00134 uint32 _packetsSent; 00135 00139 uint32 _bytesSent; 00140 00141 }; 00142 00143 #endif 00144