yoz pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=568a67607367c6faedc37695da3f0c115fd93028

commit 568a67607367c6faedc37695da3f0c115fd93028
Author: Michaƫl Bouchaud (yoz) <y...@efl.so>
Date:   Fri Nov 4 11:03:11 2016 +0100

    mixer: Don't sync volume sink with e_client if they have more than one.
    
    If we got more than one volume sink in e_client and we change the volume
    of one of them all sink of this e_client are updated to the same volume.
    So don't update e_client volume if we got more than 1 sink.
    
    T4821
---
 src/modules/mixer/e_mod_main.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c
index 954fd19..cc24b40 100644
--- a/src/modules/mixer/e_mod_main.c
+++ b/src/modules/mixer/e_mod_main.c
@@ -950,7 +950,18 @@ _sink_input_event(int type, Emix_Sink_Input *input)
            {
               if (sink->data == input)
                 {
-                   e_client_volume_sink_update(sink);
+                   Eina_Bool update = EINA_TRUE;
+                   EINA_LIST_FOREACH(sink->clients, l, ec)
+                     {
+                        if (eina_list_count(ec->sinks) > 1)
+                          {
+                             update = EINA_FALSE;
+                             break;
+                          }
+                     }
+                   if (update)
+                     e_client_volume_sink_update(sink);
+
                 }
            }
          break;

-- 


Reply via email to