Re: libcanberra as an external dependency

On Thu, 07.08.08 11:59, Joe Marcus Clarke (marcus freebsd org) wrote:

> It seems to me there is a fundamental problem with adding libcanberra as an 
> external dependency.  It currently only supports ALSA and pulseaudio audio 
> output.  However, the default sounds daemon for GNOME is still esound.  The 
> BSDs and Solaris do not support ALSA, so this leaves them a tough choice 
> for sound events.  Pulseaudio replaces esd, but it is not a blessed GNOME 
> dependency.

Neither is ALSA, OSS or any other audio API. 

> I think libcanberra must have an esd output plug-in at the very least (i.e. 
> if not also OSS and Sun Audio) in order to be a viable external dependency. 
>  This would go a long way to helping non-Linux platforms achieve working 
> sound theme support using all blessed GNOME dependencies.

It is relatively easy to write a backend for libcanberra for
supporting other sound systems: just take the ALSA driver and replace
the ALSA calls by the ones that are appropriate for your operating

Then, the people from Nokia have prepared a gst backend for
libcanberra. You might be able to use that to interface with legacy
audio systems like OSS. (though the primary reason for the gst backend
is mostly Nokia's love for MP3, not portability) This backend has not
been merged yet though. But I am sure you can convince Marc-Andre to
prepare it for inclusion.

Also, I remember that the alsa libraries support OSS as a
backend. Maybe you can use that on BSD systems?

Don't forget that PulseAudio has been ported to BSD in the past. With
some love you should be able to get 0.9.11 to work on BSD too.

Finally, the "null" driver should work fine on all operating systems.

My willingness to write code for APIs that I consider obsolete (ESD,
OSS) is rather minimal. However, I am always happy to merge your
patches if they are good and clean!

Patches always welcome!


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

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]