VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtProcessImageTask Class Reference

DtProcessImageTask creates and manages all the process image pipeline elements.

Inheritance diagram for makVrv::DtProcessImageTask:
Inheritance graph
[legend]

Public Member Functions

 DtProcessImageTask (DtDe &de, const DtVideoStream &stream)
 
virtual ~DtProcessImageTask ()
 
virtual bool initialize (const makArchives::DtVideoStreamRecord::ImageTaskRecords &taskList, const makArchives::DtMetadataPublisherRecord &metadataConfig)
 
virtual void process (const DtReadFramebufferProcessData &data, bool tickPublisher)
 
virtual void tickMetaDataPublisher (void)
 
const DtVideoStreamstream ()
 

Protected Member Functions

virtual DtImageTaskElementbuildPipeline (const makArchives::DtVideoStreamRecord::ImageTaskRecords &taskList)
 
virtual void setElementFromRecord (DtImageTaskElement *element, const makArchives::DtImageTaskRecord &taskRecord)
 
virtual bool configureElement (DtImageTaskElement *element)
 

Protected Attributes

DtDemyDe
 
const DtVideoStreammyStream
 
DtImageTaskElementmyPipeline
 
DtLocklessQueue
< DtVideoFrameBuffer * > 
myImageQueue
 
DtThreadStartSP myStart
 
DtThread * myThread
 
DtMetadataPublishermyMetadataPublisher
 
double myFrequency
 
DtLocklessQueue
< DtVideoFrameBuffer * > 
myVideoFrameBufferPool
 
DtTime myLastUpdateTime
 

Private Member Functions

 DtProcessImageTask ()
 
 DtProcessImageTask (const DtProcessImageTask &orig)
 
DtProcessImageTaskoperator= (const DtProcessImageTask &rhs)
 
virtual void run ()
 

Constructor & Destructor Documentation

makVrv::DtProcessImageTask::DtProcessImageTask ( DtDe de,
const DtVideoStream stream 
)

CTOR.

virtual makVrv::DtProcessImageTask::~DtProcessImageTask ( )
virtual

DTOR.

makVrv::DtProcessImageTask::DtProcessImageTask ( )
private

This method is executed in a loop by the worker thread created when the image task is initialized. It runs all the process image task elements.

Default CTOR (unimplemented)

makVrv::DtProcessImageTask::DtProcessImageTask ( const DtProcessImageTask orig)
private

Copy CTOR (unimplemented)

Member Function Documentation

virtual bool makVrv::DtProcessImageTask::initialize ( const makArchives::DtVideoStreamRecord::ImageTaskRecords taskList,
const makArchives::DtMetadataPublisherRecord metadataConfig 
)
virtual

Provide the image task with all the configuration data necessary to create the image task element pipeline and metadata publisher.

virtual void makVrv::DtProcessImageTask::process ( const DtReadFramebufferProcessData data,
bool  tickPublisher 
)
virtual

Ticks the metadata publisher, if tickPublisher is true -tickPublisher is false when HW encoding, because the process is called asynchronously from another thread (when the encoded frame is ready). Therefore, the client needs to call DtProcessImageTask::tickMetaDataPublisher on its own beforehand, in this case -tickPublisher is true otherwise. Then, it pushes the captured image onto the image processing queue (where it can be modified/operated on by the image task elements)

virtual void makVrv::DtProcessImageTask::tickMetaDataPublisher ( void  )
virtual

explicitly tick. Used when async hw encoding done in another thread Needs to be done before frame is submitted to the encoder

const DtVideoStream& makVrv::DtProcessImageTask::stream ( )

Get the video stream process image task is supporting.

virtual DtImageTaskElement* makVrv::DtProcessImageTask::buildPipeline ( const makArchives::DtVideoStreamRecord::ImageTaskRecords taskList)
protectedvirtual

Create all the process image task elements specified in the ImageTaskRecords record.

virtual void makVrv::DtProcessImageTask::setElementFromRecord ( DtImageTaskElement element,
const makArchives::DtImageTaskRecord taskRecord 
)
protectedvirtual

Initialize a process image task element from the DtImageTaskRecord which caused its creation in buildPipeline.

virtual bool makVrv::DtProcessImageTask::configureElement ( DtImageTaskElement element)
protectedvirtual

Configure a process image task element based on its current initialization state.

DtProcessImageTask& makVrv::DtProcessImageTask::operator= ( const DtProcessImageTask rhs)
private

Assignment operator (unimplemented)

virtual void makVrv::DtProcessImageTask::run ( )
privatevirtual

Function that will be called when the worker thread is started.

Member Data Documentation

DtDe& makVrv::DtProcessImageTask::myDe
protected
const DtVideoStream& makVrv::DtProcessImageTask::myStream
protected
DtImageTaskElement* makVrv::DtProcessImageTask::myPipeline
protected
DtLocklessQueue<DtVideoFrameBuffer*> makVrv::DtProcessImageTask::myImageQueue
protected
DtThreadStartSP makVrv::DtProcessImageTask::myStart
protected
DtThread* makVrv::DtProcessImageTask::myThread
protected
DtMetadataPublisher* makVrv::DtProcessImageTask::myMetadataPublisher
protected
double makVrv::DtProcessImageTask::myFrequency
protected
DtLocklessQueue<DtVideoFrameBuffer*> makVrv::DtProcessImageTask::myVideoFrameBufferPool
protected
DtTime makVrv::DtProcessImageTask::myLastUpdateTime
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)