From 441eeb2a14482ec4d81a90eae5b42fa925371e97 Mon Sep 17 00:00:00 2001 From: Abhay Maheta Date: Thu, 29 Dec 2022 21:22:55 +0530 Subject: [PATCH] shared/bap: Fix handling for Company ID and Vendor Codec ID This adds fixes for handing for Company ID and Vendor Codec ID while adding PAC record to database and responding to Attribute Read Request for Sink/Source PAC Characteristics. --- src/shared/bap.c | 5 +++++ src/shared/bap.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/shared/bap.c b/src/shared/bap.c index 2919f243f..0cafb75e6 100644 --- a/src/shared/bap.c +++ b/src/shared/bap.c @@ -344,6 +344,8 @@ static void pac_foreach(void *data, void *user_data) p = util_iov_push(iov, sizeof(*p)); p->codec.id = pac->codec.id; + p->codec.cid = pac->codec.cid; + p->codec.vid = pac->codec.vid; if (pac->data) { p->cc_len = pac->data->iov_len; @@ -2383,6 +2385,9 @@ struct bt_bap_pac *bt_bap_add_vendor_pac(struct gatt_db *db, if (!bdb) return NULL; + if ((id != 0xff) && ((cid != 0U) || (vid != 0U))) + return NULL; + codec.id = id; codec.cid = cid; codec.vid = vid; diff --git a/src/shared/bap.h b/src/shared/bap.h index 3558d0445..47a15636c 100644 --- a/src/shared/bap.h +++ b/src/shared/bap.h @@ -39,8 +39,8 @@ struct bt_bap_stream; struct bt_bap_codec { uint8_t id; - uint16_t vid; uint16_t cid; + uint16_t vid; } __packed; struct bt_ltv { -- 2.47.3