2 * Implementation of IMediaSeeking for FilterGraph.
5 * FIXME - this interface should be allocated as a plug-in(?)
7 * hidenori@a2.ctktv.ne.jp
21 #include "debugtools.h"
22 DEFAULT_DEBUG_CHANNEL(quartz);
24 #include "quartz_private.h"
30 IMediaSeeking_fnQueryInterface(IMediaSeeking* iface,REFIID riid,void** ppobj)
32 CFilterGraph_THIS(iface,mediaseeking);
34 TRACE("(%p)->()\n",This);
36 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
40 IMediaSeeking_fnAddRef(IMediaSeeking* iface)
42 CFilterGraph_THIS(iface,mediaseeking);
44 TRACE("(%p)->()\n",This);
46 return IUnknown_AddRef(This->unk.punkControl);
50 IMediaSeeking_fnRelease(IMediaSeeking* iface)
52 CFilterGraph_THIS(iface,mediaseeking);
54 TRACE("(%p)->()\n",This);
56 return IUnknown_Release(This->unk.punkControl);
61 IMediaSeeking_fnGetCapabilities(IMediaSeeking* iface,DWORD* pdwCaps)
63 CFilterGraph_THIS(iface,mediaseeking);
65 FIXME("(%p)->() stub!\n",This);
71 IMediaSeeking_fnCheckCapabilities(IMediaSeeking* iface,DWORD* pdwCaps)
73 CFilterGraph_THIS(iface,mediaseeking);
75 FIXME("(%p)->() stub!\n",This);
81 IMediaSeeking_fnIsFormatSupported(IMediaSeeking* iface,const GUID* pidFormat)
83 CFilterGraph_THIS(iface,mediaseeking);
85 FIXME("(%p)->() stub!\n",This);
91 IMediaSeeking_fnQueryPreferredFormat(IMediaSeeking* iface,GUID* pidFormat)
93 CFilterGraph_THIS(iface,mediaseeking);
95 FIXME("(%p)->() stub!\n",This);
100 static HRESULT WINAPI
101 IMediaSeeking_fnGetTimeFormat(IMediaSeeking* iface,GUID* pidFormat)
103 CFilterGraph_THIS(iface,mediaseeking);
105 FIXME("(%p)->() stub!\n",This);
110 static HRESULT WINAPI
111 IMediaSeeking_fnIsUsingTimeFormat(IMediaSeeking* iface,const GUID* pidFormat)
113 CFilterGraph_THIS(iface,mediaseeking);
115 FIXME("(%p)->() stub!\n",This);
120 static HRESULT WINAPI
121 IMediaSeeking_fnSetTimeFormat(IMediaSeeking* iface,const GUID* pidFormat)
123 CFilterGraph_THIS(iface,mediaseeking);
125 FIXME("(%p)->() stub!\n",This);
130 static HRESULT WINAPI
131 IMediaSeeking_fnGetDuration(IMediaSeeking* iface,LONGLONG* pllDuration)
133 CFilterGraph_THIS(iface,mediaseeking);
135 /* the following line may produce too many FIXMEs... */
136 FIXME("(%p)->() stub!\n",This);
141 static HRESULT WINAPI
142 IMediaSeeking_fnGetStopPosition(IMediaSeeking* iface,LONGLONG* pllPos)
144 CFilterGraph_THIS(iface,mediaseeking);
146 FIXME("(%p)->() stub!\n",This);
151 static HRESULT WINAPI
152 IMediaSeeking_fnGetCurrentPosition(IMediaSeeking* iface,LONGLONG* pllPos)
154 CFilterGraph_THIS(iface,mediaseeking);
156 FIXME("(%p)->() stub!\n",This);
161 static HRESULT WINAPI
162 IMediaSeeking_fnConvertTimeFormat(IMediaSeeking* iface,LONGLONG* pllOut,const GUID* pidFmtOut,LONGLONG llIn,const GUID* pidFmtIn)
164 CFilterGraph_THIS(iface,mediaseeking);
166 FIXME("(%p)->() stub!\n",This);
171 static HRESULT WINAPI
172 IMediaSeeking_fnSetPositions(IMediaSeeking* iface,LONGLONG* pllCur,DWORD dwCurFlags,LONGLONG* pllStop,DWORD dwStopFlags)
174 CFilterGraph_THIS(iface,mediaseeking);
176 FIXME("(%p)->() stub!\n",This);
181 static HRESULT WINAPI
182 IMediaSeeking_fnGetPositions(IMediaSeeking* iface,LONGLONG* pllCur,LONGLONG* pllStop)
184 CFilterGraph_THIS(iface,mediaseeking);
186 FIXME("(%p)->() stub!\n",This);
191 static HRESULT WINAPI
192 IMediaSeeking_fnGetAvailable(IMediaSeeking* iface,LONGLONG* pllFirst,LONGLONG* pllLast)
194 CFilterGraph_THIS(iface,mediaseeking);
196 FIXME("(%p)->() stub!\n",This);
201 static HRESULT WINAPI
202 IMediaSeeking_fnSetRate(IMediaSeeking* iface,double dblRate)
204 CFilterGraph_THIS(iface,mediaseeking);
206 FIXME("(%p)->() stub!\n",This);
211 static HRESULT WINAPI
212 IMediaSeeking_fnGetRate(IMediaSeeking* iface,double* pdblRate)
214 CFilterGraph_THIS(iface,mediaseeking);
216 FIXME("(%p)->() stub!\n",This);
221 static HRESULT WINAPI
222 IMediaSeeking_fnGetPreroll(IMediaSeeking* iface,LONGLONG* pllPreroll)
224 CFilterGraph_THIS(iface,mediaseeking);
226 FIXME("(%p)->() stub!\n",This);
234 static ICOM_VTABLE(IMediaSeeking) imediaseeking =
236 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
237 /* IUnknown fields */
238 IMediaSeeking_fnQueryInterface,
239 IMediaSeeking_fnAddRef,
240 IMediaSeeking_fnRelease,
241 /* IMediaSeeking fields */
242 IMediaSeeking_fnGetCapabilities,
243 IMediaSeeking_fnCheckCapabilities,
244 IMediaSeeking_fnIsFormatSupported,
245 IMediaSeeking_fnQueryPreferredFormat,
246 IMediaSeeking_fnGetTimeFormat,
247 IMediaSeeking_fnIsUsingTimeFormat,
248 IMediaSeeking_fnSetTimeFormat,
249 IMediaSeeking_fnGetDuration,
250 IMediaSeeking_fnGetStopPosition,
251 IMediaSeeking_fnGetCurrentPosition,
252 IMediaSeeking_fnConvertTimeFormat,
253 IMediaSeeking_fnSetPositions,
254 IMediaSeeking_fnGetPositions,
255 IMediaSeeking_fnGetAvailable,
256 IMediaSeeking_fnSetRate,
257 IMediaSeeking_fnGetRate,
258 IMediaSeeking_fnGetPreroll,
261 HRESULT CFilterGraph_InitIMediaSeeking( CFilterGraph* pfg )
264 ICOM_VTBL(&pfg->mediaseeking) = &imediaseeking;
269 void CFilterGraph_UninitIMediaSeeking( CFilterGraph* pfg )