kwave
18.07.70
|
#include <RecordThread.h>
Signals | |
void | bufferFull () |
void | stopped (int errorcode) |
Public Member Functions | |
RecordThread () | |
virtual | ~RecordThread () Q_DECL_OVERRIDE |
virtual void | run () Q_DECL_OVERRIDE |
void | setRecordDevice (Kwave::RecordDevice *device) |
int | setBuffers (unsigned int count, unsigned int size) |
unsigned int | remainingBuffers () |
unsigned int | queuedBuffers () |
QByteArray | dequeue () |
![]() | |
WorkerThread (Kwave::Runnable *runnable, QVariant params) | |
virtual | ~WorkerThread () Q_DECL_OVERRIDE |
virtual void | start () |
virtual int | stop (unsigned int timeout=10000) |
virtual void | cancel () |
bool | shouldStop () |
Private Attributes | |
Kwave::RecordDevice * | m_device |
QQueue< QByteArray > | m_empty_queue |
QQueue< QByteArray > | m_full_queue |
unsigned int | m_buffer_count |
unsigned int | m_buffer_size |
Definition at line 33 of file RecordThread.h.
Kwave::RecordThread::RecordThread | ( | ) |
|
virtual |
Destructor
Definition at line 35 of file RecordThread.cpp.
References m_empty_queue, m_full_queue, and Kwave::WorkerThread::stop().
|
signal |
QByteArray Kwave::RecordThread::dequeue | ( | ) |
De-queues a buffer from the m_full_queue.
Definition at line 87 of file RecordThread.cpp.
References m_empty_queue, and m_full_queue.
Referenced by Kwave::RecordPlugin::processBuffer().
unsigned int Kwave::RecordThread::queuedBuffers | ( | ) |
Returns the number of queued filled buffers
Definition at line 81 of file RecordThread.cpp.
References m_full_queue.
Referenced by Kwave::RecordPlugin::enterInhibit(), Kwave::RecordPlugin::processBuffer(), Kwave::RecordPlugin::setup(), and Kwave::RecordPlugin::updateBufferProgressBar().
unsigned int Kwave::RecordThread::remainingBuffers | ( | ) |
Returns the amount of remaining empty buffers
Definition at line 75 of file RecordThread.cpp.
References m_empty_queue.
Referenced by Kwave::RecordPlugin::updateBufferProgressBar().
|
virtual |
does the recording
Reimplemented from Kwave::WorkerThread.
Definition at line 105 of file RecordThread.cpp.
References bufferFull(), m_device, m_empty_queue, m_full_queue, Kwave::RecordDevice::read(), Kwave::WorkerThread::shouldStop(), and stopped().
int Kwave::RecordThread::setBuffers | ( | unsigned int | count, |
unsigned int | size | ||
) |
Set the number of buffers and their size
count | the number of buffer, minimum allowed is two |
size | the number of bytes for each buffer |
Definition at line 52 of file RecordThread.cpp.
References m_buffer_count, m_buffer_size, m_empty_queue, and m_full_queue.
Referenced by Kwave::RecordPlugin::setupRecordThread().
void Kwave::RecordThread::setRecordDevice | ( | Kwave::RecordDevice * | device | ) |
Select a new record device.
device | a RecordDevice that is opened and set up for reading |
Definition at line 43 of file RecordThread.cpp.
References m_device.
Referenced by Kwave::RecordPlugin::setupRecordThread().
|
signal |
emitted when the recording stops or aborts
errorcode | zero if stopped normally or a negative error code if aborted |
Referenced by run().
|
private |
number of buffers to allocate
Definition at line 99 of file RecordThread.h.
Referenced by setBuffers().
|
private |
size of m_buffer in bytes
Definition at line 102 of file RecordThread.h.
Referenced by setBuffers().
|
private |
the device used as source
Definition at line 90 of file RecordThread.h.
Referenced by run(), and setRecordDevice().
|
private |
queue with empty buffers for raw input data
Definition at line 93 of file RecordThread.h.
Referenced by dequeue(), remainingBuffers(), run(), setBuffers(), and ~RecordThread().
|
private |
queue with filled buffers with raw input data
Definition at line 96 of file RecordThread.h.
Referenced by dequeue(), queuedBuffers(), run(), setBuffers(), and ~RecordThread().