I suggest one of thoses :
1/ Make mySamples protected, so callback function can use it when overloaded. With such a decision, SoundBufferRecorder can be subclassed in a usefull way.
Callback function could be delared protected too if we consider that the subclass can call SoundBufferRecorder's callback.
2/ Make callback's function non virtual. This will not change anything at runtime, because thay are called from SoundRecorder, so the function call will be virtual anyway.
But it makes it clear that the class is not meant to be overriden.
Let's explain what make me start this topic. I did look at the SoundBufferRecorder class and saw that it has some virtual function. So I wondered what I could do to subclass SoundBufferRecorder in a usefull way. And nothing that couldn't be done with SoundRecorder directly, because every additions in SoundBufferRecorder are private. At the end, this virtual stuff isn't usefull and can confuse a person reading the header file.