mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 00:17:46 +00:00
AudioServer/Mixer: Fix remaining samples underflow
The `m_remaining_samples` attribute was underflowing at the end of an audio stream. This fix guards against the underflow by only decrementing the attribute when it is greater than zero. I found this bug because the SoundPlayer userland application was not correctly detecting when an audio stream was completed. This was happening because the remaining samples being returned from the client audio connection was an underflowed 16 bit integer instead of zero.
This commit is contained in:
parent
c8eab80b3d
commit
60fa8ac109
1 changed files with 2 additions and 1 deletions
|
@ -52,7 +52,8 @@ public:
|
|||
return false;
|
||||
|
||||
sample = m_current->samples()[m_position++];
|
||||
--m_remaining_samples;
|
||||
if (m_remaining_samples > 0)
|
||||
--m_remaining_samples;
|
||||
++m_played_samples;
|
||||
|
||||
if (m_position >= m_current->sample_count()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue