diff options
Diffstat (limited to 'src/libw32dll/DirectShow/allocator.h')
-rw-r--r-- | src/libw32dll/DirectShow/allocator.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/libw32dll/DirectShow/allocator.h b/src/libw32dll/DirectShow/allocator.h new file mode 100644 index 000000000..1d37dd920 --- /dev/null +++ b/src/libw32dll/DirectShow/allocator.h @@ -0,0 +1,51 @@ +#ifndef DS_ALLOCATOR_H +#define DS_ALLOCATOR_H + +/* +#ifndef NOAVIFILE_HEADERS +#include "default.h" +#else +#include "../wine/libwin32.h" +#endif +*/ + +#include "interfaces.h" +#include "cmediasample.h" +#include "iunk.h" + +typedef struct _CMediaSample_vector +{ + CMediaSample** m_Type; + int m_uiSize; + int m_uiAlloc; +} CMediaSample_vector; + +typedef struct _MemAllocator +{ + IMemAllocator_vt *vt; + + ALLOCATOR_PROPERTIES props; + + CMediaSample_vector * used_list; + CMediaSample_vector * free_list; + + char* new_pointer; + CMediaSample* modified_sample; + GUID interfaces[2]; + DECLARE_IUNKNOWN(MemAllocator); + + /* + MemAllocator(); + ~MemAllocator(); + static long CreateAllocator(GUID* clsid, GUID* iid, void** ppv); + */ +} MemAllocator; + +MemAllocator * MemAllocator_Create(); +void MemAllocator_Destroy(MemAllocator *this); + +long MemAllocator_CreateAllocator(GUID* clsid, GUID* iid, void** ppv); +void MemAllocator_SetPointer(MemAllocator*this, char* pointer); +void MemAllocator_ResetPointer(MemAllocator*this); + +#endif /* DS_ALLOCATOR_H */ |