Mercurial > hg > vamp-live-host
diff audioio/BufferingAudioCallbackRecordTarget.cpp @ 5:7fc28f7a935a
...
author | cannam |
---|---|
date | Mon, 06 Nov 2006 20:12:38 +0000 |
parents | b8f6bbf172e7 |
children |
line wrap: on
line diff
--- a/audioio/BufferingAudioCallbackRecordTarget.cpp Mon Nov 06 14:41:46 2006 +0000 +++ b/audioio/BufferingAudioCallbackRecordTarget.cpp Mon Nov 06 20:12:38 2006 +0000 @@ -26,10 +26,14 @@ BufferingAudioCallbackRecordTarget::putSamples(size_t nframes, float **samples) { for (size_t c = 0; c < getChannelCount(); ++c) { + size_t written = nframes; if (samples[c]) { - m_buffers[c]->write(samples[c], nframes); + written = m_buffers[c]->write(samples[c], nframes); } else { - m_buffers[c]->zero(nframes); + written = m_buffers[c]->zero(nframes); + } + if (written < nframes) { + std::cerr << "WARNING: BufferingAudioCallbackRecordTarget::putSamples: Buffer overflow: wrote " << written << " of " << nframes << " samples on channel " << c << std::endl; } } } @@ -66,3 +70,11 @@ return m_buffers[channel]->skip(nframes, reader); } +size_t +BufferingAudioCallbackRecordTarget::skipAllSamples(size_t channel, + int reader) +{ + return m_buffers[channel]->skip(m_buffers[channel]->getReadSpace(reader), + reader); +} +