raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=71409186b97f98561e399776e0f3e7673071e993

commit 71409186b97f98561e399776e0f3e7673071e993
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue Mar 30 11:50:31 2021 +0100

    emix - fix dynamic output sink change with monitoring
---
 src/modules/mixer/lib/backends/pulseaudio/pulse.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/modules/mixer/lib/backends/pulseaudio/pulse.c 
b/src/modules/mixer/lib/backends/pulseaudio/pulse.c
index 75caff59b..10538dd1a 100644
--- a/src/modules/mixer/lib/backends/pulseaudio/pulse.c
+++ b/src/modules/mixer/lib/backends/pulseaudio/pulse.c
@@ -262,6 +262,7 @@ _sink_cb(pa_context *c EINA_UNUSED, const pa_sink_info 
*info, int eol,
    if (info->state == PA_SINK_RUNNING) _sink_state_running_set(sink, 
EINA_TRUE);
    else _sink_state_running_set(sink, EINA_FALSE);
    ctx->sinks = eina_list_append(ctx->sinks, sink);
+
    if (ctx->cb)
       ctx->cb((void *)ctx->userdata, EMIX_SINK_ADDED_EVENT,
               (Emix_Sink *)sink);
@@ -578,6 +579,12 @@ _sink_input_changed_cb(pa_context *c EINA_UNUSED,
    if (ctx->cb)
      ctx->cb((void *)ctx->userdata, EMIX_SINK_INPUT_CHANGED_EVENT,
              (Emix_Sink_Input *)input);
+
+   if (input->mon_count > 0)
+     {
+        _sink_input_monitor_end(input);
+        if (input->running) _sink_input_monitor_begin(input);
+     }
 }
 
 static void

-- 


Reply via email to