Maarten Lankhorst : quartz: Forward requests for MediaSeeking from all pins properly.

Alexandre Julliard julliard at winehq.org
Mon Mar 24 07:54:30 CDT 2008


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

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Fri Mar 21 16:12:54 2008 -0700

quartz: Forward requests for MediaSeeking from all pins properly.

---

 dlls/quartz/parser.c |    2 +-
 dlls/quartz/pin.c    |   12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c
index 868c625..17861a0 100644
--- a/dlls/quartz/parser.c
+++ b/dlls/quartz/parser.c
@@ -628,7 +628,7 @@ static HRESULT WINAPI Parser_OutputPin_QueryInterface(IPin * iface, REFIID riid,
         *ppv = (LPVOID)iface;
     else if (IsEqualIID(riid, &IID_IMediaSeeking))
     {
-        return IBaseFilter_QueryInterface((IBaseFilter*)&This->pin.pin.pinInfo.pFilter, &IID_IMediaSeeking, ppv);
+        return IBaseFilter_QueryInterface(This->pin.pin.pinInfo.pFilter, &IID_IMediaSeeking, ppv);
     }
 
     if (*ppv)
diff --git a/dlls/quartz/pin.c b/dlls/quartz/pin.c
index 878f53a..e8d0f44 100644
--- a/dlls/quartz/pin.c
+++ b/dlls/quartz/pin.c
@@ -507,6 +507,10 @@ HRESULT WINAPI InputPin_QueryInterface(IPin * iface, REFIID riid, LPVOID * ppv)
         *ppv = (LPVOID)iface;
     else if (IsEqualIID(riid, &IID_IMemInputPin))
         *ppv = (LPVOID)&This->lpVtblMemInput;
+    else if (IsEqualIID(riid, &IID_IMediaSeeking))
+    {
+        return IBaseFilter_QueryInterface(This->pin.pinInfo.pFilter, &IID_IMediaSeeking, ppv);
+    }
 
     if (*ppv)
     {
@@ -803,6 +807,10 @@ HRESULT WINAPI OutputPin_QueryInterface(IPin * iface, REFIID riid, LPVOID * ppv)
         *ppv = (LPVOID)iface;
     else if (IsEqualIID(riid, &IID_IPin))
         *ppv = (LPVOID)iface;
+    else if (IsEqualIID(riid, &IID_IMediaSeeking))
+    {
+        return IBaseFilter_QueryInterface(This->pin.pinInfo.pFilter, &IID_IMediaSeeking, ppv);
+    }
 
     if (*ppv)
     {
@@ -1279,6 +1287,10 @@ HRESULT WINAPI PullPin_QueryInterface(IPin * iface, REFIID riid, LPVOID * ppv)
         *ppv = (LPVOID)iface;
     else if (IsEqualIID(riid, &IID_IPin))
         *ppv = (LPVOID)iface;
+    else if (IsEqualIID(riid, &IID_IMediaSeeking))
+    {
+        return IBaseFilter_QueryInterface(This->pin.pinInfo.pFilter, &IID_IMediaSeeking, ppv);
+    }
 
     if (*ppv)
     {




More information about the wine-cvs mailing list