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