25 :m_buffer(), m_size(0), m_read_offset(0), m_lock(QMutex::Recursive)
40 QMutexLocker _lock(&
m_lock);
47 QMutexLocker _lock(&
m_lock);
57 QMutexLocker _lock(&
m_lock);
72 QMutexLocker _lock(&
m_lock);
76 unsigned int rest = buffer.
size();
77 const unsigned int available =
length();
78 if (rest > available) rest = available;
81 unsigned int read = 0;
82 while (rest && !
m_buffer.isEmpty()) {
85 unsigned int src_len = head.
size();
115 unsigned int len = 0;
124 QMutexLocker _lock(&
m_lock);
131 QMutexLocker _lock(&
m_lock);
138 QMutexLocker _lock(&
m_lock);
QQueue< Kwave::SampleArray > m_buffer
virtual void put(const Kwave::SampleArray &source)
virtual void setSize(unsigned int size)
sample_index_t m_read_offset
virtual unsigned int get(Kwave::SampleArray &buffer)
virtual unsigned int length()
const sample_t * constData() const
unsigned int size() const
unsigned int unlockedLength()