From: Pauli Virtanen Date: Wed, 15 Feb 2023 22:26:00 +0000 (+0000) Subject: audio/transport: add media_transport_get_stream method for transports X-Git-Tag: accepted/tizen/unified/20240117.163238~336 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4d9666d3519a427493a7a9987afe38b0f3de379e;p=platform%2Fupstream%2Fbluez.git audio/transport: add media_transport_get_stream method for transports Add a method for getting the audio stream associated with a media transport. --- diff --git a/profiles/audio/transport.c b/profiles/audio/transport.c index 9d7d32d..f08b253 100644 --- a/profiles/audio/transport.c +++ b/profiles/audio/transport.c @@ -121,6 +121,8 @@ struct media_transport { guint id); void (*set_state) (struct media_transport *transport, transport_state_t state); + void *(*get_stream) + (struct media_transport *transport); GDestroyNotify destroy; void *data; }; @@ -1474,6 +1476,13 @@ static void bap_connecting(struct bt_bap_stream *stream, bool state, int fd, bap_update_links(transport); } +static void *get_stream_bap(struct media_transport *transport) +{ + struct bap_transport *bap = transport->data; + + return bap->stream; +} + static void free_bap(void *data) { struct bap_transport *bap = data; @@ -1509,6 +1518,7 @@ static int media_transport_init_bap(struct media_transport *transport, transport->suspend = suspend_bap; transport->cancel = cancel_bap; transport->set_state = set_state_bap; + transport->get_stream = get_stream_bap; transport->destroy = free_bap; return 0; @@ -1577,6 +1587,14 @@ const char *media_transport_get_path(struct media_transport *transport) return transport->path; } +void *media_transport_get_stream(struct media_transport *transport) +{ + if (transport->get_stream) + return transport->get_stream(transport); + + return NULL; +} + void media_transport_update_delay(struct media_transport *transport, uint16_t delay) { diff --git a/profiles/audio/transport.h b/profiles/audio/transport.h index c2f611c..fdf1d8e 100755 --- a/profiles/audio/transport.h +++ b/profiles/audio/transport.h @@ -19,6 +19,7 @@ struct media_transport *media_transport_create(struct btd_device *device, void media_transport_destroy(struct media_transport *transport); const char *media_transport_get_path(struct media_transport *transport); +void *media_transport_get_stream(struct media_transport *transport); struct btd_device *media_transport_get_dev(struct media_transport *transport); int8_t media_transport_get_volume(struct media_transport *transport); void media_transport_update_delay(struct media_transport *transport,