Updated OpenAL implementation