Re: [AD] Allegro fails to initialize sound under Pulseaudio |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
- To: Coordination of admins/developers of the game programming library Allegro <alleg-developers@xxxxxxxxxx>
- Subject: Re: [AD] Allegro fails to initialize sound under Pulseaudio
- From: Elias Pschernig <elias@xxxxxxxxxx>
- Date: Sun, 21 Oct 2007 12:57:50 +0200
On Sun, 2007-10-21 at 03:10 -0600, Thomas Fjellstrom wrote:
> > It would be easy to add a sign conversion pass to Allegro's mixer as
> > well of course. Basically, in
> > https://alleg.svn.sourceforge.net/svnroot/alleg/allegro/branches/4.3.10plus
> >/src/unix/alsa9.c provide another copy of alsa_mix which has an extra loop
> > over the
> > sample buffer and converts to unsigned. On driver initialization, it
> > could be decided if the normal function or the one with conversion
> > (slightly slower) should be used. E.g. the jack driver always does a
> > conversion like that since it only understands signed data.
> >
>
> Really? I find it really odd that a sound server, thats meant to pipe and mix
> many sound streams and formats can only handle signed data.. Just seems wrong
> to me. :o
>
Yes, it's because it only supports 32-bit (and 64-bit I think) float
samples and nothing else - at least from what I remember when writing
the driver. Their goal was not to support different formats, but to have
as low latency as possible (e.g. the docs even disallow calling
pthread_mutex_lock inside the mixer callback - even though I simply call
_mix_some_samples which does that and it still seems to work).
--
Elias Pschernig <elias@xxxxxxxxxx>