[Openal-devel] Patch for intermittent ALSA capture
Chris Robinson
chris.kcat at gmail.com
Tue May 6 17:25:40 PDT 2008
On Tuesday 06 May 2008 04:44:03 pm Jason Daly wrote:
> No problem. Any chance you'll make a new release soon?
I could, though there's been a grand total of six patches since the release..
> My main concern is to get OpenAL-Soft out to the distributions. I think
> we're mainly waiting on the new Creative web site for this, though.
>From what I hear, Debian's close to getting it officially packaged. Gentoo has
an active bug for an OpenAL Soft package. The main concern is what it'll
break. Problem being that the lib has a different name (libopenal.so.1
instead of .0), so apps built for the SI won't directly work with ALSoft and
vice versa, though source distros like Gentoo have an easier time there.
There's also the issue of missing extensions, like AL_EXT_vorbis that some
apps have used, and apps that relied on undefined/improper behavior.. and you
get people concerned that apps won't work without being fixed (and with some
of the apps being unmaintained..).
It'll eventuially get there though, when more apps are buggy/unusable with the
SI instead of with ALSoft.
> > But on the subject of what to do with OpenAL Soft, I've been wondering
> > about splitting out the main mixer so that it runs in a seperate process,
> > and using IPC and shared memory so that multiple apps can use a unique
> > context on the same device (so, for example, a media player can open a
> > device with openal soft, get a context and turn off the uneeded features
> > for faster processing, while a game has that same device open with 3d
> > audio + effects, all being mixed and output into one ALSA/OSS device).
> > I'm not too sure of how efficient I could get a setup like that working,
> > though..
>
> This might be useful (I've run into that problem here, albeit rarely).
> I'm a bit surprised that it didn't just work through dmix, though (maybe
> I don't understand dmix well enough).
I don't have any issues with ALSA using dmix, though I've noticed ALSA can be
picky about just how dmix is used (despite saying dmix is on by default,
opening 'default' always grabs a hw:x,y voice, unless explicitly overridden
with ~/.asoundrc).
The main thing, though, is with apps that may want to use an out-of-process
app for additional audio (like mplayer to play background music or a video
cutscene that contains audio), without fighting over the soundcard. And of
course, with 3D accelerated desktops around, why not get some 3D audio in
with them? It would also help since you can then renice the mixer process
independant of the app(s), and let OpenAL mix right to a hardware voice
(since running a software mixer on a software mixer is kind of ugly), while
not blocking other apps that use OpenAL.
I'm just not sure how I could get it working efficiently, without making AL
calls stall all the time as they need to perform some IPC or global locks.
More information about the Openal-devel
mailing list