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

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

Wine 20011004 resync

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