diff audioio/BufferingAudioCallbackRecordTarget.cpp @ 2:b8f6bbf172e7

...
author cannam
date Fri, 20 Oct 2006 15:32:33 +0000
parents a6020bf991cd
children 7fc28f7a935a
line wrap: on
line diff
--- a/audioio/BufferingAudioCallbackRecordTarget.cpp	Fri Oct 20 15:31:00 2006 +0000
+++ b/audioio/BufferingAudioCallbackRecordTarget.cpp	Fri Oct 20 15:32:33 2006 +0000
@@ -10,7 +10,8 @@
     m_sourceRecordLatency(0)
 {
     for (size_t c = 0; c < getChannelCount(); ++c) {
-        m_buffers.push_back(new RingBuffer<float>(RING_BUFFER_SIZE));
+        m_buffers.push_back(new RingBuffer<float, MAX_DISTINCT_STEP_SIZES>
+                            (RING_BUFFER_SIZE));
     }
 }
 
@@ -34,11 +35,11 @@
 }
 
 size_t
-BufferingAudioCallbackRecordTarget::samplesReady() const
+BufferingAudioCallbackRecordTarget::samplesReady(int reader) const
 {
     size_t ready = 0;
     for (size_t c = 0; c < getChannelCount(); ++c) {
-        size_t readyHere = m_buffers[c]->getReadSpace();
+        size_t readyHere = m_buffers[c]->getReadSpace(reader);
         if (c == 0 || readyHere < ready) ready = readyHere;
     }
     return ready;
@@ -46,9 +47,22 @@
 
 size_t
 BufferingAudioCallbackRecordTarget::getSamples(size_t channel, size_t nframes,
-                                               float *samples)
+                                               float *samples, int reader)
 {
-    return m_buffers[channel]->read(samples, nframes);
+    return m_buffers[channel]->read(samples, nframes, reader);
 }
 
+size_t
+BufferingAudioCallbackRecordTarget::peekSamples(size_t channel, size_t nframes,
+                                                float *samples, int reader)
+{
+    return m_buffers[channel]->peek(samples, nframes, reader);
+}
 
+size_t
+BufferingAudioCallbackRecordTarget::skipSamples(size_t channel, size_t nframes,
+                                                int reader)
+{
+    return m_buffers[channel]->skip(nframes, reader);
+}
+