Well I've written a nice new genetic buffer (might move it into OpenAL plugin later on) but that didn't solve the problem.
Instead I think it's more an issue in the various levels of abstraction in PortAudio so I've dug out the old MSDN documentation for it and am trying to get that up to date and working.
Hopefully this will remove the dependence on PortAudio and mean I'll have more control over WASAPI.
Well I've switched over to a hard coded WASAPI implemetation and dropped PortAudio but I'm kinda back to where I was. The audio plays at like 1/8th the speed like its an LP and its slowed down.
I'm not sure why it's doing this and I'm going over the MSDN docs to try and found out why but right now I'm at a loss!