[Openal-devel] last call: ALC_EXT_disconnect
Ryan C. Gordon
icculus at icculus.org
Wed Aug 19 06:17:44 PDT 2009
> I mentioned it in a message to the openal list a few days ago.
Whoops, sorry, I missed that.
> I don't think it's necessary to specify the behavior of alcOpenDevice(NULL),
> as in question 3, as that's implementation/system behavior that is not really
> affected by this extension. OSX already does it without this extension, and
> having this extension doesn't guarantee that behavior.
This language was put in there specifically for Mac OS X. It's only in a
Q&A entry and not spec-enforced behaviour, though. It's just meant to
be an assurance that if your OS already does this, it may continue to do
so (on the Mac, play something in iTunes, and change your default output
device in System Preferences while doing so. iTunes will seamlessly
migrate audio to the new device. This is user-expected behaviour on the
platform, but not on others).
> And I don't like the idea of the enumeration strings only being valid until
> the next query for them. IMO, the enumerations should change only when the app
> calls something new, so existing behavior won't be changed and risk breaking
> apps that rely on it.
All four implementations in OpenAL's svn repository already do redetects
during alcGetString() (OpenAL-Soft caches the unchanging value, but may
do the initial detection in this call, depending on when the app called
it), and so does mine. Keeping this string stable across queries breaks
existing, albeit undefined, behaviour.
--ryan.
More information about the Openal-devel
mailing list