annotate loader/dshow/inputpin.c @ 2437:de434f02dee6

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