ADTF
Loading...
Searching...
No Matches
configurable_streamers.h File Reference
Include dependency graph for configurable_streamers.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  adtf
 Namespace for all functionality provided by ADTF and its SDKs.
 
namespace  adtf::filter
 Namespace for the ADTF Filter SDK.
 

Typedefs

template<typename BaseReader = streaming::flash::cDynamicSampleReader>
using adtf::filter::wolverine::configurable_reader = detail::configurable_streamer<BaseReader>
 
template<typename BaseWriter = streaming::flash::cSampleWriter>
using adtf::filter::wolverine::configurable_writer = detail::configurable_streamer<BaseWriter>
 
template<typename BaseReader = streaming::flash::cDynamicSampleReader>
using adtf::filter::configurable_reader
 
template<typename BaseWriter = streaming::flash::cSampleWriter>
using adtf::filter::configurable_writer
 

Detailed Description

Copyright © Audi Electronics Venture GmbH. All rights reserved

Typedef Documentation

◆ configurable_reader

template<typename BaseReader = streaming::flash::cDynamicSampleReader>
using adtf::filter::wolverine::configurable_reader = detail::configurable_streamer<BaseReader>

Template to access pin properties via a reader. Use it as a template parameter for cGraphObject::CreateInputPin()

Note
Pin property values are only available during and after calls to cFilter::Init(StageGraphReady) and cSampleStreamingSink::Init()/cSampleStreamingSource::Init() respectively.

Example Usage

class cMyFilter: public adtf::filter::cFilter
{
public:
ADTF_CLASS_ID_NAME(cMyFilter, "my_filter.filter.example.cid", "My Filter");
cMyFilter()
{
m_pReader = CreateInputPin<adtf::filter::configurable_reader<>>("input_pin");
adtf::base::set_property<int32_t>(*m_pReader, "input_pin_property", 123);
m_pWriter = CreateOutputPin<adtf::filter::configurable_writer<>>("output_pin");
adtf::base::set_property<int32_t>(*m_pWriter, "output_pin_property", 456);
}
tResult Init(tInitStage eStage) override
{
RETURN_IF_FAILED(cFilter::Init(eStage));
// Pin properties are only available from StageGraphReady forward.
if (eStage == StageGraphReady)
{
const auto nInputPinValue = adtf::base::get_property<int32_t>(*m_pReader, "input_pin_property");
const auto nOutputPinValue = adtf::base::get_property<int32_t>(*m_pWriter, "output_pin_property");
}
}
private:
adtf::filter::configurable_reader<>* m_pReader = nullptr;
adtf::filter::configurable_writer<>* m_pWriter = nullptr;
};
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
#define RETURN_NOERROR
Return status ERR_NOERROR, which requires the calling function's return type to be tResult.
Definition result.h:29
#define ADTF_CLASS_ID_NAME(_class, _strcid, _strclabel)
Definition class_id.h:33
Definition filter.h:289
tResult Init(tInitStage eStage) override
VALUETYPE get_property(const IConfiguration &oConfiguration, const char *strNameOfValue, VALUETYPE oDefaultValue)
Get the property content converted to the VALUETYPE.
Definition configuration.h:291
tResult set_property(IConfiguration &oConfiguration, const char *strNameOfValue, VALUETYPE oValue)
Set the property.
Definition configuration.h:327

◆ configurable_writer

template<typename BaseWriter = streaming::flash::cSampleWriter>
using adtf::filter::wolverine::configurable_writer = detail::configurable_streamer<BaseWriter>

Template to access pin properties via a writer. Use it as a template parameter for cGraphObject::CreateOutputPin()

Note
Pin property values are only available during and after calls to cFilter::Init(StageGraphReady) and cSampleStreamingSink::Init()/cSampleStreamingSource::Init() respectively.

Example Usage

class cMyFilter: public adtf::filter::cFilter
{
public:
ADTF_CLASS_ID_NAME(cMyFilter, "my_filter.filter.example.cid", "My Filter");
cMyFilter()
{
m_pReader = CreateInputPin<adtf::filter::configurable_reader<>>("input_pin");
adtf::base::set_property<int32_t>(*m_pReader, "input_pin_property", 123);
m_pWriter = CreateOutputPin<adtf::filter::configurable_writer<>>("output_pin");
adtf::base::set_property<int32_t>(*m_pWriter, "output_pin_property", 456);
}
tResult Init(tInitStage eStage) override
{
RETURN_IF_FAILED(cFilter::Init(eStage));
// Pin properties are only available from StageGraphReady forward.
if (eStage == StageGraphReady)
{
const auto nInputPinValue = adtf::base::get_property<int32_t>(*m_pReader, "input_pin_property");
const auto nOutputPinValue = adtf::base::get_property<int32_t>(*m_pWriter, "output_pin_property");
}
}
private:
adtf::filter::configurable_reader<>* m_pReader = nullptr;
adtf::filter::configurable_writer<>* m_pWriter = nullptr;
};