Argus Camera Sample Argus Camera Sample

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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 Composer & | getInstance ()
| Get the composer instance.

## Private Types

typedef std::list< Stream > | StreamList
| a list of streams

## Private Member Functions

| Composer ()
| ~Composer ()
| Composer (const Composer &)
Composer & | operator= (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
| ) |  |

private virtual

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 | ( |  | ) |

private virtual

Definition at line 342 of file Composer.cpp.

bool ArgusSamples::Composer::threadInitialize | ( |  | ) |

private virtual

Definition at line 222 of file Composer.cpp.

bool ArgusSamples::Composer::threadShutdown | ( |  | ) |

private virtual

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:

- renderer/Composer.h
- renderer/Composer.cpp