process() may be called with a stream that doesn't have its sink/source set. This can happen if the proplist change callback is called when the stream is moving. --- src/modules/module-filter-apply.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/modules/module-filter-apply.c b/src/modules/module-filter-apply.c index 6826a0a..4e85ea1 100644 --- a/src/modules/module-filter-apply.c +++ b/src/modules/module-filter-apply.c @@ -417,14 +417,18 @@ static pa_hook_result_t process(struct userdata *u, pa_object *o, pa_bool_t is_s pa_bool_t done_something = FALSE; pa_sink *sink = NULL; pa_source *source = NULL; - pa_module *module; + pa_module *module = NULL; if (is_sink_input) { sink = PA_SINK_INPUT(o)->sink; - module = sink->module; + + if (sink) + module = sink->module; } else { source = PA_SOURCE_OUTPUT(o)->source; - module = source->module; + + if (source) + module = source->module; } /* If there is no sink/source yet, we can't do much */ -- 1.7.10.4