[PATCH 2/7] quartz: Add support for filtermapper3 to filtergraph, try 2

Maarten Lankhorst m.b.lankhorst at gmail.com
Fri Dec 3 07:38:26 CST 2010


---
Explicitly queries for IFilterMapper3 now, it inherits from IFilterMapper2
---
 dlls/quartz/filtergraph.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index f431cdb..3ce2bd7 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -177,7 +177,7 @@ typedef struct _IFilterGraphImpl {
 
     LONG ref;
     IUnknown *punkFilterMapper2;
-    IFilterMapper2 * pFilterMapper2;
+    IFilterMapper3 * pFilterMapper2;
     IBaseFilter ** ppFiltersInGraph;
     LPWSTR * pFilterNames;
     int nFilters;
@@ -269,6 +269,9 @@ static HRESULT WINAPI FilterGraphInner_QueryInterface(IUnknown * iface,
     } else if (IsEqualGUID(&IID_IFilterMapper2, riid)) {
         *ppvObj = This->pFilterMapper2;
         TRACE("   returning IFilterMapper2 interface from aggregated filtermapper (%p)\n", *ppvObj);
+    } else if (IsEqualGUID(&IID_IFilterMapper3, riid)) {
+        *ppvObj = This->pFilterMapper2;
+        TRACE("   returning IFilterMapper3 interface from aggregated filtermapper (%p)\n", *ppvObj);
     } else {
         *ppvObj = NULL;
 	FIXME("unknown interface %s\n", debugstr_guid(riid));
@@ -5498,7 +5501,7 @@ HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj)
         &IID_IUnknown, (LPVOID*)&fimpl->punkFilterMapper2);
 
     if (SUCCEEDED(hr)) {
-        hr = IUnknown_QueryInterface(fimpl->punkFilterMapper2, &IID_IFilterMapper2,  (LPVOID*)&fimpl->pFilterMapper2);
+        hr = IUnknown_QueryInterface(fimpl->punkFilterMapper2, &IID_IFilterMapper3,  (LPVOID*)&fimpl->pFilterMapper2);
     }
 
     if (SUCCEEDED(hr)) {
-- 
1.7.1




More information about the wine-patches mailing list