]> code.delx.au - pulseaudio/blobdiff - src/modules/echo-cancel/module-echo-cancel.c
echo-cancel: Fail if loaded between a sink and its monitor
[pulseaudio] / src / modules / echo-cancel / module-echo-cancel.c
index 7e0dcefca2ba00780c0a41f634e8772475935684..c2db87efc2f773123245c28ab17304bc6a568367 100644 (file)
@@ -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;