* yeah:
Actually showing us the code would be better.
This is the code of RTPSource.hpp
#ifndef _RTP_SOURCE_HPP
#define _RTP_SOURCE_HPP
/*#ifndef _FRAMED_SOURCE_HPP
#include "FramedSource.hpp"
#endif
#ifndef _RTP_INTERFACE_HPP
#include "RTPInterface.hpp"
#endif
#include "NetCommon.hpp"
#include "MultiFramedRTPSource.hpp"
#include "sockets.hpp"
#ifndef _RTP_SOURCE_HPP
#define _RTP_SOURCE_HPP*/
#ifndef _FRAMED_SOURCE_HPP
#include "FramedSource.hpp"
#endif
#ifndef _RTP_INTERFACE_HPP
#include "RTPInterface.hpp"
#endif
//typedef __int64 int64_t;
//typedef unsigned __int64 u_int64_t;
typedef unsigned u_int32_t;
typedef unsigned short u_int16_t;
typedef unsigned char u_int8_t;
class RTPReceptionStatsDB; // forward
class RTPSource: public FramedSource { //this is the place where I
am getting error
public:
static Boolean lookupByName(UsageEnvironment& env, char const*
sourceName,
RTPSource*& resultSource);
u_int16_t curPacketRTPSeqNum() const { return fCurPacketRTPSeqNum; }
u_int32_t curPacketRTPTimestamp() const { return
fCurPacketRTPTimestamp; }
Boolean curPacketMarkerBit() const { return fCurPacketMarkerBit; }
unsigned char rtpPayloadFormat() const { return
fRTPPayloadFormat; }
virtual Boolean hasBeenSynchronizedUsingRTCP();
Groupsock* RTPgs() const { return fRTPInterface.gs(); }
virtual void setPacketReorderingThresholdTime(unsigned uSeconds) =
0;
// used by RTCP:
u_int32_t SSRC() const { return fSSRC; }
// Note: This is *our* SSRC, not the SSRC in incoming RTP
packets.
// later need a means of changing the SSRC if there's a collision
#####
unsigned timestampFrequency() const {return fTimestampFrequency;}
RTPReceptionStatsDB& receptionStatsDB() const {
return *fReceptionStatsDB;
}
u_int32_t lastReceivedSSRC() const { return fLastReceivedSSRC; }
// Note: This is the SSRC in the most recently received RTP packet;
not *our* SSRC
void setStreamSocket(int sockNum, unsigned char streamChannelId) {
// hack to allow sending RTP over TCP (RFC 2236, section 10.12)
fRTPInterface.setStreamSocket(sockNum, streamChannelId);
}
void setAuxilliaryReadHandler(AuxHandlerFunc* handlerFunc,
void* handlerClientData) {
fRTPInterface.setAuxilliaryReadHandler(handlerFunc,
handlerClientData);
}
protected:
RTPSource(UsageEnvironment& env, Groupsock* RTPgs,
unsigned char rtpPayloadFormat, u_int32_t
rtpTimestampFrequency);
// abstract base class
virtual ~RTPSource();
protected:
RTPInterface fRTPInterface;
u_int16_t fCurPacketRTPSeqNum;
u_int32_t fCurPacketRTPTimestamp;
Boolean fCurPacketMarkerBit;
Boolean fCurPacketHasBeenSynchronizedUsingRTCP;
u_int32_t fLastReceivedSSRC;
private:
// redefined virtual functions:
virtual Boolean isRTPSource() const;
virtual void getAttributes() const;
private:
unsigned char fRTPPayloadFormat;
unsigned fTimestampFrequency;
u_int32_t fSSRC;
RTPReceptionStatsDB* fReceptionStatsDB;
};