gl_common: minor cleanup/refactor
[mplayer.git] / loader / dshow / DS_Filter.h
blob945321a153fab94e6410762e00c46f9339eec065
1 #ifndef MPLAYER_DS_FILTER_H
2 #define MPLAYER_DS_FILTER_H
4 #include "inputpin.h"
5 #include "outputpin.h"
7 typedef struct {
8 char* frame_pointer;
9 long frame_size;
10 } SampleProcUserData;
12 /**
13 User will allocate and fill format structures, call Create(),
14 and then set up m_pAll.
15 **/
17 typedef struct DS_Filter DS_Filter;
18 struct DS_Filter
20 int m_iHandle;
21 IBaseFilter* m_pFilter;
22 IPin* m_pInputPin;
23 IPin* m_pOutputPin;
25 CBaseFilter* m_pSrcFilter;
26 CBaseFilter2* m_pParentFilter;
27 IPin* m_pOurInput;
28 COutputPin* m_pOurOutput;
30 AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
31 IMemAllocator* m_pAll;
32 IMemInputPin* m_pImp;
34 void ( *Start )(DS_Filter*);
35 void ( *Stop )(DS_Filter*);
38 DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id,
39 AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt,SampleProcUserData* pUserData);
40 void DS_Filter_Destroy(DS_Filter* This);
42 #endif /* MPLAYER_DS_FILTER_H */