[pulseaudio-commits] src/modules

Georg Chini gchini at kemper.freedesktop.org
Sat Feb 10 19:44:28 UTC 2018


 src/modules/module-filter-apply.c |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 838d95dab7181cda950e4eace579ea7d32faf019
Author: Georg Chini <georg at chini.tk>
Date:   Sat Feb 10 20:39:27 2018 +0100

    filter-apply: Ignore monitor source of filter in find_paired_master()
    
    When module-filter-apply tries to find a matching source-output for
    a given sink-input and a stream within the same group exists on the
    monitor source of the filter, module-filter apply falsely assumes
    that the source belongs to another instance of the filter and tries
    to access source->output_from_master->source, which leads to a
    segmentation fault.
    
    This patch fixes the issue by ignoring the stream if the source is
    the monitor source of the filter.

diff --git a/src/modules/module-filter-apply.c b/src/modules/module-filter-apply.c
index 783d85ed..163d52a2 100644
--- a/src/modules/module-filter-apply.c
+++ b/src/modules/module-filter-apply.c
@@ -259,6 +259,12 @@ static bool find_paired_master(struct userdata *u, struct filter *filter, pa_obj
 
                 if (pa_streq(g, group)) {
                     if (pa_streq(module_name, so->source->module->name)) {
+                        /* Make sure we are not routing to the monitor source
+                         * of the same filter */
+                        if (so->source->monitor_of) {
+                            pa_xfree(g);
+                            continue;
+                        }
                         /* Make sure we're not routing to another instance of
                          * the same filter. */
                         filter->source_master = so->source->output_from_master->source;



More information about the pulseaudio-commits mailing list