[pulseaudio-discuss] Bluetooth HSP and HFP support in pulseaudio
Pali Rohár
pali.rohar at gmail.com
Sun Apr 26 23:34:24 UTC 2020
On Tuesday 17 March 2020 13:06:52 Pali Rohár wrote:
> On Monday 16 March 2020 18:19:47 Tanu Kaskinen wrote:
> > On Sun, 2020-03-15 at 14:37 +0100, Pali Rohár wrote:
> > > Hello! One month passed and I have not answer which solution would
> > > pulseaudio choose for HSP and HFP support. Could you please really look
> > > at my email about state of HSP / HFP support?
> > >
> > > On Saturday 15 February 2020 22:33:10 Pali Rohár wrote:
> > > > If Linux desktop / laptop with pulseaudio want to support HFP profile
> > > > there are following options:
> > > >
> > > > 1) As written above, implement full HFP profile, therefore telephony
> > > > stack in pulseaudio and handle all users features in pulseaudio
> > > > (input devices, power devices, telephony features) including audio
> > > > features (wide band support, custom codec support). In this setup
> > > > pulseaudio would be incompatible with ofono and ofono must be stopped
> > > > on that computer to prevent ofono from taking rfcom socket.
> > > >
> > > > 2) Delegate all non-audio features of HSP and HFP profiles from 1) to
> > > > hsphfpd daemon and implement in pulseaudio only audio related
> > > > features via DBus API provided by hsphfpd daemon. In this setup
> > > > hsphfpd would own rfcom socket and via DBus API would communicate
> > > > with other applications (e.g. pulseaudio, upower). This setup is
> > > > incompatible with ofono, as ofono developers wrote that they do not
> > > > want to use this design and because ofono implements own handling of
> > > > HFP profiles, ofono daemon would need to be stopped on such machine
> > > > to prevent ofono from taking rfcom socket. So telephony functions would
> > > > not be supported until somebody write alternative telephony software
> > > > which would connect to hsphfpd as ofono devs do not want to use
> > > > hsphfpd.
> > > >
> > > > 3) In pulseaudio drop support for all desktop and laptop computers which
> > > > do not have connected cellular modem compatible with ofono. In this
> > > > way we could use ofono's HFP implementation for some basic audio
> > > > stuff. But no additional features (like battery status or input
> > > > buttons) would be provided. Also no custom codecs, etc.
> > > >
> > > > 4) In pulseaudio do not implement proper and full HFP profile support at
> > > > all. Just say to users, that if they want to use bluetooth HFP
> > > > headset, they have to change operating system from Linux to some
> > > > other which implement it.
> > > >
> > > > 5) Like 4) but be silent and do not say anything to users. Do not answer
> > > > to question from users about bluetooth HSP/HFP. Just do not do
> > > > anything.
> > > ...
> > > > So please, pulseaudio developers/maintainers, write what you think and
> > > > which option you choose and who would implement that option. Remember,
> > > > that silence means you automatically chose option 5) which would be rude
> > > > to all pulseaudio users.
> > >
> > > Does really silence mean that option 5) was automatically chosen? I hope
> > > that not.
> > >
> > > If you have not had time to discuss, compare and choose solution, please
> > > write at least that you are not going to choose option 5).
> >
> > I have not had time to discuss.
> >
> > I think it makes sense to try the hsphfpd approach, if you're motivated
> > to write and maintain that all by yourself (plus the integration code
> > in PulseAudio). With luck you'll find someone to help, but I'm not
> > aware of anyone who has time for that.
>
> As I said, I can develop integration code for pulseaudio too. And also I
> can maintain hsphfpd daemon.
>
> I will try to find a time and prepare integration part for pulseaudio.
Done! Now I have working HSP and HFP profiles in pulseaudio via hsphfpd.
Also (asynchronous non-blocking) switching between them is working.
I pushed changes to hsphfpd branch of my pulseaudio fork repository:
https://gitlab.freedesktop.org/pali/pulseaudio/-/tree/hsphfpd
I opened also merge request for comments:
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/288
It is based on my A2DP changes. Please test it and let me know if there
are any problems.
Note that mere request is only WIP and therefore it lacks proper commit
messages, etc...
--
Pali Rohár
pali.rohar at gmail.com
More information about the pulseaudio-discuss
mailing list