ArgusSamples::ConsumerThread Class Reference

Inheritance diagram for ArgusSamples::ConsumerThread:

ArgusSamples::CaptureConsumerThread ArgusSamples::PreviewConsumerThread

List of all members.

Public Member Functions

 ConsumerThread (OutputStream *stream)
virtual ~ConsumerThread ()
 ConsumerThread (OutputStream *stream)
 ~ConsumerThread ()
bool isInError ()
 ConsumerThread (OutputStream *stream)
 ~ConsumerThread ()
bool isInError ()

Protected Member Functions

virtual bool processV4L2Fd (int32_t fd, uint64_t frameNumber)=0
Thread methods
virtual bool threadInitialize ()
virtual bool threadExecute ()
virtual bool threadShutdown ()

Protected Attributes

OutputStream * m_stream
UniqueObj< FrameConsumer > m_consumer
int m_dmabuf

Private Member Functions

bool createVideoEncoder ()
void abort ()
bool createImageConverter ()
void abort ()
void writeFrameToOpencvConsumer (camera_caffe_context *p_ctx, NvBuffer *buffer)
Thread methods
virtual bool threadInitialize ()
virtual bool threadExecute ()
virtual bool threadShutdown ()
Thread methods
virtual bool threadInitialize ()
virtual bool threadExecute ()
virtual bool threadShutdown ()

Static Private Member Functions

static bool encoderCapturePlaneDqCallback (struct v4l2_buffer *v4l2_buf, NvBuffer *buffer, NvBuffer *shared_buffer, void *arg)
static bool converterCapturePlaneDqCallback (struct v4l2_buffer *v4l2_buf, NvBuffer *buffer, NvBuffer *shared_buffer, void *arg)
static bool converterOutputPlaneDqCallback (struct v4l2_buffer *v4l2_buf, NvBuffer *buffer, NvBuffer *shared_buffer, void *arg)

Private Attributes

NvVideoEncoderm_VideoEncoder
std::ofstream * m_outputFile
bool m_gotError
NvVideoConverterm_ImageConverter
std::queue< NvBuffer * > * m_ConvOutputPlaneBufQueue
pthread_mutex_t m_queueLock
pthread_cond_t m_queueCond
int conv_buf_num
int m_numPendingFrames
camera_caffe_contextm_pContext


Detailed Description

Definition at line 74 of file main.cpp.


Constructor & Destructor Documentation

ArgusSamples::ConsumerThread::ConsumerThread ( OutputStream *  stream  )  [inline, explicit]

Definition at line 77 of file main.cpp.

ArgusSamples::ConsumerThread::~ConsumerThread (  )  [virtual]

Definition at line 99 of file main.cpp.

ArgusSamples::ConsumerThread::ConsumerThread ( OutputStream *  stream  )  [explicit]

ArgusSamples::ConsumerThread::~ConsumerThread (  ) 

ArgusSamples::ConsumerThread::ConsumerThread ( OutputStream *  stream  )  [explicit]

ArgusSamples::ConsumerThread::~ConsumerThread (  ) 


Member Function Documentation

void ArgusSamples::ConsumerThread::abort (  )  [private]

void ArgusSamples::ConsumerThread::abort (  )  [private]

Definition at line 353 of file main.cpp.

bool ArgusSamples::ConsumerThread::converterCapturePlaneDqCallback ( struct v4l2_buffer *  v4l2_buf,
NvBuffer buffer,
NvBuffer shared_buffer,
void *  arg 
) [static, private]

Definition at line 261 of file camera_caffe_main.cpp.

bool ArgusSamples::ConsumerThread::converterOutputPlaneDqCallback ( struct v4l2_buffer *  v4l2_buf,
NvBuffer buffer,
NvBuffer shared_buffer,
void *  arg 
) [static, private]

Definition at line 292 of file camera_caffe_main.cpp.

bool ArgusSamples::ConsumerThread::createImageConverter (  )  [private]

Definition at line 323 of file camera_caffe_main.cpp.

bool ArgusSamples::ConsumerThread::createVideoEncoder (  )  [private]

Definition at line 282 of file main.cpp.

bool ArgusSamples::ConsumerThread::encoderCapturePlaneDqCallback ( struct v4l2_buffer *  v4l2_buf,
NvBuffer buffer,
NvBuffer shared_buffer,
void *  arg 
) [static, private]

Definition at line 359 of file main.cpp.

bool ArgusSamples::ConsumerThread::isInError (  )  [inline]

Definition at line 70 of file camera_caffe_main.cpp.

bool ArgusSamples::ConsumerThread::isInError (  )  [inline]

Definition at line 87 of file main.cpp.

virtual bool ArgusSamples::ConsumerThread::processV4L2Fd ( int32_t  fd,
uint64_t  frameNumber 
) [protected, pure virtual]

virtual bool ArgusSamples::ConsumerThread::threadExecute (  )  [private, virtual]

virtual bool ArgusSamples::ConsumerThread::threadExecute (  )  [private, virtual]

bool ArgusSamples::ConsumerThread::threadExecute (  )  [protected, virtual]

Definition at line 115 of file main.cpp.

virtual bool ArgusSamples::ConsumerThread::threadInitialize (  )  [private, virtual]

virtual bool ArgusSamples::ConsumerThread::threadInitialize (  )  [private, virtual]

bool ArgusSamples::ConsumerThread::threadInitialize (  )  [protected, virtual]

Reimplemented in ArgusSamples::PreviewConsumerThread, and ArgusSamples::CaptureConsumerThread.

Definition at line 105 of file main.cpp.

virtual bool ArgusSamples::ConsumerThread::threadShutdown (  )  [private, virtual]

virtual bool ArgusSamples::ConsumerThread::threadShutdown (  )  [private, virtual]

bool ArgusSamples::ConsumerThread::threadShutdown (  )  [protected, virtual]

Reimplemented in ArgusSamples::PreviewConsumerThread, and ArgusSamples::CaptureConsumerThread.

Definition at line 166 of file main.cpp.

void ArgusSamples::ConsumerThread::writeFrameToOpencvConsumer ( camera_caffe_context p_ctx,
NvBuffer buffer 
) [private]

Definition at line 247 of file camera_caffe_main.cpp.


Member Data Documentation

Definition at line 107 of file camera_caffe_main.cpp.

UniqueObj< FrameConsumer > ArgusSamples::ConsumerThread::m_consumer [protected]

Definition at line 95 of file main.cpp.

Definition at line 104 of file camera_caffe_main.cpp.

Definition at line 96 of file main.cpp.

Definition at line 113 of file main.cpp.

Definition at line 103 of file camera_caffe_main.cpp.

Definition at line 108 of file camera_caffe_main.cpp.

Definition at line 112 of file main.cpp.

Definition at line 110 of file camera_caffe_main.cpp.

Definition at line 106 of file camera_caffe_main.cpp.

pthread_mutex_t ArgusSamples::ConsumerThread::m_queueLock [private]

Definition at line 105 of file camera_caffe_main.cpp.

OutputStream * ArgusSamples::ConsumerThread::m_stream [protected]

Definition at line 94 of file main.cpp.

Definition at line 111 of file main.cpp.


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

Generated on Wed Nov 9 19:52:25 2016 for NVIDIA Tegra Multimedia API Framework by  doxygen 1.5.8