Hi,<br><br>what about if ppPin is NULL?<br>I think that this patch needs test cases to prove that it is correct?<br><br>David<br><br><div class="gmail_quote">2010/8/6 Anton Khirnov <span dir="ltr">&lt;<a href="mailto:wyskas@gmail.com">wyskas@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">---<br>
 dlls/quartz/filesource.c |   32 ++++++++++++++++++++++++++++++--<br>
 1 files changed, 30 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c<br>
index 110415d..00a91c8 100644<br>
--- a/dlls/quartz/filesource.c<br>
+++ b/dlls/quartz/filesource.c<br>
@@ -548,9 +548,37 @@ static HRESULT WINAPI AsyncReader_EnumPins(IBaseFilter * iface, IEnumPins **ppEn<br>
<br>
 static HRESULT WINAPI AsyncReader_FindPin(IBaseFilter * iface, LPCWSTR Id, IPin **ppPin)<br>
 {<br>
-    FIXME(&quot;(%s, %p)\n&quot;, debugstr_w(Id), ppPin);<br>
+    IEnumPins *enumpins;<br>
+    HRESULT hr;<br>
<br>
-    return E_NOTIMPL;<br>
+    hr = AsyncReader_EnumPins(iface, &amp;enumpins);<br>
+    if (FAILED(hr))<br>
+        return S_FALSE;<br>
+<br>
+    while (hr == S_OK) {<br>
+        IPin      *pin;<br>
+        LPWSTR pinname;<br>
+<br>
+        hr = IEnumPins_Next(enumpins, 1, &amp;pin, NULL);<br>
+        if (FAILED(hr))<br>
+            break;<br>
+<br>
+        hr = IPin_QueryId(pin, &amp;pinname);<br>
+        if (SUCCEEDED(hr)) {<br>
+            if (!strcmpW(pinname, Id)) {<br>
+                *ppPin = pin;<br>
+                IPin_AddRef(*ppPin);<br>
+                CoTaskMemFree(pinname);<br>
+                break;<br>
+            }<br>
+            CoTaskMemFree(pinname);<br>
+        }<br>
+    }<br>
+<br>
+    IEnumPins_Release(enumpins);<br>
+    if (SUCCEEDED(hr))<br>
+        return S_OK;<br>
+    return S_FALSE;<br>
 }<br>
<br>
 static HRESULT WINAPI AsyncReader_QueryFilterInfo(IBaseFilter * iface, FILTER_INFO *pInfo)<br>
<font color="#888888">--<br>
1.7.1<br>
<br>
<br>
<br>
</font></blockquote></div><br>