VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
makVrv::DtGStreamerTaskElement Class Reference

A DtCompressFrameTaskElement instance will create a pipeline element that can compress the image being stream by a variety of formats using the FreeImage package. More...

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

Public Member Functions

virtual ~DtGStreamerTaskElement ()
 DTOR. More...
 
virtual std::string pipelineConfiguration () const
 Get the pipeline configuration string. More...
 
virtual void setPipelineConfiguration (const std::string &config)
 Set the pipeline configuration string. More...
 
virtual void setFromRecord (const makArchives::DtImageTaskRecord &config)
 Initialize the gstreamer image task element from a task record. More...
 
virtual bool configure ()
 Configure the gstreamer image task element. More...
 
- Public Member Functions inherited from makVrv::DtImageTaskElement
virtual ~DtImageTaskElement ()
 DTOR. More...
 
void preFrame ()
 Thread of execution before each frame's processing. More...
 
void processFrame (DtVideoFrameBuffer *frame)
 Process the image. More...
 
void postFrame ()
 Thread of execution after each frame's processing. More...
 
virtual void attach (DtImageTaskElement *next)
 Place another Image Task element after this one. More...
 

Protected Member Functions

 DtGStreamerTaskElement (DtDe &de, DtProcessImageTask *owningTask)
 CTOR (protected) More...
 
void handleProcessFrame (DtVideoFrameBuffer *frame)
 Run the gstreamer pipeline. More...
 
bool buildPipeline ()
 Build the gstreamer pipeline. More...
 
void destroyPipeline ()
 Destroy the gstreamer pipeline. More...
 
GstCaps * genCaps ()
 Generate a GstCaps structure based on our parameters. More...
 
- Protected Member Functions inherited from makVrv::DtImageTaskElement
 DtImageTaskElement (DtDe &de, DtProcessImageTask *owningTask)
 CTOR. More...
 
virtual void handlePreFrame ()
 No-op in base class. More...
 
virtual void handlePostFrame ()
 No-op in base class. More...
 

Static Protected Member Functions

static void need_data (GstAppSrc *src, guint length, gpointer user_data)
 Callback used by gstreamer to indicate that it is ok to push data at it. More...
 
static void enough_data (GstAppSrc *src, gpointer user_data)
 Callback used by gstreamer to indicate that it is not ok to push data at it. More...
 

Protected Attributes

std::string myPipelineConfiguration
 
bool myOkToPushFrames
 
GstElement * myPipeline
 
GstElement * myVideoAppSrc
 
GstElement * myMetadataAppSrc
 
GstAppSrcCallbacks myGstCallbacks
 
int myWidth
 
int myHeight
 
int myPixelFormat
 
int myRowLength
 
bool myIsHardwareEncoded
 
std::string myEncodingFormat
 
bool myContainsMetadata
 
GstBufferPool * myVideoBufferPool
 
GstBufferPool * myMetadataBufferPool
 
makVrv::DtDemyDe
 
- Protected Attributes inherited from makVrv::DtImageTaskElement
DtDemyDe
 DtDe. More...
 
DtProcessImageTaskmyOwningTask
 
DtImageTaskElementmyNextElement
 Next task element to process. More...
 

Static Protected Attributes

static int theClassCount
 

Friends

class DtGStreamerTaskElementCreator
 Friend creator class, the only class that can construct an instance of this DtGStreamerTaskElement. More...
 

Detailed Description

A DtCompressFrameTaskElement instance will create a pipeline element that can compress the image being stream by a variety of formats using the FreeImage package.

Constructor & Destructor Documentation

virtual makVrv::DtGStreamerTaskElement::~DtGStreamerTaskElement ( )
virtual

DTOR.

makVrv::DtGStreamerTaskElement::DtGStreamerTaskElement ( DtDe de,
DtProcessImageTask owningTask 
)
protected

CTOR (protected)

Member Function Documentation

virtual std::string makVrv::DtGStreamerTaskElement::pipelineConfiguration ( ) const
virtual

Get the pipeline configuration string.

virtual void makVrv::DtGStreamerTaskElement::setPipelineConfiguration ( const std::string &  config)
virtual

Set the pipeline configuration string.

virtual void makVrv::DtGStreamerTaskElement::setFromRecord ( const makArchives::DtImageTaskRecord config)
virtual

Initialize the gstreamer image task element from a task record.

Reimplemented from makVrv::DtImageTaskElement.

virtual bool makVrv::DtGStreamerTaskElement::configure ( )
virtual

Configure the gstreamer image task element.

Reimplemented from makVrv::DtImageTaskElement.

void makVrv::DtGStreamerTaskElement::handleProcessFrame ( DtVideoFrameBuffer frame)
protectedvirtual

Run the gstreamer pipeline.

Implements makVrv::DtImageTaskElement.

bool makVrv::DtGStreamerTaskElement::buildPipeline ( )
protected

Build the gstreamer pipeline.

void makVrv::DtGStreamerTaskElement::destroyPipeline ( )
protected

Destroy the gstreamer pipeline.

GstCaps* makVrv::DtGStreamerTaskElement::genCaps ( )
protected

Generate a GstCaps structure based on our parameters.

static void makVrv::DtGStreamerTaskElement::need_data ( GstAppSrc *  src,
guint  length,
gpointer  user_data 
)
staticprotected

Callback used by gstreamer to indicate that it is ok to push data at it.

static void makVrv::DtGStreamerTaskElement::enough_data ( GstAppSrc *  src,
gpointer  user_data 
)
staticprotected

Callback used by gstreamer to indicate that it is not ok to push data at it.

Friends And Related Function Documentation

friend class DtGStreamerTaskElementCreator
friend

Friend creator class, the only class that can construct an instance of this DtGStreamerTaskElement.

Member Data Documentation

int makVrv::DtGStreamerTaskElement::theClassCount
staticprotected
std::string makVrv::DtGStreamerTaskElement::myPipelineConfiguration
protected
bool makVrv::DtGStreamerTaskElement::myOkToPushFrames
protected
GstElement* makVrv::DtGStreamerTaskElement::myPipeline
protected
GstElement* makVrv::DtGStreamerTaskElement::myVideoAppSrc
protected
GstElement* makVrv::DtGStreamerTaskElement::myMetadataAppSrc
protected
GstAppSrcCallbacks makVrv::DtGStreamerTaskElement::myGstCallbacks
protected
int makVrv::DtGStreamerTaskElement::myWidth
protected
int makVrv::DtGStreamerTaskElement::myHeight
protected
int makVrv::DtGStreamerTaskElement::myPixelFormat
protected
int makVrv::DtGStreamerTaskElement::myRowLength
protected
bool makVrv::DtGStreamerTaskElement::myIsHardwareEncoded
protected
std::string makVrv::DtGStreamerTaskElement::myEncodingFormat
protected
bool makVrv::DtGStreamerTaskElement::myContainsMetadata
protected
GstBufferPool* makVrv::DtGStreamerTaskElement::myVideoBufferPool
protected
GstBufferPool* makVrv::DtGStreamerTaskElement::myMetadataBufferPool
protected
makVrv::DtDe& makVrv::DtGStreamerTaskElement::myDe
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)