Last month the first release candidate was released, so PulseAudio 12.0 is near 🙂 I did the release routine for that. In other news, I made various small fixes:
- In X11 environments PulseAudio stores some information in the X server’s root window (the reason is to make audio work when using X remotely – I won’t go into the details here). The most important bit is the server address. The address in the root window used to override the “default-server” option in client.conf, which can cause confusion, because the user is likely not aware of the root window thing, so it can be baffling why setting the “default-server” option doesn’t seem to do anything. I made a patch that reverses things so that options set in client.conf override the settings in the X root window.
- Arun Raghavan has been working on adding support for TrueHD and DTS-HD passthrough streams. The channel maps for such streams were not being set correctly, which I fixed.
- Sometimes PulseAudio did uninitialized variable access when dealing with passthrough stream volumes. Fixed.
- A weird crash due to null pointer dereference was reported in module-alsa-card. I found one possible reason for that and made a fix, but the reason seems so unlikely that I suspect there to be some other underlying bug. The crash isn’t reproducible, however, so there’s not much I can do to debug further.
- I noticed a small memory leak in module-rtp-send. Fixed.
- I noticed that a hook callback in module-allow-passthrough was returning invalid values in error handling code. Fixed.
I also did many patch reviews (mostly small stuff, though). A couple of more noteworthy things:
- I reviewed the fourth iteration of Georg Chini’s patch to fix A2DP latency reporting. The patch was good, so finally A2DP should be quite usable for watching videos.
- Arun Raghavan made patches for automatically changing a sink’s channel count when playing a passthrough stream, and I reviewed those. It’s more complicated than I thought, and the patches need some more work.
Running PulseAudio in the system mode requires disabling the user service’s socket activation for all users in systemd. This was not documented on the SystemWide wiki page, but now it is. I also updated the page contents in general.
I also did version upgrades for the libvorbis and ALSA recipes in OpenEmbedded.
This post was originally written on 2018-06-05, and first made available to my Patreon supporters. Speaking of Patreon – I’m using crowdfunding in an attempt to make it financially sustainable to continue my volunteer work as a PulseAudio maintainer. If you’d like to help, check out my Patreon page (or Liberapay).