Re: [AD] Allegro fails to initialize sound under Pulseaudio

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


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>





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/