From 86a39108140a60fda2dffd9d4b378f915c3a47ab Mon Sep 17 00:00:00 2001 From: John Emmas Date: Tue, 3 Sep 2013 14:46:01 +0100 Subject: 'libs/panners' - Use 'alloca()' for a stack based array whose size is unknown (required to be buildable with MSVC) --- libs/panners/vbap/vbap.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libs/panners/vbap') diff --git a/libs/panners/vbap/vbap.cc b/libs/panners/vbap/vbap.cc index f5cbca79e0..f1da6a5829 100644 --- a/libs/panners/vbap/vbap.cc +++ b/libs/panners/vbap/vbap.cc @@ -25,6 +25,8 @@ #include #include +#include + #include "pbd/cartesian.h" #include "pbd/compose.h" @@ -290,7 +292,7 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co assert (sz == obufs.count().n_audio()); - int8_t outputs[sz]; // on the stack, no malloc + int8_t *outputs = (int8_t*)alloca(sz); // on the stack, no malloc /* set initial state of each output "record" */ @@ -319,10 +321,10 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co /* at this point, we can test a speaker's status: - (outputs[o] & 1) <= in use before - (outputs[o] & 2) <= in use this time - (outputs[o] & 3) == 3 <= in use both times - outputs[o] == 0 <= not in use either time + (*outputs[o] & 1) <= in use before + (*outputs[o] & 2) <= in use this time + (*outputs[o] & 3) == 3 <= in use both times + *outputs[o] == 0 <= not in use either time */ -- cgit v1.2.3