source: trunk/src/quartz/imseek.c@ 8266

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

Wine 20011004 resync

File size: 5.5 KB
Line 
1/*
2 * Implementation of IMediaSeeking for FilterGraph.
3 *
4 * FIXME - stub.
5 * FIXME - this interface should be allocated as a plug-in(?)
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 "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"
22
23#include "debugtools.h"
24DEFAULT_DEBUG_CHANNEL(quartz);
25
26#include "quartz_private.h"
27#include "fgraph.h"
28
29
30
31static HRESULT WINAPI
32IMediaSeeking_fnQueryInterface(IMediaSeeking* iface,REFIID riid,void** ppobj)
33{
34 CFilterGraph_THIS(iface,mediaseeking);
35
36 TRACE("(%p)->()\n",This);
37
38 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
39}
40
41static ULONG WINAPI
42IMediaSeeking_fnAddRef(IMediaSeeking* iface)
43{
44 CFilterGraph_THIS(iface,mediaseeking);
45
46 TRACE("(%p)->()\n",This);
47
48 return IUnknown_AddRef(This->unk.punkControl);
49}
50
51static ULONG WINAPI
52IMediaSeeking_fnRelease(IMediaSeeking* iface)
53{
54 CFilterGraph_THIS(iface,mediaseeking);
55
56 TRACE("(%p)->()\n",This);
57
58 return IUnknown_Release(This->unk.punkControl);
59}
60
61
62static HRESULT WINAPI
63IMediaSeeking_fnGetCapabilities(IMediaSeeking* iface,DWORD* pdwCaps)
64{
65 CFilterGraph_THIS(iface,mediaseeking);
66
67 FIXME("(%p)->() stub!\n",This);
68
69 return E_NOTIMPL;
70}
71
72static HRESULT WINAPI
73IMediaSeeking_fnCheckCapabilities(IMediaSeeking* iface,DWORD* pdwCaps)
74{
75 CFilterGraph_THIS(iface,mediaseeking);
76
77 FIXME("(%p)->() stub!\n",This);
78
79 return E_NOTIMPL;
80}
81
82static HRESULT WINAPI
83IMediaSeeking_fnIsFormatSupported(IMediaSeeking* iface,const GUID* pidFormat)
84{
85 CFilterGraph_THIS(iface,mediaseeking);
86
87 FIXME("(%p)->() stub!\n",This);
88
89 return E_NOTIMPL;
90}
91
92static HRESULT WINAPI
93IMediaSeeking_fnQueryPreferredFormat(IMediaSeeking* iface,GUID* pidFormat)
94{
95 CFilterGraph_THIS(iface,mediaseeking);
96
97 FIXME("(%p)->() stub!\n",This);
98
99 return E_NOTIMPL;
100}
101
102static HRESULT WINAPI
103IMediaSeeking_fnGetTimeFormat(IMediaSeeking* iface,GUID* pidFormat)
104{
105 CFilterGraph_THIS(iface,mediaseeking);
106
107 FIXME("(%p)->() stub!\n",This);
108
109 return E_NOTIMPL;
110}
111
112static HRESULT WINAPI
113IMediaSeeking_fnIsUsingTimeFormat(IMediaSeeking* iface,const GUID* pidFormat)
114{
115 CFilterGraph_THIS(iface,mediaseeking);
116
117 FIXME("(%p)->() stub!\n",This);
118
119 return E_NOTIMPL;
120}
121
122static HRESULT WINAPI
123IMediaSeeking_fnSetTimeFormat(IMediaSeeking* iface,const GUID* pidFormat)
124{
125 CFilterGraph_THIS(iface,mediaseeking);
126
127 FIXME("(%p)->() stub!\n",This);
128
129 return E_NOTIMPL;
130}
131
132static HRESULT WINAPI
133IMediaSeeking_fnGetDuration(IMediaSeeking* iface,LONGLONG* pllDuration)
134{
135 CFilterGraph_THIS(iface,mediaseeking);
136
137 /* the following line may produce too many FIXMEs... */
138 FIXME("(%p)->() stub!\n",This);
139
140 return E_NOTIMPL;
141}
142
143static HRESULT WINAPI
144IMediaSeeking_fnGetStopPosition(IMediaSeeking* iface,LONGLONG* pllPos)
145{
146 CFilterGraph_THIS(iface,mediaseeking);
147
148 FIXME("(%p)->() stub!\n",This);
149
150 return E_NOTIMPL;
151}
152
153static HRESULT WINAPI
154IMediaSeeking_fnGetCurrentPosition(IMediaSeeking* iface,LONGLONG* pllPos)
155{
156 CFilterGraph_THIS(iface,mediaseeking);
157
158 FIXME("(%p)->() stub!\n",This);
159
160 return E_NOTIMPL;
161}
162
163static HRESULT WINAPI
164IMediaSeeking_fnConvertTimeFormat(IMediaSeeking* iface,LONGLONG* pllOut,const GUID* pidFmtOut,LONGLONG llIn,const GUID* pidFmtIn)
165{
166 CFilterGraph_THIS(iface,mediaseeking);
167
168 FIXME("(%p)->() stub!\n",This);
169
170 return E_NOTIMPL;
171}
172
173static HRESULT WINAPI
174IMediaSeeking_fnSetPositions(IMediaSeeking* iface,LONGLONG* pllCur,DWORD dwCurFlags,LONGLONG* pllStop,DWORD dwStopFlags)
175{
176 CFilterGraph_THIS(iface,mediaseeking);
177
178 FIXME("(%p)->() stub!\n",This);
179
180 return E_NOTIMPL;
181}
182
183static HRESULT WINAPI
184IMediaSeeking_fnGetPositions(IMediaSeeking* iface,LONGLONG* pllCur,LONGLONG* pllStop)
185{
186 CFilterGraph_THIS(iface,mediaseeking);
187
188 FIXME("(%p)->() stub!\n",This);
189
190 return E_NOTIMPL;
191}
192
193static HRESULT WINAPI
194IMediaSeeking_fnGetAvailable(IMediaSeeking* iface,LONGLONG* pllFirst,LONGLONG* pllLast)
195{
196 CFilterGraph_THIS(iface,mediaseeking);
197
198 FIXME("(%p)->() stub!\n",This);
199
200 return E_NOTIMPL;
201}
202
203static HRESULT WINAPI
204IMediaSeeking_fnSetRate(IMediaSeeking* iface,double dblRate)
205{
206 CFilterGraph_THIS(iface,mediaseeking);
207
208 FIXME("(%p)->() stub!\n",This);
209
210 return E_NOTIMPL;
211}
212
213static HRESULT WINAPI
214IMediaSeeking_fnGetRate(IMediaSeeking* iface,double* pdblRate)
215{
216 CFilterGraph_THIS(iface,mediaseeking);
217
218 FIXME("(%p)->() stub!\n",This);
219
220 return E_NOTIMPL;
221}
222
223static HRESULT WINAPI
224IMediaSeeking_fnGetPreroll(IMediaSeeking* iface,LONGLONG* pllPreroll)
225{
226 CFilterGraph_THIS(iface,mediaseeking);
227
228 FIXME("(%p)->() stub!\n",This);
229
230 return E_NOTIMPL;
231}
232
233
234
235
236static ICOM_VTABLE(IMediaSeeking) imediaseeking =
237{
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,
261};
262
263HRESULT CFilterGraph_InitIMediaSeeking( CFilterGraph* pfg )
264{
265 TRACE("(%p)\n",pfg);
266 ICOM_VTBL(&pfg->mediaseeking) = &imediaseeking;
267
268 return NOERROR;
269}
270
271void CFilterGraph_UninitIMediaSeeking( CFilterGraph* pfg )
272{
273 TRACE("(%p)\n",pfg);
274}
Note: See TracBrowser for help on using the repository browser.