diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
index 448ee27..289b408 100644
--- a/profiles/audio/avdtp.c
+++ b/profiles/audio/avdtp.c
return TRUE;
}
+gboolean avdtp_stream_has_delay_reporting(struct avdtp_stream *stream) {
+ return stream->delay_reporting;
+}
+
struct avdtp_remote_sep *avdtp_stream_get_remote_sep(
struct avdtp_stream *stream)
{
diff --git a/profiles/audio/avdtp.h b/profiles/audio/avdtp.h
index 102a260..500b814 100644
--- a/profiles/audio/avdtp.h
+++ b/profiles/audio/avdtp.h
struct avdtp_stream *stream);
gboolean avdtp_stream_has_capabilities(struct avdtp_stream *stream,
GSList *caps);
+gboolean avdtp_stream_has_delay_reporting(struct avdtp_stream *stream);
struct avdtp_remote_sep *avdtp_stream_get_remote_sep(
struct avdtp_stream *stream);
diff --git a/profiles/audio/transport.c b/profiles/audio/transport.c
index 6b63652..68192ba 100644
--- a/profiles/audio/transport.c
+++ b/profiles/audio/transport.c
return TRUE;
}
+static void *transport_a2dp_get_stream(struct media_transport *transport)
+{
+ struct a2dp_sep *sep = media_endpoint_get_sep(transport->endpoint);
+
+ if (!sep)
+ return NULL;
+
+ return a2dp_sep_get_stream(sep);
+}
+
static void a2dp_resume_complete(struct avdtp *session, int err,
void *user_data)
{
struct media_owner *owner = user_data;
struct media_request *req = owner->pending;
struct media_transport *transport = owner->transport;
- struct a2dp_sep *sep = media_endpoint_get_sep(transport->endpoint);
struct avdtp_stream *stream;
int fd;
uint16_t imtu, omtu;
if (err)
goto fail;
- stream = a2dp_sep_get_stream(sep);
+ stream = transport_a2dp_get_stream(transport);
if (stream == NULL)
goto fail;
void *data)
{
struct media_transport *transport = data;
- struct a2dp_transport *a2dp = transport->data;
+ struct avdtp_stream *stream;
+
+ stream = media_transport_get_stream(transport);
+ if (stream == NULL)
+ return FALSE;
- return a2dp->delay != 0;
+ return avdtp_stream_has_delay_reporting(stream);
}
static gboolean get_delay_reporting(const GDBusPropertyTable *property,
#define A2DP_OPS(_uuid, _init, _set_volume, _destroy) \
TRANSPORT_OPS(_uuid, transport_a2dp_properties, NULL, NULL, _init, \
transport_a2dp_resume, transport_a2dp_suspend, \
- transport_a2dp_cancel, NULL, NULL, \
- transport_a2dp_get_volume, _set_volume, \
- _destroy)
+ transport_a2dp_cancel, NULL, \
+ transport_a2dp_get_stream, transport_a2dp_get_volume, \
+ _set_volume, _destroy)
#define BAP_OPS(_uuid, _props, _set_owner, _remove_owner) \
TRANSPORT_OPS(_uuid, _props, _set_owner, _remove_owner,\