From b27a4dbce592fc059ff2d27eca869689ed184cb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= Date: Fri, 11 Jan 2013 17:25:32 -0300 Subject: [PATCH] transport: Update volume passing only audio_device --- profiles/audio/transport.c | 19 +++++++++++++++++++ profiles/audio/transport.h | 2 ++ 2 files changed, 21 insertions(+) diff --git a/profiles/audio/transport.c b/profiles/audio/transport.c index eae98ed13..fd4895816 100644 --- a/profiles/audio/transport.c +++ b/profiles/audio/transport.c @@ -898,3 +898,22 @@ uint8_t media_transport_get_device_volume(struct audio_device *dev) return 128; } + +void media_transport_update_device_volume(struct audio_device *dev, + uint8_t volume) +{ + GSList *l; + + if (dev == NULL) + return; + + for (l = transports; l; l = l->next) { + struct media_transport *transport = l->data; + if (transport->device != dev) + continue; + + /* Volume is A2DP only */ + if (media_endpoint_get_sep(transport->endpoint)) + media_transport_update_volume(transport, volume); + } +} diff --git a/profiles/audio/transport.h b/profiles/audio/transport.h index cd2fd6ee1..5e5da2053 100644 --- a/profiles/audio/transport.h +++ b/profiles/audio/transport.h @@ -40,3 +40,5 @@ void transport_get_properties(struct media_transport *transport, DBusMessageIter *iter); uint8_t media_transport_get_device_volume(struct audio_device *dev); +void media_transport_update_device_volume(struct audio_device *dev, + uint8_t volume); -- 2.47.3