[Openal-devel] A little spec food for thought, and the SI.

Adam D. Moss adam at gimp.org
Sun Mar 6 14:51:35 PST 2005


Garin Hiebert wrote:
>> However, the SI's alutExit() function, contradictorily, does
>> exactly that.
> 
> Wow -- I hadn't noticed that.  Looking over the code, it looks to me 
> like that branch should adopt the same sequence of operations used in 
> the MacOS and Windows implementations (which should be exactly the same):

I've been playing around with doing this...

>      ALCcontext *Context;
>         ALCdevice *Device;
> 
>         //Get active context
>         Context=alcGetCurrentContext();
>         //Get device for active context
>         Device=alcGetContextsDevice(Context);
>         //Disable context
>         alcMakeContextCurrent(NULL);

The SI usually whinges at this point:
"pause_audiodevice stubbed for 0x3" but that seems harmless
(not that I like libraries to debug-spew outside of debug mode).

>         //Release context(s)
>         alcDestroyContext(Context);
>         //Close device
>         alcCloseDevice(Device);

Tragically, as I mentioned in my previous post, this can cause
an application hang (specifically on a Hoontech device with ALSA).
It's almost certainly a driver bug, but the risk of a hang seems
worse than the cost of a left-open device.  *sigh*

--Adam
-- 
Adam D. Moss   -   adam at gimp.org



More information about the Openal-devel mailing list