From d6833f0749a916ac713baf1eafd8c018163fe74c Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Mon, 10 Aug 2015 19:16:49 +0200 Subject: [PATCH] mixer: update internal volume and call the changed event --- src/modules/mixer/lib/backends/alsa/alsa.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/modules/mixer/lib/backends/alsa/alsa.c b/src/modules/mixer/lib/backends/alsa/alsa.c index f2452dc0b..11eafd32f 100644 --- a/src/modules/mixer/lib/backends/alsa/alsa.c +++ b/src/modules/mixer/lib/backends/alsa/alsa.c @@ -420,7 +420,11 @@ _alsa_sources_volume_set(Emix_Source *source, Emix_Volume v) { elem = eina_list_nth(s->channels, i); _alsa_channel_volume_set(elem, v.volumes[i], EINA_FALSE); + s->source.volume.volumes[i] = v.volumes[i]; } + if (ctx->cb) + ctx->cb((void *)ctx->userdata, EMIX_SOURCE_CHANGED_EVENT, + (Emix_Source *)s); } @@ -488,7 +492,11 @@ _alsa_sink_volume_set(Emix_Sink *sink, Emix_Volume v) { elem = eina_list_nth(s->channels, i); _alsa_channel_volume_set(elem, v.volumes[i], EINA_FALSE); + s->sink.volume.volumes[i] = v.volumes[i]; } + if (ctx->cb) + ctx->cb((void *)ctx->userdata, EMIX_SINK_CHANGED_EVENT, + (Emix_Sink *)s); } static Emix_Backend