source: trunk/src/quartz/ifgraph.c@ 6563

Last change on this file since 6563 was 6563, checked in by sandervl, 24 years ago

created

File size: 5.4 KB
Line 
1/*
2 * Implementation of IFilterGraph.
3 *
4 * FIXME - stub.
5 * FIXME - implement IGraphBuilder / IFilterGraph2.
6 *
7 * hidenori@a2.ctktv.ne.jp
8 */
9
10#include "config.h"
11
12#include "windef.h"
13#include "winbase.h"
14#include "wingdi.h"
15#include "winerror.h"
16#include "wine/obj_base.h"
17#include "strmif.h"
18#include "uuids.h"
19
20#include "debugtools.h"
21DEFAULT_DEBUG_CHANNEL(quartz);
22
23#include "quartz_private.h"
24#include "fgraph.h"
25
26static HRESULT WINAPI
27IFilterGraph2_fnQueryInterface(IFilterGraph2* iface,REFIID riid,void** ppobj)
28{
29 CFilterGraph_THIS(iface,fgraph);
30
31 TRACE("(%p)->()\n",This);
32
33 return IUnknown_QueryInterface((IUnknown*)(&This->unk),riid,ppobj);
34}
35
36static ULONG WINAPI
37IFilterGraph2_fnAddRef(IFilterGraph2* iface)
38{
39 CFilterGraph_THIS(iface,fgraph);
40
41 TRACE("(%p)->()\n",This);
42
43 return IUnknown_AddRef((IUnknown*)(&This->unk));
44}
45
46static ULONG WINAPI
47IFilterGraph2_fnRelease(IFilterGraph2* iface)
48{
49 CFilterGraph_THIS(iface,fgraph);
50
51 TRACE("(%p)->()\n",This);
52
53 return IUnknown_Release((IUnknown*)(&This->unk));
54}
55
56static HRESULT WINAPI
57IFilterGraph2_fnAddFilter(IFilterGraph2* iface,IBaseFilter* pFilter, LPCWSTR pName)
58{
59 CFilterGraph_THIS(iface,fgraph);
60
61 FIXME( "(%p)->() stub!\n", This );
62 return E_NOTIMPL;
63}
64
65static HRESULT WINAPI
66IFilterGraph2_fnRemoveFilter(IFilterGraph2* iface,IBaseFilter* pFilter)
67{
68 CFilterGraph_THIS(iface,fgraph);
69
70 FIXME( "(%p)->() stub!\n", This );
71 return E_NOTIMPL;
72}
73
74static HRESULT WINAPI
75IFilterGraph2_fnEnumFilters(IFilterGraph2* iface,IEnumFilters** ppEnum)
76{
77 CFilterGraph_THIS(iface,fgraph);
78
79 FIXME( "(%p)->() stub!\n", This );
80 return E_NOTIMPL;
81}
82
83static HRESULT WINAPI
84IFilterGraph2_fnFindFilterByName(IFilterGraph2* iface,LPCWSTR pName,IBaseFilter** ppFilter)
85{
86 CFilterGraph_THIS(iface,fgraph);
87
88 FIXME( "(%p)->() stub!\n", This );
89 return E_NOTIMPL;
90}
91
92static HRESULT WINAPI
93IFilterGraph2_fnConnectDirect(IFilterGraph2* iface,IPin* pOut,IPin* pIn,const AM_MEDIA_TYPE* pmt)
94{
95 CFilterGraph_THIS(iface,fgraph);
96
97 FIXME( "(%p)->() stub!\n", This );
98 return E_NOTIMPL;
99}
100
101static HRESULT WINAPI
102IFilterGraph2_fnReconnect(IFilterGraph2* iface,IPin* pPin)
103{
104 CFilterGraph_THIS(iface,fgraph);
105
106 FIXME( "(%p)->() stub!\n", This );
107 return E_NOTIMPL;
108}
109
110static HRESULT WINAPI
111IFilterGraph2_fnDisconnect(IFilterGraph2* iface,IPin* pPin)
112{
113 CFilterGraph_THIS(iface,fgraph);
114
115 FIXME( "(%p)->() stub!\n", This );
116 return E_NOTIMPL;
117}
118
119static HRESULT WINAPI
120IFilterGraph2_fnSetDefaultSyncSource(IFilterGraph2* iface)
121{
122 CFilterGraph_THIS(iface,fgraph);
123
124 FIXME( "(%p)->() stub!\n", This );
125 return E_NOTIMPL;
126}
127
128static HRESULT WINAPI
129IFilterGraph2_fnConnect(IFilterGraph2* iface,IPin* pOut,IPin* pIn)
130{
131 CFilterGraph_THIS(iface,fgraph);
132
133 FIXME( "(%p)->() stub!\n", This );
134 return E_NOTIMPL;
135}
136
137static HRESULT WINAPI
138IFilterGraph2_fnRender(IFilterGraph2* iface,IPin* pOut)
139{
140 CFilterGraph_THIS(iface,fgraph);
141
142 FIXME( "(%p)->() stub!\n", This );
143 return E_NOTIMPL;
144}
145
146static HRESULT WINAPI
147IFilterGraph2_fnRenderFile(IFilterGraph2* iface,LPCWSTR lpFileName,LPCWSTR lpPlayList)
148{
149 CFilterGraph_THIS(iface,fgraph);
150
151 FIXME( "(%p)->() stub!\n", This );
152 return E_NOTIMPL;
153}
154
155static HRESULT WINAPI
156IFilterGraph2_fnAddSourceFilter(IFilterGraph2* iface,LPCWSTR lpFileName,LPCWSTR lpFilterName,IBaseFilter** ppBaseFilter)
157{
158 CFilterGraph_THIS(iface,fgraph);
159
160 FIXME( "(%p)->() stub!\n", This );
161 return E_NOTIMPL;
162}
163
164static HRESULT WINAPI
165IFilterGraph2_fnSetLogFile(IFilterGraph2* iface,DWORD_PTR hFile)
166{
167 CFilterGraph_THIS(iface,fgraph);
168
169 FIXME( "(%p)->() stub!\n", This );
170 return E_NOTIMPL;
171}
172
173static HRESULT WINAPI
174IFilterGraph2_fnAbort(IFilterGraph2* iface)
175{
176 CFilterGraph_THIS(iface,fgraph);
177
178 /* undoc. */
179
180 FIXME( "(%p)->() stub!\n", This );
181 return E_NOTIMPL;
182}
183
184static HRESULT WINAPI
185IFilterGraph2_fnShouldOperationContinue(IFilterGraph2* iface)
186{
187 CFilterGraph_THIS(iface,fgraph);
188
189 /* undoc. */
190
191 FIXME( "(%p)->() stub!\n", This );
192 return E_NOTIMPL;
193}
194
195static HRESULT WINAPI
196IFilterGraph2_fnAddSourceFilterForMoniker(IFilterGraph2* iface,IMoniker* pMon,IBindCtx* pCtx,LPCWSTR pFilterName,IBaseFilter** ppFilter)
197{
198 CFilterGraph_THIS(iface,fgraph);
199
200 FIXME( "(%p)->() stub!\n", This );
201 return E_NOTIMPL;
202}
203
204static HRESULT WINAPI
205IFilterGraph2_fnReconnectEx(IFilterGraph2* iface,IPin* pPin,const AM_MEDIA_TYPE* pmt)
206{
207 CFilterGraph_THIS(iface,fgraph);
208
209 FIXME( "(%p)->() stub!\n", This );
210 return E_NOTIMPL;
211}
212
213static HRESULT WINAPI
214IFilterGraph2_fnRenderEx(IFilterGraph2* iface,IPin* pPin,DWORD dwParam1,DWORD* pdwParam2)
215{
216 CFilterGraph_THIS(iface,fgraph);
217
218 /* undoc. */
219 FIXME( "(%p)->() stub!\n", This );
220 return E_NOTIMPL;
221}
222
223
224
225
226static ICOM_VTABLE(IFilterGraph2) ifgraph =
227{
228 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
229 /* IUnknown fields */
230 IFilterGraph2_fnQueryInterface,
231 IFilterGraph2_fnAddRef,
232 IFilterGraph2_fnRelease,
233 /* IFilterGraph fields */
234 IFilterGraph2_fnAddFilter,
235 IFilterGraph2_fnRemoveFilter,
236 IFilterGraph2_fnEnumFilters,
237 IFilterGraph2_fnFindFilterByName,
238 IFilterGraph2_fnConnectDirect,
239 IFilterGraph2_fnReconnect,
240 IFilterGraph2_fnDisconnect,
241 IFilterGraph2_fnSetDefaultSyncSource,
242 /* IGraphBuilder fields */
243 IFilterGraph2_fnConnect,
244 IFilterGraph2_fnRender,
245 IFilterGraph2_fnRenderFile,
246 IFilterGraph2_fnAddSourceFilter,
247 IFilterGraph2_fnSetLogFile,
248 IFilterGraph2_fnAbort,
249 IFilterGraph2_fnShouldOperationContinue,
250 /* IFilterGraph2 fields */
251 IFilterGraph2_fnAddSourceFilterForMoniker,
252 IFilterGraph2_fnReconnectEx,
253 IFilterGraph2_fnRenderEx,
254};
255
256void CFilterGraph_InitIFilterGraph2( CFilterGraph* pfg )
257{
258 TRACE("(%p)\n",pfg);
259 ICOM_VTBL(&pfg->fgraph) = &ifgraph;
260}
Note: See TracBrowser for help on using the repository browser.