CONTEST.EXE is working correctly. So it must be something related to my code, or probably the .NET CLR
I did the same on my code (load a stream and use getdata to fill the buffer in the callback). And still got the problem. So, I'll dig a little more.
One more question, regarding BASS_WASAPI_PutData
"If successful, the amount of data used is returned.
As much data as possible will be placed in the device's buffer; this function will have to be called again for any remainder. "
Trying with a thread to fill the buffer. I get 0 most of the calls, and then a bigger number.
Is the bigger number the number of bytes that didn't fit the buffer ?
When I call again BASS_WASAPI_PutData to feed the remaining data, should I provide a buffer, or will it use the last one.