ADTF
ISampleabstract

The ISample interface sets and retrieves properties on samples . More...

Inheritance diagram for ISample:
[legend]

Public Member Functions

 ADTF_IID (ISample, "sample.thor.streaming.adtf.iid")
 definition of interface id
 
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. More...
 
virtual tResult SetSampleBuffer (const ucom::ant::iobject_ptr< const ISampleBuffer > &pBuffer)=0
 Attaches the given sample buffer to the sample. More...
 
- Public Member Functions inherited from ISample
 ADTF_IID (ISample, "sample.hollow.streaming.adtf.iid")
 definition of interface id
 
virtual uint32_t GetSubStreamId () const =0
 
virtual void SetSubStreamId (uint32_t nSubStreamId)=0
 Sets the id of the stream that the sample belongs to. More...
 
- Public Member Functions inherited from ISample
 ADTF_IID (ISample, "sample.flash.streaming.adtf.iid")
 definition of interface id
 
virtual base::flash::tNanoSeconds GetTimeNs () const =0
 Retrieves the SampleTimeS (of StreamTime) of this sample. More...
 
virtual tResult SetTime (base::flash::tNanoSeconds tmTimeStamp)=0
 Sets the SampleTimeStamp (of StreamTime). More...
 
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. More...
 
- Public Member Functions inherited from ISample
 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. More...
 
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. More...
 
virtual tResult Set (const ISample &oSample)=0
 Deep copy the given sample (source) to this sample (destination). More...
 
virtual tResult Get (ISample &oSample) const =0
 Deep copy this sample (source) to the given sample (destination). More...
 
virtual tResult Reset ()=0
 Resets the whole sample content. More...
 
virtual uint32_t GetFlags () const =0
 Query sample flags. More...
 
virtual tResult SetFlags (uint32_t ui32Flags)=0
 Specify sample flags. More...
 
virtual tResult Set (tTimeStamp tmTimeStamp, const void *pData, size_t szSize, uint32_t ui32Flags=0)=0
 Sets the internal sample data and timestamp. More...
 
virtual tResult GetSampleBufferFactory (ucom::ant::iobject_ptr< ISampleBufferFactory > &oFactory) const =0
 Gets the SampleBufferFactory the Sample will ask for SampleBuffer to allocate. More...
 
virtual tResult GetSampleInfo (ucom::ant::iobject_ptr< const ISampleInfo > &oSampleInfo) const =0
 Gets the ISampleInfo of the sample. More...
 
virtual tResult GetSampleInfo (ucom::ant::iobject_ptr< ISampleInfo > &oSampleInfo)=0
 Gets the ISampleInfo of the sample. More...
 
virtual tResult GetSampleLog (ucom::ant::iobject_ptr< ISampleLog > &oSampleLog) const =0
 Gets the ISampleLog of the sample.
 
virtual tTimeStamp GetTime () const =0
 Retrieves the SampleTimeS (of StreamTime) of this sample. More...
 
virtual tResult SetTime (tTimeStamp tmTimeStamp)=0
 Sets the SampleTimeStamp (of StreamTime). 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...
 

Protected Member Functions

 ~ISample ()=default
 not destructable
 
- Protected Member Functions inherited from ISample
 ~ISample ()=default
 not destructable
 
- Protected Member Functions inherited from ISample
 ~ISample ()=default
 not destructable
 
- Protected Member Functions inherited from ISample
 ~ISample ()=default
 not destructable
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Additional Inherited Members

- Public Types inherited from ISample
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...
 

Detailed Description

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 adtf::streaming::ant::cSample.

See also
Sample.

Definition at line 380 of file sample_intf.h.

Member Function Documentation

◆ Set()

virtual tResult Set ( const ant::ISample oSample,
size_t  nOffset,
size_t  nSize 
)
pure virtual

Copies all meta data from a source sample and references a sub section of the source sample buffer.

Parameters
[in]oSampleThe source sample.
[in]nOffsetThe offset within the sample buffer of the source.
[in]nSizeThe size of the sub section.
Returns
Standard result.

◆ SetSampleBuffer()

virtual tResult SetSampleBuffer ( const ucom::ant::iobject_ptr< const ISampleBuffer > &  pBuffer)
pure virtual

Attaches the given sample buffer to the sample.

Parameters
[in]pBufferThe sample buffer.
Returns
Standard result.