Paul Chitescu : quartz: Implement NullRenderer's IBaseFilter::FindPin.

Alexandre Julliard julliard at winehq.org
Thu Dec 24 10:27:16 CST 2009


Module: wine
Branch: master
Commit: 7251e91d4da20617badd27c6b87163bfb0f749a8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7251e91d4da20617badd27c6b87163bfb0f749a8

Author: Paul Chitescu <paulc at voip.null.ro>
Date:   Wed Dec 23 18:17:38 2009 +0200

quartz: Implement NullRenderer's IBaseFilter::FindPin.

---

 dlls/quartz/nullrenderer.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/quartz/nullrenderer.c b/dlls/quartz/nullrenderer.c
index f774012..d2aedfa 100644
--- a/dlls/quartz/nullrenderer.c
+++ b/dlls/quartz/nullrenderer.c
@@ -43,6 +43,7 @@
 WINE_DEFAULT_DEBUG_CHANNEL(quartz);
 
 static const WCHAR wcsInputPinName[] = {'i','n','p','u','t',' ','p','i','n',0};
+static const WCHAR wcsAltInputPinName[] = {'I','n',0};
 
 static const IBaseFilterVtbl NullRenderer_Vtbl;
 static const IUnknownVtbl IInner_VTable;
@@ -472,11 +473,17 @@ static HRESULT WINAPI NullRenderer_FindPin(IBaseFilter * iface, LPCWSTR Id, IPin
 
     TRACE("(%p/%p)->(%p,%p)\n", This, iface, debugstr_w(Id), ppPin);
 
-    FIXME("NullRenderer::FindPin(...)\n");
+    if (!Id || !ppPin)
+        return E_POINTER;
 
-    /* FIXME: critical section */
-
-    return E_NOTIMPL;
+    if (!lstrcmpiW(Id,wcsInputPinName) || !lstrcmpiW(Id,wcsAltInputPinName))
+    {
+        *ppPin = (IPin *)This->pInputPin;
+        IPin_AddRef(*ppPin);
+        return S_OK;
+    }
+    *ppPin = NULL;
+    return VFW_E_NOT_FOUND;
 }
 
 static HRESULT WINAPI NullRenderer_QueryFilterInfo(IBaseFilter * iface, FILTER_INFO *pInfo)




More information about the wine-cvs mailing list