-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
If PulseAudio restarts, Fluidsynth stays running but no audio is produced #928
Comments
I just reviewed the code and this turned out to be a bigger job to implement: Currently, the audio driver has no way of talking back to the client whether everything is still ok. One just calls You'll probably be faster to make systemd also kill fluidsynth when it detected pulseaudio crashed and then restart both. |
Could we maybe let the pulse driver retry creating the server connection if a write failed? So instead of hard failing, do a soft fail and reconnect, maybe with a configurable retry period? |
Thanks @derselbst -- I was indeed able to configure systemd to depend upon PulseAudio and restart when it restarts, by adding the following to
I think it would be best if the driver could try to reconnect like @mawe42 suggested, but I appreciate it may be awkward with the way the driver and client interact right now. |
FluidSynth version
(installed in Ubuntu 20.04 via apt)
Describe the bug
FluidSynth is running as a daemon using
systemctl
, using the PulseAudio driver. Everything works fine until the PulseAudio service is restarted (I'm not sure why PulseAudio crashes, but it's almost certainly nothing to do with FluidSynth).Afterwards, FluidSynth produces an error message on stdout, but keeps running and never produces audio again until I manually restart it.
Expected behaviour
FluidSynth should terminate immediately with a non-zero exit code if the output driver fails. This would allow
systemctl
(or other daemon scripts) to restart FluidSynth and start a connection to the new instance of PulseAudio (if it's running).Actual behaviour
The following message is written to stdout:
FluidSynth stays running but produces no more audio until manually killed and restarted.
Steps to reproduce
systemctl --user start pulseaudio
orpulseaudio --start
)pulseaudio
output driver (e.g. in my casefluidsynth -is -g 2 -a pulseaudio -m alsa_seq -r 48000 /usr/share/sounds/sf3/MuseScore_General_Lite.sf3
)aplaymidi -p129:0 test.mid
assuming FluidSynth is using that MIDI port address).Thanks for the great work on FluidSynth, by the way.
The text was updated successfully, but these errors were encountered: