[pulseaudio-discuss] [ANNOUNCE] PulseAudio 0.9.11

Lennart Poettering lennart at poettering.net
Thu Jul 24 06:16:25 PDT 2008


Heya!

I just released PulseAudio 0.9.11:
 
    http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.11.tar.gz

It's a major new release, a big step forward. It's such a big step
forward that this release *will* break software that sits on top of
PA, and triggers bugs previously unknown in the software below PA. Due
to this this version is not a version packagers should be pushing into
any 'LTS' release or suchlike. If you want a solid release that you
can build a house on it is probably a good idea to wait for 0.9.12. 

To make PA work 0.9.11 you need the newest ALSA (1.0.17) in both
userspace and kernel. Also, on top of that these three patches need
be applied:

http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=0fbfe2d8d6aac06e6615b7109ffc1fea8c62dee6
http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=15769ead725b7c215dedd4ea5196955086d2044a
http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=8d3fb3102f672a7b09be92811e89d49f89c1742b

You also need a very recent kernel. The buffering parameters in PA are
chosen in a way that they work fine on standard kernels which are
optimized for low-latency behaviour (HZ=1000, preemptive ...). The
Fedora kernel is a very good choice. If you run PA on other kernels,
especially those with a lot of latency-inducing closed source drivers
(Ubuntu...), you might need to alter the default buffering
metrics. The glicht-free feature mentioned below will only be enabled
if the kernel supports high-resolution timers (hrtimers).

So, what new does this version bring that it justifies this breakage?
Quite a lot, actually. Here are the most important changes:

- the best new feature, although not directly visible from the outside
  and often enough not enabled due to artificial limitations on the
  hardware buffer size of ALSA is time-scheduled playback (aka
  'glitch-free'). See http://0pointer.de/blog/projects/pulse-glitch-free.html

- The PA client libraries now interpolate timing information in a more
  sophisticated fashion, to avoid roundtrips.

- Arbitrary properties can be attached to streams, devices, clients in
  PA, such as icons, program names, X11 windows

- a new PA startup scheme that should make PA compatible with multiple
  simultaneous logins by the same user and console applications.

- "Spatial" event sounds, i.e. sound events from UI elements are
  positioned in space, according to where they were triggered on the
  screen (click on a button on the left side of the screen and audio
  comes from the left speaksers, ...) To make use of these features
  clients need to use the libcanberra event sound library.

- The startup logic has been rewritten to allow file-based
  capababilites (CAP_SYS_NICE) instead of suid root for acquiring
  real-time scheduling

- Fix RTP client to adapt to the speed of the sender

- A new module 'module-always-sink' to make sure there is always at
  least one sink defined, and it it is a null sink.

- A new switch --start to start PA only if it is not running yet

- Add peak detection monitor/record streams

- Optimize memory consumption

- Lots of other additions, and fixes.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4



More information about the pulseaudio-discuss mailing list