Fix crash in AudioBackendOAL::Source_DequeueProcessedBuffers when buffer count is large

This commit is contained in:
Wojtek Figat
2024-05-10 12:52:07 +02:00
parent e7508538e0
commit 4acaa62a07

View File

@@ -453,9 +453,10 @@ void AudioBackendOAL::Source_QueueBuffer(uint32 sourceID, uint32 bufferID)
void AudioBackendOAL::Source_DequeueProcessedBuffers(uint32 sourceID)
{
int32 numProcessedBuffers;
ALuint buffers[AUDIO_MAX_SOURCE_BUFFERS];
alGetSourcei(sourceID, AL_BUFFERS_PROCESSED, &numProcessedBuffers);
alSourceUnqueueBuffers(sourceID, numProcessedBuffers, buffers);
Array<ALuint, InlinedAllocation<AUDIO_MAX_SOURCE_BUFFERS>> buffers;
buffers.Resize(numProcessedBuffers);
alSourceUnqueueBuffers(sourceID, numProcessedBuffers, buffers.Get());
ALC_CHECK_ERROR(alSourceUnqueueBuffers);
}