Immersive Vehicles (Formerly Transport Simulator)

Immersive Vehicles (Formerly Transport Simulator)

4M Downloads

[1.12.2] Client crash when changing the audio output with the sound device options mod

ProsperCraft opened this issue · 7 comments

commented

https://gist.github.com/ProsperCraft/6e3bbff786a7e57cec1d9ee2c1b43a18

This did not happen in previous versions of IV
Immersive Vehicles-1.12.2-17.4.2

Pack- https://www.curseforge.com/minecraft/modpacks/towncraft

commented

I am having this issue. Here the system info on my computer if it'll help. https://paste.dimdev.org/alivobogeb.mccrash

commented

I... really don't know how to fix such a thing. I've NEVER known MC to support changing sound devices. Once they're bound, they're bound. In fact, when I change over from my headphones to my PC's external speakers, the sound just plum goes away cause MC is trying to send sound to the headphones still.

What the heck is Sound Device Options mod?

commented

https://www.curseforge.com/minecraft/mc-mods/more-sound-config

It never crashed before in 3 years of testing

This mod lets you change your sound output on the fly, and is in all of my modpacks never had an issue.

commented

Just looked at their source code. They appear to be messing with OpenAL. My guess is they reset it to update the sound output device, doing so while I'm checking sounds. This results in badness when I check a rebooted OpenAL. I can probably fix.

commented
commented

So I just did work on this. Reloading the sound system led to lots of bad-ness that I had to fix, but it's to the point things don't lock up anymore. The only issue is that the sounds appear to restart a bit too soon for the sound system, so looping engine sounds die off when you do this, but if you re-start the sound by leaving the world, chunk, or just turning the engine off and on again the sound comes back. This will be in the V18.0.0 release.

commented

Fixed in V18.0.0. Can confirm that reloading the audio system won't crash the game. If the issue persists, please let me know.