[Openal] Could not find capture device
Garin Hiebert
garinh at cheesetoast.net
Mon May 22 10:25:13 PDT 2006
> Huh? If I read the spec correctly, it is not required to open a playback
> device first (the design of alcCaptureOpenDevice API entry would make no
> sense then), so this looks like a bug in the router and/or Creative's OpenAL
> implementation on Windows. Or did I miss something? Just to be sure...
>
The main problem exposed by this thread is with the
alcIsExtensionPresent(NULL, "ALC_EXT_CAPTURE") call -- if the router
library is queried with this call, it will always return ALC_FALSE,
because the router library itself doesn't capture audio.
We (Dan and I here at Creative) agree that this is in error and should
be fixed, and we plan to fix this in the next SDK and installer release
(a few months out). In the future, the router will return ALC_TRUE to
the above call and and respond appropriately to other capture calls
(NULL will be a functional capture device ID, and will select the
default capture device).
Where an application is dependent on a 1.1-compliant API or specific
extensions, I recommend using enumeration following this general
procedure (it will work properly on existing libraries):
- enumerate all playback devices
- step through all devices:
- open the device by name
- query for API revision and/or desired extension(s), adding the
device name to an "acceptable" list if supported
- tag this device as the "default" device if it meets all
requirements and the string matches the default playback device name
- close the device
- present user with "acceptable" device list, or use "default" device if
that's appropriate behavior for your app
Garin
More information about the Openal
mailing list