Mercurial > mplayer.hg
diff loader/dshow/outputpin.h @ 1545:da26060c81ef
big avifile sync - from now we have common code
author | arpi |
---|---|
date | Thu, 16 Aug 2001 00:50:02 +0000 |
parents | 9355b2ae634e |
children | 213b35f84cf3 |
line wrap: on
line diff
--- a/loader/dshow/outputpin.h Thu Aug 16 00:44:40 2001 +0000 +++ b/loader/dshow/outputpin.h Thu Aug 16 00:50:02 2001 +0000 @@ -1,124 +1,37 @@ -/* "output pin" - the one that connects to output of filter. */ +#ifndef DS_OUTPUTPIN_H +#define DS_OUTPUTPIN_H -#ifndef OUTPUTPIN_H -#define OUTPUTPIN_H +/* "output pin" - the one that connects to output of filter. */ + #include "interfaces.h" #include "guids.h" -#include "default.h" #include "allocator.h" -class COutputPin: public IPin, public IMemInputPin + +struct COutputPin; + +struct COutputMemPin : public IMemInputPin { - int refcount; - AM_MEDIA_TYPE type; - IPin* remote; char** frame_pointer; long* frame_size_pointer; MemAllocator* pAllocator; -public: + COutputPin* parent; +}; + +struct COutputPin : public IPin +{ + COutputMemPin* mempin; + int refcount; + AM_MEDIA_TYPE type; + IPin* remote; COutputPin(const AM_MEDIA_TYPE& vhdr); ~COutputPin(); - void SetFramePointer(char** z){frame_pointer=z;} - void SetPointer2(char* p) { if(pAllocator) pAllocator->SetPointer(p); } - void SetFrameSizePointer(long* z){frame_size_pointer=z;} - void SetNewFormat(const AM_MEDIA_TYPE& a){type=a;} - static HRESULT STDCALL QueryInterface(IUnknown* This, GUID* iid, void** ppv); - static HRESULT STDCALL AddRef(IUnknown* This); - static HRESULT STDCALL Release(IUnknown* This); - - static HRESULT STDCALL M_QueryInterface(IUnknown* This, GUID* iid, void** ppv); - static HRESULT STDCALL M_AddRef(IUnknown* This); - static HRESULT STDCALL M_Release(IUnknown* This); + void SetFramePointer(char** z) { mempin->frame_pointer = z; } + void SetPointer2(char* p) { + if (mempin->pAllocator) + mempin->pAllocator->SetPointer(p); + } + void SetFrameSizePointer(long* z) { mempin->frame_size_pointer = z; } + void SetNewFormat(const AM_MEDIA_TYPE& a) { type = a; } +}; - static HRESULT STDCALL Connect ( - IPin * This, - /* [in] */ IPin *pReceivePin, - /* [in] */ /*const */AM_MEDIA_TYPE *pmt); - - static HRESULT STDCALL ReceiveConnection ( - IPin * This, - /* [in] */ IPin *pConnector, - /* [in] */ const AM_MEDIA_TYPE *pmt); - - static HRESULT STDCALL Disconnect ( - IPin * This); - - static HRESULT STDCALL ConnectedTo ( - IPin * This, - /* [out] */ IPin **pPin); - - static HRESULT STDCALL ConnectionMediaType ( - IPin * This, - /* [out] */ AM_MEDIA_TYPE *pmt); - - static HRESULT STDCALL QueryPinInfo ( - IPin * This, - /* [out] */ PIN_INFO *pInfo); - - static HRESULT STDCALL QueryDirection ( - IPin * This, - /* [out] */ PIN_DIRECTION *pPinDir); - - static HRESULT STDCALL QueryId ( - IPin * This, - /* [out] */ LPWSTR *Id); - - static HRESULT STDCALL QueryAccept ( - IPin * This, - /* [in] */ const AM_MEDIA_TYPE *pmt); - - static HRESULT STDCALL EnumMediaTypes ( - IPin * This, - /* [out] */ IEnumMediaTypes **ppEnum); - - static HRESULT STDCALL QueryInternalConnections ( - IPin * This, - /* [out] */ IPin **apPin, - /* [out][in] */ ULONG *nPin); - - static HRESULT STDCALL EndOfStream ( - IPin * This); - - static HRESULT STDCALL BeginFlush ( - IPin * This); - - static HRESULT STDCALL EndFlush ( - IPin * This); - - static HRESULT STDCALL NewSegment ( - IPin * This, - /* [in] */ REFERENCE_TIME tStart, - /* [in] */ REFERENCE_TIME tStop, - /* [in] */ double dRate); - - - - - - - static HRESULT STDCALL GetAllocator( - IMemInputPin * This, - /* [out] */ IMemAllocator **ppAllocator) ; - - static HRESULT STDCALL NotifyAllocator( - IMemInputPin * This, - /* [in] */ IMemAllocator *pAllocator, - /* [in] */ int bReadOnly) ; - - static HRESULT STDCALL GetAllocatorRequirements( - IMemInputPin * This, - /* [out] */ ALLOCATOR_PROPERTIES *pProps) ; - - static HRESULT STDCALL Receive( - IMemInputPin * This, - /* [in] */ IMediaSample *pSample) ; - - static HRESULT STDCALL ReceiveMultiple( - IMemInputPin * This, - /* [size_is][in] */ IMediaSample **pSamples, - /* [in] */ long nSamples, - /* [out] */ long *nSamplesProcessed) ; - - static HRESULT STDCALL ReceiveCanBlock( - IMemInputPin * This) ; -}; -#endif +#endif /* DS_OUTPUTPIN_H */