ADTF
adtf::streaming::flash Namespace Reference

Namespace for all functionality of the ADTF Streaming SDK provided since v3.5. More...

Namespaces

 detail
 Namespace for internal functionality.
 

Classes

class  cFilterGraphRunnerPort
 
class  cFilterGraphDataInPort
 
class  cFilterGraphDataOutPort
 
class  cNamedGraphObject
 
class  cInPin
 
class  cOutPin
 
class  cConfigurableInPin
 
class  cConfigurableOutPin
 
class  IStreamerPin
 
class  cRunner
 Default and simple Runner implementation. More...
 
class  output_sample_data
 Wrapper class that facilitates the handling of output samples. More...
 
class  cLastSamplesCollector
 
class  cSampleSetCollector
 
class  cTimeBasedSampleSetCollector
 
class  sample_data
 Easy data access for input samples. More...
 
class  ISample
 The ISample interface sets and retrieves properties on samples . More...
 
class  cSampleReader
 The default Sample Reader will read the incomung Stream of a IInPin. More...
 
class  sample_reader
 Reads and stores Samples within the given queue implementation INTERNAL_QUEUE. More...
 
class  cExternalQueuesWrapper
 
class  IExternalReaderQueues
 
class  cExternalQueueSampleReader
 
class  cSampleStream
 
class  ISampleStreamer
 Base interface for sample readers and writers. More...
 
class  ISampleReader
 Interface for sample reads that read from sample streams via input pins. More...
 
class  ISampleWriter
 Interface for sample writers that write to sample streams via output pins. More...
 
class  cSampleStreamInPort
 
class  cSampleStreamOutPort
 
class  cSampleWriter
 This base implementation of a sample writer is samples and types to the given pin set at adtf::streaming::flash::cSampleWriter::SetStreamerPin. More...
 
class  sample_writer
 Specialized Sample Writer to write data of a given type DATA_TYPE (see Supported types for adtf_memory<T> for writing and reading Samples). More...
 
class  stream_type
 Generator template to implement a ant::IStreamType based on a Stream Meta Type - see Stream Type and Stream Meta Type. More...
 
class  is_stream_meta_type
 type traits concept test template to check wether a type T is a type can be used for Stream Meta Type or not. More...
 

Typedefs

using cDynamicSampleReader = sample_reader< ant::cDynamicSampleReaderQueue >
 The cDynamicSampleReader will create a sample reader which will create a internal sample queue with unlimited size. More...
 
template<tTimeStamp TIME_RANGE, bool STORELASTSAMPLE = true>
using time_limited_sample_reader = sample_reader< ant::time_limited_sample_reader_queue< TIME_RANGE >, STORELASTSAMPLE >
 The time_limited_sample_reader will create a sample reader which will create a internal sample queue that is time limited by the given TimeRange. More...
 
template<size_t MAX_SIZE, bool STORELASTSAMPLE = true>
using size_limited_sample_reader = sample_reader< ant::size_limited_sample_reader_queue< MAX_SIZE >, STORELASTSAMPLE >
 The size_limited_sample_reader will create a sample reader which will create a internal sample queue that is sample count item limited by the given TimeRange. More...
 
using cSingleSampleReader = size_limited_sample_reader< 1 >
 The cSingleSampleReader will create a sample reader which will create a internal sample queue with only one sample which holds the last received sample always. More...
 

Functions

template<typename DATABINDING_BEHAVIOUR_CLASS , typename RUN_FUNC >
tResult create_inner_pipe (DATABINDING_BEHAVIOUR_CLASS &oComponent, const adtf_util::cString &strNameOfRunner, const adtf_util::cString &strSource, RUN_FUNC oRunFunc)
 
template<typename Interface , typename InterfaceBinding >
tResult create_server (InterfaceBinding &oInterfaceBinding, const char *strServerName, const adtf::ucom::iobject_ptr< Interface > &pServerInterface)
 Creates a binding server object for the given INTERFACE type and register it on the cFilterBase instance. More...
 
template<typename Interface , typename InterfaceBinding >
tResult create_client (InterfaceBinding &oInterfaceBinding, const char *strClientName)
 Creates a binding client object for the given INTERFACE type and register it on the cFilterBase instance. More...
 
template<typename DATA_BINDING_IMPL_TYPE , typename READER_OR_WRITER , typename PIN_INTERFACE >
tResult create_pin (DATA_BINDING_IMPL_TYPE &oDataBindingImpl, READER_OR_WRITER &oStreamer, ucom::ant::iobject_ptr< PIN_INTERFACE > &pCreatedPin)
 
template<typename DATA_BINDING_IMPL_TYPE , typename READER_OR_WRITER >
tResult create_pin (DATA_BINDING_IMPL_TYPE &oDataBindingImpl, READER_OR_WRITER &oStreamer)
 
template<typename DATA_BINDING_IMPL_TYPE , typename READER_OR_WRITER , typename PIN_INTERFACE >
tResult create_pin (DATA_BINDING_IMPL_TYPE &oDataBindingImpl, READER_OR_WRITER &oStreamer, const char *strNameOfReaderAndPin, const ucom::iobject_ptr< const ant::IStreamType > &pStreamType, ucom::ant::iobject_ptr< PIN_INTERFACE > &pCreatedPin)
 
template<typename DATA_BINDING_IMPL_TYPE , typename READER_OR_WRITER >
tResult create_pin (DATA_BINDING_IMPL_TYPE &oDataBindingImpl, READER_OR_WRITER &oStreamer, const char *strNameOfReaderAndPin, const ucom::ant::iobject_ptr< const ant::IStreamType > &pStreamType)
 
tResult alloc_sample (ucom::ant::iobject_ptr< ucom::ant::IObject > &pSample)
 Helper Function to get a ISample Instance through the adtf::ucom::ant::IRuntime. More...
 
tResult alloc_sample (ucom::ant::iobject_ptr< ucom::ant::IObject > &pSample, base::flash::tNanoSeconds nTimeStamp)
 Helper Function to get a ISample Instance through the adtf::ucom::ant::IRuntime. More...
 
tResult alloc_sample (ucom::ant::iobject_ptr< ucom::ant::IObject > &pSample, tTimeStamp nTimeStamp)
 Helper Function to get a ISample Instance through the adtf::ucom::ant::IRuntime. More...
 
tResult alloc_sample (ucom::ant::iobject_ptr< ucom::ant::IObject > &pSample, const char *strSampleCID)
 Helper Function to get a Sample Instance through the adtf::ucom::ant::IRuntime. More...
 
tResult alloc_sample (ucom::ant::iobject_ptr< ucom::ant::IObject > &pSample, const char *strSampleCID, base::flash::tNanoSeconds nTimeStamp)
 Helper Function to get a Sample Instance through the adtf::ucom::ant::IRuntime. More...
 
tResult alloc_sample (ucom::ant::iobject_ptr< ucom::ant::IObject > &pSample, const char *strSampleCID, tTimeStamp nTimeStamp)
 Helper Function to get a Sample Instance through the adtf::ucom::ant::IRuntime. More...
 
base::flash::tNanoSeconds get_sample_time (const ucom::ant::iobject_ptr< const ant::ISample > &pSample)
 Returns the sample time stamp with nanosecond precision. More...
 
tResult make_sample_reader (ISampleReader &oReader, const char *strNameOfReader, const ucom::iobject_ptr< const IStreamType > &pStreamType)
 
ISampleReaderoperator>> (ISampleReader &oSampleReader, ucom::ant::iobject_ptr< const ant::ISample > &pSample)
 
template<typename DATATYPE >
ISampleReaderoperator>> (ISampleReader &oSampleReader, sample_data< DATATYPE > &oSampleData)
 
ISampleReaderoperator>> (ISampleReader &oSampleReader, ucom::ant::iobject_ptr< const ant::IStreamType > &pType)
 
ISampleReaderoperator>> (ISampleReader &oSampleReader, ISampleReader &(*pStreamfunc)(ISampleReader &))
 
tResult make_sample_writer (ISampleWriter &oWriter, const char *strNameOfWriter, const ucom::ant::iobject_ptr< const IStreamType > &pStreamType)
 
ISampleWriteroperator<< (ISampleWriter &oSampleWriter, const ucom::ant::iobject_ptr< const ant::ISample > &pSample)
 streaming operator to write a sample to the sample writer More...
 
ISampleWriteroperator<< (ISampleWriter &oSampleWriter, const ucom::ant::iobject_ptr< const ant::IStreamType > &pType)
 streaming operator to write a stream type change to the sample writer More...
 
ISampleWriteroperator<< (ISampleWriter &oSampleWriter, ISampleWriter &(*pStreamfunc)(ISampleWriter &))
 streaming operator to write a command to the sample writer More...
 
ISampleWriteroperator<< (ISampleWriter &oSampleWriter, const tResult &oError)
 streaming operator to set the sample writers stream error More...
 
template<typename DATA_TYPE >
ISampleWriteroperator<< (ISampleWriter &oSampleWriter, output_sample_data< DATA_TYPE > &&oOutputSampleData)
 streaming operator to write the sample of the output_sample_data to the sample writer. More...
 
ISampleReaderoperator>> (ISampleReader &oSampleReader, ISampleWriter &oSampleWriter)
 
template<typename DATA_TYPE >
 ADTF3_DEPRECATED ("Writing data with no concrete sample time is deprecated. Use " "sample_writer<DATA_TYPE>::Write(tmTime, oSampleData) instead.") sample_writer< DATA_TYPE > &operator<<(sample_writer< DATA_TYPE > &oSampleWriter
 
tResult is_compatible (const ant::IStreamType &oCheckedType, const ant::IStreamType &oExpectedType)
 Checks whether oCheckedType is compatible with oExpectedType. More...
 
tResult is_compatible (const ucom::ant::iobject_ptr< const ant::IStreamType > &pCheckedType, const ucom::ant::iobject_ptr< const ant::IStreamType > &pExpectedType)
 Checks whether oCheckedType is compatible with oExpectedType. More...
 
tResult is_compatible (const ant::IStreamType &oCheckedType, const ucom::ant::iobject_ptr< const ant::IStreamType > &pExpectedType)
 Checks whether oCheckedType is compatible with oExpectedType. More...
 
tResult is_compatible (const ucom::ant::iobject_ptr< const ant::IStreamType > &pCheckedType, const ant::IStreamType &oExpectedType)
 Checks whether pCheckedType is compatible with oExpectedType. More...
 

Variables

const DATA_TYPE & oSampleData
 
return oSampleWriter
 

Detailed Description

Namespace for all functionality of the ADTF Streaming SDK provided since v3.5.

Typedef Documentation

◆ cDynamicSampleReader

The cDynamicSampleReader will create a sample reader which will create a internal sample queue with unlimited size.

Remarks
Make sure a a sample receive callback will read until the queue is empty !

This implementation uses the cDynamicSampleReaderQueue as dynamic sample queue implementation.

Definition at line 1094 of file samplereader.h.

◆ cSingleSampleReader

The cSingleSampleReader will create a sample reader which will create a internal sample queue with only one sample which holds the last received sample always.

Definition at line 1115 of file samplereader.h.

◆ size_limited_sample_reader

The size_limited_sample_reader will create a sample reader which will create a internal sample queue that is sample count item limited by the given TimeRange.

Template Parameters
MAX_SIZEThe count in amount of samples (has to be set while compile time!).
STORELASTSAMPLEOption if the last sample received will be hold.
  • true - last sample is stored
  • false - last sample is droped if after Read call

Definition at line 1109 of file samplereader.h.

◆ time_limited_sample_reader

The time_limited_sample_reader will create a sample reader which will create a internal sample queue that is time limited by the given TimeRange.

Template Parameters
TIME_RANGEThe timerange in micro seconds (has to be set while compile time!).
STORELASTSAMPLEOption if the last sample received will be hold.
  • true - last sample is stored
  • false - last sample is droped if after Read call

Definition at line 1102 of file samplereader.h.

Function Documentation

◆ alloc_sample() [1/6]

tResult adtf::streaming::flash::alloc_sample ( ucom::ant::iobject_ptr< ucom::ant::IObject > &  pSample)

Helper Function to get a ISample Instance through the adtf::ucom::ant::IRuntime.

Parameters
pSample[in, out] object_ptr to a ISample if succeeded. The default CID will be the get_class_id<cSample>().
Returns
Standard result code.
Note
rtsafe{if the sample pool and the memory allocator services are avaliable during RL_Running}

◆ alloc_sample() [2/6]

tResult adtf::streaming::flash::alloc_sample ( ucom::ant::iobject_ptr< ucom::ant::IObject > &  pSample,
base::flash::tNanoSeconds  nTimeStamp 
)

Helper Function to get a ISample Instance through the adtf::ucom::ant::IRuntime.

Parameters
pSample[in, out] object_ptr to a ISample if succeeded. The default CID will be the get_class_id<cSample>().
nTimeStamp[in] The timestamp of the sample.
Returns
Standard result code.
Note
rtsafe{if the sample pool and the memory allocator services are avaliable during RL_Running}

◆ alloc_sample() [3/6]

tResult adtf::streaming::flash::alloc_sample ( ucom::ant::iobject_ptr< ucom::ant::IObject > &  pSample,
const char *  strSampleCID 
)

Helper Function to get a Sample Instance through the adtf::ucom::ant::IRuntime.

Parameters
pSample[in, out] object_ptr to of Sample if succeeded. Due to the unknown interface you want receive it is provided as object_ptr<IObject>.
strSampleCID[in] Sample object identifier (class id) of the sample class. If strSampleOID is empty then the get_class_id<cSample>() will be used.
Returns
Standard result code.
Note
rtsafe{if the sample pool and the memory allocator services are avaliable during RL_Running}

◆ alloc_sample() [4/6]

tResult adtf::streaming::flash::alloc_sample ( ucom::ant::iobject_ptr< ucom::ant::IObject > &  pSample,
const char *  strSampleCID,
base::flash::tNanoSeconds  nTimeStamp 
)

Helper Function to get a Sample Instance through the adtf::ucom::ant::IRuntime.

Parameters
pSample[in, out] object_ptr to of Sample if succeeded. Due to the unknown interface you want receive it is provided as object_ptr<IObject>.
strSampleCID[in] Sample object identifier (class id) of the sample class. If strSampleOID is empty then the get_class_id<cSample>() will be used.
nTimeStamp[in] The timestamp of the sample.
Returns
Standard result code.
Note
rtsafe{if the sample pool and the memory allocator services are avaliable during RL_Running}

◆ alloc_sample() [5/6]

tResult adtf::streaming::flash::alloc_sample ( ucom::ant::iobject_ptr< ucom::ant::IObject > &  pSample,
const char *  strSampleCID,
tTimeStamp  nTimeStamp 
)

Helper Function to get a Sample Instance through the adtf::ucom::ant::IRuntime.

Parameters
pSample[in, out] object_ptr to of Sample if succeeded. Due to the unknown interface you want receive it is provided as object_ptr<IObject>.
strSampleCID[in] Sample object identifier (class id) of the sample class. If strSampleOID is empty then the get_class_id<cSample>() will be used.
nTimeStamp[in] The timestamp of the sample.
Returns
Standard result code.
Note
rtsafe{if the sample pool and the memory allocator services are avaliable during RL_Running}

◆ alloc_sample() [6/6]

tResult adtf::streaming::flash::alloc_sample ( ucom::ant::iobject_ptr< ucom::ant::IObject > &  pSample,
tTimeStamp  nTimeStamp 
)

Helper Function to get a ISample Instance through the adtf::ucom::ant::IRuntime.

Parameters
pSample[in, out] object_ptr to a ISample if succeeded. The default CID will be the get_class_id<cSample>().
nTimeStamp[in] The timestamp of the sample.
Returns
Standard result code.
Note
rtsafe{if the sample pool and the memory allocator services are avaliable during RL_Running}

◆ create_client()

tResult adtf::streaming::flash::create_client ( InterfaceBinding &  oInterfaceBinding,
const char *  strClientName 
)

Creates a binding client object for the given INTERFACE type and register it on the cFilterBase instance.

Template Parameters
InterfaceThe IObject interface you want to register the binding client object for
InterfaceBindingThe class of the interface binding object
Parameters
[in]oInterfaceBindingInterfacebinding instance to register the client object to
[in]strClientNamename of the object to register
Returns
Standard Result Code

Definition at line 323 of file filterbase.h.

References adtf::ucom::ant::make_object_ptr(), RETURN_IF_FAILED, and RETURN_NOERROR.

◆ create_server()

tResult adtf::streaming::flash::create_server ( InterfaceBinding &  oInterfaceBinding,
const char *  strServerName,
const adtf::ucom::iobject_ptr< Interface > &  pServerInterface 
)

Creates a binding server object for the given INTERFACE type and register it on the cFilterBase instance.

Template Parameters
InterfaceThe IObject interface you want to register the binding client object for
InterfaceBindingThe class of the interface binding object
Parameters
[in]oInterfaceBindinginterfacebinding instance to register the server object to
[in]strServerNamename of the object to register
[in]pServerInterfaceINTERFACE implementation instance. This will be the Server Object retrieved by IBindingClient::GetServerObject and IBindingProxy::GetServerObject
Returns
Standard Result Code

Definition at line 302 of file filterbase.h.

References adtf::ucom::ant::make_object_ptr(), RETURN_IF_FAILED, and RETURN_NOERROR.

◆ get_sample_time()

base::flash::tNanoSeconds adtf::streaming::flash::get_sample_time ( const ucom::ant::iobject_ptr< const ant::ISample > &  pSample)

Returns the sample time stamp with nanosecond precision.

This will check if the sample supports nanosecond precision (via adtf::streaming::flash::ISample) and convert the microseconds timestamp if not.

Parameters
[in]pSampleThe sample.
Returns
The timestamp.

Referenced by cGraphObject::CreateInputPinWithCallback(), decoding_sample_reader< ReaderImplementation >::GetLastDecoder(), decoding_sample_reader< ReaderImplementation >::GetNextDecoder(), sample_data< T >::GetTimeNs(), and sample_data< T, Enable >::GetTimeNs().

◆ is_compatible() [1/4]

tResult adtf::streaming::flash::is_compatible ( const ant::IStreamType oCheckedType,
const ant::IStreamType oExpectedType 
)

Checks whether oCheckedType is compatible with oExpectedType.

Parameters
[in]oCheckedTypeThe type that should be checked for compatibility.
[in]oExpectedTypeThe type that is expected.
Returns
Standard result.
See also
AcceptType and IsCompatible implementations

◆ is_compatible() [2/4]

tResult adtf::streaming::flash::is_compatible ( const ant::IStreamType oCheckedType,
const ucom::ant::iobject_ptr< const ant::IStreamType > &  pExpectedType 
)

Checks whether oCheckedType is compatible with oExpectedType.

Parameters
[in]oCheckedTypeThe type that should be checked for compatibility.
[in]pExpectedTypeThe type that is expected.
Returns
Standard result.
See also
AcceptType and IsCompatible implementations

◆ is_compatible() [3/4]

tResult adtf::streaming::flash::is_compatible ( const ucom::ant::iobject_ptr< const ant::IStreamType > &  pCheckedType,
const ant::IStreamType oExpectedType 
)

Checks whether pCheckedType is compatible with oExpectedType.

Parameters
[in]pCheckedTypeThe type that should be checked for compatibility.
[in]oExpectedTypeThe type that is expected.
Returns
Standard result.
See also
AcceptType and IsCompatible implementations

◆ is_compatible() [4/4]

tResult adtf::streaming::flash::is_compatible ( const ucom::ant::iobject_ptr< const ant::IStreamType > &  pCheckedType,
const ucom::ant::iobject_ptr< const ant::IStreamType > &  pExpectedType 
)

Checks whether oCheckedType is compatible with oExpectedType.

Parameters
[in]pCheckedTypeThe type that should be checked for compatibility.
[in]pExpectedTypeThe type that is expected.
Returns
Standard result.
See also
AcceptType and IsCompatible implementations

◆ operator<<() [1/5]

ISampleWriter& adtf::streaming::flash::operator<< ( ISampleWriter oSampleWriter,
const tResult oError 
)
inline

streaming operator to set the sample writers stream error

Parameters
oSampleWriterthe sample writer to set the stream error state to
oErrorthe stream error state value
Returns
ISampleWriter&
See also
Overview of writing and reading samples

Definition at line 447 of file samplewriter.h.

◆ operator<<() [2/5]

ISampleWriter& adtf::streaming::flash::operator<< ( ISampleWriter oSampleWriter,
const ucom::ant::iobject_ptr< const ant::ISample > &  pSample 
)
inline

streaming operator to write a sample to the sample writer

Parameters
oSampleWriterthe sample writer to write a sample to
pSamplethe sample to write
Returns
ISampleWriter&
See also
Overview of writing and reading samples

Definition at line 406 of file samplewriter.h.

◆ operator<<() [3/5]

ISampleWriter& adtf::streaming::flash::operator<< ( ISampleWriter oSampleWriter,
const ucom::ant::iobject_ptr< const ant::IStreamType > &  pType 
)
inline

streaming operator to write a stream type change to the sample writer

Parameters
oSampleWriterthe sample writer to change the type
pTypethe stream type to change to
Returns
ISampleWriter&
See also
Overview of writing and reading samples

Definition at line 420 of file samplewriter.h.

◆ operator<<() [4/5]

ISampleWriter& adtf::streaming::flash::operator<< ( ISampleWriter oSampleWriter,
ISampleWriter &(*)(ISampleWriter &)  pStreamfunc 
)
inline

streaming operator to write a command to the sample writer

Parameters
oSampleWriterthe sample writer to write the command to
pStreamfuncthe command (streaming::flush(), streaming::trigger())
Returns
ISampleWriter&
See also
Overview of writing and reading samples

Definition at line 434 of file samplewriter.h.

◆ operator<<() [5/5]

ISampleWriter& adtf::streaming::flash::operator<< ( ISampleWriter oSampleWriter,
output_sample_data< DATA_TYPE > &&  oOutputSampleData 
)
inline

streaming operator to write the sample of the output_sample_data to the sample writer.

It automatically releases the given rvalue of oOutputSampleData

Parameters
oSampleWriterthe sample writer to write the output sample data to
oOutputSampleDatathe output sample data rvalue to write and release
Returns
ISampleWriter&
See also
Overview of writing and reading samples

Definition at line 463 of file samplewriter.h.

Variable Documentation

◆ oSampleData

const DATA_TYPE& oSampleData
Initial value:
{
THROW_IF_FAILED(oSampleWriter.Write(oSampleData))
#define THROW_IF_FAILED(s)
throws if the expression returns a failed tResult

Definition at line 569 of file samplewriter.h.