Argus Camera Sample
Argus Camera Sample
 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

Definition at line 428 of file Gallery.cpp.


Member Enumeration Documentation

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
inlineprivate

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

Definition at line 825 of file Gallery.cpp.

bool ArgusSamples::GalleryThread::threadInitialize ( )
privatevirtual
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 ( )
privatevirtual

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: