On Wednesday 04 December 2019 20:45:23 Arun Raghavan wrote: > Broadly, I think this is a good thing to do. My main concern is having this be adequately maintained over a longer period of time. I already prepared prototype implementation, so I know how hard is to write or maintain this new daemon. Are there any interested people in either implementing, maintaining or in other way helping with this project? The main problem in maintaining this HSP/HFP codebase I see that I do not have enough testing devices. As we know lot of manufactures produce devices which are not compliant to standards and this needs to be handled in HSP/HFP codebase. > The other thing to note is that in PipeWire, it is possible for external entities to implement the equivalent of a "sink" or "source" (it's just a node in PipeWire terminology), so in the long run, it might be good to have a single BT audio daemon that manages A2DP and HSP/HFP.. PipeWire or any other audio server (jack or bluez-alsa) can benefit from this hsphfpd daemon that it does not have to implement (again) parsing and interpreting AT commands (as needed for HFP standard). For PipeWire developers: Do you have any special requirements for this hsphfpd daemon which are needed for processing of audio? See proposed DBus interface, specially "Audio Agent hierarchy": https://github.com/pali/hsphfpd-prototype/raw/prototype/hsphfpd.txt > This would also have the benefit of moving codec dependencies out of PulseAudio (which I'll help mitigate in other ways within PulseAudio anyway). hsphfpd just prepares SCO audio socket and then via DBus pass it to target application (pulseaudio, pipewire, jacks, ...). And it is up to the audio application to do codec processing. hsphfpd is not going to do anything with audio samples or codecs. So this does not help directly... ... But I'm planing to try to separate A2DP code from pulseaudio into some external library which would not depend on pulseaudio. So this library can help all audio server projects to not re-implement again and again A2DP (and HSP/HFP) audio processing. This library should do all needed codec stuff (encoding, decoding, setup of A2DP, ...). -- Pali Rohár pali.rohar@gmail.com