Fix to not call GetQueuedBuffersCount unless needed for the looping fix

#2834
This commit is contained in:
Wojtek Figat
2024-08-15 15:16:32 +02:00
parent a6e2a45869
commit 51bf5cd1bf

View File

@@ -426,18 +426,21 @@ void AudioSource::Update()
_startingToPlay = false;
}
int32 queuedBuffers;
AudioBackend::Source::GetQueuedBuffersCount(this, queuedBuffers);
if (!UseStreaming() && Math::NearEqual(GetTime(), 0.0f) && queuedBuffers > 0 && _isActuallyPlayingSth && !_startingToPlay)
if (!UseStreaming() && Math::NearEqual(GetTime(), 0.0f) && _isActuallyPlayingSth && !_startingToPlay)
{
if (GetIsLooping())
int32 queuedBuffers;
AudioBackend::Source::GetQueuedBuffersCount(this, queuedBuffers);
if (queuedBuffers)
{
Stop();
Play();
}
else
{
Stop();
if (GetIsLooping())
{
Stop();
Play();
}
else
{
Stop();
}
}
}