TL;DR
If you’ve also recently been getting “Generic error in an external library” when trying to use ffmpeg with a -f pulse
input via pipewire-pulse
, don’t do anything drastic: it’s probably just https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2711, fixed in 0.3.59. That version is currently in [testing]
as I type this out, so I’m guessing it’s going to be promoted to [extra]
fairly soon.
If you’re reading this and thinking “I want a fix now, so I’ll enable [testing]
”, please at least read Official repositories#Testing repositories on ArchWiki so that you know what you’re getting into.
I have an online event every Friday where I record my desktop (and Discord audio). It had been working fine for a few months, and then last week (2022-09-23) my desktop audio stream was truncated. Looking back at the logs, it had simply reported: alsa_output.pci-REDACTED.analog-stereo.monitor: Generic error in an external library
I had chalked it up to a one-time issue (probably hardware), with the intent to try to reproduce or look into it more… but then I didn’t, because it doesn’t completely wreck me.
It happened again last night (2022-09-30), so I was motivated to spend some time this morning figuring out what had happened, because I’m really not looking forward to re-balancing audio levels every week and missing out on other things that are only on my desktop audio stream and not sent over Discord. I was going to try just completely replacing PipeWire with PulseAudio proper to narrow down the root cause (which probably would have worked), and I got a couple of commands in…
…before rolling it back and just looking on the PipeWire bug tracker to see if it’s a known issue with pipewire-pulse
based on a complete hunch. Turns out that it is, introduced in 0.3.58 (which was pushed to [extra]
on 2022-09-16): https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2711. Looks like 0.3.59 is supposed to have fixed it. I was a bit surprised to see that extra/pipewire-pulse
is still on 0.3.58-1
at the time of writing, but I noticed that testing/pipewire-pulse
is on 0.3.59-1
, so it was just bad timing on my part.
After enabling [testing]
and upgrading, I can confirm that the upgrade resolved the issue, so I figured I might as well give a heads-up in case someone else has been running into the same head-scratcher for a while and would appreciate some closure on the issue.
And now I’m going to disable [testing]
and downgrade back, because that’s not the lifestyle for me.