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