I lent a P4 laptop to do some tests on it. It has a SIS7012 soundchip and something very weird happens on it:
Although it has only 1 Stereo Output and 1 Stereo Input, audioDeviceIOCallback receives as parameters 4 output channels and 4 inputs channels. Strange is that the AudioDeviceSelectorComponent only lets me select one stereo output or stereo input, which both are called “Left/Right” (so the selector works as it should, but the audioDeviceIOCallback does not).
I noticed that the 2 first output buffer pointers of audioDeviceIOCallback are always 0 and the 2 following are the “real pointers” to “Left/Right”.
Also, in 50% of the cases, the CPU usage goes up to 100% directly at the start of my app, even if there is no code in audioDeviceIOCallback. When I select << no audio device >> in the AudioDeviceSelectorComponent, the CPU usage goes back to 1%.
This is with Juce 1.45.
Edit: I just tried out with my ESI U46DJ (which has 3 Stereo Outputs and 2 Stereo Inputs) on the same laptop, and there’s also a strange behaviour when using non-ASIO drivers: numInputBuffers AND numOutputBuffers equals 10 (so it is the sum of the output plus the input buffers). This also explains the number 4 (2 outs + 2 ins) for the SiS7012.
Perhaps I am doing something completely wrong?