152 template <
typename INTERFACE = ISampleStream>
174 tResult SetName(
const char* strName)
override
186 tResult Open(
const char* strName,
191 size_t szQueueSize)
override
195 pInitialAcceptedStreamType,
199 adtf::ucom::ant::ucom_cast<adtf::ucom::ant::IObject*>(
this));
202 tResult Open(
const char* strName,
205 size_t szQueueSize)
override
211 adtf::ucom::ant::ucom_cast<adtf::ucom::ant::IObject*>(
this));
281 sample_stream::SetName(strName);
295 ant::ITriggerPipeSource,
296 ant::ITriggerPipeItem,
297 ant::INamedGraphObject,
299 hollow::IInternalBindingProxy,
300 base::flash::IRunnable>
303 ADTF_CLASS_ID_NAME(
cSampleStream,
"sample_stream.streaming.adtf.cid",
"Sample Stream");
316 tResult Open(
const char* strName,
321 size_t szQueueSize)
override;
322 tResult Open(
const char* strName,
325 size_t szQueueSize)
override;
327 ADTF_FLASH_TRIGGER_PIPE_ITEM_METHOD_DECLARATIONS
330 void SetSubStreamFilter(
const char* strSubStream);
331 void SetForwardAllTriggers(
bool bForwardAll);
337 class cImplementation;
338 std::unique_ptr<cImplementation> m_pImplementation;
347 ITriggerPipeHierachy>
350 ADTF_CLASS_ID_NAME(
cSampleStream,
"sample_stream.streaming.adtf.cid",
"Sample Stream");
356 ADTF_QUIET_TRIGGER_PIPE_ITEM_METHOD_DECLARATIONS
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
tInt64 tTimeStamp
type definition for a time value.
#define RETURN_IF_FAILED(s)
Return if expression is failed, which requires the calling function's return type to be tResult.
A common result class usable as return value throughout.
Runnable helper implementaton template.
tMode
Open mode of ISampleStream::Open.
The Default implementation of the ISampleStream interface.
A_UTILS_D(cSampleStream)
private d-pointer
cSampleStream(const cSampleStream &)=delete
deleted copy CTOR
cSampleStream & operator=(const cSampleStream &)=delete
deleted copy operator
cSampleStream()=default
CTOR.
cSampleStream & operator=(cSampleStream &&)=delete
deleted move operator
ADTF_CLASS_ID_NAME(cSampleStream, "sample_stream.streaming.adtf.cid", "Sample Stream")
Implements adtf::ucom::IClassInfo.
cSampleStream(cSampleStream &&)=delete
deleted move CTOR
cSampleStream(const char *strName)
CTOR initializes the name of the stream.
virtual ~cSampleStream()=default
DTOR.
The implementation of the ISampleStream base implemenation.
tResult GetType(adtf::ucom::ant::iobject_ptr< const IStreamType > &pStreamType) const
Retrieves the current type of the stream.
tResult RunTrigger(tTimeStamp tmActivationTime)
Internal Run implementation.
tResult AttachRouting(const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo)
Attaches a SampleStream where to route the Write / Flush and Run calls to.
tResult SetStreamError(const tResult &oError)
Sets and forwards a StreamError to the readers.
void SetSubStreamFilter(const char *strSubStream)
If set, only Stream Types and Samples of the given Substream mwill be forwarded.
tResult Open(const char *strName, adtf::ucom::ant::iobject_ptr< ISampleOutStream > &pOutStream, ISampleStreamAccess::tMode ui32Mode, size_t szQueueSize, adtf::ucom::ant::IObject *pParent)
Opens The SampleStream for writing access.
tTimeStamp GetTime() const
Returns the last flush time and so the current position of the stream.
cSampleStreamBase & operator=(cSampleStreamBase &&)=delete
deleted move operator
tResult Open(const char *strName, adtf::ucom::ant::iobject_ptr< ISampleInStream > &pInStream, const adtf::ucom::ant::iobject_ptr< const IStreamType > &pInitialAcceptedStreamType, ISampleStream::IPushReadEventSink *&pPushEventSink, ISampleStreamAccess::tMode ui32Mode, size_t szQueueSize, adtf::ucom::ant::IObject *pParent)
Opens The SampleStream for reading access.
cSampleStreamBase(const cSampleStreamBase &)=delete
deleted copy CTOR
tResult GetStreamError()
Getter for the last forwarded stream error.
tResult DetachRouting(const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo)
Detaches a SampleStream where the routing was set by AttachRouting.
tResult GetInternalBindingProxy(ucom::ant::iobject_ptr< ant::IBindingProxy > &pBindingProxy)
Get the internal Binding Proxy.
cSampleStreamBase(cSampleStreamBase &&)=delete
deleted move CTOR
A_UTILS_D(cSampleStreamBase)
private d-pointer
virtual ~cSampleStreamBase()=default
DTOR.
tResult SetFullName(const char *strName)
Set the name which is used for error handling etc.
cSampleStreamBase & operator=(const cSampleStreamBase &)=delete
deleted copy operator
Default convenient implementation for INamedGraphObject.
tResult SetName(const char *strName) override
Sets the Name of the object.
tResult SetParent(const ucom::ant::IObject *poParentObject) override
Sets Parent of the object.
Helper template to implement a ISampleStream or a ISampleStream derived interface.
tResult AttachRouting(const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo) override
Attaches a SampleStream where to route the Write / Flush and Run calls to.
tResult SetStreamError(const tResult &oError) override
Sets and forwards a StreamError to the readers.
tResult DetachRouting(const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo) override
Detaches a SampleStream where the routing was set by AttachRouting.
tTimeStamp GetTime() const override
Returns the last flush time and so the current position of the stream.
Base class for every interface type within the uCOM.
Base object pointer to realize binary compatible reference counting in interface methods.
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
adtf_util::cString get_named_graph_object_full_name(const INamedGraphObject &oGraphObject)
Helper function to retrieve a full qualified unique name of an object registered in IFilterGraph.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.