LibAudio: Don't return a seek point if it is after the desired sample
If the seek table was incomplete, without any seek points available before the target point, `SeekTable::seek_point_before()` would instead return the first seek point after the target. Check whether the seek point is before the target before returning it.
This commit is contained in:
parent
42675971e2
commit
a8dc97d95d
Notes:
sideshowbarker
2024-07-17 11:30:05 +09:00
Author: https://github.com/Zaggy1024 Commit: https://github.com/SerenityOS/serenity/commit/a8dc97d95d Pull-request: https://github.com/SerenityOS/serenity/pull/19802 Reviewed-by: https://github.com/kleinesfilmroellchen ✅
1 changed files with 2 additions and 0 deletions
|
@ -40,6 +40,8 @@ Optional<SeekPoint const&> SeekTable::seek_point_before(u64 sample_index) const
|
|||
++nearby_seek_point_index;
|
||||
while (nearby_seek_point_index > 0 && m_seek_points[nearby_seek_point_index].sample_index > sample_index)
|
||||
--nearby_seek_point_index;
|
||||
if (m_seek_points[nearby_seek_point_index].sample_index > sample_index)
|
||||
return {};
|
||||
return m_seek_points[nearby_seek_point_index];
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue