[Openal-devel] last call: ALC_EXT_disconnect

Ryan C. Gordon icculus at icculus.org
Fri Aug 21 20:30:45 PDT 2009


> If the device never becomes valid again, then what is happening to the 
> created contexts that were passed what would now be the dead device? It 
> seems to imply the application would have to maintain the state of all 
> it's context and source settings so it could restore them to a new 
> context created with a new device?

Yes, that is true. It seems to be more reasonable, since the app was 
able to generate the data in the first place. If the implementation 
guaranteed the state, we'd probably end up with two copies in memory, 
and make the driver writers angry.  :)

Alternately, in theoretical cases where the hardware is storing the 
buffers (like texture memory on a video card), the AL might not have a 
copy at all, and not have time to recover the data if the hardware is 
being yanked out...but the application could grab the original data from 
disk and reupload easily.

We _could_ make it easier for apps, I suppose, but it seems like this is 
the best compromise for everyone.

Also: I added a note that alcCreateContext() on a zombie device will fail.

--ryan.



More information about the Openal-devel mailing list