Skip to content

"Default audio device changed" on every loop causes perpetual sound stutter

If you're reporting an issue specific to a fork, e.g. TES3MP for multiplayer or OpenMW-VR for OpenXR VR, please report it to that fork's author instead of here.

If you're reporting an issue specific to an open merge request, the comments for the merge request are probably a good place to report.

Describe the issue as detailed as you can. Below is a list of questions that should be answered in the description (if they apply).

  • Is the problem OpenMW specific or does it also happen in vanilla Morrowind?
    • OpenMW specific
  • What is your operating system?
    • OpenSUSE Tumbleweed
  • What version of OpenMW are you using? If you used a bleeding edge build, state the exact revision used.
  • What version of Morrowind are you using (i.e. retail CD or Steam)? What addons (Tribunal, Bloodmoon) do you have installed? What language is your Morrowind install?
    • Not relevant
  • Do you use any mods? If so, does the problem also occur in a clean vanilla install without any mods?
    • Not relevant
  • What are the exact steps to reproduce the problem?
    • Run the game
  • What did you expect to happen? What happened instead?
    • Expected: smooth sound playback. Instead: sound hitches every two seconds, corresponding with "Default audio device changed" being logged.
  • Are there any error messages in your openmw.log file? If you're not an OpenMW team member, it's best to upload it.
    • "Default audio device changed" every two seconds.
  • What settings do you use? If you're not an OpenMW team member, it's best to upload your settings.cfg.
    • N/A (I think)
  • Where is the in-game location this problem can be observed? Avoid vague statements such as "west of town X". Instead, open the console (` key by default, the key above Tab), click on the problematic object, then use the betacomment (bc) instruction to get useful information about the object that you can copy and paste into the bugreport:
    • N/A. Everywhere.

Specifically, this if statement's condition is always evaluating to true. I am really puzzled because when I added more logging and recompiled, mCurrentName and defaultName appear to be identical on each iteration of the loop! I'm happy to do more investigation if someone with more C++ knowledge than me can suggest what to try logging/doing next.

My current workaround is to set the sleep to ten minutes, which works well enough for me.

Edited by Connor Clark