diff --git a/profiles/audio/media.c b/profiles/audio/media.c
index deb321e..a7a8575 100644
--- a/profiles/audio/media.c
+++ b/profiles/audio/media.c
return endpoint->uuid;
}
+bool media_endpoint_get_delay_reporting(struct media_endpoint *endpoint)
+{
+ return endpoint->delay_reporting;
+}
+
uint8_t media_endpoint_get_codec(struct media_endpoint *endpoint)
{
return endpoint->codec;
diff --git a/profiles/audio/media.h b/profiles/audio/media.h
index d3954ab..380951f 100644
--- a/profiles/audio/media.h
+++ b/profiles/audio/media.h
struct a2dp_sep *media_endpoint_get_sep(struct media_endpoint *endpoint);
const char *media_endpoint_get_uuid(struct media_endpoint *endpoint);
+bool media_endpoint_get_delay_reporting(struct media_endpoint *endpoint);
uint8_t media_endpoint_get_codec(struct media_endpoint *endpoint);
struct btd_adapter *media_endpoint_get_btd_adapter(
struct media_endpoint *endpoint);
diff --git a/profiles/audio/transport.c b/profiles/audio/transport.c
index 08ed699..08ca360 100644
--- a/profiles/audio/transport.c
+++ b/profiles/audio/transport.c
void *data)
{
struct media_transport *transport = data;
+ struct media_endpoint *endpoint = transport->endpoint;
struct avdtp_stream *stream;
+ /* Local A2DP sink decides itself if it has delay reporting */
+ if (!strcmp(media_endpoint_get_uuid(endpoint), A2DP_SINK_UUID))
+ return media_endpoint_get_delay_reporting(endpoint);
+
stream = media_transport_get_stream(transport);
if (stream == NULL)
return FALSE;