Module: wine Branch: master Commit: 4d745e0051e56de36deec70e3fbd80055733a7db URL: http://source.winehq.org/git/wine.git/?a=commit;h=4d745e0051e56de36deec70e3f...
Author: Maarten Lankhorst m.b.lankhorst@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) {