Kernel Streaming is lowest 'audio' layer in Windows: Why go through more layers (=WASAPI) if direct access is possible? In audio, less is usually more.
(unlike WASAPI, ASIO _can_ be direct although it's not a given: there are 'ASIO' drivers out there which are using KS internally…)
KS also allows for things that WASAPI does not: whereas both ASIO & WASAPI require memory copy operation per design, KS does not. Again, less is more.
ASIO usually has _fixed_ Buffer size – it has been established from experience that various Buffer sizes can have sonic impact with smaller values sounding 'better' for most. Not being able to manipulate Buffer size is a clear restriction for ASIO.
In addition, ASIO may require even more memory copy operations then WASAPI as it expects left & right channel to be 'separated' (WAV format has samples interleaved).
WASAPI allows for different Buffer sizes but requires certain 'minimal' size – Usually this is 192/256 samples for CD and 512+ for HiRez. One cannot go below that minimum.
Kernel streaming, on the other had, has no such restrictions: one can even use Buffer of a single sample! ('DirectLink' as unique feature of JPLAY)
Hopefully this makes it clear now why we recommend KS: Lowest layer, no restrictions on Buffer size, zero-copy scenarios possible.
Again, we believe 'less is more': not everyone agrees this makes a sonic difference and that is ok – but it does not change the facts
Why JRiver (=Matt) does not recommend KS is something you will have to ask him: links you posted do not have a single reason mentioned.
Edited by Josef, 27 October 2013 - 04:30 PM.