The ISample interface sets and retrieves properties on samples . More...
#include <sample_intf.h>
Public Member Functions | |
ADTF_IID (ISample, "sample.flash.streaming.adtf.iid") | |
definition of interface id | |
virtual base::flash::tNanoSeconds | GetTimeNs () const =0 |
Retrieves the sample timestamp (of stream time) of this sample. | |
virtual tResult | SetTime (base::flash::tNanoSeconds tmTimeStamp)=0 |
Sets the sample timestamp (of stream time). | |
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 (tTimeStamp tmTimeStamp)=0 |
Sets the sample timestamp (of stream time). | |
virtual tResult | Set (const ISample &oSample)=0 |
Deep copy the given sample (source) to this sample (destination). | |
virtual tResult | Set (tTimeStamp tmTimeStamp, const void *pData, size_t szSize, uint32_t ui32Flags=0)=0 |
Sets the internal sample data and timestamp. | |
![]() | |
ADTF_IID (ISample, "sample.ant.streaming.adtf.iid") | |
definition of interface id | |
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 | 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 | Set (const ISample &oSample)=0 |
Deep copy the given sample (source) to this sample (destination). | |
virtual tResult | Get (ISample &oSample) const =0 |
Deep copy this sample (source) to the given sample (destination). | |
virtual tResult | Reset ()=0 |
Resets the whole sample content. | |
virtual uint32_t | GetFlags () const =0 |
Query sample flags. | |
virtual tResult | SetFlags (uint32_t ui32Flags)=0 |
Specify sample flags. | |
virtual tResult | GetSampleBufferFactory (ucom::ant::iobject_ptr< ISampleBufferFactory > &oFactory) const =0 |
Gets the SampleBufferFactory the Sample will ask for SampleBuffer to allocate. | |
virtual tResult | GetSampleInfo (ucom::ant::iobject_ptr< const ISampleInfo > &oSampleInfo) const =0 |
Gets the ISampleInfo of the sample. | |
virtual tResult | GetSampleInfo (ucom::ant::iobject_ptr< ISampleInfo > &oSampleInfo)=0 |
Gets the ISampleInfo of the sample. | |
virtual tResult | GetSampleLog (ucom::ant::iobject_ptr< ISampleLog > &oSampleLog) const =0 |
Gets the ISampleLog of the sample. | |
virtual tTimeStamp | GetTime () const =0 |
Retrieves the sample timestamp (of stream time) of this sample. | |
![]() | |
ADTF_IID (IObject, "object.ant.ucom.adtf.iid") | |
Marks the IObject to be castable with the ucom_cast() | |
Protected Member Functions | |
~ISample ()=default | |
not destructable | |
![]() | |
~ISample ()=default | |
not destructable | |
![]() | |
~IObject ()=default | |
Protected destructor --> Only the final implementation can be destroyed! | |
Additional Inherited Members | |
![]() | |
enum | eFlags : uint32_t { SF_None = 0x0 , SF_SyncPoint = 0x2 , SF_AbsoluteTime = 0x4 , SF_DataFromADTF1 = 0x8 , SF_VideoKeyFrame = 0x10 , SF_SampleLogEnabled = 0x40 , SF_SampleLogPresent = 0x80 , SF_SampleInfoPresent = 0x100 , SF_AllowBufferSharing = 0x400 } |
serval flags are defined All undefined bits are reserved for future and internal use. More... | |
The ISample interface sets and retrieves properties on samples .
For information on realtime safety please have a look at the documentation of the default implementation cSample.
Definition at line 299 of file sample_intf.h.
|
pure virtual |
Retrieves the sample timestamp (of stream time) of this sample.
|
pure virtual |
Sets the internal sample data and timestamp.
The method sets the internal data structures to new values. This is mainly used to deliver buffered sample data using preallocated sample objects.
tmTimeStamp | [in] SampleTimestamp of (should be stream time). |
pData | [in] Pointer to the sample data which will be copied to it buffer. |
szSize | [in] Size of sample data, in bytes. |
ui32Flags | [in] Specifies the sample flags XORed. |
ERR_ACCESS_DENIED | ISample::eFlags::SF_ReadOnly is set. |
ERR_NOERROR | everything is OK |
pData
must not be a C++ object, use only raw memory, pointer to plain data types or plain old c-style structure definitions. Deep copy the given sample (source) to this sample (destination).
[in] | oSample | Source sample. |
ERR_ACCESS_DENIED | sample is marked as readonly (see ISample::eFlags::SF_ReadOnly) |
|
virtual |
Sets the internal sample data and timestamp.
The method sets the internal data structures to new values. This is mainly used to deliver buffered sample data using preallocated sample objects.
tmTimeStamp | [in] SampleTimestamp of (should be stream time). |
pData | [in] Pointer to the sample data which will be copied to it buffer. |
szSize | [in] Size of sample data, in bytes. |
ui32Flags | [in] Specifies the sample flags XORed. |
ERR_ACCESS_DENIED | ISample::eFlags::SF_ReadOnly is set. |
ERR_NOERROR | everything is OK |
pData
must not be a C++ object, use only raw memory, pointer to plain data types or plain old c-style structure definitions. Implements ISample.
|
pure virtual |
Sets the sample timestamp (of stream time).
[in] | tmTimeStamp | given timestamp (see also Clock Concept for further information on times and stream time) |
ERR_ACCESS_DENIED | ISample::eFlags::SF_ReadOnly is set |
ERR_NOERROR | Time set |
|
virtual |
Sets the sample timestamp (of stream time).
[in] | tmTimeStamp | given timestamp (see also Clock Concept for further information on times and stream time) |
ERR_ACCESS_DENIED | ISample::eFlags::SF_ReadOnly is set |
ERR_NOERROR | Time set |
Implements ISample.