summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2023-04-22 17:05:56 +0000
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-04-25 13:58:43 -0700
commit5910b78528010b654a82367bb2e95f70dd7877ce (patch)
tree939af0a0265300802e296a20187f6be9824fa3de
parent9a0acc7984ef79e287ec9db70703405f64a79bee (diff)
downloadbluez-5910b78528010b654a82367bb2e95f70dd7877ce.tar.gz
shared/bap: add function to get location from PAC
Add function to get the PACS Sink/Source Audio Locations field relevant for a given PAC.
-rw-r--r--src/shared/bap.c14
-rw-r--r--src/shared/bap.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/src/shared/bap.c b/src/shared/bap.c
index 1fff7e0fd..5a12a64d2 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
@@ -2442,6 +2442,20 @@ uint8_t bt_bap_pac_get_type(struct bt_bap_pac *pac)
return pac->type;
}
+uint32_t bt_bap_pac_get_locations(struct bt_bap_pac *pac)
+{
+ struct bt_pacs *pacs = pac->bdb->pacs;
+
+ switch (pac->type) {
+ case BT_BAP_SOURCE:
+ return pacs->source_loc_value;
+ case BT_BAP_SINK:
+ return pacs->sink_loc_value;
+ default:
+ return 0;
+ }
+}
+
static void notify_pac_removed(void *data, void *user_data)
{
struct bt_bap_pac_changed *changed = data;
diff --git a/src/shared/bap.h b/src/shared/bap.h
index bd13abef9..0d419aa74 100644
--- a/src/shared/bap.h
+++ b/src/shared/bap.h
@@ -128,6 +128,8 @@ bool bt_bap_remove_pac(struct bt_bap_pac *pac);
uint8_t bt_bap_pac_get_type(struct bt_bap_pac *pac);
+uint32_t bt_bap_pac_get_locations(struct bt_bap_pac *pac);
+
struct bt_bap_stream *bt_bap_pac_get_stream(struct bt_bap_pac *pac);
/* Session related function */