static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_GetLatencyClock(LPDIRECTMUSICPORT iface, IReferenceClock** clock) { SynthPortImpl *This = impl_from_SynthPortImpl_IDirectMusicPort(iface); TRACE("(%p/%p)->(%p)\n", iface, This, clock); *clock = This->pLatencyClock; IReferenceClock_AddRef(*clock); return S_OK; }
/* IMediaFilter */ static HRESULT WINAPI SampleGrabber_IBaseFilter_GetSyncSource(IBaseFilter *iface, IReferenceClock **clock) { SG_Impl *This = impl_from_IBaseFilter(iface); TRACE("(%p)->(%p)\n", This, clock); if (!clock) return E_POINTER; if (This->refClock) IReferenceClock_AddRef(This->refClock); *clock = This->refClock; return S_OK; }
static HRESULT WINAPI IDirectMusicSynthSinkImpl_GetLatencyClock(LPDIRECTMUSICSYNTHSINK iface, IReferenceClock** clock) { IDirectMusicSynthSinkImpl *This = impl_from_IDirectMusicSynthSink(iface); TRACE("(%p)->(%p)\n", iface, clock); if (!clock) return E_POINTER; *clock = This->latency_clock; IReferenceClock_AddRef(This->latency_clock); return S_OK; }
static HRESULT WINAPI IDirectMusic8Impl_GetMasterClock(LPDIRECTMUSIC8 iface, LPGUID guid_clock, IReferenceClock** reference_clock) { IDirectMusic8Impl *This = impl_from_IDirectMusic8(iface); TRACE("(%p)->(%p, %p)\n", This, guid_clock, reference_clock); if (guid_clock) *guid_clock = This->pMasterClock->pClockInfo.guidClock; if (reference_clock) { *reference_clock = &This->pMasterClock->IReferenceClock_iface; IReferenceClock_AddRef(*reference_clock); } return S_OK; }
HRESULT WINAPI BaseFilterImpl_GetSyncSource(IBaseFilter * iface, IReferenceClock **ppClock) { BaseFilter *This = (BaseFilter*)iface; TRACE("(%p)->(%p)\n", This, ppClock); EnterCriticalSection(&This->csFilter); { *ppClock = This->pClock; if (This->pClock) IReferenceClock_AddRef(This->pClock); } LeaveCriticalSection(&This->csFilter); return S_OK; }
/* IMediaFilter */ static HRESULT WINAPI SampleGrabber_IBaseFilter_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock) { SG_Impl *This = impl_from_IBaseFilter(iface); TRACE("(%p)->(%p)\n", This, clock); if (clock != This->refClock) { if (clock) IReferenceClock_AddRef(clock); if (This->refClock) IReferenceClock_Release(This->refClock); This->refClock = clock; } return S_OK; }
static HRESULT WINAPI TransformFilter_SetSyncSource(IBaseFilter * iface, IReferenceClock *pClock) { TransformFilterImpl *This = (TransformFilterImpl *)iface; TRACE("(%p/%p)->(%p)\n", This, iface, pClock); EnterCriticalSection(&This->csFilter); { if (This->pClock) IReferenceClock_Release(This->pClock); This->pClock = pClock; if (This->pClock) IReferenceClock_AddRef(This->pClock); } LeaveCriticalSection(&This->csFilter); return S_OK; }