1545
|
1 #ifndef DS_INPUTPIN_H
|
|
2 #define DS_INPUTPIN_H
|
|
3
|
168
|
4 #include "interfaces.h"
|
3056
|
5
|
|
6 typedef struct _CBaseFilter2 CBaseFilter2;
|
|
7 struct _CBaseFilter2
|
|
8 {
|
|
9 IBaseFilter_vt* vt;
|
3130
|
10 DECLARE_IUNKNOWN();
|
3056
|
11 IPin* pin;
|
|
12 GUID interfaces[5];
|
168
|
13
|
3056
|
14 IPin* ( *GetPin )(CBaseFilter2* This);
|
|
15 };
|
|
16
|
|
17 CBaseFilter2* CBaseFilter2Create();
|
|
18
|
|
19
|
|
20 typedef struct _CBaseFilter CBaseFilter;
|
|
21 struct _CBaseFilter
|
168
|
22 {
|
3056
|
23 IBaseFilter_vt* vt;
|
3130
|
24 DECLARE_IUNKNOWN(); // has to match CBaseFilter2 - INHERITANCE!!
|
168
|
25 IPin* pin;
|
|
26 IPin* unused_pin;
|
3056
|
27 GUID interfaces[2];
|
1545
|
28
|
3056
|
29 IPin* ( *GetPin )(CBaseFilter* This);
|
|
30 IPin* ( *GetUnusedPin )(CBaseFilter* This);
|
168
|
31 };
|
1545
|
32
|
3056
|
33 CBaseFilter* CBaseFilterCreate(const AM_MEDIA_TYPE* vhdr, CBaseFilter2* parent);
|
|
34
|
|
35
|
|
36 typedef struct _CInputPin CInputPin;
|
|
37 struct _CInputPin
|
168
|
38 {
|
3056
|
39 IPin_vt* vt;
|
3130
|
40 DECLARE_IUNKNOWN();
|
168
|
41 AM_MEDIA_TYPE type;
|
|
42 CBaseFilter* parent;
|
3056
|
43 GUID interfaces[1];
|
168
|
44 };
|
|
45
|
3056
|
46 CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr);
|
168
|
47
|
1545
|
48
|
3056
|
49 typedef struct CRemotePin
|
168
|
50 {
|
3056
|
51 IPin_vt* vt;
|
3130
|
52 DECLARE_IUNKNOWN();
|
168
|
53 CBaseFilter* parent;
|
3130
|
54 GUID interfaces[1];
|
168
|
55 IPin* remote_pin;
|
3056
|
56 } CRemotePin;
|
|
57
|
|
58 CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin);
|
|
59
|
168
|
60
|
3056
|
61 typedef struct CRemotePin2
|
168
|
62 {
|
3056
|
63 IPin_vt* vt;
|
3130
|
64 DECLARE_IUNKNOWN();
|
168
|
65 CBaseFilter2* parent;
|
3056
|
66 GUID interfaces[1];
|
|
67 } CRemotePin2;
|
|
68
|
|
69 CRemotePin2* CRemotePin2Create(CBaseFilter2* parent);
|
168
|
70
|
1545
|
71 #endif /* DS_INPUTPIN_H */
|