25 #define CID_ADTF_SAMPLE_POOL "sample_pool.service.adtf.cid"
118 size_t szPreAllocateSize) = 0;
186 uint32_t ui32Flags=0) = 0;
280 static_assert(std::is_trivially_copyable<T>::value,
"The data type needs to be trivially copyable.");
337 uint32_t ui32Flags=0) = 0;
Copyright © Audi Electronics Venture GmbH.
tInt64 tTimeStamp
type definition for a time value.
#define RETURN_IF_FAILED(s)
Return if expression is failed, which requires the calling function's return type to be tResult.
Copyright © Audi Electronics Venture GmbH.
A common result class usable as return value throughout.
Template class implementation for the ant::IRawMemory interface (see Supported types for adtf_memory<...
The ISample interface sets and retrieves properties on samples .
virtual tTimeStamp GetTime() const =0
Retrieves the SampleTimeS (of StreamTime) of this sample.
virtual tResult SetTime(tTimeStamp tmTimeStamp)=0
Sets the SampleTimeStamp (of StreamTime).
virtual tResult Set(tTimeStamp tmTimeStamp, const void *pData, size_t szSize, uint32_t ui32Flags=0)=0
Sets the internal sample data and timestamp.
virtual tResult WriteLock(ucom::ant::iobject_ptr_locked< ISampleBuffer > &pSampleBuffer, size_t szPreAllocateSize)=0
Obtains a valid reference to the sample buffer for writing access.
virtual tResult SetFlags(uint32_t ui32Flags)=0
Specify sample flags.
virtual uint32_t GetFlags() const =0
Query sample flags.
eFlags
serval flags are defined All undefined bits are reserved for future and internal use.
@ SF_SyncPoint
Determines if the sample marks a synchronization point.
@ SF_VideoKeyFrame
This flag marks key frames in video streams.
@ SF_AbsoluteTime
This flag has no effect and is only remaining due to code and binary compatibility purpose!
@ SF_DataFromADTF1
If old ADTF V1.x data is stored, this flag will be set.
@ SF_SampleInfoPresent
This flag marks the sample has the SampleInfo present.
@ SF_SampleLogPresent
This flag marks the sample supports the ISampleLog interface and a trace is present from Deserializat...
@ SF_None
No flags are set.
@ SF_SampleLogEnabled
This flag marks that sample supports ISampleLog interface and it is enabled.
@ SF_AllowBufferSharing
mark that the buffer of this sample can be shared
virtual tResult Reset()=0
Resets the whole sample content.
ADTF_IID(ISample, "sample.ant.streaming.adtf.iid")
definition of interface id
virtual tResult GetSampleLog(ucom::ant::iobject_ptr< ISampleLog > &oSampleLog) const =0
Gets the ISampleLog of the sample.
virtual tResult Set(const ISample &oSample)=0
Deep copy the given sample (source) to this sample (destination).
virtual tResult Lock(ucom::ant::iobject_ptr_shared_locked< const ISampleBuffer > &oSampleBuffer) const =0
Obtains a valid read-only reference to the sample buffer.
virtual tResult GetSampleInfo(ucom::ant::iobject_ptr< const ISampleInfo > &oSampleInfo) const =0
Gets the ISampleInfo of the sample.
virtual tResult Get(ISample &oSample) const =0
Deep copy this sample (source) to the given sample (destination).
virtual tResult GetSampleInfo(ucom::ant::iobject_ptr< ISampleInfo > &oSampleInfo)=0
Gets the ISampleInfo of the sample.
~ISample()=default
not destructable
virtual tResult GetSampleBufferFactory(ucom::ant::iobject_ptr< ISampleBufferFactory > &oFactory) const =0
Gets the SampleBufferFactory the Sample will ask for SampleBuffer to allocate.
The ISample interface sets and retrieves properties on samples .
ADTF_IID(ISample, "sample.flash.streaming.adtf.iid")
definition of interface id
virtual tResult Set(base::flash::tNanoSeconds tmTimeStamp, const void *pData, size_t szSize, uint32_t ui32Flags=0)=0
Sets the internal sample data and timestamp.
virtual tResult SetTime(base::flash::tNanoSeconds tmTimeStamp)=0
Sets the SampleTimeStamp (of StreamTime).
virtual base::flash::tNanoSeconds GetTimeNs() const =0
Retrieves the SampleTimeS (of StreamTime) of this sample.
~ISample()=default
not destructable
The ISample interface sets and retrieves properties on samples .
ADTF_IID(ISample, "sample.hollow.streaming.adtf.iid")
definition of interface id
virtual uint32_t GetSubStreamId() const =0
~ISample()=default
not destructable
virtual void SetSubStreamId(uint32_t nSubStreamId)=0
Sets the id of the stream that the sample belongs to.
Base class for every interface type within the uCOM.
Interfaces for a guarded exclusive lock.
Interfaces for a guarded shared lock.
Base object pointer to realize binary compatible reference counting in interface methods.
Implementation for a exclusive lock guard.
Implementation for a shared lock guard.
tResult write_to_sample(ISample &oSample, const T &oValue)
Helper to write the value oValue to the sample oSample.
tResult read_from_sample(const ISample &oSample, T &oValue)
Helper to read the value oValue from the sample oSample.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
A timestamp with nanosecond precision.