This looks wrong:
if (inputDeviceID == 0 && inputDeviceID == 0)
return nullptr;
Shouldn't that be
if (inputDeviceID == 0 && outputDeviceID == 0)
return nullptr;
This looks wrong:
if (inputDeviceID == 0 && inputDeviceID == 0)
return nullptr;
Shouldn't that be
if (inputDeviceID == 0 && outputDeviceID == 0)
return nullptr;
Doh! Thanks, fixed now.