Mercurial > mplayer.hg
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 |