Answered
0
0

Some of our customers are reporting the error FMOD_ERR_OUTPUT_INIT, which doesn’t give a lot of help. I have received a DxDiag report from one of them and it appears that there was no default playback device. I’m not sure how that’s possible. What can I do to figure out what’s going wrong? These are the parameters I’m passing:

mFModStudio->initialize(512, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL | FMOD_INIT_VOL0_BECOMES_VIRTUAL, 0);

FMOD_ADVANCEDSETTINGS has also had setSoftwareChannels, maxVorbisCodecs and maxMPEGCodecs set to 512, and vol0virtualvol set to 0.001f.

Thanks in advance,
Tim

  • You must to post comments
Best Answer
0
0

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.

  • You must to post comments
0
0

Thanks Brett,

For now I have disabled our sound if it fails to initialise.

Indeed some of the DxDiag reports I have been receiving appear to have USB headsets in them and set as default devices. I’ve been asking users if they are unplugged and will report back.

Here are two examples:

Operating System: Windows 10 Professionnel 64-bit (10.0, Build 14393) (14393.rs1_release_sec.170327-1835)
Description: Casque (2- Razer Kraken USB)

Operating System: Windows 7 Professionnel N 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_ldr.170307-1800)
Description: Casque pour téléphone (3- Razer Kraken 7.1 Chroma)

I’ll let you know if any more come in and see about adding FMOD logging.

  • Brett Paterson

    Who knows what else they’re using. You’re right though, media players are generally friendly, in fact most programs are. Only a DAW or something hardcore like that would consider using exclusive mode in windows.

    iPhone’s headphone is using i’m guessing the built in audio , not the razer? Its possible that the other program is not playing through that app or disallows exclusive mode? (that’s in the settings as I said). I’d like to know if the exclusive mode tickbox was on in that case.

    If its not, then yes, it could be a driver, but if that was the case I should be able to download that driver and reproduce the problem. Currently with the latest driver it works no problem.

    Either way, we can’t fix the driver , and we can’t stop the user having the exclusive mode tickbox on, so we can only fail and reinit in nosound in this case, either way.

    With a bad driver, *sometimes* we can alter some init code to work around it, this is like what we had to do in the old old days , ie some sound cards we had to do a strncmp against the device name, and avoid setting 7.1 for example , otherwise the OS bluescreened.

  • Tim Auld

    So he said that the box was checked (Allow applications to take exclusive control of this device). He unchecked it and it is still failing.

    He also updated the driver – also no difference.

    Do you want me send you his DxDiag report? Not sure what else to try.

  • Brett Paterson

    i’d love to open a dialogue with him, if he’d like, he could contact support@fmod.com and we could see if our own examples fail like that, or if it is just in the game only.

  • Tim Auld

    I just got an error 51 report from someone with no USB headset. Is there a way to gather debug logging from the release DLLs?

  • Brett Paterson

    we generally exclude all the logging strings from the release lib, you’d have to use fmodL to get logging. Also I just found this https://obsproject.com/forum/threads/error-88890008-problem-with-razer-kraken-headset-solved.6723/ which says solved but isnt really.

0
0

Here is a video that seems to help, the razer kraken has known problems. https://www.youtube.com/watch?v=Ny1FzeCYWdI so its not just fmod.

  • You must to post comments
Showing 3 results
Your Answer

Please first to submit.