Hi all,
i'd like to introduce you to my addon providing a "BruteFIR" systemd-service with ALSA/PulseAudio support.
https://github.com/chipfunk/LibreELEC.tv-addon-brutefir
To realize it i created a new BruteFIR IO-module 'pulse' to allow for direct access to PulseAudio from within BruteFIR (https://github.com/chipfunk/brutefir). I was then able to package it as an addon (together with its dependencies fftw3/fftw3f). Creating startup and shutdown-scripts for the (still required) PulseAudio-modules (module-null-sink for input and module-alsa-sink for output), together with corresponding input-/output-configuration for BruteFIR, allows for a plug-n-play installation.
This addon features:
- BruteFIR running as a systemd.service
- direct PulseAudio support as BFIO-module
- configurable target device-names to control/hint connectivity for PulseAudio-server
- PulseAudio-server, application- and stream-name are also configurable, to allow for networked multi-filter/-process/-stream setups (not tested though)
I didn't test mixing different BruteFIR io-modules (e.g. PulseAudio in, ALSA out) yet, but expect it to work.
Currently it is performing well, running two 4096-long kernels for my stereo-setup on a Odroid-C2 with 15% to 20% utilization and surviving multiple power-up-/down cycles.
I was able to build it for all supported targets in LibreELEC 11.0.4.
A big thank you to all the developers making this possible.
I'm looking into uploading the binary packages to github, but need some more time todo so.
I'd be happy to hear your opinions on improvements and/or bug-reports.