[Openal] ALC_ENUMERATE_ALL_EXT not present in svn trunk
OpenAL-Windows?
Chris Robinson
chris.kcat at gmail.com
Sun Mar 8 23:49:54 PDT 2009
On Sunday 08 March 2009 10:23:04 am admin at ptrefall.com wrote:
> In the latest release (oalinst.exe), the ALC_ENUMERATE_ALL_EXT work, but
> if I plug in a new device after I've started my application, I'm not able
> to switch to this device (it doesn't appear in the device list). So, in my
> quest to fix this problem, I downloaded the latest version from svn trunk,
> and compiled the OpenAL-Windows version there. This fixed the problem with
> finding the new device, but now the ALC_ENUMERATE_ALL_EXT stopped working.
>
> I've found out that exchanging the new wrap_oal.dll with the old wrap_oal
> that comes with oalinst.exe fixes the problem, but reintroduces the other
> problem, which is why I feel a bit cornered here. Am I missing something?
AFAIK, recognizing devices that are added after application start isn't
guaranteed behavior. The OpenAL spec says that device string is constant, and
as such, apps may assume it doesn't change.
As well, the SVN OpenAL-Windows code is older than the latest binary release.
The code was left for historical reasons, but the new releases are closed-
source. The ALC_ENUMERATE_ALL_EXT extension (as well as software EAX and EFX)
was added afterward.
Note that there is a proposed (but as of yet unimplemented) ALC_EXT_disconnect
extension that would allow the device string to reflect new/removed devices,
but IMO that suffers from the problem of the device string changing when older
apps may not expect it.
More information about the Openal
mailing list