I'm not sure I understand the logic behind the "new" behaviour... I found it very convenient to just be able to write
AudioSampleBuffer B = A;
to create an independent copy of A, where A was, for instance, the buffer given to me in processBlock. Now, depending on how A was created (how am I supposed to know this? ) this may or may not create merely a reference to A. Moreover, if I write
AudioSampleBuffer B;
B = A;
I get a different result. I know, I know, copy constructor vs. assignment constructor etc., but this seems to have the potential for a lot of confusion... I'd expect the copy of a buffer to always have its own channel data.