[pulseaudio-commits] src/modules

Arun Raghavan arun at kemper.freedesktop.org
Tue Oct 4 01:36:46 PDT 2011


 src/modules/echo-cancel/module-echo-cancel.c |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit e681469154116cfef2411385ae00d9fb91b46bfc
Author: Arun Raghavan <arun.raghavan at collabora.co.uk>
Date:   Tue Oct 4 14:06:26 2011 +0530

    echo-cancel: Fail if loaded between a sink and its monitor
    
    Loading between a sink and its monitor causes a deadlock (while sending
    messages for latency snapshots). It isn't a case that has any real
    conceivable use, so let's just disallow it.

diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c
index 7e0dcef..c2db87e 100644
--- a/src/modules/echo-cancel/module-echo-cancel.c
+++ b/src/modules/echo-cancel/module-echo-cancel.c
@@ -1357,6 +1357,11 @@ int pa__init(pa_module*m) {
     }
     pa_assert(sink_master);
 
+    if (source_master->monitor_of == sink_master) {
+        pa_log("Can't cancel echo between a sink and its monitor");
+        goto fail;
+    }
+
     source_ss = source_master->sample_spec;
     source_ss.rate = DEFAULT_RATE;
     source_ss.channels = DEFAULT_CHANNELS;



More information about the pulseaudio-commits mailing list