27 #ifndef _RTP_SOURCE_HH
33 SDESItem(
unsigned char tag,
unsigned char const* value);
43 u_int8_t subtype, u_int32_t nameBytes,
44 u_int8_t* appDependentData,
unsigned appDependentDataSize);
46 class RTCPMemberDatabase;
52 unsigned char const* cname,
83 TaskFunc* handlerTask,
void* clientData);
92 u_int8_t* appDependentData,
unsigned appDependentDataSize);
109 void* handlerClientData) {
114 void injectReport(u_int8_t
const*
packet,
unsigned packetSize,
struct sockaddr_in
const& fromAddress);
119 unsigned char const* cname,
125 virtual void noteArrivingRR(
struct sockaddr_in
const& fromAddressAndPort,
126 int tcpSocketNum,
unsigned char tcpStreamChannelId);
139 unsigned numExtraWords = 0);
152 int tcpSocketNum,
unsigned char tcpStreamChannelId);
153 void onReceive(
int typeOfPacket,
int totPacketSize, u_int32_t ssrc);
virtual void noteArrivingRR(struct sockaddr_in const &fromAddressAndPort, int tcpSocketNum, unsigned char tcpStreamChannelId)
void setStreamSocket(int sockNum, unsigned char streamChannelId)
Boolean addReport(Boolean alwaysAdd=False)
const unsigned char RTCP_PT_IDMS
const unsigned char RTCP_PT_BYE
const unsigned char RTCP_PT_RTPFB
void * fByeHandlerClientData
TaskFunc * fByeHandlerTask
void removeStreamSocket(int sockNum, unsigned char streamChannelId)
TaskFunc * fRRHandlerTask
const unsigned char RTCP_PT_APP
const unsigned char RTCP_PT_RSI
void TaskFunc(void *clientData)
void removeSSRC(u_int32_t ssrc, Boolean alsoRemoveStats)
unsigned char const * data() const
u_int32_t fLastReceivedSSRC
void setByeHandler(TaskFunc *handlerTask, void *clientData, Boolean handleActiveParticipantsOnly=True)
void setRRHandler(TaskFunc *handlerTask, void *clientData)
void schedule(double nextTime)
void setAuxilliaryReadHandler(AuxHandlerFunc *handlerFunc, void *handlerClientData)
void AuxHandlerFunc(void *clientData, unsigned char *packet, unsigned &packetSize)
void removeStreamSocket(int sockNum, unsigned char streamChannelId)
unsigned fNumBytesAlreadyRead
AddressPortLookupTable * fSpecificRRHandlerTable
void removeLastReceivedSSRC()
const unsigned char RTCP_PT_PSFB
unsigned totalSize() const
RTPInterface fRTCPInterface
static void incomingReportHandler(RTCPInstance *instance, int)
unsigned numMembers() const
const unsigned char RTCP_SDES_CNAME
void addStreamSocket(int sockNum, unsigned char streamChannelId)
unsigned totSessionBW() const
void setAuxilliaryReadHandler(AuxHandlerFunc *handlerFunc, void *handlerClientData)
const unsigned char RTCP_SDES_LOC
void onReceive(int typeOfPacket, int totPacketSize, u_int32_t ssrc)
SDESItem(unsigned char tag, unsigned char const *value)
virtual Boolean isRTCPInstance() const
const unsigned char RTCP_PT_SDES
const unsigned char RTCP_PT_AVB
TaskFunc * fSRHandlerTask
const unsigned char RTCP_PT_TOKEN
RTCPInstance(UsageEnvironment &env, Groupsock *RTPgs, unsigned totSessionBW, unsigned char const *cname, RTPSink *sink, RTPSource *source, Boolean isSSMSource)
OutPacketBuffer * fOutBuf
unsigned char fData[2+0xFF]
void enqueueCommonReportPrefix(unsigned char packetType, u_int32_t SSRC, unsigned numExtraWords=0)
unsigned fLastPacketSentSize
void setSRHandler(TaskFunc *handlerTask, void *clientData)
RTCPMemberDatabase * fKnownMembers
void injectReport(u_int8_t const *packet, unsigned packetSize, struct sockaddr_in const &fromAddress)
const unsigned char RTCP_SDES_TOOL
static Boolean lookupByName(UsageEnvironment &env, char const *instanceName, RTCPInstance *&resultInstance)
void RTCPAppHandlerFunc(void *clientData, u_int8_t subtype, u_int32_t nameBytes, u_int8_t *appDependentData, unsigned appDependentDataSize)
void incomingReportHandler1()
void * fRRHandlerClientData
const unsigned char RTCP_SDES_NAME
static RTCPInstance * createNew(UsageEnvironment &env, Groupsock *RTCPgs, unsigned totSessionBW, unsigned char const *cname, RTPSink *sink, RTPSource *source, Boolean isSSMSource=False)
unsigned fOutgoingReportCount
void enqueueReportBlock(RTPReceptionStats *receptionStats)
const unsigned char RTCP_PT_SR
void * fAppHandlerClientData
RTCPAppHandlerFunc * fAppHandlerTask
void processIncomingReport(unsigned packetSize, struct sockaddr_in const &fromAddressAndPort, int tcpSocketNum, unsigned char tcpStreamChannelId)
void * fSRHandlerClientData
Boolean fByeHandleActiveParticipantsOnly
void setSpecificRRHandler(netAddressBits fromAddress, Port fromPort, TaskFunc *handlerTask, void *clientData)
const unsigned char RTCP_SDES_END
void unsetSpecificRRHandler(netAddressBits fromAddress, Port fromPort)
void sendAppPacket(u_int8_t subtype, char const *name, u_int8_t *appDependentData, unsigned appDependentDataSize)
const unsigned char RTCP_PT_XR
const unsigned char RTCP_SDES_PHONE
void setAppHandler(RTCPAppHandlerFunc *handlerTask, void *clientData)
void enqueueCommonReportSuffix()
void reschedule(double nextTime)
const unsigned char RTCP_PT_RR
static void onExpire(RTCPInstance *instance)
const unsigned char RTCP_SDES_EMAIL
Boolean fHaveJustSentPacket
char const * name() const
Groupsock * RTCPgs() const
const unsigned char RTCP_SDES_PRIV
const unsigned char RTCP_SDES_NOTE