15 #define CID_ADTF_REFERENCE_CLOCK "reference_clock.service.adtf.cid"
349 const char* strName =
nullptr,
const char* strMethod =
nullptr)
const = 0;
440 const char* strName =
nullptr,
const char* strMethod =
nullptr)
const = 0;
489 using flash::IReferenceClock::GetSync2RefChannel;
491 const char* strName =
nullptr,
const char* strMethod =
nullptr)
const = 0;
522 ADTF_IID(
ISystemClock,
"system_clock.reference_clock.osborn.streaming.adtf.iid");
564 using flash::IReferenceClock::GetSync2RefChannel;
565 using giant::IReferenceClock::GetSync2RefChannel;
580 const char* strName =
nullptr)
const = 0;
651 ADTF_IID(
ITimeGuard,
"time_guard.reference_clock.penguin.streaming.adtf.iid");
678 ADTF_IID(
IGuardableClock,
"guardable_clock.reference_clock.penguin.streaming.adtf.iid");
728 using flash::IReferenceClock::GetSync2RefChannel;
729 using giant::IReferenceClock::GetSync2RefChannel;
Copyright © Audi Electronics Venture GmbH.
tInt64 tTimeStamp
type definition for a time value.
tVoid * tHandle
type definition for a handle value (platform and compiler dependent type).
Copyright © Audi Electronics Venture GmbH.
A common result class usable as return value throughout.
The IString interface provides methods for getting and setting strings through abstract interfaces.
ADTF_IID(IClock, "clock.reference_clock.ant.streaming.adtf.iid")
Marks the IClock to be castable with the adtf::ucom::ant::ucom_cast.
virtual tTimeStamp GetTime() const =0
Returns the current time of the clock.
virtual tResult GetName(adtf::base::ant::IString &&strName) const =0
Callback for listing of clocks.
virtual tResult HandleClock(const ucom::ant::iobject_ptr< IClock > &pClock)=0
This will be called for each registered clock.
Interface for sync2ref class factories.
ADTF_IID(ISync2RefChannelFactory, "sync2ref_channel_factory.reference_clock.ant.streaming.adtf.iid")
Marks the ISync2RefChannelFactory to be castable with the adtf::ucom::ant::ucom_cast.
Interface for synchronizing external timestamps to stream time.
ADTF_IID(ISync2RefChannel, "sync2ref_channel.reference_clock.ant.streaming.adtf.iid")
Marks the ISync2RefChannel to be castable with the adtf::ucom::ant::ucom_cast.
virtual tTimeStamp Sync2RefTime(tTimeStamp tmInputTime)=0
Converts an input timestamp to the StreamTime of the framework's ReferenceClock by identifying the cl...
virtual tTimeStamp Sync2RefTime(tTimeStamp tmRefStreamTime, tTimeStamp tmInputTime)=0
Converts an input timestamp to the given StreamTime of the framework's ReferenceClock by identifying ...
Callback for listing of sync2ref methods.
virtual tResult HandleSync2RefFactory(ISync2RefChannelFactory &oFactory)=0
This will be called for each registered sync method.
The IReferenceClock interface provides the reference time source for the filter graph.
virtual tResult UnregisterSync2RefFactory(const adtf::ucom::ant::iobject_ptr< ISync2RefChannelFactory > &oSync2RefFactory)=0
Unregisters a Sync2Ref channel factory.
virtual tTimeStamp GetTime() const =0
Retrieves the current reference time.
virtual tResult GetStreamClock(adtf::base::ant::IString &&strName) const =0
Retrieves the name of the current stream clock.
virtual tResult UnregisterClock(const adtf::ucom::ant::iobject_ptr< IClock > &pClock)=0
Unregisters a clock.
virtual tResult SetMainClock(const char *strName)=0
This will change the main clock to the given clock.
virtual tResult RegisterClock(const adtf::ucom::ant::iobject_ptr< IClock > &pClock)=0
Registers a new clock.
virtual tResult GetClock(const char *strName, adtf::ucom::ant::iobject_ptr< IClock > &pClock) const =0
Find a clock.
static const int ADTF_MAX_CLOCK_NAME_LENGTH
The maximum length of clock names, due to length restrictions when storing names in the clock extensi...
virtual tResult GetSync2RefChannel(adtf::ucom::ant::iobject_ptr< ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr, const char *strMethod=nullptr) const =0
Returns a new instance of a Sync2Ref Channel implementation.
virtual tResult RegisterSync2RefFactory(const adtf::ucom::ant::iobject_ptr< ISync2RefChannelFactory > &oSync2RefFactory)=0
Registers a new Sync2Ref channel factory.
~IReferenceClock()=default
not destructable
virtual tResult GetMainClock(adtf::base::ant::IString &&strName) const =0
Retrieves the name of the current main clock.
virtual tResult ListSync2RefMethods(ISync2RefListCallback &oCallback)=0
Lists all available Sync2Ref methods.
virtual tResult GetClocks(IClockListCallback &oCallback) const =0
Lists all available clocks.
virtual tTimeStamp GetStreamTime() const =0
Retrieves the stream time which is reset at the start of the stream.
tReferenceClockEventId
Event Id enumeration for the tReferenceClockEvent::nEventId.
@ EVENT_TimeResetEnd
Event describes the Time reset after a new time was set.
@ EVENT_TimeResetBegin
Event describes the Time reset before setting a new time.
@ EVENT_TimeUpdate
Event describes that the time has been updated, only emitted by non-continuous clocks.
ADTF_IID(IReferenceClock, "reference_clock.ant.streaming.adtf.iid")
Marks the IReferenceClock to be castable with the adtf::ucom::ant::ucom_cast.
virtual tResult SetStreamClock(const char *strName)=0
Sets the clock of which the time is returned by adtf::services::ant::IReferenceClock::GetStreamTime.
ADTF_IID(IClock, "clock.reference_clock.flash.streaming.adtf.iid")
Marks the IClock to be castable with the adtf::ucom::ant::ucom_cast.
virtual base::flash::tNanoSeconds GetTimeNs() const =0
Returns the current time of the clock in nanoseconds.
Interface for synchronizing external timestamps to stream time.
ADTF_IID(ISync2RefChannel, "sync2ref_channel.reference_clock.flash.streaming.adtf.iid")
Marks the ISync2RefChannel to be castable with the adtf::ucom::ant::ucom_cast.
The IReferenceClock interface provides the reference time source for the filter graph.
~IReferenceClock()=default
not destructable
ADTF_IID(IReferenceClock, "reference_clock.flash.streaming.adtf.iid")
Marks the IReferenceClock to be castable with the adtf::ucom::ant::ucom_cast.
Interface for synchronizing external timestamps to stream time.
virtual void SyncReset()=0
Manually reset internal data (offset and drift).
ADTF_IID(ISync2RefChannel, "sync2ref_channel.reference_clock.giant.streaming.adtf.iid")
Marks the ISync2RefChannel to be castable with the adtf::ucom::ant::ucom_cast.
The IReferenceClock interface provides the reference time source for the filter graph.
ADTF_IID(IReferenceClock, "reference_clock.giant.streaming.adtf.iid")
Marks the IReferenceClock to be castable with the adtf::ucom::ant::ucom_cast.
~IReferenceClock()=default
not destructable
Use this to mark certain clocks as clocks that return timestamps from the system clock.
virtual bool IsSystemClock() const =0
The IReferenceClock interface provides the reference time source for the filter graph.
ADTF_IID(IReferenceClock, "reference_clock.osborn.streaming.adtf.iid")
Marks the IReferenceClock to be castable with the adtf::ucom::ant::ucom_cast.
virtual tResult ConvertStreamTime(adtf::base::flash::tNanoSeconds tmStreamTime, adtf::base::ant::IString &&strStringRepresentation) const =0
Converts an absolute timestamp into a textual representation based on the settings of the clock servi...
virtual tResult GetSync2RefChannel(bool bSystemClockTimestamps, adtf::ucom::ant::iobject_ptr< giant::IReferenceClock::ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr) const =0
Returns a new instance of a Sync2Ref Channel implementation.
~IReferenceClock()=default
not destructable
virtual tResult ConvertTimeOffset(adtf::base::flash::tNanoSeconds tmOffset, adtf::base::ant::IString &&strStringRepresentation) const =0
Converts a relative timestamp into a textual representation based on the settings of the clock servic...
virtual tResult ConvertStreamTime(const char *strStringRepresentation, adtf::base::flash::tNanoSeconds &tmStreamTime) const =0
Converts a textual timestamp into an absolute numeric timestamp based on the settings of the clock se...
virtual tResult ConvertTimeOffset(const char *strStringRepresentation, adtf::base::flash::tNanoSeconds &tmOffset) const =0
Converts a textual timestamp into a relative numeric timestamp based on the settings of the clock ser...
Interface for clock based waiting and monitoring.
virtual tResult GetTimeGuard(const char *strName, ucom::ant::iobject_ptr< ITimeGuard > &pGuard)=0
Get a new time guard object.
Interface for communicating instants of time to the clock.
virtual bool IsBroken(tTimePointId eTimePointId) const =0
virtual tResult WaitUntilBegin() const =0
Waits until the time has reached or passed the beginning of the barrier.
tTimePointId
The two time points of a barrier.
@ Begin
The begin time point.
virtual adtf::base::flash::tNanoSeconds GetTimePoint(tTimePointId eTimePointId) const =0
Interface for time manipulation and monitoring.
virtual void Cancel()=0
Cancels all ongoing and future ITimeBarrier::WaitUntilBegin() calls.
virtual tResult CreateBarrier(base::flash::tNanoSeconds tmBegin, base::flash::tNanoSeconds tmEnd, ucom::ant::iobject_ptr< ITimeBarrier > &pBarrier)=0
Creates a new time barrier at tmTimePoint.
The IReferenceClock interface provides the reference time source for the filter graph.
ADTF_IID(IReferenceClock, "reference_clock.penguin.streaming.adtf.iid")
Marks the IReferenceClock to be castable with the adtf::ucom::ant::ucom_cast.
virtual tResult GetTimeGuard(const char *strName, ucom::ant::iobject_ptr< ITimeGuard > &pGuard)=0
Get a new time guard object from the current ADTF Stream Time clock.
~IReferenceClock()=default
not destructable
The IReferenceClock interface provides the reference time source for the filter graph.
virtual tResult GetSync2RefChannel(tTimeBase eTimeBase, adtf::ucom::ant::iobject_ptr< IReferenceClock::ISync2RefChannel > &pSync2RefChannel, const char *strName=nullptr) const =0
Returns a new instance of a Sync2Ref Channel implementation.
tTimeBase
The time bases of a timestamp.
@ UNSPECIFIED
no timebase specified
@ POSIX_TAI
Posix TAI timebase.
@ POSIX_UTC
Posix UTC timebase.
~IReferenceClock()=default
not destructable
ADTF_IID(IReferenceClock, "reference_clock.riddler.streaming.adtf.iid")
Marks the IReferenceClock to be castable with the adtf::ucom::ant::ucom_cast.
Base class for every interface type within the uCOM.
Base object pointer to realize binary compatible reference counting in interface methods.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
A timestamp with nanosecond precision.
This structure describes the functionality for the adtf::ucom::ant::IEventSource Communication Expans...
tHandle hObject
sender of the event
tTimeStamp nOldTime
The old time before set new time.
tTimeStamp nNewTime
The new time set.
int nEventId
EventId shown in IReferenceClock::tReferenceClockEventId.
This structure describes the functionality for the adtf::ucom::ant::IEventSource Communication Expans...
adtf::base::flash::tNanoSeconds nOldTimeNs
The old time before set new time.
adtf::base::flash::tNanoSeconds nNewTimeNs
The new time set.