Maarten Lankhorst : quartz: Set a default sync source on the filtergraph.
Alexandre Julliard
julliard at winehq.org
Sat Mar 15 05:53:50 CDT 2008
Module: wine
Branch: master
Commit: b1f9acc68862d28a934f5fa5a6e2ec2635af9df6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b1f9acc68862d28a934f5fa5a6e2ec2635af9df6
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Fri Mar 14 11:02:01 2008 -0700
quartz: Set a default sync source on the filtergraph.
Use the fallback system IReferenceClock, unless the app comes up with
its own clock.
---
dlls/quartz/filtergraph.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index 762e3e2..f056421 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -620,10 +620,20 @@ static HRESULT WINAPI FilterGraph2_Disconnect(IFilterGraph2 *iface,
static HRESULT WINAPI FilterGraph2_SetDefaultSyncSource(IFilterGraph2 *iface) {
ICOM_THIS_MULTI(IFilterGraphImpl, IFilterGraph2_vtbl, iface);
+ IReferenceClock *pClock = NULL;
+ HRESULT hr;
- TRACE("(%p/%p)->(): stub !!!\n", iface, This);
+ TRACE("(%p/%p)->() semi-stub\n", iface, This);
- return S_OK;
+ hr = CoCreateInstance(&CLSID_SystemClock, NULL, CLSCTX_INPROC_SERVER, &IID_IReferenceClock, (LPVOID*)&pClock);
+
+ if (SUCCEEDED(hr))
+ {
+ hr = IMediaFilter_SetSyncSource((IMediaFilter*)&(This->IMediaFilter_vtbl), pClock);
+ IReferenceClock_Release(pClock);
+ }
+
+ return hr;
}
static HRESULT GetFilterInfo(IMoniker* pMoniker, GUID* pclsid, VARIANT* pvar)
@@ -4755,6 +4765,7 @@ HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj)
ERR("Unable to create filter mapper (%x)\n", hr);
return hr;
}
+ IFilterGraph2_SetDefaultSyncSource((IFilterGraph2*)fimpl);
*ppObj = fimpl;
return S_OK;
More information about the wine-cvs
mailing list