[Openal] alcGetProcAddress question
Daniel PEACOCK
dpeacock at creativelabs.com
Mon May 14 11:14:24 PDT 2007
Hi Chris,
For the Windows platform ... which includes an OpenAL 'router' that routes
OpenAL calls to any of the OpenAL devices on the system ... the
alcGetProcAddress function could *definitely* return different function
addresses for the same alc function for each AL Device. This is because
the AL device code is likely to reside in a different DLL (e.g ct_oal.dll
for X-Fi / Audigy cards, wrap_oal.dll for generic cards).
Regarding OpenAL routing ... what would the possibility be of creating
something similar for the Mac and Linux platforms? Do either of these
platforms allow multiple AL devices to co-exist? If so, how does that
work ?
Thanks,
Dan
Notice
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this
message by anyone else is unauthorized. If you are not the intended
recipient, any disclosure, copying or distribution of the message, or
any action taken by you in reliance on it, is prohibited and may be
unlawful. If you have received this message in error, please delete it
and contact the sender immediately. Thank you.
Chris Robinson
<chris.kcat at gmail
.com> To
Sent by: openal at opensource.creative.com
openal-bounces at op cc
ensource.creative
.com Subject
[Openal] alcGetProcAddress question
05/14/2007 02:34
AM
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.
_______________________________________________
Openal mailing list
Openal at opensource.creative.com
http://opensource.creative.com/mailman/listinfo/openal
ForwardSourceID:NT00040CE2
More information about the Openal
mailing list