26#define CID_ADTF_SAMPLE_POOL "sample_pool.service.adtf.cid"
119 size_t szPreAllocateSize) = 0;
185 ADTF3_DEPRECATED(
"Use adtf::streaming::flash::ISample::Set(adtf::base::flash::tNanoSeconds tmTimeStamp, const void* pData, size_t szSize, uint32_t ui32Flags=0) instead.")
189 uint32_t ui32Flags=0) = 0;
228 ADTF3_DEPRECATED(
"Use adtf::streaming::flash::ISample::GetTimeNs() instead.")
242 ADTF3_DEPRECATED(
"Use adtf::streaming::flash::ISample::SetTime(adtf::base::flash::tNanoSeconds tmTimeStamp) instead.")
285 static_assert(std::is_trivially_copyable<T>::value,
"The data type needs to be trivially copyable.");
359 uint32_t ui32Flags=0) = 0;
Copyright © Audi Electronics Venture GmbH.
#define ADTF3_DEPRECATED(_depr_message_)
Mark a function or variable as deprecated.
Copyright © Audi Electronics Venture GmbH.
tInt64 tTimeStamp
type definition for a time value.
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
#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.
Template class implementation for the IRawMemory interface (see Supported types for adtf_memory<T> fo...
The SampleBuffer factory manages and can create SampleBuffers.
The ISample interface sets and retrieves properties on samples .
virtual tTimeStamp GetTime() const =0
Retrieves the sample timestamp (of stream time) of this sample.
virtual tResult SetTime(tTimeStamp tmTimeStamp)=0
Sets the sample timestamp (of stream time).
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).
~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.
Interface for additional sample information on a Additional Sample Information.
The ISampleLog interface defines an interface to trace and store Sample data- and timing flow.
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 sample timestamp (of stream time).
virtual base::flash::tNanoSeconds GetTimeNs() const =0
Retrieves the sample timestamp (of stream time) 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.
The ISample interface sets and retrieves properties on samples .
virtual tResult Set(const ant::ISample &oSample, size_t nOffset, size_t nSize)=0
Copies all meta data from a source sample and references a sub section of the source sample buffer.
ADTF_IID(ISample, "sample.thor.streaming.adtf.iid")
definition of interface id
~ISample()=default
not destructable
virtual tResult SetSampleBuffer(const ucom::ant::iobject_ptr< const ISampleBuffer > &pBuffer)=0
Attaches the given sample buffer to the sample.
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.
Namespace for all functionality of the ADTF Streaming SDK provided since v3.0.
tResult read_from_sample(const ISample &oSample, T &oValue)
Helper to read the value oValue from the sample oSample.
tResult write_to_sample(ISample &oSample, const T &oValue)
Helper to write the value oValue to the sample oSample.
Namespace for all functionality of the ADTF Streaming SDK provided since v3.7.
Namespace for all functionality of the ADTF Streaming SDK provided since v3.19.
Namespace for the ADTF Streaming SDK.
Namespace for the ADTF uCOM3 SDK.
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.