source: trunk/src/quartz/impos.c@ 6823

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

wine update

File size: 5.3 KB
Line 
1/*
2 * Implementation of IMediaPosition for FilterGraph.
3 *
4 * FIXME - stub.
5 *
6 * hidenori@a2.ctktv.ne.jp
7 */
8
9#include "config.h"
10
11#include "windef.h"
12#include "winbase.h"
13#include "wingdi.h"
14#include "winerror.h"
15#include "wine/obj_base.h"
16#include "wine/obj_oleaut.h"
17#include "strmif.h"
18#include "control.h"
19#include "uuids.h"
20
21#include "debugtools.h"
22DEFAULT_DEBUG_CHANNEL(quartz);
23
24#include "quartz_private.h"
25#include "fgraph.h"
26
27
28static HRESULT WINAPI
29IMediaPosition_fnQueryInterface(IMediaPosition* iface,REFIID riid,void** ppobj)
30{
31 CFilterGraph_THIS(iface,mediaposition);
32
33 TRACE("(%p)->()\n",This);
34
35 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
36}
37
38static ULONG WINAPI
39IMediaPosition_fnAddRef(IMediaPosition* iface)
40{
41 CFilterGraph_THIS(iface,mediaposition);
42
43 TRACE("(%p)->()\n",This);
44
45 return IUnknown_AddRef(This->unk.punkControl);
46}
47
48static ULONG WINAPI
49IMediaPosition_fnRelease(IMediaPosition* iface)
50{
51 CFilterGraph_THIS(iface,mediaposition);
52
53 TRACE("(%p)->()\n",This);
54
55 return IUnknown_Release(This->unk.punkControl);
56}
57
58static HRESULT WINAPI
59IMediaPosition_fnGetTypeInfoCount(IMediaPosition* iface,UINT* pcTypeInfo)
60{
61 CFilterGraph_THIS(iface,mediaposition);
62
63 TRACE("(%p)->()\n",This);
64
65 return IDispatch_GetTypeInfoCount(
66 CFilterGraph_IDispatch(This),pcTypeInfo);
67}
68
69static HRESULT WINAPI
70IMediaPosition_fnGetTypeInfo(IMediaPosition* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj)
71{
72 CFilterGraph_THIS(iface,mediaposition);
73
74 TRACE("(%p)->()\n",This);
75
76 return IDispatch_GetTypeInfo(
77 CFilterGraph_IDispatch(This),iTypeInfo,lcid,ppobj);
78}
79
80static HRESULT WINAPI
81IMediaPosition_fnGetIDsOfNames(IMediaPosition* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId)
82{
83 CFilterGraph_THIS(iface,mediaposition);
84
85 TRACE("(%p)->()\n",This);
86
87 return IDispatch_GetIDsOfNames(
88 CFilterGraph_IDispatch(This),riid,ppwszName,cNames,lcid,pDispId);
89}
90
91static HRESULT WINAPI
92IMediaPosition_fnInvoke(IMediaPosition* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr)
93{
94 CFilterGraph_THIS(iface,mediaposition);
95
96 TRACE("(%p)->()\n",This);
97
98 return IDispatch_Invoke(
99 CFilterGraph_IDispatch(This),
100 DispId,riid,lcid,wFlags,pDispParams,pVarRes,pExcepInfo,puArgErr);
101}
102
103
104static HRESULT WINAPI
105IMediaPosition_fnget_Duration(IMediaPosition* iface,REFTIME* prefTime)
106{
107 CFilterGraph_THIS(iface,mediaposition);
108
109 FIXME("(%p)->() stub!\n",This);
110
111 return E_NOTIMPL;
112}
113
114static HRESULT WINAPI
115IMediaPosition_fnput_CurrentPosition(IMediaPosition* iface,REFTIME refTime)
116{
117 CFilterGraph_THIS(iface,mediaposition);
118
119 FIXME("(%p)->() stub!\n",This);
120
121 return E_NOTIMPL;
122}
123
124static HRESULT WINAPI
125IMediaPosition_fnget_CurrentPosition(IMediaPosition* iface,REFTIME* prefTime)
126{
127 CFilterGraph_THIS(iface,mediaposition);
128
129 FIXME("(%p)->() stub!\n",This);
130
131 return E_NOTIMPL;
132}
133
134static HRESULT WINAPI
135IMediaPosition_fnget_StopTime(IMediaPosition* iface,REFTIME* prefTime)
136{
137 CFilterGraph_THIS(iface,mediaposition);
138
139 FIXME("(%p)->() stub!\n",This);
140
141 return E_NOTIMPL;
142}
143
144static HRESULT WINAPI
145IMediaPosition_fnput_StopTime(IMediaPosition* iface,REFTIME refTime)
146{
147 CFilterGraph_THIS(iface,mediaposition);
148
149 FIXME("(%p)->() stub!\n",This);
150
151 return E_NOTIMPL;
152}
153
154static HRESULT WINAPI
155IMediaPosition_fnget_PrerollTime(IMediaPosition* iface,REFTIME* prefTime)
156{
157 CFilterGraph_THIS(iface,mediaposition);
158
159 FIXME("(%p)->() stub!\n",This);
160
161 return E_NOTIMPL;
162}
163
164static HRESULT WINAPI
165IMediaPosition_fnput_PrerollTime(IMediaPosition* iface,REFTIME refTime)
166{
167 CFilterGraph_THIS(iface,mediaposition);
168
169 FIXME("(%p)->() stub!\n",This);
170
171 return E_NOTIMPL;
172}
173
174static HRESULT WINAPI
175IMediaPosition_fnput_Rate(IMediaPosition* iface,double dblRate)
176{
177 CFilterGraph_THIS(iface,mediaposition);
178
179 FIXME("(%p)->() stub!\n",This);
180
181 return E_NOTIMPL;
182}
183
184static HRESULT WINAPI
185IMediaPosition_fnget_Rate(IMediaPosition* iface,double* pdblRate)
186{
187 CFilterGraph_THIS(iface,mediaposition);
188
189 FIXME("(%p)->() stub!\n",This);
190
191 return E_NOTIMPL;
192}
193
194static HRESULT WINAPI
195IMediaPosition_fnCanSeekForward(IMediaPosition* iface,LONG* pCanSeek)
196{
197 CFilterGraph_THIS(iface,mediaposition);
198
199 FIXME("(%p)->() stub!\n",This);
200
201 return E_NOTIMPL;
202}
203
204static HRESULT WINAPI
205IMediaPosition_fnCanSeekBackward(IMediaPosition* iface,LONG* pCanSeek)
206{
207 CFilterGraph_THIS(iface,mediaposition);
208
209 FIXME("(%p)->() stub!\n",This);
210
211 return E_NOTIMPL;
212}
213
214
215static ICOM_VTABLE(IMediaPosition) imediaposition =
216{
217 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
218 /* IUnknown fields */
219 IMediaPosition_fnQueryInterface,
220 IMediaPosition_fnAddRef,
221 IMediaPosition_fnRelease,
222 /* IDispatch fields */
223 IMediaPosition_fnGetTypeInfoCount,
224 IMediaPosition_fnGetTypeInfo,
225 IMediaPosition_fnGetIDsOfNames,
226 IMediaPosition_fnInvoke,
227 /* IMediaPosition fields */
228 IMediaPosition_fnget_Duration,
229 IMediaPosition_fnput_CurrentPosition,
230 IMediaPosition_fnget_CurrentPosition,
231 IMediaPosition_fnget_StopTime,
232 IMediaPosition_fnput_StopTime,
233 IMediaPosition_fnget_PrerollTime,
234 IMediaPosition_fnput_PrerollTime,
235 IMediaPosition_fnput_Rate,
236 IMediaPosition_fnget_Rate,
237 IMediaPosition_fnCanSeekForward,
238 IMediaPosition_fnCanSeekBackward,
239};
240
241
242HRESULT CFilterGraph_InitIMediaPosition( CFilterGraph* pfg )
243{
244 TRACE("(%p)\n",pfg);
245 ICOM_VTBL(&pfg->mediaposition) = &imediaposition;
246
247 return NOERROR;
248}
249
250void CFilterGraph_UninitIMediaPosition( CFilterGraph* pfg )
251{
252 TRACE("(%p)\n",pfg);
253}
Note: See TracBrowser for help on using the repository browser.