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
Public Types | Public Member Functions | Private Member Functions | Private Attributes
ArgusSamples::GalleryThread Class Reference

This class handles creation of a thread scanning for supported images/videos, loading them and writing the content to an EGLStream. More...

List of all members.

## Public Types
enum | Command { COMMAND_NONE, COMMAND_SHUTDOWN, COMMAND_NEXT, COMMAND_PREV, COMMAND_START, COMMAND_TOGGLE_PLAY_BACK, COMMAND_REWIND, COMMAND_STOP }
typedef std::list< GalleryItem * > | GalleryItemList

## Public Member Functions
| GalleryThread ()
| ~GalleryThread ()
bool | initialize ()
bool | shutdown ()
bool | execute (Command command)
| Execute a command.

## Private Member Functions
virtual bool | threadInitialize ()
virtual bool | threadExecute ()
virtual bool | threadShutdown ()
bool | buildItemList ()
| Builds a list of gallery items by scanning the output path for image and video files.
bool | start ()
| Start.
bool | stop ()
| Stop.
bool | startDisplay ()
bool | pauseDisplay ()
bool | togglePlayBack ()
bool | rewind ()
EGLStreamKHR | getOutputStream () const
| Get the current output stream.

## Private Attributes
ConditionVariable | m_cmdCond
Mutex | m_cmdMutex
| command condition variable
std::list< Ordered< Command > > | m_cmdList
| command mutex
GLContext | m_context
| command list, written by parent thread
EGLSurface | m_eglOutputSurface
EGLStreamHolder | m_eglImageOutputStream
GLuint | m_textureID
GLuint | m_copyProgram
GLuint | m_vbo
GalleryItemList | m_itemList
GalleryItemList::iterator | m_curItem

## Detailed Description

This class handles creation of a thread scanning for supported images/videos, loading them and writing the content to an EGLStream.

Definition at line 407 of file Gallery.cpp.

## Member Typedef Documentation

typedef std::list<GalleryItem*> ArgusSamples::GalleryThread::GalleryItemList

Definition at line 428 of file Gallery.cpp.

## Member Enumeration Documentation

enum ArgusSamples::GalleryThread::Command

Enumerator:

  COMMAND_NONE |
  COMMAND_SHUTDOWN | shutdown
  COMMAND_NEXT | next item
  COMMAND_PREV | previous item
  COMMAND_START | start replay
  COMMAND_TOGGLE_PLAY_BACK | toggle playback
  COMMAND_REWIND | rewind
  COMMAND_STOP | stop replay

Definition at line 416 of file Gallery.cpp.

## Constructor & Destructor Documentation

ArgusSamples::GalleryThread::GalleryThread | ( |  | ) |

Definition at line 489 of file Gallery.cpp.

ArgusSamples::GalleryThread::~GalleryThread | ( |  | ) |

Definition at line 498 of file Gallery.cpp.

## Member Function Documentation

bool ArgusSamples::GalleryThread::buildItemList | ( |  | ) |
| private

Builds a list of gallery items by scanning the output path for image and video files.

The list is sorted with the newest files first.

Definition at line 537 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::execute | ( | Command | command | ) |

Execute a command.

Definition at line 520 of file Gallery.cpp.

EGLStreamKHR ArgusSamples::GalleryThread::getOutputStream | ( |  | ) | const
| inline private

Get the current output stream.

Definition at line 469 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::initialize | ( |  | ) |

Definition at line 503 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::pauseDisplay | ( |  | ) |
| private

Definition at line 794 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::rewind | ( |  | ) |
| private

Definition at line 815 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::shutdown | ( |  | ) |

Definition at line 512 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::start | ( |  | ) |
| private

Start.

Build the item list.

Definition at line 712 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::startDisplay | ( |  | ) |
| private

Definition at line 742 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::stop | ( |  | ) |
| private

Stop.

Pause display and free the item list.

Definition at line 730 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::threadExecute | ( |  | ) |
| private virtual

Definition at line 825 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::threadInitialize | ( |  | ) |
| private virtual

Todo:
  Using 1920x1080 for now. Should use the image size, but this would require creating

Definition at line 635 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::threadShutdown | ( |  | ) |
| private virtual

Definition at line 885 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::togglePlayBack | ( |  | ) |
| private

Definition at line 805 of file Gallery.cpp.

## Member Data Documentation

ConditionVariable ArgusSamples::GalleryThread::m_cmdCond
| private

Definition at line 436 of file Gallery.cpp.

std::list<Ordered<Command> > ArgusSamples::GalleryThread::m_cmdList
| private

command mutex

Definition at line 438 of file Gallery.cpp.

Mutex ArgusSamples::GalleryThread::m_cmdMutex
| private

command condition variable

Definition at line 437 of file Gallery.cpp.

GLContext ArgusSamples::GalleryThread::m_context
| private

command list, written by parent thread

Definition at line 440 of file Gallery.cpp.

GLuint ArgusSamples::GalleryThread::m_copyProgram
| private

Definition at line 446 of file Gallery.cpp.

GalleryItemList::iterator ArgusSamples::GalleryThread::m_curItem
| private

Definition at line 450 of file Gallery.cpp.

EGLStreamHolder ArgusSamples::GalleryThread::m_eglImageOutputStream
| private

Definition at line 444 of file Gallery.cpp.

EGLSurface ArgusSamples::GalleryThread::m_eglOutputSurface
| private

Definition at line 443 of file Gallery.cpp.

GalleryItemList ArgusSamples::GalleryThread::m_itemList
| private

Definition at line 449 of file Gallery.cpp.

GLuint ArgusSamples::GalleryThread::m_textureID
| private

Definition at line 445 of file Gallery.cpp.

GLuint ArgusSamples::GalleryThread::m_vbo
| private

Definition at line 447 of file Gallery.cpp.

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

- modules/tasks/Gallery.cpp