[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