projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into windows
[ardour.git]
/
libs
/
pbd
/
pbd
/
ringbufferNPT.h
diff --git
a/libs/pbd/pbd/ringbufferNPT.h
b/libs/pbd/pbd/ringbufferNPT.h
index fee2efce3d8c78c4900eb09d0cb08580bf04c456..e43f9675922cca5c3fcf3a514a8ee45b9c6f0671 100644
(file)
--- a/
libs/pbd/pbd/ringbufferNPT.h
+++ b/
libs/pbd/pbd/ringbufferNPT.h
@@
-15,7
+15,6
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id$
*/
#ifndef ringbuffer_npt_h
*/
#ifndef ringbuffer_npt_h
@@
-23,8
+22,11
@@
//#include <sys/mman.h>
//#include <sys/mman.h>
+#include <cstring>
#include <glib.h>
#include <glib.h>
+namespace PBD {
+
/* ringbuffer class where the element size is not required to be a power of two */
template<class T>
/* ringbuffer class where the element size is not required to be a power of two */
template<class T>
@@
-35,10
+37,9
@@
class RingBufferNPT
size = sz;
buf = new T[size];
reset ();
size = sz;
buf = new T[size];
reset ();
-
- };
+ }
- virtual ~RingBufferNPT() {
+ virtual ~RingBufferNPT
() {
delete [] buf;
}
delete [] buf;
}
@@
-55,7
+56,7
@@
class RingBufferNPT
}
size_t read (T *dest, size_t cnt);
}
size_t read (T *dest, size_t cnt);
- size_t write (T *src, size_t cnt);
+ size_t write (
const
T *src, size_t cnt);
struct rw_vector {
T *buf[2];
struct rw_vector {
T *buf[2];
@@
-157,7
+158,7
@@
RingBufferNPT<T>::read (T *dest, size_t cnt)
}
template<class T> size_t
}
template<class T> size_t
-RingBufferNPT<T>::write (T *src, size_t cnt)
+RingBufferNPT<T>::write (
const
T *src, size_t cnt)
{
size_t free_cnt;
size_t cnt2;
{
size_t free_cnt;
size_t cnt2;
@@
-230,6
+231,7
@@
RingBufferNPT<T>::get_read_vector (RingBufferNPT<T>::rw_vector *vec)
vec->buf[0] = &buf[r];
vec->len[0] = free_cnt;
vec->buf[0] = &buf[r];
vec->len[0] = free_cnt;
+ vec->buf[1] = 0;
vec->len[1] = 0;
}
}
vec->len[1] = 0;
}
}
@@
-272,4
+274,6
@@
RingBufferNPT<T>::get_write_vector (RingBufferNPT<T>::rw_vector *vec)
}
}
}
}
+} /* namespace */
+
#endif /* __ringbuffer_npt_h__ */
#endif /* __ringbuffer_npt_h__ */