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;
static gboolean delay_reporting_exists(const GDBusPropertyTable *property, 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);
}
#endif
#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,\