[Openal] Defective ALC_ENUMERATION_EXT support on Mac OS X /
Need OpenAL community's support
Ryan C. Gordon
icculus at icculus.org
Mon Jan 5 20:07:19 PST 2009
> 1) What does the implementation do when the device being used goes
> away? (and later returns?)
The spec doesn't even mention it. It assumes you have a sound card in a
PCI slot or welded to the motherboard, and "going away" would be a
catastrophic hardware failure.
I did the initial legwork on defining behaviour for this, for people
that can kick out the plug of a USB or FireWire audio device (or, say,
redirect to different hardware outputs when plugging headphones into a
MacBook). It has an optional special case for opening the default
device, where you can just switch outputs and pretend nothing happened
(like iTunes does when you plug in headphones).
The extension both defines the proper behaviour and some interfaces to
let an app gracefully handle device disconnection. We discussed this on
the list a lifetime ago, but I don't think it made it into any
implementations but my CoreAudio sandbox library:
http://icculus.org/alextreg/wiki/ALC_EXT_disconnect
To answer your actual question, though: if your device vanishes at the
OS level, most implementations probably either hang, fail poorly, or
segfault.
--ryan.
More information about the Openal
mailing list