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