ADTF
Loading...
Searching...
No Matches
adtf::services::riddler::IReferenceClock Class Referenceabstract

The IReferenceClock interface provides the reference time source for the filter graph. More...

#include <reference_clock_intf.h>

Inherits adtf::services::penguin::IReferenceClock.

Inherited by adtf::services::vision::IReferenceClock.

Public Types

enum class  tTimeBase : uint8_t { UNSPECIFIED , POSIX_UTC , POSIX_TAI }
 The time bases of a timestamp. More...
 
- Public Types inherited from adtf::services::ant::IReferenceClock
enum  tReferenceClockEventId { EVENT_TimeResetBegin = 0x0000 , EVENT_TimeResetEnd = 0x0001 , EVENT_TimeUpdate = 0x0004 }
 

Public Member Functions

 ADTF_IID (IReferenceClock, "reference_clock.riddler.streaming.adtf.iid")
 
virtual tResult GetSync2RefChannel (tTimeBase eTimeBase, adtf::ucom::ant::iobject_ptr< IReferenceClock::ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr) const =0
 
virtual tResult GetSync2RefChannel (adtf::ucom::ant::iobject_ptr< ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr, const char *strMethod=nullptr) const=0
 
virtual tResult GetSync2RefChannel (adtf::ucom::ant::iobject_ptr< ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr, const char *strMethod=nullptr) const=0
 
virtual tResult GetSync2RefChannel (adtf::ucom::ant::iobject_ptr< ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr, const char *strMethod=nullptr) const=0
 
virtual tResult GetSync2RefChannel (bool bSystemClockTimestamps, adtf::ucom::ant::iobject_ptr< giant::IReferenceClock::ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr) const=0
 
- Public Member Functions inherited from adtf::services::penguin::IReferenceClock
 ADTF_IID (IReferenceClock, "reference_clock.penguin.streaming.adtf.iid")
 
virtual tResult GetTimeGuard (const char *strName, ucom::ant::iobject_ptr< ITimeGuard > &pGuard)=0
 
- Public Member Functions inherited from adtf::services::osborn::IReferenceClock
 ADTF_IID (IReferenceClock, "reference_clock.osborn.streaming.adtf.iid")
 
virtual tResult ConvertStreamTime (adtf::base::flash::tNanoSeconds tmStreamTime, adtf::base::ant::IString &&strStringRepresentation) const =0
 
virtual tResult ConvertStreamTime (const char *strStringRepresentation, adtf::base::flash::tNanoSeconds &tmStreamTime) const =0
 
virtual tResult ConvertTimeOffset (adtf::base::flash::tNanoSeconds tmOffset, adtf::base::ant::IString &&strStringRepresentation) const =0
 
virtual tResult ConvertTimeOffset (const char *strStringRepresentation, adtf::base::flash::tNanoSeconds &tmOffset) const =0
 
- Public Member Functions inherited from adtf::services::giant::IReferenceClock
 ADTF_IID (IReferenceClock, "reference_clock.giant.streaming.adtf.iid")
 
- Public Member Functions inherited from adtf::services::flash::IReferenceClock
 ADTF_IID (IReferenceClock, "reference_clock.flash.streaming.adtf.iid")
 
virtual base::flash::tNanoSeconds GetTimeNs () const =0
 
virtual base::flash::tNanoSeconds GetStreamTimeNs () const =0
 
- Public Member Functions inherited from adtf::services::ant::IReferenceClock
 ADTF_IID (IReferenceClock, "reference_clock.ant.streaming.adtf.iid")
 
virtual tTimeStamp GetTime () const =0
 
virtual tTimeStamp GetStreamTime () const =0
 
virtual tResult RegisterClock (const adtf::ucom::ant::iobject_ptr< IClock > &pClock)=0
 
virtual tResult UnregisterClock (const adtf::ucom::ant::iobject_ptr< IClock > &pClock)=0
 
virtual tResult GetClocks (IClockListCallback &oCallback) const =0
 
virtual tResult GetClock (const char *strName, adtf::ucom::ant::iobject_ptr< IClock > &pClock) const =0
 
virtual tResult SetMainClock (const char *strName)=0
 
virtual tResult GetMainClock (adtf::base::ant::IString &&strName) const =0
 
virtual tResult SetStreamClock (const char *strName)=0
 
virtual tResult GetStreamClock (adtf::base::ant::IString &&strName) const =0
 
virtual tResult RegisterSync2RefFactory (const adtf::ucom::ant::iobject_ptr< ISync2RefChannelFactory > &oSync2RefFactory)=0
 
virtual tResult UnregisterSync2RefFactory (const adtf::ucom::ant::iobject_ptr< ISync2RefChannelFactory > &oSync2RefFactory)=0
 
virtual tResult ListSync2RefMethods (ISync2RefListCallback &oCallback)=0
 
- Public Member Functions inherited from adtf::ucom::ant::IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 

Protected Member Functions

 ~IReferenceClock ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::services::penguin::IReferenceClock
 ~IReferenceClock ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::services::osborn::IReferenceClock
 ~IReferenceClock ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::services::giant::IReferenceClock
 ~IReferenceClock ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::services::flash::IReferenceClock
 ~IReferenceClock ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::services::ant::IReferenceClock
 ~IReferenceClock ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::ucom::ant::IObject
 ~IObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 

Additional Inherited Members

- Static Public Attributes inherited from adtf::services::ant::IReferenceClock
static const int ADTF_MAX_CLOCK_NAME_LENGTH = 256
 

Detailed Description

The IReferenceClock interface provides the reference time source for the filter graph.

See also Clock Handling for further information on timings within ADTF. Default implementation of provide service is reached by CID_ADTF_REFERENCE_CLOCK.

Member Enumeration Documentation

◆ tTimeBase

The time bases of a timestamp.

Enumerator
UNSPECIFIED 

no timebase specified

POSIX_UTC 

Posix UTC timebase.

POSIX_TAI 

Posix TAI timebase.

Member Function Documentation

◆ ADTF_IID()

adtf::services::riddler::IReferenceClock::ADTF_IID ( IReferenceClock ,
"reference_clock.riddler.streaming.adtf.iid"  )

◆ GetSync2RefChannel() [1/5]

virtual tResult adtf::services::ant::IReferenceClock::GetSync2RefChannel ( adtf::ucom::ant::iobject_ptr< ISync2RefChannel > & pSync2RefChannel,
const char * strName = nullptr,
const char * strMethod = nullptr ) const
virtual

Returns a new instance of a Sync2Ref Channel implementation.

Parameters
[out]pSync2RefChannelThe pointer to the new instance.
[in]strNameAn optional name of the channel (for logging purposes, need not be unique)
[in]strMethodIf given this method will be used, otherwise the set default.
Return values
ERR_NOT_FOUNDThere is no such Sync2Ref method available
Deprecated
Use GetSync2RefChannel(adtf::ucom::ant::iobject_ptr<ISync2RefChannel>& pSync2RefChannel, const char* strName = nullptr, const char* strMethod = nullptr) instead.

Reimplemented from adtf::services::osborn::IReferenceClock.

Reimplemented in adtf::services::vision::IReferenceClock.

◆ GetSync2RefChannel() [2/5]

virtual tResult adtf::services::flash::IReferenceClock::GetSync2RefChannel ( adtf::ucom::ant::iobject_ptr< ISync2RefChannel > & pSync2RefChannel,
const char * strName = nullptr,
const char * strMethod = nullptr ) const
virtual

Returns a new instance of a Sync2Ref Channel implementation.

Parameters
[out]pSync2RefChannelThe pointer to the new instance.
[in]strNameAn optional name of the channel (for logging purposes, need not be unique)
[in]strMethodIf given this method will be used, otherwise the set default.
Return values
ERR_NOT_FOUNDThere is no such Sync2Ref method available
Deprecated
Use GetSync2RefChannel(adtf::ucom::ant::iobject_ptr<ISync2RefChannel>& pSync2RefChannel, const char* strName = nullptr, const char* strMethod = nullptr) instead.

Reimplemented from adtf::services::osborn::IReferenceClock.

Reimplemented in adtf::services::vision::IReferenceClock.

◆ GetSync2RefChannel() [3/5]

virtual tResult adtf::services::giant::IReferenceClock::GetSync2RefChannel ( adtf::ucom::ant::iobject_ptr< ISync2RefChannel > & pSync2RefChannel,
const char * strName = nullptr,
const char * strMethod = nullptr ) const
virtual

Returns a new instance of a Sync2Ref Channel implementation.

Parameters
[out]pSync2RefChannelThe pointer to the new instance.
[in]strNameAn optional name of the channel (for logging purposes, need not be unique)
[in]strMethodIf given this method will be used, otherwise the set default.
Return values
ERR_NOT_FOUNDThere is no such Sync2Ref method available
Deprecated
Use GetSync2RefChannel(adtf::ucom::ant::iobject_ptr<ISync2RefChannel>& pSync2RefChannel, const char* strName = nullptr, const char* strMethod = nullptr) instead.

Reimplemented from adtf::services::osborn::IReferenceClock.

Reimplemented in adtf::services::vision::IReferenceClock.

◆ GetSync2RefChannel() [4/5]

virtual tResult adtf::services::osborn::IReferenceClock::GetSync2RefChannel ( bool bSystemClockTimestamps,
adtf::ucom::ant::iobject_ptr< giant::IReferenceClock::ISync2RefChannel > & pSync2RefChannel,
const char * strName = nullptr ) const
virtual

Returns a new instance of a Sync2Ref Channel implementation.

In case that the reference clock uses the system clock and your timestamps already are derived from the system clock, the returned channel will simply return the timestamps unmodified.

Parameters
[in]bSystemClockTimestampsTrue if the timestamps you want to synchronize are in sync with the local system clock, false if they are from independent unsynchronized clocks.
[out]pSync2RefChannelThe pointer to the new instance.
[in]strNameAn optional name of the channel (for logging purposes, need not be unique)
Returns
Standard result.
Deprecated
Use adtf::services::vision::IReferenceClock::GetSync2RefChannel(bool bSystemClockTimestamps, adtf::ucom::ant::iobject_ptr<IReferenceClock::ISync2RefChannel>& pSync2RefChannel, const char* strName = nullptr) instead.

Implements adtf::services::osborn::IReferenceClock.

Reimplemented in adtf::services::vision::IReferenceClock.

◆ GetSync2RefChannel() [5/5]

virtual tResult adtf::services::riddler::IReferenceClock::GetSync2RefChannel ( tTimeBase eTimeBase,
adtf::ucom::ant::iobject_ptr< IReferenceClock::ISync2RefChannel > & pSync2RefChannel,
const char * strName = nullptr ) const
pure virtual

Returns a new instance of a Sync2Ref Channel implementation. If the given timestamps are TAI based then the returned timestamps are incremented by the corresponding leap seconds

Parameters
[in]eTimeBaseDescribes the timeBase (UTC/TAI) of the timestamps you want to synchronize.
[out]pSync2RefChannelThe pointer to the new instance.
[in]strNameAn optional name of the channel (for logging purposes, need not be unique)
Returns
Standard result.
Deprecated
Use adtf::services::vision::IReferenceClock::GetSync2RefChannel(tTimeBase eTimeBase, adtf::ucom::ant::iobject_ptr<IReferenceClock::ISync2RefChannel>& pSync2RefChannel, const char* strName = nullptr) instead.

Implemented in adtf::services::IReferenceClock, and adtf::services::vision::IReferenceClock.


The documentation for this class was generated from the following file: