diff options
author | David Robillard <d@drobilla.net> | 2008-02-02 17:22:04 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-02-02 17:22:04 +0000 |
commit | 80c3677c837cc9eb432df3d65a34aba543fa7258 (patch) | |
tree | ca23bb7e5bff6c35c151d73221002a9ce3abfe1a /libs/ardour/audio_buffer.cc | |
parent | 9f63ab9931e6478472853bdda58da47ea29ac125 (diff) |
Merge with 2.0-ongoing R2988
git-svn-id: svn://localhost/ardour2/branches/3.0@2991 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_buffer.cc')
-rw-r--r-- | libs/ardour/audio_buffer.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/ardour/audio_buffer.cc b/libs/ardour/audio_buffer.cc index 8444304832..915fdeb948 100644 --- a/libs/ardour/audio_buffer.cc +++ b/libs/ardour/audio_buffer.cc @@ -17,6 +17,10 @@ */ #include <ardour/audio_buffer.h> +#include <pbd/error.h> +#include <errno.h> + +#include "i18n.h" #ifdef __x86_64__ static const int CPU_CACHE_ALIGN = 64; @@ -24,6 +28,8 @@ static const int CPU_CACHE_ALIGN = 64; static const int CPU_CACHE_ALIGN = 16; /* arguably 32 on most arches, but it matters less */ #endif +using namespace PBD; + namespace ARDOUR { @@ -63,7 +69,10 @@ AudioBuffer::resize (size_t size) #ifdef NO_POSIX_MEMALIGN _data = (Sample *) malloc(sizeof(Sample) * _capacity); #else - posix_memalign((void**)&_data, CPU_CACHE_ALIGN, sizeof(Sample) * _capacity); + if (posix_memalign((void**)&_data, CPU_CACHE_ALIGN, sizeof(Sample) * _capacity)) { + fatal << string_compose (_("Memory allocation error: posix_memalign (%1 * %2) failed (%3)"), + CPU_CACHE_ALIGN, sizeof (Sample) * _capacity, strerror (errno)) << endmsg; + } #endif _owns_data = true; |