2001-08-16 00:50:02 +00:00
|
|
|
#ifndef DS_ALLOCATOR_H
|
|
|
|
#define DS_ALLOCATOR_H
|
2001-03-20 00:05:27 +00:00
|
|
|
|
|
|
|
#include "interfaces.h"
|
|
|
|
#include "cmediasample.h"
|
2001-05-06 21:43:45 +00:00
|
|
|
|
2002-09-13 19:43:17 +00:00
|
|
|
typedef struct _avm_list_t avm_list_t;
|
2001-11-21 19:12:39 +00:00
|
|
|
typedef struct _MemAllocator MemAllocator;
|
2002-09-13 19:43:17 +00:00
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
struct _MemAllocator
|
2001-03-20 00:05:27 +00:00
|
|
|
{
|
2001-11-21 19:12:39 +00:00
|
|
|
IMemAllocator_vt* vt;
|
2001-11-26 00:56:11 +00:00
|
|
|
DECLARE_IUNKNOWN();
|
2001-03-20 00:05:27 +00:00
|
|
|
ALLOCATOR_PROPERTIES props;
|
2001-11-21 19:12:39 +00:00
|
|
|
avm_list_t* used_list;
|
|
|
|
avm_list_t* free_list;
|
2001-05-06 21:43:45 +00:00
|
|
|
char* new_pointer;
|
|
|
|
CMediaSample* modified_sample;
|
2001-11-21 19:12:39 +00:00
|
|
|
GUID interfaces[2];
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
void ( *SetPointer )(MemAllocator* This, char* pointer);
|
|
|
|
void ( *ResetPointer )(MemAllocator* This);
|
2001-03-20 00:05:27 +00:00
|
|
|
};
|
|
|
|
|
2002-11-26 21:00:20 +00:00
|
|
|
MemAllocator* MemAllocatorCreate(void);
|
2001-11-21 19:12:39 +00:00
|
|
|
|
2001-08-16 00:50:02 +00:00
|
|
|
#endif /* DS_ALLOCATOR_H */
|