レナート   PID EINS!   ﻟﻴﻨﺎﺭﺕ

Sun, 27 Aug 2006

A few updates on PulseAudio

Thanks to Marc-Andre Lureau there's now a jhbuild file for PulseAudio. And there is this (little bit chaotic) Wiki page in GNOME Live! about the relation of PulseAudio and GNOME.

A few weeks ago I wrote a new page for our Wiki where I tried to describe the steps necessary to get the most out of PulseAudio. It's called the Perfect Setup.

A few minutes ago I released PulseAudio 0.9.5 and new versions of the auxiliary tools. The changelog:

One of the nicest new features of PulseAudio 0.9.5 is HAL integration (which has been contributed by Shahms King). PulseAudio will now automatically detect all available sound devices and will make use of them. It supports both hot-plug and hot-remove.

Another nice feature is the GConf integration which allowed us to add another nice application to the PulseAudio toolset: the PulseAudio Preferences utility:

paprefs screenshot

The idea is to have a simple, nice configuration dialog that allows configuration of the more exotic features of PulseAudio which we do not enable by default due to security considerations or to not confuse the user. Right now a lot of features are hidden behind non-trivial configuration file statements. This preferences tool shall make them available for the users which are not so keen on editing configuration files.

Playing around with Valgrind's Massif tool and KCachegrind I did a little bit of memory and perfomance profiling of the PulseAudio daemon. The 0.9.5 release contains a lot of optimizations which are result of this work.

Before:

Massif before

After:

Massif after

These plots show the memory consumption against the time, from starting the server, to playing stream, to stopping the stream and shutting down the server again. The major improvement was actually an update to libsamplerate done by its maintainer to improve the memory handling of that library. (He didn't release an updated version of his library containing the changes shown in the plots yet).

PulseAudio had the nice feature of remembering the playback volume of every application for quite a while. Starting with 0.9.5 PulseAudio it also remembers the output device for every application. Together with an updated Volume Control tool which now allows moving streams between sinks while they are played this can be used to configure a ruleset like "Ekiga always on the USB headset, Rhytmbox always on the external speakers" very intuitively and easily:

pavucontrol screenshot

And here's a final screenshot showing all the tools we currently have for PulseAudio 0.9.5.

PA Screenshot

posted at: 02:19 | path: /projects | permanent link to this entry | comments


It should be obvious but in case it isn't: the opinions reflected here are my own. They are not the views of my employer, or Ronald McDonald, or anyone else.

Please note that I take the liberty to delete any comments posted here that I deem inappropriate, off-topic, or insulting. And I excercise this liberty quite agressively. So yes, if you comment here, I might censor you. If you don't want to be censored you are welcome to comment on your own blog instead.


Lennart Poettering <mzoybt (at) 0pointer (dot) net>
Syndicated on Planet GNOME, Planet Fedora, planet.freedesktop.org, Planet Debian Upstream. feed RSS 0.91, RSS 2.0
Archives: 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013

Valid XHTML 1.0 Strict!   Valid CSS!