|
|
@ -121,6 +121,11 @@ void CSourceAL::setStreaming(bool streaming)
|
|
|
|
alTestError();
|
|
|
|
alTestError();
|
|
|
|
_Buffer = NULL;
|
|
|
|
_Buffer = NULL;
|
|
|
|
_IsStreaming = streaming;
|
|
|
|
_IsStreaming = streaming;
|
|
|
|
|
|
|
|
if (_IsStreaming)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// make sure looping is disabled on OpenAL side
|
|
|
|
|
|
|
|
setLooping(false);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Set the buffer that will be played (no streaming)
|
|
|
|
/* Set the buffer that will be played (no streaming)
|
|
|
@ -194,6 +199,10 @@ uint CSourceAL::countStreamingBuffers() const
|
|
|
|
// a bit ugly here, but makes a much easier/simpler implementation on both drivers
|
|
|
|
// a bit ugly here, but makes a much easier/simpler implementation on both drivers
|
|
|
|
ALint buffersProcessed;
|
|
|
|
ALint buffersProcessed;
|
|
|
|
alGetSourcei(_Source, AL_BUFFERS_PROCESSED, &buffersProcessed);
|
|
|
|
alGetSourcei(_Source, AL_BUFFERS_PROCESSED, &buffersProcessed);
|
|
|
|
|
|
|
|
if (buffersProcessed && _QueuedBuffers.empty())
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
nlwarning("AL: QueuedBuffers is empty, but OpenAL buffers processed > 0");
|
|
|
|
|
|
|
|
}
|
|
|
|
while (buffersProcessed && !_QueuedBuffers.empty())
|
|
|
|
while (buffersProcessed && !_QueuedBuffers.empty())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ALuint bufferName = _QueuedBuffers.front()->bufferName();
|
|
|
|
ALuint bufferName = _QueuedBuffers.front()->bufferName();
|
|
|
|