2 * Implementation of IBasicVideo2 for FilterGraph.
6 * hidenori@a2.ctktv.ne.jp
16 #include "wine/obj_base.h"
17 #include "wine/obj_oleaut.h"
22 #include "debugtools.h"
23 DEFAULT_DEBUG_CHANNEL(quartz
);
25 #include "quartz_private.h"
30 IBasicVideo2_fnQueryInterface(IBasicVideo2
* iface
,REFIID riid
,void** ppobj
)
32 CFilterGraph_THIS(iface
,basvid
);
34 TRACE("(%p)->()\n",This
);
36 return IUnknown_QueryInterface(This
->unk
.punkControl
,riid
,ppobj
);
40 IBasicVideo2_fnAddRef(IBasicVideo2
* iface
)
42 CFilterGraph_THIS(iface
,basvid
);
44 TRACE("(%p)->()\n",This
);
46 return IUnknown_AddRef(This
->unk
.punkControl
);
50 IBasicVideo2_fnRelease(IBasicVideo2
* iface
)
52 CFilterGraph_THIS(iface
,basvid
);
54 TRACE("(%p)->()\n",This
);
56 return IUnknown_Release(This
->unk
.punkControl
);
60 IBasicVideo2_fnGetTypeInfoCount(IBasicVideo2
* iface
,UINT
* pcTypeInfo
)
62 CFilterGraph_THIS(iface
,basvid
);
64 FIXME("(%p)->()\n",This
);
70 IBasicVideo2_fnGetTypeInfo(IBasicVideo2
* iface
,UINT iTypeInfo
, LCID lcid
, ITypeInfo
** ppobj
)
72 CFilterGraph_THIS(iface
,basvid
);
74 FIXME("(%p)->()\n",This
);
80 IBasicVideo2_fnGetIDsOfNames(IBasicVideo2
* iface
,REFIID riid
, LPOLESTR
* ppwszName
, UINT cNames
, LCID lcid
, DISPID
* pDispId
)
82 CFilterGraph_THIS(iface
,basvid
);
84 FIXME("(%p)->()\n",This
);
90 IBasicVideo2_fnInvoke(IBasicVideo2
* iface
,DISPID DispId
, REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
* pDispParams
, VARIANT
* pVarRes
, EXCEPINFO
* pExcepInfo
, UINT
* puArgErr
)
92 CFilterGraph_THIS(iface
,basvid
);
94 FIXME("(%p)->()\n",This
);
100 static HRESULT WINAPI
101 IBasicVideo2_fnget_AvgTimePerFrame(IBasicVideo2
* iface
,REFTIME
* prefTime
)
103 CFilterGraph_THIS(iface
,basvid
);
105 FIXME("(%p)->()\n",This
);
110 static HRESULT WINAPI
111 IBasicVideo2_fnget_BitRate(IBasicVideo2
* iface
,long* plRate
)
113 CFilterGraph_THIS(iface
,basvid
);
115 FIXME("(%p)->()\n",This
);
120 static HRESULT WINAPI
121 IBasicVideo2_fnget_BitErrorRate(IBasicVideo2
* iface
,long* plRate
)
123 CFilterGraph_THIS(iface
,basvid
);
125 FIXME("(%p)->()\n",This
);
130 static HRESULT WINAPI
131 IBasicVideo2_fnget_VideoWidth(IBasicVideo2
* iface
,long* plWidth
)
133 CFilterGraph_THIS(iface
,basvid
);
135 FIXME("(%p)->()\n",This
);
140 static HRESULT WINAPI
141 IBasicVideo2_fnget_VideoHeight(IBasicVideo2
* iface
,long* plHeight
)
143 CFilterGraph_THIS(iface
,basvid
);
145 FIXME("(%p)->()\n",This
);
150 static HRESULT WINAPI
151 IBasicVideo2_fnput_SourceLeft(IBasicVideo2
* iface
,long lLeft
)
153 CFilterGraph_THIS(iface
,basvid
);
155 FIXME("(%p)->()\n",This
);
160 static HRESULT WINAPI
161 IBasicVideo2_fnget_SourceLeft(IBasicVideo2
* iface
,long* plLeft
)
163 CFilterGraph_THIS(iface
,basvid
);
165 FIXME("(%p)->()\n",This
);
170 static HRESULT WINAPI
171 IBasicVideo2_fnput_SourceWidth(IBasicVideo2
* iface
,long lWidth
)
173 CFilterGraph_THIS(iface
,basvid
);
175 FIXME("(%p)->()\n",This
);
180 static HRESULT WINAPI
181 IBasicVideo2_fnget_SourceWidth(IBasicVideo2
* iface
,long* plWidth
)
183 CFilterGraph_THIS(iface
,basvid
);
185 FIXME("(%p)->()\n",This
);
190 static HRESULT WINAPI
191 IBasicVideo2_fnput_SourceTop(IBasicVideo2
* iface
,long lTop
)
193 CFilterGraph_THIS(iface
,basvid
);
195 FIXME("(%p)->()\n",This
);
200 static HRESULT WINAPI
201 IBasicVideo2_fnget_SourceTop(IBasicVideo2
* iface
,long* plTop
)
203 CFilterGraph_THIS(iface
,basvid
);
205 FIXME("(%p)->()\n",This
);
210 static HRESULT WINAPI
211 IBasicVideo2_fnput_SourceHeight(IBasicVideo2
* iface
,long lHeight
)
213 CFilterGraph_THIS(iface
,basvid
);
215 FIXME("(%p)->()\n",This
);
220 static HRESULT WINAPI
221 IBasicVideo2_fnget_SourceHeight(IBasicVideo2
* iface
,long* plHeight
)
223 CFilterGraph_THIS(iface
,basvid
);
225 FIXME("(%p)->()\n",This
);
230 static HRESULT WINAPI
231 IBasicVideo2_fnput_DestinationLeft(IBasicVideo2
* iface
,long lLeft
)
233 CFilterGraph_THIS(iface
,basvid
);
235 FIXME("(%p)->()\n",This
);
240 static HRESULT WINAPI
241 IBasicVideo2_fnget_DestinationLeft(IBasicVideo2
* iface
,long* plLeft
)
243 CFilterGraph_THIS(iface
,basvid
);
245 FIXME("(%p)->()\n",This
);
250 static HRESULT WINAPI
251 IBasicVideo2_fnput_DestinationWidth(IBasicVideo2
* iface
,long lWidth
)
253 CFilterGraph_THIS(iface
,basvid
);
255 FIXME("(%p)->()\n",This
);
260 static HRESULT WINAPI
261 IBasicVideo2_fnget_DestinationWidth(IBasicVideo2
* iface
,long* plWidth
)
263 CFilterGraph_THIS(iface
,basvid
);
265 FIXME("(%p)->()\n",This
);
270 static HRESULT WINAPI
271 IBasicVideo2_fnput_DestinationTop(IBasicVideo2
* iface
,long lTop
)
273 CFilterGraph_THIS(iface
,basvid
);
275 FIXME("(%p)->()\n",This
);
280 static HRESULT WINAPI
281 IBasicVideo2_fnget_DestinationTop(IBasicVideo2
* iface
,long* plTop
)
283 CFilterGraph_THIS(iface
,basvid
);
285 FIXME("(%p)->()\n",This
);
290 static HRESULT WINAPI
291 IBasicVideo2_fnput_DestinationHeight(IBasicVideo2
* iface
,long lHeight
)
293 CFilterGraph_THIS(iface
,basvid
);
295 FIXME("(%p)->()\n",This
);
300 static HRESULT WINAPI
301 IBasicVideo2_fnget_DestinationHeight(IBasicVideo2
* iface
,long* plHeight
)
303 CFilterGraph_THIS(iface
,basvid
);
305 FIXME("(%p)->()\n",This
);
310 static HRESULT WINAPI
311 IBasicVideo2_fnSetSourcePosition(IBasicVideo2
* iface
,long lLeft
,long lTop
,long lWidth
,long lHeight
)
313 CFilterGraph_THIS(iface
,basvid
);
315 FIXME("(%p)->()\n",This
);
320 static HRESULT WINAPI
321 IBasicVideo2_fnGetSourcePosition(IBasicVideo2
* iface
,long* plLeft
,long* plTop
,long* plWidth
,long* plHeight
)
323 CFilterGraph_THIS(iface
,basvid
);
325 FIXME("(%p)->()\n",This
);
330 static HRESULT WINAPI
331 IBasicVideo2_fnSetDefaultSourcePosition(IBasicVideo2
* iface
)
333 CFilterGraph_THIS(iface
,basvid
);
335 FIXME("(%p)->()\n",This
);
340 static HRESULT WINAPI
341 IBasicVideo2_fnSetDestinationPosition(IBasicVideo2
* iface
,long lLeft
,long lTop
,long lWidth
,long lHeight
)
343 CFilterGraph_THIS(iface
,basvid
);
345 FIXME("(%p)->()\n",This
);
350 static HRESULT WINAPI
351 IBasicVideo2_fnGetDestinationPosition(IBasicVideo2
* iface
,long* plLeft
,long* plTop
,long* plWidth
,long* plHeight
)
353 CFilterGraph_THIS(iface
,basvid
);
355 FIXME("(%p)->()\n",This
);
360 static HRESULT WINAPI
361 IBasicVideo2_fnSetDefaultDestinationPosition(IBasicVideo2
* iface
)
363 CFilterGraph_THIS(iface
,basvid
);
365 FIXME("(%p)->()\n",This
);
370 static HRESULT WINAPI
371 IBasicVideo2_fnGetVideoSize(IBasicVideo2
* iface
,long* plWidth
,long* plHeight
)
373 CFilterGraph_THIS(iface
,basvid
);
375 FIXME("(%p)->()\n",This
);
380 static HRESULT WINAPI
381 IBasicVideo2_fnGetVideoPaletteEntries(IBasicVideo2
* iface
,long lStart
,long lCount
,long* plRet
,long* plPaletteEntry
)
383 CFilterGraph_THIS(iface
,basvid
);
385 FIXME("(%p)->()\n",This
);
390 static HRESULT WINAPI
391 IBasicVideo2_fnGetCurrentImage(IBasicVideo2
* iface
,long* plBufferSize
,long* plDIBBuffer
)
393 CFilterGraph_THIS(iface
,basvid
);
395 FIXME("(%p)->()\n",This
);
400 static HRESULT WINAPI
401 IBasicVideo2_fnIsUsingDefaultSource(IBasicVideo2
* iface
)
403 CFilterGraph_THIS(iface
,basvid
);
405 FIXME("(%p)->()\n",This
);
410 static HRESULT WINAPI
411 IBasicVideo2_fnIsUsingDefaultDestination(IBasicVideo2
* iface
)
413 CFilterGraph_THIS(iface
,basvid
);
415 FIXME("(%p)->()\n",This
);
420 static HRESULT WINAPI
421 IBasicVideo2_fnGetPreferredAspectRatio(IBasicVideo2
* iface
,long* plRateX
,long* plRateY
)
423 CFilterGraph_THIS(iface
,basvid
);
425 FIXME("(%p)->()\n",This
);
433 static ICOM_VTABLE(IBasicVideo2
) ibasicvideo
=
435 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
436 /* IUnknown fields */
437 IBasicVideo2_fnQueryInterface
,
438 IBasicVideo2_fnAddRef
,
439 IBasicVideo2_fnRelease
,
440 /* IDispatch fields */
441 IBasicVideo2_fnGetTypeInfoCount
,
442 IBasicVideo2_fnGetTypeInfo
,
443 IBasicVideo2_fnGetIDsOfNames
,
444 IBasicVideo2_fnInvoke
,
445 /* IBasicVideo fields */
446 IBasicVideo2_fnget_AvgTimePerFrame
,
447 IBasicVideo2_fnget_BitRate
,
448 IBasicVideo2_fnget_BitErrorRate
,
449 IBasicVideo2_fnget_VideoWidth
,
450 IBasicVideo2_fnget_VideoHeight
,
451 IBasicVideo2_fnput_SourceLeft
,
452 IBasicVideo2_fnget_SourceLeft
,
453 IBasicVideo2_fnput_SourceWidth
,
454 IBasicVideo2_fnget_SourceWidth
,
455 IBasicVideo2_fnput_SourceTop
,
456 IBasicVideo2_fnget_SourceTop
,
457 IBasicVideo2_fnput_SourceHeight
,
458 IBasicVideo2_fnget_SourceHeight
,
459 IBasicVideo2_fnput_DestinationLeft
,
460 IBasicVideo2_fnget_DestinationLeft
,
461 IBasicVideo2_fnput_DestinationWidth
,
462 IBasicVideo2_fnget_DestinationWidth
,
463 IBasicVideo2_fnput_DestinationTop
,
464 IBasicVideo2_fnget_DestinationTop
,
465 IBasicVideo2_fnput_DestinationHeight
,
466 IBasicVideo2_fnget_DestinationHeight
,
467 IBasicVideo2_fnSetSourcePosition
,
468 IBasicVideo2_fnGetSourcePosition
,
469 IBasicVideo2_fnSetDefaultSourcePosition
,
470 IBasicVideo2_fnSetDestinationPosition
,
471 IBasicVideo2_fnGetDestinationPosition
,
472 IBasicVideo2_fnSetDefaultDestinationPosition
,
473 IBasicVideo2_fnGetVideoSize
,
474 IBasicVideo2_fnGetVideoPaletteEntries
,
475 IBasicVideo2_fnGetCurrentImage
,
476 IBasicVideo2_fnIsUsingDefaultSource
,
477 IBasicVideo2_fnIsUsingDefaultDestination
,
478 /* IBasicVideo2 fields */
479 IBasicVideo2_fnGetPreferredAspectRatio
,
483 HRESULT
CFilterGraph_InitIBasicVideo2( CFilterGraph
* pfg
)
486 ICOM_VTBL(&pfg
->basvid
) = &ibasicvideo
;
491 void CFilterGraph_UninitIBasicVideo2( CFilterGraph
* pfg
)