[Openal-devel] mixaudio question

Panne Sven BenQ MD PBM IPM TPS 4 sven.panne at siemens.com
Fri Oct 21 02:22:34 PDT 2005


This is actually not true: The alutCreateBufferFromFile{,Image} API entries
have been designed exactly to avoid pre-decoding everything before passsing
it to OpenAL. They return a buffer handle and hide how it has been created:
Either by pre-decoding or by passing the data directly to AL, potentially
using an AL extension in the latter case. The current ALUT implementation
does not use AL extensions yet, but that's a different story and only
because of a lack of implementation effort.

What ALUT currently does not cover is any kind of streaming, though. I think
this has been discussed shortly some time ago, but there was no real
consensus about the approach. Basically there are 2 options:

 * Use a callback interface: Conceptually nice, but the problem is: Which
execution thread actually calls the callback and what is one exactly allowed
to do during that callback? These are general issues with every
callback-based interface.

 * The application has to call some kind of ALUT update function "often
enough", which ensures that all streaming is handled. This solves the thread
problems above, but it creates another problem: What is "often enough"?

I'd really like to see some kind of streaming in ALUT, so I think we should
re-open this discussion again. Proposals and suggestions are highly
welcome...

Cheers,
   S.

> -----Original Message-----
> From: openal-devel-admin at opensource.creative.com 
> [mailto:openal-devel-admin at opensource.creative.com] On Behalf 
> Of Ryan C. Gordon
> Sent: Donnerstag, 20. Oktober 2005 17:26
> To: openal-devel at opensource.creative.com
> Subject: Re: [Openal-devel] mixaudio question
> [...]
> ALUT wants to hand you a complete, predecoded buffer, which 
> can be very expensive in terms of memory footprint, whereas 
> AL_EXT_vorbis can keep the file compressed until it needs 
> more...you'd have to forego ALUT and use libvorbis and buffer 
> queueing directly to match it, and then suddenly this is 
> getting complicated in the app.



More information about the Openal-devel mailing list