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
|
8292
|
17 CBaseFilter2* CBaseFilter2Create(void);
|
3056
|
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
|
7386
|
36 typedef struct
|
168
|
37 {
|
3056
|
38 IPin_vt* vt;
|
3130
|
39 DECLARE_IUNKNOWN();
|
3467
|
40 CBaseFilter* parent;
|
168
|
41 AM_MEDIA_TYPE type;
|
3056
|
42 GUID interfaces[1];
|
7386
|
43 } CInputPin;
|
168
|
44
|
3056
|
45 CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr);
|
168
|
46
|
1545
|
47
|
7386
|
48 typedef struct
|
168
|
49 {
|
3056
|
50 IPin_vt* vt;
|
3130
|
51 DECLARE_IUNKNOWN();
|
168
|
52 CBaseFilter* parent;
|
3130
|
53 GUID interfaces[1];
|
168
|
54 IPin* remote_pin;
|
3056
|
55 } CRemotePin;
|
|
56
|
|
57 CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin);
|
|
58
|
168
|
59
|
7386
|
60 typedef struct
|
168
|
61 {
|
3056
|
62 IPin_vt* vt;
|
3130
|
63 DECLARE_IUNKNOWN();
|
168
|
64 CBaseFilter2* parent;
|
3056
|
65 GUID interfaces[1];
|
|
66 } CRemotePin2;
|
|
67
|
|
68 CRemotePin2* CRemotePin2Create(CBaseFilter2* parent);
|
168
|
69
|
1545
|
70 #endif /* DS_INPUTPIN_H */
|