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