summaryrefslogtreecommitdiffstats
path: root/loader/dshow/cmediasample.h
diff options
context:
space:
mode:
Diffstat (limited to 'loader/dshow/cmediasample.h')
-rw-r--r--loader/dshow/cmediasample.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/loader/dshow/cmediasample.h b/loader/dshow/cmediasample.h
index 0ac96aadb8..569b230907 100644
--- a/loader/dshow/cmediasample.h
+++ b/loader/dshow/cmediasample.h
@@ -4,8 +4,10 @@
#include "interfaces.h"
#include "guids.h"
-struct CMediaSample: public IMediaSample
+typedef struct _CMediaSample CMediaSample;
+struct _CMediaSample
{
+ IMediaSample_vt* vt;
IMemAllocator* all;
int size;
int actual_size;
@@ -16,10 +18,12 @@ struct CMediaSample: public IMediaSample
int isSyncPoint;
AM_MEDIA_TYPE media_type;
int type_valid;
- CMediaSample(IMemAllocator* allocator, long _size);
- ~CMediaSample();
- void SetPointer(char* pointer) { block = pointer; }
- void ResetPointer() { block = own_block; }
+ void ( *SetPointer) (CMediaSample* This,char* pointer);
+ void ( *ResetPointer) (CMediaSample* This); // FIXME replace with Set & 0
};
+CMediaSample* CMediaSampleCreate(IMemAllocator* allocator, int _size);
+// called from allocator
+void CMediaSample_Destroy(CMediaSample* This);
+
#endif /* DS_CMEDIASAMPLE_H */