-
-
Notifications
You must be signed in to change notification settings - Fork 155
Open
Description
This project depends on C++ but it doesn't need to. In a music player project with otherwise a lot of C dependencies, this is the only C++ dependency and the only thing that makes my music player need to link against libc++, which brings a lot of problems.
FFmpeg for example is a large C project that does not have a libc++ dependency. It also has support for chromaprint integration, but if you enable that integration, it makes FFmpeg depend on libc++.
It also seems like this project implements a lot of FFmpeg internally. Filtering, resampling, normalizing, fft, etc.
Would you consider some of these things?
- Convert to plain C to offer a library that avoids requiring users bring an unwanted C++ dependency.
- Directly maintain an implementation of the chromaprint algorithm upstream in FFmpeg so that it has chromaprint support without integrating with an external library. It looks like a lot of boilerplate/wrapping code could be deleted.
Such things would make my music player:
- easier for contributors to build from source
- build from source faster
- smaller binary size
- more portable (libc++ is less portable than libc)
Metadata
Metadata
Assignees
Labels
No labels