summaryrefslogtreecommitdiffstats
path: root/raul/RingBuffer.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-02-28 18:35:58 +0000
committerDavid Robillard <d@drobilla.net>2010-02-28 18:35:58 +0000
commit082f526e2523538fe19cd9597b25317af9d0a195 (patch)
tree8f5b58c6e0ba3fa2df2a659468514a6d317744db /raul/RingBuffer.hpp
parent556f42229b596791b8eff00e8e0e668057845585 (diff)
downloadraul-082f526e2523538fe19cd9597b25317af9d0a195.tar.gz
raul-082f526e2523538fe19cd9597b25317af9d0a195.tar.bz2
raul-082f526e2523538fe19cd9597b25317af9d0a195.zip
Use appropriate allocation for RingBuffer and SRSWQueue (was backwards).
git-svn-id: http://svn.drobilla.net/lad/trunk/raul@2508 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'raul/RingBuffer.hpp')
-rw-r--r--raul/RingBuffer.hpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/raul/RingBuffer.hpp b/raul/RingBuffer.hpp
index 23d4d90..77d4256 100644
--- a/raul/RingBuffer.hpp
+++ b/raul/RingBuffer.hpp
@@ -20,6 +20,7 @@
#include <cassert>
#include <cstring>
+#include <cstdlib>
#include <iostream>
#include <glib.h>
#include "raul/log.hpp"
@@ -34,12 +35,11 @@ namespace Raul {
template <typename T>
class RingBuffer {
public:
-
/** @param size Size in bytes.
*/
RingBuffer(size_t size)
: _size(size)
- , _buf(new T[size])
+ , _buf(static_cast<char*>(malloc(size)))
{
reset();
assert(read_space() == 0);
@@ -47,7 +47,7 @@ public:
}
virtual ~RingBuffer() {
- delete[] _buf;
+ free(_buf);
}
/** Reset(empty) the ringbuffer.
@@ -99,7 +99,7 @@ protected:
mutable int _read_ptr;
size_t _size; ///< Size (capacity) in bytes
- T* _buf; ///< size, event, size, event...
+ char* _buf; ///< Contents
};
@@ -190,7 +190,7 @@ bool
RingBuffer<T>::skip(size_t size)
{
if (read_space() < size) {
- warn << "Attempt to skip past end of MIDI ring buffer" << std::endl;
+ warn << "Attempt to skip past end of RingBuffer" << std::endl;
return false;
}