Paul Chitescu : qedit: In output pin' s IPin_Connect call ReceiveConnection on the receiver pin to properly negotiate media type .

Alexandre Julliard julliard at winehq.org
Wed Feb 17 10:12:03 CST 2010


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

Author: Paul Chitescu <paulc at voip.null.ro>
Date:   Tue Feb 16 18:23:01 2010 +0200

qedit: In output pin's IPin_Connect call ReceiveConnection on the receiver pin to properly negotiate media type.

---

 dlls/qedit/samplegrabber.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/qedit/samplegrabber.c b/dlls/qedit/samplegrabber.c
index b6082f1..4538004 100644
--- a/dlls/qedit/samplegrabber.c
+++ b/dlls/qedit/samplegrabber.c
@@ -988,6 +988,7 @@ static HRESULT WINAPI
 SampleGrabber_Out_IPin_Connect(IPin *iface, IPin *receiver, const AM_MEDIA_TYPE *type)
 {
     SG_Pin *This = (SG_Pin *)iface;
+    HRESULT hr;
     TRACE("(%p)->(%p, %p)\n", This, receiver, type);
     if (!receiver)
         return E_POINTER;
@@ -1011,6 +1012,11 @@ SampleGrabber_Out_IPin_Connect(IPin *iface, IPin *receiver, const AM_MEDIA_TYPE
 	    !IsEqualGUID(&This->sg->mtype.formattype,&type->formattype))
 	    return VFW_E_TYPE_NOT_ACCEPTED;
     }
+    else
+	type = &This->sg->mtype;
+    hr = IPin_ReceiveConnection(receiver,(IPin*)&This->lpVtbl,type);
+    if (FAILED(hr))
+	return hr;
     This->pair = receiver;
     if (This->sg->memOutput) {
         IMemInputPin_Release(This->sg->memOutput);




More information about the wine-cvs mailing list