System.SetDriver Error

Hi,

We were using FMOD 2.02.09 and we have a lot of users that has an error when calling System.SetDriver. It cause the soundcard to be in error, and they need to unplugged, plug it back to make it work again.

I see in your Detailed Revision History for version 2.02.10 :

I upgrade to version 2.02.23 (the last one) and the error still occurs.

In the previous version of our software that include FMOD 2.01.05, the error was not present it seams. (Not sure about that)

Some details about our software :
Windows Only (10 and 11), OutputType WASAPI Only
At the start, it launch a software that makes the device list to changed
we suscribe to IMMNotificationClient::OnDeviceStateChange and other Windows notification to handle the device list change and make FMOD update device when this happen.
We do not use FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED because it is to slow for our needs.

Another issue we are encountering is that some of our users experience a complete disconnection of their USB and Bluetooth devices. (Not just audio devices).

At first, we thought it was isolated and related to the user’s computer, but it seems not. This can happen with an Intel I9 14900k as well as a 9th generation I3.
Our software needs to call System.setDriver quite intensively. Maybe this problem is not related to the issue of my previous message, but I wanted to bring it to your attention.
Since I don’t know exactly what FMOD does when this function is called, maybe this can guide your research.

Thank you in advance for your help.

Hi,

Thank you for sharing the information.

Unfortunately, I was not able to reproduce the issue you mentioned from my end.

Could I please grab some more information?

Are there any logs you can share?

Could you please tick API Error logging and set the Logging Level to “Log” (Unity Integration | 8. Settings | 8.2 Initialization | 8.2.1 Logging Level) to see if you can get more error logs from the console?

Would it be possible to get a code snippet around the System::setDriver() function?

Could you please elaborate on this issue?

Could you elaborate on this as well please?

Thank you for sharing the code and logs.

An Issue I could see is the Windows event triggering before the FMOD system has had a chance to update its driver list causing the invalid param, however, I still have not been able to reproduce the issue.

Would it be possible to elaborate the consideration of using 5 FMOD systems? Could you please describe the use case?

Thank you for the information.