mirror of
https://github.com/RGBCube/serenity
synced 2025-05-18 21:35:06 +00:00

"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.
25 lines
571 B
CMake
25 lines
571 B
CMake
set(SOURCES
|
|
GenericTypes.cpp
|
|
SampleFormats.cpp
|
|
Loader.cpp
|
|
WavLoader.cpp
|
|
FlacLoader.cpp
|
|
WavWriter.cpp
|
|
Metadata.cpp
|
|
MP3Loader.cpp
|
|
QOALoader.cpp
|
|
QOATypes.cpp
|
|
UserSampleQueue.cpp
|
|
VorbisComment.cpp
|
|
)
|
|
|
|
if (SERENITYOS)
|
|
list(APPEND SOURCES ConnectionToServer.cpp)
|
|
set(GENERATED_SOURCES
|
|
../../Services/AudioServer/AudioClientEndpoint.h
|
|
../../Services/AudioServer/AudioServerEndpoint.h
|
|
)
|
|
endif()
|
|
|
|
serenity_lib(LibAudio audio)
|
|
target_link_libraries(LibAudio PRIVATE LibCore LibIPC LibThreading LibUnicode)
|