Reduced lock contention when playing and immediately querying the status of a SoundStream.

This commit is contained in:
binary1248 2014-11-09 23:55:47 +01:00
parent fc850ed99f
commit 32bafa98a4

View File

@ -274,17 +274,21 @@ void SoundStream::streamData()
m_isStreaming = false;
return;
}
}
// Create the buffers
alCheck(alGenBuffers(BufferCount, m_buffers));
for (int i = 0; i < BufferCount; ++i)
m_endBuffers[i] = false;
// Create the buffers
alCheck(alGenBuffers(BufferCount, m_buffers));
for (int i = 0; i < BufferCount; ++i)
m_endBuffers[i] = false;
// Fill the queue
requestStop = fillQueue();
// Fill the queue
requestStop = fillQueue();
// Play the sound
alCheck(alSourcePlay(m_source));
// Play the sound
alCheck(alSourcePlay(m_source));
{
Lock lock(m_threadMutex);
// Check if the thread was launched Paused
if (m_threadStartState == Paused)