diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index 63bdbb5..6184c9d 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
return TRUE;
}
+static gboolean has_metadata(const GDBusPropertyTable *property, void *data)
+{
+ struct bap_ep *ep = data;
+ struct iovec *d = NULL;
+
+ bt_bap_pac_get_codec(ep->rpac, NULL, NULL, &d);
+
+ if (d)
+ return TRUE;
+
+ return FALSE;
+}
+
+static gboolean get_metadata(const GDBusPropertyTable *property,
+ DBusMessageIter *iter, void *data)
+{
+ struct bap_ep *ep = data;
+ DBusMessageIter array;
+ struct iovec *d;
+
+ bt_bap_pac_get_codec(ep->rpac, NULL, NULL, &d);
+
+ dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY,
+ DBUS_TYPE_BYTE_AS_STRING, &array);
+
+ dbus_message_iter_append_fixed_array(&array, DBUS_TYPE_BYTE,
+ &d->iov_base, d->iov_len);
+
+ dbus_message_iter_close_container(iter, &array);
+
+ return TRUE;
+}
+
static gboolean get_device(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *data)
{
G_DBUS_PROPERTY_FLAG_EXPERIMENTAL },
{ "Capabilities", "ay", get_capabilities, NULL, has_capabilities,
G_DBUS_PROPERTY_FLAG_EXPERIMENTAL },
+ { "Metadata", "ay", get_metadata, NULL, has_metadata,
+ G_DBUS_PROPERTY_FLAG_EXPERIMENTAL },
{ "Device", "o", get_device, NULL, NULL,
G_DBUS_PROPERTY_FLAG_EXPERIMENTAL },
{ "Locations", "u", get_locations, NULL, NULL,