Hi,
When there is no audio device, FMOD falls back to nosound.
There is a log entry at runtime when this happens. ie
[WRN] SystemI::init : No output sound devices found - switching output mode to FMOD_OUTPUTTYPE_NOSOUND
FMOD_ERR_OUTPUT_INIT is more like a device failed to init. We are seeing this a bit more lately and is most likely USB headset device related. When they send you the dxdiag the headset is not plugged in, and it looks like there are no sound devices.
If they can provide their headset ad OS version, i’d love to hear more about it, but its probably related to bad drivers at this point. We have one headset which we found refuses to initialize in a certain speaker mode, and only under directsound mode (which is WinXP only usually).
The way to avoid just bailing out, is to go into nosound mode again. You’d have to destroy the system object and recreate it, otherwise you’ll get FMOD_ERR_INVAILD_HANDLE by the look of it. This is something we’re looking to fix.
result = mFModStudio->initialize(512, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL |
FMOD_INIT_VOL0_BECOMES_VIRTUAL, 0);
if (result == FMOD_ERR_OUTPUT_INIT)
{
mFModStudio->release();
FMOD::Studio::System::create(&mFModStudio);
mFModStudio->getLowLevelSystem(&lowlevel);
lowlevel->setOutput(FMOD_OUTPUTTYPE_NOSOUND);
result = mFModStudio->initialize(512, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL | FMOD_INIT_VOL0_BECOMES_VIRTUAL, 0);
}
(I just typed that out here sorry if it doesnt compile straight away)
More info about the OS and device that fails would be good, and if FMOD logging mode is used, that would be even better. We could then get the WASAPI error code most likely.