Maarten Lankhorst : quartz: Forward some messages from IMediaSeekingPassThru.
Alexandre Julliard
julliard at winehq.org
Thu Jun 19 06:42:21 CDT 2008
Module: wine
Branch: master
Commit: fc3377d08bd3a43ba34f5c177f7b1e7464237980
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fc3377d08bd3a43ba34f5c177f7b1e7464237980
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Tue Jun 10 16:59:30 2008 +0200
quartz: Forward some messages from IMediaSeekingPassThru.
---
dlls/quartz/control.c | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/quartz/control.c b/dlls/quartz/control.c
index 63bc371..477f632 100644
--- a/dlls/quartz/control.c
+++ b/dlls/quartz/control.c
@@ -782,11 +782,17 @@ static HRESULT WINAPI MediaSeekingPassThru_SetTimeFormat(IMediaSeeking * iface,
static HRESULT WINAPI MediaSeekingPassThru_GetDuration(IMediaSeeking * iface, LONGLONG * pDuration)
{
ICOM_THIS_MULTI(PassThruImpl, IMediaSeeking_vtbl, iface);
+ PIN_INFO info;
+ HRESULT hr;
TRACE("(%p/%p)->(%p)\n", iface, This, pDuration);
- FIXME("stub\n");
- return E_NOTIMPL;
+ IPin_QueryPinInfo(This->pin, &info);
+
+ hr = ForwardCmdSeek(NULL, info.pFilter, fwd_getduration, pDuration);
+ IBaseFilter_Release(info.pFilter);
+
+ return hr;
}
static HRESULT WINAPI MediaSeekingPassThru_GetStopPosition(IMediaSeeking * iface, LONGLONG * pStop)
@@ -823,11 +829,21 @@ static HRESULT WINAPI MediaSeekingPassThru_ConvertTimeFormat(IMediaSeeking * ifa
static HRESULT WINAPI MediaSeekingPassThru_SetPositions(IMediaSeeking * iface, LONGLONG * pCurrent, DWORD dwCurrentFlags, LONGLONG * pStop, DWORD dwStopFlags)
{
ICOM_THIS_MULTI(PassThruImpl, IMediaSeeking_vtbl, iface);
+ struct pos_args args;
+ PIN_INFO info;
+ HRESULT hr;
TRACE("(%p/%p)->(%p, %p)\n", iface, This, pCurrent, pStop);
+ args.current = pCurrent;
+ args.stop = pStop;
+ args.curflags = dwCurrentFlags;
+ args.stopflags = dwStopFlags;
- FIXME("stub\n");
- return E_NOTIMPL;
+ IPin_QueryPinInfo(This->pin, &info);
+
+ hr = ForwardCmdSeek(NULL, info.pFilter, fwd_setposition, &args);
+ IBaseFilter_Release(info.pFilter);
+ return hr;
}
static HRESULT WINAPI MediaSeekingPassThru_GetPositions(IMediaSeeking * iface, LONGLONG * pCurrent, LONGLONG * pStop)
More information about the wine-cvs
mailing list