Mercurial > mplayer.hg
view loader/dshow/allocator.h @ 1261:5bb83ed0db33
- Ask 'gcc' for the name of the assembler binary used by the gcc compiler; use
that binary as the default assembler binary tested for the availability of
MMX/MMXEXT/3DNOW/... instructions
- On solaris, there are a few libraries missing, if you compile MPlayer
without SDL (with SDL, we pick up these libraries from "sdl-config --libs")
Typical problem is a missing nanosleep() from the -lrt library.
author | jkeil |
---|---|
date | Tue, 03 Jul 2001 14:22:23 +0000 |
parents | 9355b2ae634e |
children | da26060c81ef |
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" class MemAllocator: public IMemAllocator { ALLOCATOR_PROPERTIES props; std::list<CMediaSample*> used_list; std::list<CMediaSample*> free_list; char* new_pointer; CMediaSample* modified_sample; static GUID interfaces[]; DECLARE_IUNKNOWN(MemAllocator) public: MemAllocator(); ~MemAllocator(){delete vt;} static long CreateAllocator(GUID* clsid, GUID* iid, void** ppv); void SetPointer(char* pointer) { new_pointer=pointer; } void ResetPointer() { if(modified_sample) { modified_sample->ResetPointer(); modified_sample=0; } } 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