Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

PNGTuber Plus

Get more out of your png tubing experience. · By kaiakairos

PulseAudio Error: pa_stream_disconnect error: Bad state at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)

A topic by TyroTheFox created Apr 21, 2024 Views: 198 Replies: 5
Viewing posts 1 to 4
(1 edit) (+1)

Hi. Lemmie lay this out as clearly as I can.

- Running on Linux Mint 21.3 Cinnamon.
- I am trying to consistently get my Blue Yeti USB Mic to connect to the Linux version of the software I am running natively.
- It does pic up that the mic exists but there is nothing happening otherwise. It doesn't pick up the device and doesn't even seem to acknowledge there is sound.

- Have tried to swap stuff around, move to another USB port, restart Pulse Audio. No effect.
- The Microphone works otherwise. Discord picks it up just fine. It's just this that has this problem.
- Being slightly savvier than a complete beginner in Linux, I was able to add myself to the 'audio' group but that worked once and then apparently never again. Even removing myself and adding it back in didn't help.

I did try digging through the logs for clues and not gotten a great deal of help.

godot.log

Godot Engine v4.1.2.stable.official.399c9dc39 - <a href="https://godotengine.org
OpenGL">https://godotengine.org
OpenGL</a> API 3.3.0 NVIDIA 535.171.04 - Compatibility - Using Device: NVIDIA - NVIDIA GeForce GTX 1060 6GB
USER ERROR: Convex decomposing failed!
   at: decompose_polygon_in_convex (core/math/geometry_2d.cpp:53)
USER ERROR: Convex decomposing failed!
   at: decompose_polygon_in_convex (core/math/geometry_2d.cpp:53)
USER ERROR: Convex decomposing failed!
   at: decompose_polygon_in_convex (core/math/geometry_2d.cpp:53)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object/object.cpp:2047)

godot2024-04-21T20.49.17.log

Godot Engine v4.1.2.stable.official.399c9dc39 - <a href="https://godotengine.org
OpenGL">https://godotengine.org
OpenGL</a> API 3.3.0 NVIDIA 535.171.04 - Compatibility - Using Device: NVIDIA - NVIDIA GeForce GTX 1060 6GB
USER ERROR: Convex decomposing failed!
   at: decompose_polygon_in_convex (core/math/geometry_2d.cpp:53)
USER ERROR: Convex decomposing failed!
   at: decompose_polygon_in_convex (core/math/geometry_2d.cpp:53)
USER ERROR: Convex decomposing failed!
   at: decompose_polygon_in_convex (core/math/geometry_2d.cpp:53)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER ERROR: PulseAudio: pa_stream_disconnect error: Bad state
   at: finish_input_device (drivers/pulseaudio/audio_driver_pulseaudio.cpp:760)
USER WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object/object.cpp:2047)

Any ideas? Anything I can do to help this run? I really like this software and would love to get it running properly.

Being a Godot dev myself, I decided to go digging around. This useful at all?

https://github.com/godotengine/godot/issues/72892#issuecomment-1422816387

In order to help anyone else on the internets passing by with this exact problem, allow me to explain how I eventually solved it.

0) Exit PNGTuber Plus
1) No idea if this is actually helping or not (possibly not) but I did swap over from PulseAudio to PipeWire. Considering PipeWire just does all the same things PulseAudio does, it's likely not useful here but most people that use Linux say it's not a bad move to make if you can.
2) Delete ~/.config/pulse. This appears to be your Pulse Configuration Files
3) Delete your godot data file (the one that pops up when you hit Escape). My guess is that this resets PNGTuber Plus to a default state, where it's then able to re-establish connection with your input drivers.
4) Type into the terminal 'systemctl --user daemon-reload' then hit enter. This just restarts your Audio Software because why not?
5) Then restart PNGTuber Plus. With a little fussing, it should work.

It's still not comfortable with switching audio devices too much and seems like this might be caused by trying to flick through devices too quickly and the system can't keep up fast enough. Once you switch to another device, it just crashes for good and refuses to work properly because now the settings data is likely writing nonsense. That's my absolutely guess here based on what I did to get it going again. I'm very much in the dark and simply want this program to work as well on Linux as it does on Windows.

This might be worth a shot. I've been using Pipewire the whole time, but maybe these resets will help.
Shame this wasn't here sooner, since I've mostly transitions off PNGTuber Plus by now.

What do you use instead?

I was already using Veadotube Mini for my second avatar. After the mic issues on PNGTuberPlus, I just moved my main avatar to that too. 

It's actually well set up for multi instancing so it wasn't a big deal. The only catch is that while it supports more whole avatar movements, it doesn't do in app animation. If you want your avatar to be animated, you have to create a gif or apng.

I still want to use PNGTuberPlus since it makes its own animation, but at this point, learning to animate myself feels like a better use of my time than continuing to troubleshoot.