Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
GtkGlRenderer Class Reference

#include <GtkGlRenderer.h>

Inheritance diagram for GtkGlRenderer:
Inheritance graph
Collaboration diagram for GtkGlRenderer:
Collaboration graph

Classes

class  Detail
 

Public Member Functions

 GtkGlRenderer (GtkGlRendererProps props)
 
 ~GtkGlRenderer ()
 
bool init ()
 
bool term ()
 
bool changeProps (GtkWidget *glArea, int windowWidth, int windowHeight)
 
- Public Member Functions inherited from Module
 Module (Kind nature, string name, ModuleProps _props)
 
virtual ~Module ()
 
Kind getNature ()
 
string getName ()
 
string getId ()
 
double getPipelineFps ()
 
uint64_t getTickCounter ()
 
string addOutputPin (framemetadata_sp &metadata)
 
vector< string > getAllOutputPinsByType (int type)
 
void addOutputPin (framemetadata_sp &metadata, string &pinId)
 
bool setNext (boost::shared_ptr< Module > next, vector< string > &pinIdArr, bool open=true)
 
virtual bool setNext (boost::shared_ptr< Module > next, bool open=true, bool sieve=true)
 
bool addFeedback (boost::shared_ptr< Module > next, vector< string > &pinIdArr, bool open=true)
 
bool addFeedback (boost::shared_ptr< Module > next, bool open=true)
 
boost_deque< boost::shared_ptr< Module > > getConnectedModules ()
 
bool relay (boost::shared_ptr< Module > next, bool open, bool priority=false)
 
void operator() ()
 
virtual bool run ()
 
bool play (float speed, bool direction=true)
 
bool play (bool play)
 
bool queueStep ()
 
virtual bool step ()
 
virtual bool stop ()
 
virtual bool isFull ()
 
bool isNextModuleQueFull ()
 
void adaptQueue (boost::shared_ptr< FrameContainerQueueAdapter > queAdapter)
 
void register_consumer (boost::function< void(Module *, unsigned short)>, bool bFatal=false)
 
boost::shared_ptr< PaceMakergetPacer ()
 
virtual void flushQue ()
 
bool getPlayDirection ()
 
virtual void flushQueRecursive ()
 
virtual void addControlModule (boost::shared_ptr< Module > cModule)
 
void registerHealthCallback (APHealthCallback callback)
 
void executeErrorCallback (const APErrorObject &error)
 
void registerErrorCallback (APErrorCallback callback)
 
ModuleProps getProps ()
 

Protected Member Functions

bool process (frame_container &frames)
 
bool processSOS (frame_sp &frame)
 
bool validateInputPins ()
 
bool shouldTriggerSOS ()
 
bool handleCommand (Command::CommandType type, frame_sp &frame)
 
void pushFrame (frame_sp frame)
 
- Protected Member Functions inherited from Module
virtual boost_deque< frame_sp > getFrames (frame_container &frames)
 
virtual bool processEOS (string &pinId)
 
virtual bool produce ()
 
bool stepNonSource (frame_container &frames)
 
bool preProcessNonSource (frame_container &frames)
 
bool preProcessControl (frame_container &frames)
 
bool isRunning ()
 
void setProps (ModuleProps &props)
 
void fillProps (ModuleProps &props)
 
template<class T >
void addPropsToQueue (T &props, bool priority=false)
 
virtual bool handlePropsChange (frame_sp &frame)
 
template<class T >
bool handlePropsChange (frame_sp &frame, T &props)
 
template<class T >
bool queuePriorityCommand (T &cmd)
 
template<class T >
bool queueCommand (T &cmd, bool priority=false)
 
template<class T >
void getCommand (T &cmd, frame_sp &frame)
 
bool queuePlayPauseCommand (PlayPauseCommand ppCmd, bool priority=false)
 
frame_sp makeCommandFrame (size_t size, framemetadata_sp &metadata)
 
frame_sp makeFrame (size_t size, string &pinId)
 
frame_sp makeFrame (size_t size)
 
frame_sp makeFrame ()
 
frame_sp makeFrame (frame_sp &bigFrame, size_t &newSize, string &pinId)
 
frame_sp getEOSFrame ()
 
frame_sp getEmptyFrame ()
 
void setMetadata (std::string &pinId, framemetadata_sp &metadata)
 
virtual bool send (frame_container &frames, bool forceBlockingPush=false)
 
virtual void sendEOS ()
 
virtual void sendEOS (frame_sp &frame)
 
virtual void sendMp4ErrorFrame (frame_sp &frame)
 
virtual void sendEoPFrame ()
 
void ignore (int times)
 
void stop_onStepfail ()
 
void emit_event (unsigned short eventID)
 
void emit_fatal (unsigned short eventID)
 
void setModuleState (enum ModuleState es)
 
ModuleState getModuleState ()
 
virtual bool validateOutputPins ()
 
virtual bool validateInputOutputPins ()
 
size_t getNumberOfOutputPins (bool implicit=true)
 
size_t getNumberOfInputPins ()
 
framemetadata_sp getFirstInputMetadata ()
 
framemetadata_sp getFirstOutputMetadata ()
 
framemetadata_sp getOutputMetadata (string outPinID)
 
metadata_by_pin & getInputMetadata ()
 
framefactory_by_pin & getOutputFrameFactory ()
 
framemetadata_sp getInputMetadataByType (int type)
 
int getNumberOfInputsByType (int type)
 
int getNumberOfOutputsByType (int type)
 
framemetadata_sp getOutputMetadataByType (int type)
 
bool isMetadataEmpty (framemetadata_sp &metadata)
 
bool isFrameEmpty (frame_sp &frame)
 
string getInputPinIdByType (int type)
 
string getOutputPinIdByType (int type)
 
bool setNext (boost::shared_ptr< Module > next, bool open, bool isFeedback, bool sieve)
 
bool setNext (boost::shared_ptr< Module > next, vector< string > &pinIdArr, bool open, bool isFeedback, bool sieve)
 
void addInputPin (framemetadata_sp &metadata, string &pinId, bool isFeedback)
 
virtual void addInputPin (framemetadata_sp &metadata, string &pinId)
 
boost::shared_ptr< FrameContainerQueuegetQue ()
 
bool getPlayState ()
 
Connections getConnections ()
 
frame_container try_pop ()
 
frame_container pop ()
 
bool processSourceQue ()
 
bool handlePausePlay (bool play)
 
virtual bool handlePausePlay (float speed=1, bool direction=true)
 
virtual void notifyPlay (bool play)
 
FFBufferMaker createFFBufferMaker ()
 

Private Attributes

boost::shared_ptr< DetailmDetail
 
std::chrono::steady_clock::time_point lastFrameTime
 
std::queue< frame_sp > frameQueue
 
std::mutex queueMutex
 

Additional Inherited Members

- Public Types inherited from Module
enum  Kind { SOURCE , TRANSFORM , SINK , CONTROL }
 
enum  ModuleState { Initialized , Running , EndOfStreamNormal , EndOfStreamSocketError }
 
- Static Public Member Functions inherited from Module
static frame_sp getFrameByType (frame_container &frames, int frameType)
 
- Protected Attributes inherited from Module
boost::function< void()> onStepFail
 
boost::function< void(Module *, unsigned short)> event_consumer
 
boost::function< void(Module *, unsigned short)> fatal_event_consumer
 
enum ModuleState module_state
 
boost::shared_ptr< ModulecontrolModule = nullptr
 

Constructor & Destructor Documentation

◆ GtkGlRenderer()

GtkGlRenderer::GtkGlRenderer ( GtkGlRendererProps props)

◆ ~GtkGlRenderer()

GtkGlRenderer::~GtkGlRenderer ( )

Member Function Documentation

◆ changeProps()

bool GtkGlRenderer::changeProps ( GtkWidget * glArea,
int windowWidth,
int windowHeight )

◆ handleCommand()

bool GtkGlRenderer::handleCommand ( Command::CommandType type,
frame_sp & frame )
protectedvirtual

Reimplemented from Module.

Here is the call graph for this function:

◆ init()

bool GtkGlRenderer::init ( )
virtual

Reimplemented from Module.

Here is the call graph for this function:

◆ process()

bool GtkGlRenderer::process ( frame_container & frames)
protectedvirtual

Reimplemented from Module.

Here is the call graph for this function:

◆ processSOS()

bool GtkGlRenderer::processSOS ( frame_sp & frame)
protectedvirtual

Reimplemented from Module.

Here is the call graph for this function:

◆ pushFrame()

void GtkGlRenderer::pushFrame ( frame_sp frame)
protected

◆ shouldTriggerSOS()

bool GtkGlRenderer::shouldTriggerSOS ( )
protectedvirtual

Reimplemented from Module.

◆ term()

bool GtkGlRenderer::term ( )
virtual

Reimplemented from Module.

Here is the call graph for this function:

◆ validateInputPins()

bool GtkGlRenderer::validateInputPins ( )
protectedvirtual

Reimplemented from Module.

Here is the call graph for this function:

Member Data Documentation

◆ frameQueue

std::queue<frame_sp> GtkGlRenderer::frameQueue
private

◆ lastFrameTime

std::chrono::steady_clock::time_point GtkGlRenderer::lastFrameTime
private
Initial value:
=
std::chrono::steady_clock::now()

◆ mDetail

boost::shared_ptr<Detail> GtkGlRenderer::mDetail
private

◆ queueMutex

std::mutex GtkGlRenderer::queueMutex
private

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