[Openal] alcGetProcAddress question

Chris Robinson chris.kcat at gmail.com
Mon May 14 02:34:45 PDT 2007


I suppose this is a question more for this list. The spec says about 
alcGetProcAddress:
"Entry points can be device specific, but are not context specific. Using a 
NULL device handle does not guarantee that the entry point is returned, even 
if available for one of the available devices."

Does the first part there imply that different devices can return different 
entry points for the same function (entry points that are specific per 
device)? Such that:

p_alcExtFunc = alcGetProcAddress(device1, "alcExtFunc");

can return a different function pointer than

p_alcExtFunc = alcGetProcAddress(device2, "alcExtFunc");

with both pointing to valid functions? Or does it just mean some devices can 
return a function entry point and others not? If the latter is the case, a 
little clarification in the spec may be nice.

I'm trying to set this up in a way that I can dynamicly load OpenAL and grab 
all known functions (both base and extensions) when initializing, then use 
them throughout the program. But if different devices can return different 
valid functions, that won't really be possible (I'd also iamgine that such 
extensions promoted to core would cause problems with trying to export two 
functions of the same name; one for each device that uses a different one).


Thanks for any clarification you can provide.


More information about the Openal mailing list