1545
|
1 #ifndef DS_FILTER_H
|
|
2 #define DS_FILTER_H
|
168
|
3
|
|
4 #include "inputpin.h"
|
|
5 #include "outputpin.h"
|
713
|
6
|
3056
|
7 #if defined(__cplusplus)
|
|
8 extern "C" {
|
|
9 #endif
|
|
10
|
168
|
11 /**
|
1545
|
12 User will allocate and fill format structures, call Create(),
|
|
13 and then set up m_pAll.
|
|
14 **/
|
|
15
|
3056
|
16 typedef struct _DS_Filter DS_Filter;
|
|
17 struct _DS_Filter
|
168
|
18 {
|
|
19 int m_iHandle;
|
|
20 IBaseFilter* m_pFilter;
|
|
21 IPin* m_pInputPin;
|
|
22 IPin* m_pOutputPin;
|
3056
|
23
|
168
|
24 CBaseFilter* m_pSrcFilter;
|
|
25 CBaseFilter2* m_pParentFilter;
|
|
26 IPin* m_pOurInput;
|
|
27 COutputPin* m_pOurOutput;
|
3056
|
28
|
168
|
29 AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
|
|
30 IMemAllocator* m_pAll;
|
|
31 IMemInputPin* m_pImp;
|
|
32 int m_iState;
|
713
|
33
|
3056
|
34 void ( *Start )(DS_Filter*);
|
|
35 void ( *Stop )(DS_Filter*);
|
713
|
36 };
|
168
|
37
|
3056
|
38 DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id,
|
|
39 AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
|
|
40 void DS_Filter_Destroy(DS_Filter* This);
|
|
41
|
|
42 #if defined(__cplusplus)
|
|
43 }
|
|
44 #endif
|
|
45
|
1545
|
46 #endif /* DS_FILTER_H */
|