1 /* DirectShow FilterGraph object (QUARTZ.DLL)
3 * Copyright 2002 Lionel Ulmer
5 * This file contains the (internal) driver registration functions,
6 * driver enumeration APIs and DirectDraw creation functions.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 #include "wine/debug.h"
27 #include "quartz_private.h"
29 WINE_DEFAULT_DEBUG_CHANNEL(quartz);
31 static HRESULT Filtergraph_QueryInterface(IFilterGraphImpl *This,
34 TRACE("(%p)->(%s (%p), %p)\n", This, debugstr_guid(riid), riid, ppvObj);
36 if (IsEqualGUID(&IID_IUnknown, riid) ||
37 IsEqualGUID(&IID_IGraphBuilder, riid)) {
38 *ppvObj = &(This->IGraphBuilder_vtbl);
39 TRACE(" returning IGraphBuilder interface (%p)\n", *ppvObj);
40 } else if (IsEqualGUID(&IID_IMediaControl, riid)) {
41 *ppvObj = &(This->IMediaControl_vtbl);
42 TRACE(" returning IMediaControl interface (%p)\n", *ppvObj);
43 } else if (IsEqualGUID(&IID_IMediaSeeking, riid)) {
44 *ppvObj = &(This->IMediaSeeking_vtbl);
45 TRACE(" returning IMediaSeeking interface (%p)\n", *ppvObj);
46 } else if (IsEqualGUID(&IID_IBasicAudio, riid)) {
47 *ppvObj = &(This->IBasicAudio_vtbl);
48 TRACE(" returning IBasicAudio interface (%p)\n", *ppvObj);
49 } else if (IsEqualGUID(&IID_IBasicVideo, riid)) {
50 *ppvObj = &(This->IBasicVideo_vtbl);
51 TRACE(" returning IBasicVideo interface (%p)\n", *ppvObj);
52 } else if (IsEqualGUID(&IID_IVideoWindow, riid)) {
53 *ppvObj = &(This->IVideoWindow_vtbl);
54 TRACE(" returning IVideoWindow interface (%p)\n", *ppvObj);
55 } else if (IsEqualGUID(&IID_IMediaEvent, riid) ||
56 IsEqualGUID(&IID_IMediaEventEx, riid)) {
57 *ppvObj = &(This->IMediaEventEx_vtbl);
58 TRACE(" returning IMediaEvent(Ex) interface (%p)\n", *ppvObj);
61 FIXME(" unknown interface !\n");
69 static ULONG Filtergraph_AddRef(IFilterGraphImpl *This) {
70 TRACE("(%p)->(): new ref = %ld\n", This, This->ref + 1);
75 static ULONG Filtergraph_Release(IFilterGraphImpl *This) {
78 TRACE("(%p)->(): new ref = %ld\n", This, This->ref - 1);
82 HeapFree(GetProcessHeap(), 0, This);
88 /*** IUnknown methods ***/
89 static HRESULT WINAPI Graphbuilder_QueryInterface(IGraphBuilder *iface,
92 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
94 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
95 return Filtergraph_QueryInterface(This, riid, ppvObj);
98 static ULONG WINAPI Graphbuilder_AddRef(IGraphBuilder *iface) {
99 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
101 TRACE("(%p/%p)->() calling FilterGraph AddRef\n", This, iface);
103 return Filtergraph_AddRef(This);
106 static ULONG WINAPI Graphbuilder_Release(IGraphBuilder *iface) {
107 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
109 TRACE("(%p/%p)->() calling FilterGraph Release\n", This, iface);
111 return Filtergraph_Release(This);
114 /*** IFilterGraph methods ***/
115 static HRESULT WINAPI Graphbuilder_AddFilter(IGraphBuilder *iface,
116 IBaseFilter *pFilter,
118 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
120 TRACE("(%p/%p)->(%p, %s (%p)): stub !!!\n", This, iface, pFilter, debugstr_w(pName), pName);
125 static HRESULT WINAPI Graphbuilder_RemoveFilter(IGraphBuilder *iface,
126 IBaseFilter *pFilter) {
127 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
129 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFilter);
134 static HRESULT WINAPI Graphbuilder_EnumFilter(IGraphBuilder *iface,
135 IEnumFilters **ppEnum) {
136 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
138 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppEnum);
143 static HRESULT WINAPI Graphbuilder_FindFilterByName(IGraphBuilder *iface,
145 IBaseFilter **ppFilter) {
146 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
148 TRACE("(%p/%p)->(%s (%p), %p): stub !!!\n", This, iface, debugstr_w(pName), pName, ppFilter);
153 static HRESULT WINAPI Graphbuilder_ConnectDirect(IGraphBuilder *iface,
156 const AM_MEDIA_TYPE *pmt) {
157 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
159 TRACE("(%p/%p)->(%p, %p, %p): stub !!!\n", This, iface, ppinIn, ppinOut, pmt);
164 static HRESULT WINAPI Graphbuilder_Reconnect(IGraphBuilder *iface,
166 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
168 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppin);
173 static HRESULT WINAPI Graphbuilder_Disconnect(IGraphBuilder *iface,
175 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
177 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppin);
182 static HRESULT WINAPI Graphbuilder_SetDefaultSyncSource(IGraphBuilder *iface) {
183 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
185 TRACE("(%p/%p)->(): stub !!!\n", iface, This);
190 /*** IGraphBuilder methods ***/
191 static HRESULT WINAPI Graphbuilder_Connect(IGraphBuilder *iface,
194 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
196 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, ppinOut, ppinIn);
201 static HRESULT WINAPI Graphbuilder_Render(IGraphBuilder *iface,
203 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
205 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppinOut);
210 static HRESULT WINAPI Graphbuilder_RenderFile(IGraphBuilder *iface,
212 LPCWSTR lpcwstrPlayList) {
213 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
215 TRACE("(%p/%p)->(%s (%p), %s (%p)): stub !!!\n", This, iface, debugstr_w(lpcwstrFile), lpcwstrFile, debugstr_w(lpcwstrPlayList), lpcwstrPlayList);
220 static HRESULT WINAPI Graphbuilder_AddSourceFilter(IGraphBuilder *iface,
221 LPCWSTR lpcwstrFileName,
222 LPCWSTR lpcwstrFilterName,
223 IBaseFilter **ppFilter) {
224 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
226 TRACE("(%p/%p)->(%s (%p), %s (%p), %p): stub !!!\n", This, iface, debugstr_w(lpcwstrFileName), lpcwstrFileName, debugstr_w(lpcwstrFilterName), lpcwstrFilterName, ppFilter);
231 static HRESULT WINAPI Graphbuilder_SetLogFile(IGraphBuilder *iface,
233 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
235 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) hFile);
240 static HRESULT WINAPI Graphbuilder_Abort(IGraphBuilder *iface) {
241 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
243 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
248 static HRESULT WINAPI Graphbuilder_ShouldOperationContinue(IGraphBuilder *iface) {
249 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
251 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
257 static ICOM_VTABLE(IGraphBuilder) IGraphBuilder_VTable =
259 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
260 Graphbuilder_QueryInterface,
262 Graphbuilder_Release,
263 Graphbuilder_AddFilter,
264 Graphbuilder_RemoveFilter,
265 Graphbuilder_EnumFilter,
266 Graphbuilder_FindFilterByName,
267 Graphbuilder_ConnectDirect,
268 Graphbuilder_Reconnect,
269 Graphbuilder_Disconnect,
270 Graphbuilder_SetDefaultSyncSource,
271 Graphbuilder_Connect,
273 Graphbuilder_RenderFile,
274 Graphbuilder_AddSourceFilter,
275 Graphbuilder_SetLogFile,
277 Graphbuilder_ShouldOperationContinue
280 /*** IUnknown methods ***/
281 static HRESULT WINAPI Mediacontrol_QueryInterface(IMediaControl *iface,
284 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
286 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
288 return Filtergraph_QueryInterface(This, riid, ppvObj);
291 static ULONG WINAPI Mediacontrol_AddRef(IMediaControl *iface) {
292 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
294 TRACE("(%p/%p)->()\n", This, iface);
296 return Filtergraph_AddRef(This);
299 static ULONG WINAPI Mediacontrol_Release(IMediaControl *iface) {
300 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
302 TRACE("(%p/%p)->()\n", This, iface);
304 return Filtergraph_Release(This);
308 /*** IDispatch methods ***/
309 static HRESULT WINAPI Mediacontrol_GetTypeInfoCount(IMediaControl *iface,
311 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
313 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
318 static HRESULT WINAPI Mediacontrol_GetTypeInfo(IMediaControl *iface,
321 ITypeInfo**ppTInfo) {
322 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
324 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
329 static HRESULT WINAPI Mediacontrol_GetIDsOfNames(IMediaControl *iface,
335 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
337 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
342 static HRESULT WINAPI Mediacontrol_Invoke(IMediaControl *iface,
347 DISPPARAMS*pDispParams,
351 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
353 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
358 /*** IMediaControl methods ***/
359 static HRESULT WINAPI Mediacontrol_Run(IMediaControl *iface) {
360 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
362 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
367 static HRESULT WINAPI Mediacontrol_Pause(IMediaControl *iface) {
368 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
370 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
375 static HRESULT WINAPI Mediacontrol_Stop(IMediaControl *iface) {
376 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
378 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
383 static HRESULT WINAPI Mediacontrol_GetState(IMediaControl *iface,
385 OAFilterState *pfs) {
386 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
388 TRACE("(%p/%p)->(%ld, %p): stub !!!\n", This, iface, msTimeout, pfs);
393 static HRESULT WINAPI Mediacontrol_RenderFile(IMediaControl *iface,
395 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
397 TRACE("(%p/%p)->(%s (%p)): stub !!!\n", This, iface, debugstr_w(strFilename), strFilename);
402 static HRESULT WINAPI Mediacontrol_AddSourceFilter(IMediaControl *iface,
405 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
407 TRACE("(%p/%p)->(%s (%p), %p): stub !!!\n", This, iface, debugstr_w(strFilename), strFilename, ppUnk);
412 static HRESULT WINAPI Mediacontrol_get_FilterCollection(IMediaControl *iface,
414 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
416 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppUnk);
421 static HRESULT WINAPI Mediacontrol_get_RegFilterCollection(IMediaControl *iface,
423 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
425 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppUnk);
430 static HRESULT WINAPI Mediacontrol_StopWhenReady(IMediaControl *iface) {
431 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
433 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
439 static ICOM_VTABLE(IMediaControl) IMediaControl_VTable =
441 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
442 Mediacontrol_QueryInterface,
444 Mediacontrol_Release,
445 Mediacontrol_GetTypeInfoCount,
446 Mediacontrol_GetTypeInfo,
447 Mediacontrol_GetIDsOfNames,
452 Mediacontrol_GetState,
453 Mediacontrol_RenderFile,
454 Mediacontrol_AddSourceFilter,
455 Mediacontrol_get_FilterCollection,
456 Mediacontrol_get_RegFilterCollection,
457 Mediacontrol_StopWhenReady
461 /*** IUnknown methods ***/
462 static HRESULT WINAPI Mediaseeking_QueryInterface(IMediaSeeking *iface,
465 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
467 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
469 return Filtergraph_QueryInterface(This, riid, ppvObj);
472 static ULONG WINAPI Mediaseeking_AddRef(IMediaSeeking *iface) {
473 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
475 TRACE("(%p/%p)->()\n", This, iface);
477 return Filtergraph_AddRef(This);
480 static ULONG WINAPI Mediaseeking_Release(IMediaSeeking *iface) {
481 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
483 TRACE("(%p/%p)->()\n", This, iface);
485 return Filtergraph_Release(This);
488 /*** IMediaSeeking methods ***/
489 static HRESULT WINAPI Mediaseeking_GetCapabilities(IMediaSeeking *iface,
490 DWORD *pCapabilities) {
491 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
493 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pCapabilities);
498 static HRESULT WINAPI Mediaseeking_CheckCapabilities(IMediaSeeking *iface,
499 DWORD *pCapabilities) {
500 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
502 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pCapabilities);
507 static HRESULT WINAPI Mediaseeking_IsFormatSupported(IMediaSeeking *iface,
509 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
511 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
516 static HRESULT WINAPI Mediaseeking_QueryPreferredFormat(IMediaSeeking *iface,
518 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
520 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
525 static HRESULT WINAPI Mediaseeking_GetTimeFormat(IMediaSeeking *iface,
527 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
529 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
534 static HRESULT WINAPI Mediaseeking_IsUsingTimeFormat(IMediaSeeking *iface,
536 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
538 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
543 static HRESULT WINAPI Mediaseeking_SetTimeFormat(IMediaSeeking *iface,
545 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
547 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
552 static HRESULT WINAPI Mediaseeking_GetDuration(IMediaSeeking *iface,
553 LONGLONG *pDuration) {
554 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
556 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDuration);
561 static HRESULT WINAPI Mediaseeking_GetStopPosition(IMediaSeeking *iface,
563 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
565 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pStop);
570 static HRESULT WINAPI Mediaseeking_GetCurrentPosition(IMediaSeeking *iface,
571 LONGLONG *pCurrent) {
572 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
574 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pCurrent);
579 static HRESULT WINAPI Mediaseeking_ConvertTimeFormat(IMediaSeeking *iface,
583 GUID *pSourceFormat) {
584 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
586 TRACE("(%p/%p)->(%p, %p, %lld, %p): stub !!!\n", This, iface, pTarget, pTargetFormat, Source, pSourceFormat);
591 static HRESULT WINAPI Mediaseeking_SetPositions(IMediaSeeking *iface,
593 DWORD dwCurrentFlags,
596 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
598 TRACE("(%p/%p)->(%p, %08lx, %p, %08lx): stub !!!\n", This, iface, pCurrent, dwCurrentFlags, pStop, dwStopFlags);
603 static HRESULT WINAPI Mediaseeking_GetPositions(IMediaSeeking *iface,
606 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
608 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pCurrent, pStop);
613 static HRESULT WINAPI Mediaseeking_GetAvailable(IMediaSeeking *iface,
616 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
618 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pEarliest, pLatest);
623 static HRESULT WINAPI Mediaseeking_SetRate(IMediaSeeking *iface,
625 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
627 TRACE("(%p/%p)->(%f): stub !!!\n", This, iface, dRate);
632 static HRESULT WINAPI Mediaseeking_GetRate(IMediaSeeking *iface,
634 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
636 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pdRate);
641 static HRESULT WINAPI Mediaseeking_GetPreroll(IMediaSeeking *iface,
642 LONGLONG *pllPreroll) {
643 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
645 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pllPreroll);
651 static ICOM_VTABLE(IMediaSeeking) IMediaSeeking_VTable =
653 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
654 Mediaseeking_QueryInterface,
656 Mediaseeking_Release,
657 Mediaseeking_GetCapabilities,
658 Mediaseeking_CheckCapabilities,
659 Mediaseeking_IsFormatSupported,
660 Mediaseeking_QueryPreferredFormat,
661 Mediaseeking_GetTimeFormat,
662 Mediaseeking_IsUsingTimeFormat,
663 Mediaseeking_SetTimeFormat,
664 Mediaseeking_GetDuration,
665 Mediaseeking_GetStopPosition,
666 Mediaseeking_GetCurrentPosition,
667 Mediaseeking_ConvertTimeFormat,
668 Mediaseeking_SetPositions,
669 Mediaseeking_GetPositions,
670 Mediaseeking_GetAvailable,
671 Mediaseeking_SetRate,
672 Mediaseeking_GetRate,
673 Mediaseeking_GetPreroll
676 /*** IUnknown methods ***/
677 static HRESULT WINAPI Basicaudio_QueryInterface(IBasicAudio *iface,
680 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
682 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
684 return Filtergraph_QueryInterface(This, riid, ppvObj);
687 static ULONG WINAPI Basicaudio_AddRef(IBasicAudio *iface) {
688 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
690 TRACE("(%p/%p)->()\n", This, iface);
692 return Filtergraph_AddRef(This);
695 static ULONG WINAPI Basicaudio_Release(IBasicAudio *iface) {
696 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
698 TRACE("(%p/%p)->()\n", This, iface);
700 return Filtergraph_Release(This);
703 /*** IDispatch methods ***/
704 static HRESULT WINAPI Basicaudio_GetTypeInfoCount(IBasicAudio *iface,
706 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
708 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
713 static HRESULT WINAPI Basicaudio_GetTypeInfo(IBasicAudio *iface,
716 ITypeInfo**ppTInfo) {
717 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
719 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
724 static HRESULT WINAPI Basicaudio_GetIDsOfNames(IBasicAudio *iface,
730 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
732 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
737 static HRESULT WINAPI Basicaudio_Invoke(IBasicAudio *iface,
742 DISPPARAMS*pDispParams,
746 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
748 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
753 /*** IBasicAudio methods ***/
754 static HRESULT WINAPI Basicaudio_put_Volume(IBasicAudio *iface,
756 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
758 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lVolume);
763 static HRESULT WINAPI Basicaudio_get_Volume(IBasicAudio *iface,
765 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
767 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, plVolume);
772 static HRESULT WINAPI Basicaudio_put_Balance(IBasicAudio *iface,
774 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
776 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lBalance);
781 static HRESULT WINAPI Basicaudio_get_Balance(IBasicAudio *iface,
783 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
785 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, plBalance);
790 static ICOM_VTABLE(IBasicAudio) IBasicAudio_VTable =
792 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
793 Basicaudio_QueryInterface,
796 Basicaudio_GetTypeInfoCount,
797 Basicaudio_GetTypeInfo,
798 Basicaudio_GetIDsOfNames,
800 Basicaudio_put_Volume,
801 Basicaudio_get_Volume,
802 Basicaudio_put_Balance,
803 Basicaudio_get_Balance
806 /*** IUnknown methods ***/
807 static HRESULT WINAPI Basicvideo_QueryInterface(IBasicVideo *iface,
810 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
812 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
814 return Filtergraph_QueryInterface(This, riid, ppvObj);
817 static ULONG WINAPI Basicvideo_AddRef(IBasicVideo *iface) {
818 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
820 TRACE("(%p/%p)->()\n", This, iface);
822 return Filtergraph_AddRef(This);
825 static ULONG WINAPI Basicvideo_Release(IBasicVideo *iface) {
826 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
828 TRACE("(%p/%p)->()\n", This, iface);
830 return Filtergraph_Release(This);
833 /*** IDispatch methods ***/
834 static HRESULT WINAPI Basicvideo_GetTypeInfoCount(IBasicVideo *iface,
836 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
838 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
843 static HRESULT WINAPI Basicvideo_GetTypeInfo(IBasicVideo *iface,
846 ITypeInfo**ppTInfo) {
847 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
849 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
854 static HRESULT WINAPI Basicvideo_GetIDsOfNames(IBasicVideo *iface,
860 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
862 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
867 static HRESULT WINAPI Basicvideo_Invoke(IBasicVideo *iface,
872 DISPPARAMS*pDispParams,
876 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
878 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
883 /*** IBasicVideo methods ***/
884 static HRESULT WINAPI Basicvideo_get_AvgTimePerFrame(IBasicVideo *iface,
885 REFTIME *pAvgTimePerFrame) {
886 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
888 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pAvgTimePerFrame);
893 static HRESULT WINAPI Basicvideo_get_BitRate(IBasicVideo *iface,
895 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
897 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pBitRate);
902 static HRESULT WINAPI Basicvideo_get_BitErrorRate(IBasicVideo *iface,
903 long *pBitErrorRate) {
904 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
906 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pBitErrorRate);
911 static HRESULT WINAPI Basicvideo_get_VideoWidth(IBasicVideo *iface,
913 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
915 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pVideoWidth);
920 static HRESULT WINAPI Basicvideo_get_VideoHeight(IBasicVideo *iface,
921 long *pVideoHeight) {
922 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
924 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pVideoHeight);
929 static HRESULT WINAPI Basicvideo_put_SourceLeft(IBasicVideo *iface,
931 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
933 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceLeft);
938 static HRESULT WINAPI Basicvideo_get_SourceLeft(IBasicVideo *iface,
940 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
942 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceLeft);
947 static HRESULT WINAPI Basicvideo_put_SourceWidth(IBasicVideo *iface,
949 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
951 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceWidth);
956 static HRESULT WINAPI Basicvideo_get_SourceWidth(IBasicVideo *iface,
957 long *pSourceWidth) {
958 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
960 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceWidth);
965 static HRESULT WINAPI Basicvideo_put_SourceTop(IBasicVideo *iface,
967 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
969 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceTop);
974 static HRESULT WINAPI Basicvideo_get_SourceTop(IBasicVideo *iface,
976 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
978 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceTop);
983 static HRESULT WINAPI Basicvideo_put_SourceHeight(IBasicVideo *iface,
985 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
987 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceHeight);
992 static HRESULT WINAPI Basicvideo_get_SourceHeight(IBasicVideo *iface,
993 long *pSourceHeight) {
994 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
996 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceHeight);
1001 static HRESULT WINAPI Basicvideo_put_DestinationLeft(IBasicVideo *iface,
1002 long DestinationLeft) {
1003 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1005 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationLeft);
1010 static HRESULT WINAPI Basicvideo_get_DestinationLeft(IBasicVideo *iface,
1011 long *pDestinationLeft) {
1012 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1014 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationLeft);
1019 static HRESULT WINAPI Basicvideo_put_DestinationWidth(IBasicVideo *iface,
1020 long DestinationWidth) {
1021 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1023 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationWidth);
1028 static HRESULT WINAPI Basicvideo_get_DestinationWidth(IBasicVideo *iface,
1029 long *pDestinationWidth) {
1030 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1032 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationWidth);
1037 static HRESULT WINAPI Basicvideo_put_DestinationTop(IBasicVideo *iface,
1038 long DestinationTop) {
1039 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1041 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationTop);
1046 static HRESULT WINAPI Basicvideo_get_DestinationTop(IBasicVideo *iface,
1047 long *pDestinationTop) {
1048 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1050 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationTop);
1055 static HRESULT WINAPI Basicvideo_put_DestinationHeight(IBasicVideo *iface,
1056 long DestinationHeight) {
1057 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1059 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationHeight);
1064 static HRESULT WINAPI Basicvideo_get_DestinationHeight(IBasicVideo *iface,
1065 long *pDestinationHeight) {
1066 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1068 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationHeight);
1073 static HRESULT WINAPI Basicvideo_SetSourcePosition(IBasicVideo *iface,
1078 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1080 TRACE("(%p/%p)->(%ld, %ld, %ld, %ld): stub !!!\n", This, iface, Left, Top, Width, Height);
1085 static HRESULT WINAPI Basicvideo_GetSourcePosition(IBasicVideo *iface,
1090 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1092 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1097 static HRESULT WINAPI Basicvideo_SetDefaultSourcePosition(IBasicVideo *iface) {
1098 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1100 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1105 static HRESULT WINAPI Basicvideo_SetDestinationPosition(IBasicVideo *iface,
1110 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1112 TRACE("(%p/%p)->(%ld, %ld, %ld, %ld): stub !!!\n", This, iface, Left, Top, Width, Height);
1117 static HRESULT WINAPI Basicvideo_GetDestinationPosition(IBasicVideo *iface,
1122 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1124 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1129 static HRESULT WINAPI Basicvideo_SetDefaultDestinationPosition(IBasicVideo *iface) {
1130 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1132 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1137 static HRESULT WINAPI Basicvideo_GetVideoSize(IBasicVideo *iface,
1140 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1142 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pWidth, pHeight);
1147 static HRESULT WINAPI Basicvideo_GetVideoPaletteEntries(IBasicVideo *iface,
1152 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1154 TRACE("(%p/%p)->(%ld, %ld, %p, %p): stub !!!\n", This, iface, StartIndex, Entries, pRetrieved, pPalette);
1159 static HRESULT WINAPI Basicvideo_GetCurrentImage(IBasicVideo *iface,
1162 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1164 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pBufferSize, pDIBImage);
1169 static HRESULT WINAPI Basicvideo_IsUsingDefaultSource(IBasicVideo *iface) {
1170 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1172 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1177 static HRESULT WINAPI Basicvideo_IsUsingDefaultDestination(IBasicVideo *iface) {
1178 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1180 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1186 static ICOM_VTABLE(IBasicVideo) IBasicVideo_VTable =
1188 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
1189 Basicvideo_QueryInterface,
1192 Basicvideo_GetTypeInfoCount,
1193 Basicvideo_GetTypeInfo,
1194 Basicvideo_GetIDsOfNames,
1196 Basicvideo_get_AvgTimePerFrame,
1197 Basicvideo_get_BitRate,
1198 Basicvideo_get_BitErrorRate,
1199 Basicvideo_get_VideoWidth,
1200 Basicvideo_get_VideoHeight,
1201 Basicvideo_put_SourceLeft,
1202 Basicvideo_get_SourceLeft,
1203 Basicvideo_put_SourceWidth,
1204 Basicvideo_get_SourceWidth,
1205 Basicvideo_put_SourceTop,
1206 Basicvideo_get_SourceTop,
1207 Basicvideo_put_SourceHeight,
1208 Basicvideo_get_SourceHeight,
1209 Basicvideo_put_DestinationLeft,
1210 Basicvideo_get_DestinationLeft,
1211 Basicvideo_put_DestinationWidth,
1212 Basicvideo_get_DestinationWidth,
1213 Basicvideo_put_DestinationTop,
1214 Basicvideo_get_DestinationTop,
1215 Basicvideo_put_DestinationHeight,
1216 Basicvideo_get_DestinationHeight,
1217 Basicvideo_SetSourcePosition,
1218 Basicvideo_GetSourcePosition,
1219 Basicvideo_SetDefaultSourcePosition,
1220 Basicvideo_SetDestinationPosition,
1221 Basicvideo_GetDestinationPosition,
1222 Basicvideo_SetDefaultDestinationPosition,
1223 Basicvideo_GetVideoSize,
1224 Basicvideo_GetVideoPaletteEntries,
1225 Basicvideo_GetCurrentImage,
1226 Basicvideo_IsUsingDefaultSource,
1227 Basicvideo_IsUsingDefaultDestination
1231 /*** IUnknown methods ***/
1232 static HRESULT WINAPI Videowindow_QueryInterface(IVideoWindow *iface,
1235 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1237 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
1239 return Filtergraph_QueryInterface(This, riid, ppvObj);
1242 static ULONG WINAPI Videowindow_AddRef(IVideoWindow *iface) {
1243 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1245 TRACE("(%p/%p)->()\n", This, iface);
1247 return Filtergraph_AddRef(This);
1250 static ULONG WINAPI Videowindow_Release(IVideoWindow *iface) {
1251 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1253 TRACE("(%p/%p)->()\n", This, iface);
1255 return Filtergraph_Release(This);
1258 /*** IDispatch methods ***/
1259 static HRESULT WINAPI Videowindow_GetTypeInfoCount(IVideoWindow *iface,
1261 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1263 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
1268 static HRESULT WINAPI Videowindow_GetTypeInfo(IVideoWindow *iface,
1271 ITypeInfo**ppTInfo) {
1272 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1274 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
1279 static HRESULT WINAPI Videowindow_GetIDsOfNames(IVideoWindow *iface,
1285 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1287 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
1292 static HRESULT WINAPI Videowindow_Invoke(IVideoWindow *iface,
1293 DISPID dispIdMember,
1297 DISPPARAMS*pDispParams,
1299 EXCEPINFO*pExepInfo,
1301 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1303 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
1308 /*** IVideoWindow methods ***/
1309 static HRESULT WINAPI Videowindow_put_Caption(IVideoWindow *iface,
1311 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1313 TRACE("(%p/%p)->(%s (%p)): stub !!!\n", This, iface, debugstr_w(strCaption), strCaption);
1318 static HRESULT WINAPI Videowindow_get_Caption(IVideoWindow *iface,
1320 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1322 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, strCaption);
1327 static HRESULT WINAPI Videowindow_put_WindowStyle(IVideoWindow *iface,
1329 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1331 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, WindowStyle);
1336 static HRESULT WINAPI Videowindow_get_WindowStyle(IVideoWindow *iface,
1337 long *WindowStyle) {
1338 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1340 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, WindowStyle);
1345 static HRESULT WINAPI Videowindow_put_WindowStyleEx(IVideoWindow *iface,
1346 long WindowStyleEx) {
1347 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1349 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, WindowStyleEx);
1354 static HRESULT WINAPI Videowindow_get_WindowStyleEx(IVideoWindow *iface,
1355 long *WindowStyleEx) {
1356 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1358 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, WindowStyleEx);
1363 static HRESULT WINAPI Videowindow_put_AutoShow(IVideoWindow *iface,
1365 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1367 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, AutoShow);
1372 static HRESULT WINAPI Videowindow_get_AutoShow(IVideoWindow *iface,
1374 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1376 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, AutoShow);
1381 static HRESULT WINAPI Videowindow_put_WindowState(IVideoWindow *iface,
1383 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1385 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, WindowState);
1390 static HRESULT WINAPI Videowindow_get_WindowState(IVideoWindow *iface,
1391 long *WindowState) {
1392 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1394 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, WindowState);
1399 static HRESULT WINAPI Videowindow_put_BackgroundPalette(IVideoWindow *iface,
1400 long BackgroundPalette) {
1401 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1403 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, BackgroundPalette);
1408 static HRESULT WINAPI Videowindow_get_BackgroundPalette(IVideoWindow *iface,
1409 long *pBackgroundPalette) {
1410 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1412 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pBackgroundPalette);
1417 static HRESULT WINAPI Videowindow_put_Visible(IVideoWindow *iface,
1419 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1421 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Visible);
1426 static HRESULT WINAPI Videowindow_get_Visible(IVideoWindow *iface,
1428 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1430 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pVisible);
1435 static HRESULT WINAPI Videowindow_put_Left(IVideoWindow *iface,
1437 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1439 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Left);
1444 static HRESULT WINAPI Videowindow_get_Left(IVideoWindow *iface,
1446 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1448 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pLeft);
1453 static HRESULT WINAPI Videowindow_put_Width(IVideoWindow *iface,
1455 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1457 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Width);
1462 static HRESULT WINAPI Videowindow_get_Width(IVideoWindow *iface,
1464 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1466 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pWidth);
1471 static HRESULT WINAPI Videowindow_put_Top(IVideoWindow *iface,
1473 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1475 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Top);
1480 static HRESULT WINAPI Videowindow_get_Top(IVideoWindow *iface,
1482 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1484 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pTop);
1489 static HRESULT WINAPI Videowindow_put_Height(IVideoWindow *iface,
1491 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1493 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Height);
1498 static HRESULT WINAPI Videowindow_get_Height(IVideoWindow *iface,
1500 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1502 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pHeight);
1507 static HRESULT WINAPI Videowindow_put_Owner(IVideoWindow *iface,
1509 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1511 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) Owner);
1516 static HRESULT WINAPI Videowindow_get_Owner(IVideoWindow *iface,
1518 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1520 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) Owner);
1525 static HRESULT WINAPI Videowindow_put_MessageDrain(IVideoWindow *iface,
1527 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1529 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) Drain);
1534 static HRESULT WINAPI Videowindow_get_MessageDrain(IVideoWindow *iface,
1536 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1538 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, Drain);
1543 static HRESULT WINAPI Videowindow_get_BorderColor(IVideoWindow *iface,
1545 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1547 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, Color);
1552 static HRESULT WINAPI Videowindow_put_BorderColor(IVideoWindow *iface,
1554 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1556 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Color);
1561 static HRESULT WINAPI Videowindow_get_FullScreenMode(IVideoWindow *iface,
1562 long *FullScreenMode) {
1563 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1565 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, FullScreenMode);
1570 static HRESULT WINAPI Videowindow_put_FullScreenMode(IVideoWindow *iface,
1571 long FullScreenMode) {
1572 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1574 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, FullScreenMode);
1579 static HRESULT WINAPI Videowindow_SetWindowForeground(IVideoWindow *iface,
1581 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1583 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Focus);
1588 static HRESULT WINAPI Videowindow_NotifyOwnerMessage(IVideoWindow *iface,
1593 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1595 TRACE("(%p/%p)->(%08lx, %ld, %08lx, %08lx): stub !!!\n", This, iface, (DWORD) hwnd, uMsg, wParam, lParam);
1600 static HRESULT WINAPI Videowindow_SetWindowPosition(IVideoWindow *iface,
1605 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1607 TRACE("(%p/%p)->(%ld, %ld, %ld, %ld): stub !!!\n", This, iface, Left, Top, Width, Height);
1612 static HRESULT WINAPI Videowindow_GetWindowPosition(IVideoWindow *iface,
1617 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1619 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1624 static HRESULT WINAPI Videowindow_GetMinIdealImageSize(IVideoWindow *iface,
1627 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1629 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pWidth, pHeight);
1634 static HRESULT WINAPI Videowindow_GetMaxIdealImageSize(IVideoWindow *iface,
1637 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1639 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pWidth, pHeight);
1644 static HRESULT WINAPI Videowindow_GetRestorePosition(IVideoWindow *iface,
1649 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1651 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1656 static HRESULT WINAPI Videowindow_HideCursor(IVideoWindow *iface,
1658 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1660 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, HideCursor);
1665 static HRESULT WINAPI Videowindow_IsCursorHidden(IVideoWindow *iface,
1666 long *CursorHidden) {
1667 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1669 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, CursorHidden);
1675 static ICOM_VTABLE(IVideoWindow) IVideoWindow_VTable =
1677 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
1678 Videowindow_QueryInterface,
1680 Videowindow_Release,
1681 Videowindow_GetTypeInfoCount,
1682 Videowindow_GetTypeInfo,
1683 Videowindow_GetIDsOfNames,
1685 Videowindow_put_Caption,
1686 Videowindow_get_Caption,
1687 Videowindow_put_WindowStyle,
1688 Videowindow_get_WindowStyle,
1689 Videowindow_put_WindowStyleEx,
1690 Videowindow_get_WindowStyleEx,
1691 Videowindow_put_AutoShow,
1692 Videowindow_get_AutoShow,
1693 Videowindow_put_WindowState,
1694 Videowindow_get_WindowState,
1695 Videowindow_put_BackgroundPalette,
1696 Videowindow_get_BackgroundPalette,
1697 Videowindow_put_Visible,
1698 Videowindow_get_Visible,
1699 Videowindow_put_Left,
1700 Videowindow_get_Left,
1701 Videowindow_put_Width,
1702 Videowindow_get_Width,
1703 Videowindow_put_Top,
1704 Videowindow_get_Top,
1705 Videowindow_put_Height,
1706 Videowindow_get_Height,
1707 Videowindow_put_Owner,
1708 Videowindow_get_Owner,
1709 Videowindow_put_MessageDrain,
1710 Videowindow_get_MessageDrain,
1711 Videowindow_get_BorderColor,
1712 Videowindow_put_BorderColor,
1713 Videowindow_get_FullScreenMode,
1714 Videowindow_put_FullScreenMode,
1715 Videowindow_SetWindowForeground,
1716 Videowindow_NotifyOwnerMessage,
1717 Videowindow_SetWindowPosition,
1718 Videowindow_GetWindowPosition,
1719 Videowindow_GetMinIdealImageSize,
1720 Videowindow_GetMaxIdealImageSize,
1721 Videowindow_GetRestorePosition,
1722 Videowindow_HideCursor,
1723 Videowindow_IsCursorHidden
1727 /*** IUnknown methods ***/
1728 static HRESULT WINAPI Mediaevent_QueryInterface(IMediaEventEx *iface,
1731 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1733 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
1735 return Filtergraph_QueryInterface(This, riid, ppvObj);
1738 static ULONG WINAPI Mediaevent_AddRef(IMediaEventEx *iface) {
1739 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1741 TRACE("(%p/%p)->()\n", This, iface);
1743 return Filtergraph_AddRef(This);
1746 static ULONG WINAPI Mediaevent_Release(IMediaEventEx *iface) {
1747 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1749 TRACE("(%p/%p)->()\n", This, iface);
1751 return Filtergraph_Release(This);
1754 /*** IDispatch methods ***/
1755 static HRESULT WINAPI Mediaevent_GetTypeInfoCount(IMediaEventEx *iface,
1757 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1759 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
1764 static HRESULT WINAPI Mediaevent_GetTypeInfo(IMediaEventEx *iface,
1767 ITypeInfo**ppTInfo) {
1768 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1770 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
1775 static HRESULT WINAPI Mediaevent_GetIDsOfNames(IMediaEventEx *iface,
1781 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1783 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
1788 static HRESULT WINAPI Mediaevent_Invoke(IMediaEventEx *iface,
1789 DISPID dispIdMember,
1793 DISPPARAMS*pDispParams,
1795 EXCEPINFO*pExepInfo,
1797 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1799 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
1804 /*** IMediaEvent methods ***/
1805 static HRESULT WINAPI Mediaevent_GetEventHandle(IMediaEventEx *iface,
1807 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1809 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, hEvent);
1814 static HRESULT WINAPI Mediaevent_GetEvent(IMediaEventEx *iface,
1819 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1821 TRACE("(%p/%p)->(%p, %p, %p, %ld): stub !!!\n", This, iface, lEventCode, lParam1, lParam2, msTimeout);
1826 static HRESULT WINAPI Mediaevent_WaitForCompletion(IMediaEventEx *iface,
1829 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1831 TRACE("(%p/%p)->(%ld, %p): stub !!!\n", This, iface, msTimeout, pEvCode);
1836 static HRESULT WINAPI Mediaevent_CancelDefaultHandling(IMediaEventEx *iface,
1838 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1840 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lEvCode);
1845 static HRESULT WINAPI Mediaevent_RestoreDefaultHandling(IMediaEventEx *iface,
1847 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1849 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lEvCode);
1854 static HRESULT WINAPI Mediaevent_FreeEventParams(IMediaEventEx *iface,
1858 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1860 TRACE("(%p/%p)->(%ld, %08lx, %08lx): stub !!!\n", This, iface, lEvCode, lParam1, lParam2);
1865 /*** IMediaEventEx methods ***/
1866 static HRESULT WINAPI Mediaevent_SetNotifyWindow(IMediaEventEx *iface,
1869 LONG_PTR lInstanceData) {
1870 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1872 TRACE("(%p/%p)->(%08lx, %ld, %08lx): stub !!!\n", This, iface, (DWORD) hwnd, lMsg, lInstanceData);
1877 static HRESULT WINAPI Mediaevent_SetNotifyFlags(IMediaEventEx *iface,
1878 long lNoNotifyFlags) {
1879 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1881 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lNoNotifyFlags);
1886 static HRESULT WINAPI Mediaevent_GetNotifyFlags(IMediaEventEx *iface,
1887 long *lplNoNotifyFlags) {
1888 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1890 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, lplNoNotifyFlags);
1896 static ICOM_VTABLE(IMediaEventEx) IMediaEventEx_VTable =
1898 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
1899 Mediaevent_QueryInterface,
1902 Mediaevent_GetTypeInfoCount,
1903 Mediaevent_GetTypeInfo,
1904 Mediaevent_GetIDsOfNames,
1906 Mediaevent_GetEventHandle,
1907 Mediaevent_GetEvent,
1908 Mediaevent_WaitForCompletion,
1909 Mediaevent_CancelDefaultHandling,
1910 Mediaevent_RestoreDefaultHandling,
1911 Mediaevent_FreeEventParams,
1912 Mediaevent_SetNotifyWindow,
1913 Mediaevent_SetNotifyFlags,
1914 Mediaevent_GetNotifyFlags
1921 /* This is the only function that actually creates a FilterGraph class... */
1922 HRESULT FILTERGRAPH_create(IUnknown *pUnkOuter, LPVOID *ppObj) {
1923 IFilterGraphImpl *fimpl;
1925 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
1927 fimpl = (IFilterGraphImpl *) HeapAlloc(GetProcessHeap(), 0, sizeof(*fimpl));
1928 fimpl->IGraphBuilder_vtbl = &IGraphBuilder_VTable;
1929 fimpl->IMediaControl_vtbl = &IMediaControl_VTable;
1930 fimpl->IMediaSeeking_vtbl = &IMediaSeeking_VTable;
1931 fimpl->IBasicAudio_vtbl = &IBasicAudio_VTable;
1932 fimpl->IBasicVideo_vtbl = &IBasicVideo_VTable;
1933 fimpl->IVideoWindow_vtbl = &IVideoWindow_VTable;
1934 fimpl->IMediaEventEx_vtbl = &IMediaEventEx_VTable;