ADTF
Loading...
Searching...
No Matches
adtf::mediadescription::decoding_sample_reader< ReaderImplementation > Class Template Reference

#include <codec_sample_streamer.h>

Inherits adtf::streaming::flash::sample_reader< ant::cDynamicSampleReaderQueue >, and adtf::mediadescription::osborn::cSampleCodecFactory.

Public Member Functions

 decoding_sample_reader ()
 
tResult SetType (const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pStreamType) override
 
void SetAcceptTypeCallback (const std::function< tResult(const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pStreamType)> &fnAcceptTypeCallback)
 
bool GetNextDecoder (cSampleDecoder &oDecoder)
 
bool GetNextDecoder (cSampleDecoder &oDecoder, base::flash::tNanoSeconds &tmSampleTime)
 
bool GetLastDecoder (cSampleDecoder &oDecoder)
 
bool GetLastDecoder (cSampleDecoder &oDecoder, base::flash::tNanoSeconds &tmSampleTime)
 
- Public Member Functions inherited from adtf::streaming::flash::cSampleReader
 cSampleReader (ant::ISampleReaderQueue &oQueue, ant::ISampleStreamAccess::tMode eAccessMode, bool bStoreLastSample)
 
void SetName (const char *strName) override
 
tResult GetName (base::ant::IString &&strName) override
 
tResult GetType (ucom::ant::iobject_ptr< const ant::IStreamType > &pStreamType) const override
 
tResult BeginStreaming (ISampleStream &oSampleStream) override
 
tResult EndStreaming () override
 
tResult SetStreamerPin (const ucom::ant::iobject_ptr< IStreamerPin > &pStreamerPin) override
 
void SetAcceptTypeCallback (const std::function< tResult(const ucom::ant::iobject_ptr< const ant::IStreamType > &pStreamType)> &fnAcceptTypeCallback)
 Sets a callback function which is called while a Stream Type is received.
 
void SetStreamErrorCallback (const std::function< tResult(tResult oStreamError)> &fnStreamErrorCallback)
 A callback function to react on stream errors.
 
tResult SetStreamError (tResult oError) override
 
tResult GetLastType (ucom::ant::iobject_ptr< const ant::IStreamType > &pType) override
 
tResult GetNextSample (ucom::ant::iobject_ptr< const ant::ISample > &pSample) override
 
tResult GetLastSample (ucom::ant::iobject_ptr< const ant::ISample > &pSample) override
 
void Reset ()
 
tResult ReadAllAvailableItems () override
 
tResult RequestSamples (ucom::ant::iobject_ptr< hollow::IStreamingRequest > &pRequest, uint32_t nSubStreamId, const base::ant::IProperties *pRequestProperties=nullptr)
 
void SetSynchronousTypeUpdateCallback (const std::function< tResult(const ucom::ant::iobject_ptr< const ant::IStreamType > &pStreamType)> &fnRequestTypeUpdateCallback)
 
- Public Member Functions inherited from adtf::mediadescription::osborn::cSampleCodecFactory
 cSampleCodecFactory ()
 
 cSampleCodecFactory (const char *strStructName, const char *strMediaDescription, ddl::tDataRepresentation eDefaultDataRepresentation=ddl::tDataRepresentation::Deserialized)
 
 cSampleCodecFactory (const ddl::dd::StructType &oStruct, const ddl::dd::DataDefinition &oParentDD, ddl::tDataRepresentation eDefaultDataRepresentation=ddl::tDataRepresentation::Deserialized)
 
 cSampleCodecFactory (const std::pair< std::string, std::string > &oMDDescription, ddl::tDataRepresentation eDefaultDataRepresentation=ddl::tDataRepresentation::Deserialized)
 Construct a new c Sample Codec Factory.
 
 cSampleCodecFactory (const ddl::DDStructure &oTypeDefinition, ddl::tDataRepresentation eDefaultDataRepresentation=ddl::tDataRepresentation::Deserialized)
 Construct a new c Sample Codec Factory.
 
 cSampleCodecFactory (const streaming::ant::IStreamType &oStreamType)
 Construct a new c Sample Codec Factory.
 
 cSampleCodecFactory (const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pStreamType)
 Construct a new c Sample Codec Factory.
 
 cSampleCodecFactory (const cSampleCodecFactory &)
 
 cSampleCodecFactory (cSampleCodecFactory &&)
 
cSampleCodecFactoryoperator= (const cSampleCodecFactory &)
 
cSampleCodecFactoryoperator= (cSampleCodecFactory &&)
 
tResult IsValid () const
 
cStaticSampleDecoder MakeStaticDecoderFor (const adtf::streaming::ISample &oSample, ddl::tDataRepresentation eDataRepresentation) const
 
cStaticSampleCodec MakeStaticCodecFor (adtf::streaming::ISample &oSample, ddl::tDataRepresentation eDataRepresentation) const
 
cSampleDecoder MakeDecoderFor (const adtf::streaming::ISample &oSample, ddl::tDataRepresentation eDataRepresentation) const
 
cSampleCodec MakeCodecFor (adtf::streaming::ISample &oSample, ddl::tDataRepresentation eDataRepresentation) const
 
tElement GetElement (const tCodecIndex &oCodecIndex) const
 
tElement GetElement (std::string_view strElementFullName) const
 
tElement GetChildElement (const tCodecIndex &oCodecIndex, std::string_view strElementPath)
 
const tElementsGetElements () const
 
size_t GetElementChildCount (const tCodecIndex &oCodecIndex) const
 
std::string GetElementFullName (const tCodecIndex &oCodecIndex) const
 Retrieves the full name of the element within its main structure.
 
std::string GetElementName (const tCodecIndex &oCodecIndex) const
 Retrieves the name of the element within its structured element.
 
const std::string & GetElementBaseName (const tCodecIndex &oCodecIndex) const
 Retrieves the base name of the element within its structured element.
 
size_t GetStaticBufferSize (ddl::tDataRepresentation eRep=ddl::tDataRepresentation::Deserialized) const
 Gets the static buffer size in bytes for the structure.
 
ddl::tDataRepresentation GetDefaultDataRepresentation () const
 
cStaticSampleDecoder MakeStaticDecoderFor (const adtf::ucom::iobject_ptr< const adtf::streaming::ISample > &pSample, ddl::tDataRepresentation eDataRepresentation) const
 
cSampleDecoder MakeDecoderFor (const adtf::ucom::iobject_ptr< const adtf::streaming::ISample > &pSample, ddl::tDataRepresentation eDataRepresentation) const
 
cStaticSampleCodec MakeStaticCodecFor (const adtf::ucom::iobject_ptr< adtf::streaming::ISample > &pSample, ddl::tDataRepresentation eDataRepresentation) const
 
cSampleCodec MakeCodecFor (const adtf::ucom::iobject_ptr< adtf::streaming::ISample > &pSample, ddl::tDataRepresentation eDataRepresentation) const
 
cStaticSampleDecoder MakeStaticDecoderFor (const adtf::ucom::iobject_ptr< const adtf::streaming::ISample > &pSample) const
 
cSampleDecoder MakeDecoderFor (const adtf::ucom::iobject_ptr< const adtf::streaming::ISample > &pSample) const
 
cStaticSampleCodec MakeStaticCodecFor (const adtf::ucom::iobject_ptr< adtf::streaming::ISample > &pSample) const
 
cSampleCodec MakeCodecFor (const adtf::ucom::iobject_ptr< adtf::streaming::ISample > &pSample) const
 
cStaticSampleDecoder MakeStaticDecoderFor (const adtf::streaming::ISample &oSample) const
 
cSampleDecoder MakeDecoderFor (const adtf::streaming::ISample &oSample) const
 
cStaticSampleCodec MakeStaticCodecFor (adtf::streaming::ISample &oSample) const
 
cSampleCodec MakeCodecFor (adtf::streaming::ISample &oSample) const
 
void Resolve (tCodecIndex &oCodecIndex) const
 
tCodecIndex Resolve (tCodecLeafIndex nElementLeafIndex) const
 
- Public Member Functions inherited from adtf::mediadescription::osborn::adtf_ddl_access::cCodecFactoryLegacy
tCodecIndex Resolve (tCodecLeafIndex nElementLeafIndex) const
 
size_t GetStaticElementCount () const
 Legacy: Gets the leaf count.
 
tResult GetStaticElement (tCodecLeafIndex nElementLeafIndex, const ddl::StructElement *&pElement) const
 
tCodecLeafIndex FindIndex (const char *strElementName) const
 Legacy: Retrieves the leaf index of the first element in the given element path.
 
tCodecLeafIndex FindArrayIndex (const char *strArrayName) const
 Legacy: Retrieves the leaf index of the first element in the given element path.
 
tCodecLeafIndex FindStructIndex (const char *strStructName) const
 Legacy: Retrieves the leaf index of the first element in the given element path.
 

Additional Inherited Members

- Public Types inherited from adtf::mediadescription::osborn::cSampleCodecFactory
typedef ddl::codec::FactoryElement< sample_codec_factory_access< const cSampleCodecFactory > > tElement
 
typedef ddl::codec::ChildElements< sample_codec_factory_access< const cSampleCodecFactory > > tElements
 
- Public Types inherited from adtf::mediadescription::osborn::adtf_ddl_access::cCodecFactoryLegacy
typedef ddl::StructElement DefinedStructElementType
 type definition for the old access_element API.
 
- Static Public Member Functions inherited from adtf::mediadescription::osborn::adtf_ddl_access::cCodecFactoryLegacy
static const char * GetStaticStructElementName (const ddl::StructElement *pElement)
 
- Protected Attributes inherited from adtf::streaming::flash::sample_reader< ant::cDynamicSampleReaderQueue >
ant::cDynamicSampleReaderQueue m_oQueue
 
ant::cDynamicSampleReaderQueue m_oQueue
 
ant::cDynamicSampleReaderQueue m_oQueue
 
ant::cDynamicSampleReaderQueue m_oQueue
 
- Protected Attributes inherited from adtf::streaming::flash::cSampleReader
std::unique_ptr< cImplementation > m_pImplementation
 

Detailed Description

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
class adtf::mediadescription::decoding_sample_reader< ReaderImplementation >

This reader uses the media description to decode sample data

Just use it instead of the usual adtf::streaming::flash::cDynamicSampleReader implementation.

Constructor & Destructor Documentation

◆ decoding_sample_reader()

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
adtf::mediadescription::osborn::decoding_sample_reader< ReaderImplementation >::decoding_sample_reader ( )
inline

Default Constructor

Member Function Documentation

◆ GetLastDecoder() [1/2]

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
bool adtf::mediadescription::osborn::decoding_sample_reader< ReaderImplementation >::GetLastDecoder ( cSampleDecoder & oDecoder)
inline

Returns a decoder for the last Sample currently available.

Parameters
[out]oDecoderThis will be updated to decode the last sample.
Return values
trueA sample was available and the oDecoder instance has been updated.
falseNo sample was available.

◆ GetLastDecoder() [2/2]

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
bool adtf::mediadescription::osborn::decoding_sample_reader< ReaderImplementation >::GetLastDecoder ( cSampleDecoder & oDecoder,
base::flash::tNanoSeconds & tmSampleTime )
inline

Returns a decoder for the last Sample currently available.

Parameters
[out]oDecoderThis will be updated to decode the last sample.
[out]tmSampleTimeTheis will be updated to the Sample timestamp
Return values
trueA sample was available and the oDecoder instance has been updated.
falseNo sample was available.

◆ GetNextDecoder() [1/2]

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
bool adtf::mediadescription::osborn::decoding_sample_reader< ReaderImplementation >::GetNextDecoder ( cSampleDecoder & oDecoder)
inline

Returns a decoder for the next available Sample.

Parameters
[out]oDecoderThis will be updated to decode the next sample.
Return values
trueA sample was available and the oDecoder instance has been updated.
falseNo sample was available.

◆ GetNextDecoder() [2/2]

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
bool adtf::mediadescription::osborn::decoding_sample_reader< ReaderImplementation >::GetNextDecoder ( cSampleDecoder & oDecoder,
base::flash::tNanoSeconds & tmSampleTime )
inline

Returns a decoder for the next available Sample.

Parameters
[out]oDecoderThis will be updated to decode the next Sample.
[out]tmSampleTimeTheis will be updated to the Sample timestamp
Return values
trueA sample was available and the oDecoder instance has been updated.
falseNo sample was available.

◆ SetAcceptTypeCallback()

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
void adtf::mediadescription::osborn::decoding_sample_reader< ReaderImplementation >::SetAcceptTypeCallback ( const std::function< tResult(const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pStreamType)> & fnAcceptTypeCallback)
inline

Sets a callback that will be called for each new Stream Type.

Parameters
[in]fnAcceptTypeCallbackThe callback. If you do not accept the new Stream Type return an error from this. The reader will discard samples until you accept a Stream Type.

◆ SetType()

template<typename ReaderImplementation = streaming::flash::cDynamicSampleReader>
tResult adtf::mediadescription::osborn::decoding_sample_reader< ReaderImplementation >::SetType ( const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > & pStreamType)
inlineoverridevirtual

Sets the initial stream type of a streamer.

Parameters
[in]pStreamTypeThe stream type
Returns
Standard result.

Reimplemented from adtf::streaming::flash::cSampleReader.


The documentation for this class was generated from the following file: