summaryrefslogtreecommitdiff
path: root/src/libw32dll/DirectShow/allocator.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libw32dll/DirectShow/allocator.h')
-rw-r--r--src/libw32dll/DirectShow/allocator.h51
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 */