Hi,
When constructing an AudioBuffer from an existing pre-allocated data to refer to I would expect it not to allocate.
This would allow to nicely wrap the buffer, passed by the audio driver, in a juce::AudioBuffer and use its methods to process the audio.
However, I realised that when the number of audio channels exceeds 32 the AudioBuffer constructor calls a malloc on each audio callback.
This is because the array AudioSampleBuffer::preallocatedChannelSpace
has fixed lenght 32 and AudioSampleBuffer::allocateChannels()
will always reallocate the channel pointer array if the number of channels passed at constructor exceeds this value.
Any workaround for that ?