[pulseaudio-discuss] [RFC 11/24] bluetooth: Add new profile type PROFILE_HFP_AG

João Paulo Rechi Vita jprvita at gmail.com
Wed Mar 27 08:54:45 PDT 2013


On Wed, Mar 27, 2013 at 5:20 AM, Mikel Astiz <mikel.astiz.oss at gmail.com> wrote:
> Hi João Paulo,
>
> On Wed, Mar 27, 2013 at 6:16 AM,  <jprvita at gmail.com> wrote:
>> From: João Paulo Rechi Vita <jprvita at openbossa.org>
>>
>> ---
>>  src/modules/bluetooth/bluetooth-util.c | 6 ++++++
>>  src/modules/bluetooth/bluetooth-util.h | 1 +
>>  2 files changed, 7 insertions(+)
>>
>> diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c
>> index 2a4b694..59d0854 100644
>> --- a/src/modules/bluetooth/bluetooth-util.c
>> +++ b/src/modules/bluetooth/bluetooth-util.c
>> @@ -184,6 +184,8 @@ const char *pa_bt_profile_to_string(enum profile profile) {
>>              return "hsp";
>>          case PROFILE_HFGW:
>>              return "hfgw";
>> +        case PROFILE_HFP_AG:
>> +            return "hfp_ag";
>>          case PROFILE_OFF:
>>              pa_assert_not_reached();
>>      }
>> @@ -232,6 +234,10 @@ static void profile_to_remote_uuid(enum profile p, const char *res[2]) {
>>              res[0] = HSP_AG_UUID;
>>              res[1] = HFP_AG_UUID;
>>              return;
>> +        case PROFILE_HFP_AG:
>> +            res[0] = HFP_AG_UUID;
>> +            res[1] = NULL;
>> +            return;
>>          case PROFILE_OFF:
>>              break;
>>      }
>> diff --git a/src/modules/bluetooth/bluetooth-util.h b/src/modules/bluetooth/bluetooth-util.h
>> index 6423f88..28f63c8 100644
>> --- a/src/modules/bluetooth/bluetooth-util.h
>> +++ b/src/modules/bluetooth/bluetooth-util.h
>> @@ -62,6 +62,7 @@ enum profile {
>>      PROFILE_A2DP_SOURCE,
>>      PROFILE_HSP,
>>      PROFILE_HFGW,
>> +    PROFILE_HFP_AG,
>>      PROFILE_OFF
>>  };
>>
>> --
>> 1.7.11.7
>>
>
> I don't see the need for such an additional profile, since we already have HFGW.
>
> If you want to avoid associating the HSP UUID to this specific card
> profile, you need to handle that internally. Profiles are exposed
> outside the module and even in the UI, so we shouldn't change this
> unless strictly needed.
>

I did it this way to be able to support HFP_HF implemented in oFono
without breaking support for HFP_HF implemented in BlueZ (pre external
profiles support). Additionally, our profile naming scheme today is
imprecise, "a2dp" refers to A2DP Sink, "hsp" refers to both HSP HF and
HFP HF, HFGW refers to HFP AG. I think having one profile matching
each Bluetooth profile in a descriptive way would be much less
confusing for the end user. Ideally that would be: a2dp_source,
a2dp_sink, hsp_hs, hsp_ag, hfp_hf, hfp_ag, were the role part of the
name always refer to the role implemented by the remote device.

--
João Paulo Rechi Vita
http://about.me/jprvita


More information about the pulseaudio-discuss mailing list