| /* |
| * Implementation of IMediaFilter for FilterGraph. |
| * |
| * FIXME - stub. |
| * |
| * hidenori@a2.ctktv.ne.jp |
| */ |
| |
| #include "config.h" |
| |
| #include "windef.h" |
| #include "winbase.h" |
| #include "wingdi.h" |
| #include "winerror.h" |
| #include "wine/obj_base.h" |
| #include "wine/obj_oleaut.h" |
| #include "strmif.h" |
| #include "control.h" |
| #include "uuids.h" |
| |
| #include "debugtools.h" |
| DEFAULT_DEBUG_CHANNEL(quartz); |
| |
| #include "quartz_private.h" |
| #include "fgraph.h" |
| |
| |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnQueryInterface(IMediaFilter* iface,REFIID riid,void** ppobj) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| TRACE("(%p)->()\n",This); |
| |
| return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); |
| } |
| |
| static ULONG WINAPI |
| IMediaFilter_fnAddRef(IMediaFilter* iface) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| TRACE("(%p)->()\n",This); |
| |
| return IUnknown_AddRef(This->unk.punkControl); |
| } |
| |
| static ULONG WINAPI |
| IMediaFilter_fnRelease(IMediaFilter* iface) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| TRACE("(%p)->()\n",This); |
| |
| return IUnknown_Release(This->unk.punkControl); |
| } |
| |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnGetClassID(IMediaFilter* iface,CLSID* pclsid) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| TRACE("(%p)->()\n",This); |
| |
| return IPersist_GetClassID( |
| CFilterGraph_IPersist(This),pclsid); |
| } |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnStop(IMediaFilter* iface) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| FIXME("(%p)->() stub!\n",This); |
| |
| return E_NOTIMPL; |
| } |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnPause(IMediaFilter* iface) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| FIXME("(%p)->() stub!\n",This); |
| |
| return E_NOTIMPL; |
| } |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnRun(IMediaFilter* iface,REFERENCE_TIME rtStart) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| FIXME("(%p)->() stub!\n",This); |
| |
| return E_NOTIMPL; |
| } |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnGetState(IMediaFilter* iface,DWORD dw,FILTER_STATE* pState) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| FIXME("(%p)->() stub!\n",This); |
| |
| return E_NOTIMPL; |
| } |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnSetSyncSource(IMediaFilter* iface,IReferenceClock* pobjClock) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| FIXME("(%p)->() stub!\n",This); |
| |
| return E_NOTIMPL; |
| } |
| |
| static HRESULT WINAPI |
| IMediaFilter_fnGetSyncSource(IMediaFilter* iface,IReferenceClock** ppobjClock) |
| { |
| CFilterGraph_THIS(iface,mediafilter); |
| |
| FIXME("(%p)->() stub!\n",This); |
| |
| return E_NOTIMPL; |
| } |
| |
| |
| |
| static ICOM_VTABLE(IMediaFilter) imediafilter = |
| { |
| ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE |
| /* IUnknown fields */ |
| IMediaFilter_fnQueryInterface, |
| IMediaFilter_fnAddRef, |
| IMediaFilter_fnRelease, |
| /* IPersist fields */ |
| IMediaFilter_fnGetClassID, |
| /* IMediaFilter fields */ |
| IMediaFilter_fnStop, |
| IMediaFilter_fnPause, |
| IMediaFilter_fnRun, |
| IMediaFilter_fnGetState, |
| IMediaFilter_fnSetSyncSource, |
| IMediaFilter_fnGetSyncSource, |
| }; |
| |
| HRESULT CFilterGraph_InitIMediaFilter( CFilterGraph* pfg ) |
| { |
| TRACE("(%p)\n",pfg); |
| ICOM_VTBL(&pfg->mediafilter) = &imediafilter; |
| |
| return NOERROR; |
| } |
| |
| void CFilterGraph_UninitIMediaFilter( CFilterGraph* pfg ) |
| { |
| TRACE("(%p)\n",pfg); |
| } |