[QUARTZ] Add stubbed IGraphConfig interface to the filtergraph

Christian Costa titan.costa at wanadoo.fr
Tue Aug 16 14:03:31 CDT 2005


Hi,

Changelog:
Add stubbed IGraphConfig interface to the filtergraph.

Christian Costa   titan.costa at wanadoo.fr

-------------- next part --------------
Index: dlls/quartz/filtergraph.c
===================================================================
RCS file: /home/wine/wine/dlls/quartz/filtergraph.c,v
retrieving revision 1.32
diff -u -r1.32 filtergraph.c
--- dlls/quartz/filtergraph.c	12 Jul 2005 19:21:36 -0000	1.32
+++ dlls/quartz/filtergraph.c	16 Aug 2005 17:51:54 -0000
@@ -150,13 +150,13 @@
     const IMediaEventExVtbl *IMediaEventEx_vtbl;
     const IMediaFilterVtbl *IMediaFilter_vtbl;
     const IMediaEventSinkVtbl *IMediaEventSink_vtbl;
+    const IGraphConfigVtbl *IGraphConfig_vtbl;
     /* IAMGraphStreams */
     /* IAMStats */
     /* IBasicVideo2 */
     /* IFilterChain */
     /* IFilterGraph2 */
     /* IFilterMapper2 */
-    /* IGraphConfig */
     /* IGraphVersion */
     /* IMediaPosition */
     /* IQueueCommand */
@@ -221,6 +221,9 @@
     } else if (IsEqualGUID(&IID_IMediaEventSink, riid)) {
         *ppvObj = &(This->IMediaEventSink_vtbl);
         TRACE("   returning IMediaEventSink interface (%p)\n", *ppvObj);
+    } else if (IsEqualGUID(&IID_IGraphConfig, riid)) {
+        *ppvObj = &(This->IGraphConfig_vtbl);
+        TRACE("   returning IGraphConfig interface (%p)\n", *ppvObj);
     } else {
         *ppvObj = NULL;
 	FIXME("unknown interface %s\n", debugstr_guid(riid));
@@ -3091,6 +3094,157 @@
     MediaEventSink_Notify
 };
 
+static HRESULT WINAPI GraphConfig_QueryInterface(IGraphConfig *iface, REFIID riid, LPVOID *ppv)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    return Filtergraph_QueryInterface(This, riid, ppv);
+}
+
+static ULONG WINAPI GraphConfig_AddRef(IGraphConfig *iface)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventSink_vtbl, iface);
+
+    return Filtergraph_AddRef(This);
+}
+
+static ULONG WINAPI GraphConfig_Release(IGraphConfig *iface)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    return Filtergraph_Release(This);
+}
+
+static HRESULT WINAPI GraphConfig_Reconnect(IGraphConfig *iface,
+					    IPin* pOutputPin,
+					    IPin* pInputPin,
+					    const AM_MEDIA_TYPE* pmtFirstConnection,
+					    IBaseFilter* pUsingFilter,
+					    HANDLE hAbortEvent,
+					    DWORD dwFlags)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p, %p, %p, %p, %p, %lx): stub!\n", This, pOutputPin, pInputPin, pmtFirstConnection, pUsingFilter, hAbortEvent, dwFlags);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_Reconfigure(IGraphConfig *iface,
+					      IGraphConfigCallback* pCallback,
+					      PVOID pvContext,
+					      DWORD dwFlags,
+					      HANDLE hAbortEvent)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p, %p, %lx, %p): stub!\n", This, pCallback, pvContext, dwFlags, hAbortEvent);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_AddFilterToCache(IGraphConfig *iface,
+						   IBaseFilter* pFilter)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p): stub!\n", This, pFilter);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_EnumCacheFilter(IGraphConfig *iface,
+						  IEnumFilters** pEnum)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p): stub!\n", This, pEnum);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_RemoveFilterFromCache(IGraphConfig *iface,
+							IBaseFilter* pFilter)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p): stub!\n", This, pFilter);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_GetStartTime(IGraphConfig *iface,
+					       REFERENCE_TIME* prtStart)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p): stub!\n", This, prtStart);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_PushThroughData(IGraphConfig *iface,
+						  IPin* pOutputPin,
+						  IPinConnection* pConnection,
+						  HANDLE hEventAbort)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p, %p, %p): stub!\n", This, pOutputPin, pConnection, hEventAbort);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_SetFilterFlags(IGraphConfig *iface,
+						 IBaseFilter* pFilter,
+						 DWORD dwFlags)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p, %lx): stub!\n", This, pFilter, dwFlags);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_GetFilterFlags(IGraphConfig *iface,
+						 IBaseFilter* pFilter,
+						 DWORD* dwFlags)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p, %p): stub!\n", This, pFilter, dwFlags);
+    
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI GraphConfig_RemoveFilterEx(IGraphConfig *iface,
+					  	 IBaseFilter* pFilter,
+						 DWORD dwFlags)
+{
+    ICOM_THIS_MULTI(IFilterGraphImpl, IGraphConfig_vtbl, iface);
+
+    FIXME("(%p)->(%p, %lx): stub!\n", This, pFilter, dwFlags);
+    
+    return E_NOTIMPL;
+}
+
+static const IGraphConfigVtbl IGraphConfig_VTable =
+{
+    GraphConfig_QueryInterface,
+    GraphConfig_AddRef,
+    GraphConfig_Release,
+    GraphConfig_Reconnect,
+    GraphConfig_Reconfigure,
+    GraphConfig_AddFilterToCache,
+    GraphConfig_EnumCacheFilter,
+    GraphConfig_RemoveFilterFromCache,
+    GraphConfig_GetStartTime,
+    GraphConfig_PushThroughData,
+    GraphConfig_SetFilterFlags,
+    GraphConfig_GetFilterFlags,
+    GraphConfig_RemoveFilterEx
+};
+
 /* This is the only function that actually creates a FilterGraph class... */
 HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj)
 {
@@ -3112,6 +3266,7 @@
     fimpl->IMediaEventEx_vtbl = &IMediaEventEx_VTable;
     fimpl->IMediaFilter_vtbl = &IMediaFilter_VTable;
     fimpl->IMediaEventSink_vtbl = &IMediaEventSink_VTable;
+    fimpl->IGraphConfig_vtbl = &IGraphConfig_VTable;
     fimpl->ref = 1;
     fimpl->ppFiltersInGraph = NULL;
     fimpl->pFilterNames = NULL;


More information about the wine-patches mailing list