Changed: Additional checks for streaming buffers in OpenAL
This commit is contained in:
parent
3b835a5407
commit
e32d4cbf1d
2 changed files with 9 additions and 3 deletions
|
@ -120,7 +120,7 @@ bool CBufferAL::unlock(uint size)
|
|||
|
||||
// Error handling
|
||||
if (alGetError() == AL_NO_ERROR)
|
||||
_IsLoaded = true;
|
||||
_IsLoaded = true; // ->lock() set it to false
|
||||
|
||||
return _IsLoaded;
|
||||
}
|
||||
|
@ -161,8 +161,7 @@ bool CBufferAL::fill(const uint8 *src, uint size)
|
|||
alBufferData(_BufferName, _SampleFormat, src, size, _Frequency);
|
||||
|
||||
// Error handling
|
||||
if (alGetError() == AL_NO_ERROR)
|
||||
_IsLoaded = true;
|
||||
_IsLoaded = (alGetError() == AL_NO_ERROR);
|
||||
|
||||
return _IsLoaded;
|
||||
}
|
||||
|
|
|
@ -162,6 +162,13 @@ void CSourceAL::submitStreamingBuffer(IBuffer *buffer)
|
|||
CBufferAL *bufferAL = static_cast<CBufferAL *>(buffer);
|
||||
ALuint bufferName = bufferAL->bufferName();
|
||||
nlassert(bufferName);
|
||||
|
||||
if (!bufferAL->isBufferLoaded())
|
||||
{
|
||||
nlwarning("AL: Streaming buffer was not loaded, skipping buffer. This should not happen.");
|
||||
return;
|
||||
}
|
||||
|
||||
alSourceQueueBuffers(_Source, 1, &bufferName);
|
||||
alTestError();
|
||||
_QueuedBuffers.push(bufferAL);
|
||||
|
|
Loading…
Reference in a new issue