diff --git a/audio/out/ao_openal.c b/audio/out/ao_openal.c index 9207a846b3..2d02139f13 100644 --- a/audio/out/ao_openal.c +++ b/audio/out/ao_openal.c @@ -129,6 +129,18 @@ static const struct speaker speaker_pos[] = { {-1}, }; +// close audio device +static void uninit(struct ao *ao) +{ + ALCcontext *ctx = alcGetCurrentContext(); + ALCdevice *dev = alcGetContextsDevice(ctx); + reset(ao); + alcMakeContextCurrent(NULL); + alcDestroyContext(ctx); + alcCloseDevice(dev); + ao_data = NULL; +} + static int init(struct ao *ao) { float position[3] = {0, 0, 0}; @@ -191,18 +203,6 @@ err_out: return -1; } -// close audio device -static void uninit(struct ao *ao) -{ - ALCcontext *ctx = alcGetCurrentContext(); - ALCdevice *dev = alcGetContextsDevice(ctx); - reset(ao); - alcMakeContextCurrent(NULL); - alcDestroyContext(ctx); - alcCloseDevice(dev); - ao_data = NULL; -} - static void drain(struct ao *ao) { ALint state;