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
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 Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)