2009-02-09 21:15:56 +00:00
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
// File: SysClock.h
|
|
|
|
//
|
|
|
|
// Desc: DirectShow base classes - defines a system clock implementation of
|
|
|
|
// IReferenceClock.
|
|
|
|
//
|
2018-04-28 16:52:15 +00:00
|
|
|
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
|
2009-02-09 21:15:56 +00:00
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __SYSTEMCLOCK__
|
|
|
|
#define __SYSTEMCLOCK__
|
|
|
|
|
|
|
|
//
|
|
|
|
// Base clock. Uses timeGetTime ONLY
|
|
|
|
// Uses most of the code in the base reference clock.
|
|
|
|
// Provides GetTime
|
|
|
|
//
|
|
|
|
|
|
|
|
class CSystemClock : public CBaseReferenceClock, public IAMClockAdjust, public IPersist
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// We must be able to create an instance of ourselves
|
2018-04-28 16:52:15 +00:00
|
|
|
static CUnknown * WINAPI CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
|
|
|
|
CSystemClock(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
|
2009-02-09 21:15:56 +00:00
|
|
|
|
|
|
|
DECLARE_IUNKNOWN
|
|
|
|
|
2018-04-28 16:52:15 +00:00
|
|
|
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
|
2009-02-09 21:15:56 +00:00
|
|
|
|
|
|
|
// Yield up our class id so that we can be persisted
|
|
|
|
// Implement required Ipersist method
|
2018-04-28 16:52:15 +00:00
|
|
|
STDMETHODIMP GetClassID(__out CLSID *pClsID);
|
2009-02-09 21:15:56 +00:00
|
|
|
|
|
|
|
// IAMClockAdjust methods
|
|
|
|
STDMETHODIMP SetClockDelta(REFERENCE_TIME rtDelta);
|
|
|
|
}; //CSystemClock
|
|
|
|
|
|
|
|
#endif /* __SYSTEMCLOCK__ */
|