Merged some C sources.
[wine/multimedia.git] / dlls / quartz / imseek.c
blob2a515fb73888be5e3e9107486b6873a759261cf8
1 /*
2 * Implementation of IMediaSeeking for FilterGraph.
4 * FIXME - stub.
5 * FIXME - this interface should be allocated as a plug-in(?)
7 * hidenori@a2.ctktv.ne.jp
8 */
10 #include "config.h"
12 #include "windef.h"
13 #include "winbase.h"
14 #include "wingdi.h"
15 #include "winuser.h"
16 #include "winerror.h"
17 #include "wine/obj_base.h"
18 #include "wine/obj_oleaut.h"
19 #include "strmif.h"
20 #include "control.h"
21 #include "uuids.h"
23 #include "debugtools.h"
24 DEFAULT_DEBUG_CHANNEL(quartz);
26 #include "quartz_private.h"
27 #include "fgraph.h"
31 static HRESULT WINAPI
32 IMediaSeeking_fnQueryInterface(IMediaSeeking* iface,REFIID riid,void** ppobj)
34 CFilterGraph_THIS(iface,mediaseeking);
36 TRACE("(%p)->()\n",This);
38 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
41 static ULONG WINAPI
42 IMediaSeeking_fnAddRef(IMediaSeeking* iface)
44 CFilterGraph_THIS(iface,mediaseeking);
46 TRACE("(%p)->()\n",This);
48 return IUnknown_AddRef(This->unk.punkControl);
51 static ULONG WINAPI
52 IMediaSeeking_fnRelease(IMediaSeeking* iface)
54 CFilterGraph_THIS(iface,mediaseeking);
56 TRACE("(%p)->()\n",This);
58 return IUnknown_Release(This->unk.punkControl);
62 static HRESULT WINAPI
63 IMediaSeeking_fnGetCapabilities(IMediaSeeking* iface,DWORD* pdwCaps)
65 CFilterGraph_THIS(iface,mediaseeking);
67 FIXME("(%p)->() stub!\n",This);
69 return E_NOTIMPL;
72 static HRESULT WINAPI
73 IMediaSeeking_fnCheckCapabilities(IMediaSeeking* iface,DWORD* pdwCaps)
75 CFilterGraph_THIS(iface,mediaseeking);
77 FIXME("(%p)->() stub!\n",This);
79 return E_NOTIMPL;
82 static HRESULT WINAPI
83 IMediaSeeking_fnIsFormatSupported(IMediaSeeking* iface,const GUID* pidFormat)
85 CFilterGraph_THIS(iface,mediaseeking);
87 FIXME("(%p)->() stub!\n",This);
89 return E_NOTIMPL;
92 static HRESULT WINAPI
93 IMediaSeeking_fnQueryPreferredFormat(IMediaSeeking* iface,GUID* pidFormat)
95 CFilterGraph_THIS(iface,mediaseeking);
97 FIXME("(%p)->() stub!\n",This);
99 return E_NOTIMPL;
102 static HRESULT WINAPI
103 IMediaSeeking_fnGetTimeFormat(IMediaSeeking* iface,GUID* pidFormat)
105 CFilterGraph_THIS(iface,mediaseeking);
107 FIXME("(%p)->() stub!\n",This);
109 return E_NOTIMPL;
112 static HRESULT WINAPI
113 IMediaSeeking_fnIsUsingTimeFormat(IMediaSeeking* iface,const GUID* pidFormat)
115 CFilterGraph_THIS(iface,mediaseeking);
117 FIXME("(%p)->() stub!\n",This);
119 return E_NOTIMPL;
122 static HRESULT WINAPI
123 IMediaSeeking_fnSetTimeFormat(IMediaSeeking* iface,const GUID* pidFormat)
125 CFilterGraph_THIS(iface,mediaseeking);
127 FIXME("(%p)->() stub!\n",This);
129 return E_NOTIMPL;
132 static HRESULT WINAPI
133 IMediaSeeking_fnGetDuration(IMediaSeeking* iface,LONGLONG* pllDuration)
135 CFilterGraph_THIS(iface,mediaseeking);
137 /* the following line may produce too many FIXMEs... */
138 FIXME("(%p)->() stub!\n",This);
140 return E_NOTIMPL;
143 static HRESULT WINAPI
144 IMediaSeeking_fnGetStopPosition(IMediaSeeking* iface,LONGLONG* pllPos)
146 CFilterGraph_THIS(iface,mediaseeking);
148 FIXME("(%p)->() stub!\n",This);
150 return E_NOTIMPL;
153 static HRESULT WINAPI
154 IMediaSeeking_fnGetCurrentPosition(IMediaSeeking* iface,LONGLONG* pllPos)
156 CFilterGraph_THIS(iface,mediaseeking);
158 FIXME("(%p)->() stub!\n",This);
160 return E_NOTIMPL;
163 static HRESULT WINAPI
164 IMediaSeeking_fnConvertTimeFormat(IMediaSeeking* iface,LONGLONG* pllOut,const GUID* pidFmtOut,LONGLONG llIn,const GUID* pidFmtIn)
166 CFilterGraph_THIS(iface,mediaseeking);
168 FIXME("(%p)->() stub!\n",This);
170 return E_NOTIMPL;
173 static HRESULT WINAPI
174 IMediaSeeking_fnSetPositions(IMediaSeeking* iface,LONGLONG* pllCur,DWORD dwCurFlags,LONGLONG* pllStop,DWORD dwStopFlags)
176 CFilterGraph_THIS(iface,mediaseeking);
178 FIXME("(%p)->() stub!\n",This);
180 return E_NOTIMPL;
183 static HRESULT WINAPI
184 IMediaSeeking_fnGetPositions(IMediaSeeking* iface,LONGLONG* pllCur,LONGLONG* pllStop)
186 CFilterGraph_THIS(iface,mediaseeking);
188 FIXME("(%p)->() stub!\n",This);
190 return E_NOTIMPL;
193 static HRESULT WINAPI
194 IMediaSeeking_fnGetAvailable(IMediaSeeking* iface,LONGLONG* pllFirst,LONGLONG* pllLast)
196 CFilterGraph_THIS(iface,mediaseeking);
198 FIXME("(%p)->() stub!\n",This);
200 return E_NOTIMPL;
203 static HRESULT WINAPI
204 IMediaSeeking_fnSetRate(IMediaSeeking* iface,double dblRate)
206 CFilterGraph_THIS(iface,mediaseeking);
208 FIXME("(%p)->() stub!\n",This);
210 return E_NOTIMPL;
213 static HRESULT WINAPI
214 IMediaSeeking_fnGetRate(IMediaSeeking* iface,double* pdblRate)
216 CFilterGraph_THIS(iface,mediaseeking);
218 FIXME("(%p)->() stub!\n",This);
220 return E_NOTIMPL;
223 static HRESULT WINAPI
224 IMediaSeeking_fnGetPreroll(IMediaSeeking* iface,LONGLONG* pllPreroll)
226 CFilterGraph_THIS(iface,mediaseeking);
228 FIXME("(%p)->() stub!\n",This);
230 return E_NOTIMPL;
236 static ICOM_VTABLE(IMediaSeeking) imediaseeking =
238 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
239 /* IUnknown fields */
240 IMediaSeeking_fnQueryInterface,
241 IMediaSeeking_fnAddRef,
242 IMediaSeeking_fnRelease,
243 /* IMediaSeeking fields */
244 IMediaSeeking_fnGetCapabilities,
245 IMediaSeeking_fnCheckCapabilities,
246 IMediaSeeking_fnIsFormatSupported,
247 IMediaSeeking_fnQueryPreferredFormat,
248 IMediaSeeking_fnGetTimeFormat,
249 IMediaSeeking_fnIsUsingTimeFormat,
250 IMediaSeeking_fnSetTimeFormat,
251 IMediaSeeking_fnGetDuration,
252 IMediaSeeking_fnGetStopPosition,
253 IMediaSeeking_fnGetCurrentPosition,
254 IMediaSeeking_fnConvertTimeFormat,
255 IMediaSeeking_fnSetPositions,
256 IMediaSeeking_fnGetPositions,
257 IMediaSeeking_fnGetAvailable,
258 IMediaSeeking_fnSetRate,
259 IMediaSeeking_fnGetRate,
260 IMediaSeeking_fnGetPreroll,
263 HRESULT CFilterGraph_InitIMediaSeeking( CFilterGraph* pfg )
265 TRACE("(%p)\n",pfg);
266 ICOM_VTBL(&pfg->mediaseeking) = &imediaseeking;
268 return NOERROR;
271 void CFilterGraph_UninitIMediaSeeking( CFilterGraph* pfg )
273 TRACE("(%p)\n",pfg);