comparison loader/dshow/inputpin.h @ 1545:da26060c81ef

big avifile sync - from now we have common code
author arpi
date Thu, 16 Aug 2001 00:50:02 +0000
parents bdc4a8fc04d8
children 213b35f84cf3
comparison
equal deleted inserted replaced
1544:558c1b03b8d0 1545:da26060c81ef
1 #ifndef INPUTPIN_H 1 #ifndef DS_INPUTPIN_H
2 #define INPUTPIN_H 2 #define DS_INPUTPIN_H
3
3 #include "interfaces.h" 4 #include "interfaces.h"
4 #include "guids.h" 5 #include "guids.h"
5 #include "iunk.h" 6 #include "iunk.h"
6 7
7 class CBaseFilter2; 8 class CBaseFilter2;
15 CBaseFilter(const AM_MEDIA_TYPE& vhdr, CBaseFilter2* parent); 16 CBaseFilter(const AM_MEDIA_TYPE& vhdr, CBaseFilter2* parent);
16 ~CBaseFilter(){delete vt;pin->vt->Release((IUnknown*)pin);unused_pin->vt->Release((IUnknown*)unused_pin);} 17 ~CBaseFilter(){delete vt;pin->vt->Release((IUnknown*)pin);unused_pin->vt->Release((IUnknown*)unused_pin);}
17 18
18 IPin* GetPin() {return pin;} 19 IPin* GetPin() {return pin;}
19 IPin* GetUnusedPin() {return unused_pin;} 20 IPin* GetUnusedPin() {return unused_pin;}
20 // static long STDCALL QueryInterface(IUnknown* This, GUID* iid, void** ppv); 21
21 // static long STDCALL AddRef(IUnknown* This); 22 static long STDCALL GetClassID (IBaseFilter * This,
22 // static long STDCALL Release(IUnknown* This); 23 /* [out] */ CLSID *pClassID);
23 24
24 static long STDCALL GetClassID ( 25 static long STDCALL Stop (IBaseFilter * This);
25 IBaseFilter * This, 26 static long STDCALL Pause (IBaseFilter * This);
26 /* [out] */ CLSID *pClassID); 27 static long STDCALL Run (IBaseFilter * This, REFERENCE_TIME tStart);
27 28 static long STDCALL GetState (IBaseFilter * This,
28 static long STDCALL Stop ( 29 /* [in] */ unsigned long dwMilliSecsTimeout,
29 IBaseFilter * This); 30 // /* [out] */ FILTER_STATE *State);
30 31 void* State);
31 static long STDCALL Pause ( 32
32 IBaseFilter * This); 33 static long STDCALL SetSyncSource (IBaseFilter * This,
33 34 /* [in] */ IReferenceClock *pClock);
34 static long STDCALL Run ( 35 static long STDCALL GetSyncSource (IBaseFilter * This,
35 IBaseFilter * This, 36 /* [out] */ IReferenceClock **pClock);
36 REFERENCE_TIME tStart); 37 static long STDCALL EnumPins (IBaseFilter * This,
37 38 /* [out] */ IEnumPins **ppEnum);
38 static long STDCALL GetState ( 39 static long STDCALL FindPin (IBaseFilter * This,
39 IBaseFilter * This, 40 /* [string][in] */ const unsigned short* Id,
40 /* [in] */ unsigned long dwMilliSecsTimeout, 41 /* [out] */ IPin **ppPin);
41 // /* [out] */ FILTER_STATE *State); 42 static long STDCALL QueryFilterInfo (IBaseFilter * This,
42 void* State); 43 ///* [out] */ FILTER_INFO *pInfo);
43 44 void* pInfo);
44 static long STDCALL SetSyncSource ( 45 static long STDCALL JoinFilterGraph (IBaseFilter * This,
45 IBaseFilter * This, 46 /* [in] */ IFilterGraph *pGraph,
46 /* [in] */ IReferenceClock *pClock); 47 /* [string][in] */
47 48 const unsigned short* pName);
48 static long STDCALL GetSyncSource ( 49 static long STDCALL QueryVendorInfo (IBaseFilter * This,
49 IBaseFilter * This, 50 /* [string][out] */
50 /* [out] */ IReferenceClock **pClock); 51 unsigned short* *pVendorInfo);
51 52 };
52 static long STDCALL EnumPins ( 53
53 IBaseFilter * This,
54 /* [out] */ IEnumPins **ppEnum);
55
56 static long STDCALL FindPin (
57 IBaseFilter * This,
58 /* [string][in] */ const unsigned short* Id,
59 /* [out] */ IPin **ppPin);
60
61 static long STDCALL QueryFilterInfo (
62 IBaseFilter * This,
63 // /* [out] */ FILTER_INFO *pInfo);
64 void* pInfo);
65
66 static long STDCALL JoinFilterGraph (
67 IBaseFilter * This,
68 /* [in] */ IFilterGraph *pGraph,
69 /* [string][in] */ const unsigned short* pName);
70
71 static long STDCALL QueryVendorInfo (
72 IBaseFilter * This,
73 /* [string][out] */ unsigned short* *pVendorInfo);
74 };
75 class CInputPin: public IPin 54 class CInputPin: public IPin
76 { 55 {
77 AM_MEDIA_TYPE type; 56 AM_MEDIA_TYPE type;
78 CBaseFilter* parent; 57 CBaseFilter* parent;
79 static GUID interfaces[]; 58 static GUID interfaces[];
212 static long STDCALL QueryVendorInfo ( 191 static long STDCALL QueryVendorInfo (
213 IBaseFilter * This, 192 IBaseFilter * This,
214 /* [string][out] */ unsigned short* *pVendorInfo); 193 /* [string][out] */ unsigned short* *pVendorInfo);
215 }; 194 };
216 195
217 class CRemotePin: public IPin 196
197 struct CRemotePin: public IPin
218 { 198 {
219 CBaseFilter* parent; 199 CBaseFilter* parent;
220 IPin* remote_pin; 200 IPin* remote_pin;
221 static GUID interfaces[]; 201 static GUID interfaces[];
222 DECLARE_IUNKNOWN(CRemotePin) 202 DECLARE_IUNKNOWN(CRemotePin)
223 public:
224 CRemotePin(CBaseFilter* pt, IPin* rpin); 203 CRemotePin(CBaseFilter* pt, IPin* rpin);
225 ~CRemotePin(){delete vt;} 204 ~CRemotePin(){delete vt;}
226 205 };
227 // static long STDCALL QueryInterface(IUnknown* This, GUID* iid, void** ppv); 206
228 // static long STDCALL AddRef(IUnknown* This); 207 struct CRemotePin2: public IPin
229 // static long STDCALL Release(IUnknown* This);
230
231 static long STDCALL ConnectedTo (
232 IPin * This,
233 /* [out] */ IPin **pPin);
234
235 static long STDCALL QueryDirection (
236 IPin * This,
237 /* [out] */ PIN_DIRECTION *pPinDir);
238
239 static long STDCALL ConnectionMediaType (
240 IPin * This,
241 /* [out] */ AM_MEDIA_TYPE *pmt);
242
243 static long STDCALL QueryPinInfo (
244 IPin * This,
245 /* [out] */ PIN_INFO *pInfo);
246
247 };
248
249
250 class CRemotePin2: public IPin
251 { 208 {
252 CBaseFilter2* parent; 209 CBaseFilter2* parent;
253 static GUID interfaces[]; 210 static GUID interfaces[];
254 DECLARE_IUNKNOWN(CRemotePin2) 211 DECLARE_IUNKNOWN(CRemotePin2)
255 public:
256 CRemotePin2(CBaseFilter2* parent); 212 CRemotePin2(CBaseFilter2* parent);
257 ~CRemotePin2(){delete vt;} 213 ~CRemotePin2(){delete vt;}
258 214 };
259 static long STDCALL QueryPinInfo ( 215
260 IPin * This, 216 #endif /* DS_INPUTPIN_H */
261 /* [out] */ PIN_INFO *pInfo);
262 };
263
264
265 #endif