37 #ifndef RTPSESSIONSOURCES_H
39 #define RTPSESSIONSOURCES_H
41 #include "rtpconfig.h"
49 class JRTPLIB_IMPORTEXPORT RTPSessionSources :
public RTPSources
52 RTPSessionSources(RTPSession &sess,RTPMemoryManager *mgr) : RTPSources(RTPSources::ProbationStore,mgr),rtpsession(sess)
53 { owncollision =
false; }
54 ~RTPSessionSources() { }
55 void ClearOwnCollisionFlag() { owncollision =
false; }
56 bool DetectedOwnCollision()
const {
return owncollision; }
58 void OnRTPPacket(RTPPacket *pack,
const RTPTime &receivetime,
59 const RTPAddress *senderaddress);
60 void OnRTCPCompoundPacket(RTCPCompoundPacket *pack,
const RTPTime &receivetime,
61 const RTPAddress *senderaddress);
62 void OnSSRCCollision(RTPSourceData *srcdat,
const RTPAddress *senderaddress,
bool isrtp);
63 void OnCNAMECollision(RTPSourceData *srcdat,
const RTPAddress *senderaddress,
64 const uint8_t *cname,
size_t cnamelength);
65 void OnNewSource(RTPSourceData *srcdat);
66 void OnRemoveSource(RTPSourceData *srcdat);
67 void OnTimeout(RTPSourceData *srcdat);
68 void OnBYETimeout(RTPSourceData *srcdat);
69 void OnBYEPacket(RTPSourceData *srcdat);
70 void OnAPPPacket(RTCPAPPPacket *apppacket,
const RTPTime &receivetime,
71 const RTPAddress *senderaddress);
72 void OnUnknownPacketType(RTCPPacket *rtcppack,
const RTPTime &receivetime,
73 const RTPAddress *senderaddress);
74 void OnUnknownPacketFormat(RTCPPacket *rtcppack,
const RTPTime &receivetime,
75 const RTPAddress *senderaddress);
76 void OnNoteTimeout(RTPSourceData *srcdat);
78 RTPSession &rtpsession;
84 #endif // RTPSESSIONSOURCES_H