annotate loader/dshow/inputpin.h @ 859:3560d38486ab

Better insns scheduling
author nickols_k
date Thu, 24 May 2001 09:42:18 +0000
parents bdc4a8fc04d8
children da26060c81ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
1 #ifndef INPUTPIN_H
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
2 #define INPUTPIN_H
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
3 #include "interfaces.h"
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
4 #include "guids.h"
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
5 #include "iunk.h"
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
6
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
7 class CBaseFilter2;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
8 class CBaseFilter: public IBaseFilter
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
9 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
10 IPin* pin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
11 IPin* unused_pin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
12 static GUID interfaces[];
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
13 DECLARE_IUNKNOWN(CBaseFilter)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
14 public:
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
15 CBaseFilter(const AM_MEDIA_TYPE& vhdr, CBaseFilter2* parent);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
16 ~CBaseFilter(){delete vt;pin->vt->Release((IUnknown*)pin);unused_pin->vt->Release((IUnknown*)unused_pin);}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
17
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
18 IPin* GetPin() {return pin;}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
19 IPin* GetUnusedPin() {return unused_pin;}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
20 // static long STDCALL QueryInterface(IUnknown* This, GUID* iid, void** ppv);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
21 // static long STDCALL AddRef(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
22 // static long STDCALL Release(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
23
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
24 static long STDCALL GetClassID (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
25 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
26 /* [out] */ CLSID *pClassID);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
27
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
28 static long STDCALL Stop (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
29 IBaseFilter * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
30
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
31 static long STDCALL Pause (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
32 IBaseFilter * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
33
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
34 static long STDCALL Run (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
35 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
36 REFERENCE_TIME tStart);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
37
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
38 static long STDCALL GetState (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
39 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
40 /* [in] */ unsigned long dwMilliSecsTimeout,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
41 // /* [out] */ FILTER_STATE *State);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
42 void* State);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
43
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
44 static long STDCALL SetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
45 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
46 /* [in] */ IReferenceClock *pClock);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
47
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
48 static long STDCALL GetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
49 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
50 /* [out] */ IReferenceClock **pClock);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
51
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
52 static long STDCALL EnumPins (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
53 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
54 /* [out] */ IEnumPins **ppEnum);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
55
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
56 static long STDCALL FindPin (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
57 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
58 /* [string][in] */ const unsigned short* Id,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
59 /* [out] */ IPin **ppPin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
60
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
61 static long STDCALL QueryFilterInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
62 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
63 // /* [out] */ FILTER_INFO *pInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
64 void* pInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
65
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
66 static long STDCALL JoinFilterGraph (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
67 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
68 /* [in] */ IFilterGraph *pGraph,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
69 /* [string][in] */ const unsigned short* pName);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
70
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
71 static long STDCALL QueryVendorInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
72 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
73 /* [string][out] */ unsigned short* *pVendorInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
74 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
75 class CInputPin: public IPin
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
76 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
77 AM_MEDIA_TYPE type;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
78 CBaseFilter* parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
79 static GUID interfaces[];
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
80 DECLARE_IUNKNOWN(CInputPin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
81 public:
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
82 CInputPin(CBaseFilter* parent, const AM_MEDIA_TYPE& vhdr);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
83 ~CInputPin(){delete vt;}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
84 // IPin* GetPin();
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
85
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
86 // static long STDCALL QueryInterface(IUnknown* This, GUID* iid, void** ppv);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
87 // static long STDCALL AddRef(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
88 // static long STDCALL Release(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
89
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
90 static long STDCALL Connect (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
91 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
92 /* [in] */ IPin *pReceivePin,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
93 /* [in] */ AM_MEDIA_TYPE *pmt);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
94
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
95 static long STDCALL ReceiveConnection (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
96 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
97 /* [in] */ IPin *pConnector,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
98 /* [in] */ const AM_MEDIA_TYPE *pmt);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
99
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
100 static long STDCALL Disconnect (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
101 IPin * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
102
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
103 static long STDCALL ConnectedTo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
104 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
105 /* [out] */ IPin **pPin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
106
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
107 static long STDCALL ConnectionMediaType (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
108 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
109 /* [out] */ AM_MEDIA_TYPE *pmt);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
110
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
111 static long STDCALL QueryPinInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
112 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
113 /* [out] */ PIN_INFO *pInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
114
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
115 static long STDCALL QueryDirection (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
116 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
117 /* [out] */ PIN_DIRECTION *pPinDir);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
118
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
119 static long STDCALL QueryId (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
120 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
121 /* [out] */ unsigned short* *Id);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
122
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
123 static long STDCALL QueryAccept (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
124 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
125 /* [in] */ const AM_MEDIA_TYPE *pmt);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
126
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
127 static long STDCALL EnumMediaTypes (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
128 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
129 /* [out] */ IEnumMediaTypes **ppEnum);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
130
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
131 static long STDCALL QueryInternalConnections (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
132 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
133 /* [out] */ IPin **apPin,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
134 /* [out][in] */ unsigned long *nPin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
135
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
136 static long STDCALL EndOfStream (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
137 IPin * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
138
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
139 static long STDCALL BeginFlush (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
140 IPin * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
141
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
142 static long STDCALL EndFlush (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
143 IPin * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
144
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
145 static long STDCALL NewSegment (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
146 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
147 /* [in] */ REFERENCE_TIME tStart,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
148 /* [in] */ REFERENCE_TIME tStop,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
149 /* [in] */ double dRate);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
150 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
151
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
152 class CBaseFilter2: public IBaseFilter
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
153 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
154 IPin* pin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
155 static GUID interfaces[];
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
156 DECLARE_IUNKNOWN(CBaseFilter2)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
157 public:
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
158 CBaseFilter2();
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
159 ~CBaseFilter2(){delete vt;pin->vt->Release((IUnknown*)pin);}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
160 IPin* GetPin() {return pin;}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
161
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
162 // static long STDCALL QueryInterface(IUnknown* This, GUID* iid, void** ppv);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
163 // static long STDCALL AddRef(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
164 // static long STDCALL Release(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
165 static long STDCALL GetClassID (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
166 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
167 /* [out] */ CLSID *pClassID);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
169 static long STDCALL Stop (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
170 IBaseFilter * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
171
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
172 static long STDCALL Pause (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
173 IBaseFilter * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
174
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
175 static long STDCALL Run (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
176 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
177 REFERENCE_TIME tStart);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
178
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
179 static long STDCALL GetState (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
180 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
181 /* [in] */ unsigned long dwMilliSecsTimeout,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
182 // /* [out] */ FILTER_STATE *State);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
183 void* State);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
184
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
185 static long STDCALL SetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
186 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
187 /* [in] */ IReferenceClock *pClock);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
188
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
189 static long STDCALL GetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
190 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
191 /* [out] */ IReferenceClock **pClock);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
192
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
193 static long STDCALL EnumPins (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
194 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
195 /* [out] */ IEnumPins **ppEnum);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
196
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
197 static long STDCALL FindPin (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
198 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
199 /* [string][in] */ const unsigned short* Id,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
200 /* [out] */ IPin **ppPin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
201
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
202 static long STDCALL QueryFilterInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
203 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
204 // /* [out] */ FILTER_INFO *pInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
205 void* pInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
206
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
207 static long STDCALL JoinFilterGraph (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
208 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
209 /* [in] */ IFilterGraph *pGraph,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
210 /* [string][in] */ const unsigned short* pName);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
211
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
212 static long STDCALL QueryVendorInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
213 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
214 /* [string][out] */ unsigned short* *pVendorInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
215 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
216
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
217 class CRemotePin: public IPin
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
218 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
219 CBaseFilter* parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
220 IPin* remote_pin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
221 static GUID interfaces[];
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
222 DECLARE_IUNKNOWN(CRemotePin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
223 public:
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
224 CRemotePin(CBaseFilter* pt, IPin* rpin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
225 ~CRemotePin(){delete vt;}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
226
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
227 // static long STDCALL QueryInterface(IUnknown* This, GUID* iid, void** ppv);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
228 // static long STDCALL AddRef(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
229 // static long STDCALL Release(IUnknown* This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
230
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
231 static long STDCALL ConnectedTo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
232 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
233 /* [out] */ IPin **pPin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
234
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
235 static long STDCALL QueryDirection (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
236 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
237 /* [out] */ PIN_DIRECTION *pPinDir);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
238
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
239 static long STDCALL ConnectionMediaType (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
240 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
241 /* [out] */ AM_MEDIA_TYPE *pmt);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
242
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
243 static long STDCALL QueryPinInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
244 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
245 /* [out] */ PIN_INFO *pInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
246
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
247 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
248
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
249
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
250 class CRemotePin2: public IPin
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
251 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
252 CBaseFilter2* parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
253 static GUID interfaces[];
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
254 DECLARE_IUNKNOWN(CRemotePin2)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
255 public:
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
256 CRemotePin2(CBaseFilter2* parent);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
257 ~CRemotePin2(){delete vt;}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
258
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
259 static long STDCALL QueryPinInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
260 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
261 /* [out] */ PIN_INFO *pInfo);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
262 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
263
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
264
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
265 #endif