Create C API for signal-estimator #33
Labels
feature
New feature or request
good first issue
Good for newcomers
help wanted
Contributions are welcome
A very needed feature is an ability to use latency estimation algorithm programmatically outside of signal-estimator CLI and GUI.
In addition to CLI (
src/cli
) and GUI (src/gui
), we could add a C library (src/lib
) that works on top of the same low-level C++ classes (src/base
), same as CLI and GUI does.(Note: C API is preferred over C++ API: it provides better ABI compatibility over library upgrades and across different compilers; it provides compatibility with more languages, since many languages allow to create bindings for C libraries quite easily)
The library does not need to work with ALSA devices. Instead, it should have a simpler interface:
Something like this:
To implement it, we'll need to use existing IEstimator implementation (depending on selected mode) with custom IReporter implementation that will store results in memory instead of printing them to console.
Important: this API should be thread-safe. It should be allowed to invoke all functions from different threads concurrently.
The text was updated successfully, but these errors were encountered: