Re: OpenAL-Hard

Chris Robinson <[email protected]>
Newsgroups gmane.comp.lib.openal
Message-ID <[email protected]>
On Saturday 23 January 2010 6:57:12 pm Kip Warner wrote:
> Out of curiosity, from a developer's standpoint, what is required to
> have an OpenAL hardware accelerated implementation? What information
> would hardware vendors be required to provide, in general?

For a basic implementation, it would likely need an API that can control the 
audio volume of the individual output channels/speakers given a mono input, as 
well as have precise playback rate control (within an acceptable margin of 
error), retrieval and setting of the voice's current read pointer, and looping 
control.. all of which can be updated in real time without stopping the 
hardware voice.

Ideally, it would also be able to provide storage for the voices that are 
exactly sized so the data could be copied to the device once and manipulated 
from there, as opposed to streaming static sources or rewriting the data if 
certain parameters change. Inexact buffer sizes could be hidden by resampling 
the audio data as it's written to the device and the sample rate modified to 
accommodate, but that would obviously have sub-optimal quality.

It would also need to be able to start/pause multiple hardware voices at once.

To support EFX, it would also need to expose the EAX controls.. the parameters 
to set the necessary effect properties and filters, etc, and to send specific 
voices through specific effects (in additional to the normal path).


I don't know how hardware tends to implement this functionality, but given my 
current understanding, that's something like it would probably expose.
_______________________________________________
Openal mailing list
[email protected]
http://opensource.creative.com/mailman/listinfo/openal
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.