[pulseaudio-discuss] bluetooth headset audio not supported by ofono

Georg Chini georg at chini.tk
Wed Feb 4 03:36:13 PST 2015

On 04.02.2015 12:14, David Henningsson wrote:
> On 2015-02-04 11:30, Georg Chini wrote:
>> On 04.02.2015 09:40, David Henningsson wrote:
>>> On 2015-02-03 15:04, Tanu Kaskinen wrote:
>>>> On Mon, 2015-02-02 at 16:49 +0100, Georg Chini wrote:
>>>>> I think the release notes for 6.0 should be revised to account for
>>>>> that.
>>>> Indeed. Before I update the notes, though, I want to get a decision on
>>>> whether we will release with your patch to use both backends
>>>> side-by-side (probably implies another rc before final release), or 
>>>> will
>>>> we postpone that to the next release. Either is fine by me, but I'd 
>>>> vote
>>>> for releasing with your patch.
>>> Hmm. I'm not totally sure about the differences between HF and AG so
>>> take this with a grain of salt, but...
>> The HF role is used when you connect a phone to the computer, in this
>> case the phone is the
>> initiator of the connection, your microphone and speakers are on the
>> computer side.
>> The AG role is used when you connect a headset to the computer, then the
>> computer initiates the
>> audio connection and microphone and speaker are on the headset side.
>>> It seems to me that it's not extremely unlikely that either of us will
>>> step into the other domain in the future, i e, bluez 5 might implement
>>> AG audio or PulseAudio might implement a native support for HF.
>>> Also, if the AG plugin of Bluez 5 supports RFCOMM/AT commands then
>>> we're already partially overlapping, because that's what we use to
>>> set/get headset volume and mic gain. If we enable both backends, will
>>> that then send AT commands from both backends when we try to set the
>>> volume, or...?
>> No, this will not happen. Only on connection will take place. Usually
>> the headset tries to connect to
>> UUID 0x111f (HFP profile) first, if that is not available it tries UUID
>> 0x1112 (HSP profile). Ofono
>> registers UUID 0x111f with bluetooth while pulse registers 0x1112. So
>> normally when ofono is
>> running (and you have an active modem in your system) the headset will
>> connect HFP to ofono and
>> pulse will only see the a2dp profile. You can disable the AG role in
>> ofono though with a command
>> line switch if you prefer to have HSP connected to pulse.
> So while many headsets support both HFP and HSP, there are probably 
> also some headsets which only support one or the other, right? In 
> which case it would make sense for both ofono and pulseaudio to 
> support both HFP and HSP. So; maybe my argument about ofono and 
> pulseaudio potentially overlapping in the future isn't about AG and HF 
> then, but rather about HFP and HSP?

HSP is the older version, that means there are some headsets around 
which only support
HSP. But as far as I know every headset which supports HFP will also 
support HSP because
HSP is a subset of HFP.
And yes, there is a potential overlap, so maybe your idea of just adding 
a switch "both" is
the best way to handle it. I'll send a patch later today, then you can 
decide which of the
patches you prefer.

>>> Hence, instead of removing all backend switching code, maybe we should
>>> instead add a switching mode "both" which does what you say. Or
>>> potentially replace "auto" with "both", if "auto" now makes no sense.
>> Fine for me, I can send another patch to implement it if you like.
>>> Finally, I remember Arun had a strong preference for not enabling the
>>> ofono backend by default, so Arun, could you elaborate upon whether
>>> that still makes sense given this new information?

More information about the pulseaudio-discuss mailing list