1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 13:27:36 +00:00

LibAudio: Improve FLAC seeking

"Improve" is an understatement, since this commit makes all FLAC files
seek without errors, mostly with high accuracy, and partially even fast:
- A new generic seek table type is introduced, which keeps an
  always-sorted list of seek points, which allows it to use binary
  search and fast insertion.
- Automatic seek points are inserted according to two heuristics
  (distance between seek points and minimum seek precision), which not
  only builds a seek table for already-played sections of the file, but
  improves seek precision even for files with an existing seek table.
- Manual seeking by skipping frames works properly now and is still used
  as a last resort.
This commit is contained in:
kleines Filmröllchen 2023-03-18 14:12:25 +01:00 committed by Linus Groh
parent c66f7f2e7c
commit 0cd0565abc
7 changed files with 164 additions and 25 deletions

View file

@ -1,4 +1,5 @@
set(SOURCES
GenericTypes.cpp
SampleFormats.cpp
Loader.cpp
WavLoader.cpp