mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-31 22:25:33 -04:00
bluetooth: GetProperties after profile UUID show up
This commit is contained in:
parent
20bd1c686c
commit
38825d7912
2 changed files with 26 additions and 0 deletions
|
|
@ -39,6 +39,9 @@ struct pa_bluetooth_discovery {
|
|||
pa_hook hook;
|
||||
};
|
||||
|
||||
static void get_properties_reply(DBusPendingCall *pending, void *userdata);
|
||||
static pa_dbus_pending* send_and_add_to_pending(pa_bluetooth_discovery *y, pa_bluetooth_device *d, DBusMessage *m, DBusPendingCallNotifyFunction func);
|
||||
|
||||
static pa_bluetooth_uuid *uuid_new(const char *uuid) {
|
||||
pa_bluetooth_uuid *u;
|
||||
|
||||
|
|
@ -213,11 +216,20 @@ static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device
|
|||
while (dbus_message_iter_get_arg_type(&ai) != DBUS_TYPE_INVALID) {
|
||||
pa_bluetooth_uuid *node;
|
||||
const char *value;
|
||||
DBusMessage *m;
|
||||
|
||||
dbus_message_iter_get_basic(&ai, &value);
|
||||
node = uuid_new(value);
|
||||
PA_LLIST_PREPEND(pa_bluetooth_uuid, d->uuids, node);
|
||||
|
||||
if (strcasecmp(HSP_HS_UUID, value) == 0 || strcasecmp(HFP_HS_UUID, value) == 0) {
|
||||
pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.Headset", "GetProperties"));
|
||||
send_and_add_to_pending(y, d, m, get_properties_reply);
|
||||
} else if (strcasecmp(A2DP_SINK_UUID, value) == 0) {
|
||||
pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.AudioSink", "GetProperties"));
|
||||
send_and_add_to_pending(y, d, m, get_properties_reply);
|
||||
}
|
||||
|
||||
if (!dbus_message_iter_next(&ai))
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,20 @@
|
|||
#include <pulsecore/macro.h>
|
||||
#include <pulsecore/core-util.h>
|
||||
|
||||
/* UUID copied from bluez/audio/device.h */
|
||||
#define GENERIC_AUDIO_UUID "00001203-0000-1000-8000-00805F9B34FB"
|
||||
|
||||
#define HSP_HS_UUID "00001108-0000-1000-8000-00805F9B34FB"
|
||||
#define HSP_AG_UUID "00001112-0000-1000-8000-00805F9B34FB"
|
||||
|
||||
#define HFP_HS_UUID "0000111E-0000-1000-8000-00805F9B34FB"
|
||||
#define HFP_AG_UUID "0000111F-0000-1000-8000-00805F9B34FB"
|
||||
|
||||
#define ADVANCED_AUDIO_UUID "0000110D-0000-1000-8000-00805F9B34FB"
|
||||
|
||||
#define A2DP_SOURCE_UUID "0000110A-0000-1000-8000-00805F9B34FB"
|
||||
#define A2DP_SINK_UUID "0000110B-0000-1000-8000-00805F9B34FB"
|
||||
|
||||
typedef struct pa_bluetooth_uuid pa_bluetooth_uuid;
|
||||
typedef struct pa_bluetooth_device pa_bluetooth_device;
|
||||
typedef struct pa_bluetooth_discovery pa_bluetooth_discovery;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue