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
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
typedef struct avm_list_t
|
|
|
|
{
|
|
|
|
struct avm_list_t* next;
|
|
|
|
struct avm_list_t* prev;
|
|
|
|
void* member;
|
|
|
|
} avm_list_t;
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
typedef struct _MemAllocator MemAllocator;
|
|
|
|
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
|
|
|
};
|
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
MemAllocator* MemAllocatorCreate();
|
|
|
|
|
2001-08-16 00:50:02 +00:00
|
|
|
#endif /* DS_ALLOCATOR_H */
|