I've noticed that the open method for an ASIO device doesn't flag an error when the ASIO API opens fewer channels than requested (I'm using 2.1.8 audio routines in combination with 3.0.4 for the rest because of a previously posted bug, but I've checked this with the latest version and it's the same).
What happens is that the in line 478 the number of buffers (and therefore channels) is determined by resetBuffers, which ignores requested channel numbers not in the range recognised by the driver.
My question - is this by design or is it an oversight?
You may ask - how can this happen in the first place? In my case it happens when restoring a saved setup after a device has been unplugged. I was using a failure of the initialisation to flag this condition which works fine except for ASIO