Mercurial > mplayer.hg
view loader/dshow/allocator.h @ 175:d43c7e6412f0
added DirectShow support
author | arpi_esp |
---|---|
date | Tue, 20 Mar 2001 22:11:38 +0000 |
parents | bdc4a8fc04d8 |
children | 9355b2ae634e |
line wrap: on
line source
#ifndef ALLOCATOR_H #define ALLOCATOR_H #include "interfaces.h" #include "cmediasample.h" #include <list> #include "iunk.h" #include "default.h" using namespace std; class MemAllocator: public IMemAllocator { ALLOCATOR_PROPERTIES props; list<CMediaSample*> used_list; list<CMediaSample*> free_list; static GUID interfaces[]; DECLARE_IUNKNOWN(MemAllocator) public: MemAllocator(); ~MemAllocator(){delete vt;} static long CreateAllocator(GUID* clsid, GUID* iid, void** ppv); static HRESULT STDCALL SetProperties ( IMemAllocator * This, /* [in] */ ALLOCATOR_PROPERTIES *pRequest, /* [out] */ ALLOCATOR_PROPERTIES *pActual); static HRESULT STDCALL GetProperties ( IMemAllocator * This, /* [out] */ ALLOCATOR_PROPERTIES *pProps); static HRESULT STDCALL Commit ( IMemAllocator * This); static HRESULT STDCALL Decommit ( IMemAllocator * This); static HRESULT STDCALL GetBuffer ( IMemAllocator * This, /* [out] */ IMediaSample **ppBuffer, /* [in] */ REFERENCE_TIME *pStartTime, /* [in] */ REFERENCE_TIME *pEndTime, /* [in] */ DWORD dwFlags); static HRESULT STDCALL ReleaseBuffer ( IMemAllocator * This, /* [in] */ IMediaSample *pBuffer); }; #endif