diff TestDefaults.cpp @ 28:b1bc4d045a4b vamp-plugin-tester-v1.0

* Solaris build fixes
author cannam
date Thu, 24 Sep 2009 14:11:14 +0000
parents 28097c1b3de4
children a2d9aed55a2a
line wrap: on
line diff
--- a/TestDefaults.cpp	Thu Sep 24 13:34:18 2009 +0000
+++ b/TestDefaults.cpp	Thu Sep 24 14:11:14 2009 +0000
@@ -48,6 +48,10 @@
 #include <cmath>
 #include <time.h>
 
+#ifndef __GNUC__
+#include <alloca.h>
+#endif
+
 Tester::TestRegistrar<TestDefaultProgram>
 TestDefaultProgram::m_registrar("E1 Inconsistent default program");
 
@@ -75,7 +79,11 @@
         if (!initAdapted(p.get(), channels, _step, _step, r)) return r;
         if (!data) data = createTestAudio(channels, _step, count);
         for (size_t i = 0; i < count; ++i) {
+#ifdef __GNUC__
             float *ptr[channels];
+#else
+            float **ptr = (float **)alloca(channels * sizeof(float));
+#endif
             size_t idx = i * _step;
             for (size_t c = 0; c < channels; ++c) ptr[c] = data[c] + idx;
             RealTime timestamp = RealTime::frame2RealTime(idx, rate);
@@ -131,7 +139,11 @@
         if (!initAdapted(p.get(), channels, _step, _step, r)) return r;
         if (!data) data = createTestAudio(channels, _step, count);
         for (size_t i = 0; i < count; ++i) {
+#ifdef __GNUC__
             float *ptr[channels];
+#else
+            float **ptr = (float **)alloca(channels * sizeof(float));
+#endif
             size_t idx = i * _step;
             for (size_t c = 0; c < channels; ++c) ptr[c] = data[c] + idx;
             RealTime timestamp = RealTime::frame2RealTime(idx, rate);