#include <DccVoiceWindow.h>
|
static void | msleep (unsigned long msec) |
|
static void | sleep (unsigned long sec) |
|
static void | usleep (unsigned long usec) |
|
◆ DccVoiceThread()
◆ ~DccVoiceThread()
DccVoiceThread::~DccVoiceThread |
( |
| ) |
|
◆ checkSoundcard()
bool DccVoiceThread::checkSoundcard |
( |
| ) |
|
|
protected |
◆ closeSoundcard()
void DccVoiceThread::closeSoundcard |
( |
| ) |
|
|
protected |
◆ openSoundcard()
bool DccVoiceThread::openSoundcard |
( |
int |
mode | ) |
|
|
protected |
References __tr2qs_ctx, KviDccVoiceThreadOptions::bForceHalfDuplex, closeSoundcard(), KviCString::Format, KviDccVoiceThreadOptions::iSampleRate, KVI_FORMAT, KVI_NUM_CHANNELS, KVI_SNDCTL_FRAG_SIZE, m_pOpt, m_soundFd, m_soundFdMode, DccThread::postMessageEvent(), KviCString::ptr(), and KviDccVoiceThreadOptions::szSoundDevice.
Referenced by checkSoundcard(), and openSoundcardWithDuplexOption().
◆ openSoundcardForReading()
bool DccVoiceThread::openSoundcardForReading |
( |
| ) |
|
|
protected |
◆ openSoundcardForWriting()
bool DccVoiceThread::openSoundcardForWriting |
( |
| ) |
|
|
protected |
◆ openSoundcardWithDuplexOption()
bool DccVoiceThread::openSoundcardWithDuplexOption |
( |
int |
openMode, |
|
|
int |
failMode |
|
) |
| |
|
protected |
◆ readWriteStep()
bool DccVoiceThread::readWriteStep |
( |
| ) |
|
|
protected |
References KviDataBuffer::data(), DccVoiceCodec::decode(), DccThread::handleInvalidSocketRead(), kvi_select(), kvi_socket_recv(), kvi_socket_send(), DccThread::m_fd, m_inFrameBuffer, m_inSignalBuffer, m_outFrameBuffer, m_pOpt, KviDccVoiceThreadOptions::pCodec, KviDataBuffer::remove(), KviDataBuffer::resize(), and KviDataBuffer::size().
Referenced by run().
◆ run()
void DccVoiceThread::run |
( |
| ) |
|
|
protectedvirtual |
COMPILE_DISABLE_DCC_VOICE
Reimplemented from KviThread.
References closeSoundcard(), DccVoiceCodec::decodedFrameSize(), KviSensitiveThread::dequeueEvent(), e, DccVoiceCodec::encodedFrameSize(), KVI_DCC_THREAD_EVENT_ACTION, KVI_INVALID_SOCKET, kvi_socket_close, KVI_THREAD_EVENT_TERMINATE, KviMutex::lock(), m_bRecordingRequestPending, DccThread::m_fd, m_iInputBufferSize, m_inSignalBuffer, m_iOutputBufferSize, m_outFrameBuffer, m_pInfoMutex, m_pOpt, KviDccVoiceThreadOptions::pCodec, readWriteStep(), KviDataBuffer::size(), soundStep(), startRecording(), stopRecording(), and KviMutex::unlock().
◆ soundStep()
bool DccVoiceThread::soundStep |
( |
| ) |
|
|
protected |
References KviDataBuffer::addSize(), KviDataBuffer::data(), DccVoiceCodec::encode(), KviDccVoiceThreadOptions::iPreBufferSize, KVI_FRAGMENT_SIZE_IN_BYTES, m_bPlaying, m_bRecording, m_iLastSignalBufferSize, m_iLastSignalBufferTime, m_inSignalBuffer, m_outFrameBuffer, m_outSignalBuffer, m_pOpt, m_soundFd, KviDccVoiceThreadOptions::pCodec, KviDataBuffer::remove(), KviDataBuffer::resize(), KviDataBuffer::size(), startPlaying(), and stopPlaying().
Referenced by run().
◆ startPlaying()
void DccVoiceThread::startPlaying |
( |
| ) |
|
|
protected |
◆ startRecording()
void DccVoiceThread::startRecording |
( |
| ) |
|
|
protected |
◆ stopPlaying()
void DccVoiceThread::stopPlaying |
( |
| ) |
|
|
protected |
◆ stopRecording()
void DccVoiceThread::stopRecording |
( |
| ) |
|
|
protected |
◆ DccVoiceWindow
◆ m_bPlaying
bool DccVoiceThread::m_bPlaying |
|
protected |
◆ m_bRecording
bool DccVoiceThread::m_bRecording |
|
protected |
◆ m_bRecordingRequestPending
bool DccVoiceThread::m_bRecordingRequestPending |
|
protected |
◆ m_bSoundcardChecked
bool DccVoiceThread::m_bSoundcardChecked |
|
protected |
◆ m_iInputBufferSize
int DccVoiceThread::m_iInputBufferSize |
|
protected |
◆ m_iLastSignalBufferSize
int DccVoiceThread::m_iLastSignalBufferSize |
|
protected |
◆ m_iLastSignalBufferTime
long DccVoiceThread::m_iLastSignalBufferTime |
|
protected |
◆ m_inFrameBuffer
◆ m_inSignalBuffer
◆ m_iOutputBufferSize
int DccVoiceThread::m_iOutputBufferSize |
|
protected |
◆ m_outFrameBuffer
◆ m_outSignalBuffer
◆ m_pInfoMutex
◆ m_pOpt
◆ m_soundFd
int DccVoiceThread::m_soundFd |
|
protected |
◆ m_soundFdMode
int DccVoiceThread::m_soundFdMode |
|
protected |
The documentation for this class was generated from the following files: