VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrvVideoStream
DtProcessImageTask.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2014 VT-MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
#include <
vrvVideoStream/vrvVideoStream.h
>
12
13
#include <
vrvVideoStream/DtVideoStream.h
>
14
#include <
vrvVideoStream/DtLocklessQueue.h
>
15
16
#include <osg/Image>
17
18
// #include <boost/thread.hpp>
19
#include <vlutil/vlRunnable.h>
20
#include <vlutil/vlThread.h>
21
22
#include <vector>
23
24
class
DtThread;
25
26
namespace
makVrv
27
{
28
class
DtMetadataPublisher;
29
class
DtImageTaskElement;
30
class
DtVideoFrameBuffer;
31
35
class
DT_DLL_VRVVIDEOSTREAM
DtProcessImageTask
36
:
protected
DtRunnable
37
{
38
public
:
40
DtProcessImageTask
(
DtDe
& de,
const
DtVideoStream
& stream );
41
43
virtual
~
DtProcessImageTask
();
44
47
virtual
bool
initialize(
48
const
makArchives::DtVideoStreamRecord::ImageTaskRecords
& taskList,
49
const
makArchives::DtMetadataPublisherRecord
& metadataConfig );
50
54
virtual
void
processImage( osg::ref_ptr<osg::Image> img );
55
57
const
DtVideoStream
& stream();
58
59
protected
:
60
63
virtual
DtImageTaskElement
* buildPipeline(
64
const
makArchives::DtVideoStreamRecord::ImageTaskRecords
& taskList );
65
68
virtual
void
setElementFromRecord(
DtImageTaskElement
* element,
69
const
makArchives::DtImageTaskRecord
& taskRecord );
70
73
virtual
bool
configureElement(
DtImageTaskElement
* element );
74
78
// -- virtual void workerThread();
79
80
private
:
81
83
DtProcessImageTask
();
84
86
DtProcessImageTask
(
const
DtProcessImageTask
& orig );
87
89
DtProcessImageTask
& operator=(
const
DtProcessImageTask
& rhs );
90
92
virtual
void
run();
93
94
protected
:
95
DtDe
&
myDe
;
96
const
DtVideoStream
&
myStream
;
97
DtImageTaskElement
*
myPipeline
;
98
DtLocklessQueue<DtVideoFrameBuffer*>
myImageQueue
;
99
100
DtThreadStartSP
myStart
;
101
DtThread*
myThread
;
102
103
DtMetadataPublisher
*
myMetadataPublisher
;
104
double
myFrequency
;
105
106
std::vector<DtVideoFrameBuffer*>
myVideoFrameBufferPool
;
107
int
myNextBuffer
;
108
};
109
}
Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)