Argus Camera Sample
Argus Camera Sample
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
ArgusSamples::Composer Class Reference

The composer is used to render multiple EGL streams into the windows. More...

#include <Composer.h>

List of all members.

Classes

class  Stream
 Each bound EGL stream has a stream consumer and can be active or inactive. More...

Public Member Functions

bool shutdown ()
 Shutdown, free all resources.
bool bindStream (EGLStreamKHR eglStream)
 Bind an EGL stream.
bool unbindStream (EGLStreamKHR eglStream)
 Unbind a bound EGL stream.
bool setStreamActive (EGLStreamKHR eglStream, bool active)
 Set the active state of the stream, only active streams are rendered.
bool setStreamAspectRatio (EGLStreamKHR eglStream, float aspectRatio)
 Set the stream aspect ratio.
EGLDisplay getEGLDisplay ()
 Get the EGL display.

Static Public Member Functions

static ComposergetInstance ()
 Get the composer instance.

Private Types

typedef std::list< StreamStreamList
 a list of streams

Private Member Functions

 Composer ()
 ~Composer ()
 Composer (const Composer &)
Composeroperator= (const Composer &)
bool initialize ()
bool renderStreams (uint32_t activeStreams)
Thread methods
virtual bool threadInitialize ()
virtual bool threadExecute ()
virtual bool threadShutdown ()
IResizeObserver methods
virtual bool onResize (uint32_t width, uint32_t height)

Private Attributes

bool m_initialized
 set if initialized
EGLDisplayHolder m_display
 EGL display.
GLContext m_context
 GL context.
uint32_t m_program
 program to render streams
uint32_t m_vbo
 vertex buffer object
uint32_t m_windowWidth
 window width
uint32_t m_windowHeight
 window height
float m_windowAspectRatio
 window aspect ratio
Mutex m_mutex
 to protect access to the stream array
StreamList m_streams
 the list of composed streams

Detailed Description

The composer is used to render multiple EGL streams into the windows.

The streams are arranged into a regular grid.

Definition at line 51 of file Composer.h.


Member Typedef Documentation

typedef std::list<Stream> ArgusSamples::Composer::StreamList
private

a list of streams

Definition at line 160 of file Composer.h.


Constructor & Destructor Documentation

ArgusSamples::Composer::Composer ( )
private

Definition at line 48 of file Composer.cpp.

ArgusSamples::Composer::~Composer ( )
private

Definition at line 58 of file Composer.cpp.

ArgusSamples::Composer::Composer ( const Composer )
private

Member Function Documentation

bool ArgusSamples::Composer::bindStream ( EGLStreamKHR  eglStream)

Bind an EGL stream.

A bound and active stream is rendered. Newly bound streams are inactive.

Parameters:
eglStream[in]

Definition at line 129 of file Composer.cpp.

EGLDisplay ArgusSamples::Composer::getEGLDisplay ( )
inline

Get the EGL display.

Definition at line 97 of file Composer.h.

Composer & ArgusSamples::Composer::getInstance ( )
static

Get the composer instance.

Definition at line 64 of file Composer.cpp.

bool ArgusSamples::Composer::initialize ( )
private

Definition at line 85 of file Composer.cpp.

bool ArgusSamples::Composer::onResize ( uint32_t  width,
uint32_t  height 
)
privatevirtual

Definition at line 214 of file Composer.cpp.

Composer& ArgusSamples::Composer::operator= ( const Composer )
private
bool ArgusSamples::Composer::renderStreams ( uint32_t  activeStreams)
private

Definition at line 277 of file Composer.cpp.

bool ArgusSamples::Composer::setStreamActive ( EGLStreamKHR  eglStream,
bool  active 
)

Set the active state of the stream, only active streams are rendered.

Parameters:
eglStream[in]
active[in]

Definition at line 176 of file Composer.cpp.

bool ArgusSamples::Composer::setStreamAspectRatio ( EGLStreamKHR  eglStream,
float  aspectRatio 
)

Set the stream aspect ratio.

Parameters:
eglStream[in]
aspectRatio[in] aspect ration of the images transported by the stream

Definition at line 195 of file Composer.cpp.

bool ArgusSamples::Composer::shutdown ( )

Shutdown, free all resources.

Definition at line 110 of file Composer.cpp.

bool ArgusSamples::Composer::threadExecute ( )
privatevirtual

Definition at line 342 of file Composer.cpp.

bool ArgusSamples::Composer::threadInitialize ( )
privatevirtual

Definition at line 222 of file Composer.cpp.

bool ArgusSamples::Composer::threadShutdown ( )
privatevirtual

Definition at line 396 of file Composer.cpp.

bool ArgusSamples::Composer::unbindStream ( EGLStreamKHR  eglStream)

Unbind a bound EGL stream.

Parameters:
eglStream[in]

Definition at line 156 of file Composer.cpp.


Member Data Documentation

GLContext ArgusSamples::Composer::m_context
private

GL context.

Definition at line 133 of file Composer.h.

EGLDisplayHolder ArgusSamples::Composer::m_display
private

EGL display.

Definition at line 131 of file Composer.h.

bool ArgusSamples::Composer::m_initialized
private

set if initialized

Definition at line 129 of file Composer.h.

Mutex ArgusSamples::Composer::m_mutex
private

to protect access to the stream array

Definition at line 140 of file Composer.h.

uint32_t ArgusSamples::Composer::m_program
private

program to render streams

Definition at line 134 of file Composer.h.

StreamList ArgusSamples::Composer::m_streams
private

the list of composed streams

Definition at line 161 of file Composer.h.

uint32_t ArgusSamples::Composer::m_vbo
private

vertex buffer object

Definition at line 135 of file Composer.h.

float ArgusSamples::Composer::m_windowAspectRatio
private

window aspect ratio

Definition at line 138 of file Composer.h.

uint32_t ArgusSamples::Composer::m_windowHeight
private

window height

Definition at line 137 of file Composer.h.

uint32_t ArgusSamples::Composer::m_windowWidth
private

window width

Definition at line 136 of file Composer.h.


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