Recently while using KDE Neon I found pulseaudio constantly crashing and relaunching during Zoom calls. Unfortunately, in most instances this meant the audio stream was lost and I had to refresh the tab, interrupting my meeting.
To resolve this I had to turn on better logging for pulseaudio. This is pretty simple to do with systemd as it’s managing a user instance of pulseaudio. First, check the ExecStart
line of the existing service.
systemctl --user cat pulseaudio.service
ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal
Add the new ExecStart line in an override file. The first ExecStart is to reset the variable.
systemctl --user edit pulseaudio.service
ExecStart=
ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal --log-level=info
Check the logs using journalctl next time the crash happens.
journalctl --user --reverse --unit=pulseaudio.service
I found the following line that I think was causing the problem
Jul 02 09:26:02 light pulseaudio[27653]: Source alsa_input.usb-AKM_AK5371-00.analog-stereo idle for too long, suspending ...
To resolve this I commented the suspend on idle plugin in /etc/pulse/default.pa
# load-module module-suspend-on-idle
This resolved the issue. I emptied out the override file to stop the extra logging from happening.