37 #ifndef RTPMEMORYMANAGER_H 39 #define RTPMEMORYMANAGER_H 41 #include "rtpconfig.h" 45 #define RTPMEM_TYPE_OTHER 0 48 #define RTPMEM_TYPE_BUFFER_RECEIVEDRTPPACKET 1 51 #define RTPMEM_TYPE_BUFFER_RECEIVEDRTCPPACKET 2 54 #define RTPMEM_TYPE_BUFFER_RTCPAPPPACKET 3 57 #define RTPMEM_TYPE_BUFFER_RTCPBYEPACKET 4 60 #define RTPMEM_TYPE_BUFFER_RTCPBYEREASON 5 63 #define RTPMEM_TYPE_BUFFER_RTCPCOMPOUNDPACKET 6 66 #define RTPMEM_TYPE_BUFFER_RTCPSDESBLOCK 7 69 #define RTPMEM_TYPE_BUFFER_RTPPACKET 8 72 #define RTPMEM_TYPE_BUFFER_RTPPACKETBUILDERBUFFER 9 75 #define RTPMEM_TYPE_BUFFER_SDESITEM 10 78 #define RTPMEM_TYPE_CLASS_ACCEPTIGNOREHASHELEMENT 11 81 #define RTPMEM_TYPE_CLASS_ACCEPTIGNOREPORTINFO 12 84 #define RTPMEM_TYPE_CLASS_DESTINATIONLISTHASHELEMENT 13 87 #define RTPMEM_TYPE_CLASS_MULTICASTHASHELEMENT 14 90 #define RTPMEM_TYPE_CLASS_RTCPAPPPACKET 15 93 #define RTPMEM_TYPE_CLASS_RTCPBYEPACKET 16 96 #define RTPMEM_TYPE_CLASS_RTCPCOMPOUNDPACKETBUILDER 17 99 #define RTPMEM_TYPE_CLASS_RTCPRECEIVERREPORT 18 102 #define RTPMEM_TYPE_CLASS_RTCPRRPACKET 19 105 #define RTPMEM_TYPE_CLASS_RTCPSDESPACKET 20 108 #define RTPMEM_TYPE_CLASS_RTCPSRPACKET 21 111 #define RTPMEM_TYPE_CLASS_RTCPUNKNOWNPACKET 22 114 #define RTPMEM_TYPE_CLASS_RTPADDRESS 23 117 #define RTPMEM_TYPE_CLASS_RTPINTERNALSOURCEDATA 24 120 #define RTPMEM_TYPE_CLASS_RTPPACKET 25 123 #define RTPMEM_TYPE_CLASS_RTPPOLLTHREAD 26 126 #define RTPMEM_TYPE_CLASS_RTPRAWPACKET 27 129 #define RTPMEM_TYPE_CLASS_RTPTRANSMISSIONINFO 28 132 #define RTPMEM_TYPE_CLASS_RTPTRANSMITTER 29 135 #define RTPMEM_TYPE_CLASS_SDESPRIVATEITEM 30 138 #define RTPMEM_TYPE_CLASS_SDESSOURCE 31 141 #define RTPMEM_TYPE_CLASS_SOURCETABLEHASHELEMENT 32 144 #define RTPMEM_TYPE_BUFFER_SRTPDATA 33 163 virtual void *AllocateBuffer(
size_t numbytes,
int memtype) = 0;
166 virtual void FreeBuffer(
void *buffer) = 0;
171 #ifdef RTP_SUPPORT_MEMORYMANAGEMENT 178 return operator new(numbytes);
184 JRTPLIB_UNUSED(memtype);
186 operator delete(buffer);
188 mgr->FreeBuffer(buffer);
191 #ifdef RTP_HAVE_ARRAYALLOC 195 return operator new[](numbytes);
196 return mgr->AllocateBuffer(numbytes,memtype);
201 JRTPLIB_UNUSED(memtype);
203 operator delete[](buffer);
205 mgr->FreeBuffer(buffer);
207 #endif // RTP_HAVE_ARRAYALLOC 220 template<
class ClassName>
234 #define RTPNew(a,b) new(a,b) 238 #define RTPNew(a,b) new 239 #define RTPDelete(a,b) delete a 240 #define RTPDeleteByteArray(a,b) delete [] a; 242 #endif // RTP_SUPPORT_MEMORYMANAGEMENT 244 #endif // RTPMEMORYMANAGER_H Definition: rtpfaketransmitter.h:64
A memory manager.
Definition: rtpmemorymanager.h:150
virtual void FreeBuffer(void *buffer)=0
Frees the previously allocated memory block buffer.
virtual void * AllocateBuffer(size_t numbytes, int memtype)=0
Called to allocate numbytes of memory.