Piotr Caban : qcap: Don't define IMemInputPin_iface in AviMuxIn structure.

Alexandre Julliard julliard at winehq.org
Mon Feb 24 15:42:31 CST 2014


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Feb 24 12:09:10 2014 +0100

qcap: Don't define IMemInputPin_iface in AviMuxIn structure.

---

 dlls/qcap/avimux.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c
index f39e003..fdc0e8e 100644
--- a/dlls/qcap/avimux.c
+++ b/dlls/qcap/avimux.c
@@ -42,7 +42,6 @@ typedef struct {
 typedef struct {
     BaseInputPin pin;
     IAMStreamControl IAMStreamControl_iface;
-    IMemInputPin IMemInputPin_iface;
     IPropertyBag IPropertyBag_iface;
     IQualityControl IQualityControl_iface;
 } AviMuxIn;
@@ -1062,7 +1061,7 @@ static HRESULT WINAPI AviMuxIn_QueryInterface(IPin *iface, REFIID riid, void **p
     else if(IsEqualIID(riid, &IID_IAMStreamControl))
         *ppv = &avimuxin->IAMStreamControl_iface;
     else if(IsEqualIID(riid, &IID_IMemInputPin))
-        *ppv = &avimuxin->IMemInputPin_iface;
+        *ppv = &avimuxin->pin.IMemInputPin_iface;
     else if(IsEqualIID(riid, &IID_IPropertyBag))
         *ppv = &avimuxin->IPropertyBag_iface;
     else if(IsEqualIID(riid, &IID_IQualityControl))
@@ -1317,7 +1316,8 @@ static const IAMStreamControlVtbl AviMuxIn_AMStreamControlVtbl = {
 
 static inline AviMuxIn* AviMuxIn_from_IMemInputPin(IMemInputPin *iface)
 {
-    return CONTAINING_RECORD(iface, AviMuxIn, IMemInputPin_iface);
+    BaseInputPin *bip = CONTAINING_RECORD(iface, BaseInputPin, IMemInputPin_iface);
+    return CONTAINING_RECORD(bip, AviMuxIn, pin);
 }
 
 static HRESULT WINAPI AviMuxIn_MemInputPin_QueryInterface(
@@ -1540,8 +1540,8 @@ static HRESULT create_input_pin(AviMux *avimux)
             &AviMuxIn_BaseInputFuncTable, &avimux->filter.csFilter, NULL, (IPin**)&avimux->in[avimux->input_pin_no]);
     if(FAILED(hr))
         return hr;
+    avimux->in[avimux->input_pin_no]->pin.IMemInputPin_iface.lpVtbl = &AviMuxIn_MemInputPinVtbl;
     avimux->in[avimux->input_pin_no]->IAMStreamControl_iface.lpVtbl = &AviMuxIn_AMStreamControlVtbl;
-    avimux->in[avimux->input_pin_no]->IMemInputPin_iface.lpVtbl = &AviMuxIn_MemInputPinVtbl;
     avimux->in[avimux->input_pin_no]->IPropertyBag_iface.lpVtbl = &AviMuxIn_PropertyBagVtbl;
     avimux->in[avimux->input_pin_no]->IQualityControl_iface.lpVtbl = &AviMuxIn_QualityControlVtbl;
 




More information about the wine-cvs mailing list