Mercurial > hg > vamp-live-host
comparison audioio/BufferingAudioCallbackRecordTarget.cpp @ 5:7fc28f7a935a
...
author | cannam |
---|---|
date | Mon, 06 Nov 2006 20:12:38 +0000 |
parents | b8f6bbf172e7 |
children |
comparison
equal
deleted
inserted
replaced
4:f0e9092bd3e4 | 5:7fc28f7a935a |
---|---|
24 | 24 |
25 void | 25 void |
26 BufferingAudioCallbackRecordTarget::putSamples(size_t nframes, float **samples) | 26 BufferingAudioCallbackRecordTarget::putSamples(size_t nframes, float **samples) |
27 { | 27 { |
28 for (size_t c = 0; c < getChannelCount(); ++c) { | 28 for (size_t c = 0; c < getChannelCount(); ++c) { |
29 size_t written = nframes; | |
29 if (samples[c]) { | 30 if (samples[c]) { |
30 m_buffers[c]->write(samples[c], nframes); | 31 written = m_buffers[c]->write(samples[c], nframes); |
31 } else { | 32 } else { |
32 m_buffers[c]->zero(nframes); | 33 written = m_buffers[c]->zero(nframes); |
34 } | |
35 if (written < nframes) { | |
36 std::cerr << "WARNING: BufferingAudioCallbackRecordTarget::putSamples: Buffer overflow: wrote " << written << " of " << nframes << " samples on channel " << c << std::endl; | |
33 } | 37 } |
34 } | 38 } |
35 } | 39 } |
36 | 40 |
37 size_t | 41 size_t |
64 int reader) | 68 int reader) |
65 { | 69 { |
66 return m_buffers[channel]->skip(nframes, reader); | 70 return m_buffers[channel]->skip(nframes, reader); |
67 } | 71 } |
68 | 72 |
73 size_t | |
74 BufferingAudioCallbackRecordTarget::skipAllSamples(size_t channel, | |
75 int reader) | |
76 { | |
77 return m_buffers[channel]->skip(m_buffers[channel]->getReadSpace(reader), | |
78 reader); | |
79 } | |
80 |