The launch of the new version of the sound server "PulseAudio 14.0" that acts as an intermediary between the applications and various low-level sound subsystems, abstracting the work with the team.
PressAudio allows you to control the volume and sound mix at the level of individual applications, organize the input, mix and output of sound in the presence of multiple input and output channels or sound cards, allows you to change the audio streaming format on the fly and use plugins, makes it possible to transparently redirect the audio stream to another machine.
Main new features of PulseAudio 14.0
In this new version stream redirection has been implemented when changing audio source default or the audio output device. Previously, when the audio output device was changed, new streams were routed to the designated output device, but existing streams kept flowing to the old device. Now The logic to process the old streams has been changed and they will switch to the new device.
The change does not affect manually moved currents, that is, routing relative to streams will be preserved. However, moving the stream to the default output device will remove the manual link state.
Also, cWhen the output device is changed of sound in the "GNOME Sound Settings", this configurator moves all existing streams to the selected device and also changes the database with routes to send the sound of the applications to this device that will be launched in the future.
For PulseAudio, GNOME sound settings manipulation looks like manual moving streams, which creates problems when changing the default device, as manually moved streams do not follow the default output device change.
Another important change is that it stands out, is the improved support for UCM (Use CaseManager) used in new devices with Intel SOF firmware (Sound Open Firmware). Support was added to use hardware volume modese (for example, silent mode) via ALSA. Also, multiple sound cards with the same name can be used with UCM.
For ports, the ability to specify the type and availability group is implemented, allowing you to determine which ports are associated with a specific physical device (speakers, headphones, microphone, etc.).
Of the other changes that stand out:
- X11-based modules (module-x11-bell, module-x11-cork-request, module-x11-publish, and module-x11-xsmp) implement the xauthority argument to pass the value of the required XAUTHORITY environment variable to the connect to an X11 server.
- A new RTP backend based on GStreamer has been implemented (modules module-rtp-send and module-rtp-recv can now use GStreamer to implement RTP protocol).
- By default, automatic switching from audio output to HDMI is disabled, as it led to inappropriate behavior due to the formation of a new device add event in ALSA when the monitor woke up from sleep mode.
- Enhanced USB Gaming Headset Support: HyperX Cloud Orbit S, LucidSound LS31, Razer Kraken Tournament Edition, SteelSeries Arctis 5 (2019 Edition), and SteelSeries Arctis Pro (2019 Edition). Separate stereo and mono outputs are now created for these models.
- By default, flat mode is off, which sets the overall output volume based on the parameters of the loudest stream.
- When outputting audio through RAOP (module-raop-sink) using the "autoreconnect = true" option, it is now possible to configure automatic reconnection in the event of a network failure.
- A separate indication of the number of incoming and outgoing channels (sink_channels and source_channels) is allowed in the module-jackdbus-detect module.
- The module-rescue-streams has been deprecated and its functionality has been moved to the main framework.
- Added support for ALSA merge controls with a non-zero index and the ability to set target roles (device.intended-roles) for devices in ALSA profile settings.
- Added the ability to configure compression formats on module-null-sink without reloading the module using the "pactl set-sink-formats" command.
Finally, the new version will be reaching the repositories of the different Linux distributions in a matter of days. Although for those who prefer to already have the new version, they can download the source code and perform the compilation on their system.