VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrvGStreamer
DtGStreamerTaskElement.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2012 VT-MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvGStreamer/vrvGStreamer.h
>
13
14
#include <
vrvVideoStream/DtImageTaskElement.h
>
15
16
#include <string>
17
18
#include <gst/gstelement.h>
19
#include <gst/app/gstappsrc.h>
20
21
namespace
makVrv
22
{
23
class
DtVideoFrameBuffer;
24
29
class
DT_DLL_VRVGSTREAMER
DtGStreamerTaskElement
:
public
DtImageTaskElement
30
{
31
public
:
34
friend
class
DtGStreamerTaskElementCreator
;
35
37
virtual
~
DtGStreamerTaskElement
();
38
40
virtual
std::string pipelineConfiguration()
const
;
41
43
virtual
void
setPipelineConfiguration(
const
std::string& config );
44
46
virtual
void
setFromRecord(
47
const
makArchives::DtImageTaskRecord
& config );
48
50
virtual
bool
configure();
51
52
protected
:
54
DtGStreamerTaskElement
(
DtDe
& de,
DtProcessImageTask
* owningTask );
55
57
void
handleProcessFrame(
DtVideoFrameBuffer
* frame);
58
60
bool
buildPipeline();
61
63
void
destroyPipeline();
64
66
GstCaps* genCaps();
67
68
protected
:
71
static
void
need_data( GstAppSrc *src, guint length, gpointer user_data );
72
75
static
void
enough_data( GstAppSrc *src, gpointer user_data );
76
77
protected
:
78
static
int
theClassCount
;
79
80
protected
:
81
82
std::string
myPipelineConfiguration
;
83
84
bool
myOkToPushFrames
;
85
86
GstElement*
myPipeline
;
87
GstElement*
myVideoAppSrc
;
88
GstElement*
myMetadataAppSrc
;
89
GstAppSrcCallbacks
myGstCallbacks
;
90
91
int
myWidth
;
92
int
myHeight
;
93
int
myPixelFormat
;
94
int
myRowLength
;
95
};
100
class
DT_DLL_VRVGSTREAMER
DtGStreamerTaskElementCreator
101
:
public
DtImageTaskElementCreator
102
{
103
public
:
105
friend
class
DtVideoStreamManager
;
106
108
DtGStreamerTaskElementCreator
();
109
111
virtual
~
DtGStreamerTaskElementCreator
();
112
113
protected
:
115
virtual
DtImageTaskElement
* create(
DtDe
& de,
116
DtProcessImageTask
* owningTask);
117
};
118
}
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)