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

Sun, 28 May 2006

Polypaudio 0.9.0 released

We are proud to announce Polypaudio 0.9.0. This is a major step ahead since we decided to freeze the current API. From now on we will maintain API compability (or at least try to). To emphasize this starting with this release the shared library sonames are properly versioned. While Polypaudio 0.9.0 is not API/ABI compatible with 0.8 it is protocol compatible.

Other notable changes beyond bug fixing, bug fixing and bug fixing are: a new Open Sound System /dev/dsp wrapper named padsp and a module module-volume-restore have been added.

padsp works more or less like that ESOUND tool known as esddsp. However, it is much cleaner in design and thus works with many more applications than the original tool. Proper locking is implemented which allows it to work in multithreaded applications. In addition to mere /dev/dsp emulation it wraps /dev/sndstat and /dev/mixer. Proper synchronization primitives are also available, which enables lip-sync movie playback using padsp on mplayer. Other applications that are known to work properly with padsp are aumix, libao, XMMS, sox. There are some things padsp doesn't support (yet): that's most notably recording, and mmap() wrapping. Recording will be added in a later version. mmap() support is available in esddsp but not in padsp. I am reluctant to add support for this, because it cannot work properly when it comes to playback latency handling. However, latency handling this the primary reasoning for using mmap(). In addition the hack that is included in esddsp works only for Quake2 and Quake3, both being Free Software now. It probably makes more sense to fix those two games than implementing a really dirty hack in padsp. Remember that you can always use the original esddsp tools since Polypaudio offers full protocol compatibility with ESOUND.

module-volume-restore is a small module that stores the volume of all playback streams and restores them when the applications which created them creates a new stream. If this module is loaded, Polypaudio will make sure that you Gaim sounds are always played at low volume, while your XMMS music is always played at full volume.

Besides the new release of Polypaudio itself we released a bunch of other packages to work with the new release:

A screenshot showing most of this in action:

Polypaudio Screenshot.

This screenshot shows: the Polypaudio Manager, the Polypaudio Volume Control, the Polypaudio Volume Meter, the XMMS plugin, the GStreamer plugin used by Rhythmbox and gstreamer-properties, pacat playing some noise from /dev/urandom, padsp used on MPlayer. (This screenshot actually shows some post-0.9.0 work, like the icons used by the application windows)

posted at: 18:21 | 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!