annotate loader/dshow/inputpin.c @ 342:ac9bfa4a1005

using expLoadLibraryA instead of LoadLibraryA
author arpi_esp
date Wed, 11 Apr 2001 02:11:39 +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 #include "inputpin.h"
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
2 #include <stdio.h>
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
3 #include <stdlib.h>
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
4 #include <string.h>
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
5 #define E_NOTIMPL 0x80004001
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
6 GUID CInputPin::interfaces[]=
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
7 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
8 IID_IUnknown,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
9 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
10 IMPLEMENT_IUNKNOWN(CInputPin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
11
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
12 GUID CRemotePin::interfaces[]=
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
13 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
14 IID_IUnknown,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
15 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
16 IMPLEMENT_IUNKNOWN(CRemotePin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
17
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
18 GUID CRemotePin2::interfaces[]=
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
19 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
20 IID_IUnknown,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
21 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
22 IMPLEMENT_IUNKNOWN(CRemotePin2)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
23
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
24 GUID CBaseFilter::interfaces[]=
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
25 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
26 IID_IUnknown,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
27 IID_IBaseFilter,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
28 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
29 IMPLEMENT_IUNKNOWN(CBaseFilter)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
30
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
31 GUID CBaseFilter2::interfaces[]=
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
32 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
33 IID_IUnknown,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
34 IID_IBaseFilter,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
35 {0x76c61a30, 0xebe1, 0x11cf, {0x89, 0xf9, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xcb}},
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
36 {0xaae7e4e2, 0x6388, 0x11d1, {0x8d, 0x93, 0x00, 0x60, 0x97, 0xc9, 0xa2, 0xb2}},
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
37 {0x02ef04dd, 0x7580, 0x11d1, {0xbe, 0xce, 0x00, 0xc0, 0x4f, 0xb6, 0xe9, 0x37}},
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
38 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
39 IMPLEMENT_IUNKNOWN(CBaseFilter2)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
40
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
41 class CEnumPins: public IEnumPins
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
42 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
43 IPin* pin1;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
44 IPin* pin2;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
45 int counter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
46 static GUID interfaces[];
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
47 DECLARE_IUNKNOWN(CEnumPins)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
48 public:
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
49 CEnumPins(IPin*, IPin* =0);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
50 ~CEnumPins(){delete vt;}
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
51 static long STDCALL Next (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
52 IEnumPins * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
53 /* [in] */ unsigned long cMediaTypes,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
54 /* [size_is][out] */ IPin **ppMediaTypes,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
55 /* [out] */ unsigned long *pcFetched);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
56
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
57 static long STDCALL Skip (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
58 IEnumPins * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
59 /* [in] */ unsigned long cMediaTypes);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
60
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
61 static long STDCALL Reset (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
62 IEnumPins * This);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
63
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
64 static long STDCALL Clone (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
65 IEnumPins * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
66 /* [out] */ IEnumPins **ppEnum);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
67
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
68 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
69 GUID CEnumPins::interfaces[]=
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
70 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
71 IID_IUnknown,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
72 IID_IEnumPins,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
73 };
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
74 IMPLEMENT_IUNKNOWN(CEnumPins)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
75
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
76 CEnumPins::CEnumPins(IPin* p, IPin* pp): pin1(p), pin2(pp), counter(0), refcount(1)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
77 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
78 vt=new IEnumPins_vt;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
79 vt->QueryInterface = QueryInterface;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
80 vt->AddRef = AddRef;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
81 vt->Release = Release;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
82 vt->Next = Next;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
83 vt->Skip = Skip;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
84 vt->Reset = Reset;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
85 vt->Clone = Clone;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
86 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
87
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
88 long STDCALL CEnumPins::Next (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
89 IEnumPins * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
90 /* [in] */ unsigned long cMediaTypes,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
91 /* [size_is][out] */ IPin **ppMediaTypes,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
92 /* [out] */ unsigned long *pcFetched)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
93 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
94 IPin* pin1=((CEnumPins*)This)->pin1;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
95 IPin* pin2=((CEnumPins*)This)->pin2;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
96 Debug printf("CEnumPins::Next() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
97 if(!ppMediaTypes)return 0x80004003;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
98 if(!pcFetched && (cMediaTypes!=1))return 0x80004003;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
99 if(cMediaTypes<=0)return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
100 int& counter=((CEnumPins*)This)->counter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
101 if(((counter==2) && pin2) || ((counter==1) && !pin2))
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
102 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
103 if(pcFetched)*pcFetched=0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
104 return 1;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
105 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
106
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
107 if(pcFetched)*pcFetched=1;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
108 if(counter==0)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
109 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
110 *ppMediaTypes=pin1;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
111 pin1->vt->AddRef((IUnknown*)pin1);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
112 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
113 else
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
114 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
115 *ppMediaTypes=pin2;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
116 pin2->vt->AddRef((IUnknown*)pin2);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
117 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
118 counter++;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
119 if(cMediaTypes==1)return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
120 return 1;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
121 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
122
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
123 long STDCALL CEnumPins::Skip (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
124 IEnumPins * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
125 /* [in] */ unsigned long cMediaTypes)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
126 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
127 Debug printf("CEnumPins::Skip() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
128 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
129 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
130
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
131 long STDCALL CEnumPins::Reset (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
132 IEnumPins * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
133 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
134 Debug printf("CEnumPins::Reset() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
135 ((CEnumPins*)This)->counter=0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
136 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
137 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
138
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
139 long STDCALL CEnumPins::Clone (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
140 IEnumPins * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
141 /* [out] */ IEnumPins **ppEnum)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
142 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
143 Debug printf("CEnumPins::Clone() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
144 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
145 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
146
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
147 CInputPin::CInputPin(CBaseFilter* p, const AM_MEDIA_TYPE& vh)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
148 : refcount(1), type(vh), parent(p)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
149 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
150 vt=new IPin_vt;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
151 vt->QueryInterface = QueryInterface;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
152 vt->AddRef = AddRef;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
153 vt->Release = Release;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
154 vt->Connect = Connect;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
155 vt->ReceiveConnection = ReceiveConnection;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
156 vt->Disconnect=Disconnect;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
157 vt->ConnectedTo = ConnectedTo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
158 vt->ConnectionMediaType = ConnectionMediaType;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
159 vt->QueryPinInfo = QueryPinInfo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
160 vt->QueryDirection = QueryDirection;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
161 vt->QueryId = QueryId;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
162 vt->QueryAccept = QueryAccept;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
163 vt->EnumMediaTypes = EnumMediaTypes;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
164 vt->QueryInternalConnections = QueryInternalConnections;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
165 vt->EndOfStream = EndOfStream;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
166 vt->BeginFlush = BeginFlush;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
167 vt->EndFlush = EndFlush;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
168 vt->NewSegment = NewSegment;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
169 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
170
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
171 long STDCALL CInputPin::Connect (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
172 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
173 /* [in] */ IPin *pReceivePin,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
174 /* [in] */ AM_MEDIA_TYPE *pmt)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
175 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
176 Debug printf("CInputPin::Connect() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
177 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
178 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
179
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
180 long STDCALL CInputPin::ReceiveConnection (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
181 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
182 /* [in] */ IPin *pConnector,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
183 /* [in] */ const AM_MEDIA_TYPE *pmt)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
184 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
185 Debug printf("CInputPin::ReceiveConnection() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
186 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
187 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
188
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
189 long STDCALL CInputPin::Disconnect (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
190 IPin * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
191 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
192 Debug printf("CInputPin::Disconnect() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
193 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
194 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
195
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
196
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
197 long STDCALL CInputPin::ConnectedTo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
198 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
199 /* [out] */ IPin **pPin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
200 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
201 Debug printf("CInputPin::ConnectedTo() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
202 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
203 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
204
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
205
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
206 long STDCALL CInputPin::ConnectionMediaType (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
207 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
208 /* [out] */ AM_MEDIA_TYPE *pmt)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
209 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
210 Debug printf("CInputPin::ConnectionMediaType() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
211 if(!pmt)return 0x80004003;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
212 *pmt=((CInputPin*)This)->type;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
213 if(pmt->cbFormat>0)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
214 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
215 pmt->pbFormat=(char *)CoTaskMemAlloc(pmt->cbFormat);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
216 memcpy(pmt->pbFormat, ((CInputPin*)This)->type.pbFormat, pmt->cbFormat);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
217 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
218 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
219 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
220
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
221 long STDCALL CInputPin::QueryPinInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
222 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
223 /* [out] */ PIN_INFO *pInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
224 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
225 Debug printf("CInputPin::QueryPinInfo() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
226 pInfo->dir=PINDIR_OUTPUT;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
227 CBaseFilter* parent=((CInputPin*)This)->parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
228 pInfo->pFilter=parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
229 parent->vt->AddRef((IUnknown*)parent);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
230 pInfo->achName[0]=0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
231 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
232 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
233
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
234
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
235 long STDCALL CInputPin::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 *pPinDir=PINDIR_OUTPUT;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
240 Debug printf("CInputPin::QueryDirection() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
241 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
242 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
243
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
244
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
245 long STDCALL CInputPin::QueryId (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
246 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
247 /* [out] */ unsigned short* *Id)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
248 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
249 Debug printf("CInputPin::QueryId() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
250 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
251 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
252
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
253
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
254 long STDCALL CInputPin::QueryAccept (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
255 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
256 /* [in] */ const AM_MEDIA_TYPE *pmt)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
257 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
258 Debug printf("CInputPin::QueryAccept() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
259 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
260 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
261
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
262
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
263 long STDCALL CInputPin::EnumMediaTypes (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
264 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
265 /* [out] */ IEnumMediaTypes **ppEnum)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
266 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
267 Debug printf("CInputPin::EnumMediaTypes() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
268 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
269 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
270
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
271
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
272 long STDCALL CInputPin::QueryInternalConnections (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
273 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
274 /* [out] */ IPin **apPin,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
275 /* [out][in] */ unsigned long *nPin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
276 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
277 Debug printf("CInputPin::QueryInternalConnections() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
278 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
279 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
280
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
281 long STDCALL CInputPin::EndOfStream (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
282 IPin * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
283 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
284 Debug printf("CInputPin::EndOfStream() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
285 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
286 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
287
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
288
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
289 long STDCALL CInputPin::BeginFlush (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
290 IPin * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
291 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
292 Debug printf("CInputPin::BeginFlush() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
293 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
294 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
295
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
296
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
297 long STDCALL CInputPin::EndFlush (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
298 IPin * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
299 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
300 Debug printf("CInputPin::EndFlush() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
301 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
302 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
303
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
304 long STDCALL CInputPin::NewSegment (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
305 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
306 /* [in] */ REFERENCE_TIME tStart,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
307 /* [in] */ REFERENCE_TIME tStop,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
308 /* [in] */ double dRate)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
309 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
310 Debug printf("CInputPin::NewSegment() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
311 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
312 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
313
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
314
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
315
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
316
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
317
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
318
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
319 CBaseFilter::CBaseFilter(const AM_MEDIA_TYPE& type, CBaseFilter2* parent)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
320 : refcount(1)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
321 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
322 pin=new CInputPin(this, type);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
323 unused_pin=new CRemotePin(this, parent->GetPin());
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
324 vt=new IBaseFilter_vt;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
325 vt->QueryInterface = QueryInterface;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
326 vt->AddRef = AddRef;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
327 vt->Release = Release;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
328 vt->GetClassID = GetClassID;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
329 vt->Stop = Stop;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
330 vt->Pause = Pause;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
331 vt->Run = Run;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
332 vt->GetState = GetState;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
333 vt->SetSyncSource = SetSyncSource;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
334 vt->GetSyncSource = GetSyncSource;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
335 vt->EnumPins = EnumPins;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
336 vt->FindPin = FindPin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
337 vt->QueryFilterInfo = QueryFilterInfo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
338 vt->JoinFilterGraph = JoinFilterGraph;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
339 vt->QueryVendorInfo = QueryVendorInfo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
340 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
341
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
342 long STDCALL CBaseFilter::GetClassID (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
343 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
344 /* [out] */ CLSID *pClassID)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
345 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
346 Debug printf("CBaseFilter::GetClassID() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
347 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
348 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
349
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
350 long STDCALL CBaseFilter::Stop (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
351 IBaseFilter * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
352 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
353 Debug printf("CBaseFilter::Stop() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
354 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
355 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
356
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
357
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
358 long STDCALL CBaseFilter::Pause (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
359 IBaseFilter * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
360 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
361 Debug printf("CBaseFilter::Pause() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
362 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
363 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
364
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
365 long STDCALL CBaseFilter::Run (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
366 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
367 REFERENCE_TIME tStart)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
368 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
369 Debug printf("CBaseFilter::Run() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
370 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
371 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
372
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
373
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
374 long STDCALL CBaseFilter::GetState (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
375 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
376 /* [in] */ unsigned long dwMilliSecsTimeout,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
377 // /* [out] */ FILTER_STATE *State)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
378 void* State)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
379 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
380 Debug printf("CBaseFilter::GetState() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
381 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
382 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
383
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
384
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
385 long STDCALL CBaseFilter::SetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
386 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
387 /* [in] */ IReferenceClock *pClock)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
388 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
389 Debug printf("CBaseFilter::SetSyncSource() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
390 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
391 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
392
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
393
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
394 long STDCALL CBaseFilter::GetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
395 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
396 /* [out] */ IReferenceClock **pClock)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
397 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
398 Debug printf("CBaseFilter::GetSyncSource() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
399 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
400 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
401
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
402
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
403 long STDCALL CBaseFilter::EnumPins (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
404 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
405 /* [out] */ IEnumPins **ppEnum)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
406 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
407 Debug printf("CBaseFilter::EnumPins() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
408 *ppEnum=new CEnumPins(((CBaseFilter*)This)->pin, ((CBaseFilter*)This)->unused_pin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
409 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
410 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
411
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
412
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
413 long STDCALL CBaseFilter::FindPin (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
414 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
415 /* [string][in] */ const unsigned short* Id,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
416 /* [out] */ IPin **ppPin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
417 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
418 Debug printf("CBaseFilter::FindPin() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
419 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
420 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
421
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
422
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
423 long STDCALL CBaseFilter::QueryFilterInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
424 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
425 // /* [out] */ FILTER_INFO *pInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
426 void* pInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
427 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
428 Debug printf("CBaseFilter::QueryFilterInfo() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
429 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
430 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
431
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
432
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
433 long STDCALL CBaseFilter::JoinFilterGraph (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
434 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
435 /* [in] */ IFilterGraph *pGraph,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
436 /* [string][in] */ const unsigned short* pName)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
437 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
438 Debug printf("CBaseFilter::JoinFilterGraph() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
439 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
440 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
441
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
442
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
443 long STDCALL CBaseFilter::QueryVendorInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
444 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
445 /* [string][out] */ unsigned short* *pVendorInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
446 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
447 Debug printf("CBaseFilter::QueryVendorInfo() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
448 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
449 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
450
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
451
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
452 CBaseFilter2::CBaseFilter2() : refcount(1)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
453 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
454 pin=new CRemotePin2(this);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
455 vt=new IBaseFilter_vt;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
456 memset(vt, 0, sizeof (IBaseFilter_vt));
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
457 vt->QueryInterface = QueryInterface;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
458 vt->AddRef = AddRef;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
459 vt->Release = Release;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
460 vt->GetClassID = GetClassID;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
461 vt->Stop = Stop;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
462 vt->Pause = Pause;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
463 vt->Run = Run;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
464 vt->GetState = GetState;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
465 vt->SetSyncSource = SetSyncSource;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
466 vt->GetSyncSource = GetSyncSource;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
467 vt->EnumPins = EnumPins;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
468 vt->FindPin = FindPin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
469 vt->QueryFilterInfo = QueryFilterInfo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
470 vt->JoinFilterGraph = JoinFilterGraph;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
471 vt->QueryVendorInfo = QueryVendorInfo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
472 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
473 CRemotePin2::CRemotePin2(CBaseFilter2* p):parent(p),
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
474 refcount(1)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
475 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
476 vt=new IPin_vt;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
477 memset(vt, 0, sizeof (IPin_vt));
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
478 vt->QueryInterface = QueryInterface;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
479 vt->AddRef = AddRef;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
480 vt->Release = Release;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
481 vt->QueryPinInfo=QueryPinInfo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
482 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
483 CRemotePin::CRemotePin(CBaseFilter* pt, IPin* rpin): parent(pt), remote_pin(rpin),
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
484 refcount(1)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
485 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
486 vt=new IPin_vt;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
487 memset(vt, 0, sizeof (IPin_vt));
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
488 vt->QueryInterface = QueryInterface;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
489 vt->AddRef = AddRef;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
490 vt->Release = Release;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
491 vt->QueryDirection = QueryDirection;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
492 vt->ConnectedTo = ConnectedTo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
493 vt->ConnectionMediaType = ConnectionMediaType;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
494 vt->QueryPinInfo = QueryPinInfo;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
495 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
496
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
497
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
498
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
499
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
500
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
501
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
502
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
503
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
504
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
505
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
506
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
507
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
508 long STDCALL CBaseFilter2::GetClassID (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
509 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
510 /* [out] */ CLSID *pClassID)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
511 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
512 Debug printf("CBaseFilter2::GetClassID() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
513 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
514 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
515
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
516 long STDCALL CBaseFilter2::Stop (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
517 IBaseFilter * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
518 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
519 Debug printf("CBaseFilter2::Stop() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
520 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
521 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
522
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
523
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
524 long STDCALL CBaseFilter2::Pause (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
525 IBaseFilter * This)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
526 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
527 Debug printf("CBaseFilter2::Pause() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
528 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
529 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
530
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
531 long STDCALL CBaseFilter2::Run (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
532 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
533 REFERENCE_TIME tStart)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
534 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
535 Debug printf("CBaseFilter2::Run() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
536 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
537 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
538
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
539
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
540 long STDCALL CBaseFilter2::GetState (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
541 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
542 /* [in] */ unsigned long dwMilliSecsTimeout,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
543 // /* [out] */ FILTER_STATE *State)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
544 void* State)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
545 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
546 Debug printf("CBaseFilter2::GetState() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
547 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
548 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
549
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
550
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
551 long STDCALL CBaseFilter2::SetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
552 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
553 /* [in] */ IReferenceClock *pClock)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
554 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
555 Debug printf("CBaseFilter2::SetSyncSource() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
556 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
557 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
558
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
559
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
560 long STDCALL CBaseFilter2::GetSyncSource (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
561 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
562 /* [out] */ IReferenceClock **pClock)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
563 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
564 Debug printf("CBaseFilter2::GetSyncSource() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
565 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
566 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
567
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
568
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
569 long STDCALL CBaseFilter2::EnumPins (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
570 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
571 /* [out] */ IEnumPins **ppEnum)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
572 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
573 Debug printf("CBaseFilter2::EnumPins() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
574 *ppEnum=new CEnumPins(((CBaseFilter2*)This)->pin);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
575 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
576 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
577
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
578
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
579 long STDCALL CBaseFilter2::FindPin (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
580 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
581 /* [string][in] */ const unsigned short* Id,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
582 /* [out] */ IPin **ppPin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
583 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
584 Debug printf("CBaseFilter2::FindPin() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
585 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
586 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
587
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
588
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
589 long STDCALL CBaseFilter2::QueryFilterInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
590 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
591 // /* [out] */ FILTER_INFO *pInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
592 void* pInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
593 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
594 Debug printf("CBaseFilter2::QueryFilterInfo() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
595 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
596 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
597
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
598
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
599 long STDCALL CBaseFilter2::JoinFilterGraph (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
600 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
601 /* [in] */ IFilterGraph *pGraph,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
602 /* [string][in] */ const unsigned short* pName)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
603 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
604 Debug printf("CBaseFilter2::JoinFilterGraph() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
605 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
606 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
607
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
608
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
609 long STDCALL CBaseFilter2::QueryVendorInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
610 IBaseFilter * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
611 /* [string][out] */ unsigned short* *pVendorInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
612 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
613 Debug printf("CBaseFilter2::QueryVendorInfo() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
614 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
615 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
616
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
617 long STDCALL CRemotePin::ConnectionMediaType (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
618 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
619 /* [out] */ AM_MEDIA_TYPE *pmt)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
620 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
621 Debug printf("CRemotePin::ConnectionMediaType() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
622 return E_NOTIMPL;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
623 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
624
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
625 long STDCALL CRemotePin::QueryPinInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
626 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
627 /* [out] */ PIN_INFO *pInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
628 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
629 Debug printf("CRemotePin::QueryPinInfo() called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
630 pInfo->dir=PINDIR_INPUT;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
631 CBaseFilter* parent=((CRemotePin*)This)->parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
632 pInfo->pFilter=parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
633 parent->vt->AddRef((IUnknown*)parent);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
634 pInfo->achName[0]=0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
635 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
636 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
637 long STDCALL CRemotePin2::QueryPinInfo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
638 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
639 /* [out] */ PIN_INFO *pInfo)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
640 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
641 Debug printf("CRemotePin2::QueryPinInfo called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
642 CBaseFilter2* parent=((CRemotePin2*)This)->parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
643 pInfo->pFilter=(IBaseFilter*)parent;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
644 parent->vt->AddRef((IUnknown*)parent);
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
645 pInfo->dir=PINDIR_OUTPUT;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
646 pInfo->achName[0]=0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
647 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
648 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
649 long STDCALL CRemotePin::ConnectedTo (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
650 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
651 /* [out] */ IPin **pPin)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
652 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
653 Debug printf("CRemotePin::ConnectedTo called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
654 if(!pPin)return 0x80004003;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
655 *pPin=((CRemotePin*)This)->remote_pin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
656 (*pPin)->vt->AddRef((IUnknown*)(*pPin));
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
657 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
658 }
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
659 long STDCALL CRemotePin::QueryDirection (
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
660 IPin * This,
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
661 /* [out] */ PIN_DIRECTION *pPinDir)
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
662 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
663 Debug printf("CRemotePin::QueryDirection called\n");
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
664 if(!pPinDir)return 0x80004003;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
665 *pPinDir=PINDIR_INPUT;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
666 return 0;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
667 }