VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtProcessImageTask.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
15 
16 #include <vlutil/vlRunnable.h>
17 #include <vlutil/vlThread.h>
18 #include <vlutil/vlTime.h>
19 
20 #include <osg/Image>
21 
22 #include <vector>
23 
24 class DtThread;
25 
26 namespace makVrv
27 {
28  class DtMetadataPublisher;
29  class DtImageTaskElement;
30  class DtVideoFrameBuffer;
31 
32 
33 
38  : protected DtRunnable
39  {
40  public:
43 
45  virtual ~DtProcessImageTask();
46 
49  virtual bool initialize(
51  const makArchives::DtMetadataPublisherRecord& metadataConfig );
52 
56  virtual void process(const DtReadFramebufferProcessData& data);
57 
59  const DtVideoStream& stream();
60 
61  protected:
62 
65  virtual DtImageTaskElement* buildPipeline(
67 
70  virtual void setElementFromRecord( DtImageTaskElement* element,
71  const makArchives::DtImageTaskRecord& taskRecord );
72 
75  virtual bool configureElement( DtImageTaskElement* element );
76 
80  // -- virtual void workerThread();
81 
82  private:
83 
86 
89 
91  DtProcessImageTask& operator=( const DtProcessImageTask& rhs );
92 
94  virtual void run();
95 
96  protected:
101 
102  DtThreadStartSP myStart;
103  DtThread* myThread;
104 
106  double myFrequency;
107 
109 
111  };
112 }
A DtVideoStream instance will create a single streaming video pipeline on the channel indicated by wi...
Definition: DtVideoStream.h:34
Contains the DtVideoStream class declaration.
double myFrequency
Definition: DtProcessImageTask.h:106
This is a non-extendable container class used to send the information to the NVidia encoder...
Definition: DtReadFramebufferProcessData.h:20
DtLocklessQueue< DtVideoFrameBuffer * > myImageQueue
Definition: DtProcessImageTask.h:100
Record for a sensor definition.
Definition: DtImageTaskRecord.h:20
DtMetadataPublisher defines the interface for all metadata publishers, as well as the implementation ...
Definition: DtMetadataPublisher.h:36
#define DT_DLL_VRVVIDEOSTREAM
Definition: vrvVideoStream.h:20
DtLocklessQueue is a thread safe queue for single reader/single writer.
Definition: DtLocklessQueue.h:21
Record for a metadata publisher Defines both the type and parameters.
Definition: DtMetadataPublisherRecord.h:21
DtLocklessQueue< DtVideoFrameBuffer * > myVideoFrameBufferPool
Definition: DtProcessImageTask.h:108
The DtImageTaskElement is an abstract base class for all image task elements.
Definition: DtImageTaskElement.h:25
DtDe & myDe
Definition: DtProcessImageTask.h:97
DtMetadataPublisher * myMetadataPublisher
Definition: DtProcessImageTask.h:105
Contains the DtReadFramebufferProcessData class declaration.
voidpf stream
Definition: ioapi.h:39
DtThreadStartSP myStart
Definition: DtProcessImageTask.h:102
const DtVideoStream & myStream
Definition: DtProcessImageTask.h:98
DtProcessImageTask creates and manages all the process image pipeline elements.
Definition: DtProcessImageTask.h:37
DtImageTaskElement * myPipeline
Definition: DtProcessImageTask.h:99
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtTime myLastUpdateTime
Definition: DtProcessImageTask.h:110
Contains DLL export macros.
DtThread * myThread
Definition: DtProcessImageTask.h:103
std::vector< DtImageTaskRecord > ImageTaskRecords
List of image task records.
Definition: DtVideoStreamRecord.h:114

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)