398 lines
19 KiB
Diff
398 lines
19 KiB
Diff
|
From 709909a1fca31e9a00883e724c533832a4d4349d Mon Sep 17 00:00:00 2001
|
||
|
From: James Bottomley <James.Bottomley@HansenPartnership.com>
|
||
|
Date: Sat, 20 Aug 2016 10:39:30 -0700
|
||
|
Subject: [PATCH 01/11] bluetooth: use consistent profile names
|
||
|
|
||
|
The PA_BLUETOOTH_PROFILE names should mirror the PA_BLUETOOTH_UUID
|
||
|
names using profile_function instead of randomly made up names. Fix
|
||
|
this with the transformation:
|
||
|
|
||
|
PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT -> PA_BLUETOOTH_PROFILE_HSP_HS
|
||
|
PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY -> PA_BLUETOOTH_PROFILE_HFP_AG
|
||
|
|
||
|
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
|
||
|
|
||
|
---
|
||
|
|
||
|
v4: update for PA 11.0
|
||
|
|
||
|
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/491>
|
||
|
---
|
||
|
src/modules/bluetooth/backend-native.c | 28 +++++++-------
|
||
|
src/modules/bluetooth/backend-ofono.c | 4 +-
|
||
|
src/modules/bluetooth/bluez5-util.c | 10 ++---
|
||
|
src/modules/bluetooth/bluez5-util.h | 4 +-
|
||
|
src/modules/bluetooth/module-bluez5-device.c | 54 +++++++++++++--------------
|
||
|
5 files changed, 50 insertions(+), 50 deletions(-)
|
||
|
|
||
|
--- a/src/modules/bluetooth/backend-native.c
|
||
|
+++ b/src/modules/bluetooth/backend-native.c
|
||
|
@@ -449,7 +449,7 @@ static void set_speaker_gain(pa_bluetoot
|
||
|
/* If we are in the AG role, we send a command to the head set to change
|
||
|
* the speaker gain. In the HS role, source and sink are swapped, so
|
||
|
* in this case we notify the AG that the microphone gain has changed */
|
||
|
- if (t->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT) {
|
||
|
+ if (t->profile == PA_BLUETOOTH_PROFILE_HSP_HS) {
|
||
|
len = sprintf(buf, "\r\n+VGS=%d\r\n", gain);
|
||
|
pa_log_debug("RFCOMM >> +VGS=%d", gain);
|
||
|
} else {
|
||
|
@@ -476,7 +476,7 @@ static void set_microphone_gain(pa_bluet
|
||
|
/* If we are in the AG role, we send a command to the head set to change
|
||
|
* the microphone gain. In the HS role, source and sink are swapped, so
|
||
|
* in this case we notify the AG that the speaker gain has changed */
|
||
|
- if (t->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT) {
|
||
|
+ if (t->profile == PA_BLUETOOTH_PROFILE_HSP_HS) {
|
||
|
len = sprintf(buf, "\r\n+VGM=%d\r\n", gain);
|
||
|
pa_log_debug("RFCOMM >> +VGM=%d", gain);
|
||
|
} else {
|
||
|
@@ -509,9 +509,9 @@ static DBusMessage *profile_new_connecti
|
||
|
|
||
|
handler = dbus_message_get_path(m);
|
||
|
if (pa_streq(handler, HSP_AG_PROFILE)) {
|
||
|
- p = PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT;
|
||
|
+ p = PA_BLUETOOTH_PROFILE_HSP_HS;
|
||
|
} else if (pa_streq(handler, HSP_HS_PROFILE)) {
|
||
|
- p = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY;
|
||
|
+ p = PA_BLUETOOTH_PROFILE_HFP_AG;
|
||
|
} else {
|
||
|
pa_log_error("Invalid handler");
|
||
|
goto fail;
|
||
|
@@ -626,11 +626,11 @@ static void profile_init(pa_bluetooth_ba
|
||
|
pa_assert(b);
|
||
|
|
||
|
switch (profile) {
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HSP_HS:
|
||
|
object_name = HSP_AG_PROFILE;
|
||
|
uuid = PA_BLUETOOTH_UUID_HSP_AG;
|
||
|
break;
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HFP_AG:
|
||
|
object_name = HSP_HS_PROFILE;
|
||
|
uuid = PA_BLUETOOTH_UUID_HSP_HS;
|
||
|
break;
|
||
|
@@ -647,10 +647,10 @@ static void profile_done(pa_bluetooth_ba
|
||
|
pa_assert(b);
|
||
|
|
||
|
switch (profile) {
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HSP_HS:
|
||
|
dbus_connection_unregister_object_path(pa_dbus_connection_get(b->connection), HSP_AG_PROFILE);
|
||
|
break;
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HFP_AG:
|
||
|
dbus_connection_unregister_object_path(pa_dbus_connection_get(b->connection), HSP_HS_PROFILE);
|
||
|
break;
|
||
|
default:
|
||
|
@@ -665,9 +665,9 @@ void pa_bluetooth_native_backend_enable_
|
||
|
return;
|
||
|
|
||
|
if (enable_hs_role)
|
||
|
- profile_init(native_backend, PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY);
|
||
|
+ profile_init(native_backend, PA_BLUETOOTH_PROFILE_HFP_AG);
|
||
|
else
|
||
|
- profile_done(native_backend, PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY);
|
||
|
+ profile_done(native_backend, PA_BLUETOOTH_PROFILE_HFP_AG);
|
||
|
|
||
|
native_backend->enable_hs_role = enable_hs_role;
|
||
|
}
|
||
|
@@ -693,8 +693,8 @@ pa_bluetooth_backend *pa_bluetooth_nativ
|
||
|
backend->enable_hs_role = enable_hs_role;
|
||
|
|
||
|
if (enable_hs_role)
|
||
|
- profile_init(backend, PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY);
|
||
|
- profile_init(backend, PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT);
|
||
|
+ profile_init(backend, PA_BLUETOOTH_PROFILE_HFP_AG);
|
||
|
+ profile_init(backend, PA_BLUETOOTH_PROFILE_HSP_HS);
|
||
|
|
||
|
return backend;
|
||
|
}
|
||
|
@@ -705,8 +705,8 @@ void pa_bluetooth_native_backend_free(pa
|
||
|
pa_dbus_free_pending_list(&backend->pending);
|
||
|
|
||
|
if (backend->enable_hs_role)
|
||
|
- profile_done(backend, PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY);
|
||
|
- profile_done(backend, PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT);
|
||
|
+ profile_done(backend, PA_BLUETOOTH_PROFILE_HFP_AG);
|
||
|
+ profile_done(backend, PA_BLUETOOTH_PROFILE_HSP_HS);
|
||
|
|
||
|
pa_dbus_connection_unref(backend->connection);
|
||
|
|
||
|
--- a/src/modules/bluetooth/backend-ofono.c
|
||
|
+++ b/src/modules/bluetooth/backend-ofono.c
|
||
|
@@ -303,7 +303,7 @@ static void hf_audio_agent_card_found(pa
|
||
|
const char *key, *value;
|
||
|
struct hf_audio_card *card;
|
||
|
pa_bluetooth_device *d;
|
||
|
- pa_bluetooth_profile_t p = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY;
|
||
|
+ pa_bluetooth_profile_t p = PA_BLUETOOTH_PROFILE_HFP_AG;
|
||
|
|
||
|
pa_assert(backend);
|
||
|
pa_assert(path);
|
||
|
@@ -337,7 +337,7 @@ static void hf_audio_agent_card_found(pa
|
||
|
card->local_address = pa_xstrdup(value);
|
||
|
} else if (pa_streq(key, "Type")) {
|
||
|
if (pa_streq(value, "gateway"))
|
||
|
- p = PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT;
|
||
|
+ p = PA_BLUETOOTH_PROFILE_HSP_HS;
|
||
|
}
|
||
|
|
||
|
pa_log_debug("%s: %s", key, value);
|
||
|
--- a/src/modules/bluetooth/bluez5-util.c
|
||
|
+++ b/src/modules/bluetooth/bluez5-util.c
|
||
|
@@ -176,11 +176,11 @@ static bool device_supports_profile(pa_b
|
||
|
return !!pa_hashmap_get(device->uuids, PA_BLUETOOTH_UUID_A2DP_SINK);
|
||
|
case PA_BLUETOOTH_PROFILE_A2DP_SOURCE:
|
||
|
return !!pa_hashmap_get(device->uuids, PA_BLUETOOTH_UUID_A2DP_SOURCE);
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HSP_HS:
|
||
|
return !!pa_hashmap_get(device->uuids, PA_BLUETOOTH_UUID_HSP_HS)
|
||
|
|| !!pa_hashmap_get(device->uuids, PA_BLUETOOTH_UUID_HSP_HS_ALT)
|
||
|
|| !!pa_hashmap_get(device->uuids, PA_BLUETOOTH_UUID_HFP_HF);
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HFP_AG:
|
||
|
return !!pa_hashmap_get(device->uuids, PA_BLUETOOTH_UUID_HSP_AG)
|
||
|
|| !!pa_hashmap_get(device->uuids, PA_BLUETOOTH_UUID_HFP_AG);
|
||
|
case PA_BLUETOOTH_PROFILE_OFF:
|
||
|
@@ -1021,7 +1021,7 @@ void pa_bluetooth_discovery_set_ofono_ru
|
||
|
pa_bluetooth_device *d;
|
||
|
|
||
|
PA_HASHMAP_FOREACH(d, y->devices, state) {
|
||
|
- if (device_supports_profile(d, PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY)) {
|
||
|
+ if (device_supports_profile(d, PA_BLUETOOTH_PROFILE_HFP_AG)) {
|
||
|
DBusMessage *m;
|
||
|
|
||
|
pa_assert_se(m = dbus_message_new_method_call(BLUEZ_SERVICE, d->path, "org.bluez.Device1", "Disconnect"));
|
||
|
@@ -1265,9 +1265,9 @@ const char *pa_bluetooth_profile_to_stri
|
||
|
return "a2dp_sink";
|
||
|
case PA_BLUETOOTH_PROFILE_A2DP_SOURCE:
|
||
|
return "a2dp_source";
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HSP_HS:
|
||
|
return "headset_head_unit";
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HFP_AG:
|
||
|
return "headset_audio_gateway";
|
||
|
case PA_BLUETOOTH_PROFILE_OFF:
|
||
|
return "off";
|
||
|
--- a/src/modules/bluetooth/bluez5-util.h
|
||
|
+++ b/src/modules/bluetooth/bluez5-util.h
|
||
|
@@ -57,8 +57,8 @@ typedef enum pa_bluetooth_hook {
|
||
|
typedef enum profile {
|
||
|
PA_BLUETOOTH_PROFILE_A2DP_SINK,
|
||
|
PA_BLUETOOTH_PROFILE_A2DP_SOURCE,
|
||
|
- PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT,
|
||
|
- PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY,
|
||
|
+ PA_BLUETOOTH_PROFILE_HSP_HS,
|
||
|
+ PA_BLUETOOTH_PROFILE_HFP_AG,
|
||
|
PA_BLUETOOTH_PROFILE_OFF
|
||
|
} pa_bluetooth_profile_t;
|
||
|
#define PA_BLUETOOTH_PROFILE_COUNT PA_BLUETOOTH_PROFILE_OFF
|
||
|
--- a/src/modules/bluetooth/module-bluez5-device.c
|
||
|
+++ b/src/modules/bluetooth/module-bluez5-device.c
|
||
|
@@ -253,8 +253,8 @@ static int sco_process_render(struct use
|
||
|
int saved_errno;
|
||
|
|
||
|
pa_assert(u);
|
||
|
- pa_assert(u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT ||
|
||
|
- u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY);
|
||
|
+ pa_assert(u->profile == PA_BLUETOOTH_PROFILE_HSP_HS ||
|
||
|
+ u->profile == PA_BLUETOOTH_PROFILE_HFP_AG);
|
||
|
pa_assert(u->sink);
|
||
|
|
||
|
pa_sink_render_full(u->sink, u->write_block_size, &memchunk);
|
||
|
@@ -323,8 +323,8 @@ static int sco_process_push(struct userd
|
||
|
pa_usec_t tstamp = 0;
|
||
|
|
||
|
pa_assert(u);
|
||
|
- pa_assert(u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT ||
|
||
|
- u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY);
|
||
|
+ pa_assert(u->profile == PA_BLUETOOTH_PROFILE_HSP_HS ||
|
||
|
+ u->profile == PA_BLUETOOTH_PROFILE_HFP_AG);
|
||
|
pa_assert(u->source);
|
||
|
pa_assert(u->read_smoother);
|
||
|
|
||
|
@@ -767,7 +767,7 @@ static void handle_sink_block_size_chang
|
||
|
|
||
|
/* Run from I/O thread */
|
||
|
static void transport_config_mtu(struct userdata *u) {
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT || u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY) {
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HSP_HS || u->profile == PA_BLUETOOTH_PROFILE_HFP_AG) {
|
||
|
u->read_block_size = u->read_link_mtu;
|
||
|
u->write_block_size = u->write_link_mtu;
|
||
|
|
||
|
@@ -984,7 +984,7 @@ static void source_set_volume_cb(pa_sour
|
||
|
pa_cvolume_set(&s->real_volume, u->decoder_sample_spec.channels, volume);
|
||
|
|
||
|
/* Set soft volume when in headset role */
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY)
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HFP_AG)
|
||
|
pa_cvolume_set(&s->soft_volume, u->decoder_sample_spec.channels, volume);
|
||
|
|
||
|
/* If we are in the AG role, we send a command to the head set to change
|
||
|
@@ -1007,7 +1007,7 @@ static int add_source(struct userdata *u
|
||
|
data.namereg_fail = false;
|
||
|
pa_proplist_sets(data.proplist, "bluetooth.protocol", pa_bluetooth_profile_to_string(u->profile));
|
||
|
pa_source_new_data_set_sample_spec(&data, &u->decoder_sample_spec);
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT)
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HSP_HS)
|
||
|
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_INTENDED_ROLES, "phone");
|
||
|
|
||
|
connect_ports(u, &data, PA_DIRECTION_INPUT);
|
||
|
@@ -1015,10 +1015,10 @@ static int add_source(struct userdata *u
|
||
|
if (!u->transport_acquired)
|
||
|
switch (u->profile) {
|
||
|
case PA_BLUETOOTH_PROFILE_A2DP_SOURCE:
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HFP_AG:
|
||
|
data.suspend_cause = PA_SUSPEND_USER;
|
||
|
break;
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HSP_HS:
|
||
|
/* u->stream_fd contains the error returned by the last transport_acquire()
|
||
|
* EAGAIN means we are waiting for a NewConnection signal */
|
||
|
if (u->stream_fd == -EAGAIN)
|
||
|
@@ -1043,7 +1043,7 @@ static int add_source(struct userdata *u
|
||
|
u->source->parent.process_msg = source_process_msg;
|
||
|
u->source->set_state_in_io_thread = source_set_state_in_io_thread_cb;
|
||
|
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT || u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY) {
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HSP_HS || u->profile == PA_BLUETOOTH_PROFILE_HFP_AG) {
|
||
|
pa_source_set_set_volume_callback(u->source, source_set_volume_cb);
|
||
|
u->source->n_volume_steps = 16;
|
||
|
}
|
||
|
@@ -1168,7 +1168,7 @@ static void sink_set_volume_cb(pa_sink *
|
||
|
pa_cvolume_set(&s->real_volume, u->encoder_sample_spec.channels, volume);
|
||
|
|
||
|
/* Set soft volume when in headset role */
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY)
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HFP_AG)
|
||
|
pa_cvolume_set(&s->soft_volume, u->encoder_sample_spec.channels, volume);
|
||
|
|
||
|
/* If we are in the AG role, we send a command to the head set to change
|
||
|
@@ -1191,17 +1191,17 @@ static int add_sink(struct userdata *u)
|
||
|
data.namereg_fail = false;
|
||
|
pa_proplist_sets(data.proplist, "bluetooth.protocol", pa_bluetooth_profile_to_string(u->profile));
|
||
|
pa_sink_new_data_set_sample_spec(&data, &u->encoder_sample_spec);
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT)
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HSP_HS)
|
||
|
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_INTENDED_ROLES, "phone");
|
||
|
|
||
|
connect_ports(u, &data, PA_DIRECTION_OUTPUT);
|
||
|
|
||
|
if (!u->transport_acquired)
|
||
|
switch (u->profile) {
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HFP_AG:
|
||
|
data.suspend_cause = PA_SUSPEND_USER;
|
||
|
break;
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HSP_HS:
|
||
|
/* u->stream_fd contains the error returned by the last transport_acquire()
|
||
|
* EAGAIN means we are waiting for a NewConnection signal */
|
||
|
if (u->stream_fd == -EAGAIN)
|
||
|
@@ -1228,7 +1228,7 @@ static int add_sink(struct userdata *u)
|
||
|
u->sink->parent.process_msg = sink_process_msg;
|
||
|
u->sink->set_state_in_io_thread = sink_set_state_in_io_thread_cb;
|
||
|
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT || u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY) {
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HSP_HS || u->profile == PA_BLUETOOTH_PROFILE_HFP_AG) {
|
||
|
pa_sink_set_set_volume_callback(u->sink, sink_set_volume_cb);
|
||
|
u->sink->n_volume_steps = 16;
|
||
|
}
|
||
|
@@ -1237,7 +1237,7 @@ static int add_sink(struct userdata *u)
|
||
|
|
||
|
/* Run from main thread */
|
||
|
static int transport_config(struct userdata *u) {
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT || u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY) {
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HSP_HS || u->profile == PA_BLUETOOTH_PROFILE_HFP_AG) {
|
||
|
u->encoder_sample_spec.format = PA_SAMPLE_S16LE;
|
||
|
u->encoder_sample_spec.channels = 1;
|
||
|
u->encoder_sample_spec.rate = 8000;
|
||
|
@@ -1288,7 +1288,7 @@ static int setup_transport(struct userda
|
||
|
|
||
|
u->transport = t;
|
||
|
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_A2DP_SOURCE || u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY)
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_A2DP_SOURCE || u->profile == PA_BLUETOOTH_PROFILE_HFP_AG)
|
||
|
transport_acquire(u, true); /* In case of error, the sink/sources will be created suspended */
|
||
|
else {
|
||
|
int transport_error;
|
||
|
@@ -1306,8 +1306,8 @@ static pa_direction_t get_profile_direct
|
||
|
static const pa_direction_t profile_direction[] = {
|
||
|
[PA_BLUETOOTH_PROFILE_A2DP_SINK] = PA_DIRECTION_OUTPUT,
|
||
|
[PA_BLUETOOTH_PROFILE_A2DP_SOURCE] = PA_DIRECTION_INPUT,
|
||
|
- [PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT] = PA_DIRECTION_INPUT | PA_DIRECTION_OUTPUT,
|
||
|
- [PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY] = PA_DIRECTION_INPUT | PA_DIRECTION_OUTPUT,
|
||
|
+ [PA_BLUETOOTH_PROFILE_HSP_HS] = PA_DIRECTION_INPUT | PA_DIRECTION_OUTPUT,
|
||
|
+ [PA_BLUETOOTH_PROFILE_HFP_AG] = PA_DIRECTION_INPUT | PA_DIRECTION_OUTPUT,
|
||
|
[PA_BLUETOOTH_PROFILE_OFF] = 0
|
||
|
};
|
||
|
|
||
|
@@ -1621,7 +1621,7 @@ static int start_thread(struct userdata
|
||
|
|
||
|
/* If we are in the headset role, the sink should not become default
|
||
|
* unless there is no other sound device available. */
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY)
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HFP_AG)
|
||
|
u->sink->priority = 1500;
|
||
|
|
||
|
pa_sink_put(u->sink);
|
||
|
@@ -1637,7 +1637,7 @@ static int start_thread(struct userdata
|
||
|
/* If we are in the headset role or the device is an a2dp source,
|
||
|
* the source should not become default unless there is no other
|
||
|
* sound device available. */
|
||
|
- if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY || u->profile == PA_BLUETOOTH_PROFILE_A2DP_SOURCE)
|
||
|
+ if (u->profile == PA_BLUETOOTH_PROFILE_HFP_AG || u->profile == PA_BLUETOOTH_PROFILE_A2DP_SOURCE)
|
||
|
u->source->priority = 1500;
|
||
|
|
||
|
pa_source_put(u->source);
|
||
|
@@ -1898,7 +1898,7 @@ static pa_card_profile *create_card_prof
|
||
|
p = PA_CARD_PROFILE_DATA(cp);
|
||
|
break;
|
||
|
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HSP_HS:
|
||
|
cp = pa_card_profile_new(name, _("Headset Head Unit (HSP/HFP)"), sizeof(pa_bluetooth_profile_t));
|
||
|
cp->priority = 30;
|
||
|
cp->n_sinks = 1;
|
||
|
@@ -1911,7 +1911,7 @@ static pa_card_profile *create_card_prof
|
||
|
p = PA_CARD_PROFILE_DATA(cp);
|
||
|
break;
|
||
|
|
||
|
- case PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY:
|
||
|
+ case PA_BLUETOOTH_PROFILE_HFP_AG:
|
||
|
cp = pa_card_profile_new(name, _("Headset Audio Gateway (HSP/HFP)"), sizeof(pa_bluetooth_profile_t));
|
||
|
cp->priority = 10;
|
||
|
cp->n_sinks = 1;
|
||
|
@@ -1986,9 +1986,9 @@ static int uuid_to_profile(const char *u
|
||
|
else if (pa_streq(uuid, PA_BLUETOOTH_UUID_A2DP_SOURCE))
|
||
|
*_r = PA_BLUETOOTH_PROFILE_A2DP_SOURCE;
|
||
|
else if (pa_bluetooth_uuid_is_hsp_hs(uuid) || pa_streq(uuid, PA_BLUETOOTH_UUID_HFP_HF))
|
||
|
- *_r = PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT;
|
||
|
+ *_r = PA_BLUETOOTH_PROFILE_HSP_HS;
|
||
|
else if (pa_streq(uuid, PA_BLUETOOTH_UUID_HSP_AG) || pa_streq(uuid, PA_BLUETOOTH_UUID_HFP_AG))
|
||
|
- *_r = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY;
|
||
|
+ *_r = PA_BLUETOOTH_PROFILE_HFP_AG;
|
||
|
else
|
||
|
return -PA_ERR_INVALID;
|
||
|
|
||
|
@@ -2199,7 +2199,7 @@ static pa_hook_result_t transport_speake
|
||
|
volume++;
|
||
|
|
||
|
pa_cvolume_set(&v, u->encoder_sample_spec.channels, volume);
|
||
|
- if (t->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT)
|
||
|
+ if (t->profile == PA_BLUETOOTH_PROFILE_HSP_HS)
|
||
|
pa_sink_volume_changed(u->sink, &v);
|
||
|
else
|
||
|
pa_sink_set_volume(u->sink, &v, true, true);
|
||
|
@@ -2227,7 +2227,7 @@ static pa_hook_result_t transport_microp
|
||
|
|
||
|
pa_cvolume_set(&v, u->decoder_sample_spec.channels, volume);
|
||
|
|
||
|
- if (t->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT)
|
||
|
+ if (t->profile == PA_BLUETOOTH_PROFILE_HSP_HS)
|
||
|
pa_source_volume_changed(u->source, &v);
|
||
|
else
|
||
|
pa_source_set_volume(u->source, &v, true, true);
|