diff --git a/src/modules/audio/openal/Pool.cpp b/src/modules/audio/openal/Pool.cpp index 021210f5d..e0fd77016 100644 --- a/src/modules/audio/openal/Pool.cpp +++ b/src/modules/audio/openal/Pool.cpp @@ -41,7 +41,13 @@ namespace openal // Make all sources available initially. for (int i = 0; i < NUM_SOURCES; i++) + { +#ifdef AL_DIRECT_CHANNELS_SOFT + // Bypassing virtualization of speakers for multi-channel sources in OpenAL Soft. + alSourcei(sources[i], AL_DIRECT_CHANNELS_SOFT, AL_TRUE); +#endif available.push(sources[i]); + } } Pool::~Pool() diff --git a/src/modules/audio/openal/Pool.h b/src/modules/audio/openal/Pool.h index cc4228e81..4d377ca38 100644 --- a/src/modules/audio/openal/Pool.h +++ b/src/modules/audio/openal/Pool.h @@ -39,6 +39,7 @@ #else #include #include +#include #endif namespace love