ADTF
|
The IReferenceClock interface provides the reference time source for the filter graph. More...
Classes | |
class | IClock |
Interface for clocks. More... | |
class | IClockListCallback |
Callback for listing of clocks. More... | |
class | ISync2RefChannel |
Interface for synchronizing external timestamps to stream time. More... | |
class | ISync2RefChannelFactory |
Interface for sync2ref class factories. More... | |
class | ISync2RefListCallback |
Callback for listing of sync2ref methods. More... | |
struct | tReferenceClockEvent |
This structure describes the functionality for the adtf::ucom::ant::IEventSource Communication Expansion. More... | |
Public Types | |
enum | tReferenceClockEventId { EVENT_TimeResetBegin = 0x0000 , EVENT_TimeResetEnd = 0x0001 , EVENT_TimeUpdate = 0x0004 } |
Event Id enumeration for the tReferenceClockEvent::nEventId. More... | |
Public Member Functions | |
ADTF_IID (IReferenceClock, "reference_clock.ant.streaming.adtf.iid") | |
Marks the IReferenceClock to be castable with the adtf::ucom::ant::ucom_cast. More... | |
virtual tTimeStamp | GetTime () const =0 |
Retrieves the current reference time. More... | |
virtual tTimeStamp | GetStreamTime () const =0 |
Retrieves the stream time which is reset at the start of the stream. More... | |
virtual tResult | RegisterClock (const adtf::ucom::ant::iobject_ptr< IClock > &pClock)=0 |
Registers a new clock. More... | |
virtual tResult | UnregisterClock (const adtf::ucom::ant::iobject_ptr< IClock > &pClock)=0 |
Unregisters a clock. More... | |
virtual tResult | GetClocks (IClockListCallback &oCallback) const =0 |
Lists all available clocks. More... | |
virtual tResult | GetClock (const char *strName, adtf::ucom::ant::iobject_ptr< IClock > &pClock) const =0 |
Find a clock. More... | |
virtual tResult | SetMainClock (const char *strName)=0 |
This will change the main clock to the given clock. More... | |
virtual tResult | GetMainClock (adtf::base::ant::IString &&strName) const =0 |
Retrieves the name of the current main clock. More... | |
virtual tResult | SetStreamClock (const char *strName)=0 |
Sets the clock of which the time is returned by adtf::services::ant::IReferenceClock::GetStreamTime. More... | |
virtual tResult | GetStreamClock (adtf::base::ant::IString &&strName) const =0 |
Retrieves the name of the current stream clock. More... | |
virtual tResult | RegisterSync2RefFactory (const adtf::ucom::ant::iobject_ptr< ISync2RefChannelFactory > &oSync2RefFactory)=0 |
Registers a new Sync2Ref channel factory. More... | |
virtual tResult | UnregisterSync2RefFactory (const adtf::ucom::ant::iobject_ptr< ISync2RefChannelFactory > &oSync2RefFactory)=0 |
Unregisters a Sync2Ref channel factory. More... | |
virtual tResult | ListSync2RefMethods (ISync2RefListCallback &oCallback)=0 |
Lists all available Sync2Ref methods. More... | |
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. More... | |
Public Member Functions inherited from IObject | |
ADTF_IID (IObject, "object.ant.ucom.adtf.iid") | |
Marks the IObject to be castable with the ucom_cast() More... | |
Static Public Attributes | |
static const int | ADTF_MAX_CLOCK_NAME_LENGTH = 256 |
The maximum length of clock names, due to length restrictions when storing names in the clock extension of DAT files. | |
Protected Member Functions | |
~IReferenceClock ()=default | |
not destructable | |
Protected Member Functions inherited from IObject | |
~IObject ()=default | |
Protected destructor --> Use implemented Destroy() instead of delete! | |
The IReferenceClock interface provides the reference time source for the filter graph.
See also Clock Concept for further information on timings within ADTF. Default implementation of provide service is reached by CID_ADTF_REFERENCE_CLOCK.
Definition at line 32 of file reference_clock_intf.h.
Event Id enumeration for the tReferenceClockEvent::nEventId.
Definition at line 58 of file reference_clock_intf.h.
ADTF_IID | ( | IReferenceClock | , |
"reference_clock.ant.streaming.adtf.iid" | |||
) |
Marks the IReferenceClock
to be castable with the adtf::ucom::ant::ucom_cast.
|
pure virtual |
Find a clock.
[in] | strName | The name of the clock. |
[out] | pClock | The pointer to the clock interface. |
ERR_NOT_FOUND | There is no such clock registered. |
|
pure virtual |
Lists all available clocks.
[in] | oCallback | The callback that will be called for each clock. |
|
pure virtual |
Retrieves the name of the current main clock.
|
pure virtual |
Retrieves the name of the current stream clock.
|
pure virtual |
Retrieves the stream time which is reset at the start of the stream.
|
pure virtual |
Returns a new instance of a Sync2Ref Channel implementation.
[out] | pSync2RefChannel | The pointer to the new instance. |
[in] | strName | An optional name of the channel (for logging purposes, need not be unique) |
[in] | strMethod | If given this method will be used, otherwise the set default. |
ERR_NOT_FOUND | There is no such Sync2Ref method available |
|
pure virtual |
Retrieves the current reference time.
The GetTime method retrieves the current reference time.
|
pure virtual |
Lists all available Sync2Ref methods.
[in] | oCallback | The callback that will be called for each registered clock. |
|
pure virtual |
Registers a new clock.
[in] | pClock | The new clock. |
ERR_RESSOURCE_IN_USE | There is already a clock registered with the same name. |
ERR_INVALID_ARG | The name of the clock is too long. |
|
pure virtual |
Registers a new Sync2Ref channel factory.
[in] | oSync2RefFactory | The new factory. |
ERR_RESOURCE_IN_USE | There is already a factory with the same name registered. |
|
pure virtual |
This will change the main clock to the given clock.
This is a severe modification of the ADTF framework, change this only if you know what you are doing! For implementational reasons this is only allowed during runlevel adtf::base::ant::tADTFRunLevel "RL_System". To do so you have to create your own clock service and register it in runlevel adtf::base::ant::tADTFRunLevel "RL_System".
[in] | strName | The name of the clock. |
ERR_NOT_FOUND | There is no such clock registered. |
|
pure virtual |
Sets the clock of which the time is returned by adtf::services::ant::IReferenceClock::GetStreamTime.
Changing this is not allowed during runlevel RL_Running.
[in] | strName | The name of the clock. |
ERR_NOT_FOUND | There is no such clock registered. |
|
pure virtual |
Unregisters a clock.
[in] | pClock | The clock. |
ERR_NOT_FOUND | The given clock is not registered. |
|
pure virtual |
Unregisters a Sync2Ref channel factory.
[in] | oSync2RefFactory | The factory to unregister. |
ERR_NOT_FOUND | Factory was not registered with the reference clock. |